|
@@ -0,0 +1,290 @@
|
|
|
|
+package com.welampiot.controller;
|
|
|
|
+
|
|
|
|
+import com.welampiot.common.BaseResult;
|
|
|
|
+import com.welampiot.common.InterfaceResultEnum;
|
|
|
|
+import com.welampiot.dto.RepairGroupDTO;
|
|
|
|
+import com.welampiot.dto.RepairPersonnelDTO;
|
|
|
|
+import com.welampiot.service.RepairGroupService;
|
|
|
|
+import com.welampiot.service.RepairPersonnelService;
|
|
|
|
+import com.welampiot.utils.ToolUtils;
|
|
|
|
+import com.welampiot.vo.RepairGroupVO;
|
|
|
|
+import com.welampiot.vo.RepairPersonnelDetailsVO;
|
|
|
|
+import com.welampiot.vo.RepairPersonnelVO;
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.web.bind.annotation.CrossOrigin;
|
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
+import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
|
+
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.Arrays;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.StringJoiner;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * ClassName: RepairGroupController
|
|
|
|
+ * Package: com.welampiot.controller
|
|
|
|
+ * Description:
|
|
|
|
+ *
|
|
|
|
+ * @Author: zhj_Start
|
|
|
|
+ * @Create: 2023/7/17 - 10:22
|
|
|
|
+ * @Version: v1.0
|
|
|
|
+ */
|
|
|
|
+@RestController
|
|
|
|
+@CrossOrigin
|
|
|
|
+@RequestMapping("/repairGroup")
|
|
|
|
+public class RepairGroupController {
|
|
|
|
+ @Autowired
|
|
|
|
+ private RepairGroupService repairGroupService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private RepairPersonnelService repairPersonnelService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private ToolUtils toolUtils;
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 分组列表
|
|
|
|
+ * @param request sectionList,分页,关键字搜索
|
|
|
|
+ * @return 分组列表
|
|
|
|
+ */
|
|
|
|
+ @RequestMapping(value = "/getList", method = RequestMethod.POST)
|
|
|
|
+ public BaseResult<?> getList(HttpServletRequest request) {
|
|
|
|
+ Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
|
|
|
|
+ String keyword = (String) toolUtils.getRequestContent(request,"keyword",2);
|
|
|
|
+ int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
|
|
|
|
+ int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
|
|
|
|
+ RepairGroupVO repairGroupVO = new RepairGroupVO();
|
|
|
|
+ repairGroupVO.setPage(count * (page - 1));
|
|
|
|
+ repairGroupVO.setCount(count);
|
|
|
|
+ repairGroupVO.setKeyword(keyword);
|
|
|
|
+ repairGroupVO.setSectionList(toolUtils.getSectionList(request));
|
|
|
|
+ List<RepairGroupDTO> repairGroupList = repairGroupService.getRepairGroupList(repairGroupVO);
|
|
|
|
+ List<RepairGroupDTO> list = new ArrayList<>();
|
|
|
|
+ for (RepairGroupDTO dto : repairGroupList) {
|
|
|
|
+ List<RepairPersonnelDTO> personnelList = new ArrayList<>();
|
|
|
|
+ if (dto.getWorkId() != null && !dto.getWorkId().equals("")) {
|
|
|
|
+ String[] strings = dto.getWorkId().split(",");
|
|
|
|
+ for (String s : strings) {
|
|
|
|
+ RepairPersonnelDetailsVO vo = repairPersonnelService.getDetailsByRepairPersonnelDTO(Integer.parseInt(s));
|
|
|
|
+ RepairPersonnelDTO repairPersonnelDTO = new RepairPersonnelDTO();
|
|
|
|
+ if (vo == null) {
|
|
|
|
+ personnelList.add(repairPersonnelDTO);
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ BeanUtils.copyProperties(vo,repairPersonnelDTO);
|
|
|
|
+ personnelList.add(repairPersonnelDTO);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ dto.setWorkerList(personnelList);
|
|
|
|
+ list.add(dto);
|
|
|
|
+ }
|
|
|
|
+ RepairGroupVO vo = new RepairGroupVO();
|
|
|
|
+ vo.setList(list);
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,vo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 添加编辑分组
|
|
|
|
+ * @param request 维修分组的属性
|
|
|
|
+ * @return 添加编辑分组
|
|
|
|
+ */
|
|
|
|
+ @RequestMapping(value = "/save", method = RequestMethod.POST)
|
|
|
|
+ public BaseResult<?> save(HttpServletRequest request) {
|
|
|
|
+ Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
|
|
|
|
+ Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
|
|
|
|
+ Integer areaId = (Integer) toolUtils.getRequestContent(request,"areaId",1);
|
|
|
|
+ Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
|
|
|
|
+ String name = (String) toolUtils.getRequestContent(request,"name",2);
|
|
|
|
+ String workId = (String) toolUtils.getRequestContent(request,"workId",2);
|
|
|
|
+ String number = (String) toolUtils.getRequestContent(request,"number",2);
|
|
|
|
+
|
|
|
|
+ if (areaId == 0) return toolUtils.response(InterfaceResultEnum.LACK_AREA_ERROR,version);
|
|
|
|
+ if (sectionId == 0) return toolUtils.response(InterfaceResultEnum.LACK_SECTION_ERROR,version);
|
|
|
|
+ if (name.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
|
|
|
|
+ if (number.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
|
|
|
|
+ if (workId.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
|
|
|
|
+ List<String> strings = Arrays.asList(workId.split(","));
|
|
|
|
+ RepairGroupDTO repairGroupDTO = new RepairGroupDTO();
|
|
|
|
+ repairGroupDTO.setAreaId(areaId);
|
|
|
|
+ repairGroupDTO.setSectionId(sectionId);
|
|
|
|
+ repairGroupDTO.setName(name);
|
|
|
|
+ repairGroupDTO.setWorkId(workId);
|
|
|
|
+ repairGroupDTO.setNumber(number);
|
|
|
|
+ if (id == 0) { // 添加
|
|
|
|
+ RepairGroupDTO dto = new RepairGroupDTO();
|
|
|
|
+ dto.setSectionId(sectionId);
|
|
|
|
+ dto.setName(name);
|
|
|
|
+ if (repairGroupService.checkRepairGroupData(dto) > 0)
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.REPAIR_GROUP_UNIQUE_NAME,version);
|
|
|
|
+ dto = new RepairGroupDTO();
|
|
|
|
+ dto.setSectionId(sectionId);
|
|
|
|
+ dto.setNumber(number);
|
|
|
|
+ if (repairGroupService.checkRepairGroupData(dto) > 0)
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.REPAIR_GROUP_UNIQUE_NUMBER,version);
|
|
|
|
+ long l = System.currentTimeMillis();
|
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ String format = simpleDateFormat.format(l);
|
|
|
|
+ repairGroupDTO.setCreateTime(format);
|
|
|
|
+ repairGroupDTO.setUpdateTime(format);
|
|
|
|
+ repairGroupDTO.setWorkCount(strings.size());
|
|
|
|
+ repairGroupService.addRepairGroupData(repairGroupDTO);
|
|
|
|
+ } else { // 编辑
|
|
|
|
+ repairGroupDTO.setId(id);
|
|
|
|
+ RepairGroupDTO dto = new RepairGroupDTO();
|
|
|
|
+ dto.setId(id);
|
|
|
|
+ dto.setSectionId(sectionId);
|
|
|
|
+ dto.setName(name);
|
|
|
|
+ if (repairGroupService.checkRepairGroupData(dto) > 0)
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.REPAIR_GROUP_UNIQUE_NAME,version);
|
|
|
|
+ dto = new RepairGroupDTO();
|
|
|
|
+ dto.setId(id);
|
|
|
|
+ dto.setSectionId(sectionId);
|
|
|
|
+ dto.setNumber(number);
|
|
|
|
+ if (repairGroupService.checkRepairGroupData(dto) > 0)
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.REPAIR_GROUP_UNIQUE_NUMBER,version);
|
|
|
|
+ long l = System.currentTimeMillis();
|
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ String format = simpleDateFormat.format(l);
|
|
|
|
+ repairGroupDTO.setUpdateTime(format);
|
|
|
|
+ repairGroupDTO.setWorkCount(strings.size());
|
|
|
|
+ repairGroupService.updateRepairGroupData(repairGroupDTO);
|
|
|
|
+ }
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 分组详情
|
|
|
|
+ * @param request 分组id
|
|
|
|
+ * @return 分组详情
|
|
|
|
+ */
|
|
|
|
+ @RequestMapping(value = "/details", method = RequestMethod.POST)
|
|
|
|
+ public BaseResult<?> details(HttpServletRequest request) {
|
|
|
|
+ Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
|
|
|
|
+ Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
|
|
|
|
+ if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
|
|
|
|
+ RepairGroupDTO repairGroupDTO = repairGroupService.getRepairGroupDetailsById(id,version);
|
|
|
|
+ if (repairGroupDTO == null) repairGroupDTO = new RepairGroupDTO();
|
|
|
|
+ RepairGroupVO repairGroupVO = new RepairGroupVO();
|
|
|
|
+ BeanUtils.copyProperties(repairGroupDTO,repairGroupVO);
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairGroupVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 删除分组
|
|
|
|
+ * @param request 分组id
|
|
|
|
+ * @return 删除分组
|
|
|
|
+ */
|
|
|
|
+ @RequestMapping(value = "/del", method = RequestMethod.POST)
|
|
|
|
+ public BaseResult<?> del(HttpServletRequest request) {
|
|
|
|
+ Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
|
|
|
|
+ Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
|
|
|
|
+ if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
|
|
|
|
+ repairGroupService.deleteRepairGroupData(id);
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 分组下选择维修人员
|
|
|
|
+ * @param request 分组id
|
|
|
|
+ * @return 分组下选择维修人员
|
|
|
|
+ */
|
|
|
|
+ @RequestMapping(value = "/selectPerson", method = RequestMethod.POST)
|
|
|
|
+ public BaseResult<?> selectPerson(HttpServletRequest request) {
|
|
|
|
+ Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
|
|
|
|
+ Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
|
|
|
|
+ String username = (String) toolUtils.getRequestContent(request,"username",2);
|
|
|
|
+ if (id == 0 || username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
|
|
|
|
+ Integer userid = repairPersonnelService.getUserIdByUsername(username);
|
|
|
|
+ RepairPersonnelDTO repairPersonnelDTO = new RepairPersonnelDTO();
|
|
|
|
+ repairPersonnelDTO.setOwnId(userid);
|
|
|
|
+ RepairPersonnelVO vo = repairPersonnelService.getListByRepairPersonnelDTO(repairPersonnelDTO);
|
|
|
|
+ RepairGroupDTO repairGroupDTO = repairGroupService.getRepairGroupDetailsById(id, version);
|
|
|
|
+ if (repairGroupDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
|
|
|
|
+ if (repairGroupDTO.getWorkId() == null || repairGroupDTO.getWorkId().equals(""))
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
|
|
|
|
+ String[] strings = repairGroupDTO.getWorkId().split(",");
|
|
|
|
+ List<RepairPersonnelDTO> list = new ArrayList<>();
|
|
|
|
+ vo.getList().forEach(dto -> {
|
|
|
|
+ boolean isFlag = false;
|
|
|
|
+ for(String s : strings) {
|
|
|
|
+ if (dto.getId() == Integer.parseInt(s)) {
|
|
|
|
+ dto.setSelect(1);
|
|
|
|
+ isFlag = true;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (!isFlag) {
|
|
|
|
+ dto.setSelect(0);
|
|
|
|
+ }
|
|
|
|
+ list.add(dto);
|
|
|
|
+ });
|
|
|
|
+ RepairPersonnelVO repairPersonnelVO = new RepairPersonnelVO();
|
|
|
|
+ repairPersonnelVO.setList(list);
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairPersonnelVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 解绑分组中的维修人员
|
|
|
|
+ * @param request 分组id,维修人员id
|
|
|
|
+ * @return 解绑分组中的维修人员
|
|
|
|
+ */
|
|
|
|
+ @RequestMapping(value = "/unbind", method = RequestMethod.POST)
|
|
|
|
+ public BaseResult<?> unbind(HttpServletRequest request) {
|
|
|
|
+ Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
|
|
|
|
+ Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
|
|
|
|
+ Integer repairId = (Integer) toolUtils.getRequestContent(request,"repairId",1);
|
|
|
|
+ if (id == 0 || repairId == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
|
|
|
|
+ RepairGroupDTO repairGroupDTO = repairGroupService.getRepairGroupDetailsById(id, version);
|
|
|
|
+ if (repairGroupDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
|
|
|
|
+ if (repairGroupDTO.getWorkId() == null || repairGroupDTO.getWorkId().equals(""))
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
|
|
|
|
+ String[] split = repairGroupDTO.getWorkId().split(",");
|
|
|
|
+ StringJoiner stringJoiner = new StringJoiner(",");
|
|
|
|
+ for (String s : split) {
|
|
|
|
+ if (Integer.parseInt(s) != repairId) {
|
|
|
|
+ stringJoiner.add(s);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ String newString = stringJoiner.toString();
|
|
|
|
+ RepairGroupDTO dto = new RepairGroupDTO();
|
|
|
|
+ dto.setId(id);
|
|
|
|
+ dto.setWorkId(newString);
|
|
|
|
+ repairGroupService.updateGroupWorkId(dto);
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 分组下拉维修人员列表
|
|
|
|
+ * @param request 分组id
|
|
|
|
+ * @return 分组下拉维修人员列表
|
|
|
|
+ */
|
|
|
|
+ @RequestMapping(value = "/repairPersonGetList", method = RequestMethod.POST)
|
|
|
|
+ public BaseResult<?> repairPersonGetList(HttpServletRequest request) {
|
|
|
|
+ Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
|
|
|
|
+ Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
|
|
|
|
+ if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
|
|
|
|
+ RepairGroupDTO repairGroupDTO = repairGroupService.getRepairGroupDetailsById(id, version);
|
|
|
|
+ if (repairGroupDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
|
|
|
|
+ if (repairGroupDTO.getWorkId() == null || repairGroupDTO.getWorkId().equals(""))
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
|
|
|
|
+ String[] split = repairGroupDTO.getWorkId().split(",");
|
|
|
|
+ List<RepairPersonnelDTO> list = new ArrayList<>();
|
|
|
|
+ for (String s : split) {
|
|
|
|
+ RepairPersonnelDetailsVO vo = repairPersonnelService.getDetailsByRepairPersonnelDTO(Integer.parseInt(s));
|
|
|
|
+ RepairPersonnelDTO repairPersonnelDTO = new RepairPersonnelDTO();
|
|
|
|
+ if (vo == null) {
|
|
|
|
+ list.add(repairPersonnelDTO);
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ BeanUtils.copyProperties(vo,repairPersonnelDTO);
|
|
|
|
+ list.add(repairPersonnelDTO);
|
|
|
|
+ }
|
|
|
|
+ RepairPersonnelVO repairPersonnelVO = new RepairPersonnelVO();
|
|
|
|
+ repairPersonnelVO.setList(list);
|
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairPersonnelVO);
|
|
|
|
+ }
|
|
|
|
+}
|