From 726f5da27afc22ea1d8bd5fe730a0722ab8a97c9 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 29 七月 2024 09:06:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 UI-Project/config.js                                                                                                                     |    8 
 UI-Project/src/views/Returns/returns.vue                                                                                                 |    1 
 UI-Project/src/lang/zh.js                                                                                                                |   39 +++++++
 UI-Project/src/views/ReportWork/reportWork.vue                                                                                           |   24 +++-
 UI-Project/src/utils/constants.js                                                                                                        |    4 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java        |   37 ++++++
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java          |    5 
 hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java                              |   23 ++++
 UI-Project/src/views/Slicecage/slicecage.vue                                                                                             |    6 +
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java                  |   27 ++++
 UI-Project/src/views/PurchaseReturn/purchaseStorage.vue                                                                                  |   10 +-
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java |   56 +++++++++-
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java                |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java                     |    8 +
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue                                                                                   |   14 +-
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java                 |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java           |    9 +
 17 files changed, 221 insertions(+), 54 deletions(-)

diff --git a/UI-Project/config.js b/UI-Project/config.js
index 7df122b..b15a1a5 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,7 +1,7 @@
 export default {
-//  serverUrl: "10.153.19.150:88/api",
- serverUrl: "192.168.1.199:88/api",
-  // serverUrl2: "10.153.19.150:88"
-  serverUrl2: "192.168.1.199:88"
+ serverUrl: "10.153.19.150:88/api",
+//  serverUrl: "192.168.1.199:88/api",
+  serverUrl2: "10.153.19.150:88"
+  // serverUrl2: "192.168.1.199:88"
   //serverUrl:"res.abeim.cn"
 }
\ No newline at end of file
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index 21ceabd..b829b82 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -419,5 +419,42 @@
         allstatus: '鍏ㄩ儴鍏ュ簱鐘舵��',
         completedquantity: '瀹屾垚鏁伴噺',
         scrapquantity: '鎶ュ簾鏁伴噺',
-    }
+    },
+    reportmanage:{
+        productiontime :'鐢熶骇鏃堕棿',
+        starttime :'寮�濮嬫椂闂�',
+        endtime :'缁撴潫鏃堕棿',
+        all :'鍏ㄩ儴',
+        completed :'瀹屽伐',
+        broke :'鐮存崯',
+        takeout :'鎷胯蛋',
+        dreportwork :'鏈姤宸�',
+        pendingwork :'寰呮姤宸�',
+        reportwork :'宸叉姤宸�',
+        incise :'鍒囧壊',
+        edging :'纾ㄨ竟',
+        steel :'閽㈠寲',
+        inquire :'鏌ヨ',
+        signingwork :'鎶ュ伐',
+        reporteam :'鎶ュ伐鐝粍',
+        reportingequipment :'鎶ュ伐璁惧',
+        line :'绾胯矾',
+        process :'宸ュ簭',
+        glassID :'鐜荤拑ID',
+        projectnumber :'宸ョ▼鍙�',
+        layoutID :'閽㈠寲鐗堝浘ID',
+        productiontime :'鐢熶骇鏃堕棿',
+        type :'绫诲瀷',
+        state :'鐘舵��',
+        processcards :'娴佺▼鍗�',
+        number :'搴忓彿',
+        layer :'灞�',
+        typebreakage :'鐮存崯绫诲瀷',
+        causebreakage :'鐮存崯鍘熷洜',
+        responsibleprocess :'璐d换宸ュ簭',
+        responsiblepersonnel :'璐d换浜哄憳',
+        responsibleteam :'璐d换鐝粍',
+        responsibleequipment :'璐d换璁惧',
+        remark :'澶囨敞',
+    },
 }
\ No newline at end of file
diff --git a/UI-Project/src/utils/constants.js b/UI-Project/src/utils/constants.js
index 9a2423c..67d36d2 100644
--- a/UI-Project/src/utils/constants.js
+++ b/UI-Project/src/utils/constants.js
@@ -1,3 +1,3 @@
-export const WebSocketHost = "192.168.1.199";
-// export const WebSocketHost = "10.153.19.150";
+// export const WebSocketHost = "192.168.1.199";
+export const WebSocketHost = "10.153.19.150";
 export const host = "88";
\ No newline at end of file
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index 2d6988b..583522d 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -128,13 +128,13 @@
     adjustedHeight = rect.height * 0.16;  
     adjustedWidtha = rect.width;  
     adjustedHeighta = rect.height;  
