From db0a9d674f1317646ef57d965bace6d80238ef38 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 08 八月 2024 08:51:06 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java                  |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java                                      |   10 +++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java                |    3 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java         |    9 +++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java                      |   12 ++++
 JsonFile/PlcdownGlass.json                                                                                                                   |    7 ++
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java                                              |   16 ++--
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                                   |   12 ++-
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java            |    7 ++
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java                    |    2 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java                                                          |   32 +++++-----
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java       |    5 -
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java             |   33 +++++++++++
 14 files changed, 117 insertions(+), 37 deletions(-)

diff --git a/JsonFile/PlcdownGlass.json b/JsonFile/PlcdownGlass.json
index 98366a9..a5698c2 100644
--- a/JsonFile/PlcdownGlass.json
+++ b/JsonFile/PlcdownGlass.json
@@ -1,6 +1,6 @@
 {
 	"plcAddressBegin": "DB11.0",
-	"plcAddressLenght": "92",
+	"plcAddressLenght": "94",
 	"dataType": "word",
 	"parameteInfor": [
 
@@ -138,6 +138,11 @@
 			"codeId": "task_type",
 			"addressIndex": "90",
 			"addressLenght": "2"
+		},
+		{
+			"codeId": "alarm_signal",
+			"addressIndex": "92",
+			"addressLenght": "2"
 		}
 
 	]
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 2c2763a..e75e9cf 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
@@ -41,8 +41,8 @@
      * 浜哄伐涓嬬墖102
      * 鍑虹墖涓�103
      * 璋冨害涓�104
-     * 鎷胯蛋200
-     * 鐮存崯201
+     * 鐮存崯8
+     * 鎷胯蛋9
      */
     public static final Integer GLASS_STATE_NEW = 0;
     public static final Integer GLASS_STATE_IN = 100;
@@ -50,8 +50,8 @@
     public static final Integer GLASS_STATE_ARTIFICIAL = 102;
     public static final Integer GLASS_STATE_OUT_ING = 103;
     public static final Integer GLASS_STATE_SCHEDULE_ING = 104;
-    public static final Integer GLASS_STATE_TAKE = 200;
-    public static final Integer GLASS_STATE_DAMAGE = 201;
+    public static final Integer GLASS_STATE_DAMAGE = 8;
+    public static final Integer GLASS_STATE_TAKE = 9;
     public static final List<Integer> GLASS_STATE_IN_ALL = Arrays.asList(100, 102, 103, 104);
     public static final List<Integer> GLASS_STATE_IN_ALL_ZERO = Arrays.asList(0, 100, 102, 103, 104);
 
@@ -98,29 +98,29 @@
      * 2 鍗ц浆绔嬭繘鐗囧畬鎴�
      * 3 澶ц溅杩涚墖瀹屾垚
      * 4 澶х悊鐗囩杩涚墖瀹屾垚
-     * 5 澶х悊鐗囩杩涚墖澶辫触
-     * 6 澶х悊鐗囩杩涚墖鐮存崯
+     * 8 澶х悊鐗囩杩涚墖鐮存崯
+     * 9 澶х悊鐗囩杩涚墖鎷胯蛋
      */
     public static final Integer BIG_STORAGE_IN_NEW = 1;
     public static final Integer BIG_STORAGE_IN_UP = 2;
     public static final Integer BIG_STORAGE_IN_CAR = 3;
     public static final Integer BIG_STORAGE_IN_SLOT = 4;
-    public static final Integer BIG_STORAGE_IN_ERROR = 5;
-    public static final Integer BIG_STORAGE_IN_DAMAGE = 6;
+    //    public static final Integer BIG_STORAGE_IN_DAMAGE = 8;
+//    public static final Integer BIG_STORAGE_IN_ERROR = 9;
     public static final List<Integer> BIG_STORAGE_IN_UP_ALL = Arrays.asList(1, 2);
     /**
      * 鍗ц浆绔嬪嚭鐗囪姹�
      * 1 浠诲姟鐢熸垚
      * 2 鐜荤拑杩涘ぇ杞﹀畬鎴�
      * 3 澶ц溅鍑虹墖瀹屾垚
-     * 4 澶х悊鐗囩杩涚墖澶辫触
-     * 5 澶х悊鐗囩杩涚墖鐮存崯
+     * 8 澶х悊鐗囩杩涚墖鐮存崯
+     * 9 澶х悊鐗囩杩涚墖鎷胯蛋
      */
     public static final Integer BIG_STORAGE_OUT_NEW = 1;
     public static final Integer BIG_STORAGE_OUT_CAR = 2;
     public static final Integer BIG_STORAGE_OUT_SUCCESS = 3;
