From 9b6553d99c71cb7f320fcfd3a73c5fa18b1052f9 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期二, 04 六月 2024 16:56:42 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java | 41
UI-Project/src/views/Returns/returns.vue | 40
hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java | 26
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageOutTaskMapper.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java | 2
hangzhoumesParent/common/springsecurity/src/main/resources/application-dev.yml | 6
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java | 6
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml | 5
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java | 33
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java | 20
hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java | 1
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java | 3
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java | 101 ++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java | 8
UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue | 59
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 60
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java | 19
hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java | 2
UI-Project/src/views/StockBasicData/stockBasicDatatwo.vue | 61
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 91 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java | 12
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java | 3
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java | 2
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java | 3
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java | 2
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java | 7
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java | 4
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java | 17
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java | 1
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/mapper/TaskCacheMapper.java | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java | 36
UI-Project/src/views/Identify/identify.vue | 39
UI-Project/src/views/Caching/cachingbefore.vue | 143 +-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java | 30
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java | 1
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java | 2
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 6
hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java | 14
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java | 20
UI-Project/src/views/Caching/cachingun.vue | 162 +-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java | 34
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java | 29
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java | 22
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java | 18
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java | 3
UI-Project/src/views/StockBasicData/stockBasicData.vue | 60
UI-Project/src/views/UnLoadGlass/Landingindication.vue | 55
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 88 ++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java | 24
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 88 +
UI-Project/src/utils/constants.js | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java | 71 +
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java | 100 ++
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java | 20
UI-Project/src/views/Slicecage/slicecage.vue | 471 +++++----
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java | 86 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java | 6
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java | 4
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-dev.yml | 23
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java | 1
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java | 23
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java | 6
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-dev.yml | 10
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 201 ++-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/controller/TaskCacheController.java | 2
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java | 19
72 files changed, 1,843 insertions(+), 745 deletions(-)
diff --git a/UI-Project/src/utils/constants.js b/UI-Project/src/utils/constants.js
index 8a665eb..67d36d2 100644
--- a/UI-Project/src/utils/constants.js
+++ b/UI-Project/src/utils/constants.js
@@ -1 +1,3 @@
-export const WebSocketHost = "localhost";
\ No newline at end of file
+// export const WebSocketHost = "192.168.1.199";
+export const WebSocketHost = "10.153.19.150";
+export const host = "88";
\ No newline at end of file
diff --git a/UI-Project/src/views/Caching/cachingbefore.vue b/UI-Project/src/views/Caching/cachingbefore.vue
index 5b9d2a2..0fa7fac 100644
--- a/UI-Project/src/views/Caching/cachingbefore.vue
+++ b/UI-Project/src/views/Caching/cachingbefore.vue
@@ -4,29 +4,49 @@
import {useRouter} from "vue-router"
const router = useRouter()
const adda = ref(false)
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
-import { ref, onMounted } from "vue";
+import { ref, onMounted , onBeforeUnmount} from "vue";
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
// import LanguageMixin from './lang/LanguageMixin'
const tableData = ref([])
const slot = ref('')
-
-
-request.post("/cacheGlass/edgStorageCage/selectEdgStorageCage").then((res) => {
- if (res.code == 200) {
-
- console.log(res.data);
- tableData.value = res.data
- console.log(res.data[0].slot);
- } else {
- ElMessage.warning(res.msg)
-
- }
- });
-
+const adjustedRects = ref([]);
+onMounted(async () => {
+ try {
+ const response = await request.post('/cacheGlass/edgStorageCage/selectEdgStorageCage'); // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (response.code === 200) {
+ const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
+ tableData.value = response.data
+ console.log(response.data);
+ adjustedRects.value = rawRects.map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ width: rect.width * 0.5 ,
+ id: rect.id * 10,
+ }));
+ console.log(adjustedRects.value);
+ } else {
+ ElMessage.warning(res.msg)
+ }
+ } catch (error) {
+ // console.error('Error fetching rects :', error);
+ }
+});
+const toggleEnableState = async (row) => {
+ const newState = row.enable_state === 1 ? 0 : 1;
+ // 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵�侊紙杩欓噷鐪佺暐浜嗗疄闄呯殑璇锋眰閫昏緫锛�
+ const response = await request.post('/cacheGlass/edgStorageCage/updateEdgStorageCage', { id: row.id, enablestate: newState });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+ row.enable_state = newState;
+};
const open = async(row) => {
try {
const confirmResult = await ElMessageBox.confirm(
@@ -57,46 +77,31 @@
// 澶勭悊鍙兘鍑虹幇鐨勯敊璇紝姣斿 ElMessageBox 鎶涘嚭鐨勫紓甯哥瓑
console.error('鍙戠敓閿欒:', error);
}
-};
+};
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+ tableData.value = data.EdgStorageCageinfos[0]
+ // adjustedRects.value = data.EdgStorageCageinfos[0]
+ adjustedRects.value = data.EdgStorageCageinfos[0].map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ width: rect.width * 0.5 ,
+ id: rect.id * 10,
+ }));
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'OrderList',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },
- data: [
- {
- 'id': '1',
- 'long': '5',
- 'wide': '1005',
- 'thick': '183.6',
- }
- ]
-
-})
+};
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
</script>
<template>
@@ -116,9 +121,17 @@
min-width="80"
prop="enable_state"
>
- <template #default="scope">
+ <template #default="scope">
+ <el-tag
+ :type="scope.row.enable_state === 1 ? 'success' : 'danger'"
+ @click="toggleEnableState(scope.row)"
+ >
+ {{ scope.row.enable_state === 1 ? '鍚敤' : '绂佺敤' }}
+ </el-tag>
+ </template>
+ <!-- <template #default="scope">
<el-tag type="success" >{{ scope.row.enable_state==1?"鍚敤":"鏈惎鐢�" }}</el-tag>
- </template>
+ </template> -->
</el-table-column>
<el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
<template #default="scope">
@@ -131,10 +144,21 @@
</el-card>
</div>
<div id="awatch">
- <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;">
-<div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: -124px;margin-left: 480px;"></div>
+ <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;position: relative;">
+ <div style="position: absolute; width: 500px;height: 95px;margin-top: -165px;margin-left: 450px;">
+ <div
+ v-for="(rect, index) in adjustedRects"
+ :key="rect"
+ :style="{ position: 'absolute',
+ top: `${rect.id}px`, left: `10px`, width: `${rect.width}px`, height: `5px`,
+ backgroundColor: '#409EFF'
+ }"
+ >
+ </div>
+ </div>
+<!-- <div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: -124px;margin-left: 480px;"></div>
<div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: -30px;margin-left: 850px;"></div>
-<div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: 30px;margin-left: 695px;"></div>
+<div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: 30px;margin-left: 695px;"></div> -->
</div>
</template>
@@ -157,6 +181,7 @@
}
#awatch{
height: 460px;
+ width: 1500px;
/* margin-top: -60px; */
}
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Caching/cachingun.vue b/UI-Project/src/views/Caching/cachingun.vue
index ba1686f..d454956 100644
--- a/UI-Project/src/views/Caching/cachingun.vue
+++ b/UI-Project/src/views/Caching/cachingun.vue
@@ -4,29 +4,39 @@
import {useRouter} from "vue-router"
const router = useRouter()
const adda = ref(false)
-
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
-import { ref, onMounted } from "vue";
+import { ref, onMounted , onBeforeUnmount} from "vue";
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
// import LanguageMixin from './lang/LanguageMixin'
-
+
const tableData = ref([])
const slot = ref('')
+const adjustedRects = ref([]);
-
-request.get("/unLoadGlass/downStorage/selectStorageCage").then((res) => {
- if (res.code == 200) {
-
- console.log(res.data);
- tableData.value = res.data
- console.log(res.data[0].slot);
- } else {
- ElMessage.warning(res.msg)
-
- }
- });
-
+onMounted(async () => {
+ try {
+ const response = await request.get('/unLoadGlass/downStorage/selectStorageCage'); // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (response.code === 200) {
+ const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
+ tableData.value = response.data
+ console.log(response.data);
+ adjustedRects.value = rawRects.map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ width: rect.width * 0.5 ,
+ id: rect.id * 10,
+ }));
+ console.log(adjustedRects.value);
+ } else {
+ ElMessage.warning(res.msg)
+ }
+ } catch (error) {
+ // console.error('Error fetching rects :', error);
+ }
+});
+
const open = async(row) => {
try {
const confirmResult = await ElMessageBox.confirm(
@@ -58,49 +68,44 @@
console.error('鍙戠敓閿欒:', error);
}
};
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'OrderList',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },
- data: [
- {
- 'id': '1',
- 'long': '5',
- 'wide': '1005',
- 'thick': '183.6',
- }
- ]
-
-})
+const toggleEnableState = async (row) => {
+ const newState = row.enable_state === 1 ? 0 : 1;
+ // 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵�侊紙杩欓噷鐪佺暐浜嗗疄闄呯殑璇锋眰閫昏緫锛�
+ const response = await request.post('/unLoadGlass/downStorage/updateDownStorageCage', { id: row.id, enablestate: newState });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+ row.enable_state = newState;
+};
+const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+ tableData.splice(0, tableData.length, ...data.params[0]);
+ // tableData.value = data.params[0]
+ // adjustedRects.value = data.EdgStorageCageinfos[0]
+ adjustedRects.value = data.params[0].map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ width: rect.width * 0.5 ,
+ id: rect.id * 10,
+ }));
+};
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
-
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
</script>
-
+
<template>
<div>
<el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
@@ -113,14 +118,22 @@
<el-table-column prop="width" align="center" label="瀹�" min-width="120" />
<el-table-column prop="height" align="center" label="楂�" min-width="120" />
<el-table-column
- align="center"
+ align="center"
label="鍚敤鐘舵��"
min-width="80"
prop="enable_state"
>
- <template #default="scope">
+ <template #default="scope">
+ <el-tag
+ :type="scope.row.enable_state === 1 ? 'success' : 'danger'"
+ @click="toggleEnableState(scope.row)"
+ >
+ {{ scope.row.enable_state === 1 ? '鍚敤' : '绂佺敤' }}
+ </el-tag>
+ </template>
+ <!-- <template #default="scope">
<el-tag type="success" >{{ scope.row.enable_state==1?"鍚敤":"鏈惎鐢�" }}</el-tag>
- </template>
+ </template> -->
</el-table-column>
<el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
<template #default="scope">
@@ -131,27 +144,25 @@
</el-table>
</div>
</el-card>
- <!-- <el-dialog v-model="adda" top="30vh" width="25%" title="鏄惁鍒犻櫎璇ユ潯淇℃伅?" >
- <template #footer>
- <div id="dialog-footer">
- <el-button type="primary" @click="handleConfirma">
- 纭
- </el-button>
- <el-button @click="adda = false">鍙栨秷</el-button>
- </div>
- </template>
- </el-dialog> -->
</div>
<div id="awatch">
- <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;">
-<div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: -124px;margin-left: 480px;"></div>
-<div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: -30px;margin-left: 850px;"></div>
-<div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: 30px;margin-left: 695px;"></div>
+ <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;position: relative;">
+ <div style="position: absolute; width: 500px;height: 95px;margin-top: -165px;margin-left: 450px;">
+ <div
+ v-for="(rect, index) in adjustedRects"
+ :key="rect"
+ :style="{ position: 'absolute',
+ top: `${rect.id}px`, left: `10px`, width: `${rect.width}px`, height: `5px`,
+ backgroundColor: '#409EFF'
+ }"
+ >
+ </div>
+ </div>
</div>
</template>
-
+
<style scoped>
-
+
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
#dialog-footer{
@@ -169,6 +180,7 @@
}
#awatch{
height: 460px;
+ width: 1500px;
/* margin-top: -60px; */
}
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index 2d500f6..2e2de95 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -38,12 +38,13 @@
</el-scrollbar>
</el-card>
</template>
-
<script setup lang="ts">
import { Delete, Upload } from '@element-plus/icons-vue'
import { ElMessage, ElMessageBox } from 'element-plus'
-import { ref, onMounted } from 'vue';
+import { ref, onMounted, onBeforeUnmount } from 'vue';
import request from "@/utils/request"
+import { WebSocketHost ,host} from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
const blind = ref(false)
const olWidth = ref();
const olHeight = ref();
@@ -83,8 +84,8 @@
height:( rect.height*100) * 0.004 ,
glass_state: rect.glass_state
}));
+ console.log(adjustedRects.value);
- console.log(rect);
// console.log( (rect.width*100) / 300 );
} else {
@@ -174,6 +175,38 @@
}
});
}
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+
+ // adjustedRects.value = data.currentCutTerritory[0]
+ adjustedRects.value = data.currentCutTerritory[0].map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ x_axis: (rect.x_axis*100) * 0.005, // 灏唜鍊奸櫎浠�3
+ y_axis: (rect.y_axis*100) * 0.005,
+ width: (rect.width*100) * 0.004 ,
+ widtha: rect.width ,
+ heighta: rect.height ,
+ height:( rect.height*100) * 0.004 ,
+ glass_state: rect.glass_state
+ }));
+ // console.log("鏇存柊鍚庢暟鎹�", tableData);
+
+};
+
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
</script>
<style scoped>
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index b389719..8fd42ca 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -3,10 +3,10 @@
import {reactive} from "vue";
import {useRouter} from "vue-router"
import request from "@/utils/request"
-
-import { ref, onMounted } from 'vue';
// import { ref } from 'vue'
-
+import { ref, onMounted, onBeforeUnmount } from 'vue';
+import { WebSocketHost ,host} from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
const dialogFormVisible = ref(true)
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
@@ -16,96 +16,137 @@
const adjustedRectsa = ref([]);
const adjustedRectsb = ref([]);
// 杩涚倝涓�
-onMounted(async () => {
- try {
- const response = await request.get('/temperingGlass/temperingGlassInfo/SelectIntoGlass');
- if (response.code === 200) {
- const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
- console.log(response.data);
- const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
- height.value = newheight;
- width.value = newwidth;
- adjustedRects.value = rawRects.map(rect => ({
+const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+ adjustedRects.value = data.intoGlass[0].map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
+ ycoordinate: rect.ycoordinate,
+ width: rect.width ,
+ height: rect.height ,
+ }));
+ adjustedRectsa.value = data.waitingGlass[0].map(rect => ({
...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
ycoordinate: rect.ycoordinate,
width: rect.width ,
height: rect.height ,
}));
- console.log(rect);
+
+ adjustedRectsb.value = data.outGlass[0].map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
+ ycoordinate: rect.ycoordinate,
+ width: rect.width ,
+ height: rect.height ,
+ }));
+};
- // console.log( (rect.width*100) / 300 );
- } else {
- // console.error('Failed to fetch rectangles from API.');
- console.error('Failed to fetch rects from API.');
- }
- } catch (error) {
- // console.error('Error fetching rectangles :', error);
- console.error('Error fetching rects :', error);
- }
-});
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
+// onMounted(async () => {
+// try {
+// const response = await request.get('/temperingGlass/temperingGlassInfo/SelectIntoGlass');
+// if (response.code === 200) {
+// const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
+// console.log(response.data);
+// const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
+// height.value = newheight;
+// width.value = newwidth;
+
+// adjustedRects.value = rawRects.map(rect => ({
+// ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+// xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
+// ycoordinate: rect.ycoordinate,
+// width: rect.width ,
+// height: rect.height ,
+// }));
+// console.log(rect);
+
+// // console.log( (rect.width*100) / 300 );
+// } else {
+// // console.error('Failed to fetch rectangles from API.');
+// console.error('Failed to fetch rects from API.');
+// }
+// } catch (error) {
+// // console.error('Error fetching rectangles :', error);
+// console.error('Error fetching rects :', error);
+// }
+// });
// 杩涚倝鍓�
-const handleConfirm = async () => {
- try {
- const response = await request.post('/temperingGlass/temperingGlassInfo/SelectWaitingGlass');
- if (response.code === 200) {
- const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
- console.log(response.data);
- const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
- height.value = newheight;
- width.value = newwidth;
+// const handleConfirm = async () => {
+// try {
+// const response = await request.post('/temperingGlass/temperingGlassInfo/SelectWaitingGlass');
+// if (response.code === 200) {
+// const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
+// console.log(response.data);
+// const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
+// height.value = newheight;
+// width.value = newwidth;
- adjustedRectsa.value = rawRects.map(rect => ({
- ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
- xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
- ycoordinate: rect.ycoordinate,
- width: rect.width ,
- height: rect.height ,
- }));
- console.log(rect);
+// adjustedRectsa.value = rawRects.map(rect => ({
+// ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+// xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
+// ycoordinate: rect.ycoordinate,
+// width: rect.width ,
+// height: rect.height ,
+// }));
+// console.log(rect);
- // console.log( (rect.width*100) / 300 );
- } else {
- // console.error('Failed to fetch rectangles from API.');
- console.error('Failed to fetch rects from API.');
- }
- } catch (error) {
- // console.error('Error fetching rectangles :', error);
- console.error('Error fetching rects :', error);
- }
-};
+// // console.log( (rect.width*100) / 300 );
+// } else {
+// // console.error('Failed to fetch rectangles from API.');
+// console.error('Failed to fetch rects from API.');
+// }
+// } catch (error) {
+// // console.error('Error fetching rectangles :', error);
+// console.error('Error fetching rects :', error);
+// }
+// };
// 宸插嚭鐐�
-const handleConfirma = async () => {
- try {
- const response = await request.get('/temperingGlass/temperingGlassInfo/SelectOutGlass');
- if (response.code === 200) {
- const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
- console.log(response.data);
- const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
- height.value = newheight;
- width.value = newwidth;
+// const handleConfirma = async () => {
+// try {
+// const response = await request.get('/temperingGlass/temperingGlassInfo/SelectOutGlass');
+// if (response.code === 200) {
+// const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
+// console.log(response.data);
+// const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
+// height.value = newheight;
+// width.value = newwidth;
- adjustedRectsb.value = rawRects.map(rect => ({
- ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
- xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
- ycoordinate: rect.ycoordinate,
- width: rect.width ,
- height: rect.height ,
- }));
- console.log(rect);
+// adjustedRectsb.value = rawRects.map(rect => ({
+// ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+// xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
+// ycoordinate: rect.ycoordinate,
+// width: rect.width ,
+// height: rect.height ,
+// }));
+// console.log(rect);
- // console.log( (rect.width*100) / 300 );
- } else {
- // console.error('Failed to fetch rectangles from API.');
- console.error('Failed to fetch rects from API.');
- }
- } catch (error) {
- // console.error('Error fetching rectangles :', error);
- console.error('Error fetching rects :', error);
- }
-};
+// // console.log( (rect.width*100) / 300 );
+// } else {
+// // console.error('Failed to fetch rectangles from API.');
+// console.error('Failed to fetch rects from API.');
+// }
+// } catch (error) {
+// // console.error('Error fetching rectangles :', error);
+// console.error('Error fetching rects :', error);
+// }
+// };
const gridOptions = reactive({
border: "full",//琛ㄦ牸鍔犺竟妗�
keepSource: true,//淇濇寔婧愭暟鎹�
@@ -173,7 +214,7 @@
<el-scrollbar height="630px">
<div style="position: relative;width: 1400px;">
<div
- v-for="(rect, index) in adjustedRects"
+ v-for="(rect, index) in adjustedRectsa"
:key="index"
class="rect"
:style="{ position: 'absolute', top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`, width: `${rect.width}px`, height: `${rect.height}px` }"
@@ -191,7 +232,7 @@
<el-scrollbar height="630px">
<div style="position: relative;width: 1400px;">
<div
- v-for="(rect, index) in adjustedRects"
+ v-for="(rect, index) in adjustedRectsb"
:key="index"
class="rect"
:style="{ position: 'absolute', top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`, width: `${rect.width}px`, height: `${rect.height}px` }"
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index 3d857fb..2aadf11 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -13,7 +13,7 @@
const adda = ref(false)
const flake = ref(false)
const flakea = ref(false)
-import { WebSocketHost } from '@/utils/constants'
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
const ida = ref(null);
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
@@ -25,9 +25,9 @@
const selectedValuea = ref('');
const selectedValueb = ref('');
const selectedValuec = ref('');
-const upstatus = ref(''); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
+const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛�
-const cuttingMachineStatusColor = ref(''); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
+const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊�
const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
const selectOptions = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
@@ -44,7 +44,7 @@
// 鏇存柊琛ㄦ牸鏁版嵁
console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
tableData.splice(0, tableData.length, ...response.data);
- window.localStorage.setItem('engineeringId', response.data[0].engineeringId)
+ // window.localStorage.setItem('engineeringId', response.data[0].engineeringId)
// 鑾峰彇鍞竴鍊�
const uniqueWidths = new Set(response.data.map(item => item.width));
const uniqueHeights = new Set(response.data.map(item => item.height));
@@ -102,7 +102,7 @@
const titleSelectJsona = ref({
processTypea: [],
})
-const socketUrl = `ws://10.153.19.150:88/api/loadGlass/api/talk/loadGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
// 鏇存柊 tableData 鐨勬暟鎹�
@@ -304,6 +304,7 @@
const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
engineerId: selectedProjectNo.value,
})
+ window.localStorage.setItem('engineeringId', selectedProjectNo.value)
if (response.code == 200) {
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
@@ -496,7 +497,7 @@
-const wsUrl = 'ws://10.153.19.150:88/api/loadGlass/api/talk/loadGlass';
+const wsUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
const ws = new WebSocket(wsUrl);
ws.onopen = () => {
console.log('WebSocket杩炴帴宸叉墦寮�');
@@ -518,16 +519,14 @@
// 鐩戝惉WebSocket鐨勬秷鎭簨浠�
ws.onmessage = (event) => {
- // 鍋囪鏈嶅姟鍣ㄥ彂閫佺殑鏄疛SON鏍煎紡鐨勫瓧绗︿覆
try {
const data = JSON.parse(event.data); // 瑙f瀽娑堟伅涓篔SON
- // 鍋囪鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁缁撴瀯鏄� { InkageStatus: ["1"] }
if (data && Array.isArray(data.InkageStatus) && data.InkageStatus.length > 0) {
const status = data.InkageStatus[0];
cuttingMachine.value = status;
upstatus.value = status === '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬侊細' : '涓婄墖鏈烘墜鍔ㄧ姸鎬侊細';
- cuttingMachineStatusColor.value = status === '1' ? '#911005' : 'green';
+ cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
inKageWord.value = status === '1' ? 0 : 1;
} else {
// 澶勭悊閿欒鎯呭喌鎴栨棤鏁堟暟鎹�
@@ -545,7 +544,7 @@
if (response.code == 200) {
const status = response.data.status;
upstatus.value = status === '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬侊細' : '涓婄墖鏈烘墜鍔ㄧ姸鎬侊細';
- cuttingMachineStatusColor.value = status === '1' ? '#911005' : 'green';
+ cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
// 鏄剧ず鎴愬姛娑堟伅
ElMessage.success(response.message);
} else {
@@ -557,25 +556,6 @@
ElMessage.error('璇锋眰鏃跺彂鐢熼敊璇�');
}
};
-// const confirmCutting = async () => {
-// try {
-// const response = await request.post('/loadGlass/LoadGlass/updateMesInkageLoad', {
-// inKageWord: inKageWord.value
-// })
-// if (response.code == 200) {
-// inKageWord == '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬侊細' : '涓婄墖鏈烘墜鍔ㄧ姸鎬侊細';
-// inKageWord.value == '1' ? '#911005' : 'green';
-// ElMessage.success(response.message);
-// } else {
-// // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
-// ElMessage.error(response.msg);
-// }
-// }
-// catch (error) {
-// // 澶勭悊閿欒
-// console.error(error);
-// }
-// }
</script>
<template>
@@ -595,7 +575,7 @@
<el-button style="margin-top: 5px;margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true">閫夋嫨宸ョ▼</el-button>
<el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="primary" @click="handleBind">寮�濮嬩笂鐗�</el-button>
<el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" @click="handleBinda">鏆傚仠</el-button>
- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handleBindb">鍋滄浠诲姟</el-button>
+ <!-- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handleBindb">鍋滄浠诲姟</el-button> -->
<el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 22d0adc..e87bae7 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -3,13 +3,21 @@
import {reactive} from "vue";
import {useRouter} from "vue-router"
const router = useRouter()
-
-import { ref } from 'vue'
+import { WebSocketHost ,host} from '@/utils/constants'
+import { ref, onMounted , onBeforeUnmount} from "vue";
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
import { ElMessage, ElMessageBox } from 'element-plus'
import { tr } from "element-plus/es/locale";
const dialogFormVisible = ref(false)
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
+const tableData = ref([])
+const tableDatab = ref([])
+const tableDatac = ref([])
+const tableDatad = ref([])
+const tableDatae = ref([])
+const adjustedRects = ref([]);
+const height = ref([]);
const carposition1 = ref(60);
const carposition2 = ref(220);
@@ -19,7 +27,6 @@
const timers2 =ref(true);
const timers3 =ref(true);
const timers4 =ref(true);
-const cellshow=ref(false);
const cellshow5=ref(false);
const c1=ref(false);
const c2=ref(false);
@@ -31,33 +38,18 @@
const million1=ref(0);
const million3=ref(0);
const million4=ref(0);
+const cell1=ref(true);
+const cell2=ref(true);
+const cell3=ref(true);
+const cell4=ref(true);
+const cell5=ref(true);
+const cell6=ref(true);
+const cell7=ref(true);
+const cell8=ref(true);
const currentPage4 = ref(4)
const pageSize4 = ref(100)
-const tableData = [
- {
- id: '1',
- a: '1',
- b: '1',
- c: '123456789',
- d: '1568251',
- e: '1',
- f: '100*100',
- g: '',
- },
-]
-const tableDatab = [
- {
- id: '2',
- a: '2',
- b: '2',
- c: '123456789',
- d: '1568251',
- e: '1',
- f: '100*100',
- g: '',
- }
-]
+
const dialogForm = () => {
ElMessageBox.confirm(
'纭畾瑕佹�ュ仠鍚�?',
@@ -83,7 +75,7 @@
}
var timer=setInterval(() => {
- console.log(million.value,million1.value);
+ // console.log(million.value,million1.value);
million.value+=1;
if(million.value-million1.value!==12){
@@ -115,13 +107,7 @@
}
}else{
million1.value=million.value;
- if(cellshow.value==true){
- cellshow.value=false;
-
- }else{
- cellshow.value=true;
-
- }
+
if(cellshow1.value==true){
cellshow1.value=false;
}else{
@@ -137,7 +123,7 @@
}, 1000);
var timer=setInterval(() => {
- console.log(million3.value,million4.value);
+ // console.log(million3.value,million4.value);
million3.value+=1;
if(million3.value-million4.value!==12){
@@ -204,69 +190,120 @@
}
}
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'OrderList',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },
- data: [
- {
- 'id': '1',
- 'long': '5',
- 'wide': '1005',
- 'thick': '183.6',
- }
- ],
-})
+
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheVerticalGlass/api/talk/slicecage`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+ tableDatac.value = data.bigStorageCageDetailsOutTask[0]
+ tableDatad.value = data.bigStorageCageDetailsFeedTask[0]
+ tableData.value = data.bigStorageCageInfo[0]
+ tableDatab.value = data.temperingGlassInfoList[0]
+ tableDatae.value = data.bigStorageCageUsage[0]
+ adjustedRects.value = data.bigStorageCageInfo1[0]
+ // adjustedRects.value = data.bigStorageCageInfo1[0].map(rect => ({
+ // ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ // height: rect.length *0.5,
+
+ // }));
+ window.localStorage.setItem('length', data.bigStorageCageInfo1[0].length)
+ let length = window.localStorage.getItem('length')
+ console.log(length);
+
+};
+// function getRectHeight(length: number) {
+// return length > 0 ? 29 / length : 29;
+// }
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+function getStatusType(enableState: number) {
+ switch (enableState) {
+ case 0:
+ return 'warning';
+ case 1:
+ return 'success';
+ }
+}
+function getStatusText(enableState: number) {
+ switch (enableState) {
+ case 0:
+ return '绂佺敤';
+ case 1:
+ return '鍚敤';
+ }
+}
+function getStatusTypea(ishorizontal: number) {
+ switch (ishorizontal) {
+ case 0:
+ return 'warning';
+ case 1:
+ return 'success';
+ }
+}
+function getStatusTexta(ishorizontal: number) {
+ switch (ishorizontal) {
+ case 0:
+ return '涓嶆帴鍙�';
+ case 1:
+ return '鎺ュ彈';
+ }
+}
+function getStatusTypeb(state: number) {
+ switch (state) {
+ case 0:
+ return 'success';
+ case 1:
+ return 'primary';
+ }
+}
+function getStatusTextb(state: number) {
+ switch (state) {
+ case 0:
+ return '鍑虹墖瀹屾垚';
+ case 1:
+ return '绛夊緟涓�';
+ case 2:
+ return '绛夊緟涓�';
+ }
+}
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
</script>
<template>
<div style="height: 700px;">
<!-- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisible = true">鎵嬪姩杩涚墖</el-button> -->
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true">璁㈠崟淇℃伅</el-button>
+ <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true">鐞嗙墖绗间俊鎭�</el-button>
<el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">鍑虹墖闃熷垪</el-button>
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">缁堟杩涚墖</el-button>
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">缁堟鍑虹墖</el-button>
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger" @click="dialogForm">杞�ュ仠</el-button>
+ <!-- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">缁堟杩涚墖</el-button> -->
+ <!-- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">缁堟鍑虹墖</el-button> -->
+ <!-- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger" @click="dialogForm">杞�ュ仠</el-button> -->
<el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
<el-table height="100%" ref="table"
- @selection-change="handleSelectionChange"
- :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="id" align="center" label="鍑虹墖鐜荤拑ID" min-width="80" />
- <el-table-column prop="a" align="center" label="绗煎瓙" min-width="120" />
- <el-table-column prop="b" align="center" label="鏍煎瓙" min-width="120" />
- <el-table-column prop="c" align="center" label="宸ョ▼鍙�" min-width="120" />
- <el-table-column prop="d" align="center" label="娴佺▼鍗″彿" min-width="120" />
- <el-table-column prop="e" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="157" />
- <el-table-column prop="f" align="center" label="灏哄" min-width="120" />
- <el-table-column prop="g" align="center" label="缁撴潫浠诲姟" min-width="120">
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="text">瀹屾垚浠诲姟</el-button>
-</el-table-column>
+ :data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="bigStorageCageOutTask.glassId" align="center" label="鍑虹墖鐜荤拑ID" min-width="80" />
+ <el-table-column prop="bigStorageCageOutTask.startSlot" align="center" label="璧峰浣嶇疆" min-width="120" />
+ <el-table-column prop="bigStorageCageOutTask.endSlot" align="center" label="鐩爣浣嶇疆" min-width="120" />
+ <el-table-column prop="bigStorageCageOutTask.trainNumber" align="center" label="杞︽" min-width="120" />
+ <el-table-column prop="bigStorageCageOutTask.serialNumber" align="center" label="搴忓彿" min-width="120" />
+ <el-table-column prop="bigStorageCageOutTask.taskState" align="center" label="浠诲姟鐘舵��" min-width="157">
+ <template #default="scope">
+ <el-tag type="success" >{{ scope.row.bigStorageCageOutTask.taskState==0?"绛夊緟杩涚墖":"杩涜涓�" }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column fixed="right" label="缁撴潫浠诲姟" align="center" width="150">
+ <template #default="scope">
+ <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">瀹屾垚浠诲姟</el-button>
+ </template>
+ </el-table-column>
</el-table>
</div>
</el-card>
@@ -274,111 +311,35 @@
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
<el-table height="100%" ref="table"
@selection-change="handleSelectionChange"
- :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="id" align="center" label="杩涚墖鐜荤拑ID" min-width="80" />
- <el-table-column prop="a" align="center" label="绗煎瓙" min-width="120" />
- <el-table-column prop="b" align="center" label="鏍煎瓙" min-width="120" />
- <el-table-column prop="c" align="center" label="宸ョ▼鍙�" min-width="120" />
- <el-table-column prop="d" align="center" label="娴佺▼鍗″彿" min-width="120" />
- <el-table-column prop="e" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="157" />
- <el-table-column prop="f" align="center" label="灏哄" min-width="120" />
- <el-table-column prop="g" align="center" label="缁撴潫浠诲姟" min-width="120">
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="text">瀹屾垚浠诲姟</el-button>
-</el-table-column>
+ :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" label="杩涚墖鐜荤拑ID" min-width="80" />
+ <el-table-column prop="bigStorageCageFeedTask.tragetSlot" align="center" label="鐩爣浣嶇疆" min-width="120" />
+ <!-- <el-table-column prop="task_type" align="center" label="浠诲姟绫诲瀷" min-width="120" />娌℃湁杩斿洖瀛楁 -->
+ <el-table-column prop="bigStorageCageFeedTask.taskState" align="center" label="浠诲姟鐘舵��" min-width="120">
+ <template #default="scope">
+ <el-tag type="success" >{{ scope.row.bigStorageCageFeedTask.taskState==0?"绛夊緟杩涚墖":"杩涜涓�" }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="bigStorageCageFeedTask.line" align="center" label="绾胯矾" min-width="120" />
+ <el-table-column fixed="right" label="缁撴潫浠诲姟" align="center" width="150">
+ <template #default="scope">
+ <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">瀹屾垚浠诲姟</el-button>
+ </template>
+ </el-table-column>
</el-table>
</div>
</el-card>
<div style="padding: 10px;display: flex;height:110px;">
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#1</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#2</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#3</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#4</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#5</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#6</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#7</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#8</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <!-- <div v-for="n in 8" :key="n" id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#1</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div> -->
+ <div v-for="(item, index) in tableDatae" :key="index" id="occupy">
+ <el-col style="text-align:left;font-weight: bold;">#{{ item.device_id }}</el-col>
+ <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+ <span>浣跨敤鐜�</span><span>{{ item.percentage }}</span>
+ </el-col>
+ <hr style="width:80%;margin: 0 auto;" />
+ <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+ <span>绌洪棽锛堟牸瀛愭暟锛�</span><span>{{ item.count }}</span>
+ </el-col>
+ </div>
</div>
<!-- <div id="awatch">
<img src="../../assets/cp.png" alt="" style="width: 70%;height: 70%;margin-left: 160px;">
@@ -393,15 +354,49 @@
</div>
<div v-show="c2" class="img-car3" :style="'z-index:999;left:247px;top:' + carposition3 + 'px;position:absolute;'">
- <div v-show="cellshow3" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
+ <div v-show="cellshow3" style="margin-top:10px;width:220px;height:5px;background-color:#409EFF;"></div>
</div>
<div class="img-car4" :style="'z-index:999;left:704px;top:' + carposition4 + 'px;position:absolute;'">
<div v-show="cellshow4" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
</div>
- <div v-show="cellshow" style="width: 200px;height: 5px;position: absolute;top:70px;left: 480px;background-color: #409EFF;">
+ <div v-show="cell1" style="width: 227px;height: 29px;position: absolute;top:55px;left: 465px;">
+ <div
+ v-for="(item, index) in adjustedRects"
+ :key="index"
+ :style="{
+ top: `1px`, width: `227px`,
+ backgroundColor: '#409EFF',
+ height: `height`+ `px`
+ }"
+ >
</div>
- <div v-show="cellshow5" style="width: 200px;height: 5px;position: absolute;top:70px;left: 480px;background-color: #409EFF;">
+ <!-- <div
+ v-for="(item, index) in adjustedRects"
+ height: `${rect.height}px`,
+ :key="index"
+ :style="{
+ width: '227px',
+ height: '1px',
+ backgroundColor: '#409EFF',
+ top: '1px'
+ }"
+ >
+ </div> -->
</div>
+ <!-- <div v-show="cell2" style="width: 227px;height: 29px;position: absolute;top:86px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell3" style="width: 227px;height: 29px;position: absolute;top:117px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell4" style="width: 227px;height: 29px;position: absolute;top:148px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell5" style="width: 227px;height: 29px;position: absolute;top:208px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell6" style="width: 227px;height: 29px;position: absolute;top:238px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell7" style="width: 227px;height: 29px;position: absolute;top:269px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell8" style="width: 227px;height: 29px;position: absolute;top:300px;left: 465px;background-color: #409EFF;">
+ </div> -->
</div>
</div>
@@ -527,17 +522,28 @@
</div>
</template>
</el-dialog>
-<el-dialog v-model="dialogFormVisiblea" top="10vh" width="85%" title="璁㈠崟淇℃伅" >
- <el-input placeholder="璇疯緭鍏ュ伐绋嬪彿" style="width: 180px;size: mini;"></el-input>
- <el-button style="margin-left: 10px;size: mini;" type="primary">鏌ヨ</el-button>
+<el-dialog v-model="dialogFormVisiblea" top="10vh" width="85%" title="鐞嗙墖绗间俊鎭�" >
+ <!-- <el-input placeholder="璇疯緭鍏ュ伐绋嬪彿" style="width: 180px;size: mini;"></el-input> -->
+ <!-- <el-button style="margin-left: 10px;size: mini;" type="primary">鏌ヨ</el-button> -->
<el-table ref="table" style="margin-top: 20px;height: 500px;"
@selection-change="handleSelectionChange"
- :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="ida" align="center" label="鐜荤拑id" min-width="80" />
- <el-table-column prop="typea" align="center" label="宸ョ▼鍙�" min-width="120" />
- <el-table-column prop="typea" align="center" label="闀�" min-width="120" />
- <el-table-column prop="typea" align="center" label="瀹�" min-width="120" />
- <el-table-column prop="typea" align="center" label="鍘�" min-width="120" />
+ :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="id" align="center" label="澶х悊鐗囩琛↖D" min-width="80" />
+ <el-table-column prop="deviceId" align="center" label="璁惧ID" min-width="120" />
+ <el-table-column prop="slot" align="center" label="鏍呮牸鍙�" min-width="120" />
+ <el-table-column
+ align="center"
+ label="鍚敤鐘舵��"
+ min-width="80"
+ prop="enableState"
+ >
+ <template #default="scope">
+ <el-tag :type="getStatusType(scope.row.enableState)">
+ {{ getStatusText(scope.row.enableState) }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="remainWidth" align="center" label="鍓╀綑瀹藉害" min-width="120" />
</el-table>
<div id="demo-pagination-block">
<el-pagination
@@ -557,25 +563,58 @@
</el-dialog>
<el-dialog v-model="dialogFormVisibleb" top="10vh" width="85%" title="鍑虹墖闃熷垪" >
<div style="display: flex;">
- <p style="margin-top: 4px;">闃熷垪鐘舵�侊細</p>
- <p style="margin-top: 4px;">寮�濮�</p>
+ <p style="margin-top: 3px;">闃熷垪鐘舵�侊細</p>
+ <p style="margin-top: 3px;">寮�濮�</p>
<el-button style="margin-left: 10px;size: mini;" type="danger">鍋滄</el-button>
<el-button style="margin-left: 10px;size: mini;" type="primary">娣诲姞</el-button>
</div>
<el-table ref="table" style="margin-top: 20px;height: 500px;"
- @selection-change="handleSelectionChange"
:data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="id" align="center" label="閾濇id" min-width="80" />
- <el-table-column prop="type" align="center" label="鐜荤拑id" min-width="120" />
- <el-table-column prop="type" align="center" label="璁㈠崟缂栧彿" min-width="120" />
- <el-table-column prop="type" align="center" label="鍒楄〃缂栧彿" min-width="120" />
- <el-table-column prop="type" align="center" label="绠卞瓙缂栧彿" min-width="120" />
- <el-table-column prop="type" align="center" label="闀�" min-width="120" />
- <el-table-column prop="type" align="center" label="瀹�" min-width="120" />
- <el-table-column prop="type" align="center" label="鐜荤拑鐘舵��" min-width="120" />
- <el-table-column prop="type" align="center" label="椤哄簭" min-width="120" />
- <el-table-column prop="type" align="center" label="瀹屾垚" min-width="120" />
- <el-table-column prop="type" align="center" label="鎿嶄綔" min-width="120" />
+ <el-table-column prop="id" fixed align="center" label="閽㈠寲灏忕墖淇℃伅琛╥d" min-width="150"/>
+ <!-- <el-table-column prop="glass_id" align="center" label="鐜荤拑id" min-width="120" /> -->
+ <el-table-column prop="flowcardId" fixed align="center" label="娴佺▼鍗�" min-width="120" />
+ <el-table-column prop="glassType" align="center" label="娴佺▼鍗$幓鐠冪被鍨�" min-width="150" />
+ <el-table-column prop="width" align="center" label="瀹�" min-width="80" />
+ <el-table-column prop="height" align="center" label="楂�" min-width="80" />
+ <el-table-column prop="thickness" align="center" label="鍘氬害" min-width="80" />
+ <el-table-column prop="filmsid" align="center" label="鑶滅郴" min-width="80" />
+ <!-- <el-table-column prop="ishorizontal" align="center" label="閽㈠寲鏄惁鎺ュ彈妯斁" min-width="150" /> -->
+ <el-table-column
+ align="center"
+ label="閽㈠寲鏄惁鎺ュ彈妯斁"
+ min-width="150"
+ prop="ishorizontal"
+ >
+ <template #default="scope">
+ <el-tag :type="getStatusTypea(scope.row.ishorizontal)">
+ {{ getStatusTexta(scope.row.ishorizontal) }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="temperingLayoutId" align="center" label="閽㈠寲鐗堝浘id" min-width="120" />
+ <el-table-column prop="temperingFeedSequence" align="center" label="閽㈠寲鐗堝浘鐗囧簭" min-width="120" />
+ <el-table-column prop="xCoordinate" align="center" label="x鍧愭爣" min-width="80" />
+ <el-table-column prop="yCoordinate" align="center" label="y鍧愭爣" min-width="80" />
+ <el-table-column prop="angle" align="center" label="鏃嬭浆瑙掑害锛堥�嗘椂閽堬級" min-width="150" />
+ <!-- <el-table-column prop="state" align="center" label="鐘舵��" min-width="80" /> -->
+ <el-table-column
+ align="center"
+ label="鐘舵��"
+ min-width="80"
+ prop="state"
+ >
+ <template #default="scope">
+ <el-tag :type="getStatusTypeb(scope.row.state)">
+ {{ getStatusTextb(scope.row.state) }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column fixed="right" label="鎿嶄綔" align="center" width="150">
+ <template #default="scope">
+ <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">娣诲姞</el-button>
+ <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
</el-table>
</el-dialog>
diff --git a/UI-Project/src/views/StockBasicData/stockBasicData.vue b/UI-Project/src/views/StockBasicData/stockBasicData.vue
index cdeb549..01b0ddb 100644
--- a/UI-Project/src/views/StockBasicData/stockBasicData.vue
+++ b/UI-Project/src/views/StockBasicData/stockBasicData.vue
@@ -4,9 +4,10 @@
import {useRouter} from "vue-router"
const router = useRouter()
const adda = ref(false)
-
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
-import { ref, onMounted } from "vue";
+import { ref, onMounted , onBeforeUnmount} from "vue";
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
// import LanguageMixin from './lang/LanguageMixin'
@@ -93,44 +94,23 @@
}
};
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'OrderList',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },
- data: [
- {
- 'id': '1',
- 'long': '5',
- 'wide': '1005',
- 'thick': '183.6',
- }
- ]
-
-})
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+ tableData.value = data.EdgTasks1[0]
+};
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
</script>
<template>
diff --git a/UI-Project/src/views/StockBasicData/stockBasicDatatwo.vue b/UI-Project/src/views/StockBasicData/stockBasicDatatwo.vue
index da758c0..6d4df18 100644
--- a/UI-Project/src/views/StockBasicData/stockBasicDatatwo.vue
+++ b/UI-Project/src/views/StockBasicData/stockBasicDatatwo.vue
@@ -4,9 +4,10 @@
import {useRouter} from "vue-router"
const router = useRouter()
const adda = ref(false)
-
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
-import { ref, onMounted } from "vue";
+import { ref, onMounted , onBeforeUnmount} from "vue";
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
// import LanguageMixin from './lang/LanguageMixin'
@@ -93,44 +94,24 @@
}
};
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'OrderList',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },
- data: [
- {
- 'id': '1',
- 'long': '5',
- 'wide': '1005',
- 'thick': '183.6',
- }
- ]
-
-})
+
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+ tableData.value = data.EdgTasks2[0]
+};
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
</script>
<template>
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindication.vue b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
index a55acb0..2424c68 100644
--- a/UI-Project/src/views/UnLoadGlass/Landingindication.vue
+++ b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
@@ -39,11 +39,11 @@
import { initializeWebSocket } from '@/utils/WebSocketService';
import { WebSocketHost } from '@/utils/constants';
const racks = ref([
- { x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456' } },
+ { x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456',downGlassInfoList:"" } },
- { x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG12345678' } },
+ { x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG12345678',downGlassInfoList:"" } },
- { x: 140, y: 420, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' } }
+ { x: 140, y: 420, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' ,downGlassInfoList:""} }
]);
@@ -87,7 +87,8 @@
content: itemData.item.content,
fillColor: itemData.item.fillColor,
width: itemData.item.width === 0 ? "" : 10,
- height: itemData.item.height === 0 ? "" : 90
+ height: itemData.item.height === 0 ? "" : 90,
+ downGlassInfoList:itemData.item.downGlassInfoList
};
if (index === 2 && itemData.item.width > 0) {
@@ -112,8 +113,8 @@
console.error(error);
}
};
-
const socketUrl = `ws://${WebSocketHost}:8085/api/talk/unloadglass2`;
+//const socketUrl = `ws://${WebSocketHost}:88/api/unLoadGlass/api/talk/unloadglass2`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
@@ -126,7 +127,8 @@
content: itemData.item.content,
fillColor: itemData.item.fillColor,
width: itemData.item.width === 0 ? "" : 10,
- height: itemData.item.height === 0 ? "" : 90
+ height: itemData.item.height === 0 ? "" : 90,
+ downGlassInfoList:itemData.item.downGlassInfoList
};
if (index === 2 && itemData.item.width > 0) {
@@ -135,6 +137,7 @@
}
rack.item = newItem;
+
// console.log("鏄剧ず鍥�1",racks.value); // 鎵撳嵃鏇存柊鍚庣殑 racks 鍊�
}
@@ -147,29 +150,45 @@
fetchFlowCardId(); // 鑾峰彇鏁版嵁
initializeWebSocket(socketUrl, handleMessage);
});
+const showCustomAlert = (downGlassInfoList) => {
+ let tableContent = '<table border="1" style="border-collapse: collapse; width: 100%;">';
+ tableContent += '<tr><th style="background-color: #f2f2f2;">鐜荤拑ID</th><th style="background-color: #f2f2f2;">鑶滅郴</th><th style="background-color: #f2f2f2;">鍘氬害</th><th style="background-color: #f2f2f2;">瀹藉害</th><th style="background-color: #f2f2f2;">楂樺害</th></tr>';
+ downGlassInfoList.forEach(info => {
+ tableContent += `<tr>
+ <td>${info.glassId}</td>
+ <td>${info.Filmsid}</td>
+ <td>${info.thickness}</td>
+ <td>${info.width}</td>
+ <td>${info.height}</td>
+ </tr>`;
+ });
-const showCustomAlert = (content) => {
- var str="鏋跺彿 : 111\n" +
- "闀� : 111\n" +
- "瀹� : 111\n" +
- "鍘� : 111\n"+
- "鐜荤拑ID : 111\n"+
- "鑶滅郴 : 111\n";
+ tableContent += '</table>';
Swal.fire({
title: '鐜荤拑淇℃伅',
- html: '<pre>' + str + '</pre>',
+ html: tableContent,
customClass: {
popup: 'format-pre'
}
});
};
-const showRectInfo = (rectInfo) => {
- const content = rectInfo.item.content;
- showCustomAlert(content);
-};
+
+ const showRectInfo = (rack) => {
+ const content = rack.item.content;
+ console.log(rack.item.downGlassInfoList[0].flowCardId)
+ console.log(content)
+ if(content==rack.item.downGlassInfoList[0].flowCardId){
+ const downGlassInfoList = rack.item.downGlassInfoList;
+ console.log(downGlassInfoList)
+ showCustomAlert(downGlassInfoList);
+
+ }
+
+ };
+
</script>
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue b/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
index cf75a2e..4e16fae 100644
--- a/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
+++ b/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
@@ -37,7 +37,7 @@
import Swal from 'sweetalert2'
import request from "@/utils/request";
import { initializeWebSocket } from '@/utils/WebSocketService';
- import { WebSocketHost } from '@/utils/constants';
+import { WebSocketHost ,host} from '@/utils/constants'
const racks = ref([
{ x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456' } },
@@ -112,7 +112,7 @@
}
};
-const socketUrl = `ws://${WebSocketHost}:8085/api/talk/unloadglass3`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass3`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
@@ -125,7 +125,8 @@
content: itemData.item.content,
fillColor: itemData.item.fillColor,
width: itemData.item.width === 0 ? "" : 10,
- height: itemData.item.height === 0 ? "" : 90
+ height: itemData.item.height === 0 ? "" : 90,
+ downGlassInfoList:itemData.item.downGlassInfoList
};
if (index === 2 && itemData.item.width > 0) {
@@ -146,30 +147,44 @@
fetchFlowCardId(); // 鑾峰彇鏁版嵁
initializeWebSocket(socketUrl, handleMessage);
});
+const showCustomAlert = (downGlassInfoList) => {
+ let tableContent = '<table border="1" style="border-collapse: collapse; width: 100%;">';
+ tableContent += '<tr><th style="background-color: #f2f2f2;">鐜荤拑ID</th><th style="background-color: #f2f2f2;">鑶滅郴</th><th style="background-color: #f2f2f2;">鍘氬害</th><th style="background-color: #f2f2f2;">瀹藉害</th><th style="background-color: #f2f2f2;">楂樺害</th></tr>';
+ downGlassInfoList.forEach(info => {
+ tableContent += `<tr>
+ <td>${info.glassId}</td>
+ <td>${info.Filmsid}</td>
+ <td>${info.thickness}</td>
+ <td>${info.width}</td>
+ <td>${info.height}</td>
+ </tr>`;
+ });
-// const showCustomAlert = (content) => {
-// var str="鏋跺彿 : 111\n" +
-// "闀� : 111\n" +
-// "瀹� : 111\n" +
-// "鍘� : 111\n"+
-// "鐜荤拑ID : 111\n"+
-// "鑶滅郴 : 111\n";
+ tableContent += '</table>';
-// Swal.fire({
-// title: '鐜荤拑淇℃伅',
-// html: '<pre>' + str + '</pre>',
-// customClass: {
-// popup: 'format-pre'
-// }
-// });
-// };
-
-const showRectInfo = (rectInfo) => {
- const content = rectInfo.item.content;
- showCustomAlert(content);
+ Swal.fire({
+ title: '鐜荤拑淇℃伅',
+ html: tableContent,
+ customClass: {
+ popup: 'format-pre'
+ }
+ });
};
+
+ const showRectInfo = (rack) => {
+ const content = rack.item.content;
+ console.log(rack.item.downGlassInfoList[0].flowCardId)
+ console.log(content)
+ if(content==rack.item.downGlassInfoList[0].flowCardId){
+ const downGlassInfoList = rack.item.downGlassInfoList;
+ console.log(downGlassInfoList)
+ showCustomAlert(downGlassInfoList);
+
+ }
+
+ };
</script>
<style scoped>
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index d53fe3c..fa23b1a 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -11,9 +11,7 @@
import Landingindicationtwo from "./Landingindicationtwo.vue";
import request from "@/utils/request";
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
- import { WebSocketHost } from '@/utils/constants';
-
-
+import { WebSocketHost ,host} from '@/utils/constants'
const dialogFormVisiblea = ref(false)
const dialogFormVisiblea2 = ref(false)
@@ -148,7 +146,7 @@
};
-const socketUrl = `ws://${WebSocketHost}:8085/api/talk/unloadglass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
index dae4ca1..e8bfd42 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
@@ -4,6 +4,7 @@
import com.github.xingshuangs.iot.utils.ShortUtil;
import java.lang.reflect.Array;
+import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.*;
@@ -182,6 +183,7 @@
Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
}
+
if (plcParameterInfo.getAddressLength() == 2) {
plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
} else if (plcParameterInfo.getAddressLength() == 4) {
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
index c65bd69..597f93c 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
@@ -69,6 +69,7 @@
//
List<SysMenu> menuList = sysUserRoleMapper.selectJoinList(SysMenu.class, wrapper);
+ log.info("userinfos:{}",menuList);
return create(menuList);
}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/resources/application-dev.yml b/hangzhoumesParent/common/springsecurity/src/main/resources/application-dev.yml
index 7085cc4..64e7984 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/resources/application-dev.yml
+++ b/hangzhoumesParent/common/springsecurity/src/main/resources/application-dev.yml
@@ -1,15 +1,15 @@
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://127.0.0.1:3306/hangzhoumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
username: root
password: beibo.123/
cloud:
nacos:
discovery:
- server-addr: 127.0.0.1:8848
+ server-addr: 10.153.19.150:8848
redis:
database: 0
- host: 127.0.0.1
+ host: 10.153.19.150
port: 6379
password: 123456
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
index 785dd88..c4c802d 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
@@ -2,6 +2,7 @@
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
+import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
import com.mes.edgstoragecage.service.EdgStorageCageService;
import com.mes.edgstoragecage.service.impl.EdgStorageCageServiceImpl;
import com.mes.taskcache.entity.TaskCache;
@@ -33,6 +34,9 @@
@Autowired
private EdgStorageCageService edgStorageCageService;
+ @Autowired
+ private EdgStorageCageDetailsService edgStorageCageDetailsService;
+
@ApiOperation("鏌ヨ纾ㄨ竟缂撳瓨鐞嗙墖绗煎唴璇︽儏 鍙傛暟()")
@PostMapping("/selectEdgStorageCage")
@ResponseBody
@@ -52,14 +56,25 @@
@ResponseBody
public Result updateEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
boolean isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage);
- return Result.build(200,"鏇存崲鎴愬姛",1);
+ return Result.build(200,"銆愬惎鐢�/绂佺敤銆戞垚鍔�",1);
}
+
@ApiOperation("纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愭竻闄�/鏇存崲/缁戝畾銆� EdgStorageCage鏍煎瓙淇℃伅,EdgStorageCageDetails 鐜荤拑淇℃伅 ")
@PostMapping("/edgStorageCageGlass")
@ResponseBody
public Result edgStorageCageGlass(@RequestBody EdgStorageCageDetails edgStorageCageDetails,int edgStorageCageId) {
boolean isSucess=edgStorageCageService.updateEdgStorageCageDetails(edgStorageCageId,edgStorageCageDetails);
- return Result.build(200,"鍒犻櫎鎴愬姛",1);
+ return Result.build(200,"銆愭竻闄�/鏇存崲/缁戝畾銆戞垚鍔�",1);
+ }
+
+ @ApiOperation("纾ㄨ竟妯″潡姹囨姤鐜荤拑鐘舵�� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愮牬鎹�/鎷胯蛋銆� ")
+ @PostMapping("/edgReportStatus")
+ @ResponseBody
+ public Result edgReportStatus(@RequestBody Map<String, String> arguments) {
+ String edgStorageCageDetailsId=arguments.get("glassId");
+ int controlsId=Integer.valueOf(arguments.get("controlsId"));
+ boolean isSucess=edgStorageCageDetailsService.identWorn(edgStorageCageDetailsId,controlsId);
+ return Result.build(200,"銆愮牬鎹�/鎷胯蛋銆戞垚鍔�",1);
}
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
index 8c2763e..81047b7 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
@@ -50,4 +50,5 @@
boolean updateEdgStorageCage(EdgStorageCage edgStorageCage);
boolean updateEdgStorageCageDetails(int edgStorageCageId, EdgStorageCageDetails edgStorageCageDetails);
+
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
index 930f76f..923a28b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -24,6 +24,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -66,7 +67,7 @@
if (edgStorageCageDetails.size() == 1) {
EdgStorageCageDetails item = edgStorageCageDetails.get(0);
item.setState(ControlsId);
- baseMapper.update(edgStorageCageDetails.get(0), new MPJLambdaWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId, glassId));
+ baseMapper.update(item, new MPJLambdaWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId, glassId));
return true;
}
// Sql鐗堟湰
@@ -89,11 +90,10 @@
public List<Map<String, Object>> selectCutTerritory() {
List<UpPattenUsage> upPattenUsage = upPattenUsageMapper.selectList(new MPJLambdaWrapper<UpPattenUsage>()
.selectAll(UpPattenUsage.class)
- .eq(UpPattenUsage::getState, 1));
-
+ .eq(UpPattenUsage::getState, 1).or().eq(UpPattenUsage::getState, 0).orderByDesc(UpPattenUsage::getState));
if (!upPattenUsage.isEmpty()) {
UpPattenUsage upPattenUsage1 = upPattenUsage.get(0);
- return optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
+ List<Map<String, Object>> cutTerritorys=optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
.selectAll(OptimizeDetail.class)
.selectAs(OptimizeLayout::getWidth, "olWidth")
.selectAs(OptimizeLayout::getWidth, "olHeight")
@@ -103,6 +103,20 @@
.eq(OptimizeDetail::getProjectNo, upPattenUsage1.getEngineeringId())
.eq(OptimizeDetail::getStockId, upPattenUsage1.getLayoutSequence())
);
+ List<Map<String, Object>> ResultcutTerritorys=new ArrayList<>();
+ for (Map<String, Object> cutTerritory : cutTerritorys) {
+ EdgStorageCageDetails edgStorageCageDetails=baseMapper.selectOne(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
+ .selectAll(EdgStorageCageDetails.class)
+ .eq(EdgStorageCageDetails::getGlassId, cutTerritory.get("glass_id")));
+// log.info("鍐呭锛歿}-------{}",cutTerritory,edgStorageCageDetails);
+ if(edgStorageCageDetails!=null){
+ cutTerritory.put("glass_state",edgStorageCageDetails.getState());
+ }else{
+ cutTerritory.put("glass_state",0);
+ }
+ ResultcutTerritorys.add(cutTerritory);
+ }
+ return ResultcutTerritorys;
// Sql鐗堟湰
// return optimizeDetailMapper.selectJoinMaps(new MPJQueryWrapper<OptimizeDetail>().selectAll(OptimizeDetail.class)
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
index 12a13ad..01d94b9 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -140,10 +140,11 @@
log.info("姝e父" + edgItem);
EdgStorageCageDetails edgDItem = edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
if (edgItem != null) {
- //绉婚櫎
+ //绉婚櫎 锛堢牬鎹�,鐩墠涓や釜姒傚康娣峰悎鍦ㄤ竴璧�,寤鸿鎷嗗紑锛�
EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, edgStorageCageId));
if (result != null) {
result.setSlot(0);
+ result.setState(201);
edgStorageCageDetailsMapper.updateById(result);
}
//娣诲姞
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
index 93bbc01..ade0460 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
@@ -1,6 +1,7 @@
package com.mes.glassinfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
import com.mes.glassinfo.entity.GlassInfo;
/**
@@ -11,6 +12,6 @@
* @author zhoush
* @since 2024-04-07
*/
-public interface GlassInfoMapper extends BaseMapper<GlassInfo> {
+public interface GlassInfoMapper extends MPJBaseMapper<GlassInfo> {
}
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 913738d..83c2289 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
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
+import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.query.MPJQueryWrapper;
@@ -30,6 +31,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Map;
/**
* @Author : zhoush
@@ -629,5 +631,91 @@
return edgGlassTaskInfoService.save(edgGlassTaskInfo);
}
+ /**
+ * 褰撳墠鍒囧壊鐗堝浘淇℃伅
+ *
+ * @param
+ * @return
+ */
+ @Scheduled(fixedDelay = 1000)
+ public void currentCutTerritory(){
+ JSONObject jsonObject = new JSONObject();
+ List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
+ jsonObject.append("currentCutTerritory", currentCutTerritorys);
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlass");
+ 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");
+ }
+ }
+ }
+ }
+
+ /**
+ * 纾ㄨ竟浠诲姟
+ *
+ * @param
+ * @return
+ */
+ @Scheduled(fixedDelay = 1000)
+ public void selectEdgTask(){
+ JSONObject jsonObject = new JSONObject();
+ List<Map<String,Object>> EdgTasks1 = taskCacheService.selectEdgInfo("2001");
+ List<Map<String,Object>> EdgTasks2 = taskCacheService.selectEdgInfo("2002");
+ jsonObject.append("EdgTasks1", EdgTasks1);
+ jsonObject.append("EdgTasks2", EdgTasks2);
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlass");
+ 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");
+ }
+ }
+ }
+ }
+
+ /**
+ * 纾ㄨ竟鍓� 缂撳瓨鍐呬俊鎭�
+ *
+ * @param
+ * @return
+ */
+ @Scheduled(fixedDelay = 1000)
+ public void selectEdgStorageCage(){
+ JSONObject jsonObject = new JSONObject();
+ List<Map<String, Object>> EdgStorageCageinfos=edgStorageCageService.selectEdgStorageCages();
+ jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos);
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlass");
+ 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");
+ }
+ }
+ }
+ }
+
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
index bef6b24..58a0dfd 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
@@ -52,7 +52,6 @@
@PostMapping("/identControls")
@ResponseBody
public Result identControls(@RequestParam(name = "identId", required = false) String identId,@RequestParam(name = "controlsId", required = false) int controlsId) {
-
boolean issucess = edgStorageCageDetailsService.identWorn(identId,controlsId);
return Result.build(200,"鎴愬姛",issucess);
}
@@ -60,8 +59,9 @@
@ApiOperation("纾ㄨ竟浠诲姟 鍙傛暟()")
@PostMapping("/selectEdgTask")
@ResponseBody
- public Result selectEdgTask(String line) {
- List<TaskCache> EdgTasks = taskCacheService.selectEdgInfo(line);
+ public Result selectEdgTask(@RequestBody Map<String, String> arguments) {
+ String line=arguments.get("line");
+ List<Map<String,Object>> EdgTasks = taskCacheService.selectEdgInfo(line);
return Result.build(200,"鎴愬姛",EdgTasks);
}
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 8cab5de..239fabe 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
@@ -4,6 +4,7 @@
import com.mes.taskcache.entity.TaskCache;
import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -15,13 +16,15 @@
*/
public interface TaskCacheService extends IService<TaskCache> {
+
+ boolean insertTaskCache(TaskCache taskCache);
/**
* 鏌ヨ纾ㄨ竟浠诲姟
*
* @param line
* @return
*/
- List<TaskCache> selectEdgInfo(String line);
+ List<Map<String,Object>> selectEdgInfo(String line);
/**
* 鏌ヨ纾ㄨ竟浠诲姟
@@ -68,6 +71,6 @@
* @param line
* @return
*/
- TaskCache selectLastOutCacheInfo(String line);
+ TaskCache selectLastOutCacheInfo(int line);
}
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 9993519..3b56659 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
@@ -1,17 +1,26 @@
package com.mes.taskcache.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
+import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.taskcache.entity.TaskCache;
import com.mes.taskcache.mapper.TaskCacheMapper;
import com.mes.taskcache.service.TaskCacheService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author zhoush
@@ -20,15 +29,58 @@
@Service
public class TaskCacheServiceImpl extends ServiceImpl<TaskCacheMapper, TaskCache> implements TaskCacheService {
+ @Autowired
+ EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
+
+ @Autowired
+ GlassInfoMapper glassInfoMapper;
+ /**
+ * 娣诲姞鐞嗙墖绗间换鍔�
+ * @param taskCache
+ * @return
+ */
+ @Override
+ public boolean insertTaskCache(TaskCache taskCache){
+ baseMapper.insert(taskCache);
+ return true;
+ }
+
/**
* 鏌ヨ纾ㄨ竟浠诲姟
- *
* @param line
* @return
*/
@Override
- public List<TaskCache> selectEdgInfo(String line) {
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell, line));
+ public List<Map<String,Object>> selectEdgInfo(String line) {
+ List<TaskCache> taskCache=baseMapper.selectList(new MPJLambdaWrapper<TaskCache>()
+ .selectAll(TaskCache.class)
+ .eq(TaskCache::getEndCell, line)
+ .eq(TaskCache::getTaskStatus,1)
+ .orderByAsc(TaskCache::getCreateTime));
+ List<Map<String,Object>> result=new ArrayList<>();
+ int serialNumber=1;
+ for(TaskCache taskCache1:taskCache){
+ Map<String,Object> map=new HashMap<>();
+ GlassInfo glassInfo=glassInfoMapper.selectOne(new MPJLambdaWrapper<GlassInfo>()
+ .selectAll(GlassInfo.class)
+ .eq(GlassInfo::getGlassId,taskCache1.getGlassId()));
+ if(glassInfo!=null){
+ map.put("Line",line);//绾胯矾 2001 1绾匡紝 2002 2绾�
+ map.put("Width",glassInfo.getWidth());//瀹�
+ map.put("Height",glassInfo.getHeight());//楂�
+ map.put("Thickness",glassInfo.getThickness());//鍘�
+ map.put("GlassId",glassInfo.getGlassId());//鐜荤拑ID
+ map.put("FlowCardId",glassInfo.getFlowCardId());//娴佺▼鍗″彿
+ map.put("TemperingLayoutId",glassInfo.getTemperingLayoutId());// 鏆備笉鏄剧ず 閽㈠寲鐗堝浘ID
+ map.put("TemperingFeedSequence",glassInfo.getTemperingFeedSequence());// 鏆備笉鏄剧ず 閽㈠寲鐗堝浘ID鍐呯殑搴忓彿
+ map.put("FilmsId",glassInfo.getFilmsid());//鑶滅郴
+ map.put("SerialNumber",serialNumber);//鍑虹墖椤哄簭
+ result.add(map);
+ }
+ serialNumber++;
+ }
+
+ return result;
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line));
}
@@ -39,18 +91,16 @@
/**
* 鏌ヨ寰呯悊鐗囧伐浣滅殑浠诲姟
- *
* @return
*/
@Override
- public List<TaskCache> selectCacheInfo() {
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0));
+ public List<TaskCache> selectCacheInfo(){
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0));
}
/**
* 鏌ヨ鍏ㄩ儴浠诲姟
- *
* @return
*/
@Override
@@ -60,48 +110,44 @@
/**
* 鏌ヨ寰呰繘鐗囦换鍔�
- *
* @return
*/
@Override
- public List<TaskCache> selectInputTaskCache() {
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0).eq(TaskCache::getTaskType, 1));
+ public List<TaskCache> selectInputTaskCache(){
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0).eq(TaskCache::getTaskType,1));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",1));
}
/**
* 鏌ヨ寰呭嚭鐗囦换鍔�
- *
* @return
*/
@Override
- public List<TaskCache> selectOutTaskCache() {
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0).eq(TaskCache::getTaskType, 2));
+ public List<TaskCache> selectOutTaskCache(){
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0).eq(TaskCache::getTaskType,2));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",2));
}
/**
* 鏌ヨ A09 鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
- *
* @param line
* @return
*/
@Override
- public List<TaskCache> selectLastOutCacheInfos(int line) {
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell, line).eq(TaskCache::getTaskStatus, 1).orderByDesc(TaskCache::getCreateTime));
+ public List<TaskCache> selectLastOutCacheInfos(int line){
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getCreateTime));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line).eq("task_status",1).orderByDesc("ID"));
}
/**
* 鏌ヨ A09 鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
- *
* @param line
* @return
*/
@Override
- public TaskCache selectLastOutCacheInfo(String line) {
- return baseMapper.selectOne(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell, line).eq(TaskCache::getTaskStatus, 1).orderByDesc(TaskCache::getCreateTime));
+ public TaskCache selectLastOutCacheInfo(int line){
+ return baseMapper.selectOne(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getCreateTime));
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-dev.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-dev.yml
index 2dcebbc..13f6aaa 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-dev.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-dev.yml
@@ -4,20 +4,35 @@
primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
datasource:
+# hangzhoumes:
+# url: jdbc:mysql://127.0.0.1:3306/hangzhoumes?serverTimezone=GMT%2b8
+# username: root
+# password: beibo.123/
+# driver-class-name: com.mysql.cj.jdbc.Driver
+# pp:
+# url: jdbc:mysql://127.0.0.1:3306/pp?serverTimezone=GMT%2b8
+# username: root
+# password: beibo.123/
+# driver-class-name: com.mysql.cj.jdbc.Driver
+# salve_hangzhoumes:
+# url: jdbc:sqlserver://127.0.0.1:1433;databasename=hangzhoumes
+# username: sa
+# password: beibo.123/
+# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
hangzhoumes:
- url: jdbc:mysql://127.0.0.1:3306/hangzhoumes?serverTimezone=GMT%2b8
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
pp:
- url: jdbc:mysql://127.0.0.1:3306/pp?serverTimezone=GMT%2b8
+ url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
salve_hangzhoumes:
- url: jdbc:sqlserver://127.0.0.1:1433;databasename=hangzhoumes
+ url: jdbc:sqlserver://10.153.19.150:1433;databasename=hangzhoumes
username: sa
- password: '!QAZ2wsx'
+ password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
cloud:
nacos:
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
index 1931f0a..855eddd 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
@@ -16,6 +16,7 @@
import com.mes.pp.mapper.OptimizeDetailMapper;
import com.mes.taskcache.entity.TaskCache;
import com.mes.taskcache.mapper.TaskCacheMapper;
+import com.mes.taskcache.service.impl.TaskCacheServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -44,6 +45,9 @@
@Autowired
TaskCacheMapper taskCacheMapper;
+
+ @Autowired
+ TaskCacheServiceImpl taskCacheServiceImpl;
@Autowired
OptimizeDetailMapper optimizeDetailMapper;
@Autowired
@@ -59,6 +63,13 @@
public void testSqlServer() {
List<TaskCache> list=taskCacheMapper.selectList(null);
log.info("鏁版嵁{}",list);
+ log.info("Sql鏁版嵁锛歿}", Arrays.asList(list));
+ }
+
+ @Test
+ public void testEdgtask() {
+ List<Map<String,Object>> list=taskCacheServiceImpl.selectEdgInfo("2001");
+ log.info("鏁版嵁{}",list);
log.info("Sql鏁版嵁锛歿}", Arrays.asList(list));
}
@@ -95,7 +106,6 @@
}
@Test
public void testOptimizeDetail() {
-
List<Map<String, Object>> map2=optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
.selectAll(OptimizeDetail.class)
.selectAs(OptimizeLayout::getWidth,"olWidth")
@@ -113,7 +123,7 @@
public void testOutTask() {
EdgStorageCageDetails edgStorageCageDetails=edgStorageCageDetailsService.selectConformGlass("1",3);
- log.info("鍒囧壊褰撳墠鐗堝浘淇℃伅1锛歿}", Arrays.asList(edgStorageCageDetails));
+ log.info("鍑虹墖浠诲姟锛歿}", Arrays.asList(edgStorageCageDetails));
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
index a81873e..4daedb5 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
@@ -30,8 +30,8 @@
@ApiOperation("鏌ヨ鐞嗙墖绗间俊鎭�")
@GetMapping("/bigStorageCage")
- public Result querybigStorageCageDetail() {
- return Result.build(200,"鏌ヨ鎴愬姛",bigStorageCageService.querybigStorageCageDetail());
+ public Result querybigStorageCageDetail(int deviceId) {
+ return Result.build(200,"鏌ヨ鎴愬姛",bigStorageCageService.querybigStorageCageDetail(deviceId));
}
}
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 5d3bc0b..10bb881 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
@@ -1,6 +1,7 @@
package com.mes.bigstorage.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.utils.Result;
@@ -40,7 +41,6 @@
public Result insertBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) {
bigStorageCageDetailsService.save(bigStorageCageDetails);
return Result.build(200,"娣诲姞鎴愬姛",1);
-
}
@ApiOperation("鐞嗙墖绗艰鎯呭垹闄�")
@@ -48,7 +48,15 @@
public Result deleteBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) {
bigStorageCageDetailsService.removeById(bigStorageCageDetails.getId());
return Result.build(200,"鍒犻櫎鎴愬姛",1);
-
}
+
+ @ApiOperation("鐞嗙墖绗间换鍔℃煡璇�")
+ @PostMapping("/selectBigStorageCageDetails")
+ public Result selectBigStorageCageDetails(int state) {
+ LambdaQueryWrapper<BigStorageCageDetails> selectWrapper = new LambdaQueryWrapper<>();
+ selectWrapper.eq(BigStorageCageDetails::getState,state);
+ return Result.build(200,"鏌ヨ鎴愬姛",bigStorageCageDetailsService.list(selectWrapper));
+ }
+
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
index 4788f9b..0acc5f2 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
@@ -1,13 +1,18 @@
package com.mes.bigstorage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
+import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
+import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
+import java.util.List;
/**
* <p>
@@ -17,6 +22,7 @@
* @author zhoush
* @since 2024-03-27
*/
+@ApiModel(description = "<p> </p>")
@Api(description = "澶х悊鐗囩璇︽儏")
@Data
@EqualsAndHashCode(callSuper = false)
@@ -109,5 +115,18 @@
@ApiModelProperty(value = "鐜荤拑闂撮殭", position = 15)
private Integer gap;
+ /**
+ * 杩涚墖浠诲姟
+ */
+ @ApiModelProperty(value = "杩涚墖浠诲姟", position = 16)
+ @TableField(exist = false)
+ private BigStorageCageFeedTask bigStorageCageFeedTask;
+
+ /**
+ * 鍑虹墖浠诲姟
+ */
+ @ApiModelProperty(value = "鍑虹墖浠诲姟", position = 17)
+ @TableField(exist = false)
+ private BigStorageCageOutTask bigStorageCageOutTask;
}
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 ef46c59..7b0a0a4 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
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.glassinfo.entity.GlassInfo;
+
+import java.util.List;
/**
* <p>
@@ -13,4 +16,7 @@
*/
public interface BigStorageCageDetailsService extends IService<BigStorageCageDetails> {
+ List<BigStorageCageDetails> selectTask(int taskType);
+
+ boolean selectGetBoard(GlassInfo glassInfo, String plcFeedReqLine);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
index 60ba4df..5f1d50f 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
@@ -7,6 +7,7 @@
import com.mes.glassinfo.entity.GlassInfo;
import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -24,6 +25,9 @@
boolean outGlass();
- List<BigStorageCage> querybigStorageCageDetail();
+ List<BigStorageCage> querybigStorageCageDetail(int deviceId);
+ List<Map<String, Object>> selectBigStorageCageUsage();
+
+ boolean selectWidthSufficient(BigStorageCageDetails layoutSlotInfo,double width);
}
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 298761d..89a9109 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
@@ -1,15 +1,24 @@
package com.mes.bigstorage.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
import com.mes.bigstorage.mapper.BigStorageCageMapper;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
+import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
+import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
+import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
+import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper;
+import com.mes.glassinfo.entity.GlassInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
/**
* <p>
@@ -21,7 +30,82 @@
*/
@Service
public class BigStorageCageDetailsServiceImpl extends ServiceImpl<BigStorageCageDetailsMapper, BigStorageCageDetails> implements BigStorageCageDetailsService {
- @Resource
- private BigStorageCageMapper bigStorageCageMapper;
+ @Resource
+ private BigStorageCageOutTaskMapper bigStorageCageOutTaskMapper;
+ @Resource
+ private BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper;
+
+ /**
+ * 鏌ヨ杩�/鍑虹墖浠诲姟
+ */
+ @Override
+ public List<BigStorageCageDetails> selectTask(int taskType) {
+ if(taskType==1){
+ //杩涚墖浠诲姟鏁版嵁
+ LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>();
+ feedWrapper.eq(BigStorageCageDetails::getState, 1)
+ .or()
+ .eq(BigStorageCageDetails::getState, 2);
+ List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(feedWrapper);
+ List<BigStorageCageFeedTask> bigStorageCageFeedTaskList=bigStorageCageFeedTaskMapper.selectList(null);
+
+ Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
+ .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
+
+ for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+ BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
+ }
+ return bigStorageCageDetailsList;
+ }else{
+ //鍑虹墖浠诲姟鏁版嵁
+ LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>();
+ outWrapper.eq(BigStorageCageDetails::getState, 3)
+ .or()
+ .eq(BigStorageCageDetails::getState, 4);
+ List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(outWrapper);
+ List<BigStorageCageOutTask> bigStorageCageOutTaskList=bigStorageCageOutTaskMapper.selectList(null);
+
+ Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream()
+ .collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task));
+ for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+ BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask);
+ }
+ return bigStorageCageDetailsList;
+ }
+
+ }
+
+ /**
+ * 鍒ゆ柇褰撳墠鐜荤拑鏄惁鑳戒笂杞�
+ */
+ @Override
+ public boolean selectGetBoard(GlassInfo glassInfo, String plcFeedReqLine){
+ double carWidth=5000;
+ LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>();
+ feedWrapper.eq(BigStorageCageDetails::getState, plcFeedReqLine);
+
+ List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(feedWrapper);
+ List<BigStorageCageFeedTask> bigStorageCageFeedTaskList=bigStorageCageFeedTaskMapper.selectList(null);
+ Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
+ .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
+ for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+ BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
+ }
+ for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList
+ ) {
+ if(bigStorageCageDetails.getBigStorageCageFeedTask().getTaskState()==0){
+ carWidth -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap();
+ }
+ }
+ if(carWidth>=0){
+ return true;
+ }else{
+ return false;
+ }
+
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
index 51d5f49..c798fc7 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -10,6 +10,7 @@
import com.mes.bigstorage.mapper.BigStorageCageMapper;
import com.mes.bigstorage.service.BigStorageCageService;
import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import lombok.extern.slf4j.Slf4j;
@@ -18,6 +19,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -44,29 +46,32 @@
@Resource
private TemperingGlassInfoService temperingGlassInfoService;
+ @Resource
+ private GlassInfoService glassInfoService;
+
+ //杩涚墖閫昏緫
@Override
public BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) {
- log.info("1銆佹煡璇㈢悊鐗囩鍐呯墖搴�+1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠�");
LambdaQueryWrapper<BigStorageCageDetails> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
- .eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() + 1);
+ .eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() - 1);
BigStorageCageDetails layoutSlotInfo;
layoutSlotInfo= bigStorageCageDetailsMapper.selectOne(wrapper);
-
+ log.info("1銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠�"+layoutSlotInfo);
BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
- log.info("2銆佹煡璇㈢悊鐗囩鍐呯墖搴�+1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓嶄负绌烘椂");
- if (layoutSlotInfo.getSlot() != null) {
+ log.info("2銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓嶄负绌烘椂"+layoutSlotInfo.getSlot());
+ if (layoutSlotInfo.getSlot() != null&&selectWidthSufficient(layoutSlotInfo,bigStorageCageDetails.getWidth())) {
bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot());
} else {
- log.info("3銆佹煡璇㈢悊鐗囩鍐呯墖搴�+1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓虹┖鏃惰幏鍙栧綋鍓嶇幓鐠冪増鍥緄d鏄惁瀛樺湪鐞嗙墖绗煎唴");
+ log.info("3銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓虹┖鏃惰幏鍙栧綋鍓嶇幓鐠冪増鍥緄d鏄惁瀛樺湪鐞嗙墖绗煎唴");
LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>();
bigStorageCageDetailslambdaQueryWrapper
.select(BigStorageCageDetails::getTemperingLayoutId);
layoutSlotInfo = bigStorageCageDetailsMapper.selectOne(bigStorageCageDetailslambdaQueryWrapper);
- if(layoutSlotInfo != null){
+ if(layoutSlotInfo != null&&selectWidthSufficient(layoutSlotInfo,bigStorageCageDetails.getWidth())){
log.info("4銆佽幏鍙栫瀛愬唴閫傚悎鐨勬牸瀛�");
BigStorageCage bigStorageCage=bigStorageCageSlot(layoutSlotInfo.getDeviceId());
bigStorageCageDetails.setSlot(bigStorageCage.getSlot());
@@ -81,13 +86,19 @@
List<Map<String, Object>> bigStorageCageDetailsCount= bigStorageCageDetailsMapper.selectMaps(queryWrapper);
log.info("5銆佹煡璇㈢瀛愬唴鏄惁鏈夊悎閫傜殑鏍煎瓙");
+ boolean found=false;
for (Map<String, Object> map : bigStorageCageDetailsCount) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
int deviceId = Integer.parseInt(entry.getKey());
BigStorageCage bigStorageCage=bigStorageCageSlot(deviceId);
if(bigStorageCage!=null){
bigStorageCageDetails.setSlot(bigStorageCage.getSlot());
+ found=true;
+ break;
}
+ }
+ if(found){
+ break;
}
}
}
@@ -114,13 +125,14 @@
return bigStorageCageMapper.selectOne(bigStorageCageWrapper);
}
-
+ //鍑虹墖閫昏緫
@Override
public boolean outGlass() {
- List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list();
+ LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper=new LambdaQueryWrapper<>();
+ temperingGlassInfoWrapper.eq(TemperingGlassInfo::getState,-1);
+ List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list(temperingGlassInfoWrapper);
log.info("1銆佹煡璇㈤挗鍖栧皬鐗囦换鍔¤〃鏄惁鏈夊緟鍑虹幓鐠�"+temperingGlassInfoList.size());
-
- if(temperingGlassInfoList!=null){
+ if(temperingGlassInfoList.size()>0){
temperingGlassInfoService.addOutTask(temperingGlassInfoList);
log.info("2銆佹坊鍔犱换鍔″埌浠诲姟琛�");
return true;
@@ -136,7 +148,17 @@
String layoutId = entry.getKey().substring(0, entry.getKey().indexOf('-'));
String layoutNum = entry.getKey().substring(entry.getKey().indexOf('-') + 1);
if (layoutNum.equals(entry.getValue())) {
- //4銆佹坊鍔犳閽㈠寲鐗堝浘id鎵�鏈夊皬鐗囧皬鐗囧埌閽㈠寲灏忕墖琛�
+ log.info("4銆佹坊鍔犳閽㈠寲鐗堝浘id鎵�鏈夊皬鐗囧皬鐗囧埌閽㈠寲灏忕墖琛�");
+ LambdaQueryWrapper<GlassInfo> glassInfoWrapper=new LambdaQueryWrapper<>();
+ glassInfoWrapper.select(GlassInfo::getTemperingLayoutId)
+ .orderByDesc(GlassInfo::getTemperingFeedSequence);
+ List<GlassInfo> glassInfoList= glassInfoService.list(glassInfoWrapper);
+ for (GlassInfo glassInfo:glassInfoList
+ ) {
+ TemperingGlassInfo temperingGlassInfo=new TemperingGlassInfo();
+ BeanUtils.copyProperties(glassInfo, temperingGlassInfo);
+ temperingGlassInfoService.save(temperingGlassInfo);
+ }
return false;
}
}
@@ -163,16 +185,21 @@
bigStorageCageMapper.update(bigStorageCage, bigStorageCageWrapper);
}
-
-
-
+ //鏌ヨ澶х悊鐗囦俊鎭紝鍓嶇灞曠ず鐢�
@Override
- public List<BigStorageCage> querybigStorageCageDetail() {
- //1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭�
- List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(null);
+ public List<BigStorageCage> querybigStorageCageDetail(int deviceId) {
+
+ LambdaQueryWrapper<BigStorageCage> BigStorageCageWrapper =new LambdaQueryWrapper<>();
+ BigStorageCageWrapper.eq(BigStorageCage::getSlot,deviceId);
+
+ LambdaQueryWrapper<BigStorageCageDetails> BigStorageCageDetailsWrapper =new LambdaQueryWrapper<>();
+ BigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getSlot,deviceId);
+
+ List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(BigStorageCageWrapper);
log.info("1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭畬鎴愶紝鑾峰彇鍒扮殑鏁版嵁{}", bigStorageCages.size());
- //2鑾峰彇鐞嗙墖绗兼墍鏈変俊鎭�
- List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(null);
+
+ List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(BigStorageCageDetailsWrapper);
+
Map<Integer, List<BigStorageCageDetails>> listMap = bigStorageCageDetailsList.stream().collect(Collectors.groupingBy(BigStorageCageDetails::getSlot));
for (BigStorageCage bigStorageCage : bigStorageCages) {
List<BigStorageCageDetails> bigStorageCageDetails = listMap.get(bigStorageCage.getSlot());
@@ -181,4 +208,28 @@
return bigStorageCages;
}
+ //绗煎瓙浣跨敤鎯呭喌锛岀晫闈㈠睍绀虹敤
+ @Override
+ public List<Map<String, Object>> selectBigStorageCageUsage() {
+ QueryWrapper<BigStorageCage> wrapper = new QueryWrapper<>();
+ wrapper.select("device_id")
+ .select("ROUND(1 - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) / COUNT(device_id), 2) AS percentage")
+ .select("COUNT(device_id) - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) AS count")
+ .groupBy("device_id");
+ List<Map<String, Object>> bigStorageCageUsages=baseMapper.selectMaps(wrapper);
+ return bigStorageCageUsages;
+ }
+
+ //鍒ゆ柇绗煎瓙鍓╀綑瀹藉害鏄惁瓒冲
+ @Override
+ public boolean selectWidthSufficient(BigStorageCageDetails layoutSlotInfo,double width) {
+ LambdaQueryWrapper<BigStorageCage> BigStorageCageWrapper = new LambdaQueryWrapper<>();
+ BigStorageCageWrapper.eq(BigStorageCage::getSlot,layoutSlotInfo.getSlot());
+ BigStorageCage bigStorageCage=baseMapper.selectOne(BigStorageCageWrapper);
+ if(bigStorageCage.getRemainWidth()>width){
+ return true;
+ }else{
+ return false;
+ }
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
index a9f3743..41ed73d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
@@ -3,6 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,21 +17,48 @@
* @author zhoush
* @since 2024-04-16
*/
+@ApiModel(description = "<p> </p>")
@Data
@EqualsAndHashCode(callSuper = false)
public class BigStorageCageFeedTask implements Serializable {
private static final long serialVersionUID = 1L;
+ /**
+ * 涓婚敭id
+ */
+ @ApiModelProperty(value = "涓婚敭id", position = 2)
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ /**
+ * 鐜荤拑id
+ */
+ @ApiModelProperty(value = "鐜荤拑id", position = 3)
+ private String glassId;
+
+ /**
+ * 鐩爣浣嶇疆
+ */
+ @ApiModelProperty(value = "鐩爣浣嶇疆", position = 4)
private Integer tragetSlot;
+ /**
+ * 鐜荤拑绫诲瀷
+ */
+ @ApiModelProperty(value = "鐜荤拑绫诲瀷", position = 5)
private Integer taskType;
+ /**
+ * 浠诲姟绫诲瀷
+ */
+ @ApiModelProperty(value = "浠诲姟绫诲瀷", position = 6)
private Integer taskState;
+ /**
+ * 绾胯矾
+ */
+ @ApiModelProperty(value = "绾胯矾", position = 7)
private Integer line;
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
index ffbb1d7..2094530 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
@@ -3,6 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,23 +17,54 @@
* @author zhoush
* @since 2024-04-16
*/
+@ApiModel(description = "<p> </p>")
@Data
@EqualsAndHashCode(callSuper = false)
public class BigStorageCageOutTask implements Serializable {
private static final long serialVersionUID = 1L;
+ /**
+ * 涓婚敭id
+ */
+ @ApiModelProperty(value = "涓婚敭id", position = 2)
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ /**
+ * 鐜荤拑id
+ */
+ @ApiModelProperty(value = "鐜荤拑id", position = 3)
+ private String glassId;
+
+ /**
+ * 寮�濮嬩綅缃�
+ */
+ @ApiModelProperty(value = "寮�濮嬩綅缃�", position = 4)
private Integer startSlot;
+ /**
+ * 鐩爣浣嶇疆
+ */
+ @ApiModelProperty(value = "鐩爣浣嶇疆", position = 5)
private Integer endSlot;
+ /**
+ * 杞︽
+ */
+ @ApiModelProperty(value = "杞︽", position = 6)
private Integer trainNumber;
+ /**
+ * 搴忓彿
+ */
+ @ApiModelProperty(value = "搴忓彿", position = 7)
private Integer serialNumber;
+ /**
+ * 浠诲姟鐘舵��
+ */
+ @ApiModelProperty(value = "浠诲姟鐘舵��", position = 8)
private Integer taskState;
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java
index 3765470..9722bca 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java
@@ -1,5 +1,6 @@
package com.mes.bigstoragetask.mapper;
+import com.baomidou.dynamic.datasource.annotation.DS;
import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -11,6 +12,7 @@
* @author zhoush
* @since 2024-04-16
*/
+@DS("salve_hangzhoumes")
public interface BigStorageCageFeedTaskMapper extends BaseMapper<BigStorageCageFeedTask> {
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageOutTaskMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageOutTaskMapper.java
index 4c29af4..4140cfa 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageOutTaskMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageOutTaskMapper.java
@@ -1,5 +1,6 @@
package com.mes.bigstoragetask.mapper;
+import com.baomidou.dynamic.datasource.annotation.DS;
import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -11,6 +12,7 @@
* @author zhoush
* @since 2024-04-16
*/
+@DS("salve_hangzhoumes")
public interface BigStorageCageOutTaskMapper extends BaseMapper<BigStorageCageOutTask> {
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java
index 2e10a4d..2c9a9e2 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java
@@ -19,5 +19,5 @@
void updateOutTask();
- void deleteOutTask(Long taskId);
+ void deleteOutTask(String glassId);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java
index c06a427..32938c2 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java
@@ -1,12 +1,14 @@
package com.mes.bigstoragetask.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper;
import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -32,6 +34,10 @@
BigStorageCageOutTaskMapper bigStorageCageOutTaskMapper;
@Resource
BigStorageCageDetailsMapper bigStorageCageDetailsMapper;
+
+ /**
+ * 鏌ヨ浠诲姟淇℃伅
+ */
@Override
public List<BigStorageCageOutTask> querybigStorageCageOutTask(int taskState){
log.info("鏍规嵁浼犲叆鐨勪换鍔$姸鎬佹煡璇换鍔′俊鎭細"+taskState);
@@ -40,21 +46,46 @@
return baseMapper.selectList(getOutTaskWrapper);
}
+ /**
+ * 妫�娴婸LC鏄惁瀹屾垚浠诲姟
+ */
@Override
public void updateOutTask(){
List<BigStorageCageOutTask> bigStorageCageOutTaskList=querybigStorageCageOutTask(1);
log.info("鏌ヨ浠诲姟琛ㄦ槸鍚︽湁宸插畬鎴愮殑鍑虹墖浠诲姟"+bigStorageCageOutTaskList.size());
for (BigStorageCageOutTask bigStorageCageOutTask:bigStorageCageOutTaskList
) {
- deleteOutTask(bigStorageCageOutTask.getId());
+ deleteOutTask(bigStorageCageOutTask.getGlassId());
}
}
+ /**
+ * 瀹屾垚鍑虹墖浠诲姟
+ */
@Override
- public void deleteOutTask(Long taskId){
+ public void deleteOutTask(String glassId){
log.info("鏍规嵁浠诲姟id淇敼閽㈠寲灏忕墖琛ㄧ姸鎬侊紝鍒犻櫎宸插畬鎴愮殑鍑虹墖浠诲姟,鍒犻櫎绗煎瓙琛ㄧ幓鐠�");
- temperingGlassInfoMapper.deleteById(taskId);
- bigStorageCageOutTaskMapper.deleteById(taskId);
- bigStorageCageDetailsMapper.deleteById(taskId);
+
+ LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper =new LambdaQueryWrapper<>();
+ temperingGlassInfoWrapper.eq(TemperingGlassInfo::getGlassId,glassId);
+ TemperingGlassInfo temperingGlassInfo=temperingGlassInfoMapper.selectOne(temperingGlassInfoWrapper);
+ //鍒ゆ柇鏄惁鎵嬪姩浠诲姟锛屼笉閽㈠寲浠诲姟瀹屾垚鍚庡垹鎺夛紝閽㈠寲浠诲姟瀹屾垚鍚庢敼鐘舵�佷负0
+ if(temperingGlassInfo.getState()==-2){
+ temperingGlassInfoMapper.deleteById(temperingGlassInfo.getId());
+ }else{
+ temperingGlassInfo.setState(0);
+ temperingGlassInfoMapper.updateById(temperingGlassInfo);
+ }
+
+ LambdaQueryWrapper<BigStorageCageOutTask> bigStorageCageOutTaskWrapper =new LambdaQueryWrapper<>();
+ bigStorageCageOutTaskWrapper.eq(BigStorageCageOutTask::getGlassId,glassId);
+ BigStorageCageOutTask bigStorageCageOutTask=bigStorageCageOutTaskMapper.selectOne(bigStorageCageOutTaskWrapper);
+ bigStorageCageOutTaskMapper.deleteById(bigStorageCageOutTask.getId());
+
+ LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper =new LambdaQueryWrapper<>();
+ bigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getGlassId,glassId);
+ BigStorageCageDetails bigStorageCageDetails=bigStorageCageDetailsMapper.selectOne(bigStorageCageDetailsWrapper);
+ bigStorageCageDetailsMapper.deleteById(bigStorageCageOutTask.getId());
+
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
index ac57db3..304846e 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
@@ -24,7 +24,9 @@
private S7object() {
if (plccontrol == null) {
plccontrol = new S7control(plcType, ip, port, 0, 0);
- String PlcLoadGlass = System.getProperty("user.dir") + "/JsonFile/PlcCacheVerticalGlass.json";
+
+ String PlcLoadGlass=S7object.class.getResource("/JsonFile/PlcCacheVerticalGlass.json").getPath();
+ //log.info(PLCAutoMes.class.getResource("").getPath());
PlcMesObject = InitUtil.initword(PlcLoadGlass);
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
new file mode 100644
index 0000000..b8b8a9d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
@@ -0,0 +1,20 @@
+package com.mes.edgglasstask.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@RestController
+@RequestMapping("/edgGlassTaskInfo")
+public class EdgGlassTaskInfoController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
new file mode 100644
index 0000000..52ad531
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -0,0 +1,71 @@
+package com.mes.edgglasstask.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@ApiModel(description = "<p> </p>")
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EdgGlassTaskInfo implements Serializable {
+
+ /**
+ * 纾ㄨ竟浠诲姟id
+ */
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鐜荤拑id
+ */
+ @ApiModelProperty(value = "鐜荤拑id", position = 2)
+ private String glassId;
+
+ /**
+ * 瀹�
+ */
+ @ApiModelProperty(value = "瀹�", position = 3)
+ private Integer width;
+
+ /**
+ * 楂�
+ */
+ @ApiModelProperty(value = "楂�", position = 4)
+ private Integer height;
+
+ /**
+ * 鍘氬害
+ */
+ @ApiModelProperty(value = "鍘氬害", position = 5)
+ private Integer thickness;
+
+ /**
+ * 鐜荤拑绫诲瀷
+ */
+ @ApiModelProperty(value = "鐜荤拑绫诲瀷", position = 6)
+ private Integer glassType;
+
+ /**
+ * 鐘舵��
+ */
+ @ApiModelProperty(value = "鐘舵��", position = 7)
+ private Integer status;
+
+ /**
+ * 绾胯矾
+ */
+ @ApiModelProperty(value = "绾胯矾", position = 8)
+ private Integer line;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java
new file mode 100644
index 0000000..2f6a5be
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java
@@ -0,0 +1,18 @@
+package com.mes.edgglasstask.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@DS("salve_hangzhoumes")
+public interface EdgGlassTaskInfoMapper extends BaseMapper<EdgGlassTaskInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
new file mode 100644
index 0000000..1589b7d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
@@ -0,0 +1,16 @@
+package com.mes.edgglasstask.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+public interface EdgGlassTaskInfoService extends IService<EdgGlassTaskInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
new file mode 100644
index 0000000..34a06f4
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.edgglasstask.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.mapper.EdgGlassTaskInfoMapper;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@Service
+public class EdgGlassTaskInfoServiceImpl extends ServiceImpl<EdgGlassTaskInfoMapper, EdgGlassTaskInfo> implements EdgGlassTaskInfoService {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/controller/TaskCacheController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/controller/TaskCacheController.java
index a11c8d2..23b286a 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/controller/TaskCacheController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/controller/TaskCacheController.java
@@ -1,4 +1,4 @@
-package com.mes.userinfo.controller;
+package com.mes.edgstoragetask.controller;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/mapper/TaskCacheMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/mapper/TaskCacheMapper.java
index 0f9d676..dee45f9 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/mapper/TaskCacheMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/mapper/TaskCacheMapper.java
@@ -1,5 +1,6 @@
package com.mes.edgstoragetask.mapper;
+import com.baomidou.dynamic.datasource.annotation.DS;
import com.mes.edgstoragetask.entity.TaskCache;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -11,6 +12,7 @@
* @author zhoush
* @since 2024-04-16
*/
+@DS("salve_hangzhoumes")
public interface TaskCacheMapper extends BaseMapper<TaskCache> {
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
new file mode 100644
index 0000000..d0c68d0
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
@@ -0,0 +1,101 @@
+package com.mes.job;
+
+import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mes.bigstorage.entity.BigStorageCage;
+import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.bigstorage.service.BigStorageCageDetailsService;
+import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
+import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
+import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
+import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
+import com.mes.common.S7object;
+import com.mes.device.PlcParameterObject;
+import com.mes.edgstoragetask.service.TaskCacheService;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.menu.service.SysMenuService;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
+import com.mes.tools.WebSocketServer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Component
+@Slf4j
+public class PlcSlicecage {
+
+ @Resource
+ private BigStorageCageService bigStorageCageService;
+ @Resource
+ private BigStorageCageDetailsService bigStorageCageDetailsService;
+ @Resource
+ private TemperingGlassInfoService temperingGlassInfoService;
+
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ /**
+ * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
+ * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
+ */
+ @Scheduled(fixedDelay = 5000)
+ public void plcStorageCageTask() throws InterruptedException {
+ JSONObject jsonObject = new JSONObject();
+ try {
+ //鐣岄潰灞曠ず绗煎瓙淇℃伅
+ jsonObject.append("bigStorageCageInfo1", bigStorageCageService.querybigStorageCageDetail(1));
+ jsonObject.append("bigStorageCageInfo2", bigStorageCageService.querybigStorageCageDetail(2));
+ jsonObject.append("bigStorageCageInfo3", bigStorageCageService.querybigStorageCageDetail(3));
+ jsonObject.append("bigStorageCageInfo4", bigStorageCageService.querybigStorageCageDetail(4));
+ jsonObject.append("bigStorageCageInfo5", bigStorageCageService.querybigStorageCageDetail(5));
+ jsonObject.append("bigStorageCageInfo6", bigStorageCageService.querybigStorageCageDetail(6));
+ jsonObject.append("bigStorageCageInfo7", bigStorageCageService.querybigStorageCageDetail(7));
+ jsonObject.append("bigStorageCageInfo8", bigStorageCageService.querybigStorageCageDetail(8));
+
+ //杩涚墖浠诲姟鏁版嵁
+ List<BigStorageCageDetails> bigStorageCageDetailsFeedTask=bigStorageCageDetailsService.selectTask(1);
+ jsonObject.append("bigStorageCageDetailsFeedTask", bigStorageCageDetailsFeedTask);
+
+ //鍑虹墖浠诲姟鏁版嵁
+ List<BigStorageCageDetails> bigStorageCageDetailsOutTask=bigStorageCageDetailsService.selectTask(2);
+ jsonObject.append("bigStorageCageDetailsOutTask", bigStorageCageDetailsOutTask);
+
+ //鐞嗙墖绗间娇鐢ㄦ儏鍐�
+ List<Map<String, Object>> bigStorageCageUsage=bigStorageCageService.selectBigStorageCageUsage();
+ jsonObject.append("bigStorageCageUsage", bigStorageCageUsage);
+
+ //鍑虹墖闃熷垪
+ List<TemperingGlassInfo> temperingGlassInfoList= temperingGlassInfoService.list();
+ jsonObject.append("temperingGlassInfoList", temperingGlassInfoList);
+
+ //鎶ヨ淇℃伅
+ jsonObject.append("bigStorageCageFullAlarm", PlcStorageCageTask.bigStorageCageFullAlarm);
+
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
+ 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");
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+}
\ No newline at end of file
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 f34d1a3..476151f 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
@@ -1,6 +1,4 @@
package com.mes.job;
-
-import cn.hutool.json.JSONObject;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
@@ -13,14 +11,11 @@
import com.mes.edgstoragetask.service.TaskCacheService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
-import com.mes.menu.service.SysMenuService;
-import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
-import java.util.ArrayList;
import java.util.List;
@Component
@@ -40,20 +35,16 @@
@Resource
private TaskCacheService taskCacheService;
- @Resource
- private SysMenuService sysMenuService;
-
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+
+ public static boolean bigStorageCageFullAlarm = false;
/**
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 5000)
public void plcStorageCageTask() throws InterruptedException {
- JSONObject jsonObject = new JSONObject();
try {
- // 鐖嗙鎶ヨ
- boolean bigStorageCageFullAlarm = false;
String plcFeedGlassid = "";
String plcFeedReqLine = "0";
@@ -71,15 +62,24 @@
BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
GlassInfo glassInfo = glassInfoService.getById(plcFeedGlassid);
log.info("2銆佹牴鎹幓鐠僫d鑾峰彇鐜荤拑淇℃伅" + glassInfo);
- BigStorageCageDetails slotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails);
- if (slotInfo != null) {
- int taskType = taskCacheService.judgeTasktype();
- log.info("3銆佹煡璇换鍔¤〃鍒ゆ柇褰撳墠浠诲姟绫诲瀷涓轰笂杞︾瓑鍒拌繕鏄笂杞﹀惎鍔�" + taskType);
- bigStorageCageFeedTaskService.addFeedTask(slotInfo, Integer.parseInt(plcFeedReqLine), taskType);
- log.info("4銆佹坊鍔犱换鍔″埌浠诲姟琛�");
- bigStorageCageFullAlarm = false;
- } else {
- bigStorageCageFullAlarm = true;
+ if(bigStorageCageDetailsService.selectGetBoard(glassInfo,plcFeedReqLine)){
+ BigStorageCageDetails slotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails);
+ if (slotInfo != null) {
+ int taskType = taskCacheService.judgeTasktype();
+ log.info("3銆佹煡璇换鍔¤〃鍒ゆ柇褰撳墠浠诲姟绫诲瀷涓轰笂杞︾瓑鍒拌繕鏄笂杞﹀惎鍔�" + taskType);
+ bigStorageCageFeedTaskService.addFeedTask(slotInfo, Integer.parseInt(plcFeedReqLine), taskType);
+ log.info("4銆佹坊鍔犱换鍔″埌浠诲姟琛�");
+ bigStorageCageFullAlarm = false;
+ } else {
+ bigStorageCageFullAlarm = true;
+ }
+ }else{
+ log.info("褰撳墠鐜荤拑瀹藉害涓嶅涓婅溅" + glassInfo);
+ if(!("1".equals(plcFeedReqLine))){
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1);
+ }else{
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1);
+ }
}
} else {
List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskService.querybigStorageCageFeedTask(1);
@@ -105,24 +105,8 @@
bigStorageCageOutTaskService.updateOutTask();
log.info("9銆佹牴鎹换鍔¤〃鐘舵�佷慨鏀归挗鍖栧皬鐗囪〃浠诲姟鐘舵��");
- //鎶ヨ淇℃伅
- jsonObject.append("bigStorageCageFullAlarm", bigStorageCageFullAlarm);
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
- 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");
- }
- }
- }
+
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
index 3f6b0c9..40878b5 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
@@ -3,6 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,6 +17,7 @@
* @author zhoush
* @since 2024-03-27
*/
+@ApiModel(description = "<p> 閽㈠寲灏忕墖淇℃伅琛� </p>")
@Data
@EqualsAndHashCode(callSuper = false)
public class TemperingGlassInfo implements Serializable {
@@ -23,72 +27,92 @@
/**
* 閽㈠寲灏忕墖淇℃伅琛╥d
*/
+ @ApiModelProperty(value = "閽㈠寲灏忕墖淇℃伅琛╥d", position = 2)
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
+ * 鐜荤拑id
+ */
+ @ApiModelProperty(value = "鐜荤拑id", position = 3)
+ private String glassId;
+
+ /**
* 娴佺▼鍗�
*/
+ @ApiModelProperty(value = "娴佺▼鍗�", position = 4)
private String flowcardId;
/**
* 娴佺▼鍗$幓鐠冪被鍨�
*/
+ @ApiModelProperty(value = "娴佺▼鍗$幓鐠冪被鍨�", position = 5)
private Integer glassType;
/**
* 瀹�
*/
+ @ApiModelProperty(value = "瀹�", position = 6)
private Double width;
/**
* 楂�
*/
+ @ApiModelProperty(value = "楂�", position = 7)
private Double height;
/**
* 鍘氬害
*/
+ @ApiModelProperty(value = "鍘氬害", position = 8)
private Double thickness;
/**
* 鑶滅郴
*/
+ @ApiModelProperty(value = "鑶滅郴", position = 9)
private Integer filmsid;
/**
* 閽㈠寲鏄惁鎺ュ彈妯斁
*/
+ @ApiModelProperty(value = "閽㈠寲鏄惁鎺ュ彈妯斁", position = 10)
private Integer ishorizontal;
/**
* 閽㈠寲鐗堝浘id
*/
+ @ApiModelProperty(value = "閽㈠寲鐗堝浘id", position = 11)
private Integer temperingLayoutId;
/**
* 閽㈠寲鐗堝浘鐗囧簭
*/
+ @ApiModelProperty(value = "閽㈠寲鐗堝浘鐗囧簭", position = 12)
private Integer temperingFeedSequence;
/**
* x鍧愭爣
*/
+ @ApiModelProperty(value = "x鍧愭爣", position = 13)
private Integer xCoordinate;
/**
* y鍧愭爣
*/
+ @ApiModelProperty(value = "y鍧愭爣", position = 14)
private Integer yCoordinate;
/**
* 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
*/
+ @ApiModelProperty(value = "鏃嬭浆瑙掑害锛堥�嗘椂閽堬級", position = 15)
private Integer angle;
/**
* 鐘舵��
*/
+ @ApiModelProperty(value = "鐘舵��", position = 16)
private Integer state;
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
index ccf5a4b..bb591f5 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
@@ -1,5 +1,6 @@
package com.mes.temperingglass.mapper;
+import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.temperingglass.entity.TemperingGlassInfo;
@@ -11,6 +12,7 @@
* @author zhoush
* @since 2024-03-27
*/
+@DS("salve_hangzhoumes")
public interface TemperingGlassInfoMapper extends BaseMapper<TemperingGlassInfo> {
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
index 4e4b1c8..b9e6e98 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -31,11 +31,11 @@
) {
log.info("1銆佸綋鍑虹墖杞﹀搴﹀ぇ浜庣幓鐠冨搴︽椂");
if((carWidth-temperingGlassInfo.getWidth())>0){
- carWidth-=temperingGlassInfo.getWidth()-gap;
- log.info("2銆佹坊鍔犲垰灏忕墖琛ㄤ俊鎭埌浠诲姟琛�");
- temperingGlassInfo.setState(1);
+ carWidth-=temperingGlassInfo.getWidth()+gap;
+ log.info("2銆佹坊鍔犻挗鍖栧皬鐗囪〃淇℃伅鍒颁换鍔¤〃");
+ temperingGlassInfo.setState(0);
baseMapper.updateById(temperingGlassInfo);
- log.info("3銆佹坊鍔犲垰灏忕墖琛ㄤ俊鎭埌浠诲姟琛�");
+ log.info("3銆佷慨鏀归挗鍖栧皬鐗囪〃浠诲姟鐘舵��");
BigStorageCageOutTask bigStorageCageOutTask =new BigStorageCageOutTask();
bigStorageCageOutTask.setId(temperingGlassInfo.getId());
}else{
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
index 593308c..2634690 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
@@ -5,7 +5,6 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-import org.springframework.scheduling.annotation.EnableScheduling;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
@@ -17,7 +16,6 @@
@SpringBootApplication
@EnableSwagger2
@EnableDiscoveryClient
-@EnableScheduling
@MapperScan(basePackages = "com.mes.*.mapper")
public class LoadGlassModuleApplication {
public static void main(String[] args) {
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
index 586a7b3..94df6c1 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
@@ -2,10 +2,11 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+
/**
* <p>
*
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 8c66de2..71351af 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 = 300)
+ @Scheduled(fixedDelay = 3000000)
public void plcLoadGlassTask() throws InterruptedException {
try {
//鑾峰彇鑱旀満鐘舵��
@@ -87,7 +87,7 @@
}
}
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 30000000)
public void plcLoadGlassReport(){
//鑾峰彇鏄惁鏈夋眹鎶�
String loadStatus = plcParameterObject.getPlcParameter("PlcStatus").getValue();
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
index b5265de..ed0bc83 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
-import io.swagger.annotations.ApiOperation;
import lombok.Data;
import lombok.EqualsAndHashCode;
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
index 6c44a7d..d25be0d 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
@@ -5,8 +5,6 @@
import com.mes.workstation.entity.UpWorkstation;
import org.apache.ibatis.annotations.Param;
-import java.util.List;
-
/**
* <p>
* Mapper 鎺ュ彛
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-dev.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-dev.yml
index a4d1cac..66f9c31 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-dev.yml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-dev.yml
@@ -14,6 +14,16 @@
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
+# hangzhoumes:
+# url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
+# username: root
+# password: beibo.123/
+# driver-class-name: com.mysql.cj.jdbc.Driver
+# pp:
+# url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
+# username: root
+# password: beibo.123/
+# driver-class-name: com.mysql.cj.jdbc.Driver
cloud:
nacos:
discovery:
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
index ab63b5f..4afc106 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
@@ -2,7 +2,6 @@
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.service.EngineeringService;
-import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.entity.request.OptimizeRequest;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java
index 252ad6f..0f18b76 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java
@@ -1,6 +1,6 @@
package com.mes;
-import com.mes.common.S7object;
+//import com.mes.common.S7object;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
index ba78936..38e5f48 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
@@ -46,7 +46,7 @@
* @param end
* @return log.info(" 鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓уぇ灏忓嚭鐗�, 骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖 ");
*/
- List<DownStorageCageDetails> CacheOut(int start, int end);
+
/**
* @return 鍑虹墖
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
index 225e002..0696121 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -56,24 +56,24 @@
}
- @Override
- public List<DownStorageCageDetails> CacheOut(int start, int end) {
- log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓уぇ灏忓嚭鐗�,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
- return downStorageCageDetailsMapper.selectJoinList(
- DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
- .select("t.*")
- .leftJoin("(SELECT t1.* FROM down_storage_cage_details t1 "
- + "JOIN (SELECT flow_card_id, MAX(width*height) AS max_width FROM glass_info GROUP BY flow_card_id) t "
- + "ON t1.flow_card_id = t.flow_card_id WHERE t1.width*t1.height = t.max_width) t3"
- + " ON t.glass_id = t3.glass_id")
- .leftJoin("down_workstation t4 ON t3.flow_card_id = t4.flow_card_id")
- .isNull(Boolean.parseBoolean("t.glass_id"), "SELECT glass_id FROM down_glass_info")
- .between("t4.workstation_id", start, end)
- // 鏍规嵁 racks_number 鎺掑簭
- .orderByDesc("t4.racks_number")
-
- );
- }
+// @Override
+// public List<DownStorageCageDetails> CacheOut(int start, int end) {
+// log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓уぇ灏忓嚭鐗�,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
+// return downStorageCageDetailsMapper.selectJoinList(
+// DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+// .select("t.*")
+// .leftJoin("(SELECT t1.* FROM down_storage_cage_details t1 "
+// + "JOIN (SELECT flow_card_id, MAX(width*height) AS max_width FROM glass_info GROUP BY flow_card_id) t "
+// + "ON t1.flow_card_id = t.flow_card_id WHERE t1.width*t1.height = t.max_width) t3"
+// + " ON t.glass_id = t3.glass_id")
+// .leftJoin("down_workstation t4 ON t3.flow_card_id = t4.flow_card_id")
+// .isNull(Boolean.parseBoolean("t.glass_id"), "SELECT glass_id FROM down_glass_info")
+// .between("t4.workstation_id", start, end)
+// // 鏍规嵁 racks_number 鎺掑簭
+// .orderByDesc("t4.racks_number")
+//
+// );
+// }
// @Override
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
index e580072..53d6be3 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -5,7 +5,7 @@
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.mes.device.PlcParameterObject;
+//import com.mes.device.PlcParameterObject;
import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downglassinfo.service.DownGlassTaskService;
import com.mes.downstorage.entity.DownStorageCage;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
new file mode 100644
index 0000000..66f6dee
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -0,0 +1,29 @@
+package com.mes.engineering.controller;
+
+
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.service.EngineeringService;
+
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-04-22
+ */
+@RestController
+@Slf4j
+@RequestMapping("/engineering/engineering")
+public class EngineeringController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
new file mode 100644
index 0000000..586a7b3
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
@@ -0,0 +1,100 @@
+package com.mes.engineering.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-04-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Engineering implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 宸ョ▼琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 宸ョ▼鍙�
+ */
+ private String engineerId;
+
+ /**
+ * 宸ョ▼鍚嶇О
+ */
+ private String engineerName;
+
+ /**
+ * 骞冲潎鍒╃敤鐜�
+ */
+ private Double avgAvailability;
+
+ /**
+ * 鏈夋晥鍒╃敤鐜�
+ */
+ private Double validAvailability;
+
+ /**
+ * 灏剧墖鍒╃敤鐜�
+ */
+ private Double lastAvailability;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer state;
+
+ /**
+ * 灏忕墖鎬绘暟
+ */
+ private Integer glassTotal;
+
+ /**
+ * 灏忕墖鎬婚潰绉�
+ */
+ private Double glassTotalArea;
+
+ /**
+ * 璁″垝鍘熺墖鎬绘暟
+ */
+ private Integer planPatternTotal;
+
+ /**
+ * 璁″垝鍘熺墖鎬婚潰绉�
+ */
+ private Double planPatternTotalArea;
+
+ /**
+ * 瀹為檯鍘熺墖鎬绘暟
+ */
+ private Integer realityPatternTotal;
+
+ /**
+ * 瀹為檯鍘熺墖鎬婚潰绉�
+ */
+ private Double realityPatternTotalArea;
+
+ /**
+ * 鑶滅郴id
+ */
+ private String filmsId;
+
+ /**
+ * 澶囨敞
+ */
+ private String notes;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
new file mode 100644
index 0000000..d92eae7
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
@@ -0,0 +1,17 @@
+package com.mes.engineering.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.mes.engineering.entity.Engineering;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-04-22
+ */
+public interface EngineeringMapper extends MPJBaseMapper<Engineering> {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
new file mode 100644
index 0000000..bff1839
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
@@ -0,0 +1,5 @@
+<?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.engineering.mapper.EngineeringMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
new file mode 100644
index 0000000..f453b11
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
@@ -0,0 +1,20 @@
+package com.mes.engineering.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.engineering.entity.Engineering;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-04-22
+ */
+public interface EngineeringService extends IService<Engineering> {
+
+
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
new file mode 100644
index 0000000..1feaa37
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -0,0 +1,33 @@
+package com.mes.engineering.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.mapper.EngineeringMapper;
+import com.mes.engineering.service.EngineeringService;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.mapper.OptimizeProjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-04-22
+ */
+@Service
+@Slf4j
+public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engineering> implements EngineeringService {
+
+
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
index 27d9263..7bfe24e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
@@ -1,6 +1,7 @@
package com.mes.glassinfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
import com.mes.glassinfo.entity.GlassInfo;
import org.mapstruct.Mapper;
@@ -13,7 +14,7 @@
* @since 2024-03-27
*/
@Mapper
-public interface GlassInfoMapper extends BaseMapper<GlassInfo> {
+public interface GlassInfoMapper extends MPJBaseMapper<GlassInfo> {
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index 58bb4b0..cd2bc4d 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -1,7 +1,13 @@
package com.mes.glassinfo.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.mes.downstorage.entity.DownStorageCage;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.mapper.EngineeringMapper;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.glassinfo.service.GlassInfoService;
@@ -22,11 +28,13 @@
@Service
public class GlassInfoServiceImpl extends ServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
+ private EngineeringMapper engineeringMapper;
private GlassInfoMapper glassInfoMapper;
@Autowired(required=false)
- public GlassInfoServiceImpl(GlassInfoMapper glassInfoMapper) {
+ public GlassInfoServiceImpl(GlassInfoMapper glassInfoMapper, EngineeringMapper engineeringMapper) {
this.glassInfoMapper = glassInfoMapper;
+ this.engineeringMapper = engineeringMapper;
}
@Override
@@ -36,15 +44,26 @@
}
+
@Override
public List<Map<String, Object>> getFlowCardId() {
- return baseMapper.selectMaps(new QueryWrapper<GlassInfo>().lambda().select(GlassInfo::getFlowCardId).groupBy(GlassInfo::getFlowCardId));
+ return baseMapper.selectJoinMaps(JoinWrappers.lambda(GlassInfo.class)
+ .select(GlassInfo::getFlowCardId)
+ .leftJoin(Engineering.class, on -> on
+ .eq(Engineering::getEngineerId, GlassInfo::getEngineerId)
+ .eq(Engineering::getState, 0)
+ )
+ .groupBy(GlassInfo::getFlowCardId)
+ );
}
+
+
+
@Override
public GlassInfo selectGlassId(String id) {
return baseMapper.selectOne(new QueryWrapper<GlassInfo>().lambda()
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
index 09de05d..1f25bca 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
@@ -16,6 +16,7 @@
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Bean;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Arrays;
@@ -30,6 +31,7 @@
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(classes = UnLoadGlassApplication.class)
+
public class UnloadGlassModuleApplicationTest {
@Autowired
@@ -48,6 +50,9 @@
GlassInfoServiceImpl glassInfoServiceImpl;
@Autowired
DownWorkstationService downWorkstationService;
+
+
+
@Test
public void testFindPath() {
@@ -106,12 +111,15 @@
}
- @Test
- public void CacheEmpty() {
- log.info("娴嬭瘯鍑虹墖");
- downStorageCageDetailsService.CacheOut(1,2);
+// @Test
+// public void CacheEmpty() {
+// log.info("娴嬭瘯鍑虹墖");
+// downStorageCageDetailsService.CacheOut(1,2);
+//
+// }
- }
+
+
@Test
public void CacheEmpty1() {
log.info("娴嬭瘯鍑虹墖");
@@ -152,5 +160,13 @@
downStorageCageServiceImpl.selectCacheEmpty();
}
+ @Test
+ public void getFlowCardId() {
+
+
+ glassInfoServiceImpl.getFlowCardId();
+ }
+
+
}
\ No newline at end of file
--
Gitblit v1.8.0