MesEmployeeController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. package com.jeesite.modules.mes.web;
  2. import com.jeesite.common.config.Global;
  3. import com.jeesite.common.collect.ListUtils;
  4. import com.jeesite.common.entity.Page;
  5. import com.jeesite.common.lang.DateUtils;
  6. import com.jeesite.common.lang.StringUtils;
  7. import com.jeesite.common.utils.excel.ExcelExport;
  8. import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
  9. import com.jeesite.common.web.BaseController;
  10. import com.jeesite.modules.mes.entity.MesEmployee;
  11. import com.jeesite.modules.mes.service.MesEmployeeService;
  12. import org.apache.shiro.authz.annotation.Logical;
  13. import org.apache.shiro.authz.annotation.RequiresPermissions;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Controller;
  16. import org.springframework.ui.Model;
  17. import org.springframework.validation.annotation.Validated;
  18. import org.springframework.web.bind.annotation.ModelAttribute;
  19. import org.springframework.web.bind.annotation.PostMapping;
  20. import org.springframework.web.bind.annotation.RequestMapping;
  21. import org.springframework.web.bind.annotation.ResponseBody;
  22. import org.springframework.web.multipart.MultipartFile;
  23. import javax.servlet.http.HttpServletRequest;
  24. import javax.servlet.http.HttpServletResponse;
  25. import java.util.List;
  26. @Controller
  27. @RequestMapping(value = "${adminPath}/mes/mesEmployee")
  28. public class MesEmployeeController extends BaseController {
  29. @Autowired
  30. private MesEmployeeService mesEmployeeService;
  31. @ModelAttribute
  32. public MesEmployee get(String empCode, boolean isNewRecord) {
  33. if (StringUtils.isNotBlank(empCode)) {
  34. MesEmployee employee = mesEmployeeService.get(new MesEmployee(empCode));
  35. if (employee != null) {
  36. return employee;
  37. }
  38. }
  39. MesEmployee employee = new MesEmployee();
  40. employee.setIsNewRecord(isNewRecord);
  41. return employee;
  42. }
  43. @RequiresPermissions("mes:mesEmployee:view")
  44. @RequestMapping(value = {"list", ""})
  45. public String list(MesEmployee mesEmployee, Model model) {
  46. model.addAttribute("mesEmployee", mesEmployee);
  47. return "modules/mes/mesEmployeeList";
  48. }
  49. @RequiresPermissions(value={"mes:mesEmployee:view", "sys:empUser:edit"}, logical= Logical.OR)
  50. @RequestMapping(value = "listData")
  51. @ResponseBody
  52. public Page<MesEmployee> listData(MesEmployee mesEmployee, HttpServletRequest request, HttpServletResponse response) {
  53. mesEmployee.setPage(new Page<>(request, response));
  54. return mesEmployeeService.findPage(mesEmployee);
  55. }
  56. @RequiresPermissions("mes:mesEmployee:view")
  57. @RequestMapping(value = "form")
  58. public String form(MesEmployee mesEmployee, Model model) {
  59. model.addAttribute("mesEmployee", mesEmployee);
  60. model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
  61. return "modules/mes/mesEmployeeForm";
  62. }
  63. @RequiresPermissions("mes:mesEmployee:edit")
  64. @PostMapping(value = "save")
  65. @ResponseBody
  66. public String save(@Validated MesEmployee mesEmployee) {
  67. mesEmployeeService.save(mesEmployee);
  68. return renderResult(Global.TRUE, text("保存员工信息成功!"));
  69. }
  70. /**
  71. * 导出员工信息数据
  72. */
  73. @RequiresPermissions("mes:mesEmployee:view")
  74. @RequestMapping(value = "exportData")
  75. public void exportData(MesEmployee mesEmployee, HttpServletResponse response) {
  76. List<MesEmployee> list = mesEmployeeService.findList(mesEmployee);
  77. String fileName = "\u5458\u5de5\u4fe1\u606f\u6570\u636e" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
  78. try (ExcelExport ee = new ExcelExport("\u5458\u5de5\u4fe1\u606f\u6570\u636e", MesEmployee.class)) {
  79. ee.setDataList(list).write(response, fileName);
  80. }
  81. }
  82. /**
  83. * 下载员工信息导入模板
  84. */
  85. @RequiresPermissions("mes:mesEmployee:view")
  86. @RequestMapping(value = "importTemplate")
  87. public void importTemplate(HttpServletResponse response) {
  88. MesEmployee mesEmployee = new MesEmployee();
  89. List<MesEmployee> list = ListUtils.newArrayList(mesEmployee);
  90. String fileName = "\u5458\u5de5\u4fe1\u606f\u5bfc\u5165\u6a21\u677f.xlsx";
  91. try (ExcelExport ee = new ExcelExport("\u5458\u5de5\u4fe1\u606f\u6570\u636e", MesEmployee.class, Type.IMPORT)) {
  92. ee.setDataList(list).write(response, fileName);
  93. }
  94. }
  95. /**
  96. * 导入员工信息数据
  97. */
  98. @ResponseBody
  99. @RequiresPermissions("mes:mesEmployee:edit")
  100. @PostMapping(value = "importData")
  101. public String importData(MultipartFile file) {
  102. try {
  103. String message = mesEmployeeService.importData(file);
  104. return renderResult(Global.TRUE, "posfull:" + message);
  105. } catch (Exception ex) {
  106. return renderResult(Global.FALSE, "posfull:" + ex.getMessage());
  107. }
  108. }
  109. @RequiresPermissions("mes:mesEmployee:edit")
  110. @RequestMapping(value = "disable")
  111. @ResponseBody
  112. public String disable(MesEmployee mesEmployee) {
  113. mesEmployee.setStatus(MesEmployee.STATUS_DISABLE);
  114. mesEmployeeService.updateStatus(mesEmployee);
  115. return renderResult(Global.TRUE, text("停用员工信息成功"));
  116. }
  117. @RequiresPermissions("mes:mesEmployee:edit")
  118. @RequestMapping(value = "enable")
  119. @ResponseBody
  120. public String enable(MesEmployee mesEmployee) {
  121. mesEmployee.setStatus(MesEmployee.STATUS_NORMAL);
  122. mesEmployeeService.updateStatus(mesEmployee);
  123. return renderResult(Global.TRUE, text("启用员工信息成功"));
  124. }
  125. @RequiresPermissions("mes:mesEmployee:edit")
  126. @RequestMapping(value = "delete")
  127. @ResponseBody
  128. public String delete(MesEmployee mesEmployee) {
  129. mesEmployeeService.delete(mesEmployee);
  130. return renderResult(Global.TRUE, text("删除员工信息成功!"));
  131. }
  132. @RequestMapping(value = "search")
  133. @ResponseBody
  134. public List<MesEmployee> search(String keyword) {
  135. MesEmployee employee = new MesEmployee();
  136. if (StringUtils.isNotBlank(keyword)) {
  137. employee.setEmpName(keyword);
  138. }
  139. employee.setStatus(MesEmployee.STATUS_NORMAL);
  140. return mesEmployeeService.findList(employee);
  141. }
  142. @RequestMapping(value = "searchPage")
  143. public String searchPage(String keyword, Model model) {
  144. MesEmployee mesEmployee = new MesEmployee();
  145. mesEmployee.setEmpName(keyword);
  146. model.addAttribute("mesEmployee", mesEmployee);
  147. model.addAttribute("keyword", keyword);
  148. return "modules/mes/mesEmployeeSelect";
  149. }
  150. }