RepairController.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. package com.welampiot.controller;
  2. import com.welampiot.common.BaseResult;
  3. import com.welampiot.common.InterfaceResultEnum;
  4. import com.welampiot.dto.RepairInfoDTO;
  5. import com.welampiot.dto.RepairPersonnelDTO;
  6. import com.welampiot.service.RepairInfoService;
  7. import com.welampiot.service.RepairPersonnelService;
  8. import com.welampiot.utils.ExcelUtil;
  9. import com.welampiot.utils.ToolUtils;
  10. import com.welampiot.vo.RepairInfoVO;
  11. import com.welampiot.vo.RepairPersonnelDetailsVO;
  12. import com.welampiot.vo.RepairPersonnelVO;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.CrossOrigin;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RequestMethod;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import javax.servlet.http.HttpServletRequest;
  19. import java.util.ArrayList;
  20. import java.util.Arrays;
  21. import java.util.List;
  22. import java.util.Objects;
  23. /**
  24. * ClassName: RepairController
  25. * Package: com.welampiot.controller
  26. * Description:
  27. *
  28. * @Author: zhj_Start
  29. * @Create: 2023/5/16 - 10:33
  30. * @Version: v1.0
  31. */
  32. @RestController
  33. @CrossOrigin
  34. @RequestMapping("/repair")
  35. public class RepairController {
  36. @Autowired
  37. private RepairPersonnelService repairPersonnelService;
  38. @Autowired
  39. private ToolUtils toolUtils;
  40. @Autowired
  41. private RepairInfoService repairInfoService;
  42. /**
  43. * 获取维修人员列表
  44. * @param request 分页、维修人员名称关键字搜索、用户id筛选
  45. * @return 维修人员list
  46. */
  47. @RequestMapping(value = "getList", method = RequestMethod.POST)
  48. public BaseResult<?> getList(HttpServletRequest request) {
  49. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  50. Integer download = (Integer) toolUtils.getRequestContent(request,"download",1);
  51. int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
  52. int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
  53. String username = (String) toolUtils.getRequestContent(request,"username",2);
  54. if (username == null || username.length() == 0)
  55. return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  56. String keyword = (String) toolUtils.getRequestContent(request,"keyword",2);
  57. RepairPersonnelDTO dto = new RepairPersonnelDTO();
  58. if (download == 0) {
  59. dto.setPage(count * (page - 1));
  60. dto.setCount(count);
  61. }
  62. dto.setKeyword(keyword);
  63. Integer userId = repairPersonnelService.getUserIdByUsername(username);
  64. dto.setOwnId(userId);
  65. RepairPersonnelVO repairPersonnelVO = repairPersonnelService.getListByRepairPersonnelDTO(dto);
  66. if (download == 1) {
  67. List<RepairPersonnelDTO> list = repairPersonnelVO.getList();
  68. String title;
  69. if (version == 0) {
  70. title = "姓名,公司,部门,工号,手机,邮箱,账号名称";
  71. } else if (version == 1) {
  72. title = "Name,Company,Department,Job Number,Mobile Phone,Email,Account Name";
  73. }else {
  74. title = "Имя,компания,отдел,номер,телефон,почтовый ящик,имя счета";
  75. }
  76. List<String> titleList = Arrays.asList(title.split(","));
  77. List<List<String>> contentList = new ArrayList<>();
  78. for (RepairPersonnelDTO r : list) {
  79. List<String> newString = new ArrayList<>();
  80. newString.add(0,r.getName());
  81. newString.add(1,r.getCompany());
  82. newString.add(2,r.getSection());
  83. newString.add(3,r.getNumber());
  84. newString.add(4,r.getPhone());
  85. newString.add(5,r.getEmail());
  86. newString.add(6,r.getUsername());
  87. contentList.add(list.indexOf(r),newString);
  88. }
  89. String path = ExcelUtil.outExcel(titleList, contentList);
  90. repairPersonnelVO.setPath(path);
  91. }
  92. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairPersonnelVO);
  93. }
  94. /**
  95. * 获取维修人员详情
  96. * @param request 维修人员id
  97. * @return 维修人员详情对象 RepairPersonnelDetailsVO
  98. */
  99. @RequestMapping(value = "/details", method = RequestMethod.POST)
  100. public BaseResult<?> details(HttpServletRequest request) {
  101. int version = (int) toolUtils.getRequestContent(request,"version",1);
  102. int userId = (int) toolUtils.getRequestContent(request,"userId",1);
  103. if (userId == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  104. RepairPersonnelDetailsVO repairPersonnelDetailsVO = repairPersonnelService.getDetailsByRepairPersonnelDTO(userId);
  105. if (repairPersonnelDetailsVO == null) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  106. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairPersonnelDetailsVO);
  107. }
  108. /**
  109. * 添加编辑维修人员
  110. * @param request 需要添加编辑的维修人员的属性
  111. * @return 更新维修人员数据
  112. */
  113. @RequestMapping(value = "save", method = RequestMethod.POST)
  114. public BaseResult<?> save(HttpServletRequest request) {
  115. int version = (int) toolUtils.getRequestContent(request,"version",1);
  116. int id = (int) toolUtils.getRequestContent(request,"id",1);
  117. int groupId = (int) toolUtils.getRequestContent(request,"groupId",1);
  118. String name = request.getParameter("name");
  119. String section = request.getParameter("section");
  120. String email = request.getParameter("email");
  121. String phone = request.getParameter("phone");
  122. String number = request.getParameter("number");
  123. String company = request.getParameter("company");
  124. String username = request.getParameter("username");
  125. if (username == null || username.length() == 0)
  126. return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  127. RepairPersonnelDTO dto = new RepairPersonnelDTO();
  128. dto.setName(name);
  129. dto.setNumber(number);
  130. dto.setSection(section);
  131. dto.setEmail(email);
  132. dto.setPhone(phone);
  133. dto.setCompany(company);
  134. dto.setGroupId(groupId);
  135. if (id == 0) { // 添加
  136. Integer userId = repairPersonnelService.getUserIdByUsername(username);
  137. dto.setOwnId(userId);
  138. if (name == null || name.length() == 0)
  139. return toolUtils.response(InterfaceResultEnum.LACK_REPAIR_PERSONNEL_NAME_ERROR,version);
  140. if (number == null || number.length() == 0)
  141. return toolUtils.response(InterfaceResultEnum.LACK_REPAIR_PERSONNEL_NUMBER_ERROR,version);
  142. if (email == null || email.length() == 0)
  143. return toolUtils.response(InterfaceResultEnum.LACK_REPAIR_PERSONNEL_EMAIL_ERROR,version);
  144. if (phone == null || phone.length() == 0)
  145. return toolUtils.response(InterfaceResultEnum.LACK_REPAIR_PERSONNEL_PHONE_ERROR,version);
  146. if (groupId == 0 || String.valueOf(groupId).length() == 0)
  147. return toolUtils.response(InterfaceResultEnum.LACK_REPAIR_PERSONNEL_GROUP_ID_ERROR,version);
  148. RepairPersonnelDTO repairPersonnelDTO = new RepairPersonnelDTO();
  149. repairPersonnelDTO.setName(name);
  150. repairPersonnelDTO.setOwnId(userId);
  151. if (repairPersonnelService.findRepairPersonnelByDTO(repairPersonnelDTO) > 0)
  152. return toolUtils.response(InterfaceResultEnum.REPAIR_PERSONNEL_NAME_UNIQUE_ERROR,version);
  153. repairPersonnelDTO = new RepairPersonnelDTO();
  154. repairPersonnelDTO.setNumber(number);
  155. repairPersonnelDTO.setOwnId(userId);
  156. if (repairPersonnelService.findRepairPersonnelByDTO(repairPersonnelDTO) > 0)
  157. return toolUtils.response(InterfaceResultEnum.REPAIR_PERSONNEL_NUMBER_UNIQUE_ERROR,version);
  158. repairPersonnelService.addRepairPersonnelDataByDTO(dto);
  159. } else { // 编辑
  160. dto.setId(id);
  161. Integer userId = repairPersonnelService.getUserIdByUsername(username);
  162. dto.setOwnId(userId);
  163. Integer userIdById = repairPersonnelService.findUserIdById(id);
  164. if (!Objects.equals(userIdById, userId))
  165. return toolUtils.response(InterfaceResultEnum.USER_HAS_NOT_MODIFY_PRIVILEGE,version);
  166. RepairPersonnelDTO repairPersonnelDTO = new RepairPersonnelDTO();
  167. repairPersonnelDTO.setId(id);
  168. repairPersonnelDTO.setName(name);
  169. repairPersonnelDTO.setOwnId(userId);
  170. if (repairPersonnelService.findRepairPersonnelByDTO(repairPersonnelDTO) > 0)
  171. return toolUtils.response(InterfaceResultEnum.REPAIR_PERSONNEL_NAME_UNIQUE_ERROR,version);
  172. repairPersonnelDTO = new RepairPersonnelDTO();
  173. repairPersonnelDTO.setId(id);
  174. repairPersonnelDTO.setNumber(number);
  175. repairPersonnelDTO.setOwnId(userId);
  176. if (repairPersonnelService.findRepairPersonnelByDTO(repairPersonnelDTO) > 0)
  177. return toolUtils.response(InterfaceResultEnum.REPAIR_PERSONNEL_NUMBER_UNIQUE_ERROR,version);
  178. repairPersonnelService.updateRepairPersonnelDataByDTO(dto);
  179. }
  180. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
  181. }
  182. /**
  183. * 删除维修人员
  184. * @param request 要删除的维修人员的id
  185. * @return 删除成功
  186. */
  187. @RequestMapping(value = "/del", method = RequestMethod.POST)
  188. public BaseResult<?> del(HttpServletRequest request){
  189. int version = (int) toolUtils.getRequestContent(request,"version",1);
  190. String id = request.getParameter("id");
  191. if (id == null || id.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  192. String[] split = id.split(",");
  193. for (String repairPersonnelId : split) {
  194. int l = Integer.parseInt(repairPersonnelId);
  195. repairPersonnelService.deleteRepairPersonnelDataByDTO(l);
  196. }
  197. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
  198. }
  199. /**
  200. * 获取维修记录
  201. * @param request 维修人员id
  202. * @return 维修记录
  203. */
  204. @RequestMapping(value = "/repairInfo", method = RequestMethod.POST)
  205. public BaseResult<?> repairInfo(HttpServletRequest request) {
  206. int version = (int) toolUtils.getRequestContent(request,"version",1);
  207. int id = (int) toolUtils.getRequestContent(request,"id",1);
  208. int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
  209. int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
  210. RepairInfoDTO dto = new RepairInfoDTO();
  211. dto.setRepairUserid(id);
  212. dto.setPage(count * (page - 1));
  213. dto.setCount(count);
  214. RepairInfoVO repairInfoVO = repairInfoService.getRepairInfoByDTO(dto);
  215. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairInfoVO);
  216. }
  217. /**
  218. * 获取维修人员下拉列表
  219. * @param request 用户id
  220. * @return 返回维修人员下拉列表
  221. */
  222. @RequestMapping(value = "/nav", method = RequestMethod.POST)
  223. public BaseResult<?> nav(HttpServletRequest request) {
  224. int version = (int) toolUtils.getRequestContent(request,"version",1);
  225. String username = request.getParameter("username");
  226. if (username == null || username.length() == 0)
  227. return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  228. Integer id = repairPersonnelService.getUserIdByUsername(username);
  229. RepairPersonnelVO repairPersonnelVO = repairPersonnelService.getRepairPersonnelDropDownListByDTO(id);
  230. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairPersonnelVO);
  231. }
  232. /**
  233. * 删除维修记录
  234. * @param request 要删除的维修记录的id
  235. * @return 操作成功
  236. */
  237. @RequestMapping(value = "/delInfo", method = RequestMethod.POST)
  238. public BaseResult<?> delInfo(HttpServletRequest request) {
  239. int version = (int) toolUtils.getRequestContent(request,"version",1);
  240. String id = request.getParameter("id");
  241. if (id == null || id.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  242. String[] split = id.split(",");
  243. for (String repairInfoId : split) {
  244. int l = Integer.parseInt(repairInfoId);
  245. repairInfoService.deleteRepairInfoDataById(l);
  246. }
  247. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
  248. }
  249. }