소스 검색

维修完善

guarantee-lsq 2 년 전
부모
커밋
81f0ba1eaf

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

@@ -261,6 +261,7 @@ public interface CommonConstants {
     String SB_ALLOCATE_FORM = "sb_info_allocate"; // 设备调拨单
     String REPAIR_STATUS_RECORD = "repair_status_record"; // 维修状态记录
     String REPAIR_RECORD = "repair_record"; // 维修记录
+    String REPAIR_VERIFY_RECORD = "repair_verify_record"; // 维修审核记录
 
     /**
      * 龙岩维修 start
@@ -278,6 +279,11 @@ public interface CommonConstants {
     String REPAIR_COMPLETE_NOTICE = "3";
     String CALL_REPAIR_FAIL = "4";
     String CALL_REPAIR_FINISH = "5";
+    // 维修审核
+    Integer TYPE_REPAIR_MANAGER_VERIFY = 1;    // 维修主管审核
+    Integer TYPE_CALLER_VERIFY = 2;     //报修人审核
+    Integer STATUS_VERIFY_PASS = 1; // 审核通过
+    Integer STATUS_VERIFY_REFUSED = 2; // 审核驳回
     /**
      * 龙岩维修 end
      */

+ 3 - 0
platform-dao/src/main/java/com/platform/dao/dto/customize/CustomFieldTemplateDataDTO.java

@@ -2,6 +2,7 @@ package com.platform.dao.dto.customize;
 
 import com.platform.common.bean.BaseDTO;
 import com.platform.common.validation.group.UpdateGroup;
+import com.platform.dao.entity.upms.SysFile;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -94,4 +95,6 @@ public class CustomFieldTemplateDataDTO extends BaseDTO implements Serializable
     private Integer status;
 
     private List<Integer> statusList;
+
+    private List<SysFile> imageList;
 }

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

@@ -360,4 +360,9 @@ public class RepairApplicationFormDTO extends BaseDTO implements Serializable {
      * 维修记录填充数据
      */
     private String file;
+
+    /**
+     * 审核图片
+     */
+    private List<SysFile> verifyImages;
 }

+ 27 - 0
platform-dao/src/main/java/com/platform/dao/dto/repair/RepairVerifyRecordTemplateData.java

@@ -0,0 +1,27 @@
+package com.platform.dao.dto.repair;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 维修审核记录
+ */
+@Data
+public class RepairVerifyRecordTemplateData implements Serializable {
+
+    /**
+     * 审核状态 1 通过 2 驳回
+     */
+    private Integer status;
+
+    /**
+     * 审核备注
+     */
+    private String remark;
+
+    /**
+     * 审核类型 1 维系主管审核 2 报修生产审核
+     */
+    private Integer type;
+}

+ 12 - 0
platform-rest/src/main/java/com/platform/rest/controller/customize/CustomFieldTemplateDataController.java

@@ -105,6 +105,18 @@ public class CustomFieldTemplateDataController {
         return new R<>();
     }
 
+    /**
+     * 修改维修记录
+     * @param customFieldTemplateDataDTO 自定义报表DTO
+     * @return R
+     */
+    @SysLog("修改维修记录")
+    @PutMapping("/repair/{id}")
+    public R updateRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody CustomFieldTemplateDataDTO customFieldTemplateDataDTO) {
+        customFieldTemplateDataService.editDataRepairThree(customFieldTemplateDataDTO);
+        return new R<>();
+    }
+
 
     /**
      * 根据主键 修改select类型值

+ 6 - 0
platform-service/src/main/java/com/platform/service/customize/CustomFieldTemplateDataService.java

@@ -69,4 +69,10 @@ public interface CustomFieldTemplateDataService extends IBaseService<CustomField
      * @return
      */
     CustomFieldTemplateDataVO getVOByRepairThree(String id);
+
+    /**
+     * 修改维修记录
+     * @param record
+     */
+    void editDataRepairThree(CustomFieldTemplateDataDTO record);
 }

+ 53 - 8
platform-service/src/main/java/com/platform/service/customize/impl/CustomFieldTemplateDataServiceImpl.java

@@ -3,11 +3,13 @@ package com.platform.service.customize.impl;
 import com.github.pagehelper.PageHelper;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.constant.CommonConstants;
+import com.platform.common.exception.DeniedException;
 import com.platform.common.util.*;
 import com.platform.dao.bean.MyPage;
 import com.platform.dao.dto.customize.CustomFieldTemplateDataDTO;
 import com.platform.dao.dto.repair.RepairRecordTemplateData;
 import com.platform.dao.dto.repair.RepairStatusTemplateData;
