Ver código fonte

维修完善

guarantee-lsq 2 anos atrás
pai
commit
7dec9675ce

+ 0 - 1
platform-dao/src/main/resources/mapper/repair/RepairApplicationFormMapper.xml

@@ -295,7 +295,6 @@
         update t_repair_application_form
         <set>
             repair_user_id = null,
-            repair_user_name = null,
             <if test="remark != null">
                 remark = #{remark},
             </if>

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

@@ -230,6 +230,20 @@ public class RepairApplicationFormController {
         return new R<>();
     }
 
+    /**
+     * 维修人申请转派,自己搞不定了
+     * @param repairFormDTO 维修单DTO
+     * @return R
+     */
+    @SysLog("派工维修单")
+    @PutMapping("/personal/stop/{id}")
+    //@PreAuthorize("@pms.hasPermission('repair-application-forms-dispatch')")
+    public R personalStop(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairFormDTO) {
+        repairFormDTO.setId(id);
+        RepairStrategyFactory.getStrategy().stopRepairByPerson(repairFormDTO);
+        return new R<>();
+    }
+
     /**
      * 接收维修单
      *

+ 7 - 2
platform-rest/src/main/resources/templates/repairEmail.ftl

@@ -1,2 +1,7 @@
-有新的报修单等待处理.维修单号:${no},设备名称:${sbName},设备编号:${sbNo},位置:${sbCph},报修人:${actualUser},故障描述:${repairDesc}
-
+有新的报修单等待处理。
+维修单号:${no}<br/>
+设备名称:${sbName}\n
+设备编号:${sbNo}\r
+位置:${sbCph}
+报修人:${actualUser}
+故障描述:${repairDesc}

+ 4 - 3
platform-service/src/main/java/com/platform/service/repair/strategy/AbstractRepairBaseStrategy.java

@@ -122,7 +122,7 @@ public abstract class AbstractRepairBaseStrategy implements RepairBaseStrategy{
         RepairApplicationForm applicationForm = repairApplicationFormMapper.selectById(id);
         if (!RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue().equals(applicationForm.getStatus()) &&
                 !RepairApplicationFormStatusEnum.REBACK.getValue().equals(applicationForm.getStatus()) &&
-                !RepairApplicationFormStatusEnum.REPAIR_FAIL.equals(applicationForm.getStatus())) {
+                !RepairApplicationFormStatusEnum.REPAIR_FAIL.getValue().equals(applicationForm.getStatus())) {
             throw new BusinessException("该状态不允许接收任务");
         }
         SbInfo sbInfo = sbInfoService.getModelById(applicationForm.getSbId());
@@ -147,9 +147,10 @@ public abstract class AbstractRepairBaseStrategy implements RepairBaseStrategy{
         if (applicationForm.getRepairEndTime() == null) {
             applicationForm.setRepairEndTime(LocalDateTime.now());
         }
-        if (dto.getRepairEndTime() != null) {
+        dto.setRepairEndTime(applicationForm.getRepairEndTime());
+        /*if (dto.getRepairEndTime() != null) {
             applicationForm.setRepairEndTime(dto.getRepairEndTime());
-        }
+        }*/
         //applicationForm.setRepairMinutes(DateUtils.getDurationHours(applicationForm.getRepairStartTime(), applicationForm.getRepairEndTime()));
         applicationForm.setDealMinutes(DateUtils.getDurationHours(applicationForm.getApplyTime(), applicationForm.getRepairEndTime()));
         // 根据配置判断维修是否超时

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

@@ -192,14 +192,14 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         updRepair.setId(model.getId());
         updRepair.setRemark(model.getRemark());
         updRepair.setStatus(RepairApplicationFormStatusEnum.REPAIR_FAIL.getValue());
