From bd1709073c25581232fc95089c9b6e0046e9ee22 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期日, 20 十月 2024 21:06:51 +0800
Subject: [PATCH] 原片仓储任务改造

---
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/RawGlassStorageDetails.java                  |   18 --
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java    |    3 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageDetailsMapper.xml                                |    4 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java                  |   17 --
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml                                |    4 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java |   13 +
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/RawGlassStorageTask.java                        |   10 -
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java          |    3 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java                 |    5 
 /dev/null                                                                                                                                    |   35 -----
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java                                                          |   14 ++
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java                                               |  176 +++++++++++++++++++++++++----
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java                                               |    4 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/changelog/changelog.sql                                              |    2 
 14 files changed, 193 insertions(+), 115 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
index 46c9d01..ccd0419 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -198,5 +198,19 @@
     public static final Integer ENGINEERING_NEW = 0;
     public static final Integer ENGINEERING_RUNNING = 1;
 
+    /**
+     * 鍘熺墖浠撳偍浠诲姟绫诲瀷
+     * 鍦ㄧ鍐�100
+     * 鍑虹101
+     * 鍑嗗鍑虹102
+     * 鎵ц涓�103
+     * 鍦ㄨ溅涓�104
+     */
+    public static final Integer RAW_GLASS_STATE_IN = 100;
+    public static final Integer RAW_GLASS_STATE_OUT = 101;
+    public static final Integer RAW_GLASS_STATE_WAIT_OUT = 102;
+    public static final Integer RAW_GLASS_STATE_RUNNING = 103;
+    public static final Integer RAW_GLASS_STATE_CAR = 104;
+
 
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
index c9321fa..b0032a8 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
@@ -96,6 +96,10 @@
      * 澶囨敞
      */
     private String notes;
+    /**
+     * 涓婄墖鏈虹嚎璺�
+     */
+    private String stationCell;
 
 
 }
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 66e13c4..0bf747d 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
@@ -2,11 +2,12 @@
 
 import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.kangaroohy.milo.model.ReadWriteEntity;
+import com.kangaroohy.milo.service.MiloService;
 import com.mes.common.config.Const;
 import com.mes.engineering.entity.Engineering;
 import com.mes.engineering.mapper.EngineeringMapper;
-import com.mes.milo.model.ReadWriteEntity;
-import com.mes.milo.service.MiloService;
 import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
 import com.mes.rawglassstation.entity.RawGlassStorageStation;
@@ -53,8 +54,10 @@
     @Autowired
     private MiloService miloService;
 