-    public static final Integer BIG_STORAGE_OUT_ERROR = 4;
-    public static final Integer BIG_STORAGE_OUT_DAMAGE = 5;
+    //    public static final Integer BIG_STORAGE_OUT_DAMAGE = 8;
+//    public static final Integer BIG_STORAGE_OUT_ERROR = 9;
     public static final List<Integer> BIG_STORAGE_OUT_ALL = Arrays.asList(2, 3);
 
     /**
@@ -139,8 +139,8 @@
      * 2  杩涚倝瀹屾垚
      * 3  閽㈠寲瀹屾垚
      * 4  鍑虹墖瀹屾垚
-     * 5  鐮存崯
-     * 6  鎷胯蛋
+     * 8  鐮存崯
+     * 9  鎷胯蛋
      */
 
     public static final Integer TEMPERING_NEW = -1;
@@ -149,8 +149,8 @@
     public static final Integer TEMPERING_START = 2;
     public static final Integer TEMPERING_SUCCESS = 3;
     public static final Integer TEMPERING_END = 4;
-    public static final Integer TEMPERING_DAMAGE = 5;
-    public static final Integer TEMPERING_TAKE = 6;
+//    public static final Integer TEMPERING_DAMAGE = 8;
+//    public static final Integer TEMPERING_TAKE = 9;
 
     /**
      * 涓嬬墖
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 9944d58..c400f4e 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
@@ -108,7 +108,7 @@
     public Integer updateTemperingState(TemperingGlassInfo temperingGlassInfo) {
         UpdateWrapper<TemperingGlassInfo> wrapper = new UpdateWrapper<>();
         wrapper.eq("glass_id",temperingGlassInfo.getGlassId())
-                .lt("state",5)
+                .lt("state",6)
                 .set("state", temperingGlassInfo.getState());;
         if (temperingMapper.update(null,wrapper) > 0) {
             return 200;
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 7138c20..2093b2c 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
@@ -191,9 +191,9 @@
 
         if (temperingGlassInfo != null) {
             if (status == 0) {
-                temperingGlassInfo.setState(Const.TEMPERING_DAMAGE);
+                temperingGlassInfo.setState(Const.GLASS_STATE_DAMAGE);
             } else {
-                temperingGlassInfo.setState(Const.TEMPERING_TAKE);
+                temperingGlassInfo.setState(Const.GLASS_STATE_TAKE);
             }
             temperingGlassInfoMapper.updateById(temperingGlassInfo);
         }
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 5378df6..b62a0c3 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
@@ -128,6 +128,8 @@
         if (!REQUEST_WORD.equals(mesD01Value) && REQUEST_WORD.equals(d01ToMES) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
             if (!d01GlassId.equals(d01Id)) {
                 judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
+                edgGlassTaskInfoService.update(new LambdaUpdateWrapper<EdgGlassTaskInfo>()
+                        .set(EdgGlassTaskInfo::getStatus, Const.EDG_GLASS_SUCCESS).eq(EdgGlassTaskInfo::getGlassId, d01Id));
                 d01GlassId = d01Id;
             }
         }
@@ -135,6 +137,8 @@
         if (!REQUEST_WORD.equals(mesD04Value) && REQUEST_WORD.equals(d04ToMES) && !REQUEST_WORD.equals(d05State)) {
             if (!d04GlassId.equals(d04Id)) {
                 judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
+                edgGlassTaskInfoService.update(new LambdaUpdateWrapper<EdgGlassTaskInfo>()
+                        .set(EdgGlassTaskInfo::getStatus, Const.EDG_GLASS_SUCCESS).eq(EdgGlassTaskInfo::getGlassId, d04Id));
                 d04GlassId = d04Id;
             }
         }
@@ -476,10 +480,10 @@
         log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
         //鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
         List<BigStorageCageFeedTask> inDamageTaskInfoList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
-                .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+                .eq(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE));
         if (CollectionUtils.isNotEmpty(inDamageTaskInfoList)) {
             log.info("鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", inDamageTaskInfoList);
-            bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+            bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE));
             //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
             bigStorageCageDetailsService.remove(new LambdaQueryWrapper<BigStorageCageDetails>()
                     .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_NEW).in(BigStorageCageDetails::getGlassId, inDamageTaskInfoList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList())));
@@ -501,10 +505,10 @@
         }
         //鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
         List<BigStorageCageOutTask> outDamageTaskInfoList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
-                .eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_DAMAGE));
+                .eq(BigStorageCageOutTask::getTaskState, Const.GLASS_STATE_DAMAGE));
         if (CollectionUtils.isNotEmpty(outDamageTaskInfoList)) {
             log.info("鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", outDamageTaskInfoList);
-            bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_DAMAGE));
+            bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.GLASS_STATE_DAMAGE));
             List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
             //绉婚櫎閽㈠寲涓嬬墖琛ㄦ暟鎹�
             temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList));
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
index 0a371fb..0118321 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -43,7 +43,7 @@
      * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
      */
 
