Browse Source

刀具取放功能处理

oyq28 3 months ago
parent
commit
c9e8b9f5d6

+ 15 - 8
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/strategy/impl/ToolRobotStrategy.java

@@ -113,15 +113,14 @@ public class ToolRobotStrategy implements RobotStrategy {
         dataMap.put(taskNode.getId().toString() + "count", 0);
         dataMap.put(YunjianConstant.YUNJIAN_ROBORT_CACHE_FLAG, "0");
         Storge startStore = null;
-        TTask task = taskService.getById(taskNode.getTaskId());
         OrderTask orderTask = (OrderTask) robotInfo.get("orderTask");
         if (CollectionUtil.isNotEmpty(flikustockInfos)) {
             //刀具线边库查询
             startStore = storgeService.getById(flikustockInfos.get(0).getStorgeId());
         }else {
-            //硬件设备库位
-            List<ProductionresourcePosition> storgeList = productionresourcePositionService.getFreeProductionresourcePositionByIds(new String[]{task.getResourceId().toString()});
-            startStore = storgeService.getById(storgeList.get(0).getStorgeId());
+            //List<ProductionresourcePosition> storgeList = productionresourcePositionService.getFreeProductionresourcePositionByIds(new String[]{task.getResourceId().toString()});
+            String pointId = orderTask.getStart().replace("CT_", "");
+            startStore = storgeService.getOne(new LbqWrapper<Storge>().eq(Storge::getPointId, pointId).last("LIMIT 1"));
         }
         //CCS判断取条件是否满足
         boolean bool = true;
@@ -133,7 +132,7 @@ public class ToolRobotStrategy implements RobotStrategy {
         }
 
         //处理目标库位
-        returnMap = this.robotTarget(taskNode, robotInfo, null, bomProcedure,returnMap);
+        returnMap = this.robotTarget(taskNode, orderTask.getGoal(), null, bomProcedure,returnMap);
 
         Storge targetStorge = !returnMap.containsKey("store") ? null : (Storge) returnMap.get("store");
         Long targetStorgeResourceId = !returnMap.containsKey("storeResourceId") ? null : Long.valueOf(returnMap.get("storeResourceId").toString());
@@ -207,7 +206,7 @@ public class ToolRobotStrategy implements RobotStrategy {
     }
 
     //获取目标地址
-    public Map robotTarget(TaskNode taskNode, Map robotInfo, List<ProductionresourcePosition> xbkList, BomProcedure bomProcedure, Map<String, Object> returnMap) {
+    public Map robotTarget(TaskNode taskNode, String goal, List<ProductionresourcePosition> xbkList, BomProcedure bomProcedure, Map<String, Object> returnMap) {
         List<ProductionresourcePosition> targetList = null;
         Long targetResourceId = taskNode.getTargetResourceId();
         if(targetResourceId == null){
@@ -225,8 +224,16 @@ public class ToolRobotStrategy implements RobotStrategy {
             msgUtil.createWarnLog("刀具节点目标位放置条件不满足","DataException");
             return null;
         }
-        Storge targetStorge = storgeService.getById(targetList.get(0).getStorgeId());
-        returnMap.put("storeResourceId", targetList.get(0).getResourceId());
+        //按类型获取目标库位
+        Storge targetStorge = null;
+        if(StringUtil.isNotEmpty(goal)){
+            List<ProductionresourcePosition> poistionList = targetList.stream().filter(item->item.getPointId().equals(goal)).collect(Collectors.toList());
+            targetStorge = storgeService.getById(poistionList.get(0).getStorgeId());
+        }else{
+            targetStorge = storgeService.getById(targetList.get(0).getStorgeId());
+        }
+
+        returnMap.put("storeResourceId", targetResourceId);
         returnMap.put("store", targetStorge);
         returnMap.put("targetxbk", "0");
 

+ 1 - 0
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/edgeLibrary/StorgeController.java

@@ -10,6 +10,7 @@ import com.github.zuihou.business.edgeLibrary.dto.StorgeSaveDTO;
 import com.github.zuihou.business.edgeLibrary.dto.StorgeUpdateDTO;
 import com.github.zuihou.business.edgeLibrary.entity.Shelves;
 import com.github.zuihou.business.edgeLibrary.entity.Storge;
+import com.github.zuihou.business.edgeLibrary.entity.StorgeType;
 import com.github.zuihou.business.edgeLibrary.service.StorgeService;
 import com.github.zuihou.database.mybatis.conditions.Wraps;
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;

+ 16 - 0
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/productionResourceCenter/ProductionresourcePositionController.java

@@ -1,9 +1,11 @@
 package com.github.zuihou.business.controller.productionResourceCenter;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.zuihou.base.request.PageParams;
 import com.github.zuihou.business.edgeLibrary.entity.Shelves;
+import com.github.zuihou.business.edgeLibrary.entity.Storge;
 import com.github.zuihou.business.productionResourceCenter.entity.ProductionresourcePosition;
 import com.github.zuihou.business.productionResourceCenter.dto.ProductionresourcePositionSaveDTO;
 import com.github.zuihou.business.productionResourceCenter.dto.ProductionresourcePositionUpdateDTO;
@@ -90,4 +92,18 @@ public class ProductionresourcePositionController extends SuperController<Produc
         return success(baseService.getRelationLocationList());
     }
 
+    @ApiOperation(value = "查询刀具点位", notes = "查询刀具点位")
+    @PostMapping("/cutToolPositionList")
+    public R<List<ProductionresourcePosition>> cutToolPositionList(@RequestParam String code) {
+        List<ProductionresourcePosition> positionList = baseService.getFreeProductionresourcePositionByNos(new String[]{code});
+        List<ProductionresourcePosition> dataList = positionList.stream().filter(item->item.getName().contains("刀库位") || item.getName().contains("刀具")).collect(Collectors.toList());
+        return success(dataList);
+    }
+
+    @ApiOperation(value = "获取刀具设备点位", notes = "获取刀具设备点位")
+    @PostMapping("/getCutToolDevice")
+    public R<ProductionresourcePosition> getCutToolDevice(@RequestParam String pointId) {
+        ProductionresourcePosition position = baseService.getOne(new LambdaQueryWrapper<ProductionresourcePosition>().eq(ProductionresourcePosition::getStatus,"0").eq(ProductionresourcePosition::getPointId, pointId).last("LIMIT 1"));
+        return success(position);
+    }
 }

+ 2 - 2
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/productionResourceCenter/StationUserController.java

@@ -219,9 +219,9 @@ public class StationUserController extends SuperController<StationUserService, L
         params.put("orderProductList", orderProductList);
 
         Order order = orderService.save(params);
-        String goal = model.containsKey("goal")? model.get("goal").toString() : "BZ_367";
+        //String goal = model.containsKey("goal")? model.get("goal").toString() : "BZ_367";
         OrderTask orderTask = OrderTask.builder().orderId(order.getId())
-                .hasMaterial("0").isMachine("0").isXbk("1").start(model.get("start").toString()).goal(goal)
+                .hasMaterial("0").isMachine("0").isXbk("1").start(model.get("start").toString()).goal(model.get("goal").toString())
                 .cutStartNo(model.get("cutStartNo").toString()).cutGoalNo(model.get("cutStartNo").toString())
                 .build();
         orderTaskService.save(orderTask);