From 7956f09935a708f17b0f1b29a6625475f53c7509 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 16 十月 2024 09:52:15 +0800
Subject: [PATCH] 版本整合03

---
 UI-Project/src/views/UnLoadGlass/PrintCustomLabelSemi1.vue                                                                                   |   16 +-
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java                                               |   20 +++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java                                      |    6 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java          |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java                  |    9 
 UI-Project/src/lang/zh.js                                                                                                                    |   41 +++---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |   25 ++-
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java    |    4 
 hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml                                                            |    2 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java                                            |    2 
 UI-Project/src/views/UnLoadGlass/loadmachinerack.vue                                                                                         |   32 +++--
 UI-Project/src/views/Slicecage/slicecage.vue                                                                                                 |   55 +++++---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                                   |   88 ++++++++++++--
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java             |   17 ++
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml                                                          |    5 
 15 files changed, 219 insertions(+), 105 deletions(-)

diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index d2015ef..d2fa6e0 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -199,26 +199,27 @@
         tid:'璁惧id',
         tida:'璁惧id锛�',
         fin:'鏄惁瀹屾垚浠诲姟锛�',
-        sureadd:'纭娣诲姞',
-        sureadda:'鏄惁纭娣诲姞锛�',
-        zailong:'鍦ㄧ涓�',
-        rengongxp:'浜哄伐涓嬬墖',
-        up:'涓婁竴椤�',
-        down:'涓嬩竴椤�',
-        now:'褰撳墠椤垫樉绀�',
-        tit:'鏉℃暟鎹�',
-        temperingqueries:'閽㈠寲鏌ヨ',
-        specifytempering:'鎸囧畾涓�鐐�',
-        specifyengineerid:'鎸囧畾宸ョ▼',
-        projectnumber:'宸ョ▼鍙�',
-        layoutnumber:'閽㈠寲鐗堝浘鍙�',
-        numberglasses:'鐜荤拑鏁伴噺',
-        specifytemperinga:'鏄惁鎸囧畾閽㈠寲璇ユ潯淇℃伅锛�',
-        temperedswitch:'閽㈠寲寮�鍏�',
-        dutyinformation:'鍊肩彮淇℃伅',
-        process:'宸ュ簭',
-        team:'鐝粍',
-        basic:'璁惧',
+        sureadd: '纭娣诲姞',
+        sureadda: '鏄惁纭娣诲姞锛�',
+        zailong: '鍦ㄧ涓�',
+        rengongxp: '浜哄伐涓嬬墖',
+        up: '涓婁竴椤�',
+        down: '涓嬩竴椤�',
+        now: '褰撳墠椤垫樉绀�',
+        tit: '鏉℃暟鎹�',
+        temperingqueries: '閽㈠寲鏌ヨ',
+        specifytempering: '鎸囧畾涓�鐐�',
+        specifyout: '鎸囧畾浜哄伐鍑虹墖',
+        specifyengineerid: '鎸囧畾宸ョ▼',
+        projectnumber: '宸ョ▼鍙�',
+        layoutnumber: '閽㈠寲鐗堝浘鍙�',
+        numberglasses: '鐜荤拑鏁伴噺',
+        specifytemperinga: '鏄惁鎸囧畾閽㈠寲璇ユ潯淇℃伅锛�',
+        temperedswitch: '閽㈠寲寮�鍏�',
+        dutyinformation: '鍊肩彮淇℃伅',
+        process: '宸ュ簭',
+        team: '鐝粍',
+        basic: '璁惧',
         makesure:'纭淇濆瓨',
         // cancel:'鍙栨秷',
         temperingtotal:'閽㈠寲鐐夋暟锛�',
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 686a171..e00d842 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -1,16 +1,15 @@
 <script lang="ts" setup>
-import { useI18n } from 'vue-i18n'
-  const { t } = useI18n()
-  let language = ref(localStorage.getItem('lang') || 'zh')
-import {Search} from "@element-plus/icons-vue";
+import {useI18n} from 'vue-i18n'
 import {useRouter} from "vue-router"
-const router = useRouter()
 import request from "@/utils/request"