-    private static final List<String> liftingStation = Arrays.asList("1", "2");
-    private static final List<String> loadGlassStation = Arrays.asList("3", "4", "5", "6");
+    private static final List<String> LIFTING_STATION = Arrays.asList("4");
+    private static final List<String> LOAD_STATION_01 = Arrays.asList("101", "102");
+    private static final List<String> LOAD_STATION_02 = Arrays.asList("103", "104");
+    private static final List<Integer> LOAD_STATION_MAX = Arrays.asList(102, 104);
 
     /**
      * 鍏ュ簱浠诲姟锛氬悐瑁呬綅鏈夌幓鐠冿紝鍏堝幓宸ヤ綅琛ㄦ煡璇㈢┖鏍煎瓙锛岀敓鎴愬叆搴撲换鍔′粠鍚婅浣嶅埌鐩爣鏍煎瓙
@@ -64,29 +67,38 @@
     @Scheduled(fixedDelay = 1000)
     public void warehouseTask() throws Exception {
         ReadWriteEntity entity = miloService.readFromOpcUa("rawglass.device.request");
-        String value = entity.getValueString();
+        String value = entity.getValue() + "";
         if (!"1".equals(value)) {
             log.info("澶ц溅蹇欑");
             return;
         }
         List<RawGlassStorageDetails> rawGlassList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>()
                 .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN)
-                .inSql(RawGlassStorageDetails::getSlotId, "select slot from raw_glass_storage_station where enable_state = 1 and slot in (1,2)"));
+                .inSql(RawGlassStorageDetails::getSlot, "select slot from raw_glass_storage_station where enable_state = 1 and device_id = 4"));
         if (CollectionUtil.isEmpty(rawGlassList)) {
             log.info("鍚婅浣嶈绂佺敤鎴栨病鏈夌幓鐠�");
             return;
         }
         //鏌ヨ宸ヤ綅淇℃伅鏄惁鏈�
-        List<RawGlassStorageStation> stationList = rawGlassStorageStationService.list(new LambdaQueryWrapper<RawGlassStorageStation>().notInSql(RawGlassStorageStation::getSlot, "select slot_id from raw_glass_storage_details where state = '100'")
+        List<RawGlassStorageStation> stationList = rawGlassStorageStationService.list(new LambdaQueryWrapper<RawGlassStorageStation>().notInSql(RawGlassStorageStation::getSlot, "select slot from raw_glass_storage_details where " +
+                "state in('100','102','103')")
                 .eq(RawGlassStorageStation::getEnableState, Const.SLOT_ON));
         if (CollectionUtil.isEmpty(stationList)) {
             log.info("娌℃湁绌虹殑宸ヤ綅");
             return;
         }
         //鐢熸垚杩涚浠诲姟
-        generateTask(rawGlassList.get(0).getSlotId(), stationList.get(0).getSlot(),
-                rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_IN);
+        generateTask(rawGlassList.get(0).getSlot(), stationList.get(0).getSlot(),
+                rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_STATE_RUNNING);
         //鐢熸垚宸ヤ綅浠诲姟锛屽皢鍚婅浣嶇殑鐜荤拑鐘舵�佹敼浣嶈繘绗间腑
+//        淇敼鍚婅浣嶇殑鍘熺墖鐘舵�佷负103 鍑虹墖涓�
+        //淇敼鍑虹墖浠诲姟鐘舵��
+        rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
+                .eq(RawGlassStorageDetails::getSlot, rawGlassList.get(0).getSlot())
+                .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN)
+                .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING));
+//        RawGlassStorageDetails details = new RawGlassStorageDetails();
+//        BeanUtils.copyProperties(rawGlassList.get(0), details);
     }
 
 
@@ -96,25 +108,31 @@
     @Scheduled(fixedDelay = 1000)
     public void outboundTask() throws Exception {
         ReadWriteEntity entity = miloService.readFromOpcUa("rawglass.device.request");
-        String value = entity.getValueString();
+        String value = entity.getValue() + "";
         if (!"2".equals(value)) {
             log.info("澶ц溅蹇欑");
             return;
         }
         List<RawGlassStorageDetails> rawGlassList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>()
-                .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_OUT_ING)
-                .inSql(RawGlassStorageDetails::getSlotId, "select slot from raw_glass_storage_station where enable_state = 1 and slot not in (1,2)"));
+                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_WAIT_OUT));
+//                .inSql(RawGlassStorageDetails::getSlot, "select slot from raw_glass_storage_station where enable_state = 1 and device_id = 4"));
         if (CollectionUtil.isEmpty(rawGlassList)) {
             log.info("绯荤粺娌℃湁闇�瑕佸嚭搴撶殑鍘熺墖淇℃伅");
             return;
         }
-        List<Integer> emptyLeftingList = rawGlassStorageDetailsService.listBySlotState(liftingStation, Arrays.asList(Const.GLASS_STATE_IN));
+        List<Integer> emptyLeftingList = rawGlassStorageDetailsService.listBySlotState(LIFTING_STATION, Arrays.asList(Const.RAW_GLASS_STATE_IN, Const.RAW_GLASS_STATE_RUNNING));
         if (CollectionUtil.isEmpty(emptyLeftingList)) {
             log.info("鍚婅浣嶅綋鍓嶉兘鏈夊師鐗囷紝缁撴潫鍑虹墖浠诲姟");
+            return;
         }
         //鐢熸垚鍑哄簱浠诲姟
-        generateTask(rawGlassList.get(0).getSlotId(), emptyLeftingList.get(0),
+        generateTask(rawGlassList.get(0).getSlot(), emptyLeftingList.get(0),
                 rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_OUT);
+        //淇敼鍑虹墖浠诲姟鐘舵��
+        rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
+                .eq(RawGlassStorageDetails::getSlot, rawGlassList.get(0).getSlot())
+                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_WAIT_OUT)
+                .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING));
     }
 
     /**
@@ -123,19 +141,25 @@
     @Scheduled(fixedDelay = 1000)
     public void rawGlassDispatchTask() throws Exception {
         ReadWriteEntity entity = miloService.readFromOpcUa("rawglass.device.request");
-        String value = entity.getValueString();
+        String value = entity.getValue() + "";
         if (!"2".equals(value)) {
             log.info("澶ц溅蹇欑");
             return;
         }
         //鏌ヨ褰撳墠绯荤粺姝e湪鎵ц鐨勮鍗�
-        Engineering engineering = engineeringMapper.selectOne(new LambdaQueryWrapper<Engineering>().eq(Engineering::getState, Const.ENGINEERING_RUNNING).last("order by id limit 1"));
-        if (null == engineering) {
+        List<Engineering> engineeringList = engineeringMapper.selectList(new LambdaQueryWrapper<Engineering>()
+                .eq(Engineering::getState, Const.ENGINEERING_RUNNING).last("order by id"));
+        if (CollectionUtils.isEmpty(engineeringList)) {
             log.info("娌℃湁姝e湪鎵ц鐨勫伐绋�");
             return;
         }
+        //绾胯矾 + 宸ョ▼鍚�
+        //todo:鎸夌収璺嚎鍙婂伐绋嬪彿锛岃繘琛屽嚭鐗囦换鍔�
+        String stationCell = engineeringList.get(0).getStationCell();
+        String enginneerId = engineeringList.get(0).getEngineerId();
+
         //褰撳墠灏哄闇�瑕佷笂鐗囩殑鏁伴噺
-        List<UpPattenUsageVO> pattenUsageList = upPattenUsageMapper.queryRawGlassByEngineeringId(engineering.getEngineerId());
+        List<UpPattenUsageVO> pattenUsageList = upPattenUsageMapper.queryRawGlassByEngineeringId(enginneerId);
         if (CollectionUtils.isEmpty(pattenUsageList)) {
             log.info("姝e湪鎵ц鐨勫伐绋嬪師鐗囨棤鍙笂鐗囩殑鍘熺墖淇℃伅");
             return;
@@ -146,7 +170,7 @@
         //todo:褰撲竴鍙蜂笂鐗囦綅鏋跺瓙涓婄殑鐜荤拑浣嶇┖鎴栬�呭綋鍓嶅昂瀵哥敤瀹屾椂鏃讹紝灏�2鍙凤紙鏈夌幓鐠冿級涓婄墖浣嶈皟搴﹀埌1鍙蜂笂鐗囦綅
         //1銆佹煡璇�4涓笂鐗囩殑鍘熺墖璇︽儏
         List<RawGlassStorageDetails> rawGlassDetailsList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>()
-                .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN).in(RawGlassStorageDetails::getSlotId, loadGlassStation));
+                .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN).in(RawGlassStorageDetails::getSlot, LOAD_STATION_01));
         if (CollectionUtils.isEmpty(rawGlassDetailsList)) {
             //琛ㄧず1涓婄墖浣嶆病鏈夊師鐗囷紝鐩存帴鎵惧師鐗囨斁鍏ュ搴旂殑涓婄墖浣�
             List<UpPattenUsageVO> upPattenUsage01VOS = upListMap.get("1");
@@ -160,10 +184,10 @@
                     .orderByAsc(RawGlassStorageDetails::getRemainQuantity)
                     .last("limit 1")
             );
-            generateTask(details.getSlotId(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+            generateTask(details.getSlot(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
             //缁撴潫璋冨害浠诲姟
         }
-        Map<Integer, List<RawGlassStorageDetails>> listMap = rawGlassDetailsList.stream().collect(Collectors.groupingBy(RawGlassStorageDetails::getSlotId));
+        Map<Integer, List<RawGlassStorageDetails>> listMap = rawGlassDetailsList.stream().collect(Collectors.groupingBy(RawGlassStorageDetails::getSlot));
         RawGlassStorageDetails rawGlass03Details = listMap.get(3).get(0);
         RawGlassStorageDetails rawGlass04Details = listMap.get(4).get(0);
 //        RawGlassStorageDetails rawGlass05Details = listMap.get(5).get(0);
@@ -183,7 +207,7 @@
                         .orderByAsc(RawGlassStorageDetails::getRemainQuantity)
                         .last("limit 1")
                 );
-                generateTask(details.getSlotId(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+                generateTask(details.getSlot(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
                 //缁撴潫璋冨害浠诲姟
             } else {
                 //灏�2鍙蜂笂鐗囦綅鐨勫師鐗囨斁鍏�1鍙蜂笂鐗囦綅
@@ -206,10 +230,114 @@
                         .orderByAsc(RawGlassStorageDetails::getRemainQuantity)
                         .last("limit 1")
                 );
-                generateTask(details.getSlotId(), 2, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+                generateTask(details.getSlot(), 2, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
             }
         }
 
+
+    }
+
+    private boolean queryDispatchTask(String stationCell, String enginneerId) {
+        //todo:鎸夌収宸ョ▼鍙锋寜鐓у伐绋嬩笅鏈畬鎴愮殑灏哄鐨勯『搴忥紝褰�1鍙蜂笂鐗囦綅鏋跺瓙涓婄殑褰撳墠灏哄鐜荤拑灏戜簬3鐗囦笖2鍙蜂笂鐗囦綅鏃犲師鐗囩幓鐠冿紝鍒欏皢鍘昏皟搴︾幓鐠冨幓2鍙蜂笂鐗囦綅锛�
+        //todo:褰撲竴鍙蜂笂鐗囦綅鏋跺瓙涓婄殑鐜荤拑浣嶇┖鎴栬�呭綋鍓嶅昂瀵哥敤瀹屾椂鏃讹紝灏�2鍙凤紙鏈夌幓鐠冿級涓婄墖浣嶈皟搴﹀埌1鍙蜂笂鐗囦綅
+        //1銆佹煡璇笂鐗囩嚎璺搴斿伐浣嶇殑鍘熺墖淇℃伅
+        LambdaQueryWrapper<RawGlassStorageDetails> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN);
+        if ("1".equals(stationCell)) {
+            wrapper.in(RawGlassStorageDetails::getSlot, LOAD_STATION_01);
+        } else {
+            wrapper.in(RawGlassStorageDetails::getSlot, LOAD_STATION_02);
+        }
+        List<RawGlassStorageDetails> rawGlassDetailsList = rawGlassStorageDetailsService.list(wrapper);
+        if (CollectionUtils.isEmpty(rawGlassDetailsList)) {
+            //鐩存帴鐢熸垚璋冨害浠诲姟
+            generateTask(1, 2, 34, 4);
+            return Boolean.TRUE;
+        }
+        if (rawGlassDetailsList.size() == 2) {
+            return Boolean.FALSE;
+        }
+        int maxStationSlot = rawGlassDetailsList.stream().mapToInt(RawGlassStorageDetails::getSlot).max().orElse(0);
+        if (LOAD_STATION_MAX.contains(maxStationSlot)) {
+            return Boolean.FALSE;
+        }
+        //浜屽彿涓婄墖锛氱洿鎺ョ敓鎴愯皟搴︿换鍔�
+        generateTask(1, 2, 34, 4);
+        return Boolean.TRUE;
+
+
+        //褰撳墠灏哄闇�瑕佷笂鐗囩殑鏁伴噺
+        List<UpPattenUsageVO> pattenUsageList = upPattenUsageMapper.queryRawGlassByEngineeringId(enginneerId);
+        if (CollectionUtils.isEmpty(pattenUsageList)) {
+            log.info("姝e湪鎵ц鐨勫伐绋嬪師鐗囨棤鍙笂鐗囩殑鍘熺墖淇℃伅");
+            return Boolean.FALSE;
+        }
+        Map<String, List<UpPattenUsageVO>> upListMap = pattenUsageList.stream()
+                .collect(Collectors.groupingBy(UpPattenUsageVO::getGroupNumber));
+
+
+        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.getSlot(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+            //缁撴潫璋冨害浠诲姟
+        }
+        Map<Integer, List<RawGlassStorageDetails>> listMap = rawGlassDetailsList.stream().collect(Collectors.groupingBy(RawGlassStorageDetails::getSlot));
+        RawGlassStorageDetails rawGlass03Details = listMap.get(3).get(0);
+        RawGlassStorageDetails rawGlass04Details = listMap.get(4).get(0);
+//        RawGlassStorageDetails rawGlass05Details = listMap.get(5).get(0);
+//        RawGlassStorageDetails rawGlass06Details = listMap.get(6).get(0);
+        //todo:涓婄墖1鍙蜂綅2绉嶆竻绌烘柟寮忥細鏂瑰紡涓�锛氬師鐗囩敤瀹�  鏂瑰紡浜岋細褰撳墠灏哄鐢ㄥ畬
+        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.getSlot(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+                //缁撴潫璋冨害浠诲姟
+            } else {
+                //灏�2鍙蜂笂鐗囦綅鐨勫師鐗囨斁鍏�1鍙蜂笂鐗囦綅
+                generateTask(2, 1, rawGlass04Details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+                //缁撴潫璋冨害浠诲姟
+            }
+        } else {
+            if (null == rawGlass04Details) {
+                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.getSlot(), 2, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+            }
+        }
 
     }
 
@@ -225,7 +353,7 @@
      */
     private boolean generateTask(int startSlot, int endSlot, Integer patternQuantity, int taskType) {
         RawGlassStorageTask task = RawGlassStorageTask.builder()
-                .originateSlot(startSlot)
+                .startSlot(startSlot)
                 .endSlot(endSlot)
                 .patternQuantity(patternQuantity)
                 .taskType(taskType)
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/RawGlassStorageDetails.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/RawGlassStorageDetails.java
index 2a339bb..cb33349 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/RawGlassStorageDetails.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/RawGlassStorageDetails.java
@@ -10,7 +10,7 @@
 
 /**
  * <p>
- * 
+ *
  * </p>
  *
  * @author wf
@@ -22,54 +22,44 @@
 
     private static final long serialVersionUID = 1L;
 
-      @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
-
     /**
      * 璁惧id
      */
     private Integer deviceId;
-
     /**
      * 鏍煎瓙id
      */
-    private Integer slotId;
-
+    private Integer slot;
     /**
      * 鍘熺墖瀹�
      */
     private Double patternWidth;
-
     /**
      * 鍘熺墖楂�
      */
     private Double patternHeight;
-
     /**
      * 鍘熺墖鍘氬害
      */
     private Double patternThickness;
-
     /**
      * 鑶滅郴
      */
     private String filmsId;
-
     /**
      * 鍒涘缓鏃堕棿
      */
     private Date createTime;
-
     /**
      * 鍓╀綑鏁伴噺
      */
     private Integer remainQuantity;
-
-
     /**
      * 鐘舵��
      */
-    private int state;
+    private Integer state;
 
 
 }
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java
index 36204b8..0d8e2cc 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java
@@ -1,6 +1,5 @@
 package com.mes.rawglassdetails.entity.request;
 
