瀏覽代碼

非计划-转计划性维修

guarantee-lsq 2 年之前
父節點
當前提交
b5c6592114

+ 1 - 0
platform-common/src/main/java/com/platform/common/constant/CommonConstants.java

@@ -281,6 +281,7 @@ public interface CommonConstants {
     String CALL_REPAIR_COMPLETE = "5"; // 报修成功 工程师结单 给相关领导推送消息
     String SB_CALL_REPAIR = "6"; // 设备报修审核通知
     String SB_APPLY_BIG_REPAIR = "7"; // 报修转大修审核通知
+    String SB_NON_PLAN_TO_PLAN = "8"; // 非计划转计划维修通知
     // 维修记录
     String REPAIR_RECORD_EDIT_ADD = "1";
     String REPAIR_RECORD_EDIT_STOP = "2";

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/util/MessageTemplateUtil.java

@@ -388,6 +388,10 @@ public class MessageTemplateUtil {
         return String.format("计划性报修单【%s】申请维修,请知悉", id);
     }
 
+    public static String getNonPlanToPlan(String no) {
+        return String.format("报修单【%s】转为计划性维修,请知悉", no);
+    }
+
     public static String getReceive(String id) {
         return String.format("您的报修【%s】已接受,正在处理,请等待", id);
     }

+ 1 - 1
platform-rest/src/main/java/com/platform/rest/controller/hidden/HiddenDangerController.java

@@ -57,7 +57,7 @@ public class HiddenDangerController {
   @PostMapping
   @PreAuthorize("@pms.hasPermission('hidden-dangers-add')")
   public R save(@Validated({AddGroup.class}) @RequestBody HiddenDangerDTO hiddenDangerDTO) {
-      return new R<>(hiddenDangerService.saveModelByDTO(hiddenDangerDTO));
+      return new R<>(hiddenDangerService.saveByDTO(hiddenDangerDTO));
   }
 
   /**

+ 8 - 0
platform-rest/src/main/java/com/platform/rest/controller/repair/RepairApplicationFormController.java

@@ -276,6 +276,14 @@ public class RepairApplicationFormController {
         return new R<>();
     }
 
+    @SysLog("转计划维修")
+    @PutMapping("/nonPlan/toPlan/{id}")
+    public R toPlan(@PathVariable("id") String id,@RequestBody RepairApplicationFormDTO applicationFormDTO) {
+        applicationFormDTO.setId(id);
+        RepairStrategyFactory.getStrategy(applicationFormDTO.getCategory()).nonPlanToPlan(applicationFormDTO);
+        return new R<>();
+    }
+
     @SysLog("接单维修单")
     @PutMapping("/report/repair")
     public R reportRepairForm(@RequestBody RepairApplicationFormDTO applicationFormDTO) {

+ 6 - 5
platform-service/src/main/java/com/platform/service/hidden/impl/HiddenDangerServiceImpl.java

@@ -3,10 +3,7 @@ package com.platform.service.hidden.impl;
 import com.github.pagehelper.PageHelper;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.exception.DeniedException;
-import com.platform.common.util.BeanConverterUtil;
-import com.platform.common.util.ListUtils;
-import com.platform.common.util.SecurityUtils;
-import com.platform.common.util.StringUtils;
+import com.platform.common.util.*;
 import com.platform.dao.bean.MyPage;
 import com.platform.dao.dto.hidden.HiddenDangerDTO;
 import com.platform.dao.dto.repair.RepairApplicationFormDTO;
@@ -58,12 +55,16 @@ public class HiddenDangerServiceImpl extends BaseServiceImpl<HiddenDangerMapper,
 
     @Override
     public HiddenDanger saveByDTO(HiddenDangerDTO model) {
+        model.setId(IdGeneratorUtils.getObjectId());
         // 保存图片和文件
         sysFileService.saveFile(model.getId(), SysFileTypeEnum.HIDDEN_DANGER_BEFORE_IMGS.getValue(), model.getBeforeImageList());
         sysFileService.saveFile(model.getId(), SysFileTypeEnum.HIDDEN_DANGER_AFTER_IMGS.getValue(), model.getAfterImageList());
         sysFileService.saveFile(model.getId(), SysFileTypeEnum.HIDDEN_DANGER_FILES.getValue(), model.getFileList());
         model.setStatus(HiddenDangerStatusEnum.NEW_APPLY.getValue());
-        return saveModelByDTO(model);
+        model.setCreatedTime(LocalDateTime.now());
+        model.setCreatedUserId(SecurityUtils.getUserInfo().getUserId());
+        model.setCreatedUserName(SecurityUtils.getUserInfo().getUsername());
+        return saveModelNoId(BeanConverterUtil.copyObjectProperties(model,HiddenDanger.class));
     }
 
     @Override

+ 6 - 0
platform-service/src/main/java/com/platform/service/repair/strategy/AbstractRepairBaseStrategy.java

@@ -35,6 +35,12 @@ public abstract class AbstractRepairBaseStrategy implements RepairBaseStrategy{
     protected SbInfoService sbInfoService;
     @Resource
     protected SysUserService sysUserService;
+
+    @Override
+    public void nonPlanToPlan(RepairApplicationFormDTO model) {
+
+    }
+
     @Resource
     protected SysFileService sysFileService;
 

+ 6 - 0
platform-service/src/main/java/com/platform/service/repair/strategy/RepairBaseStrategy.java

@@ -139,4 +139,10 @@ public interface RepairBaseStrategy {
      * 转大修审核
      */
     void verifyBigRepair(RepairApplicationFormDTO model);
+
+    /**
+     *
+     * @param model
+     */
+    void nonPlanToPlan(RepairApplicationFormDTO model);
 }

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

@@ -1,6 +1,5 @@
 package com.platform.service.repair.strategy.impl;
 
-import com.alibaba.fastjson.JSONArray;
 import com.platform.common.cache.ConfigCache;
 import com.platform.common.constant.CommonConstants;
 import com.platform.common.exception.DeniedException;
@@ -1009,6 +1008,10 @@ public class LongYanPlanRepairStrategy extends AbstractRepairBaseStrategy {
                 messageInfo = MessageTemplateUtil.getApplyVerify(model.getNo());
                 values = new String[]{"设备部提交报修审核!",model.getNo(),"待审核",DateUtils.dateToString(LocalDateTime.now()),"请知悉"};
                 break;
+            case CommonConstants.SB_NON_PLAN_TO_PLAN:
+                messageInfo = MessageTemplateUtil.getNonPlanToPlan(model.getNo());
+                values = new String[]{"报修单转为计划性维修!",model.getNo(),"操作通知",DateUtils.dateToString(LocalDateTime.now()),"请知悉"};
+                break;
         }
         // 1、站内信和email
         sendWorkplaceAndEmailNew(emails,userIds,model.getId(),messageInfo, detailType);

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

@@ -621,6 +621,27 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
 
     }
 
