Explorar el Código

后台业务功能处理

oyq28 hace 1 mes
padre
commit
570c5bef8c

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

@@ -560,7 +560,7 @@ public class StorgeServiceImpl extends SuperCacheServiceImpl<StorgeMapper, Storg
     public long getLikuStockInList() {
         List <StockInfo> returnList = null;
 
-        List<Productionresource> productionresources = productionresourceBizMapper.selectList(Wraps.<Productionresource>lbQ().like(Productionresource::getCode,DictionaryKey.YJ_ZONE_XBK.get("plateAndClamp")));
+        List<Productionresource> productionresources = productionresourceBizMapper.selectList(Wraps.<Productionresource>lbQ().like(Productionresource::getCode,DictionaryKey.YJ_ZONE_XBK.get("涡轴柔性加工单元")));
         List<Long> productionresourceIds = productionresources.stream().map(t->t.getId()).collect(Collectors.toList());
 
         if(CollectionUtil.isEmpty(productionresourceIds)){
@@ -592,7 +592,7 @@ public class StorgeServiceImpl extends SuperCacheServiceImpl<StorgeMapper, Storg
      * @return
      */
     public long getLikuHeightLimitStock(){
-        Productionresource  productionresource = productionresourceBizMapper.selectOne(new LbqWrapper<Productionresource>().eq(Productionresource::getCode, DictionaryKey.YJ_ZONE_XBK.get("plateAndClamp")));
+        Productionresource  productionresource = productionresourceBizMapper.selectOne(new LbqWrapper<Productionresource>().eq(Productionresource::getCode, DictionaryKey.YJ_ZONE_XBK.get("涡轴柔性加工单元")));
         if(null==productionresource) return -1;
         List<ProductionresourcePosition> productionresourcePositionList = productionresourcePositionService.getFreeProductionresourcePositionByIds(new String[]{productionresource.getId().toString()});
         List<Long> storgeIds = productionresourcePositionList.stream().filter(item->{

+ 1 - 1
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/MachineNodeServiceImpl.java

@@ -365,7 +365,7 @@ public class MachineNodeServiceImpl implements NodeOperationService {
                  }
 
                 break;
-            case "smu50":
+            case "smg80":
                 Productionresource productionresource1 =  productionresourceBizMapper.selectOne(Wraps.<Productionresource>lbQ().eq(Productionresource::getId,taskNode.getTargetResourceId()));
                 map.put("url",productionresource1.getIp());
                 map.put("port",productionresource1.getPort());

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

@@ -355,12 +355,13 @@ public class CacheRobotStrategy implements RobotStrategy {
 
         Map returnMap = this.robotTarget(taskNode, robotInfo, xbkList, bomProcedure, dataMap);
         //线边库处理
+        Storge startStore = workpieceService.getWorkPieceStock(taskNode.getCompleteBatchNo(), false);
         Storge targetStorge = !returnMap.containsKey("store") ? null : (Storge) returnMap.get("store");
         Long targetStorgeResourceId = !returnMap.containsKey("storeResourceId") ? null : Long.valueOf(returnMap.get("storeResourceId").toString());
         String targetXbk = !returnMap.containsKey("targetxbk") ? null : returnMap.get("targetxbk").toString();
         String xbkCount = dataMap.containsKey(taskNode.getId()+"count")? dataMap.get(taskNode.getId()+"count").toString(): null;
         //线边库移动判断暂存位是否有空余位置
-        if(targetXbk.equals("0") && robotList.size() == 1){
+        if(targetXbk.equals("0") && robotList.size() == 1 && !startStore.getPointId().contains("MERK")){
             dataMap.put("result", false);
             dataMap.put("resultMsg", "条件判断不通过,暂存位无空闲位置,节点名字"+ taskNode.getNodeName()+"节点id:"+taskNode.getId());
             return dataMap;
@@ -376,6 +377,12 @@ public class CacheRobotStrategy implements RobotStrategy {
                 return dataMap;
             }
             //线边库位置条件不满足
+            //当前库位不在暂存位上,在线边库上
+            if(!startStore.getPointId().contains("MERK")){
+                dataMap.put("result", false);
+                dataMap.put("resultMsg", "条件判断不通过,线边库临时暂存位被占用,节点名字"+ taskNode.getNodeName()+"节点id:"+taskNode.getId());
+                return dataMap;
+            }
 
             //暂存位优先级低的节点目标位线边库模式,当暂存位上只有一块工装时将优先级低调整成优先级高
             Object jqrHcwPartPriotyExec = (null == msgUtil.redis_get(DemoLineConstant.JQR_HCW_PART_PRIOTY_EXEC_FLAG + taskNode.getId())) ? null : msgUtil.redis_get(DemoLineConstant.JQR_HCW_PART_PRIOTY_EXEC_FLAG + taskNode.getId());
@@ -387,7 +394,6 @@ public class CacheRobotStrategy implements RobotStrategy {
                 return dataMap;
             }
         }
-        Storge startStore = workpieceService.getWorkPieceStock(taskNode.getCompleteBatchNo(), false);
         List<ProductionresourcePosition> robotXbkList = productionresourcePositionService.getFreeProductionresourcePositionByIds(new String[]{taskNode.getResourceId().toString()});
         Map putMap = this.robotPut(returnMap, taskNode, startStore, targetStorge, robotXbkList, targetXbk, targetStorgeResourceId);
         return putMap;
@@ -445,12 +451,12 @@ public class CacheRobotStrategy implements RobotStrategy {
         } else {
             // begin modify by yejian on 20220515 for 下料库位问题修改
             TaskNode beforTaskNode = taskNodeService.getNextNTaskNode(taskNode, -1);
-            TaskNode baitingTaskNode = taskNodeService.getNextNTaskNode(beforTaskNode, -1);
+            //TaskNode baitingTaskNode = taskNodeService.getNextNTaskNode(beforTaskNode, -1);
             String bomProcedureType = bomProcedure.getType();
-            boolean condition = bomProcedureType.equals("下料") && "04".equals(baitingTaskNode.getInterfaceType());
+            boolean condition = bomProcedureType.contains("下料") && "04".equals(beforTaskNode.getInterfaceType()) && "4".equals(taskNode.getNodeType());
             //翻面工装下料,节点特殊处理
-            boolean nodeCondition = "4".equals(beforTaskNode.getNodeType()) && bomProcedureType.indexOf("上料") > 0 && taskNode.getNodeName().indexOf("立库") > 0;
-            if (condition || nodeCondition) {
+            //boolean nodeCondition = "4".equals(beforTaskNode.getNodeType()) && bomProcedureType.indexOf("上料") > 0 && taskNode.getNodeName().indexOf("立库") > 0;
+            if (condition) {
                 // 下料特殊处理,动态查找可用立库位子存放下料后的子盘夹具
                 //处理限高工装下料
                 long storgeId = storgeService.isHeightLimit(taskNode.getCompleteBatchNo()) ? storgeService.getLikuHeightLimitStock() : storgeService.getLikuStockInList();

+ 9 - 5
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/edgeLibrary/StockInfoMapper.xml

@@ -204,12 +204,16 @@
         SELECT
           ippp.storge_id
         FROM imcs_p_productionresource_position ippp
+          LEFT JOIN imcs_s_storge iss
+          ON ippp.storge_id = iss.id
           LEFT JOIN imcs_s_stock_info issi
-            ON ippp.storge_id = issi.storge_id
-        WHERE ippp.resource_id IN (${resourceIds})
-        AND issi.storge_id IS NULL
-        AND ippp.status = '0'
-        ORDER BY ippp.storge_id
+          ON ippp.storge_id = issi.storge_id
+        WHERE ippp.status = '0'
+          AND issi.id IS NULL
+          AND iss.lock_status='1'
+          AND iss.status='1'
+          AND ippp.resource_id IN (${resourceIds})
+          ORDER BY ippp.create_time
     </select>
 
     <update id="updateStockInfoByStorgeId">