-    newX = 5190 - (rect.yCoordinate + rect.width); 
+    // newX = 5190 - (rect.yCoordinate + rect.width); 
   } else {  
     adjustedWidth = rect.height * 0.24;  
     adjustedHeight = rect.width * 0.16;  
     adjustedWidtha = rect.height;  
     adjustedHeighta = rect.width;  
-    newX = 5190 - (rect.yCoordinate + rect.height);  
+    // newX = 5190 - (rect.yCoordinate + rect.height);  
   }  
   return {  
         ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�  
@@ -163,11 +163,11 @@
 function getRectColora(state) {  
   switch (state) {  
     case 0:  
-      return '#d1edc4';  
+      return '#7AC5CD';  
     case 1:  
-      return '#E6E6FA';
+      return '#95d475';
     case -1:  
-      return '#dedfe0';  
+      return '#CDAF95';  
     case 5:  
       return '#911005';  
   }
@@ -175,9 +175,9 @@
 function getRectColorb(state) {  
   switch (state) {  
     case 3:  
-      return '#f8e3c5';  
+      return '#eebe77';  
     case 4:  
-      return '#F0F8FF';
+      return '#CD6090';
     case 5:  
       return '#911005';  
   }  
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
index 742ba24..a516793 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
@@ -43,13 +43,13 @@
     adjustedHeight = rect.height * 0.16;  
     adjustedWidtha = rect.width;  
     adjustedHeighta = rect.height;  
-    newX = 5190 - (rect.yCoordinate + rect.width);
+    // newX = 5190 - (rect.yCoordinate + rect.width);
   } else {  
     adjustedWidth = rect.height * 0.24;  
     adjustedHeight = rect.width * 0.16;  
     adjustedWidtha = rect.height;  
     adjustedHeighta = rect.width;  
-    newX = 5190 - (rect.yCoordinate + rect.height);
+    // newX = 5190 - (rect.yCoordinate + rect.height);
   }  
   return {  
     ...rect, 
@@ -71,11 +71,11 @@
   });  
 }  
 function getRectColora(state) {  
-  switch (state) {  
+  switch (state) { 
     case 3:  
-      return '#f8e3c5';  
+      return '#eebe77';  
     case 4:  
-      return '#F0F8FF';
+      return '#CD6090';
     case 5:  
       return '#911005';  
   }  
diff --git a/UI-Project/src/views/ReportWork/reportWork.vue b/UI-Project/src/views/ReportWork/reportWork.vue
index f28dac1..3630f05 100644
--- a/UI-Project/src/views/ReportWork/reportWork.vue
+++ b/UI-Project/src/views/ReportWork/reportWork.vue
@@ -1,29 +1,33 @@
 <template>
   <div style="height: 600px;">
-    <span class="demonstration">鐢熶骇鏃堕棿</span>
-    <el-date-picker v-model="timeRange" type="daterange" format="YYYY/MM/DD" value-format="YYYY-MM-DD"
-      start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿" :default-time="defaultTime" />
-    <el-select v-model="report.type" placeholder="娓呴�夋嫨绫诲瀷">
+    <div style="display: flex; flex-direction: row; align-items: center; margin-top: 20px;">  
+    <span style="margin-left: 10px;" class="demonstration">{{ $t('reportmanage.productiontime') }}</span>
+    <el-date-picker style="margin-left: 10px;"  v-model="timeRange" type="daterange" format="YYYY/MM/DD" value-format="YYYY-MM-DD"
+      :start-placeholder="$t('reportmanage.starttime')" :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
+    <el-select v-model="report.type" placeholder="娓呴�夋嫨绫诲瀷" style="margin-left: 10px;" >
       <el-option label="鍏ㄩ儴" value="0"></el-option>
       <el-option label="瀹屽伐" value="1"></el-option>
       <el-option label="鐮存崯" value="2"></el-option>
       <el-option label="鎷胯蛋" value="3"></el-option>
     </el-select>
-    <el-select v-model="report.status" placeholder="娓呴�夋嫨鐘舵��">
+    <el-select v-model="report.status" placeholder="娓呴�夋嫨鐘舵��" style="margin-left: 10px;" >
       <el-option label="鍏ㄩ儴" value="0"></el-option>
       <el-option label="鏈姤宸�" value="1"></el-option>
       <el-option label="寰呮姤宸�" value="2"></el-option>
       <el-option label="宸叉姤宸�" value="3"></el-option>
     </el-select>
-    <el-select v-model="report.workingProcedure" placeholder="娓呴�夋嫨宸ュ簭">
+    <el-select v-model="report.workingProcedure" placeholder="娓呴�夋嫨宸ュ簭" style="margin-left: 10px;" >
       <el-option label="鍏ㄩ儴" value="0"></el-option>
       <el-option label="鍒囧壊" value="1"></el-option>
       <el-option label="纾ㄨ竟" value="2"></el-option>
       <el-option label="閽㈠寲" value="3"></el-option>
     </el-select>
-    <el-button type="primary" @click="selectReportData()">鏌ヨ</el-button>
-    <el-button type="success">鎶ュ伐</el-button>
-    <el-table height="100%" ref="table" :data="reportData"
+    <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">鏌ヨ</el-button>
+    <el-button type="success" style="margin-left: 10px;" >鎶ュ伐</el-button>
+  </div>
+    <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
+      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+    <el-table height="550" ref="table" :data="reportData"
       :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
       <el-table-column prop="teamsGroupsName" align="center" label="鎶ュ伐鐝粍" min-width="120" />
       <el-table-column prop="deviceName" align="center" label="鎶ュ伐璁惧" min-width="120" />
@@ -46,6 +50,8 @@
       <el-table-column prop="responsibleEquipment" align="center" label="璐d换璁惧" min-width="120" />
       <el-table-column prop="remark" align="center" label="澶囨敞" min-width="120" />
     </el-table>
+    </div>
+    </el-card>
   </div>
 </template>
 <script setup>
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index 26b1c91..3c14673 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -637,7 +637,6 @@
   }  
 };
 </script>
