Procházet zdrojové kódy

Merge remote-tracking branch 'origin/demo_' into demo_

hfxc226 před 2 roky
rodič
revize
2c9a33b51f

+ 91 - 7
platform-rest/src/main/java/com/platform/rest/controller/repair/RepairApplicationFormController.java

@@ -110,16 +110,11 @@ public class RepairApplicationFormController {
         }else{
             repairApplicationFormService.modModelByDTO(repairApplicationFormDTO);
         }
-        // 需要发起
-        /*if(!repairApplicationFormDTO.getRepairDeptId().equals(repairApplicationFormDTO.getOldRepairDeptId())){
-            RepairStrategyFactory.getStrategy().callRepairAgain(repairApplicationFormDTO);
-        }*/
         return new R<>();
     }
 
     @SysLog("报修驳回")
     @PutMapping("/refused/{id}")
-    //@PreAuthorize("@pms.hasPermission('repair-application-forms-edit')")
     public R refusedRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairApplicationFormDTO) {
         repairApplicationFormDTO.setId(id);
         RepairStrategyFactory.getStrategy(repairApplicationFormDTO.getCategory()).refusedRepair(repairApplicationFormDTO);
@@ -309,7 +304,6 @@ public class RepairApplicationFormController {
     @PreAuthorize("@pms.hasPermission('repair-application-forms-approve')")
     public R approve(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
         RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).verifyRepair(repairCheckDTO);
-        //repairApplicationFormService.approve(repairCheckDTO);
         return new R<>();
     }
 
@@ -324,7 +318,97 @@ public class RepairApplicationFormController {
     @PreAuthorize("@pms.hasPermission('repair-application-forms-reback')")
     public R returnRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
         RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).verifyRefused(repairCheckDTO);
-        //repairApplicationFormService.returnRepair(repairCheckDTO);
+        return new R<>();
+    }
+
+    /**
+     * 计划性维修经理审核
+     * @param repairCheckDTO 验收单DTO
+     * @return R
+     */
+    @SysLog("经理审核报修通过")
+    @PutMapping("/verify/mm/pass/{id}")
+    public R mmPassRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
+        repairCheckDTO.setId(id);
+        RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).verifyRepairByMM(repairCheckDTO);
+        return new R<>();
+    }
+
+    /**
+     * 计划性维修经理审核
+     * @param repairCheckDTO 验收单DTO
+     * @return R
+     */
+    @SysLog("经理审核报修拒绝")
+    @PutMapping("/verify/mm/refused/{id}")
+    public R mmRefusedRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
+        repairCheckDTO.setId(id);
+        RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).verifyRefusedByMM(repairCheckDTO);
+        return new R<>();
+    }
+
+    /**
+     * 计划性维修生产审核
+     * @param repairCheckDTO 验收单DTO
+     * @return R
+     */
+    @SysLog("生产审核报修通过")
+    @PutMapping("/verify/produce/pass/{id}")
+    public R producePassRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
+        repairCheckDTO.setId(id);
+        RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).verifyRepairByProduce(repairCheckDTO);
+        return new R<>();
+    }
+
+    /**
+     * 计划性维修生产审核
+     * @param repairCheckDTO 验收单DTO
+     * @return R
+     */
+    @SysLog("生产审核报修拒绝")
+    @PutMapping("/verify/produce/refused/{id}")
+    public R produceRefusedRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
+        repairCheckDTO.setId(id);
+        RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).verifyRefusedByProduce(repairCheckDTO);
+        return new R<>();
+    }
+
+    /**
+     * 计划性维修生产审核
+     * @param repairCheckDTO 验收单DTO
+     * @return R
+     */
+    @SysLog("生产审核报修被拒再次发起")
+    @PutMapping("/apply/verify/{id}")
+    public R applyVerify(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
+        repairCheckDTO.setId(id);
+        RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).applyVerify(repairCheckDTO);
+        return new R<>();
+    }
+
+    /**
+     * 维修挂起解除
+     * @param repairCheckDTO 验收单DTO
+     * @return R
+     */
+    @SysLog("维修挂起解除")
+    @PutMapping("/recover/{id}")
+    public R recoverRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
+        repairCheckDTO.setId(id);
+        RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).recoverRepair(repairCheckDTO);
+        return new R<>();
+    }
+
+    /**
+     * 申请大修
+     * @param repairCheckDTO 验收单DTO
+     * @return R
+     */
+    @SysLog("申请大修")
+    @PutMapping("/apply/bigRepair/{id}")
+    public R applyBigRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
+        repairCheckDTO.setId(id);
+        RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).applyBigRepair(repairCheckDTO);
         return new R<>();
     }
 

