Bladeren bron

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

hfxc226 2 jaren geleden
bovenliggende
commit
800a583663

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

@@ -448,4 +448,13 @@ public class RepairApplicationFormDTO extends BaseDTO implements Serializable {
      * 生产装置  时代思康->甲八车间
      */
     private String sbPosition;
+
+    /**
+     * 计划开始时间
+     */
+    private LocalDateTime planStartTime;
+    /**
+     * 计划结束时间
+     */
+    private LocalDateTime planEndTime;
 }

+ 39 - 5
platform-dao/src/main/java/com/platform/dao/dto/repair/RepairTicketTemplateData.java

@@ -11,6 +11,8 @@ import java.util.List;
 @Data
 public class RepairTicketTemplateData implements Serializable {
 
+    private String id; // 维修ID
+
     /**
      * 报修单号
      */
@@ -28,7 +30,9 @@ public class RepairTicketTemplateData implements Serializable {
 
     private String sbName; // 设备名称
 
-    private String sbLocation; // 设备位置
+    private String sbLocation; // 设备具体位置
+
+    private Integer trustDept; // 委托单位
 
     private String content; // 委托内容描述
 
@@ -38,11 +42,41 @@ public class RepairTicketTemplateData implements Serializable {
 
     private String repairMan; // 维修人
 
-    private String sbPositionName; // 设备所属车间
+    private String sbPositionName; // 生产装置
+
+    private Integer level; // 工作优先级
+
+    private List<Integer> repairProfessor; // 维修专业
+
+    private List<Integer> repairType; // 特殊作业类型
+
+    private String planStartTime;
+
+    private String planEndTime;
+
+    private String repairStartTime;
+
+    private String repairEndTime;
+
+    private String repairMin; // 维修时长
+
+    private List<Integer> repairUnitStatus; // 检修单元状态
+
+    private String trustDeptManager; // 委修主管
+
+    private String validate; // 验收人
+
+    private String repairContent; // 维修工作描述
+
+    private String repairResultContent; // 检修结果描述
+
+    private String exceptionPart; // 故障部位
+
+    private List<Integer> exceptions; // 故障原因勾选
+
+    private String exceptionStr; // 故障原因勾选备注
 
-    private Double requireHours; // 要求时间
+    private String repairManager; // 经理签字
 
-    private String repairProfessor; // 维修专业
 
-    private List<Integer> repairType; // 维修类型
 }

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

@@ -332,14 +332,17 @@ public class RepairApplicationForm implements Serializable {
     /**
      * 生产装置  时代思康->甲八车间
      */
+    @Transient
     private String sbPosition;
 
     /**
      * 计划开始时间
      */
+    @Transient
     private LocalDateTime planStartTime;
     /**
      * 计划结束时间
      */
+    @Transient
     private LocalDateTime planEndTime;
 }

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

@@ -426,4 +426,13 @@ public class RepairApplicationFormVO extends BaseVO implements Serializable {
      * 生产装置  时代思康->甲八车间
      */
     private String sbPosition;
+
+    /**
+     * 计划开始时间
+     */
+    private LocalDateTime planStartTime;
+    /**
+     * 计划结束时间
+     */
+    private LocalDateTime planEndTime;
 }

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

@@ -66,6 +66,14 @@ public class CustomFieldTemplateDataController {
         return new R<>(customFieldTemplateDataService.getTicketById(id));
     }
 
+    @SysLog("修改维修票证数据")
+    @PutMapping("/ticket/{id}")
+    public R updateTicket(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairTicketTemplateData repairTicketTemplateData) {
+        repairTicketTemplateData.setId(id);
+        customFieldTemplateDataService.updateTicketByObjectId(repairTicketTemplateData);
+        return new R<>();
+    }
+
     /**
      * 通过id查询单条记录
      *

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

@@ -83,4 +83,10 @@ public interface CustomFieldTemplateDataService extends IBaseService<CustomField
      * @return
      */
     RepairTicketTemplateData getTicketById(String id);
+
+    /**
+     * 完善票证信息
+     * @param data
+     */
+    void updateTicketByObjectId(RepairTicketTemplateData data);
 }

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

@@ -34,10 +34,7 @@ import tk.mybatis.mapper.weekend.WeekendCriteria;
 
 import java.time.LocalDateTime;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * @Description 自定义报表 service 实现类
@@ -261,35 +258,82 @@ public class CustomFieldTemplateDataServiceImpl extends BaseServiceImpl<CustomFi
             SbInfo sbInfo = sbInfoMapper.selectByPrimaryKey(repairApplicationForm.getSbId());
             data = new RepairTicketTemplateData();
             data.setCaller(sysUserMapper.selectByPrimaryKey(repairApplicationForm.getUserId()).getRealName());
-            if(StringUtils.isNotBlank(sbInfo.getPositionId())){
-                data.setSbPositionName(sbPositionMapper.getById(sbInfo.getPositionId()).getName());
-            }
+            data.setSbPositionName(repairApplicationForm.getSbPosition());
             data.setCallTime(DateUtils.dateToString(repairApplicationForm.getApplyTime(),DateUtils.PATTERN_YMD));
             data.setContent(repairApplicationForm.getContent());
             if(StringUtils.isNotBlank(repairApplicationForm.getDispatchUserId())){
                 data.setDispatcher(sysUserMapper.selectByPrimaryKey(repairApplicationForm.getDispatchUserId()).getRealName());
             }
-            data.setRepairProfessor(repairApplicationForm.getRepairProfessor());
+            // 维修专业
+            String[] arr1 = repairApplicationForm.getRepairProfessor().split(",");
+            List<Integer> arrays1 = ListUtils.newArrayList();
+            for(String s : arr1){
+                arrays1.add(Integer.parseInt(s));
+            }
+            data.setRepairProfessor(arrays1);
+            // 涉及特殊作业类型
             String[] arr = repairApplicationForm.getRepairType().split(",");
             List<Integer> arrays = ListUtils.newArrayList();
             for(String s : arr){
                 arrays.add(Integer.parseInt(s));
             }
             data.setRepairType(arrays);
-            data.setRequireHours(repairApplicationForm.getLimitHours());
+            data.setLevel(repairApplicationForm.getLevel());
             data.setRepairMan(sysUserMapper.selectByPrimaryKey(repairApplicationForm.getRepairUserId()).getRealName());
             data.setRepairNo(repairApplicationForm.getNo());
             data.setSbLocation(repairApplicationForm.getSbCph());
             data.setSbName(sbInfo.getName());
             data.setSbNo(sbInfo.getNo());
+            data.setTrustDept(repairApplicationForm.getTrustDept());
+            data.setPlanStartTime(DateUtils.dateToString(repairApplicationForm.getPlanStartTime(),DateUtils.PATTERN_YMD_HMS));
+            data.setPlanEndTime(DateUtils.dateToString(repairApplicationForm.getPlanEndTime(),DateUtils.PATTERN_YMD_HMS));
             info.setData(JsonUtils.objectToJson(data));
             mapper.insert(info);
         }else{
             data = JsonUtils.jsonToModel(info.getData(),RepairTicketTemplateData.class);
+            RepairApplicationForm form = repairApplicationFormMapper.selectByPrimaryKey(objId);
+            if(StringUtils.isNotBlank(data.getRepairMan())){
+                data.setRepairMan(sysUserMapper.selectByPrimaryKey(form.getRepairUserId()).getRealName());
+            }
+            if(StringUtils.isBlank(data.getRepairStartTime()) && form.getRepairStartTime() != null){
+                data.setRepairStartTime(DateUtils.dateToString(form.getRepairStartTime(),DateUtils.PATTERN_YMD_HMS));
+            }
+            if(StringUtils.isBlank(data.getRepairEndTime()) && form.getRepairEndTime() != null){
+                data.setRepairEndTime(DateUtils.dateToString(form.getRepairEndTime(),DateUtils.PATTERN_YMD_HMS));
+            }
         }
         return data;
     }
 