-    @Scheduled(fixedDelay = 30000)
+    @Scheduled(fixedDelay = 300)
     public void plcLoadGlassTask() throws InterruptedException {
         try {
             //鑾峰彇鑱旀満鐘舵��
@@ -87,7 +87,7 @@
         }
     }
 
-    @Scheduled(fixedDelay = 30000)
+    @Scheduled(fixedDelay = 300)
     public void plcLoadGlassReport() {
         //鑾峰彇鏄惁鏈夋眹鎶�
         String loadStatus = plcParameterObject.getPlcParameter("PlcStatus").getValue();
@@ -152,8 +152,8 @@
     public void loadGlassStatus() {
         JSONObject jsonObject = new JSONObject();
         //姝e湪杩涜鐨勪换鍔�
-//        String inkageStatus =plcParameterObject.getPlcParameter("InkageStatus").getValue();
-        String inkageStatus ="1";
+        String inkageStatus =plcParameterObject.getPlcParameter("InkageStatus").getValue();
+//        String inkageStatus ="1";
         jsonObject.append("InkageStatus", inkageStatus);
         ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass");
         if (sendwServer != null) {
@@ -169,12 +169,12 @@
     @Scheduled(fixedDelay = 1000)
     public void loadGlassIsRun() {
         JSONObject jsonObject = new JSONObject();
+        //鏄惁寮�濮嬪伐绋�
         Engineering engineering = engineeringService.selectInitiate(1);
-        if (engineering != null){
             jsonObject.append("engineering", engineering);
-        }else {
-            jsonObject.append("engineering", "0");
-        }
+        //宸ヤ綅淇℃伅
+        List<UpWorkstation> upWorkstations = upWorkstationService.list();
+        jsonObject.append("list", upWorkstations);
         ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlassIsRun");
         if (sendwServer != null) {
             for (WebSocketServer webserver : sendwServer) {
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
index 73cc34b..4d0abc8 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -53,10 +53,7 @@
     public Result <Integer> updateTemperingState(@RequestBody  Damage damage) {
         damageService.insertDamage(damage);
         TemperingGlassInfo temperingGlassInfo=new TemperingGlassInfo();
-        if(damage.getStatus()==2){
-            temperingGlassInfo.setState(5);
-
-        }
+        temperingGlassInfo.setState(damage.getStatus());
         temperingGlassInfo.setGlassId(damage.getGlassId());
         int result=temperingGlassInfoService.updateTemperingState(temperingGlassInfo);
         return Result.build(200, "鐮存崯鎴愬姛", result);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
index 3f8d7d5..c9f5593 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
@@ -4,6 +4,7 @@
 import com.mes.downglassinfo.service.DownGlassInfoService;
 import com.mes.utils.Result;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -15,7 +16,7 @@
     @Autowired
     DownGlassInfoService downGlassInfoService;
 
-    @RequestMapping("/selectDownGlassInfo")
+    @PostMapping("/selectDownGlassInfo")
     public Result<String> setDownGlassInfoRequest(@RequestBody DownGlassInfoRequest request) {
         return Result.success(downGlassInfoService.setDownGlassInfoRequest(request));
     }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
index f829ea4..1aa6fbb 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.entity.request.DownGlassInfoRequest;
+import com.mes.downworkstation.entity.DownWorkstation;
 import com.mes.downworkstation.entity.dto.DownGlassInfoDTO;
 
 import java.util.List;
@@ -50,5 +51,16 @@
      */
     boolean generateOutGlassTask(String glassId);
 
+    /**
+     * 璁剧疆鏋跺瓙瀹氭椂浠诲姟鏌ヨ鏉′欢
+     *
+     * @param request
+     * @return
+     */
     String setDownGlassInfoRequest(DownGlassInfoRequest request);
+
+    /**
+     * 鏌ヨ鏋跺瓙涓婄粦瀹氭祦绋嬪崱鐨勭幓鐠冩槸鍚﹀埌榻�
+     */
+    List<DownWorkstation> queryWorkStationIsFull();
 }
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 06ea03a..c1af805 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,5 +1,6 @@
 package com.mes.downglassinfo.service.impl;
 
+import cn.smallbun.screw.core.util.CollectionUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -12,14 +13,18 @@
 import com.mes.downglassinfo.service.DownGlassInfoService;
 import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.service.DownStorageCageDetailsService;
+import com.mes.downworkstation.entity.DownWorkstation;
 import com.mes.downworkstation.entity.dto.DownGlassInfoDTO;
+import com.mes.downworkstation.service.DownWorkstationService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.job.DownLoadCacheGlassTask;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class DownGlassInfoServiceImpl extends ServiceImpl<DownGlassInfoMapper, DownGlassInfo> implements DownGlassInfoService {
@@ -29,6 +34,10 @@
 
     @Autowired
     DownStorageCageDetailsService downStorageCageDetailsService;
+
+
+    @Autowired
+    DownWorkstationService downWorkstationService;
 
     @Autowired
     RedisUtil redisUtil;
@@ -104,4 +113,28 @@
         }
         return "success";
     }
+
+    @Override
+    public List<DownWorkstation> queryWorkStationIsFull() {
+        //鏌ヨ鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勫伐浣嶄俊鎭�
+        List<DownWorkstation> list = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getEnableState, Const.SLOT_ON)
+                .isNotNull(DownWorkstation::getFlowCardId).ne(DownWorkstation::getFlowCardId, ""));
+        List<DownWorkstation> workstationFull = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(list)) {
+            //閮芥湁鐜荤拑鐨勫伐浣嶄俊鎭紙鍖呮嫭缁戝畾娴佺▼鍗★級
+            List<Integer> workstationList = list.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList());
+            //鎸夌収绗﹀悎鏉′欢鐨勫伐浣嶈幏鍙栨湭钀芥灦鐨勬祦绋嬪崱鐜荤拑锛屽鏋滆繑鍥炰负绌猴紝鍒欒〃鏄庢墍鏈夐兘宸茶惤鏋跺畬鎴�
+            List<DownGlassInfoDTO> downGlassInfoDTOList = queryWorkStationIsIn(workstationList, Boolean.FALSE);
+            //鑾峰彇宸ヤ綅涓婄殑鏈弧鐨勬祦绋嬪崱鍙婂眰鏁�
+            List<String> flowCardIdList = downGlassInfoDTOList.stream().map(item -> item.getFlowCardId() + ":" + item.getLayer()).collect(Collectors.toList());
+            //鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勬墍鏈夌殑宸ヤ綅 - 鐜荤拑鏈弧娴佺▼鍗″強灞傛暟鐨勫伐浣�  =  宸叉弧宸ヤ綅
+            workstationFull = list.stream().filter(item -> !flowCardIdList.contains(item.getFlowCardId() + ":" + item.getLayer())).collect(Collectors.toList());
+            //鏄惁闇�瑕佸皢宸叉弧鐨勫伐浣嶇疆涓轰笉鍙惤鏋�
+            List<Integer> workstationIds = workstationFull.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList());
+            downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getEnableState, Const.SLOT_OFF)
+                    .in(DownWorkstation::getWorkstationId, workstationIds));
+
+        }
+        return workstationFull;
+    }
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
index f6a69e4..2f2a7aa 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
@@ -120,6 +120,13 @@
         return Result.build(200, "鏇存崲鎴愬姛", isSucess);
     }
 