+    @Override
+    public void nonPlanToPlan(RepairApplicationFormDTO model) {
+        // 非计划转计划维修
+        RepairApplicationForm form = repairApplicationFormMapper.selectByPrimaryKey(model.getId());
+        // 根据状态判断是否需要完善维修记录
+        if(form.getStatus() == RepairApplicationFormStatusEnum.PROCESSING.getValue()){
+            model.setRepairUserId(form.getRepairUserId());
+            editRepairRecord(model,null);
+        }
+        RepairApplicationForm updForm = new RepairApplicationForm();
+        updForm.setId(model.getId());
+        updForm.setRepairPlanLevel(model.getRepairPlanLevel());
+        updForm.setCategory(RepairApplicationFormCategoryEnum.PLAN.getValue());
+        repairApplicationFormMapper.updateByPrimaryKeySelective(updForm);
+        model.setNo(form.getNo());
+        List<SysUser> users = ListUtils.newArrayList();
+        users.add(sysUserService.getModelById(form.getUserId()));
+        // 给生产推送通知,非计划改计划
+        sendMessageToProducer(model,CommonConstants.SB_NON_PLAN_TO_PLAN,users);
+    }
+
     @Override
     public void recoverRepair(RepairApplicationFormDTO model) {
         // 判断是否具有权限