Просмотр исходного кода

优化调整sql参数 和 还锁逻辑

车车 3 месяцев назад
Родитель
Сommit
21893c50b6

+ 7 - 1
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workdesign/workhandle/WorkflowWorkTicketController.java

@@ -65,9 +65,15 @@ public class WorkflowWorkTicketController {
     }
 
     @PostMapping("/updateBackLock")
-    @Operation(summary = "归还挂锁")
+    @Operation(summary = "归还挂锁(任意时间)")
     public CommonResult<List<BackDataVO>> updateBackLock(@Valid @RequestBody List<HandleLockVO> list) {
         return success(workflowWorkHandleService.updateBackLock(list));
     }
 
+    @PostMapping("/updateLockBack")
+    @Operation(summary = "归还钥匙(任意时间)")
+    public CommonResult<BackDataVO> updateLockBack(@Valid @RequestBody KeyBackVO vo) {
+        return success(workflowWorkHandleService.updateLockBack(vo));
+    }
+
 }

+ 3 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workdesign/workhandle/vo/KeyBackVO.java

@@ -9,6 +9,9 @@ import java.util.List;
 @Data
 public class KeyBackVO {
 
+    @Schema(description = "钥匙目标(0-挂锁 1-解锁)")
+    private Integer target;
+
     @Schema(description = "钥匙nfc")
     private String keyNfc;
 

+ 2 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowWorkHandleService.java

@@ -26,4 +26,6 @@ public interface WorkflowWorkHandleService {
 
     List<BackDataVO> updateBackLock(List<HandleLockVO> list);
 
+    BackDataVO updateLockBack(KeyBackVO vo);
+
 }

+ 15 - 1
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowWorkHandleServiceImpl.java

@@ -184,7 +184,8 @@ public class WorkflowWorkHandleServiceImpl implements WorkflowWorkHandleService
                                 .eq(WorkflowWorkTicketKeyDO::getNodeId, nodeId)
                                 .eq(WorkflowWorkTicketKeyDO::getKeyNfc, keyNfc)
                                 .set(WorkflowWorkTicketKeyDO::getKeyStatus, "2")
-                                .set(WorkflowWorkTicketKeyDO::getToHardwareCode, keyBackVO.getHardwareCode()));
+                                .set(WorkflowWorkTicketKeyDO::getToHardwareCode, keyBackVO.getHardwareCode())
+                                .set(WorkflowWorkTicketKeyDO::getGiveBackTime, now));
                     }
                 }
             }
@@ -535,5 +536,18 @@ public class WorkflowWorkHandleServiceImpl implements WorkflowWorkHandleService
         return backDataVOList;
     }
 
+    @Override
+    public BackDataVO updateLockBack(KeyBackVO vo) {
+        Assert.notNull(vo.getTarget(), "target不能为空!");
+        BackDataVO backDataVO = new BackDataVO();
+        if (vo.getTarget().equals(0)) {
+            backDataVO = updatePointLock(vo);
+        }
+        if (vo.getTarget().equals(1)) {
+            backDataVO = updatePointUnlock(vo);
+        }
+        return backDataVO;
+    }
+
 
 }

+ 1 - 1
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowWorkServiceImpl.java

@@ -144,7 +144,7 @@ public class WorkflowWorkServiceImpl extends ServiceImpl<WorkflowWorkMapper, Wor
         // 删除
         workflowWorkMapper.deleteByIds(ids);
         // 同时删除解析的作业节点
-        List<WorkflowWorkNodeDO> nodeDOList = workflowWorkNodeService.list(Wrappers.<WorkflowWorkNodeDO>lambdaQuery().eq(WorkflowWorkNodeDO::getWorkId, ids));
+        List<WorkflowWorkNodeDO> nodeDOList = workflowWorkNodeService.list(Wrappers.<WorkflowWorkNodeDO>lambdaQuery().in(WorkflowWorkNodeDO::getWorkId, ids));
         if (!nodeDOList.isEmpty()) {
             List<Long> nodeIds = nodeDOList.stream().map(WorkflowWorkNodeDO::getId).toList();
             // 删除key