Kaynağa Gözat

处理线边库功能机制

oyq28 2 hafta önce
ebeveyn
işleme
5f85823f47

+ 2 - 2
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskNodeServiceImpl.java

@@ -2052,7 +2052,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
             } else {
                 // 线边库暂存放到设备上释放资源
                 if (StringUtils.isNotBlank(robotType)) {
-                    if ("5".equals(robotStep)) {
+                    if ("0".equals(robotStep)) {
                         logger.info("节点{}线边库暂存后放到设备完成后释放占用的资源", taskNode.getId());
 
                         String jqrHcwPartPriotyExec =
@@ -2102,7 +2102,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                         }
                     }
                 } else {
-                    if ("1".equals(robotStep)) {
+                    if ("0".equals(robotStep)) {
                         logger.info("节点{}线边库暂存后放到设备完成后释放占用的资源", taskNode.getId());
                         List<Storge> storgeList = storgeService.list(Wraps.<Storge>lbQ().eq(Storge::getCampId,
                                 taskNode.getId()));

+ 14 - 3
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/strategy/impl/CacheRobotStrategy.java

@@ -224,11 +224,19 @@ public class CacheRobotStrategy implements RobotStrategy {
             }
         }
         //锁定暂存缓存位库位
-        Storge hcwStorge = storgeService.getById(hcwList.get(0).getStorgeId());
-        hcwStorge.setCompleteBatchNo(taskNode.getCompleteBatchNo());
+
         startStorge.setCompleteBatchNo(taskNode.getCompleteBatchNo());
-        storgeService.lockStorge(hcwStorge, taskNode.getId());
         storgeService.lockStorge(startStorge, taskNode.getId());
+        //判断暂存库位作为库位起始位
+        List<ProductionresourcePosition> hcwFilter = hcwList.stream().filter(p -> p.getPointId().equals(startStorge.getPointId())).collect(Collectors.toList());
+        Storge hcwStorge = null;
+        if(hcwFilter.size() == 0) {
+             hcwStorge = storgeService.getById(hcwList.get(0).getStorgeId());
+             hcwStorge.setCompleteBatchNo(taskNode.getCompleteBatchNo());
+             storgeService.lockStorge(hcwStorge, taskNode.getId());
+        }else{
+            hcwStorge = startStorge;
+        }
 
         //暂存位线边库判断
         if (hcwList.size() > 1 && targetXbk.equals("1")) {
@@ -242,6 +250,9 @@ public class CacheRobotStrategy implements RobotStrategy {
             //锁定目标线边库库位
             targetStorge.setCompleteBatchNo(taskNode.getCompleteBatchNo());
             storgeService.lockStorge(targetStorge, taskNode.getId());
+
+
+
             if (targetXbk.equals("0")) {
                 //目标缓存
                 msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_STORE + taskNode.getId(), targetStorge, 10, TimeUnit.DAYS);