Bläddra i källkod

创建删除子盘夹具增加先手顺序校验

yejian 3 år sedan
förälder
incheckning
01943f151c

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

@@ -631,6 +631,19 @@ public class StockInfoServiceImpl extends SuperServiceImpl<StockInfoMapper, Stoc
 
     @Override
     public R manualStockOut(String goodsId, Long storgeId, String category) {
+        if("2".equals(category)){
+            List<StockInfo> list  = baseMapper.selectList(Wraps.<StockInfo>lbQ().eq(StockInfo::getStorgeId,storgeId).eq(StockInfo::getUniqueCode,goodsId).ne(StockInfo::getGoodsType,category));
+            if(CollectionUtil.isNotEmpty(list)){
+                return R.fail("请先删除原料夹具");
+            }
+        }
+        if("1".equals(category)){
+            List<StockInfo> list  = baseMapper.selectList(Wraps.<StockInfo>lbQ().eq(StockInfo::getStorgeId,storgeId).eq(StockInfo::getUniqueCode,goodsId).eq(StockInfo::getGoodsType,'4'));
+            if(CollectionUtil.isNotEmpty(list)){
+                return R.fail("请先删除原料");
+            }
+        }
+
         List<StockInfo> list  = baseMapper.selectList(Wraps.<StockInfo>lbQ().eq(StockInfo::getStorgeId,storgeId).eq(StockInfo::getUniqueCode,goodsId).eq(StockInfo::getGoodsType,category));
         if(list==null||list.size()==0){
             return R.fail("没有库存");

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

@@ -1714,7 +1714,11 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
             queryMap.put("pointId", pointId);
             queryMap.put("resourceId", resourceId);
             List<ProductionresourcePosition> list = productionresourcePositionMapper.getStorgeIdByResource(queryMap);
-            R result = R.success();
+
+            if(CollectionUtil.isEmpty(list)){
+                return R.fail("设备点位信息不一致");
+            }
+
             ProductionresourcePosition productionresourcePosition = list.get(0);
             return stockInfoService.manualStockOut(goodsId, productionresourcePosition.getStorgeId(),category);
         }catch (Exception e){
@@ -1740,45 +1744,53 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
 
         List<ProductionresourcePosition> list = productionresourcePositionMapper.getStorgeIdByResource(queryMap);
         R result = R.success();
-        for(ProductionresourcePosition p:list){
-            if("2".equals(category)){//托盘夹具
-                // 查询当前子盘使用的数量,根据出入库日志查询当前的子盘最大数量和库存数量进行比较进行累加
-                Tray tray = trayMapper.selectById(goodsId);
-                String maxTray =  stockInfoMapper.selectMaxNoByProductId(queryMap);
-                int maxTrayNo = 0;
-                if(StringUtils.isBlank(maxTray)){
-                    maxTrayNo = 0;
-                }else{
-                    maxTrayNo = Integer.parseInt(maxTray);
-                }
-                int sumTray = stockInfoMapper.selectSumInStockByProductId(queryMap);
-                BigDecimal uniqueCode;
-                if(sumTray < tray.getNum()){
-                    uniqueCode = BigDecimal.valueOf(maxTrayNo).add(new BigDecimal(1));
-                }else{
-                    return R.fail("当前托盘数量已用完");
-                }
-                result = stockInfoService.procedureTrayStockIn(uniqueCode, Long.valueOf(goodsId), list.get(0).getStorgeId());
-            }else if("1".equals(category)){
-                // 判断创建夹具之前
-
-                // 查询当前夹具使用的数量,根据出入库日志查询当前的夹具最大数量和库存数量进行比较进行累加
-                MToolClamp mToolClamp = mToolClampMapper.selectById(goodsId);
-                String maxMToolClamp = stockInfoMapper.selectMaxNoByProductId(queryMap);
-                int maxMToolClampNo = 0;
-                if(StringUtils.isBlank(maxMToolClamp)){
-                    maxMToolClampNo = 0;
-                }else{
-                    maxMToolClampNo = Integer.parseInt(maxMToolClamp);
-                }
-                int sumMToolClamp = stockInfoMapper.selectSumInStockByProductId(queryMap);
-                BigDecimal uniqueCode;
-                if(sumMToolClamp < mToolClamp.getNum()){
-                    uniqueCode = BigDecimal.valueOf(maxMToolClampNo).add(new BigDecimal(1));;
-                }else{
-                    return R.fail("当前夹具数量已用完");
+        if(CollectionUtil.isEmpty(list)){
+            return R.fail("设备点位信息不一致");
+        }else{
+            for(ProductionresourcePosition p:list){
+                if("2".equals(category)){//托盘夹具
+                    // 查询当前子盘使用的数量,根据出入库日志查询当前的子盘最大数量和库存数量进行比较进行累加
+                    Tray tray = trayMapper.selectById(goodsId);
+                    String maxTray =  stockInfoMapper.selectMaxNoByProductId(queryMap);
+                    int maxTrayNo = 0;
+                    if(StringUtils.isBlank(maxTray)){
+                        maxTrayNo = 0;
+                    }else{
+                        maxTrayNo = Integer.parseInt(maxTray);
+                    }
+                    int sumTray = stockInfoMapper.selectSumInStockByProductId(queryMap);
+                    BigDecimal uniqueCode;
+                    if(sumTray < tray.getNum()){
+                        uniqueCode = BigDecimal.valueOf(maxTrayNo).add(new BigDecimal(1));
+                    }else{
+                        return R.fail("当前托盘数量已用完");
+                    }
+                    result = stockInfoService.procedureTrayStockIn(uniqueCode, Long.valueOf(goodsId), list.get(0).getStorgeId());
+                }else if("1".equals(category)){
+                    // 判断创建夹具之前是否已经有子盘
+                    List<StockInfo> stockInfos = stockInfoMapper.selectList(Wraps.<StockInfo>lbQ().eq(StockInfo::getStorgeId, list.get(0).getStorgeId()).eq(StockInfo::getGoodsType,"2"));
+                    if(CollectionUtil.isEmpty(stockInfos)){
+                        return R.fail("请先创建子盘");
+                    }
+
+                    // 查询当前夹具使用的数量,根据出入库日志查询当前的夹具最大数量和库存数量进行比较进行累加
+                    MToolClamp mToolClamp = mToolClampMapper.selectById(goodsId);
+                    String maxMToolClamp = stockInfoMapper.selectMaxNoByProductId(queryMap);
+                    int maxMToolClampNo = 0;
+                    if(StringUtils.isBlank(maxMToolClamp)){
+                        maxMToolClampNo = 0;
+                    }else{
+                        maxMToolClampNo = Integer.parseInt(maxMToolClamp);
+                    }
+                    int sumMToolClamp = stockInfoMapper.selectSumInStockByProductId(queryMap);
+                    BigDecimal uniqueCode;
+                    if(sumMToolClamp < mToolClamp.getNum()){
+                        uniqueCode = BigDecimal.valueOf(maxMToolClampNo).add(new BigDecimal(1));;
+                    }else{
+                        return R.fail("当前夹具数量已用完");
+                    }
+                    result = stockInfoService.procedureToolClampStockIn(uniqueCode, Long.valueOf(goodsId), list.get(0).getStorgeId());
                 }
-                result = stockInfoService.procedureToolClampStockIn(uniqueCode, Long.valueOf(goodsId), list.get(0).getStorgeId());
             }
         }
         return result;