-import com.mes.userinfo.entity.vo.SysUserVO;
 import lombok.Data;
 
 /**
@@ -9,7 +8,7 @@
  * @Description:
  */
 @Data
-public class RawGlassRequest extends SysUserVO {
+public class RawGlassRequest {
 
     /**
      * 鍘熺墖瀹�
@@ -39,5 +38,5 @@
     /**
      * 鏍呮牸鍙�
      */
-    private String slotId;
+    private String slot;
 }
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageStationMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageStationMapper.xml
deleted file mode 100644
index ba48273..0000000
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageStationMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="glassdetails.mapper.RawGlassStorageStationMapper">
-
-</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageTaskMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageTaskMapper.xml
deleted file mode 100644
index e057e23..0000000
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageTaskMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="glassdetails.mapper.RawGlassStorageTaskMapper">
-
-</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
index cd7ad71..e592f49 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
@@ -14,15 +14,12 @@
 
     List<RawGlassStorageDetails> selectDetails();
 
-
     /**
      * 鍒犻櫎琛�  鍏堝湪杩欓噷鍒�  鐒跺悗鐐归偅涓浉鍏抽棶棰�
      *
      * @return boolean
      */
     boolean deleteRawGlassStorageDetails(String device_id);
-
-
 
     /**
      * 鍘熺墖鍏ュ簱
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
index e608d50..702e9d7 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
@@ -55,21 +55,24 @@
         update(
                 new LambdaUpdateWrapper<RawGlassStorageDetails>()
                         .set(RawGlassStorageDetails::getRemainQuantity, request.getRemainQuantity())
-                        .eq(RawGlassStorageDetails::getSlotId, request.getSlotId()));
+                        .eq(RawGlassStorageDetails::getSlot, request.getSlot())
+                        .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
         return "success";
     }
 
     @Override
     public String deleteWarehousing(Long slotId) {
-        update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlotId, slotId)
-                .set(RawGlassStorageDetails::getState, Const.GLASS_STATE_OUT));
+        update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slotId)
+                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
+                .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
         return "success";
     }
 
     @Override
     public String outWarehousing(Long slotId) {
-        update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlotId, slotId)
-                .set(RawGlassStorageDetails::getState, Const.GLASS_STATE_OUT_ING));
+        update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slotId)
+                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
+                .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_WAIT_OUT));
         return "success";
     }
 
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java
index e721e70..b94c59a 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java
@@ -29,9 +29,6 @@
     } else {
       return Result.build(200, "绂佺敤", result);
     }
-
-
-
   }
 }
 
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java
index 8f1db02..446cdbf 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java
@@ -17,33 +17,20 @@
 
     private static final long serialVersionUID = 1L;
 
-  @TableId(value = "id", type = IdType.AUTO)
-  private Long id;
-
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
     /**
      * 璁惧id
      */
     private Integer deviceId;
-
     /**
      * 鏍呮牸鍙�
      */
     private Integer slot;
-
     /**
      * 鍚敤鏍囪
      */
     private String enableState;
-
-    /**
-     * 寮�濮嬪伐浣�
-     */
-    private Integer startSlot;
-
-    /**
-     * 鐩爣宸ヤ綅
-     */
-    private Integer endSlot;
 
 
 }
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/RawGlassStorageTask.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/RawGlassStorageTask.java
index 5346dee..dbb2816 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/RawGlassStorageTask.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/RawGlassStorageTask.java
@@ -27,32 +27,26 @@
 
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
-
     /**
      * 璧峰鏍煎瓙
      */