+import com.platform.dao.dto.repair.RepairVerifyRecordTemplateData;
 import com.platform.dao.entity.customize.CustomFieldTemplateData;
 import com.platform.dao.entity.upms.SysFile;
 import com.platform.dao.enums.CustomFieldTemplateDataStatusEnum;
@@ -158,6 +160,9 @@ public class CustomFieldTemplateDataServiceImpl extends BaseServiceImpl<CustomFi
                 case CommonConstants.REPAIR_STATUS_RECORD:
                     writeBackToStatus(pageInfos);
                     break;
+                case CommonConstants.REPAIR_VERIFY_RECORD:
+                    writeBackToVerify(pageInfos);
+                    break;
             }
         }
         return pageInfos;
@@ -167,20 +172,51 @@ public class CustomFieldTemplateDataServiceImpl extends BaseServiceImpl<CustomFi
     public CustomFieldTemplateDataVO getVOByRepairThree(String id) {
         CustomFieldTemplateData info = mapper.selectByPrimaryKey(id);
         CustomFieldTemplateDataVO vo = BeanConverterUtil.copyObjectProperties(info,CustomFieldTemplateDataVO.class);
-        RepairRecordTemplateData data = JsonUtils.jsonToModel(vo.getData(),RepairRecordTemplateData.class);
-        vo.setDataRemark(data.getRemark());
-        vo.setRepairHours(data.getRepairMinutes());
         List<SysFile> sysFiles = sysFileService.getListByTargetAndType(id, null);
         List<SysFile> imageList = ListUtils.newArrayList();
-        sysFiles.forEach(item -> {
-            if (item.getType().equals(SysFileTypeEnum.REPAIR_REPAIR_IMGS.getValue())) {
-                imageList.add(item);
-            }
-        });
+        switch (info.getRemark()){
+            case CommonConstants.REPAIR_VERIFY_RECORD:
+                RepairVerifyRecordTemplateData data = JsonUtils.jsonToModel(vo.getData(),RepairVerifyRecordTemplateData.class);
+                vo.setDataRemark(data.getRemark());
+                vo.setStatus(data.getStatus());
+                vo.setType(data.getType());
+                sysFiles.forEach(item -> {
+                    if (item.getType().equals(SysFileTypeEnum.REPAIR_CHECK_IMGS.getValue())) {
+                        imageList.add(item);
+                    }
+                });
+                break;
+            case CommonConstants.REPAIR_RECORD:
+                RepairRecordTemplateData data2 = JsonUtils.jsonToModel(vo.getData(),RepairRecordTemplateData.class);
+                vo.setDataRemark(data2.getRemark());
+                vo.setRepairHours(data2.getRepairMinutes());
+                sysFiles.forEach(item -> {
+                    if (item.getType().equals(SysFileTypeEnum.REPAIR_REPAIR_IMGS.getValue())) {
+                        imageList.add(item);
+                    }
+                });
+                break;
+        }
         vo.setImageList(imageList);
         return vo;
     }
 
+    @Override
+    public void editDataRepairThree(CustomFieldTemplateDataDTO record) {
+        if(StringUtils.isBlank(record.getId())){
+            throw new DeniedException("前端未携带ID");
+        }
+        CustomFieldTemplateData queryData = mapper.selectByPrimaryKey(record.getId());
+        RepairRecordTemplateData dataInfo = JsonUtils.jsonToModel(queryData.getData(),RepairRecordTemplateData.class);
+        if(StringUtils.isNotBlank(record.getRemark())){
+            dataInfo.setRemark(record.getRemark().trim());
+        }
+        // 保存维修记录图片
+        sysFileService.saveFile(record.getId(), SysFileTypeEnum.REPAIR_REPAIR_IMGS.getValue(), record.getImageList());
+        queryData.setData(JsonUtils.objectToJson(dataInfo));
+        mapper.updateByPrimaryKeySelective(queryData);
+    }
+
     private void writeBackToRecord(AbstractPageResultBean<CustomFieldTemplateDataVO> pageInfos){
         for(CustomFieldTemplateDataVO vo : pageInfos.getRows()){
             RepairRecordTemplateData data = JsonUtils.jsonToModel(vo.getData(),RepairRecordTemplateData.class);
@@ -196,4 +232,13 @@ public class CustomFieldTemplateDataServiceImpl extends BaseServiceImpl<CustomFi
             vo.setStatus(data.getStatus());
         }
     }
