From 668137140bca5894b8a98e08414109d8f8cca070 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期二, 15 十月 2024 15:26:02 +0800
Subject: [PATCH] 1、原片仓储逻辑完成90% 2、liquibase配置更改

---
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java |   52 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 43 insertions(+), 9 deletions(-)

diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
index 6040484..66e13c4 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
@@ -136,6 +136,10 @@
         }
         //褰撳墠灏哄闇�瑕佷笂鐗囩殑鏁伴噺
         List<UpPattenUsageVO> pattenUsageList = upPattenUsageMapper.queryRawGlassByEngineeringId(engineering.getEngineerId());
+        if (CollectionUtils.isEmpty(pattenUsageList)) {
+            log.info("姝e湪鎵ц鐨勫伐绋嬪師鐗囨棤鍙笂鐗囩殑鍘熺墖淇℃伅");
+            return;
+        }
         Map<String, List<UpPattenUsageVO>> upListMap = pattenUsageList.stream()
                 .collect(Collectors.groupingBy(UpPattenUsageVO::getGroupNumber));
         //todo:鎸夌収宸ョ▼鍙锋寜鐓у伐绋嬩笅鏈畬鎴愮殑灏哄鐨勯『搴忥紝褰�1鍙蜂笂鐗囦綅鏋跺瓙涓婄殑褰撳墠灏哄鐜荤拑灏戜簬3鐗囦笖2鍙蜂笂鐗囦綅鏃犲師鐗囩幓鐠冿紝鍒欏皢鍘昏皟搴︾幓鐠冨幓2鍙蜂笂鐗囦綅锛�
@@ -145,6 +149,18 @@
                 .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN).in(RawGlassStorageDetails::getSlotId, loadGlassStation));
         if (CollectionUtils.isEmpty(rawGlassDetailsList)) {
             //琛ㄧず1涓婄墖浣嶆病鏈夊師鐗囷紝鐩存帴鎵惧師鐗囨斁鍏ュ搴旂殑涓婄墖浣�
+            List<UpPattenUsageVO> upPattenUsage01VOS = upListMap.get("1");
+            UpPattenUsageVO usageVO = upPattenUsage01VOS.get(0);
+            RawGlassStorageDetails details = rawGlassStorageDetailsService.getOne(new LambdaQueryWrapper<RawGlassStorageDetails>()
+                    .eq(RawGlassStorageDetails::getFilmsId, usageVO.getFilmsId())
+                    .eq(RawGlassStorageDetails::getPatternWidth, usageVO.getWidth())
+                    .eq(RawGlassStorageDetails::getPatternHeight, usageVO.getHeight())
+                    .eq(RawGlassStorageDetails::getPatternThickness, usageVO.getThickness())
+                    .gt(RawGlassStorageDetails::getRemainQuantity, upPattenUsage01VOS.size())
+                    .orderByAsc(RawGlassStorageDetails::getRemainQuantity)
+                    .last("limit 1")
+            );
+            generateTask(details.getSlotId(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
             //缁撴潫璋冨害浠诲姟
         }
         Map<Integer, List<RawGlassStorageDetails>> listMap = rawGlassDetailsList.stream().collect(Collectors.groupingBy(RawGlassStorageDetails::getSlotId));
@@ -156,23 +172,41 @@
         if (null == rawGlass03Details) {
             if (null == rawGlass04Details) {
                 //琛ㄧず1涓婄墖浣嶆病鏈夊師鐗囷紝鐩存帴鎵惧師鐗囨斁鍏ュ搴旂殑涓婄墖浣�
+                List<UpPattenUsageVO> upPattenUsage01VOS = upListMap.get("1");
+                UpPattenUsageVO usageVO = upPattenUsage01VOS.get(0);
+                RawGlassStorageDetails details = rawGlassStorageDetailsService.getOne(new LambdaQueryWrapper<RawGlassStorageDetails>()
+                        .eq(RawGlassStorageDetails::getFilmsId, usageVO.getFilmsId())
+                        .eq(RawGlassStorageDetails::getPatternWidth, usageVO.getWidth())
+                        .eq(RawGlassStorageDetails::getPatternHeight, usageVO.getHeight())
+                        .eq(RawGlassStorageDetails::getPatternThickness, usageVO.getThickness())
+                        .gt(RawGlassStorageDetails::getRemainQuantity, upPattenUsage01VOS.size())
+                        .orderByAsc(RawGlassStorageDetails::getRemainQuantity)
+                        .last("limit 1")
+                );
+                generateTask(details.getSlotId(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
                 //缁撴潫璋冨害浠诲姟
             } else {
                 //灏�2鍙蜂笂鐗囦綅鐨勫師鐗囨斁鍏�1鍙蜂笂鐗囦綅
+                generateTask(2, 1, rawGlass04Details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
                 //缁撴潫璋冨害浠诲姟
             }
         } else {
-            //鍘熺墖鍓╀綑鏁伴噺
-            Integer quantity = rawGlass03Details.getRemainQuantity();
-            List<UpPattenUsageVO> upPattenUsage01VOS = upListMap.get("1");
             if (null == rawGlass04Details) {
-                //todo:鍒ゆ柇2鍙蜂笂鐗囦綅闇�瑕佺殑鍘熺墖淇℃伅
-                if (quantity < upPattenUsage01VOS.size()) {
-                    //todo:缁х画涓婁竴鍙蜂笂鐗囦綅褰撳墠鐨勫昂瀵�
-                } else {
-                    //todo:鍒囨崲灏哄锛屼笂鍚庣画缁勭殑灏哄
-                    List<UpPattenUsageVO> upPattenUsage02VOS = upListMap.get("2");
+                List<UpPattenUsageVO> upPattenUsage01VOS = upListMap.get("2");
+                if (CollectionUtils.isEmpty(upPattenUsage01VOS)) {
+                    return;
                 }
+                UpPattenUsageVO usageVO = upPattenUsage01VOS.get(0);
+                RawGlassStorageDetails details = rawGlassStorageDetailsService.getOne(new LambdaQueryWrapper<RawGlassStorageDetails>()
+                        .eq(RawGlassStorageDetails::getFilmsId, usageVO.getFilmsId())
+                        .eq(RawGlassStorageDetails::getPatternWidth, usageVO.getWidth())
+                        .eq(RawGlassStorageDetails::getPatternHeight, usageVO.getHeight())
+                        .eq(RawGlassStorageDetails::getPatternThickness, usageVO.getThickness())
+                        .gt(RawGlassStorageDetails::getRemainQuantity, upPattenUsage01VOS.size())
+                        .orderByAsc(RawGlassStorageDetails::getRemainQuantity)
+                        .last("limit 1")
+                );
+                generateTask(details.getSlotId(), 2, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
             }
         }
 

--
Gitblit v1.8.0