From 02303aa45b96f1f749993677a60cd09a0656e07c Mon Sep 17 00:00:00 2001
From: wang <3597712270@qq.com>
Date: 星期三, 29 五月 2024 10:33:16 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java | 3
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 65 ++--
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/mapper/TaskCacheMapper.xml | 24 +
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java | 1
hangzhoumesParent/JsonFile/PlcLoadGlass.json | 78 ++++++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java | 3
hangzhoumesParent/JsonFile/PlcCacheVerticalGlass.json | 57 ++++
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java | 5
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/TaskCacheMapper.java | 4
hangzhoumesParent/JsonFile/PlcdownGlass.json | 362 +++++++++++++++++++++++++++
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java | 10
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java | 78 ++++-
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java | 4
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml | 2
hangzhoumesParent/JsonFile/PlcCacheGlass.json | 64 ++++
15 files changed, 704 insertions(+), 56 deletions(-)
diff --git a/hangzhoumesParent/JsonFile/PlcCacheGlass.json b/hangzhoumesParent/JsonFile/PlcCacheGlass.json
new file mode 100644
index 0000000..01969b7
--- /dev/null
+++ b/hangzhoumesParent/JsonFile/PlcCacheGlass.json
@@ -0,0 +1,64 @@
+{
+ "plcAddressBegin":"DB11.0",
+ "plcAddressLenght":"80",
+ "dataType":"word",
+ "parameteInfor":[
+ {
+ "codeId": "A06_request_word",
+ "addressIndex":"0",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"m/min"
+ },
+ {
+ "codeId": "A05_scanning_ID",
+ "addressIndex":"2",
+ "addressLenght":"30",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "Current_slot",
+ "addressIndex":"36",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "MES_confirmation_word",
+ "addressIndex":"38",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "A08_glass_status",
+ "addressIndex":"68",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "A10_glass_status",
+ "addressIndex":"70",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "A09_prohibit_film_production",
+ "addressIndex":"72",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ }
+ ,
+ {
+ "codeId": "A10_prohibit_film_production",
+ "addressIndex":"74",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ }
+ ]
+}
diff --git a/hangzhoumesParent/JsonFile/PlcCacheVerticalGlass.json b/hangzhoumesParent/JsonFile/PlcCacheVerticalGlass.json
new file mode 100644
index 0000000..5838dac
--- /dev/null
+++ b/hangzhoumesParent/JsonFile/PlcCacheVerticalGlass.json
@@ -0,0 +1,57 @@
+{
+ "plcAddressBegin":"DB.0",
+ "plcAddressLenght":"72",
+ "dataType":"word",
+ "parameteInfor":[
+ {
+ "codeId": "D01Request",
+ "addressIndex":"0",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"m/min"
+ },
+ {
+ "codeId": "D01ID1",
+ "addressIndex":"2",
+ "addressLenght":"6",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "D04Request",
+ "addressIndex":"8",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "D04ID1",
+ "addressIndex":"10",
+ "addressLenght":"6",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "D02Go",
+ "addressIndex":"20",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "D05Go",
+ "addressIndex":"22",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ }
+ ,
+ {
+ "codeId": "DeviceStatus",
+ "addressIndex":"70",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/JsonFile/PlcLoadGlass.json b/hangzhoumesParent/JsonFile/PlcLoadGlass.json
new file mode 100644
index 0000000..9b0432b
--- /dev/null
+++ b/hangzhoumesParent/JsonFile/PlcLoadGlass.json
@@ -0,0 +1,78 @@
+{
+ "plcAddressBegin":"DB1.2000",
+ "plcAddressLenght":"100",
+ "dataType":"word",
+ "parameteInfor":[
+ {
+ "codeId": "loadRequest",
+ "addressIndex":"0",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"m/min"
+ },
+ {
+ "codeId": "PlcStatus",
+ "addressIndex":"10",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "MesToPlc",
+ "addressIndex":"20",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "InkageStatus",
+ "addressIndex":"22",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "WorkId",
+ "addressIndex":"24",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "GlassWidth",
+ "addressIndex":"26",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "GlassHeight",
+ "addressIndex":"28",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ }
+ ,
+ {
+ "codeId": "MesToPlcStatus",
+ "addressIndex":"40",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "MesToPlcStatusId",
+ "addressIndex":"42",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "MesTaskStatus",
+ "addressIndex":"56",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/JsonFile/PlcdownGlass.json b/hangzhoumesParent/JsonFile/PlcdownGlass.json
new file mode 100644
index 0000000..c813b1d
--- /dev/null
+++ b/hangzhoumesParent/JsonFile/PlcdownGlass.json
@@ -0,0 +1,362 @@
+{
+ "plcAddressBegin": "DB100.0",
+ "plcAddressLenght": "142",
+ "dataType": "word",
+ "parameteInfor": [
+ {
+ "codeId": "RequestWord",
+ "addressIndex": "0",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G04ID",
+ "addressIndex": "2",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G06RobotTaskRequestWord",
+ "addressIndex": "4",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G06ID",
+ "addressIndex": "6",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G11RobotTaskRequestWord",
+ "addressIndex": "8",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G011ID",
+ "addressIndex": "10",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "12",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "14",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "16",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "18",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "MESSendingWord",
+ "addressIndex": "20",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "InputGrid",
+ "addressIndex": "22",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "OutputGrid",
+ "addressIndex": "24",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "OutputID",
+ "addressIndex": "26",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "FrontOrRearLowerSlice",
+ "addressIndex": "28",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "30",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G06RobotTaskReply",
+ "addressIndex": "32",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G06Rack",
+ "addressIndex": "34",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G11RobotTaskReply",
+ "addressIndex": "36",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G11Rack",
+ "addressIndex": "38",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "40",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "42",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "44",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "46",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "48",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "50",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "52",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "54",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "MESTaskState",
+ "addressIndex": "56",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "58",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "AlarmState",
+ "addressIndex": "60",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "Alarm1",
+ "addressIndex": "62",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "Alarm2",
+ "addressIndex": "64",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "Alarm3",
+ "addressIndex": "66",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "Alarm4",
+ "addressIndex": "68",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "neirong",
+ "addressIndex": "70",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "device",
+ "addressIndex": "72",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "74",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "76",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "InOut1",
+ "addressIndex": "78",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "InOut2",
+ "addressIndex": "80",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "InOut3",
+ "addressIndex": "82",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "InOut4",
+ "addressIndex": "84",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "InOut5",
+ "addressIndex": "86",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "InOut6",
+ "addressIndex": "88",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "InOut7",
+ "addressIndex": "90",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "92",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "94",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "96",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "98",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "spare",
+ "addressIndex": "100",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G04ActionState",
+ "addressIndex": "102",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G05ActionState",
+ "addressIndex": "104",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G06ActionState",
+ "addressIndex": "106",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G07ActionState",
+ "addressIndex": "108",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G08ActionState",
+ "addressIndex": "110",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G09ActionState",
+ "addressIndex": "112",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G10ActionState",
+ "addressIndex": "114",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G11ActionState",
+ "addressIndex": "116",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G12ActionState",
+ "addressIndex": "118",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G13ActionState",
+ "addressIndex": "120",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G04IDS",
+ "addressIndex": "122",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G05IDS",
+ "addressIndex": "124",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G06IDS",
+ "addressIndex": "126",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G07IDS",
+ "addressIndex": "128",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G08IDS",
+ "addressIndex": "130",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G09IDS",
+ "addressIndex": "132",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G10IDS",
+ "addressIndex": "134",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G11IDS",
+ "addressIndex": "136",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G12IDS",
+ "addressIndex": "138",
+ "addressLenght": "2"
+ },
+ {
+ "codeId": "G13ID",
+ "addressIndex": "140",
+ "addressLenght": "2"
+ }
+ ]
+}
\ No newline at end of file
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 af09ed0..7b756d8 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
@@ -1,5 +1,8 @@
package com.mes.common.config;
+import java.util.Arrays;
+import java.util.List;
+
/**
* @Author : zhoush
* @Date: 2024/4/24 10:33
@@ -42,6 +45,7 @@
public static final Integer GLASS_CACHE_TYPE_IN = 1;
public static final Integer GLASS_CACHE_TYPE_OUT = 2;
public static final Integer GLASS_CACHE_TYPE_THROUGH = 3;
+ public static final List<Integer> GLASS_CACHE_TYPE_OUT_ALL = Arrays.asList(2, 3);
/**
* 纾ㄨ竟浠诲姟鐜荤拑鐘舵��
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java
index 387f053..f5d16bf 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java
@@ -4,6 +4,9 @@
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
+/**
+ * @author SNG-010
+ */
@Configuration
public class WebSocketConfig {
/**
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 61a5e69..913738d 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
@@ -64,6 +64,12 @@
@Value("${mes.sequence.order}")
private boolean sequenceOrder;
+ @Value("${mes.firstLength}")
+ private String firstLength;
+
+ @Value("${mes.secondLength}")
+ private String secondLength;
+
@Scheduled(fixedDelay = 1000)
public void plcHomeEdgTask() {
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
@@ -140,7 +146,7 @@
* @param confirmationWrodAddress
* @param currentSlot
*/
- private void inTo(String glassId, String confirmationWrodAddress, String currentSlot) {
+ public void inTo(String glassId, String confirmationWrodAddress, String currentSlot) {
log.info("1銆佹寜鐓х幓鐠僫d:{}鑾峰彇鐜荤拑灏忕墖淇℃伅,褰撳墠鏍煎瓙涓�:{}", glassId, currentSlot);
//娣诲姞杩涚墖浠诲姟 鏌ユ壘绌烘牸
EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(Integer.parseInt(currentSlot), Boolean.FALSE);
@@ -174,7 +180,8 @@
* @return
*/
public GlassInfo queryAndChangeGlass(String glassId) {
- GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
+ GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId)
+ .inSql(GlassInfo::getEngineerId, "select engineer_id from engineering where state = 1"));
Assert.isFalse(null == glassInfo, "鐜荤拑淇℃伅涓嶅瓨鍦�");
//鎸夌収鐜荤拑灏哄
LambdaQueryWrapper<GlassInfo> queryWrapper = new LambdaQueryWrapper<GlassInfo>()
@@ -193,6 +200,7 @@
GlassInfo swapGlassInfo = glassInfoService.getOne(queryWrapper);
if (swapGlassInfo != null && !glassInfo.getGlassId().equals(swapGlassInfo.getGlassId())) {
String swapGlassId = swapGlassInfo.getGlassId();
+ log.info("灏嗙幓鐠儃}鍜岀幓鐠儃}锛屼俊鎭簰鎹�,杩涚幓鐠� {}", glassInfo, swapGlassInfo, swapGlassInfo);
swapGlassInfo.setGlassId(glassId);
glassInfo.setGlassId(swapGlassId);
glassInfoService.updateById(swapGlassInfo);
@@ -243,16 +251,16 @@
log.info("绗煎瓙鍐呭拰寰呰繘鐗囨病鏈夌幓鐠�");
return Boolean.FALSE;
}
- EdgStorageCageDetails a09EdgGlass = queryGlassByTaskCache(Const.A09_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT);
- EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT);
+ EdgStorageCageDetails a09EdgGlass = queryGlassByTaskCache(Const.A09_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
+ EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
endcell = queryLineByGlassInfo(a09EdgGlass, a10EdgGlass, glassInfo, out08Glassstate, out10Glassstate);
} else {
//鍒ゆ柇涓ゆ潯绾挎槸鍚﹂兘绌洪棽
endcell = out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
if ((out08Glassstate == 0 && out10Glassstate == 0) || (out08Glassstate == 1 && out10Glassstate == 1)) {
- EdgStorageCageDetails a09EdgGlass = queryGlassByTaskCache(Const.A09_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT);
- EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT);
+ EdgStorageCageDetails a09EdgGlass = queryGlassByTaskCache(Const.A09_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
+ EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
if (a09EdgGlass == null && a10EdgGlass == null) {
MPJQueryWrapper<EdgStorageCageDetails> wrapper = new MPJQueryWrapper<>();
wrapper.select("count(t.glass_id), t.width, t.height")
@@ -261,17 +269,18 @@
if (endcell == Const.A10_OUT_TARGET_POSITION) {
wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
"case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
- "on t.glass_id = t1.glass_id and t1.first_length <3500 and t1.second_length<2600 ");
+ "on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
}
wrapper.last("order by count(t.glass_id) desc limit 2");
List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
if (CollectionUtil.isEmpty(list)) {
MPJQueryWrapper<GlassInfo> queryWrapper = new MPJQueryWrapper<GlassInfo>()
- .selectAll(GlassInfo.class).eq("t.glass_id", glassId);
+ .selectAll(GlassInfo.class).eq("t.glass_id", glassId)
+ .inSql("t.engineer_id", "select engineer_id from engineering where state = 1");
if (endcell == Const.A10_OUT_TARGET_POSITION) {
queryWrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
"case when width < height then width else height end as second_length from glass_info) t1 " +
- "on t.glass_id = t1.glass_id and t1.first_length <3500 and t1.second_length<2600 ");
+ "on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
}
GlassInfo one = glassInfoService.getOne(queryWrapper);
if (one != null) {
@@ -336,7 +345,8 @@
//todo: 鑾峰彇姝e湪鎵ц鐨勫伐绋嬩俊鎭�
if (StringUtils.isNotBlank(glassId)) {
GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
- .eq(GlassInfo::getGlassId, glassId));
+ .eq(GlassInfo::getGlassId, glassId)
+ .inSql(GlassInfo::getEngineerId, "select engineer_id from engineering where state = 1"));
EdgStorageCageDetails resultDetails = new EdgStorageCageDetails();
BeanUtils.copyProperties(one, resultDetails);
glassList.add(resultDetails);
@@ -388,7 +398,9 @@
return glassDetails;
}
GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
- .eq(GlassInfo::getGlassId, glassId));
+ .eq(GlassInfo::getGlassId, glassId)
+ .inSql(GlassInfo::getEngineerId, "select engineer_id from engineering where state = 1")
+ );
EdgStorageCageDetails resultDetails = new EdgStorageCageDetails();
BeanUtils.copyProperties(one, resultDetails);
if (null == glassDetails) {
@@ -403,14 +415,11 @@
*/
private List<EdgStorageCageDetails> queryGlassByTaskLine(int line) {
//鑾峰彇浠诲姟琛ㄤ腑鏈�鍚庝竴娆″嚭鐗囩殑鐜荤拑id
- LambdaQueryWrapper<TaskCache> queryWrapper = new LambdaQueryWrapper<TaskCache>().eq(TaskCache::getTaskType, Const.GLASS_CACHE_TYPE_OUT)
- .eq(TaskCache::getEndCell, line).orderByDesc(TaskCache::getCreateTime);
- List<TaskCache> taskCacheList = taskCacheService.list(queryWrapper);
- if (CollectionUtil.isEmpty(taskCacheList)) {
+ TaskCache taskCache = taskCacheService.queryGlassByTaskCache(line, Const.GLASS_CACHE_TYPE_OUT_ALL);
+ if (null == taskCache) {
log.info("娌℃湁鎵惧埌{}绾夸换鍔′俊鎭�", line);
return new ArrayList<>();
}
- TaskCache taskCache = taskCacheList.get(0);
MPJQueryWrapper<EdgStorageCageDetails> mpjLambdaWrapper = new MPJQueryWrapper<>();
mpjLambdaWrapper.select("t1.*")
.innerJoin("edg_storage_cage_details t1 on t.width = t1.width and t.height = t1.height")
@@ -430,18 +439,17 @@
* 鎸夌収浠诲姟绫诲瀷銆佺嚎鍙疯幏鍙栦换鍔′俊鎭�
*
* @param line
- * @param taskType
+ * @param taskTypes
* @return
*/
- private EdgStorageCageDetails queryGlassByTaskCache(int line, int taskType) {
- LambdaQueryWrapper<TaskCache> queryWrapper = new LambdaQueryWrapper<TaskCache>().eq(TaskCache::getTaskType, taskType)
- .eq(TaskCache::getEndCell, line).orderByDesc(TaskCache::getCreateTime);
- List<TaskCache> list = taskCacheService.list(queryWrapper);
- if (CollectionUtil.isEmpty(list)) {
+ private EdgStorageCageDetails queryGlassByTaskCache(int line, List<Integer> taskTypes) {
+ TaskCache taskCache = taskCacheService.queryGlassByTaskCache(line, taskTypes);
+ if (null == taskCache) {
log.info("娌℃湁鎵惧埌{}绾夸换鍔′俊鎭�", line);
return null;
}
- return edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getGlassId, list.get(0).getGlassId()));
+ return edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getGlassId, taskCache.getGlassId())
+ .inSql(EdgStorageCageDetails::getEngineerId, "select engineer_id from engineering where state = 1").last(" limit 1 "));
}
/**
@@ -486,7 +494,7 @@
if (endcell == Const.A09_OUT_TARGET_POSITION) {
wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
"case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
- "on t.glass_id = t1.glass_id and t1.first_length <3500 and t1.second_length<2600 ");
+ "on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
}
wrapper.last("order by count(t.glass_id) desc limit 2");
List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
@@ -517,15 +525,12 @@
} else {
log.info("鑾峰彇鐜荤拑鏁伴噺鍓�2鐨勭幓鐠冨崰姣斾负{}锛屽皬浜�2", mix);
//鑾峰彇浠诲姟琛ㄤ腑鏈�鍚庝竴娆″嚭鐗囩殑鐜荤拑id
- LambdaQueryWrapper<TaskCache> queryWrapper = new LambdaQueryWrapper<TaskCache>().eq(TaskCache::getTaskType, Const.GLASS_CACHE_TYPE_OUT)
- .eq(TaskCache::getEndCell, endcell).orderByDesc(TaskCache::getCreateTime);
- List<TaskCache> taskCacheList = taskCacheService.list(queryWrapper);
- log.info("鑾峰彇浠诲姟琛ㄤ腑{}绾挎渶鍚庝竴娆″嚭鐗囩殑鐜荤拑浠诲姟淇℃伅锛歿}", endcell, taskCacheList);
- if (CollectionUtil.isEmpty(taskCacheList)) {
+ TaskCache taskCache = taskCacheService.queryGlassByTaskCache(endcell, Const.GLASS_CACHE_TYPE_OUT_ALL);
+ log.info("鑾峰彇浠诲姟琛ㄤ腑{}绾挎渶鍚庝竴娆″嚭鐗囩殑鐜荤拑浠诲姟淇℃伅锛歿}", endcell, taskCache);
+ if (null == taskCache) {
log.info("{}绾挎病鏈夊嚭鐗囦换鍔′俊鎭紝鐩存帴鍑虹墖", endcell);
return queryMinGlass(firstSize.getWidth(), firstSize.getHeight(), glassId);
}
- TaskCache taskCache = taskCacheList.get(0);
EdgStorageCageDetails outGlassInfo = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
.eq(EdgStorageCageDetails::getGlassId, taskCache.getGlassId()));
log.info("{}绾挎湁鍑虹墖浠诲姟淇℃伅,浠诲姟淇℃伅涓簕}锛岀幓鐠冧俊鎭负{}", endcell, taskCache, outGlassInfo);
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/TaskCacheMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/TaskCacheMapper.java
index be66272..6132c32 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/TaskCacheMapper.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/TaskCacheMapper.java
@@ -3,6 +3,9 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.taskcache.entity.TaskCache;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* <p>
@@ -15,4 +18,5 @@
@DS("salve_hangzhoumes")
public interface TaskCacheMapper extends BaseMapper<TaskCache> {
+ TaskCache queryGlassByTaskCache(@Param(value = "line") int line, @Param(value = "taskTypes") List<Integer> taskTypes);
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
index 4f37295..8cab5de 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
@@ -17,13 +17,23 @@
/**
* 鏌ヨ纾ㄨ竟浠诲姟
+ *
* @param line
* @return
*/
List<TaskCache> selectEdgInfo(String line);
/**
+ * 鏌ヨ纾ㄨ竟浠诲姟
+ *
+ * @param line
+ * @return
+ */
+ TaskCache queryGlassByTaskCache(int line, List<Integer> taskTypes);
+
+ /**
* 鏌ヨ鐞嗙墖浠诲姟
+ *
* @return
*/
List<TaskCache> selectCacheInfo();
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 2398039..9993519 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
@@ -32,6 +32,11 @@
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line));
}
+ @Override
+ public TaskCache queryGlassByTaskCache(int line, List<Integer> taskTypes) {
+ return baseMapper.queryGlassByTaskCache(line, taskTypes);
+ }
+
/**
* 鏌ヨ寰呯悊鐗囧伐浣滅殑浠诲姟
*
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
index a344abc..9be3f0b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -13,5 +13,7 @@
mes:
threshold: 3
ratio: 10
+ firstLength: 3500
+ secondLength: 2500
sequence:
order: false
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/mapper/TaskCacheMapper.xml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/mapper/TaskCacheMapper.xml
new file mode 100644
index 0000000..e19d670
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/mapper/TaskCacheMapper.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.taskcache.mapper.TaskCacheMapper">
+
+ <select id="queryGlassByTaskCache" resultType="com.mes.taskcache.entity.TaskCache">
+ SELECT top 1
+ glass_id
+ ,start_cell
+ , end_cell
+ , task_type
+ , task_status
+ , create_time
+ FROM task_cache
+ <where>
+ end_cell = #{line}
+ AND task_type in
+ <foreach collection="taskTypes" item="item" open='(' close=')' separator=','>
+ #{item}
+ </foreach>
+ </where>
+ ORDER BY create_time desc
+ </select>
+
+</mapper>
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 c05fbee..d0d6e14 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
@@ -47,33 +47,38 @@
@Scheduled(fixedDelay = 300)
public void plcLoadGlassTask() throws InterruptedException {
try {
- //鑾峰彇鏄惁鏈変笂鐗囪姹�
- String loadRequest = plcParameterObject.getPlcParameter("loadRequest").getValue();
- String mesToPlc = plcParameterObject.getPlcParameter("MesToPlc").getValue();
- //鍒ゆ柇寮�濮嬩笂鐗囩殑宸ョ▼鍙�
- Engineering engineering = engineeringService.selectInitiate(1);
- if ("1".equals(loadRequest) && engineering != null) {
- log.info("寮�濮嬩笂鐗囦换鍔�");
- UpPattenUsage upPattenUsage = upWorkstationService.selectPriority(engineering);
- log.info("褰撴湁璇锋眰鏃舵煡璇㈠綋鍓嶄笂鐗囬『搴忕殑鐜荤拑淇℃伅{}", upPattenUsage);
- UpWorkstation upwork = upWorkstationService.selectWorkstation(upPattenUsage);
- log.info("绗﹀悎鐨勫昂瀵哥殑宸ヤ綅鐜荤拑锛歿}", upwork);
- if (upwork != null) {
- int workId = upwork.getWorkstationId();//宸ヤ綅id
- double width = upwork.getPatternWidth();//瀹藉害
- double height = upwork.getPatternHeight();//楂樺害
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("WorkId").getAddress(), workId);
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("GlassWidth").getAddress(), (long) width);
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("GlassHeight").getAddress(), (long) height);
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), 1);
- //鏇存敼涓婄墖琛ㄧ姸鎬�
- upPattenUsageService.updateUpPattenUsageState(upPattenUsage, workId);
+ //鑾峰彇鑱旀満鐘舵��
+ String inkageStatus =plcParameterObject.getPlcParameter("MesToPlc").getValue();
+ if("1".equals(inkageStatus)) {
+ //鑾峰彇鏄惁鏈変笂鐗囪姹�
+ String loadRequest = plcParameterObject.getPlcParameter("loadRequest").getValue();
+ String mesToPlc = plcParameterObject.getPlcParameter("MesToPlc").getValue();
+ //鍒ゆ柇寮�濮嬩笂鐗囩殑宸ョ▼鍙�
+ Engineering engineering = engineeringService.selectInitiate(1);
+ if ("1".equals(loadRequest) && engineering != null) {
+ log.info("寮�濮嬩笂鐗囦换鍔�");
+ UpPattenUsage upPattenUsage = upWorkstationService.selectPriority(engineering);
+ log.info("褰撴湁璇锋眰鏃舵煡璇㈠綋鍓嶄笂鐗囬『搴忕殑鐜荤拑淇℃伅{}", upPattenUsage);
+ UpWorkstation upwork = upWorkstationService.selectWorkstation(upPattenUsage);
+ log.info("绗﹀悎鐨勫昂瀵哥殑宸ヤ綅鐜荤拑锛歿}", upwork);
+ if (upwork != null) {
+ int workId = upwork.getWorkstationId();//宸ヤ綅id
+ double width = upwork.getPatternWidth();//瀹藉害
+ double height = upwork.getPatternHeight();//楂樺害
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("WorkId").getAddress(), workId);
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("GlassWidth").getAddress(), (long) width);
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("GlassHeight").getAddress(), (long) height);
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), 1);
+ //鏇存敼涓婄墖琛ㄧ姸鎬�
+ upPattenUsageService.updateUpPattenUsageState(upPattenUsage, workId);
+
+ }
}
- }
- if("1".equals(mesToPlc)&& "0".equals(loadRequest)){
- //璇锋眰瀛椾负闆舵椂锛屼换鍔″瓧娓呴浂
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), 0);
+ if ("1".equals(mesToPlc) && "0".equals(loadRequest)) {
+ //璇锋眰瀛椾负闆舵椂锛屼换鍔″瓧娓呴浂
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), 0);
+ }
}
//鎵ц鍚庝紤鐪�300姣
//Thread.sleep(300);
@@ -135,6 +140,29 @@
}
}
}
+ @Scheduled(fixedDelay = 5000)
+ public void loadGlassStatus(){
+ JSONObject jsonObject = new JSONObject();
+ //姝e湪杩涜鐨勪换鍔�
+ //String inkageStatus =plcParameterObject.getPlcParameter("MesToPlc").getValue();
+ String inkageStatus ="1";
+ jsonObject.append("InkageStatus", inkageStatus);
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+ } else {
+ log.info("Home is closed");
+ }
+ }
+ }
+ }
public void overTask(String loadStatus, int state) {
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java
index f1907fe..257bc80 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java
@@ -53,6 +53,7 @@
public Result<String> updateMesInkageLoad(@RequestBody short inKageWord) {
String result = upWorkstationService.updateMesInkageLoad(inKageWord);
return Result.success(result);
+
}
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
index a9d15bf..b7d08c2 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
@@ -92,7 +92,8 @@
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
log.info("淇敼璁惧鑱斿姩璇锋眰涓簕}锛�0绂荤嚎锛�1鑱斿姩", inKageWord);
S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("InkageStatus").getAddress(), inKageWord);
- return "success";
+ //璇诲彇plc鐨勫��
+ return plcParameterObject.getPlcParameter("InkageStatus").getValue();
}
}
\ No newline at end of file
--
Gitblit v1.8.0