浏览代码

巡检优化

2 年之前
父节点
当前提交
e36dfd47ae

+ 8 - 0
platform-dao/src/main/java/com/platform/dao/dto/fill/FillGatherTaskDTO.java

@@ -24,6 +24,14 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class FillGatherTaskDTO extends BaseDTO implements Serializable {
+    /**
+     * 明细id集合
+     */
+    private List<String> detailIds;
+    /**
+     * 是否新增
+     */
+    private Integer isAdd;
 
     /**
      * 主键

+ 28 - 0
platform-rest/src/main/java/com/platform/rest/controller/fill/FillGatherTaskController.java

@@ -205,4 +205,32 @@ public class FillGatherTaskController {
         return new R<>();
     }
 
+
+    /**
+     * 修改巡检明细记录
+     *
+     * @param fillGatherTaskDTO 巡检任务表DTO
+     * @return R
+     */
+    @SysLog("修改巡检任务明细表")
+    @PostMapping("/update")
+//    @PreAuthorize("@pms.hasPermission('fill-tasks-detail-add')")
+    public R updateDetails( @RequestBody FillGatherTaskDTO fillGatherTaskDTO) {
+        return new R<>(fillGatherTaskService.updateDetails(fillGatherTaskDTO));
+    }
+
+    /**
+     * 修改巡检任务名称
+     *
+     * @param fillGatherTaskDTO 巡检任务表DTO
+     * @return R
+     */
+    @SysLog("修改巡检任务名称")
+    @PutMapping("/update/name")
+//    @PreAuthorize("@pms.hasPermission('fill-tasks-detail-add')")
+    public R updateTaskName( @RequestBody FillGatherTaskDTO fillGatherTaskDTO) {
+        fillGatherTaskService.modModelByDTO(fillGatherTaskDTO);
+        return new R<>();
+    }
+
 }

+ 6 - 0
platform-service/src/main/java/com/platform/service/fill/FillGatherTaskService.java

@@ -15,6 +15,12 @@ import java.util.List;
  * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
  */
 public interface FillGatherTaskService extends IBaseService<FillGatherTask, FillGatherTaskDTO> {
+ /**
+  * 向已有的巡检任务中插入巡检明细
+  * @param dto
+  * @return
+  */
+   int updateDetails(FillGatherTaskDTO dto);
 
    /**
     * 批量删除

+ 39 - 0
platform-service/src/main/java/com/platform/service/fill/impl/FillGatherTaskServiceImpl.java

@@ -53,6 +53,45 @@ public class FillGatherTaskServiceImpl extends BaseServiceImpl<FillGatherTaskMap
     private final FillGatherTaskDetailMapper fillGatherTaskDetailMapper;
     private final SysUserMapper sysUserMapper;
     private final FillUpdateRecordMapper fillUpdateRecordMapper;
+
+    private void deleteDetails(List<String> detailIds){
+        for(int i=0;i<detailIds.size();i++){
+            FillGatherTaskDetail detail = new FillGatherTaskDetail();
+            detail.setId(detailIds.get(i));
+        }
+        fillGatherTaskDetailMapper.deleteByPrimaryKey(detailIds);
+    }
+    @Override
+    public int updateDetails(FillGatherTaskDTO dto) {
+        //先获取勾选设备,更新
+        FillGatherTask task1 =  mapper.selectOne(new FillGatherTask().setId(dto.getId()));
+        FillGatherTask task = new FillGatherTask();
+        task.setId(dto.getId());
+        if (dto.getIsAdd()==0){
+            //删除
+            task.setTotalNum(task1.getTotalNum()-dto.getSbIds().size());
+            task.setWaitNum(task1.getTotalNum()-dto.getSbIds().size());
+            deleteDetails(dto.getDetailIds());
+        }else if (dto.getIsAdd()==1){
+            task.setTotalNum(task1.getTotalNum()+dto.getSbIds().size());
+            task.setWaitNum(task1.getTotalNum()+dto.getSbIds().size());
+            //新增明细,调用saveDetail方法
+            String content = getContentByGatherId(dto.getGatherId());
+            saveDetails(content,dto.getSbIds(),dto.getSortNums(),task.getId());
+        }
+        task.setStatus(FillGatherTaskStatusEnum.PROCESSING.getValue());
+        mapper.updateByPrimaryKey(task);
+        // 3、通知相关人员(巡检人和主管)
+        sendMessageToChecker(task,1);
+        sendMessageToChecker(task,2);
+        // 4、启动超时监控预警信息
+        int initMin = task.getRequireHour()*60;
+        int hours = task.getWarningHour() == null ? initMin + 120 : task.getWarningHour()*60 + initMin;
+        log.info("-----------hours------------"+hours);
+        RedisUtils.setString(RedisKeyConstants.EXPIRE_BUSINESS_KEY_FILL_PREFIX + RedisKeyConstants.EXPIRE_BUSINESS_SEP + task.getId(), task.getId(), hours, TimeUnit.MINUTES);
+        return 0;
+    }
+
     @Override
     public int batchDelete(List<String> ids) {
         Weekend<FillGatherTask> weekend = new Weekend<>(FillGatherTask.class);