+
+    private void writeBackToVerify(AbstractPageResultBean<CustomFieldTemplateDataVO> pageInfos){
+        for(CustomFieldTemplateDataVO vo : pageInfos.getRows()){
+            RepairVerifyRecordTemplateData data = JsonUtils.jsonToModel(vo.getData(),RepairVerifyRecordTemplateData.class);
+            vo.setDataRemark(data.getRemark());
+            vo.setStatus(data.getStatus());
+            vo.setType(data.getType());
+        }
+    }
 }

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

@@ -7,6 +7,7 @@ import com.platform.common.util.*;
 import com.platform.dao.dto.repair.RepairApplicationFormDTO;
 import com.platform.dao.dto.repair.RepairRecordTemplateData;
 import com.platform.dao.dto.repair.RepairStatusTemplateData;
+import com.platform.dao.dto.repair.RepairVerifyRecordTemplateData;
 import com.platform.dao.dto.upms.SysUserDTO;
 import com.platform.dao.entity.customize.CustomFieldTemplateData;
 import com.platform.dao.entity.repair.RepairApplicationForm;
@@ -91,6 +92,29 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         return null;
     }
 
+    /**
+     * 记录审核
+     * @param form
+     */
+    private void addRepairVerifyRecord(RepairApplicationFormDTO form,Integer status,Integer type){
+        CustomFieldTemplateData data = new CustomFieldTemplateData();
+        data.setId(IdGeneratorUtils.getObjectId());
+        data.setObjId(form.getId());
+        data.setCreatedTime(LocalDateTime.now());
+        data.setCreatedUserId(SecurityUtils.getUserInfo().getUserId());
+        data.setCreatedUserName(SecurityUtils.getUserInfo().getUsername());
+        data.setRemark(CommonConstants.REPAIR_VERIFY_RECORD);
+        RepairVerifyRecordTemplateData dataInfo = new RepairVerifyRecordTemplateData();
+        dataInfo.setRemark(form.getRemark());
+        dataInfo.setStatus(status);
+        dataInfo.setType(type);
+        data.setData(JsonUtils.objectToJson(dataInfo));
+        data.setDelFlag(0);
+        customFieldTemplateDataMapper.insert(data);
+        // 保存维修记录图片
+        sysFileService.saveFile(data.getId(), SysFileTypeEnum.REPAIR_CHECK_IMGS.getValue(), form.getVerifyImages());
+    }
+
     /**
      * 记录维修状态
      * @param form
@@ -245,6 +269,8 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         RepairApplicationForm form = super.submitRepair(model);
         // 添加状态跟踪
         addRepairStatusRecord(form,"待生产确认");
+        // 添加审核记录
+        addRepairVerifyRecord(model,CommonConstants.STATUS_VERIFY_PASS, CommonConstants.TYPE_REPAIR_MANAGER_VERIFY);
         // 通知报修人(生产审核)
         sendMessageToRepairCaller(BeanConverterUtil.copyObjectProperties(form,RepairApplicationFormDTO.class),CommonConstants.CALL_REPAIR_SUCCESS);
         return form;
@@ -260,6 +286,8 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         RepairApplicationForm form = repairApplicationFormMapper.selectById(model.getId());
         // 添加跟踪状态
         addRepairStatusRecord(form,"维修完成");
+        // 添加审核记录
+        addRepairVerifyRecord(model,CommonConstants.STATUS_VERIFY_PASS, CommonConstants.TYPE_CALLER_VERIFY);
         // 通知主管,是否通知维修人
         SysUserVO vo = BeanConverterUtil.copyObjectProperties(sysUserMapper.selectByPrimaryKey(form.getDispatchUserId()),SysUserVO.class);
         sendMessageToRepairManger(form,vo,CommonConstants.CALL_REPAIR_FINISH);
@@ -271,6 +299,8 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         RepairApplicationForm form = repairApplicationFormMapper.selectById(model.getId());
         // 添加跟踪状态
         addRepairStatusRecord(form,"生产驳回");
+        // 添加审核记录
+        addRepairVerifyRecord(model,CommonConstants.STATUS_VERIFY_REFUSED, CommonConstants.TYPE_CALLER_VERIFY);
         // 通知主管,再次派工维修
         SysUserVO vo = BeanConverterUtil.copyObjectProperties(sysUserMapper.selectByPrimaryKey(form.getDispatchUserId()),SysUserVO.class);
         sendMessageToRepairManger(form,vo,CommonConstants.CALL_REPAIR_FAIL);