+ 47 - 9
platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanPlanRepairStrategy.java

@@ -99,21 +99,59 @@ public class LongYanPlanRepairStrategy extends AbstractRepairBaseStrategy {
         addRepairStatusRecord(form,statusRemark);
         // 给相关的工程师推送信息
         sendMessageToRepairManger(form,sysUserVOList,CommonConstants.CALL_REPAIR_NOTICE);
+        // 生产票证数据
+        generateTicketData(form);
         return form;
     }
 
-    private List<SysUserVO> getUserVOs(String user){
-        String[] users = user.split(",");
-        List<SysUserVO> vos = ListUtils.newArrayList();
-        for(String name : users){
-            SysUser u = sysUserService.selectByUsername(name);
-            if(u != null)
-                vos.add(BeanConverterUtil.copyObjectProperties(u,SysUserVO.class));
+    /**
+     * 生成维修票证数据
+     * @param form
+     */
+    private void generateTicketData(RepairApplicationForm form){
+        // 没有记录,增加记录值
+        CustomFieldTemplateData info = new CustomFieldTemplateData();
+        info.setRemark(CommonConstants.REPAIR_TICKET_RECORD);
+        info.setObjId(form.getId());
+        info.setId(IdGeneratorUtils.getObjectId());
+        info.setCreatedUserName(SecurityUtils.getUserInfo().getUsername());
+        info.setCreatedUserId(SecurityUtils.getUserInfo().getUserId());
+        info.setCreatedTime(LocalDateTime.now());
+        SbInfo sbInfo = sbInfoService.getModelById(form.getSbId());
+        RepairTicketTemplateData data = new RepairTicketTemplateData();
+        data.setCaller(sysUserMapper.selectByPrimaryKey(form.getUserId()).getRealName());
+        data.setSbPositionName(form.getSbPosition());
+        data.setCallTime(DateUtils.dateToString(form.getApplyTime(),DateUtils.PATTERN_YMD_HMS));
+        data.setContent(form.getContent());
+        if(StringUtils.isNotBlank(form.getDispatchUserId())){
+            data.setDispatcher(sysUserMapper.selectByPrimaryKey(form.getDispatchUserId()).getRealName());
         }
-        return vos;
+        // 维修专业
+        String[] arr1 = form.getRepairProfessor().split(",");
+        List<Integer> arrays1 = ListUtils.newArrayList();
+        for(String s : arr1){
+            arrays1.add(Integer.parseInt(s));
+        }
+        data.setRepairProfessor(arrays1);
+        // 涉及特殊作业类型
+        String[] arr = form.getRepairType().split(",");
+        List<Integer> arrays = ListUtils.newArrayList();
+        for(String s : arr){
+            arrays.add(Integer.parseInt(s));
+        }
+        data.setRepairType(arrays);
+        data.setLevel(form.getLevel());
+        data.setRepairNo(form.getNo());
+        data.setSbLocation(form.getSbCph());
+        data.setSbName(sbInfo.getName());
+        data.setSbNo(sbInfo.getNo());
+        data.setTrustDept(form.getTrustDept());
+        data.setPlanStartTime(DateUtils.dateToString(form.getPlanStartTime(),DateUtils.PATTERN_YMD_HMS));
+        data.setPlanEndTime(DateUtils.dateToString(form.getPlanEndTime(),DateUtils.PATTERN_YMD_HMS));
+        info.setData(JsonUtils.objectToJson(data));
+        customFieldTemplateDataMapper.insert(info);
     }
 
-
     private String getReportLeaderId(String sbId){
         String positionId = sbInfoService.getById(sbId).getPositionId();
         if(StringUtils.isBlank(positionId)){

+ 1 - 1
platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanRepairStrategy.java

@@ -631,7 +631,7 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
             throw new DeniedException("不具备解除挂起的权限");
         }
         if(StringUtils.isBlank(model.getRepairUserId())){
-            throw new DeniedException("派工对象不能为空");
+            throw new DeniedException("派工对象不能为空[repairUserId]");
         }
         // 更新
         RepairApplicationForm form = repairApplicationFormMapper.selectByPrimaryKey(model.getId());