RepairUserController.java 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. package com.repair.controller;
  2. import com.repair.api.RepairUserControllerAPI;
  3. import com.repair.common.utils.paramUtils;
  4. import com.repair.model.enumModel.eUserZZ;
  5. import com.repair.model.pojo.RepairRecord;
  6. import com.repair.model.pojo.RepairUser;
  7. import com.repair.model.request.insertRepairUserRequest;
  8. import com.repair.model.request.updateAddressBookRequest;
  9. import com.repair.model.request.updateUserDataRequest;
  10. import com.repair.model.result.CommonResult;
  11. import com.repair.model.result.PageUtils;
  12. import com.repair.model.vo.*;
  13. import com.repair.services.RepairRecordService;
  14. import com.repair.services.RepairUserService;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.validation.BindingResult;
  18. import org.springframework.web.bind.annotation.RestController;
  19. import java.text.SimpleDateFormat;
  20. import java.util.ArrayList;
  21. import java.util.Arrays;
  22. import java.util.Date;
  23. import java.util.List;
  24. import java.util.stream.Collectors;
  25. /**
  26. * <p>
  27. * 前端控制器
  28. * </p>
  29. *
  30. * @author ceshi
  31. * @since 2023-07-11
  32. */
  33. @RestController
  34. public class RepairUserController implements RepairUserControllerAPI {
  35. @Autowired
  36. private RepairUserService repairUserService;
  37. @Autowired
  38. private RepairRecordService repairRecordService;
  39. /**
  40. * 添加员工数据接口
  41. *
  42. * @param irur
  43. * @param bindingResult
  44. * @return
  45. */
  46. @Override
  47. public CommonResult InsertRepairUser(insertRepairUserRequest irur, BindingResult bindingResult) {
  48. if (bindingResult.hasErrors()) {
  49. String st = paramUtils.getParamError(bindingResult);
  50. return CommonResult.fail(st);
  51. }
  52. RepairUser data = repairUserService.getRepairByCardNumber(irur.getCardNumber());
  53. RepairUser ru = new RepairUser();
  54. if (data != null && !data.getUserZzid().equals(eUserZZ.User.getValue())) {
  55. return CommonResult.fail("该卡号已存在!");
  56. } else if (data != null) {
  57. ru.setId(data.getId());
  58. }
  59. ru.setUserName(irur.getUserName());
  60. ru.setCardNumber(irur.getCardNumber());
  61. ru.setUserZzid(irur.getUserzzId());
  62. ru.setTeamId(irur.getTeamId());
  63. ru.setUserPhone(irur.getUserPhone());
  64. ru.setSchoolId(irur.getSchoolId());
  65. ru.setWorkType(irur.getWorkType());
  66. ru.setState(1);//设置大量接单
  67. ru.setArticle_id(StringUtils.join(irur.getArticleIds(), ','));
  68. ru.setBuildId(StringUtils.join(irur.getBuildIds(), ','));
  69. ru.setAcceptanceAssessTime(irur.getAcceptanceAssessTime());
  70. ru.setMaintenanceAssessTime(irur.getMaintenanceAssessTime());
  71. int result = 0;
  72. if (data != null) {
  73. result = repairUserService.updateRepairUser(ru);
  74. } else {
  75. result = repairUserService.insertRepairUser(ru);
  76. }
  77. return result > 0 ? CommonResult.ok("添加成功") : CommonResult.fail("添加失败");
  78. }
  79. /**
  80. * 根据ID编辑用户数据的名称、手机号、身份、工种、维修班、楼栋关联ID、是否能转换、接单考核时间、维修考核时间
  81. *
  82. * @param ra
  83. * @param bindingResult
  84. * @return
  85. */
  86. @Override
  87. public CommonResult updateRepairUserById(updateUserDataRequest ra, BindingResult bindingResult) {
  88. if (bindingResult.hasErrors()) {
  89. String st = paramUtils.getParamError(bindingResult);
  90. return CommonResult.fail(st);
  91. }
  92. RepairUser data = new RepairUser();
  93. data.setId(ra.getId());
  94. data.setUserName(ra.getUserName());
  95. data.setUserPhone(ra.getUserPhone());
  96. data.setUserZzid(ra.getUserZzid());
  97. data.setWorkType(ra.getWorkType());
  98. data.setTeamId(ra.getTeamId());
  99. data.setArticle_id(StringUtils.join(ra.getArticleIds(), ','));
  100. data.setBuildId(StringUtils.join(ra.getBuildIds(), ','));
  101. data.setIsChange(ra.getIsChange());
  102. data.setAcceptanceAssessTime(ra.getAcceptanceAssessTime());
  103. data.setMaintenanceAssessTime(ra.getMaintenanceAssessTime());
  104. int result = repairUserService.updateRepairUser(data);
  105. return result > 0 ? CommonResult.ok("修改成功") : CommonResult.fail("修改失败");
  106. }
  107. /**
  108. * 用户分页数据查询
  109. *
  110. * @param currentPage 当前页
  111. * @param pageCount 一页数据条数
  112. * @param keyWord 关键字
  113. * @param teamId 维修班
  114. * 校方人员:0
  115. * 第三方人员:1
  116. * @param schoolId 校区ID
  117. * 黄家湖校区:1
  118. * 墨轩湖校区:2
  119. * @return
  120. * @Param schoolId 校区ID
  121. */
  122. @Override
  123. public CommonResult queryPageRepairUser(int currentPage, int pageCount, String keyWord, Integer teamId, Integer schoolId) {
  124. PageUtils<RepairUserVo> result = repairUserService.queryPageRepairUser(currentPage, pageCount, keyWord, teamId, schoolId);
  125. for (RepairUserVo r : result.getList()) {
  126. if (r.getBuildId() != null) {
  127. r.setBuildIds(Arrays.asList(r.getBuildId().split(",")));
  128. }
  129. if (r.getBuildName() != null) {
  130. r.setBuildNames(Arrays.asList(r.getBuildName().split(",")));
  131. }
  132. if (r.getArticleId() != null) {
  133. r.setArticleIds(Arrays.asList(r.getArticleId().split(",")));
  134. }
  135. if (r.getArticleName() != null) {
  136. r.setArticleNames(Arrays.asList(r.getArticleName().split(",")));
  137. }
  138. }
  139. return CommonResult.ok(result);
  140. }
  141. /**
  142. * 根据ID删除用户数据
  143. *
  144. * @param id
  145. * @return
  146. */
  147. @Override
  148. public CommonResult deleteRepairUserById(int id) {
  149. RepairUser data = repairUserService.getRepairById(id);
  150. if (data == null) {
  151. return CommonResult.fail("当前数据不存在,删除失败!");
  152. }
  153. int result = repairUserService.deleteRepairUserById(id);
  154. return result > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败");
  155. }
  156. /**
  157. * 根据卡号查找用户信息
  158. *
  159. * @param cardNumber 卡号
  160. * @return
  161. */
  162. @Override
  163. public CommonResult queryRepairUserByCardNumber(String cardNumber) {
  164. RepairUser result = repairUserService.getRepairByCardNumber(cardNumber);
  165. return result == null ? CommonResult.fail("数据不存在") : CommonResult.ok(result);
  166. }
  167. @Override
  168. public CommonResult queryPageRepairUsers(int currentPage, int pageCount, Integer recordId, String keyWord) {
  169. RepairRecord rr = repairRecordService.getRepairById(recordId);
  170. if (rr == null) {
  171. return CommonResult.fail("维修单无效,获取维修师傅数据失败");
  172. }
  173. String dateNow = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
  174. PageUtils<AutoDispatchUserVo> users = repairUserService.autoDispatchUser(currentPage, pageCount, rr.getSchoolId(), dateNow, rr.getArticleId(), rr.getBuildId(), keyWord);
  175. return CommonResult.ok(users);
  176. }
  177. @Override
  178. public CommonResult getAddressBook(Integer schoolId, Integer userId, String keyWord) {
  179. List<AddressBookVo> abs = repairUserService.queryAddressBook(userId, schoolId, keyWord);
  180. List<AddressBookListVo> result = new ArrayList<>();
  181. for (int i = 1; i <= 2; i++) {
  182. AddressBookListVo data = new AddressBookListVo();
  183. data.setId(i);
  184. data.setName(i == 1 ? "校方人员" : "第三方人员");
  185. List<AddressBookVo> abDatas = abs.stream().filter(e -> e.getTeamId() == data.getId()).collect(Collectors.toList());
  186. data.setList(abDatas);
  187. result.add(data);
  188. }
  189. return CommonResult.ok(result);
  190. }
  191. @Override
  192. public CommonResult updateAddressBook(updateAddressBookRequest uabp, BindingResult bindingResult) {
  193. if (bindingResult.hasErrors()) {
  194. String st = paramUtils.getParamError(bindingResult);
  195. return CommonResult.fail(st);
  196. }
  197. RepairUser data = repairUserService.getRepairById(uabp.getId());
  198. if (data == null) {
  199. return CommonResult.fail("当前数据不存在,编辑失败!");
  200. }
  201. data.setUserPhone(uabp.getPhone());
  202. data.setState(uabp.getState());
  203. data.setWorkType(uabp.getWorkType());
  204. data.setAcceptanceAssessTime(uabp.getAcceptanceTime());
  205. data.setMaintenanceAssessTime(uabp.getMaintenanceTime());
  206. int result = repairUserService.updateRepairUser(data);
  207. return result <= 0 ? CommonResult.fail("更新失败") : CommonResult.ok("更新成功");
  208. }
  209. @Override
  210. public CommonResult queryPageCollaborator(int currentPage, int pageCount, Integer schoolId, Integer userId) {
  211. String dateNow = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
  212. PageUtils<RepairWorkTypeVo> result = repairUserService.queryCollaboratorUser(currentPage, pageCount, schoolId, userId, dateNow);
  213. return CommonResult.ok(result);
  214. }
  215. @Override
  216. public CommonResult queryPositiveReviewPage(int currentPage, int pageCount, Integer schoolId) {
  217. PageUtils<PositiveReviewVo> result = repairUserService.queryPositiveReviewPage(currentPage, pageCount, schoolId);
  218. return CommonResult.ok(result);
  219. }
  220. }