+    @ApiOperation("鍏抽棴宸ヤ綅宸叉弧璀︽姤")
+    @PostMapping("/closeAlarmSignal")
+    @ResponseBody
+    public Result<String> closeAlarmSignal() {
+        return Result.build(200, "鏇存崲鎴愬姛", downWorkstationService.closeAlarmSignal());
+    }
+
 
 }
 
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
index a101328..51c1f71 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
@@ -77,4 +77,6 @@
      * @returnq 鍚敤绂佺敤
      */
     boolean updateDownWorkstationstate(DownWorkstation downWorkstation);
+
+    String closeAlarmSignal();
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
index cbcb1ff..0833609 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -4,8 +4,10 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.query.MPJQueryWrapper;
+import com.mes.common.S7object;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.service.DamageService;
+import com.mes.device.PlcParameterObject;
 import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
 import com.mes.downglassinfo.service.DownGlassInfoService;
@@ -209,5 +211,12 @@
         }
     }
 
+    @Override
+    public String closeAlarmSignal() {
+        PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+        S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("alarm_signal").getAddress(), 0);
+        return "success";
+    }
+
 
 }
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 3e8dcab..b99a4a0 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
@@ -126,6 +126,16 @@
         }
     }
 
+    @Scheduled(fixedDelay = 300)
+    public void plcShelfFull() {
+        List<DownWorkstation> list = downGlassInfoService.queryWorkStationIsFull();
+        if (CollectionUtils.isNotEmpty(list)) {
+            S7control s7control = S7object.getinstance().plccontrol;
+            PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
+            s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 1);
+        }
+    }
+
     public void inTo(String glassId, String requestWord, String currentSlot) {
         log.info("1銆佹寜鐓х幓鐠僫d:{}鑾峰彇鐜荤拑灏忕墖淇℃伅,褰撳墠鏍煎瓙涓�:{}", glassId, currentSlot);
         //娣诲姞杩涚墖浠诲姟  鏌ユ壘绌烘牸

--
Gitblit v1.8.0