- 
 <template>
   <div>
     <div id="dotClass">
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 5870cad..73b7c1b 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -176,7 +176,11 @@
       return 9;
     });
  
- 
+ function cleanUp() {
+    console.log('鎵ц娓呯悊鎿嶄綔');  
+}
+// 鍋囪鎴戜滑姣�2鍒嗛挓鎵ц涓�娆℃竻鐞�  
+setInterval(cleanUp, 2 * 60 * 1000);
  
 const getTableRow = (row,type) =>{
   switch (type) {
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
index d06778e..9944d58 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -30,7 +30,7 @@
     public List<TemperingGlassInfo> selectWaitingGlass() {
         //鑾峰彇绛夊緟杩涚倝涓殑鐜荤拑淇℃伅
         QueryWrapper<TemperingGlassInfo> wrapper = new QueryWrapper<>();
-        wrapper.select("Top 1 *").eq("state",1);
+        wrapper.select("Top 1 *").in("state",1,0);
         TemperingGlassInfo glass=temperingMapper.selectOne(wrapper);
         if(glass!=null) {
             QueryWrapper<TemperingGlassInfo> glassinfo = new QueryWrapper<>();
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
index 289db38..f6ed2a9 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
@@ -63,17 +63,20 @@
     @PostMapping("/edgStorageCageGlass")
     @ResponseBody
     public Result edgStorageCageGlass(@RequestBody EdgStorageCageDetails edgStorageCageDetails,int edgStorageCageId) {
+
         String isSucess=edgStorageCageService.updateEdgStorageCageDetails(edgStorageCageId,edgStorageCageDetails)?"鎴愬姛":"澶辫触";
         return Result.build(200,"銆愭竻闄�/鏇存崲/缁戝畾銆�"+isSucess,1);
     }
+
+
 
     @ApiOperation("纾ㄨ竟妯″潡姹囨姤鐜荤拑鐘舵��   鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愮牬鎹�/鎷胯蛋銆�  ")
     @PostMapping("/edgReportStatus")
     @ResponseBody
     public Result edgReportStatus(@RequestBody Map<String, String> arguments) {
-        String edgStorageCageDetailsId=arguments.get("glassId");
-        int controlsId=Integer.valueOf(arguments.get("controlsId"));
-        String isSucess=edgStorageCageDetailsService.identWorn(edgStorageCageDetailsId,controlsId)?"鎴愬姛":"澶辫触";
+        /*arguments.put("line","1002");
+        arguments.put("machine","鍗у紡鐞嗙墖");*/
+        String isSucess=edgStorageCageDetailsService.identWorn(arguments)?"鎴愬姛":"澶辫触";
         return Result.build(200,"銆愮牬鎹�/鎷胯蛋銆�"+isSucess,1);
     }
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
index f9c0aa1..3a3bb31 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
@@ -18,11 +18,10 @@
 
     /**
      * 璇嗗埆 鐮存崯/鎷胯蛋
-     * @param glassId
-     * @param ControlsId
+     * @param arguments
      * @return
      */
-    boolean identWorn(String glassId,int ControlsId);
+    boolean identWorn(Map<String, String> arguments);
 
     /**
      * 鑾峰彇 鍒囧壊褰撳墠鐗堝浘
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
index cd22d48..73b2bd4 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
@@ -25,7 +25,7 @@
      */
     EdgStorageCage selectNearestEmpty(int currentSlot, boolean flag);
 
-
+    List<EdgStorageCage> selectCacheEmpty();
     /**
      * 鏌ヨ绗煎唴鍑虹墖椤哄簭璇︽儏
      * @return
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
index 481483a..b4c28b8 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -8,11 +8,15 @@
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.pp.entity.OptimizeDetail;
 import com.mes.pp.entity.OptimizeLayout;
 import com.mes.pp.mapper.OptimizeDetailMapper;
@@ -51,27 +55,65 @@
 
     @Autowired
     EdgStorageCageMapper edgStorageCageMapper;
+    @Autowired
+    GlassInfoMapper glassInfoMapper;
 
     @Autowired
     TaskCacheService taskCacheService;
+
+    @Autowired
+    DamageService damageService;
 
 
     /**
      * 璇嗗埆   鎷胯蛋:200/鐮存崯:201
      *
-     * @param glassId
-     * @param ControlsId
+     * @param arguments
      * @return
      */
     @Override
-    public boolean identWorn(String glassId, int ControlsId) {
-        List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId, glassId));
+    public boolean identWorn(Map<String, String> arguments) {
+        String glassId=arguments.get("glassId");
+        int controlsId=arguments.get("controlsId").isEmpty()?0:Integer.parseInt(arguments.get("controlsId"));
+        int line=arguments.get("line").isEmpty()?0:Integer.parseInt(arguments.get("line"));
+        String machine=arguments.get("machine");
+        if(controlsId==0||line==0||machine==null||glassId==null||glassId.isEmpty()){
+            log.info("鍓嶇浼犻�掓暟鎹笉鍏�:{}",arguments);
+            return false;
+        }
+        int state;
+        if(controlsId==200||controlsId==201){
+            state=controlsId==200?3:2;
+        }else if (controlsId==300||controlsId==301){
+            state=controlsId==300?3:2;
+        }else{
+            log.info("鍓嶇浼犻�掔姸鎬佷笉鍚堟硶:{}",arguments);
+            return false;
+        }
+
+        List<GlassInfo> GlassInfos = glassInfoMapper.selectList(new MPJLambdaQueryWrapper<GlassInfo>()
+                .selectAll(GlassInfo.class)
+                .eq(GlassInfo::getGlassId, glassId));
+        if (GlassInfos.size() == 1) {
+            Damage damage =new Damage();
+            damage.setGlassId(glassId);
+            damage.setLine(line);
+            damage.setWorkingProcedure(machine);
+            damage.setRemark("");
+            damage.setStatus(state);//201鐮存崯锛�200鎷胯蛋   =銆嬬牬鎹熻〃 2鐮存崯  3 鎷胯蛋
+            damageService.insertDamage(damage);
+        }else{
+            return false;
+        }
+        List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
+                .selectAll(EdgStorageCageDetails.class)
+                .eq(EdgStorageCageDetails::getGlassId, glassId));
         if (edgStorageCageDetails.size() == 1) {
             EdgStorageCageDetails item = edgStorageCageDetails.get(0);
-            item.setState(ControlsId);
+            item.setState(controlsId);
             baseMapper.update(item, new MPJLambdaWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId, glassId));
-            return true;
         }
+
 //            Sql鐗堟湰
 //        List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new QueryWrapper<EdgStorageCageDetails>().eq("glass_id", glassId));
 //        if (edgStorageCageDetails.size() == 1) {
@@ -80,7 +122,7 @@
 //            baseMapper.update(edgStorageCageDetails.get(0), new QueryWrapper<EdgStorageCageDetails>().eq("glass_id", glassId));
 //            return true;
 //        }
-        return false;
+        return true;
     }
 
     /**
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
index f7600e6..87716c5 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -5,17 +5,21 @@
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
+import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
 import com.mes.edgstoragecage.service.EdgStorageCageService;
 import com.mes.uppattenusage.entity.UpPattenUsage;
 import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -31,10 +35,13 @@
 @Service
 public class EdgStorageCageServiceImpl extends MPJBaseServiceImpl<EdgStorageCageMapper, EdgStorageCage> implements EdgStorageCageService {
 
-    @Resource
+    @Autowired
     EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
-    @Resource
+    @Autowired
     UpPattenUsageMapper upPattenUsageMapper;
+
+    @Autowired
+    DamageService damageService;
 
     @Override
     public EdgStorageCage selectNearestEmpty(int currentSlot, boolean flag) {
@@ -44,7 +51,6 @@
                         .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)
                         .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN))
                 .isNull(EdgStorageCageDetails::getSlot)
-                .eq(EdgStorageCage::getEnableState, Const.SLOT_ON)
                 .last("order by abs(t.slot - " + currentSlot + ")  asc limit 2")
         );
         if (flag && CollectionUtil.isNotEmpty(emptyList)) {
@@ -54,6 +60,23 @@
             return null;
         }
         return emptyList.get(0);
+    }
+
+    /**
+     * 鏌ヨ绗煎唴绌烘牸
+     *
+     * @return
+     */
+    @Override
+    public List<EdgStorageCage> selectCacheEmpty() {
+        return baseMapper.selectJoinList(EdgStorageCage.class, new MPJLambdaWrapper<EdgStorageCage>()
+                .selectAll(EdgStorageCage.class)
+                .leftJoin(EdgStorageCageDetails.class, on -> on
+                        .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)
+                        .eq(EdgStorageCageDetails::getState, "100"))
+                .isNull(EdgStorageCageDetails::getSlot)
+                .last("order by abs(t.slot - 4)  asc")
+        );
     }
 
     /**
@@ -134,6 +157,12 @@
             if (result != null) {
                 result.setSlot(0);
                 result.setState(201);
+                Damage damage =new Damage();
+                damage.setGlassId(edgStorageCageDetails.getGlassId());
+                damage.setLine(1002);
+                damage.setWorkingProcedure("鍗у紡鐞嗙墖");
+                damage.setStatus(2);
+                damageService.insertDamage(damage);
                 edgStorageCageDetailsMapper.updateById(result);
             }
             //娣诲姞
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
index 58a0dfd..6f09fea 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
@@ -51,8 +51,12 @@
     @ApiOperation("璇嗗埆鎿嶄綔锛�   鐮存崯/鎷胯蛋     鍙傛暟锛圛D,鍔熻兘[200锛氭嬁璧帮紝201:鐮存崯]锛�")
     @PostMapping("/identControls")
     @ResponseBody
-    public Result identControls(@RequestParam(name = "identId", required = false) String identId,@RequestParam(name = "controlsId", required = false) int controlsId) {
-        boolean issucess = edgStorageCageDetailsService.identWorn(identId,controlsId);
+    public Result identControls(@RequestBody Map<String, String> arguments) {
+       /* arguments.put("glassId","鐜荤拑ID");
+        arguments.put("controlsId","鍔熻兘鍙穂200鎷胯蛋/201鐮存崯]");*/
+        /*arguments.put("line","1001");
+        arguments.put("machine","璇嗗埆");*/
+        boolean issucess = edgStorageCageDetailsService.identWorn(arguments);
         return Result.build(200,"鎴愬姛",issucess);
     }
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
index 3b56659..7fff8e4 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
@@ -3,6 +3,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
+import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.glassinfo.entity.GlassInfo;
@@ -10,6 +14,7 @@
 import com.mes.taskcache.entity.TaskCache;
 import com.mes.taskcache.mapper.TaskCacheMapper;
 import com.mes.taskcache.service.TaskCacheService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -26,6 +31,7 @@
  * @author zhoush
  * @since 2024-04-07
  */