-    private Integer originateSlot;
-
+    private Integer startSlot;
     /**
      * 鐩爣鏍煎瓙
      */
     private Integer endSlot;
-
     /**
      * 鍘熺墖鏁伴噺
      */
     private Integer patternQuantity;
-
     /**
      * 浠诲姟绫诲瀷
      */
     private Integer taskType;
-
     /**
      * 浠诲姟鐘舵��
      */
-    private Integer taskState;
-
+    private Integer enableState;
     /**
      * 鍒涘缓鏃堕棿
      */
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageDetailsMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageDetailsMapper.xml
similarity index 89%
rename from hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageDetailsMapper.xml
rename to hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageDetailsMapper.xml
index f13945e..c157460 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageDetailsMapper.xml
@@ -6,8 +6,8 @@
         select t.slot
         from raw_glass_storage_station t
         inner JOIN raw_glass_storage_details t1
-        on t.slot = t1.slot_id and t.enable_state = 1
-        and t.slot in
+        on t.slot = t1.slot and t.enable_state = 1
+        and t.device_id in
         <foreach collection="leftingStation" item="item" open='(' close=')' separator=','>
             #{item}
         </foreach>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml
index 1b7b53f..56c2e88 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml
@@ -4,7 +4,7 @@
 
     <resultMap id="baseMap" type="com.mes.rawglassdetails.entity.RawGlassStorageDetails">
         <result column="device_id" property="deviceId"/>
