Browse Source

Merge branch 'master' of http://106.15.38.8:3000/oyq28/imcs-yj-be

zhuhao 2 years ago
parent
commit
c949030d01

+ 12 - 4
imcs-admin-boot/imcs-authority-server/src/test/java/com/github/zuihou/node/redisTest.java

@@ -44,13 +44,21 @@ public class redisTest {
     @Test
     public void init(){
 
-        //Storge storge = storgeService.getById(1496714685607575552L);
-        //msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_STORE + "1602427292660363270",storge);
+        //Storge storge = storgeService.getById(1497080228478976000L);
+        //msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + DemoLineConstant.YUNJIAN_TARGET_STORE + "1610159827553304589",storge);
+
+        Storge storge2 = storgeService.getById(1497080777182019584L);
+        msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + YunjianConstant.YUNJIAN_HCW + "1610159827553304589",storge2);
+
+        Storge storge3 = storgeService.getById(1497080619560075264L);
+        msgUtil.redis_set(DemoCacheKey.YUNJIAN_CAMP + "_" + YunjianConstant.YUNJIAN_JXS + "1610159827553304589",storge3);
+
+
     }
 
     @Test
     public void test(){
-
+     /*
         JSONObject bizJsonObject = new JSONObject();
         long taskNodeId = 1603326479451975683L;
 
@@ -63,6 +71,6 @@ public class redisTest {
         bizJsonObject.put("handMode", "0");
         bizJsonObject.put(taskNodeId+"count", "0");
         msgUtil.redis_set(YunjianConstant.YUNJIAN_CALLBACK_PARAM + "_" + taskNodeId, bizJsonObject.toJSONString(), 1, TimeUnit.DAYS);
-
+       */
     }
 }

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

@@ -457,7 +457,7 @@ public class StockInfoServiceImpl extends SuperServiceImpl<StockInfoMapper, Stoc
     @Override
     public R<String> meterialStockOut(BomProcedureMeterial bomProcedureMeterial, Long storgeId,String completeBatchNo) {
         Map map = new HashMap();
-        List<StockInfo>list = baseMapper.selectList(Wraps.<StockInfo>lbQ().eq(StockInfo::getStorgeId,storgeId).eq(StockInfo::getGoodsId,bomProcedureMeterial.getMeterialId()).eq(StockInfo::getCompleteBatchNo,completeBatchNo));
+        List<StockInfo>list = baseMapper.selectList(Wraps.<StockInfo>lbQ().eq(StockInfo::getStorgeId,storgeId).eq(StockInfo::getGoodsId,bomProcedureMeterial.getMeterialId()).eq(StockInfo::getGoodsType,"4"));
         if(list==null||list.size()==0){
             return R.fail("没有此产品");
         }

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

@@ -98,4 +98,6 @@ public interface TaskService extends SuperService<TTask> {
     R confirmCode(Map<String, Object> map);
 
     Long getTaskStorge(TTask task);
+
+    R getReloadStatus(Map<String, Object> map);
 }

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

@@ -190,6 +190,9 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
     @Autowired
     private RestTemplate restTemplate;
 
+    @Autowired
+    private TrayService trayService;
+
     //总控IP
     private String ZK_ip = "192.168.1.41";
 
@@ -893,7 +896,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                         task.getProcedureId()));
         List<TTaskStockUniqueCode> stockUniqueCodeList = new ArrayList<TTaskStockUniqueCode>();
         TWorkpiece currWorkpiece = workpieceService.getWorkPiece(taskNode.getId());
-        List<StockInfo> stockInfoList = this.getConnectTray(procedureTrayList, currWorkpiece.getIsReload());
+        List<StockInfo> stockInfoList = this.getConnectTray(procedureTrayList, currWorkpiece, null);
         //获取
         for (StockInfo b : stockInfoList) {
             Long stockId = getStockId(taskNode, autoNode, "0");
@@ -1276,7 +1279,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                 }
             }
             TWorkpiece currWorkpiece = workpieceService.getWorkPiece(bean.getId());