+@Slf4j
 @Service
 public class TaskCacheServiceImpl extends ServiceImpl<TaskCacheMapper, TaskCache> implements TaskCacheService {
 
@@ -34,6 +40,8 @@
 
     @Autowired
     GlassInfoMapper glassInfoMapper;
+
+
     /**
      * 娣诲姞鐞嗙墖绗间换鍔�
      * @param taskCache
@@ -61,10 +69,19 @@
         int serialNumber=1;
         for(TaskCache taskCache1:taskCache){
             Map<String,Object> map=new HashMap<>();
-            GlassInfo glassInfo=glassInfoMapper.selectOne(new MPJLambdaWrapper<GlassInfo>()
+//            GlassInfo glassInfo=glassInfoMapper.selectOne(new MPJLambdaWrapper<GlassInfo>()
+//                    .selectAll(GlassInfo.class)
+//                    .eq(GlassInfo::getGlassId,taskCache1.getGlassId()));
+            List<GlassInfo> glassInfos=glassInfoMapper.selectJoinList(GlassInfo.class, new MPJLambdaWrapper<GlassInfo>()
                     .selectAll(GlassInfo.class)
-                    .eq(GlassInfo::getGlassId,taskCache1.getGlassId()));
-            if(glassInfo!=null){
+                    .innerJoin(EdgStorageCageDetails.class, on -> on
+                            .eq(EdgStorageCageDetails::getGlassId, GlassInfo::getGlassId)
+                            .eq(EdgStorageCageDetails::getEngineerId, GlassInfo::getEngineerId))
+                    .eq(GlassInfo::getGlassId,taskCache1.getGlassId())
+                    .eq(EdgStorageCageDetails::getState,Const.GLASS_STATE_IN)
+            );
+            if(glassInfos.size()==1){
+                GlassInfo glassInfo=glassInfos.get(0);
                 map.put("Line",line);//绾胯矾   2001  1绾匡紝 2002 2绾�
                 map.put("Width",glassInfo.getWidth());//瀹�
                 map.put("Height",glassInfo.getHeight());//楂�
@@ -76,6 +93,9 @@
                 map.put("FilmsId",glassInfo.getFilmsid());//鑶滅郴
                 map.put("SerialNumber",serialNumber);//鍑虹墖椤哄簭
                 result.add(map);
+            }else if(glassInfos.size()>1){
+                log.info("鏁版嵁涓嶇鍚堥�昏緫--纾ㄨ竟闃熷垪glassId閲嶅:",glassInfos);
+                return new ArrayList<>();
             }
             serialNumber++;
         }
@@ -151,4 +171,5 @@
     }
 
 
+
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
index 6673bc9..19a87ce 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
@@ -15,6 +15,7 @@
 import com.mes.pp.mapper.OptimizeDetailMapper;
 import com.mes.taskcache.entity.TaskCache;
 import com.mes.taskcache.mapper.TaskCacheMapper;
+import com.mes.taskcache.service.TaskCacheService;
 import com.mes.taskcache.service.impl.TaskCacheServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
@@ -25,6 +26,7 @@
 
 import javax.annotation.Resource;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -53,6 +55,9 @@
     GlassInfoService glassInfoService;
     @Autowired
     CacheGlassTask cacheGlassTask;
+
+    @Autowired
+    TaskCacheService taskCacheService;
 
     @Test
     public void testFindPath() {
@@ -132,6 +137,17 @@
     }
 
     @Test
+    public void testidentWorn() {
+        Map<String, String> arguments=new HashMap<>();
+        arguments.put("glassId","P24060403|3|6");//鐜荤拑ID
+        arguments.put("controlsId","300");        //鎷胯蛋锛�200/鐮存崯锛�201
+        arguments.put("line","2001");             //绾胯矾锛�
+        arguments.put("machine","鍐峰姞宸�");           //璁惧鍚嶇О锛�
+        edgStorageCageDetailsService.identWorn(arguments);
+        log.info("璇嗗埆鍙般�愮牬鎹�/鎷胯蛋銆戯細{}", 1);
+    }
+
+    @Test
     public void testPpOptimizeDetail() {
         List<OptimizeDetail> optimizeDetail = optimizeDetailMapper.selectList(new QueryWrapper<OptimizeDetail>()
                 .eq("project_no", "P24032204")
@@ -163,4 +179,11 @@
         log.info("鍑虹墖浠诲姟锛歿}", Arrays.asList(edgStorageCageDetails));
     }
 
+    @Test
+    public void testedgTask() {
+        List<Map<String,Object>> EdgTasks = taskCacheService.selectEdgInfo("2001");
+
+        log.info("纾ㄨ竟浠诲姟锛歿}", Arrays.asList(EdgTasks));
+    }
+
 }

--
Gitblit v1.8.0