-        <result column="slot" property="slotId"/>
+        <result column="slot" property="slot"/>
         <result column="pattern_width" property="patternWidth"/>
         <result column="pattern_height" property="patternHeight"/>
         <result column="pattern_thickness" property="patternThickness"/>
@@ -27,7 +27,7 @@
                T.ENABLE_STATE
         FROM RAW_GLASS_STORAGE_STATION T
                  LEFT JOIN RAW_GLASS_STORAGE_DETAILS T1 ON T.DEVICE_ID = T1.DEVICE_ID
-            AND T.SLOT = T1.SLOT_ID
+            AND T.SLOT = T1.SLOT
             AND T1.STATE = 100
     </select>
 </mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/ShelfRackMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/ShelfRackMapper.xml
deleted file mode 100644
index 576b9a9..0000000
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/ShelfRackMapper.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.mes.shelfrack.mapper.ShelfRackMapper">
-
-    <resultMap id="ShelfRackResultMap" type="com.mes.shelfrack.entity.request.RawUsageAndShelfRack">
-        <result property="number" column="number"/>
-        <result property="rawType" column="raw_type"/>
-        <result property="rawWidth" column="raw_width"/>
-        <result property="rawHeight" column="raw_height"/>
-        <result property="rawThickness" column="raw_thickness"/>
-        <result property="enableState" column="enable_state"/>
-        <result property="pieces" column="pieces"/>
-        <result property="createTime" column="createTime"  />
-        <result property="batchId" column="batch_id"/>
-    </resultMap>
-    <select id="selectshelf_rack" resultMap="ShelfRackResultMap">
-    <![CDATA[
-        SELECT a.number, b.raw_type, b.raw_width, b.raw_height, b.raw_thickness, a.enable_state, b.pieces,
-               b.batch_id,DATE_FORMAT(b.create_time, '%Y-%m-%d %H:%i:%s') as createTime
-        FROM shelf_rack AS a
-                 LEFT JOIN raw_usage AS b ON a.raw_package_id = b.id
-        ]]>
-</select>
-
-</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/StorageTaskMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/StorageTaskMapper.xml
deleted file mode 100644
index a526c7c..0000000
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/StorageTaskMapper.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.mes.storagetask.mapper.StorageTaskMapper">
-
-
-    <resultMap id="StorageTaskRequest" type="com.mes.storagetask.entity.request.StorageTaskRequest">
-        <result property="loadRack" column="load_rack"/>
-        <result property="color" column="color"/>
-        <result property="taskState" column="task_state"/>
-        <result property="shelfRack" column="shelf_rack"/>
-        <result property="startTime" column="start_time"/>
-        <result property="rawThickness" column="raw_thickness"/>
-        <result property="routeGroup" column="route_group"/>
-        <result property="id" column="id"  />
-        <result property="taskType" column="task_type"/>
-    </resultMap>
-
-
-
-    <select id="selectTasks" resultMap="StorageTaskRequest">
-        <![CDATA[
-        SELECT d.*, g.raw_thickness, g.color
-        FROM (
-                 (SELECT * FROM storage_task AS a WHERE a.task_state = '宸插畬鎴�' ORDER BY a.id DESC LIMIT 1)
-                 UNION ALL
-                 (SELECT * FROM storage_task AS c WHERE c.task_state = '姝e湪宸ヤ綔')
-                 UNION ALL
-                 (SELECT * FROM storage_task AS b WHERE b.task_state = '绛夊緟涓�')
-             ) AS d
-                 LEFT JOIN shelf_rack AS f ON f.id = d.shelf_rack
-                 LEFT JOIN raw_usage AS g ON g.id = f.raw_package_id
-        ]]>
-    </select>
-
-</mapper>
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/changelog/changelog.sql b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/changelog/changelog.sql
index b4ea6a1..3c2df0c 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/changelog/changelog.sql
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/changelog/changelog.sql
@@ -195,7 +195,7 @@
     start_slot       int      NULL DEFAULT NULL COMMENT '璧峰鏍煎瓙',
     end_slot         int      NULL DEFAULT NULL COMMENT '鐩爣鏍煎瓙',
     pattern_quantity int      NULL DEFAULT NULL COMMENT '鍘熺墖鏁伴噺',
-    enable_type      int      NULL DEFAULT NULL COMMENT '浠诲姟绫诲瀷',
+    task_type        int      NULL DEFAULT NULL COMMENT '浠诲姟绫诲瀷',
     enable_state     int      NULL DEFAULT NULL COMMENT '浠诲姟鐘舵��',
     create_time      datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
     PRIMARY KEY (id) USING BTREE

--
Gitblit v1.8.0