-            List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece.getIsReload());
+            List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece, null);
             List<StockInfo> trayStockList = stockInfoList.stream().filter(stockInfo->stockInfo.getGoodsId().equals(tray.getTrayId())).collect(Collectors.toList());
             isFalse(trayStockList == null || trayStockList.size() == 0, "此码不在库中");
             rkresult = stockInfoService.procedureTrayStockIn(trayStockList.get(0), storgeId, null, bean.getCompleteBatchNo());
@@ -1345,7 +1348,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                 isFalse(oriStorgeId.longValue() == storgeId.longValue(), "此码已经在当前库位,无需移库");
             }
             TWorkpiece currWorkpiece = workpieceService.getWorkPiece(bean.getId());
-            List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece.getIsReload());
+            List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece, null);
             List<StockInfo> trayStockList = stockInfoList.stream().filter(stockInfo->stockInfo.getGoodsId().equals(tray.getTrayId())).collect(Collectors.toList());
             isFalse(trayStockList == null || trayStockList.size() == 0, "此码不在库中");
 
@@ -1931,7 +1934,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                                 task.getProcedureId()).orderByAsc(BomProcedureTray::getBizType));
                 if (trayList != null && trayList.size() > 0) {
                     //毛料出库 清空子盘工装的批次信息
-                    List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece.getIsReload());
+                    List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece, srcStorgeId);
                     stockInfoList.stream().forEach(stockInfo -> {
                         stockInfo.setCompleteBatchNo("");
                     });
@@ -1955,7 +1958,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                             task.getProcedureId()).orderByAsc(BomProcedureTray::getBizType));
             R<String> result = null;
             if (trayList != null && trayList.size() > 0) {
-                List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece.getIsReload());
+                List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece, srcStorgeId);
                 for (StockInfo tray : stockInfoList) {
                     //托盘不用入库
                     if ("1".equals(tray.getGoodsType())) {
@@ -1991,7 +1994,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                             task.getProcedureId()).orderByAsc(BomProcedureTray::getBizType));
             R<String> result = null;
             if (trayList != null && trayList.size() > 0) {
-                List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece.getIsReload());
+                List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece, srcStorgeId);
                 for (StockInfo tray : stockInfoList) {
                     if(StringUtil.isNotEmpty(srcStorgeId)) {
                         result = stockInfoService.procedureTrayStockOut(tray, Long.parseLong(srcStorgeId),
@@ -2021,7 +2024,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                             task.getProcedureId()).orderByAsc(BomProcedureTray::getBizType));
             R<String> result = null;
             if (trayList != null && trayList.size() > 0) {
-                List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece.getIsReload());
+                List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece, srcStorgeId);
                 for (StockInfo trayStock : stockInfoList) {
                     result = stockInfoService.procedureTrayStockOut(trayStock, Long.parseLong(srcStorgeId),
                             task.getCompleteBatchNo());
@@ -2060,7 +2063,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                             task.getProcedureId()).orderByAsc(BomProcedureTray::getBizType));
             R<String> result = null;
             if (trayList != null && trayList.size() > 0) {
-                List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece.getIsReload());
+                List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece, srcStorgeId);
                 for (StockInfo tray : stockInfoList) {
                     result = stockInfoService.procedureTrayStockOut(tray, Long.parseLong(srcStorgeId),
                             task.getCompleteBatchNo());
@@ -2103,7 +2106,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
                             task.getProcedureId()).orderByAsc(BomProcedureTray::getBizType));
             R<String> result = null;
             if (trayList != null && trayList.size() > 0) {
-                List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece.getIsReload());
+                List<StockInfo> stockInfoList = this.getConnectTray(trayList, currWorkpiece, srcStorgeId);
                 for (StockInfo tray : stockInfoList) {
                     if ("1".equals(tray.getGoodsType())) {//托盘不用入库
                         break;
@@ -2787,22 +2790,28 @@ planId));
      *
      * @return
      */