+    @Override
+    public void updateTicketByObjectId(RepairTicketTemplateData data) {
+        if(StringUtils.isBlank(data.getId())){
+            throw new DeniedException("维修ID不能为空");
+        }
+        // 获取customData
+        CustomFieldTemplateData dataQuery = new CustomFieldTemplateData();
+        dataQuery.setObjId(data.getId());
+        dataQuery.setRemark(CommonConstants.REPAIR_TICKET_RECORD);
+        dataQuery = mapper.selectOne(dataQuery);
+        if(dataQuery == null){
+            throw new DeniedException("该项记录不存在,请排查");
+        }
+        RepairTicketTemplateData oldData = JsonUtils.jsonToModel(dataQuery.getData(),RepairTicketTemplateData.class);
+        oldData.setRepairUnitStatus(data.getRepairUnitStatus());
+        oldData.setTrustDeptManager(data.getTrustDeptManager());
+        oldData.setValidate(data.getValidate());
+        oldData.setRepairContent(data.getRepairContent());
+        oldData.setRepairResultContent(data.getRepairResultContent());
+        oldData.setExceptionPart(data.getExceptionPart());
+        oldData.setExceptions(data.getExceptions());
+        oldData.setExceptionStr(data.getExceptionStr());
+        oldData.setRepairManager(data.getRepairManager());
+        CustomFieldTemplateData updInfo = new CustomFieldTemplateData();
+        updInfo.setId(dataQuery.getId());
+        updInfo.setData(JsonUtils.objectToJson(oldData));
+        mapper.updateByPrimaryKeySelective(updInfo);
+    }
+
     private void writeBackToRecord(AbstractPageResultBean<CustomFieldTemplateDataVO> pageInfos){
         for(CustomFieldTemplateDataVO vo : pageInfos.getRows()){
             RepairRecordTemplateData data = JsonUtils.jsonToModel(vo.getData(),RepairRecordTemplateData.class);

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

@@ -100,9 +100,59 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         if(StringUtils.isNotBlank(everyWhereUsers)){
             sendMessageToRepairManger(form,getUserVOs(everyWhereUsers.trim()),CommonConstants.CALL_REPAIR_NOTICE);
         }
+        // 生产票证数据
+        generateTicketData(form);
         return form;
     }
 
+    /**
+     * 生成维修票证数据
+     * @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());
+        }
+        // 维修专业
+        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 List<SysUserVO> getUserVOs(String user){
         String[] users = user.split(",");
         List<SysUserVO> vos = ListUtils.newArrayList();