xiongchao 3 년 전
부모
커밋
f8af55cb52

+ 5 - 0
platform-dao/src/main/java/com/platform/dao/dto/repair/RepairApplicationFormDTO.java

@@ -36,6 +36,11 @@ public class RepairApplicationFormDTO extends BaseDTO implements Serializable {
      */
     @Id
     private String id;
+
+    /**
+     * 设备使用位置
+     */
+    private String sbCph;
     /**
      * 设备型号ID
      */

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/entity/repair/RepairApplicationForm.java

@@ -27,6 +27,7 @@ public class RepairApplicationForm implements Serializable {
      */
     @Id
     private String id;
+
     /**
      * 设备型号ID
      */

+ 5 - 0
platform-dao/src/main/java/com/platform/dao/vo/repair/RepairApplicationFormVO.java

@@ -30,6 +30,11 @@ public class RepairApplicationFormVO extends BaseVO implements Serializable {
      * 报修人员id
      */
     private String userId;
+
+    /**
+     * 设备使用位置
+     */
+    private String sbCph;
     /**
      * 主键
      */

+ 32 - 14
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -198,16 +198,23 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
                     throw new BusinessException("设备已经在维修中,请等待维修完成, sbId" + model.getSbId());
                 }
             }
+
+            // 如果保修的设备位置和设备本身不一样,则可以更新该设备
+            boolean updateSb = false;
+            SbInfo info = new SbInfo();
+            info.setId(sb.getId());
+            if(StringUtils.isBlank(sb.getCph()) || !model.getSbCph().equalsIgnoreCase((sb.getCph()))){
+                info.setCph(model.getSbCph());
+                updateSb = true;
+            }
             // 如果选择了设备停机,则要修改设备状态
             if (model.getNeedStop().intValue() == RepairApplicationFormStopEnum.STOP.getValue()) {
-                SbInfo info = new SbInfo();
-                info.setId(sb.getId());
                 info.setStatus(SbInfoStatusEnum.IN_MAINTAIN.getValue());
+                updateSb = true;
+            }
+            if(updateSb){
                 sbInfoService.modModelByPrimaryKey(info);
             }
-            /*if (sb.getUseGroup() == null) {
-                throw new BusinessException("找不到设备对应的使用工作组,无法指派维修单,请先设置设备的归属组,sbId" + model.getSbId());
-            }*/
         }
         model.setOutNo(model.getOutNo());
         model.setNo(IdGeneratorUtils.getRepairApplicaitonFormNo(++count));
@@ -216,15 +223,6 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         model.setApplyTime(LocalDateTime.now());
         model.setCreatedTime(model.getApplyTime());
         model.setUpdateTime(model.getApplyTime());
-
-
-//        List<SysUserVO> userList = sysUserService.selectDeptManager(sb.getUseGroup(), SysDeptManagerType.REPAIR.getValue());
-//        if (userList == null || userList.size() == 0) {
-//            throw new BusinessException("找不到设备对应的维修员,无法指派维修单,请先设置设备的归属组,sbId" + model.getSbId());
-//        }
-//        model.setRepairUserId(userList.get(0).getUserId());
-
-
         model.setId(IdGeneratorUtils.getObjectId());
         this.saveFile(model);
         RepairApplicationForm form = super.saveModelHaveCreateInfo(model);
@@ -260,6 +258,26 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
 
     @Override
     public void modModelByDTO(RepairApplicationFormDTO model) {
+        if(StringUtils.isBlank(model.getSbId())){
+            throw new BusinessException("请选择报修的设备");
+        }
+        // 如果保修的设备位置和设备本身不一样,则可以更新该设备
+        boolean updateSb = false;
+        SbInfoVO sb = sbInfoService.getById(model.getSbId());
+        SbInfo info = new SbInfo();
+        info.setId(model.getSbId());
+        if(StringUtils.isBlank(sb.getCph()) || !model.getSbCph().equalsIgnoreCase((sb.getCph()))){
+            info.setCph(model.getSbCph());
+            updateSb = true;
+        }
+        // 如果选择了设备停机,则要修改设备状态
+        if (model.getNeedStop().intValue() == RepairApplicationFormStopEnum.STOP.getValue()) {
+            info.setStatus(SbInfoStatusEnum.IN_MAINTAIN.getValue());
+            updateSb = true;
+        }
+        if(updateSb){
+            sbInfoService.modModelByPrimaryKey(info);
+        }
         this.saveFile(model);
         super.modModelByDTO(model);
     }