-    private List<StockInfo> getConnectTray(List<BomProcedureTray> bomProcedureTrayList, int isReload){
+    private List<StockInfo> getConnectTray(List<BomProcedureTray> bomProcedureTrayList, TWorkpiece tWorkpiece, String srcStorgeId){
         List<StockInfo> stockInfoList = null;
         List<Long> trayIds = bomProcedureTrayList.stream().map(tray->tray.getTrayId()).collect(Collectors.toList());
         stockInfoList = stockInfoService.list(new LbqWrapper<StockInfo>().in(StockInfo::getGoodsId, trayIds).in(StockInfo::getGoodsType, new String[]{"1","2"}).last("limit 2").orderByAsc(StockInfo::getGoodsType));
-
-        if(CollectionUtil.isNotEmpty(stockInfoList)) {
-            boolean bool = stockInfoList.get(0).getStorgeId().equals(stockInfoList.get(1).getStorgeId());
-            if (!bool) {
-                //已经换装,以工装作为点位参考
-                if (isReload > 0) {
-                    stockInfoList = stockInfoService.list(new LbqWrapper<StockInfo>().eq(StockInfo::getStorgeId, stockInfoList.get(1).getStorgeId()).lt(StockInfo::getGoodsType, "2").orderByAsc(StockInfo::getGoodsType));
-                } else {
-                    //未换装,以子盘作为点位参考
-                    stockInfoList = stockInfoService.list(new LbqWrapper<StockInfo>().eq(StockInfo::getStorgeId, stockInfoList.get(0).getStorgeId()).lt(StockInfo::getGoodsType, "2").orderByAsc(StockInfo::getGoodsType));
+        int isReload = tWorkpiece.getIsReload();
+        boolean bool2 = true;
+        if(srcStorgeId!=null){
+            bool2 = stockInfoList.get(0).getStorgeId().equals(srcStorgeId) || stockInfoList.get(1).getStorgeId().equals(srcStorgeId);
+        }
+        if (CollectionUtil.isNotEmpty(stockInfoList) && bool2) {
+                boolean bool = stockInfoList.get(0).getStorgeId().equals(stockInfoList.get(1).getStorgeId());
+                if (!bool) {
+                    //已经换装,以工装作为点位参考
+                    if (isReload > 0) {
+                        stockInfoList = stockInfoService.list(new LbqWrapper<StockInfo>().eq(StockInfo::getStorgeId, stockInfoList.get(1).getStorgeId()).le(StockInfo::getGoodsType, "2").orderByAsc(StockInfo::getGoodsType));
+                    } else {
+                        //未换装,以子盘作为点位参考
+                        stockInfoList = stockInfoService.list(new LbqWrapper<StockInfo>().eq(StockInfo::getStorgeId, stockInfoList.get(0).getStorgeId()).le(StockInfo::getGoodsType, "2").orderByAsc(StockInfo::getGoodsType));
+                    }
                 }
-            }
+        }else if(!bool2){
+            stockInfoList = stockInfoService.list(new LbqWrapper<StockInfo>().eq(StockInfo::getStorgeId, srcStorgeId).le(StockInfo::getGoodsType, "2").orderByAsc(StockInfo::getGoodsType));
         }
         return stockInfoList;
     }

+ 9 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskServiceImpl.java

@@ -1382,4 +1382,13 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
         StockInfo stockInfo = stockInfoService.getOne(new LbqWrapper<StockInfo>().eq(StockInfo::getGoodsId,trayId));
         return stockInfo.getStorgeId();
     }
+
+    @Override
+    public R getReloadStatus(Map<String, Object> map) {
+        TWorkpiece tWorkpiece = workpieceMapper.selectOne(Wraps.<TWorkpiece>lbQ().eq(TWorkpiece::getTaskNodeId, map.get("taskNodeId").toString()).eq(TWorkpiece::getIsEnd, "0"));
+        if(tWorkpiece==null) return R.fail("零件不存在");
+        Map data = new HashMap();
+        data.put("isReload", tWorkpiece.getIsReload());
+        return R.success(data);
+    }
 }

+ 10 - 8
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/RobotNodeServiceImpl.java

@@ -1234,22 +1234,24 @@ public class RobotNodeServiceImpl implements NodeOperationService {
                 }
             }
         }else{
-            List<StockInfo> stockList = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().in(StockInfo::getGoodsId,trayIdList).orderByAsc(StockInfo::getGoodsType));
+            //List<StockInfo> stockList = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().in(StockInfo::getGoodsId,trayIdList).orderByAsc(StockInfo::getGoodsType));
             Tray currTray = trayService.getById(trayIdList.get(0));
