package com.jeesite.modules.mes.web; import com.jeesite.common.config.Global; import com.jeesite.common.entity.Page; import com.jeesite.common.lang.StringUtils; import com.jeesite.common.web.BaseController; import com.jeesite.modules.mes.entity.MesEmployee; import com.jeesite.modules.mes.service.MesEmployeeService; import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; @Controller @RequestMapping(value = "${adminPath}/mes/mesEmployee") public class MesEmployeeController extends BaseController { @Autowired private MesEmployeeService mesEmployeeService; @ModelAttribute public MesEmployee get(String empCode, boolean isNewRecord) { if (StringUtils.isNotBlank(empCode)) { MesEmployee employee = mesEmployeeService.get(new MesEmployee(empCode)); if (employee != null) { return employee; } } MesEmployee employee = new MesEmployee(); employee.setIsNewRecord(isNewRecord); return employee; } @RequiresPermissions("mes:mesEmployee:view") @RequestMapping(value = {"list", ""}) public String list(MesEmployee mesEmployee, Model model) { model.addAttribute("mesEmployee", mesEmployee); return "modules/mes/mesEmployeeList"; } @RequiresPermissions(value={"mes:mesEmployee:view", "sys:empUser:edit"}, logical= Logical.OR) @RequestMapping(value = "listData") @ResponseBody public Page listData(MesEmployee mesEmployee, HttpServletRequest request, HttpServletResponse response) { mesEmployee.setPage(new Page<>(request, response)); return mesEmployeeService.findPage(mesEmployee); } @RequiresPermissions("mes:mesEmployee:view") @RequestMapping(value = "form") public String form(MesEmployee mesEmployee, Model model) { model.addAttribute("mesEmployee", mesEmployee); model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2")); return "modules/mes/mesEmployeeForm"; } @RequiresPermissions("mes:mesEmployee:edit") @PostMapping(value = "save") @ResponseBody public String save(@Validated MesEmployee mesEmployee) { mesEmployeeService.save(mesEmployee); return renderResult(Global.TRUE, text("保存员工信息成功!")); } @RequiresPermissions("mes:mesEmployee:edit") @RequestMapping(value = "disable") @ResponseBody public String disable(MesEmployee mesEmployee) { mesEmployee.setStatus(MesEmployee.STATUS_DISABLE); mesEmployeeService.updateStatus(mesEmployee); return renderResult(Global.TRUE, text("停用员工信息成功")); } @RequiresPermissions("mes:mesEmployee:edit") @RequestMapping(value = "enable") @ResponseBody public String enable(MesEmployee mesEmployee) { mesEmployee.setStatus(MesEmployee.STATUS_NORMAL); mesEmployeeService.updateStatus(mesEmployee); return renderResult(Global.TRUE, text("启用员工信息成功")); } @RequiresPermissions("mes:mesEmployee:edit") @RequestMapping(value = "delete") @ResponseBody public String delete(MesEmployee mesEmployee) { mesEmployeeService.delete(mesEmployee); return renderResult(Global.TRUE, text("删除员工信息成功!")); } @RequestMapping(value = "search") @ResponseBody public List search(String keyword) { MesEmployee employee = new MesEmployee(); if (StringUtils.isNotBlank(keyword)) { employee.setEmpName(keyword); } employee.setStatus(MesEmployee.STATUS_NORMAL); return mesEmployeeService.findList(employee); } @RequestMapping(value = "searchPage") public String searchPage(String keyword, Model model) { MesEmployee mesEmployee = new MesEmployee(); mesEmployee.setEmpName(keyword); model.addAttribute("mesEmployee", mesEmployee); model.addAttribute("keyword", keyword); return "modules/mes/mesEmployeeSelect"; } }