EmpUserCustomController.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package com.jeesite.modules.mes.web;
  2. import com.jeesite.common.config.Global;
  3. import com.jeesite.common.lang.StringUtils;
  4. import com.jeesite.common.web.BaseController;
  5. import com.jeesite.modules.sys.entity.EmpUser;
  6. import com.jeesite.modules.sys.entity.EmployeeOffice;
  7. import com.jeesite.modules.sys.entity.Role;
  8. import com.jeesite.modules.sys.service.EmpUserService;
  9. import com.jeesite.modules.sys.web.user.EmpUserController;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Controller;
  12. import org.springframework.ui.Model;
  13. import org.springframework.validation.annotation.Validated;
  14. import org.springframework.web.bind.annotation.ModelAttribute;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.ResponseBody;
  17. import javax.servlet.http.HttpServletRequest;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. @Controller
  21. @RequestMapping(value = "${adminPath}/mes/empUserCustom")
  22. public class EmpUserCustomController extends BaseController {
  23. @Autowired
  24. private EmpUserController empUserController;
  25. @Autowired
  26. private EmpUserService empUserService;
  27. @ModelAttribute
  28. public EmpUser get(String userCode, boolean isNewRecord) {
  29. return empUserService.get(userCode, isNewRecord);
  30. }
  31. @RequestMapping(value = "form")
  32. public String form(EmpUser empUser, String op, Model model) {
  33. if ("copy".equals(op)) {
  34. String view = empUserController.form(empUser, "edit", model);
  35. EmpUser fullUser = (EmpUser) model.asMap().get("empUser");
  36. if (fullUser != null) {
  37. fullUser.setIsNewRecord(true);
  38. fullUser.setUserCode(null);
  39. if (fullUser.getEmployee() != null) {
  40. fullUser.getEmployee().setIsNewRecord(true);
  41. fullUser.getEmployee().setEmpCode(null);
  42. List<EmployeeOffice> officeList = fullUser.getEmployee().getEmployeeOfficeList();
  43. if (officeList != null && !officeList.isEmpty()) {
  44. for (EmployeeOffice eo : officeList) {
  45. eo.setIsNewRecord(true);
  46. eo.setId(null);
  47. }
  48. }
  49. }
  50. List<Role> roleList = fullUser.getRoleList();
  51. if (roleList != null && !roleList.isEmpty()) {
  52. List<String> roleCodes = new ArrayList<>();
  53. for (Role role : roleList) {
  54. roleCodes.add(role.getRoleCode());
  55. }
  56. fullUser.setUserRoleString(StringUtils.join(roleCodes, ","));
  57. }
  58. model.addAttribute("empUser", fullUser);
  59. model.addAttribute("roleList", roleList);
  60. model.addAttribute("op", "add");
  61. }
  62. return "modules/sys/user/empUserForm";
  63. }
  64. if ("add".equals(op) || "edit".equals(op)) {
  65. empUserController.form(empUser, op, model);
  66. return "modules/sys/user/empUserForm";
  67. }
  68. return empUserController.form(empUser, op, model);
  69. }
  70. @RequestMapping(value = "save")
  71. @ResponseBody
  72. public String save(@Validated EmpUser empUser, String oldLoginCode, HttpServletRequest request) {
  73. EmpUser existUser = new EmpUser();
  74. existUser.setLoginCode(empUser.getLoginCode());
  75. List<EmpUser> uList = empUserService.findList(existUser);
  76. if (uList != null && !uList.isEmpty()) {
  77. return renderResult(Global.FALSE, "保存用户失败,登录账号已存在(不能与原账号相同),请修改登录账号!");
  78. }
  79. if (StringUtils.isNotBlank(empUser.getUserName())) {
  80. EmpUser where = new EmpUser();
  81. where.setUserName(empUser.getUserName());
  82. List<EmpUser> list = empUserService.findList(where);
  83. if (list != null && !list.isEmpty()) {
  84. return renderResult(Global.FALSE, "保存用户失败,用户昵称已存在(不能与原昵称相同),请修改用户昵称!");
  85. }
  86. }
  87. return empUserController.save(empUser, oldLoginCode, request);
  88. }
  89. }