-            List<StockInfo> currStockList = stockInfoMapper.selectList(new LbqWrapper<StockInfo>().eq(StockInfo::getStorgeId, stockList.get(1).getStorgeId()));
-            Tray stockTray = trayService.getById(currStockList.get(0).getGoodsId());
+            //List<StockInfo> currStockList = stockInfoMapper.selectList(new LbqWrapper<StockInfo>().le(StockInfo::getGoodsType,"2").eq(StockInfo::getStorgeId, stockList.get(1).getStorgeId()));
+            //Tray stockTray = trayService.getById(currStockList.get(0).getGoodsId());
             //判断是否已经翻面
-            if(stockTray.getFiveAxis().equals(0)){
+            if(currTray.getFiveAxis().equals(0)){
                 // 获取三轴同类型子盘和工装
-                Tray otherTray = trayService.list(new LbqWrapper<Tray>().eq(Tray::getProductionType, currTray.getProductionType()).eq(Tray::getFiveAxis, 0)).get(0);
-                StockInfo otherStock = stockInfoMapper.selectOne(new LbqWrapper<StockInfo>().eq(StockInfo::getGoodsId, otherTray.getId()).in(StockInfo::getStorgeId,startProductionresourcePositionIds));
+                //Tray otherTray = trayService.list(new LbqWrapper<Tray>().eq(Tray::getProductionType, currTray.getProductionType()).ne(Tray::getId, stockTray.getId()).eq(Tray::getFiveAxis, 0)).get(0);
+                List<Long> otherTrayIds = trayService.list(new LbqWrapper<Tray>().eq(Tray::getProductionType, currTray.getProductionType()).eq(Tray::getFiveAxis, 0)).stream().map(t->t.getId()).collect(Collectors.toList());;
+                StockInfo otherStock = stockInfoMapper.selectOne(new LbqWrapper<StockInfo>().in(StockInfo::getGoodsId, otherTrayIds).in(StockInfo::getStorgeId,startProductionresourcePositionIds));
                 if(otherStock!=null){
                     returnList = stockInfoMapper.selectList(new LbqWrapper<StockInfo>().eq(StockInfo::getStorgeId, otherStock.getStorgeId()));
                 }
             }else{
                 //翻面获取五轴同类型子盘和工装
-                Tray axisTray = trayService.list(new LbqWrapper<Tray>().eq(Tray::getProductionType, currTray.getProductionType()).eq(Tray::getFiveAxis, 1)).get(0);
-                StockInfo axisStock = stockInfoMapper.selectOne(new LbqWrapper<StockInfo>().eq(StockInfo::getGoodsId, axisTray.getId()).in(StockInfo::getStorgeId,startProductionresourcePositionIds));
+                //Tray axisTray = trayService.list(new LbqWrapper<Tray>().eq(Tray::getProductionType, currTray.getProductionType()).ne(Tray::getId, stockTray.getId()).eq(Tray::getFiveAxis, 1)).get(0);
+                List<Long> axisTrayIds = trayService.list(new LbqWrapper<Tray>().eq(Tray::getProductionType, currTray.getProductionType()).eq(Tray::getFiveAxis, 1)).stream().map(t->t.getId()).collect(Collectors.toList());;
+                StockInfo axisStock = stockInfoMapper.selectOne(new LbqWrapper<StockInfo>().in(StockInfo::getGoodsId, axisTrayIds).in(StockInfo::getStorgeId,startProductionresourcePositionIds));
                 if(axisStock!=null) {
                     returnList = stockInfoMapper.selectList(new LbqWrapper<StockInfo>().eq(StockInfo::getStorgeId, axisStock.getStorgeId()));
                 }

+ 6 - 0
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/operationManagementCenter/TaskController.java

@@ -228,4 +228,10 @@ public class TaskController extends SuperController<TaskService, Long, TTask, TT
     public R confirmCode(@RequestBody Map<String,Object> map) {
         return baseService.confirmCode(map);
     }
+
+    @PostMapping("/getReloadStatus")
+    public R getReloadStatus(@RequestBody Map<String,Object> map) {
+        return baseService.getReloadStatus(map);
+    }
+
 }