-        updRepair.setRepairMinutes(form.getRepairMinutes() + hours);
-        updRepair.setRepairUserName(null);
+        double repairMinutes = form.getRepairMinutes() == null ? 0.0 : form.getRepairMinutes();
+        updRepair.setRepairMinutes(repairMinutes + hours);
         updRepair.setRepairUserId(null);
         repairApplicationFormMapper.updateLongYan(updRepair);
         // 3、状态记录表
         addRepairStatusRecord(updRepair,"维修转派中");
         // 4、通知维修主管
-        sendMessageToRepairManger(form,BeanConverterUtil.copyObjectProperties(sysUserMapper.selectByPrimaryKey(model.getDispatchUserId()),SysUserVO.class),CommonConstants.REPAIR_FAIL_NOTICE);
+        sendMessageToRepairManger(form,BeanConverterUtil.copyObjectProperties(sysUserMapper.selectByPrimaryKey(form.getDispatchUserId()),SysUserVO.class),CommonConstants.REPAIR_FAIL_NOTICE);
     }
 
     /**
@@ -286,7 +286,7 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         // 获取维修记录
         Weekend<CustomFieldTemplateData> weekend = new Weekend<>(CustomFieldTemplateData.class);
         WeekendCriteria<CustomFieldTemplateData, Object> weekendCriteria = weekend.weekendCriteria();
-        weekendCriteria.andEqualTo(CustomFieldTemplateData::getRemark,CommonConstants.REPAIR_STATUS_RECORD)
+        weekendCriteria.andEqualTo(CustomFieldTemplateData::getRemark,CommonConstants.REPAIR_RECORD)
                 .andEqualTo(CustomFieldTemplateData::getObjId,form.getId()).
                 andEqualTo(CustomFieldTemplateData::getCreatedUserId,form.getRepairUserId());
         weekend.orderBy("createdTime").desc();
@@ -305,24 +305,6 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         dataInfo.setRemark(form.getRemark());
         // 保存维修记录图片
         sysFileService.saveFile(queryData.getId(), SysFileTypeEnum.REPAIR_REPAIR_IMGS.getValue(), form.getRepairFileList());
-        /*switch (type){
-            case CommonConstants.REPAIR_RECORD_EDIT_STOP: // 终止维修,计算时长
-                updData.setUpdateTime(LocalDateTime.now());
-                hours = DateUtils.getDurationHours(queryData.getCreatedTime(), updData.getUpdateTime());
-                dataInfo.setRepairMinutes(hours);
-                dataInfo.setRemark(form.getRemark());
-                //dataInfo.setImageList(form.getImageList());
-                //dataInfo.setFile(form.getFile());
-                break;
-            case CommonConstants.REPAIR_RECORD_EDIT_ADD:    // 完成维修
-                updData.setUpdateTime(LocalDateTime.now());
-                hours = DateUtils.getDurationHours(queryData.getCreatedTime(), updData.getUpdateTime());
-                dataInfo.setRepairMinutes(hours);
-                //dataInfo.setImageList(form.getImageList());
-                //dataInfo.setFile(form.getFile());
-                dataInfo.setRemark(form.getRemark());
-                break;
-        }*/
         updData.setData(JsonUtils.objectToJson(dataInfo));
         customFieldTemplateDataMapper.updateByPrimaryKeySelective(updData);
         return hours;
@@ -371,10 +353,12 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
             case CommonConstants.CALL_REPAIR_REFUSED:
                 messageInfo = MessageTemplateUtil.getRefusedReceive(model.getNo(),model.getRemark());
                 values = new String[]{"您提交的报修单已被驳回!",model.getNo(),"报修驳回","","请知悉"};
+                detailType = WorkplaceBacklogDetailTypeEnum.REPAIR_BACK.getValue();
                 break;
             case CommonConstants.CALL_REPAIR_SUCCESS:
                 messageInfo = MessageTemplateUtil.getRepairSuccess(model.getNo());
                 values = new String[]{"您提交的报修单已维修完成!",model.getNo(),"报修完成","","请知悉"};
+                detailType = WorkplaceBacklogDetailTypeEnum.REPAIR_FINISH.getValue();
                 break;
         }
         // 1、站内信和email