-import { WebSocketHost ,host} from '@/utils/constants'
-import { ref, onMounted , onBeforeUnmount, reactive, computed,onUnmounted } from "vue";
-import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { tr } from "element-plus/es/locale";
+import {host, WebSocketHost} from '@/utils/constants'
+import {computed, onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+import {ElMessage, ElMessageBox} from 'element-plus'
+
+const {t} = useI18n()
+let language = ref(localStorage.getItem('lang') || 'zh')
+const router = useRouter()
 const dialogFormVisible = ref(false)
 const dialoglea = ref(false)
 const dialogFormVisiblea = ref(false)
@@ -362,21 +361,22 @@
   }  
 }; 
  // 鎸囧畾閽㈠寲
- const brokee = async(row) => {  
+const brokee = async (row, temperingFeedSequence) => {
   try {
-    const confirmResult = await ElMessageBox.confirm(  
-      t('searchOrder.specifytemperinga'), 
-      t('searchOrder.prompt'),  
-      {  
-        confirmButtonText: t('searchOrder.yes'), 
-        cancelButtonText: t('searchOrder.cancel'),
-        type: 'warning',  
-      } 
+    const confirmResult = await ElMessageBox.confirm(
+        t('searchOrder.specifytemperinga'),
+        t('searchOrder.prompt'),
+        {
+          confirmButtonText: t('searchOrder.yes'),
+          cancelButtonText: t('searchOrder.cancel'),
+          type: 'warning',
+        }
     ); 
     if (confirmResult === 'confirm') {  
       const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/TemperingGlass",{
         engineerId: row.engineer_id,
         temperingLayoutId: row.tempering_layout_id,
+        temperingFeedSequence: temperingFeedSequence
     });
     if (response.code === 200) {
       ElMessage.success(response.message);
@@ -386,7 +386,8 @@
     }  
   } catch (error) {  
     console.error('鍙戠敓閿欒:', error);  
-  }  
+  }
+  handleganghua();
 }; 
  // 鎸囧畾宸ョ▼
  const brokek = async(row) => {  
@@ -1561,10 +1562,18 @@
           <el-table-column prop="count4" align="center" :label="$t('鐮存崯/鎷胯蛋鏁伴噺')" min-width="150" />
           <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="250">
             <template #default="scope">
-              <el-button size="mini" type="text" plain @click="brokee(scope.row)">{{ $t('searchOrder.specifytempering') }}</el-button>
-              <el-button size="mini" type="text" plain @click="brokek(scope.row)">{{ $t('searchOrder.specifyengineerid') }}</el-button>
+              <el-button size="mini" type="text" plain @click="brokee(scope.row,1)">
+                {{ $t('searchOrder.specifytempering') }}
+              </el-button>
+              <el-button size="mini" type="text" plain @click="brokee(scope.row,0)">{{
+                  $t('searchOrder.specifyout')
+                }}
+              </el-button>
+              <el-button size="mini" type="text" plain @click="brokek(scope.row)">{{
+                  $t('searchOrder.specifyengineerid')
+                }}
+              </el-button>
             </template>
-            
         </el-table-column>
         </el-table>
 </el-dialog>
diff --git a/UI-Project/src/views/UnLoadGlass/PrintCustomLabelSemi1.vue b/UI-Project/src/views/UnLoadGlass/PrintCustomLabelSemi1.vue
index 2927b8f..35c3a2d 100644
--- a/UI-Project/src/views/UnLoadGlass/PrintCustomLabelSemi1.vue
+++ b/UI-Project/src/views/UnLoadGlass/PrintCustomLabelSemi1.vue
@@ -1,8 +1,7 @@
 <script setup>
 import request from "@/utils/request"
-import {ElDatePicker, ElMessage} from "element-plus"
-import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue"
-import {Search} from "@element-plus/icons-vue"
+import {ElMessage} from "element-plus"
+import {onMounted, ref} from "vue"
 // import {useRouter} from 'vue-router'
 // import {changeFilterEvent, filterChanged} from "@/hook"
 // import {useI18n} from 'vue-i18n'
@@ -36,14 +35,15 @@
 let props = defineProps({
   printFlowCardId: null,
   printLayer: null,
+  printGlassId: null,
 })
 
 onMounted(async () => {
-  console.log(props.printFlowCardId,props.printLayer)
-  const response = await request.post('/unLoadGlass/downGlassInfo/downGlassLabelPrint',{
-        flowCardId:props.printFlowCardId,
-        layer:props.printLayer
-    });
+  const response = await request.post('/unLoadGlass/downGlassInfo/downGlassLabelPrint', {
+    flowCardId: props.printFlowCardId,
+    layer: props.printLayer,
+    glassId: props.printGlassId
+  });
         if (response.code == 200) {
           console.log("lastList.value",response.data)
           lastList.value=response.data;
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index 5a918af..cb55ff6 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -1,18 +1,14 @@
 <script setup>
-import { onBeforeUnmount, onMounted, onUnmounted, reactive, ref } from "vue";
-import { useRouter } from "vue-router"
-import { useI18n } from 'vue-i18n'
-import { ElMessage } from 'element-plus'
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
+import {useRouter} from "vue-router"
+import {useI18n} from 'vue-i18n'
+import {ElMessage} from 'element-plus'
 import request from "@/utils/request";
-import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService';
-import { host, WebSocketHost } from '@/utils/constants'
-import PrintFlow from "@/views/UnLoadGlass/PrintFlow.vue";
-import Landingindication from "./Landingindication.vue";
-import Landingindicationtwo from "./Landingindicationtwo.vue";
-import PrintLabel from "@/views/UnLoadGlass/PrintCustomLabelSemi1.vue";
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+import {host, WebSocketHost} from '@/utils/constants'
 
 const router = useRouter()
-const { t } = useI18n()
+const {t} = useI18n()
 let language = ref(localStorage.getItem('lang') || 'zh')
 const printLoading = ref(true)
 const fullFlowCard = ref('')
@@ -44,6 +40,7 @@
 const dialogTableVisible1 = ref(false)
 const printFlowCardId = ref('')
 const printLayer = ref('')
+const printGlassId = ref('')
 const now = new Date();
 const timeRange = ref([])
 const browser = ref(false)
@@ -234,6 +231,9 @@
       scanGlass.value.width = height;
       scanGlass.value.height = width;
     }
+    if (autoPrint.value == true && browser.value == true) {
+      open1(scanGlass);
+    }
   }
 
   //鑷姩鎵撳嵃
@@ -338,6 +338,7 @@
 
   printFlowCardId.value = row.flowCardId;
   printLayer.value = row.layer
+  printGlassId.value = row.glassId
   dialogTableVisible1.value = true;
   setTimeout(() => {
     printFlowCard1();
@@ -536,6 +537,9 @@
               </div>
               <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:170px;">
                 <div>浜哄伐涓嬬墖褰撳墠鐜荤拑淇℃伅</div>
+                <div>
+                  <el-button type="primary" @click="open1(takeGlass)">鎵撳嵃鏍囩</el-button>
+                </div>
                 <div>{{ takeGlass.flowCardId }}</div>
                 <div>{{ takeGlass.layer }}</div>
                 <div>{{ takeGlass.glassId }}</div>
@@ -551,6 +555,9 @@
               </div>
               <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:200px;">
                 <div>鎵爜鏋綋鍓嶇幓鐠冧俊鎭�</div>
+                <div>
+                  <el-button type="primary" @click="open1(scanGlass)">鎵撳嵃鏍囩</el-button>
+                </div>
                 <div>{{ scanGlass.flowCardId }}</div>
                 <div>{{ scanGlass.layer }}</div>
                 <div>{{ scanGlass.glassId }}</div>
@@ -622,7 +629,8 @@
       style="width: 100%;height: 100%" />
   </el-dialog>
   <el-dialog id="sizePrintCalrd1" v-model="dialogTableVisible1" destroy-on-close>
-    <print-label id="printFlowCard" :printFlowCardId="printFlowCardId" :printLayer="printLayer" style="" />
+    <print-label id="printFlowCard" :printFlowCardId="printFlowCardId" :printLayer="printLayer"
+                 :printGlassId="printGlassId" style=""/>
   </el-dialog>
 
 </template>
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
index 40292ce..27d4d64 100644
--- a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
@@ -27,7 +27,7 @@
         on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
         where fc.process_id = #{processId}
         <if test="technologyNumber != 0">
-            and a.layer = #{technologyNumber}
+            and fc.technology_number = #{technologyNumber}
         </if>
         <if test="technologyNumber != 0">
             and position(fc.technology_number in #{technologyNumber})
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index 94dd2e2..37bfe0d 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -80,6 +80,12 @@
     @Value("${mes.max.secondLength}")
     private String secondLength;
 
+    @Value("${mes.cache.cacheWidth}")
+    private double cacheWidth;
+
+    @Value("${mes.cache.cacheHeight}")
+    private double cacheHeight;
+
     @Value("${mes.min.one.firstLength}")
     private String minOneFirstLength;
 
@@ -165,9 +171,9 @@
                 Damage damage = new Damage();
                 damage.setGlassId(e.getGlassId());
                 damage.setLine(e.getEndCell());
-                damage.setWorkingProcedure("鍐峰姞宸�");
+                damage.setWorkingProcedure("纾ㄨ竟");
                 damage.setRemark("纾ㄨ竟鍓嶅崸寮忕悊鐗�");
-                damage.setStatus(0);
+                damage.setStatus(1);
                 damage.setType(e.getTaskStatus());
                 return damage;
             }).collect(Collectors.toList());
@@ -187,6 +193,16 @@
      */
     public void inTo(String glassId, String confirmationWrodAddress, String currentSlot) {
         log.info("1銆佹寜鐓х幓鐠僫d:{}鑾峰彇鐜荤拑灏忕墖淇℃伅,褰撳墠鏍煎瓙涓�:{}", glassId, currentSlot);
+
+        GlassInfo feedGlassInfo = glassInfoService.getOne(
+                new LambdaQueryWrapper<GlassInfo>()
+                        .eq(GlassInfo::getGlassId, glassId)
+        );
+        if (Math.max(feedGlassInfo.getWidth(), feedGlassInfo.getHeight()) > cacheWidth || Math.min(feedGlassInfo.getWidth(), feedGlassInfo.getHeight()) > cacheHeight) {
+            log.info("1.1銆佺幓鐠冭秴杩囧崸寮忕悊鐗囨渶澶у昂瀵�:{}", feedGlassInfo);
+            return;
+        }
+
         //娣诲姞杩涚墖浠诲姟  鏌ユ壘绌烘牸
         EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(Integer.parseInt(currentSlot), Boolean.FALSE);
         Assert.isTrue(null != nearestEmpty, "鏍煎瓙宸叉弧");
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
index eaa6417..276d6b9 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@
 
 spring:
   profiles:
-    active: dev
+    active: cz
   application:
     name: cacheGlass
   liquibase:
@@ -15,6 +15,9 @@
 mes:
   threshold: 3
   ratio: 10
+  cache: # 鍗у紡鐞嗙墖鏈�澶у昂瀵�
+    cacheWidth: 4000
+    cacheHeight:3000
   max: # 绗簩鏉$嚎鐨勬渶澶у昂瀵镐俊鎭�
     firstLength: 3500
     secondLength: 2500
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
index 3b73c7e..ee8546b 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -3,7 +3,6 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
 import com.mes.bigstorage.service.BigStorageCageService;
@@ -92,7 +91,8 @@
     @ApiOperation("鎸囧畾閽㈠寲")
     @PostMapping("/TemperingGlass")
     public Result temperingGlass(@RequestBody BigStorageCageDetails bigStorageCageDetails) {
-        boolean result = bigStorageCageDetailsService.temperingGlass(bigStorageCageDetails.getTemperingLayoutId().toString(), bigStorageCageDetails.getEngineerId());
+        boolean result = bigStorageCageDetailsService
+                .temperingGlass(bigStorageCageDetails.getTemperingLayoutId().toString(), bigStorageCageDetails.getEngineerId(), bigStorageCageDetails.getTemperingFeedSequence().toString());
         if (result == true) {
             return Result.build(200, "鎸囧畾閽㈠寲鎴愬姛", 1);
         } else {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
index 8703694..8daa7b7 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -69,7 +69,7 @@
      */
     List<SlotSequenceDTO> queryGlassMaxAndMin(String engineerId, Integer temperingLayoutId);
 
-    boolean temperingGlass(String temperingLayoutId, String engineerId);
+    boolean temperingGlass(String temperingLayoutId, String engineerId, String temperingFeedSequence);
 
     List<Map<String, Object>> selectTemperingGlass();
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index 8a73f9e..1ddb267 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -2,7 +2,6 @@
 
 import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.toolkit.JoinWrappers;
@@ -27,6 +26,7 @@
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.job.PlcStorageCageTask;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
 import com.mes.temperingglass.service.TemperingGlassInfoService;
@@ -70,6 +70,9 @@
 
     @Resource
     private TemperingGlassInfoService temperingGlassInfoService;
+
+    @Resource
+    private PlcStorageCageTask plcStorageCageTask;
 
     @Resource
     private DamageService damageService;
@@ -188,7 +191,7 @@
         LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper = new LambdaQueryWrapper<>();
         bigStorageCageDetailsWrapper
                 .eq(BigStorageCageDetails::getGlassId, glassId)
-                .eq(BigStorageCageDetails::getState,Const.GLASS_STATE_IN);
+                .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN);
         BigStorageCageDetails bigStorageCageDetails = baseMapper.selectOne(bigStorageCageDetailsWrapper);
 
         if (temperingGlassInfo != null) {
@@ -221,7 +224,7 @@
     @Override
     public List<BigStorageCageDetails> selectBigStorageCageDetails(String glassId) {
         LambdaQueryWrapper<GlassInfo> glassInfoWrapper = new LambdaQueryWrapper<>();
-        List<BigStorageCageDetails> bigStorageCageDetailsList=new ArrayList<>();
+        List<BigStorageCageDetails> bigStorageCageDetailsList = new ArrayList<>();
         glassInfoWrapper.eq(GlassInfo::getGlassId, glassId);
         GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoWrapper);
         BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
@@ -276,8 +279,8 @@
                 .gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight()))
                 .last("limit 1");
         if (glassInfo.getTemperingLayoutId() == 0) {
-            wrapper.eq(BigStorageCageDetails::getFlowCardId,glassInfo.getFlowCardId())
-                    .eq(BigStorageCageDetails::getLayer,glassInfo.getLayer());
+            wrapper.eq(BigStorageCageDetails::getFlowCardId, glassInfo.getFlowCardId())
+                    .eq(BigStorageCageDetails::getLayer, glassInfo.getLayer());
 //            wrapper.eq(BigStorageCageDetails::getWidth, glassInfo.getWidth()).eq(BigStorageCageDetails::getHeight, glassInfo.getHeight());
         } else {
             wrapper.eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() + 1);
@@ -363,7 +366,7 @@
     }
 
     @Override
-    public boolean temperingGlass(String temperingLayoutId, String engineerId) {
+    public boolean temperingGlass(String temperingLayoutId, String engineerId, String temperingFeedSequence) {
         LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
         temperingGlassInfoLambdaQueryWrapper
                 .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW);
@@ -380,7 +383,13 @@
                     .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
                     .orderBy(Boolean.TRUE, sequenceOrder, GlassInfo::getTemperingFeedSequence));
             if (CollectionUtils.isNotEmpty(temperingGlassInfos)) {
-                temperingGlassInfoService.saveBatch(temperingGlassInfos);
+                if ("0".equals(temperingFeedSequence)) {
+                    if (CollectionUtils.isNotEmpty(temperingGlassInfos)) {
+                        plcStorageCageTask.computeOutMoreGlassInfo(temperingGlassInfos, Boolean.FALSE, "");
+                    }
+                } else {
+                    temperingGlassInfoService.saveBatch(temperingGlassInfos);
+                }
                 return true;
             }
         }
@@ -406,7 +415,7 @@
     }
 
     @Override
-    public void appointEngineerId(String engineerId){
+    public void appointEngineerId(String engineerId) {
         redisUtil.setCacheObject("temperingengineerId", engineerId);
     }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 8ab87a9..9937f03 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -437,13 +437,13 @@
             List<BigStorageCageOutTask> outSuccessGlass = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
                     .in(BigStorageCageOutTask::getGlassId, glassIds).in(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_ALL));
             if (CollectionUtils.isNotEmpty(outSuccessGlass)) {
-                for (BigStorageCageOutTask bigStorageCageOutTask:outSuccessGlass
-                     ) {
-                    if(bigStorageCageOutTask.getEndSlot().equals(Const.ARTIFICIAL_OUT_TARGET_POSITION)){
+                for (BigStorageCageOutTask bigStorageCageOutTask : outSuccessGlass
+                ) {
+                    if (bigStorageCageOutTask.getEndSlot().equals(Const.ARTIFICIAL_OUT_TARGET_POSITION)) {
                         temperingGlassInfoService.update(
                                 new LambdaUpdateWrapper<TemperingGlassInfo>()
-                                        .set(TemperingGlassInfo::getState,Const.TEMPERING_END)
-                                        .eq(TemperingGlassInfo::getGlassId,bigStorageCageOutTask.getGlassId())
+                                        .set(TemperingGlassInfo::getState, Const.TEMPERING_END)
+                                        .eq(TemperingGlassInfo::getGlassId, bigStorageCageOutTask.getGlassId())
                         );
                     }
                 }
@@ -527,9 +527,9 @@
                 Damage damage = new Damage();
                 damage.setGlassId(bigStorageCageFeedTask.getGlassId());
                 damage.setLine(bigStorageCageFeedTask.getLine());
-                damage.setWorkingProcedure("鍐峰姞宸�");
+                damage.setWorkingProcedure("纾ㄨ竟");
                 damage.setRemark("杩涚鍓嶅崸杞珛");
-                damage.setStatus(0);
+                damage.setStatus(1);
                 damage.setType(bigStorageCageFeedTask.getTaskState());
                 damageService.insertDamage(damage);
                 slotList.add(bigStorageCageFeedTask.getTargetSlot());
@@ -555,9 +555,9 @@
                 Damage damage = new Damage();
                 damage.setGlassId(bigStorageCageOutTask.getGlassId());
                 damage.setLine(bigStorageCageOutTask.getEndSlot());
-                damage.setWorkingProcedure("鍐峰姞宸�");
+                damage.setWorkingProcedure("閽㈠寲");
                 damage.setRemark("鍑虹墖鍚庡崸杞珛");
-                damage.setStatus(0);
+                damage.setStatus(1);
                 damage.setType(bigStorageCageOutTask.getTaskState());
                 damageService.insertDamage(damage);
                 slotList.add(bigStorageCageOutTask.getStartSlot());
@@ -572,6 +572,58 @@
     }
 
     /**
+     * 纭瀛楁竻绌�
+     */
+//    @Scheduled(fixedDelay = 300)
+//    public void confirmClear() {
+//        PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+//        String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
+//        String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
+//        String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
+//        String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
+//        String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
+//        String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
+//        String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress();
+//        String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress();
+//        if(!REQUEST_WORD.equals(d01ToMES)){
+//            S7object.getinstance().plccontrol.writeWord(mesD01Address, 0);
+//        }
+//        if(!REQUEST_WORD.equals(d04ToMES)){
+//            S7object.getinstance().plccontrol.writeWord(mesD04Address, 0);
+//        }
+//        if (!REQUEST_WORD.equals(d03ToMES)) {
+//            S7object.getinstance().plccontrol.writeWord(mesD03Address, 0);
+//        }
+//        if (!REQUEST_WORD.equals(d05ToMES)) {
+//            S7object.getinstance().plccontrol.writeWord(mesD05Address, 0);
+//        }
+//    }
+    /**
+     * 杩涚墖鐘舵�佷慨鏀�
+     */
+//    @Scheduled(fixedDelay = 300)
+//    public void feedStatusUpdate() {
+//        List<String> glassIds1=null;
+//        List<String> glassIds2=null;
+//        List<BigStorageCageFeedTask> bigStorageCageFeedTasks1=bigStorageCageFeedTaskService.list(
+//                new LambdaQueryWrapper<BigStorageCageFeedTask>()
+//                .eq(BigStorageCageFeedTask::getTaskState,1)
+//                .eq(BigStorageCageFeedTask::getLine,Const.ARTIFICIAL_OUT_TARGET_POSITION)
+//        );
+//        List<BigStorageCageFeedTask> bigStorageCageFeedTasks2=bigStorageCageFeedTaskService.list(
+//                new LambdaQueryWrapper<BigStorageCageFeedTask>()
+//                        .eq(BigStorageCageFeedTask::getTaskState,1)
+//                        .eq(BigStorageCageFeedTask::getLine,Const.TEMPERING_OUT_TARGET_POSITION)
+//        );
+////        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
+////
+////        }
+////        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
+////
+////        }
+//    }
+
+    /**
      * 鎸夌収鐜荤拑id鍒ゆ柇鐜荤拑鐘舵�佸強鍗ц浆绔嬫槸鍚﹀彲鐩存帴鍚姩
      */
     public Boolean judgeGlassTypeStatus(String glassId, Integer line, String mesAddress) {
@@ -581,14 +633,24 @@
                 .eq(EdgGlassTaskInfo::getLine, line)
                 .apply("time >= (select time from edg_glass_task_info where line='" + line + "' and glass_id = '" + glassId + "' and deleted = 0)")
                 .orderByAsc(EdgGlassTaskInfo::getTime));
-        if (edgGlassTaskInfoList == null) {
-            log.info("绾胯矾锛歿}璇嗗埆鐜荤拑淇℃伅鏈嚭鐜板湪灏哄琛ㄤ腑,鑾峰彇鐩搁偦涓ゅ潡鐜荤拑澶辫触", line);
-        } else {
+        if (edgGlassTaskInfoList.size() == 0) {
             edgGlassTaskInfoList = edgGlassTaskInfoService.list(new QueryWrapper<EdgGlassTaskInfo>()
                     .select("Top 1 *")
                     .eq("glass_id", glassId)
             );
             log.info("鍦ㄥ昂瀵歌〃涓幏鍙栫幓鐠冧俊鎭瘂}", edgGlassTaskInfoList);
+            if (edgGlassTaskInfoList.size() == 0) {
+                GlassInfo glassInfo = glassInfoService.getOne(
+                        new LambdaQueryWrapper<GlassInfo>()
+                                .eq(GlassInfo::getGlassId, glassId)
+                );
+                EdgGlassTaskInfo edgGlassTaskInfo = new EdgGlassTaskInfo();
+                BeanUtils.copyProperties(glassInfo, edgGlassTaskInfo);
+                edgGlassTaskInfo.setWidth((int) glassInfo.getWidth());
+                edgGlassTaskInfo.setHeight((int) glassInfo.getHeight());
+                edgGlassTaskInfoList.add(edgGlassTaskInfo);
+                log.info("鍦ㄧ幓鐠冧俊鎭〃涓幏鍙栫幓鐠冧俊鎭瘂}", edgGlassTaskInfoList);
+            }
         }
         Assert.isFalse(CollectionUtils.isEmpty(edgGlassTaskInfoList), "璇嗗埆鐜荤拑淇℃伅鏈嚭鐜板湪灏哄琛ㄤ腑,鑾峰彇鐩搁偦涓ゅ潡鐜荤拑澶辫触");
         //2銆佽幏鍙栧崸杞珛鍓╀綑瀹藉害
@@ -844,7 +906,7 @@
      * @param <T>
      * @return
      */
-    private <T extends BigStorageCageBaseInfo> Boolean computeOutMoreGlassInfo(List<T> list, Boolean isTempering, String mesToPLCAddress) {
+    public <T extends BigStorageCageBaseInfo> Boolean computeOutMoreGlassInfo(List<T> list, Boolean isTempering, String mesToPLCAddress) {
         //浠诲姟鏁版嵁  鑾峰彇杞﹀瓙瀛樻斁鐜荤拑鏈�澶ф暟閲�  鐜荤拑闂撮殧
         List<BigStorageCageOutTask> bigStorageCageOutTaskList = new ArrayList<>();
         //鎵撹溅鍓╀綑灏哄
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index dd93257..5ada9b0 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -2,13 +2,11 @@
 
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
 import com.mes.bigstorage.service.BigStorageCageService;
-import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
 import com.mes.common.config.Const;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.service.DamageService;
@@ -17,7 +15,6 @@
 import com.mes.job.PlcStorageCageTask;
 import com.mes.pp.entity.ReportingWork;
 import com.mes.pp.entity.ReportingWorkDetail;
-import com.mes.temperingglass.entity.TemperingGlassInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -32,7 +29,9 @@
 import java.net.URL;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * @Author : zhoush
@@ -173,7 +172,7 @@
         Damage damage=new Damage();
         damage.setGlassId("P24060403|3|6");
         damage.setLine(2001);
-        damage.setWorkingProcedure("鍐峰姞宸�");
+        damage.setWorkingProcedure("纾ㄨ竟");
         damage.setRemark("");
         damage.setStatus(2);
         damageService.insertDamage(damage);
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
index 089ecd4..6330ac4 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
@@ -152,7 +152,7 @@
                 damage.setLine(Const.TEMPERING_OUT_TARGET_POSITION);
                 damage.setWorkingProcedure("閽㈠寲");
                 damage.setRemark("閽㈠寲");
-                damage.setStatus(0);
+                damage.setStatus(1);
                 damage.setType(e.getState());
                 return damage;
             }).collect(Collectors.toList());
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index 7fdfb28..c7d2ab8 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -1,6 +1,5 @@
 package com.mes.downglassinfo.service.impl;
 
-import cn.smallbun.screw.core.util.CollectionUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -19,6 +18,7 @@
 import com.mes.downworkstation.entity.dto.DownGlassInfoDTO;
 import com.mes.downworkstation.service.DownWorkstationService;
 import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
 import com.mes.job.DownLoadCacheGlassTask;
 import com.mes.pp.service.FlowCardService;
 import lombok.extern.slf4j.Slf4j;
@@ -31,7 +31,6 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -52,6 +51,9 @@
 
     @Autowired
     FlowCardService flowCardService;
+
+    @Autowired
+    GlassInfoService glassInfoService;
 
     /**
      * 鏍规嵁娴佺▼鍗″彿鏌ヨ鏈�澶у簭鍙�
@@ -224,8 +226,15 @@
 
     @Override
     public List<Map<String, Object>> downGlassLabelPrint(DownGlassInfo downGlassInfo) {
-
-        List<Map<String, Object>> resultList = baseMapper.downGlassLabelPrint(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+        List<Map<String, Object>> resultList = null;
+        if (downGlassInfo.getGlassId() != null) {
+            resultList = glassInfoService.listMaps(
+                    new LambdaQueryWrapper<GlassInfo>()
+                            .eq(GlassInfo::getGlassId, downGlassInfo.getGlassId())
+            );
+        } else {
+            resultList = baseMapper.downGlassLabelPrint(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+        }
         log.info("MES钀芥灦鏁版嵁:{}", resultList);
         //鑾峰彇ERP鏍囩鎵�闇�鐨勪俊鎭�
         List<Map<String, Object>> labelInfo;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index e96ddf0..a335c88 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -30,7 +30,6 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
@@ -93,7 +92,6 @@
         String confirmationWrodValue = plcParameterObject.getPlcParameter("confirmationWord").getValue();
         String confirmationWrodAddress = plcParameterObject.getPlcParameter("confirmationWord").getAddress();
         String currentSlot = plcParameterObject.getPlcParameter("currentCell").getValue();
-
 
         log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛歡06:{}銆乬08:{}銆乬11:{}銆乬13:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
                 requestWord, glassIdeValue, confirmationWrodValue, out06Glassstate, out08Glassstate, out11Glassstate, out13Glassstate, currentSlot);
@@ -169,9 +167,9 @@
                 Damage damage = new Damage();
                 damage.setGlassId(e.getGlassId());
                 damage.setLine(Const.TEMPERING_OUT_TARGET_POSITION);
-                damage.setWorkingProcedure("涓嬬墖");
+                damage.setWorkingProcedure("閽㈠寲");
                 damage.setRemark("涓嬬墖");
-                damage.setStatus(0);
+                damage.setStatus(1);
                 damage.setType(e.getTaskStatus());
                 return damage;
             }).collect(Collectors.toList());

--
Gitblit v1.8.0