From a745fd53a1c8840a886c826c6a6bf0b8b226cd25 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 20 六月 2024 22:07:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java | 36 +
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java | 6
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 18
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 68 +--
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java | 3
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java | 6
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java | 53 +++
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml | 5
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-prod.yml | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java | 8
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java | 3
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java | 3
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java | 43 +-
UI-Project/src/views/GlassStorage/MaterialRackManagement.vue | 405 +++++++++++++++++++++++++++
UI-Project/src/router/index.js | 13
UI-Project/package-lock.json | 193 ++++++++++++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java | 14
UI-Project/package.json | 4
19 files changed, 801 insertions(+), 87 deletions(-)
diff --git a/UI-Project/package-lock.json b/UI-Project/package-lock.json
index ba2dc0c..d94acf9 100644
--- a/UI-Project/package-lock.json
+++ b/UI-Project/package-lock.json
@@ -11,6 +11,8 @@
"@element-plus/icons-vue": "^2.1.0",
"@vue-macros/reactivity-transform": "^0.3.23",
"axios": "^1.6.8",
+ "chart.js": "^4.4.3",
+ "echarts": "^5.5.0",
"element-plus": "^2.4.0",
"moment": "^2.30.1",
"pinia": "^2.1.6",
@@ -18,6 +20,7 @@
"sortablejs": "^1.15.1",
"sweetalert2": "^11.10.7",
"vue": "^3.3.4",
+ "vue-echarts": "^6.7.3",
"vue-i18n": "^9.13.1",
"vue-router": "^4.2.4",
"vxe-table": "^4.5.15",
@@ -28,6 +31,7 @@
"@types/sortablejs": "^1.15.7",
"@vitejs/plugin-vue": "^4.3.4",
"http-proxy-middleware": "^3.0.0",
+ "sass": "^1.77.6",
"vite": "^4.4.9"
}
},
@@ -498,6 +502,11 @@
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
+ "node_modules/@kurkle/color": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmmirror.com/@kurkle/color/-/color-0.3.2.tgz",
+ "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
+ },
"node_modules/@popperjs/core": {
"name": "@sxzz/popperjs-es",
"version": "2.11.7",
@@ -917,6 +926,17 @@
"node": ">=0.8"
}
},
+ "node_modules/chart.js": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/chart.js/-/chart.js-4.4.3.tgz",
+ "integrity": "sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==",
+ "dependencies": {
+ "@kurkle/color": "^0.3.0"
+ },
+ "engines": {
+ "pnpm": ">=8"
+ }
+ },
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -1012,6 +1032,15 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/dom-zindex/-/dom-zindex-1.0.1.tgz",
"integrity": "sha512-M/MERVDZ8hguvjl6MAlLWSLYLS7PzEyXaTb5gEeJ+SF+e9iUC0sdvlzqe91MMDHBoy+nqw7wKcUOrDSyvMCrRg=="
+ },
+ "node_modules/echarts": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.0.tgz",
+ "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==",
+ "dependencies": {
+ "tslib": "2.3.0",
+ "zrender": "5.5.0"
+ }
},
"node_modules/element-plus": {
"version": "2.4.0",
@@ -1190,6 +1219,12 @@
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
+ },
+ "node_modules/immutable": {
+ "version": "4.3.6",
+ "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.6.tgz",
+ "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==",
+ "dev": true
},
"node_modules/is-binary-path": {
"version": "2.1.0",
@@ -1500,6 +1535,11 @@
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true
},
+ "node_modules/resize-detector": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmmirror.com/resize-detector/-/resize-detector-0.3.0.tgz",
+ "integrity": "sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ=="
+ },
"node_modules/rollup": {
"version": "3.29.4",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
@@ -1514,6 +1554,23 @@
},
"optionalDependencies": {
"fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/sass": {
+ "version": "1.77.6",
+ "resolved": "https://registry.npmmirror.com/sass/-/sass-1.77.6.tgz",
+ "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==",
+ "dev": true,
+ "dependencies": {
+ "chokidar": ">=3.0.0 <4.0.0",
+ "immutable": "^4.0.0",
+ "source-map-js": ">=0.6.2 <2.0.0"
+ },
+ "bin": {
+ "sass": "sass.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
}
},
"node_modules/sortablejs": {
@@ -1563,6 +1620,11 @@
"engines": {
"node": ">=8.0"
}
+ },
+ "node_modules/tslib": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"node_modules/undici-types": {
"version": "5.26.5",
@@ -1646,6 +1708,55 @@
"@vue/runtime-dom": "3.3.4",
"@vue/server-renderer": "3.3.4",
"@vue/shared": "3.3.4"
+ }
+ },
+ "node_modules/vue-echarts": {
+ "version": "6.7.3",
+ "resolved": "https://registry.npmmirror.com/vue-echarts/-/vue-echarts-6.7.3.tgz",
+ "integrity": "sha512-vXLKpALFjbPphW9IfQPOVfb1KjGZ/f8qa/FZHi9lZIWzAnQC1DgnmEK3pJgEkyo6EP7UnX6Bv/V3Ke7p+qCNXA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "resize-detector": "^0.3.0",
+ "vue-demi": "^0.13.11"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.5",
+ "@vue/runtime-core": "^3.0.0",
+ "echarts": "^5.4.1",
+ "vue": "^2.6.12 || ^3.1.1"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ },
+ "@vue/runtime-core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue-echarts/node_modules/vue-demi": {
+ "version": "0.13.11",
+ "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz",
+ "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
}
},
"node_modules/vue-i18n": {
@@ -1743,6 +1854,14 @@
},
"engines": {
"node": ">=0.8"
+ }
+ },
+ "node_modules/zrender": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.5.0.tgz",
+ "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==",
+ "dependencies": {
+ "tslib": "2.3.0"
}
}
},
@@ -1986,6 +2105,11 @@
"version": "1.4.15",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ },
+ "@kurkle/color": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmmirror.com/@kurkle/color/-/color-0.3.2.tgz",
+ "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
},
"@popperjs/core": {
"version": "npm:@sxzz/popperjs-es@2.11.7",
@@ -2297,6 +2421,14 @@
"crc-32": "~1.2.0"
}
},
+ "chart.js": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/chart.js/-/chart.js-4.4.3.tgz",
+ "integrity": "sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==",
+ "requires": {
+ "@kurkle/color": "^0.3.0"
+ }
+ },
"chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -2358,6 +2490,15 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/dom-zindex/-/dom-zindex-1.0.1.tgz",
"integrity": "sha512-M/MERVDZ8hguvjl6MAlLWSLYLS7PzEyXaTb5gEeJ+SF+e9iUC0sdvlzqe91MMDHBoy+nqw7wKcUOrDSyvMCrRg=="
+ },
+ "echarts": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.0.tgz",
+ "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==",
+ "requires": {
+ "tslib": "2.3.0",
+ "zrender": "5.5.0"
+ }
},
"element-plus": {
"version": "2.4.0",
@@ -2493,6 +2634,12 @@
"is-plain-obj": "^3.0.0",
"micromatch": "^4.0.5"
}
+ },
+ "immutable": {
+ "version": "4.3.6",
+ "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.6.tgz",
+ "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==",
+ "dev": true
},
"is-binary-path": {
"version": "2.1.0",
@@ -2684,6 +2831,11 @@
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true
},
+ "resize-detector": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmmirror.com/resize-detector/-/resize-detector-0.3.0.tgz",
+ "integrity": "sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ=="
+ },
"rollup": {
"version": "3.29.4",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
@@ -2691,6 +2843,17 @@
"devOptional": true,
"requires": {
"fsevents": "~2.3.2"
+ }
+ },
+ "sass": {
+ "version": "1.77.6",
+ "resolved": "https://registry.npmmirror.com/sass/-/sass-1.77.6.tgz",
+ "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==",
+ "dev": true,
+ "requires": {
+ "chokidar": ">=3.0.0 <4.0.0",
+ "immutable": "^4.0.0",
+ "source-map-js": ">=0.6.2 <2.0.0"
}
},
"sortablejs": {
@@ -2728,6 +2891,11 @@
"requires": {
"is-number": "^7.0.0"
}
+ },
+ "tslib": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"undici-types": {
"version": "5.26.5",
@@ -2768,6 +2936,23 @@
"@vue/runtime-dom": "3.3.4",
"@vue/server-renderer": "3.3.4",
"@vue/shared": "3.3.4"
+ }
+ },
+ "vue-echarts": {
+ "version": "6.7.3",
+ "resolved": "https://registry.npmmirror.com/vue-echarts/-/vue-echarts-6.7.3.tgz",
+ "integrity": "sha512-vXLKpALFjbPphW9IfQPOVfb1KjGZ/f8qa/FZHi9lZIWzAnQC1DgnmEK3pJgEkyo6EP7UnX6Bv/V3Ke7p+qCNXA==",
+ "requires": {
+ "resize-detector": "^0.3.0",
+ "vue-demi": "^0.13.11"
+ },
+ "dependencies": {
+ "vue-demi": {
+ "version": "0.13.11",
+ "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz",
+ "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
+ "requires": {}
+ }
}
},
"vue-i18n": {
@@ -2835,6 +3020,14 @@
"wmf": "~1.0.1",
"word": "~0.3.0"
}
+ },
+ "zrender": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.5.0.tgz",
+ "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==",
+ "requires": {
+ "tslib": "2.3.0"
+ }
}
}
}
diff --git a/UI-Project/package.json b/UI-Project/package.json
index 6cade56..15242fb 100644
--- a/UI-Project/package.json
+++ b/UI-Project/package.json
@@ -11,6 +11,8 @@
"@element-plus/icons-vue": "^2.1.0",
"@vue-macros/reactivity-transform": "^0.3.23",
"axios": "^1.6.8",
+ "chart.js": "^4.4.3",
+ "echarts": "^5.5.0",
"element-plus": "^2.4.0",
"moment": "^2.30.1",
"pinia": "^2.1.6",
@@ -18,6 +20,7 @@
"sortablejs": "^1.15.1",
"sweetalert2": "^11.10.7",
"vue": "^3.3.4",
+ "vue-echarts": "^6.7.3",
"vue-i18n": "^9.13.1",
"vue-router": "^4.2.4",
"vxe-table": "^4.5.15",
@@ -28,6 +31,7 @@
"@types/sortablejs": "^1.15.7",
"@vitejs/plugin-vue": "^4.3.4",
"http-proxy-middleware": "^3.0.0",
+ "sass": "^1.77.6",
"vite": "^4.4.9"
}
}
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index 33ec397..764db3a 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -187,6 +187,19 @@
]
},
+ {
+ path: 'GlassStorage',
+ name: 'GlassStorage',
+ component: () => import('../views/GlassStorage/MaterialRackManagement.vue'),
+ children:[
+ {
+ path: '/GlassStorage/MaterialRackManagement',
+ name: 'MaterialRackManagement',
+ component: () => import('../views/GlassStorage/MaterialRackManagement.vue')
+ }
+ ]
+ },
+
/*----------- 鍙鍖栫郴缁� ----------------*/
{
path: 'Visualization',
diff --git a/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue b/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
new file mode 100644
index 0000000..2b7b9cc
--- /dev/null
+++ b/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
@@ -0,0 +1,405 @@
+<template>
+ <div >
+ <el-card style="flex: 1; margin-left: 10px; " :loading="loading">
+ <div slot="header" class="clearfix" style="display: flex; align-items: center;">
+
+<!-- 宸︿晶鎸夐挳缁� -->
+<div >
+ <el-button type="success" size="mini" @click="handleInbound()">鍏ュ簱</el-button>
+ <el-button type="success" size="mini" @click="handleInbound()">鍚婅浣嶅叆搴�</el-button>
+ <el-button type="success" size="mini" @click="handleInbound()">娣诲姞鍘熺墖</el-button>
+</div>
+
+<!-- 鍙充晶閫夋嫨妗� -->
+<el-form-item style="margin-top: 15px; width: 150px;">
+ <el-select v-model="formData2.dzw" placeholder="璇烽�夋嫨鍚婅浣�">
+ <el-option label="鍚婅浣�1" value="鍚婅浣�1"></el-option>
+ <el-option label="鍚婅浣�2" value="鍚婅浣�2"></el-option>
+ <!-- 鏍规嵁瀹為檯鎯呭喌娣诲姞鏇村閫夐」 -->
+ </el-select>
+</el-form-item>
+
+</div>
+
+ <el-table
+ :data="tableData"
+
+ style="width: 98%; height: 200px"
+ @selection-change="handleSelectionChange"
+ :header-cell-style="{ background: '#F2F3F5', color: '#1D2129' }"
+ ref="table"
+
+ empty-text="No Data"
+ >
+
+ <el-table-column prop="location" label="搴撲綅鍙�"></el-table-column>
+ <el-table-column prop="type" label="绫诲瀷"></el-table-column>
+ <el-table-column prop="length" label="闀垮害(mm)"></el-table-column>
+ <el-table-column prop="height" label="楂樺害(mm)"></el-table-column>
+ <el-table-column prop="thickness" label="鍘氬害(mm)"></el-table-column>
+ <el-table-column prop="quantity" label="鏁伴噺"></el-table-column>
+ <el-table-column prop="entry_time" label="鍏ュ簱鏃堕棿"></el-table-column>
+ <el-table-column prop="batchnumber" label="鎵规鍙�"></el-table-column>
+
+ <el-table-column
+ align="center"
+ label="鏂欐灦鐘舵��"
+ min-width="80"
+ prop="shelf_status"
+>
+ <template #default="scope">
+ <el-tag :type="getTagType(scope.row.shelf_status)">
+ {{ scope.row.shelf_status === 1 ? '鍚敤' : '鏈惎鐢�' }}
+ </el-tag>
+ </template>
+</el-table-column>
+
+ <!-- 鎿嶄綔鍒� -->
+ <el-table-column label="鎿嶄綔" width="300">
+ <template #default="{ row }">
+ <el-button type="primary" size="mini" @click="handleEdit(row)">淇敼</el-button>
+ <el-button type="danger" size="mini" @click="handleDelete(row)">鍒犻櫎</el-button>
+ <el-button type="warning" size="mini" @click="handleCheckout(row)">鍑哄簱</el-button>
+
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <el-table
+ :data="tasktableData"
+ style="width: 98%; height: 150px"
+ @selection-change="handleSelectionChange"
+ :header-cell-style="{ background: '#F2F3F5', color: '#1D2129' }"
+ ref="table"
+ empty-text="No Data"
+ >
+ <el-table-column prop="Glassid" label="Glassid"></el-table-column>
+ <el-table-column prop="taskDescription" label="浠诲姟鎻忚堪" width="250"></el-table-column>
+ <el-table-column prop="taskStatus" label="浠诲姟鐘舵��"></el-table-column>
+ <el-table-column prop="glassThickness" label="鐜荤拑鍘氬害"></el-table-column>
+ <el-table-column prop="glassFilm" label="鐜荤拑鑶滅郴"></el-table-column>
+ <el-table-column prop="creationTime" label="鍒涘缓鏃堕棿"></el-table-column>
+
+ <el-table-column
+ align="center"
+ label="浠诲姟鐘舵��"
+ min-width="80"
+ prop="taskStatus"
+ >
+ <template #default="scope">
+ <el-tag :type="getTagType2(scope.row.taskStatus)">
+ {{ scope.row.taskStatus == 'completed' ? '瀹屾垚' : '杩涜涓�' }}
+ </el-tag>
+ </template>
+ </el-table-column>
+
+ <!-- 鎿嶄綔鍒� -->
+ <el-table-column label="鎿嶄綔" width="350">
+ <template #default="{ row }">
+ <el-button type="primary" size="mini" @click="handleRestart(row)">閲嶆柊寮�濮�</el-button>
+ <el-button type="danger" size="mini" @click="handleDelete(row)">鍒犻櫎浠诲姟</el-button>
+ <el-button type="success" size="mini" @click="handleComplete(row)">浠诲姟瀹屾垚</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ </el-card>
+
+ <div ref="chart" id="chart" style="width: 100%; height: 250px;"></div>
+
+
+ <!-- 鍏ュ簱瀵硅瘽妗� -->
+ <el-dialog
+ title="鍏ュ簱"
+ v-model="dialogVisible"
+ width="30%"
+ :before-close="handleCloseDialog"
+ >
+ <el-form :model="formData" ref="form" label-width="80px">
+ <el-form-item label="杩涘簱鏂欐灦">
+ <el-select v-model="formData.shelf" placeholder="璇烽�夋嫨杩涘簱鏂欐灦">
+ <el-option label="A1" value="A1"></el-option>
+ <el-option label="B2" value="B2"></el-option>
+ <!-- 鏍规嵁瀹為檯鎯呭喌娣诲姞鏇村閫夐」 -->
+ </el-select>
+ </el-form-item>
+ <el-form-item label="棰滆壊鑶滅郴">
+ <el-select v-model="formData.color" placeholder="璇烽�夋嫨棰滆壊鑶滅郴">
+ <el-option label="Red" value="Red"></el-option>
+ <el-option label="Blue" value="Blue"></el-option>
+ <!-- 鏍规嵁瀹為檯鎯呭喌娣诲姞鏇村閫夐」 -->
+ </el-select>
+ </el-form-item>
+ <el-form-item label="瀹藉害">
+ <el-input v-model.number="formData.width" placeholder="璇疯緭鍏ュ搴�"></el-input>
+ </el-form-item>
+ <el-form-item label="楂樺害">
+ <el-input v-model.number="formData.height" placeholder="璇疯緭鍏ラ珮搴�"></el-input>
+ </el-form-item>
+ <el-form-item label="鍘氬害">
+ <el-input v-model.number="formData.thickness" placeholder="璇疯緭鍏ュ帤搴�"></el-input>
+ </el-form-item>
+ <el-form-item label="鏁伴噺">
+ <el-input v-model.number="formData.quantity" placeholder="璇疯緭鍏ユ暟閲�"></el-input>
+ </el-form-item>
+ </el-form>
+
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="handleConfirmInbound">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
+ <div ref="chart" id="chart" style="width: 100%; height: 400px;"></div>
+ </div>
+</template>
+
+
+
+
+<script setup>
+import { ref, onMounted, onBeforeUnmount } from 'vue'; // 瀵煎叆 Vue 3 鐨勬ā鍧�
+import * as echarts from 'echarts';
+
+
+ const loading = ref(false);
+ const tableData = ref([
+ {
+ location: '1',
+ type: 'Type A',
+ length: '100',
+ height: '50',
+ thickness: '10',
+ quantity: '5',
+ entry_time: '2024-06-19',
+ batchnumber:"444",
+ shelf_status: 1
+ },
+ {
+ location: '2',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-18',
+ batchnumber:"444",
+ shelf_status: 0
+ },
+ {
+ location: '3',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-18',
+ batchnumber:"444",
+ shelf_status: 1
+ },
+ {
+ location: '4',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-18',
+ batchnumber:"444",
+ shelf_status: 1
+ },
+ {
+ location: '5',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-18',
+ batchnumber:"444",
+ shelf_status: 1
+ }
+ // Add more data as needed
+ ]);
+
+ const getTagType2 =(status) => {
+ switch (status) {
+ case 'completed':
+ return 'success';
+ case 'in-progress':
+ return 'info';
+ case 'warning':
+ return 'warning';
+ case 'danger':
+ return 'danger';
+ default:
+ return '';
+ }
+ }
+
+ const getTagType =(status) => {
+ return status === 1 ? 'success' : 'danger';
+ // 鏍规嵁鐘舵�佸�煎喅瀹氭爣绛剧被鍨嬶紝杩欓噷鍋囪鐘舵�佷负1鏃朵负鎴愬姛锛堢豢鑹诧級锛屽惁鍒欎负澶辫触锛堢孩鑹诧級
+ }
+
+ const tasktableData=ref([
+
+ {
+ Glassid: 'G001',
+ taskDescription: '浠庡悐瑁呬綅銆�99銆戝埌浠撲綅銆�56銆�',
+ taskStatus: 'in-progress',
+ glassThickness: '5mm',
+ glassFilm: '鑶滅郴A',
+ creationTime: '2024-06-19 10:00:00'
+ },
+ {
+ Glassid: 'G002',
+ taskDescription: '浠庡悐瑁呬綅銆�99銆戝埌浠撲綅銆�56銆�',
+ taskStatus: 'completed',
+ glassThickness: '10mm',
+ glassFilm: '鑶滅郴B',
+ creationTime: '2024-06-19 11:00:00'
+ }
+ ]);
+
+ const dialogVisible = ref(false);
+ const formData = ref({
+ shelf: '',
+ color: '',
+ width: '',
+ height: '',
+ thickness: '',
+ quantity: ''
+ });
+
+ const formData2 = ref({
+ dzw: '',
+
+ });
+
+ const handleEdit = (row) => {
+ // 澶勭悊淇敼鏁伴噺閫昏緫
+ console.log('Edit Quantity:', row);
+ };
+
+ const handleDelete = (row) => {
+ // 澶勭悊鍒犻櫎閫昏緫
+ console.log('Delete:', row);
+ };
+
+ const handleCheckout = (row) => {
+ // 澶勭悊鍑哄簱閫昏緫
+ console.log('Checkout:', row);
+ };
+
+ const handleInbound = () => {
+ // 鎵撳紑鍏ュ簱瀵硅瘽妗�
+ dialogVisible.value = true;
+ };
+
+ const handleCloseDialog = () => {
+ // 鍏抽棴瀵硅瘽妗嗘椂閲嶇疆琛ㄥ崟鏁版嵁
+ formData.value = {
+ shelf: '',
+ color: '',
+ width: '',
+ height: '',
+ thickness: '',
+ quantity: ''
+ };
+ dialogVisible.value = false;
+ };
+
+ const handleConfirmInbound = () => {
+ // 澶勭悊纭鍏ュ簱閫昏緫锛屽彲浠ュ湪杩欓噷鎻愪氦琛ㄥ崟鎴栬�呮墽琛屽叾浠栨搷浣�
+ console.log('Confirm Inbound:', formData.value);
+ // 鍏抽棴瀵硅瘽妗�
+ dialogVisible.value = false;
+ };
+
+
+
+ let chartInstance = null;
+
+onMounted(() => {
+ // Initialize the chart
+ chartInstance = echarts.init(document.getElementById('chart'));
+
+ // Simulated data for demonstration
+ const chartData = {
+ labels: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
+ datasets: [
+ { name: '浣跨敤鎯呭喌缁熻', data: [{ remaining: 4, total: 5 }, { remaining: 9, total: 10 }, { remaining: 0, total: 30 }, { remaining: 0, total: 10 },{ remaining: 4, total: 5 }] }
+ ]
+ };
+
+ const options = {
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ legend: {
+ data: ['浣跨敤鎯呭喌缁熻']
+ },
+ xAxis: {
+ type: 'category',
+ data: chartData.labels
+ },
+ yAxis: {
+ type: 'value'
+ },
+ series: chartData.datasets.map(item => ({
+ name: item.name,
+ type: 'bar',
+ stack: '鎬婚噺',
+ label: {
+ show: true,
+ position: 'inside',
+ formatter: '{c}%'
+ },
+ data: item.data.map(dataItem => ({
+ value: (dataItem.remaining / dataItem.total * 100).toFixed(2), // 璁$畻鍓╀綑閲忓崰姣旓紝淇濈暀涓や綅灏忔暟
+ remaining: dataItem.remaining,
+ total: dataItem.total,
+ itemStyle: {
+ color: getColorByRemaining(dataItem.remaining, dataItem.total)
+ }
+ }))
+ }))
+ };
+
+ function getColorByRemaining(remaining, total) {
+ // 鏍规嵁鍓╀綑閲忎笌鎬婚噺鐨勬瘮渚嬶紝璁剧疆涓嶅悓鐨勯鑹查�昏緫
+ const percentage = remaining / total;
+ if (percentage >= 0.8) {
+ return '#FF6666'; // Red
+ } else if (percentage >= 0.5) {
+ return '#FFCC66'; // Yellow
+ } else {
+ return '#66CC66'; // Green
+ }
+ }
+
+ // Set options and render chart
+ if (chartInstance) {
+ chartInstance.setOption(options);
+ }
+});
+
+onBeforeUnmount(() => {
+ if (chartInstance) {
+ chartInstance.dispose();
+ chartInstance = null;
+ }
+});
+
+const handleSelectionChange = (selection) => {
+ console.log('Selection changed:', selection);
+};
+
+</script>
+
+<style>
+
+</style>
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
index 86b915f..87c8225 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -77,6 +77,20 @@
public static final String BIG_STORAGE_REQUEST_IN = "1";
/**
+ * 澶х悊鐗囩璇︽儏鐘舵��
+ * 0 澶х悊鐗囩杩涚墖涓�
+ * 1 澶х悊鐗囩鍦ㄧ鍐�
+ * 2 澶х悊鐗囩鍑虹墖涓�
+ * 3 澶х悊鐗囩鍑虹墖瀹屾垚
+ * 4 澶х悊鐗囩鎵嬪姩鍑虹墖
+ */
+ public static final Integer BIG_STORAGE_IN = 0;
+ public static final Integer BIG_STORAGE_INSIDE = 1;
+ public static final Integer BIG_STORAGE_OUT = 2;
+ public static final Integer BIG_STORAGE_OUTSIDE = 3;
+ public static final Integer BIG_STORAGE_MANUAL = 4;
+
+ /**
* 鍗ц浆绔嬭繘鐗囪姹�
* 1 浠诲姟鐢熸垚
* 2 鍗ц浆绔嬭繘鐗囧畬鎴�
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java
index f5d16bf..b200c7b 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java
@@ -13,9 +13,9 @@
* bean娉ㄥ唽锛氫細鑷姩鎵弿甯︽湁@ServerEndpoint娉ㄨВ澹版槑鐨刉ebsocket Endpoint(绔偣)锛屾敞鍐屾垚涓篧ebsocket bean銆�
* 瑕佹敞鎰忥紝濡傛灉椤圭洰浣跨敤澶栫疆鐨剆ervlet瀹瑰櫒锛岃�屼笉鏄洿鎺ヤ娇鐢╯pringboot鍐呯疆瀹瑰櫒鐨勮瘽锛屽氨涓嶈娉ㄥ叆ServerEndpointExporter锛屽洜涓哄畠灏嗙敱瀹瑰櫒鑷繁鎻愪緵鍜岀鐞嗐��
*/
- @Bean
- public ServerEndpointExporter serverEndpointExporter() {
- return new ServerEndpointExporter();
- }
+// @Bean
+// public ServerEndpointExporter serverEndpointExporter() {
+// return new ServerEndpointExporter();
+// }
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index 8ba557f..3b8e098 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -17,8 +17,10 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* <p>
@@ -100,14 +102,34 @@
@Override
public List<Map<String, Object>> getFlowCardId() {
- return baseMapper.selectJoinMaps(JoinWrappers.lambda(GlassInfo.class)
- .select(GlassInfo::getFlowCardId)
- .leftJoin(UpPattenUsage.class, on -> on
- .eq(OptimizeProject::getProjectNo, GlassInfo::getEngineerId)
- .ne(OptimizeProject::getState, 300)
- )
- .groupBy(GlassInfo::getFlowCardId)
+ // 绗簩涓煡璇細鏌ヨ OptimizeProject 琛紝鏍规嵁 GlassInfo 鐨� engineerId 鍜� state 杩涜绛涢��
+ List<OptimizeProject> optimizeProjects = optimizeProjectMapper.selectList(
+ new QueryWrapper<OptimizeProject>()
+ .ne("state", 300)
);
+ // 鎻愬彇 engineerId 鍒楄〃
+ List<String> engineerIds = optimizeProjects.stream()
+ .map(OptimizeProject::getProjectNo)
+ .collect(Collectors.toList());
+
+ // 绗竴涓煡璇細鏌ヨ GlassInfo 琛ㄥ苟鎸� flow_card_id 鍒嗙粍锛屽悓鏃剁瓫閫夊嚭鍦� engineerIds 鍒楄〃涓殑璁板綍
+ List<GlassInfo> glassInfos = baseMapper.selectList(
+ new QueryWrapper<GlassInfo>()
+ .in("engineer_id", engineerIds)
+ .groupBy("flow_card_id")
+ );
+
+ // 杞崲涓� List<Map<String, Object>>
+ List<Map<String, Object>> result = glassInfos.stream()
+ .map(glassInfo -> {
+ Map<String, Object> map = new HashMap<>();
+ map.put("flow_card_id", glassInfo.getFlowCardId());
+ // 濡傛灉杩樻湁鍏朵粬瀛楁闇�瑕佹坊鍔犲埌 map 涓紝鍦ㄨ繖閲岀户缁坊鍔�
+ return map;
+ })
+ .collect(Collectors.toList());
+log.info("result: {}", result);
+ return result;
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml
index 74b6d6c..fe37e51 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml
@@ -14,6 +14,11 @@
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
+ salve_hangzhoumes:
+ url: jdbc:sqlserver://10.153.19.150:1433;databasename=hangzhoumes
+ username: sa
+ password: beibo.123/
+ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
cloud:
nacos:
discovery:
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 a9b6525..0aad429 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
@@ -49,10 +49,10 @@
return Result.build(200,"鍒犻櫎鎴愬姛",1);
}
- @ApiOperation("鐞嗙墖绗间换鍔$牬鎹�")
+ @ApiOperation("鐞嗙墖绗间换鍔$牬鎹�0/鎷胯蛋1")
@PostMapping("/damageBigStorageCageDetails")
- public Result damageBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) {
- bigStorageCageDetailsService.damageBigStorageCageDetails(bigStorageCageDetails.getGlassId());
+ public Result damageBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails,int status) {
+ bigStorageCageDetailsService.damageBigStorageCageDetails(bigStorageCageDetails.getGlassId(),status);
return Result.build(200,"鐮存崯鎴愬姛",1);
}
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 d0d52d2..29fef8c 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
@@ -25,7 +25,7 @@
void deleteBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails);
- void damageBigStorageCageDetails(String glassId);
+ void damageBigStorageCageDetails(String glassId,int status);
BigStorageCageDetails selectBigStorageCageDetails(String glassId);
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 d85c477..bce5186 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
@@ -26,6 +26,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -60,14 +61,16 @@
*/
@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);
+ feedWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_IN);
List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper);
- List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(null);
+
+ LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskWrapper = new LambdaQueryWrapper<>();
+ feedTaskWrapper.lt(BigStorageCageFeedTask::getTaskState,Const.BIG_STORAGE_IN_SLOT);
+ List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper);
Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
.collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
@@ -80,11 +83,12 @@
} else {
//鍑虹墖浠诲姟鏁版嵁
LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>();
- outWrapper.eq(BigStorageCageDetails::getState, 3)
- .or()
- .eq(BigStorageCageDetails::getState, 4);
+ outWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_OUT);
List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper);
- List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(null);
+
+ LambdaQueryWrapper<BigStorageCageOutTask> outTaskWrapper = new LambdaQueryWrapper<>();
+ outTaskWrapper.lt(BigStorageCageOutTask::getTaskState,Const.BIG_STORAGE_OUT_SUCCESS);
+ List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(outTaskWrapper);
Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream()
.collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task));
@@ -94,7 +98,6 @@
}
return bigStorageCageDetailsList;
}
-
}
/**
@@ -139,7 +142,8 @@
//鐞嗙墖绗艰鎯呯牬鎹�
@Override
- public void damageBigStorageCageDetails(String glassId) {
+ public void damageBigStorageCageDetails(String glassId,int status) {
+
LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper = new LambdaQueryWrapper<>();
temperingGlassInfoWrapper.eq(TemperingGlassInfo::getGlassId, glassId);
TemperingGlassInfo temperingGlassInfo = temperingGlassInfoMapper.selectOne(temperingGlassInfoWrapper);
@@ -148,10 +152,12 @@
bigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getGlassId, glassId);
BigStorageCageDetails bigStorageCageDetails = baseMapper.selectOne(bigStorageCageDetailsWrapper);
- if (temperingGlassInfo.getState() == -2) {
- temperingGlassInfoMapper.deleteById(temperingGlassInfo);
- } else {
- temperingGlassInfo.setState(5);
+ if(temperingGlassInfo!=null){
+ if(status==0){
+ temperingGlassInfo.setState(Const.TEMPERING_DAMAGE);
+ }else{
+ temperingGlassInfo.setState(Const.TEMPERING_TAKE);
+ }
temperingGlassInfoMapper.updateById(temperingGlassInfo);
}
baseMapper.deleteById(bigStorageCageDetails.getId());
@@ -169,7 +175,7 @@
BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
bigStorageCageDetails.setState(0);
- bigStorageCageDetails.setGap(20);
+ bigStorageCageDetails.setGap(Const.BIG_STORAGE_GAP);
return bigStorageCageDetails;
}
@@ -183,39 +189,21 @@
//鐞嗙墖绗艰鎯呭畬鎴�
@Override
public void finishBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) {
- if (bigStorageCageDetails.getState() == 1 || bigStorageCageDetails.getState() == 2) {
- bigStorageCageDetails.setState(0);
+ if (bigStorageCageDetails.getBigStorageCageFeedTask()!=null) {
+ bigStorageCageDetails.setState(Const.BIG_STORAGE_INSIDE);
baseMapper.updateById(bigStorageCageDetails);
- bigStorageCageFeedTaskMapper.deleteById(bigStorageCageDetails.getBigStorageCageFeedTask().getId());
} else {
- baseMapper.deleteById(bigStorageCageDetails.getId());
- bigStorageCageOutTaskMapper.deleteById(bigStorageCageDetails.getBigStorageCageOutTask().getId());
+ bigStorageCageDetails.setState(Const.BIG_STORAGE_OUTSIDE);
+ baseMapper.updateById(bigStorageCageDetails);
+ bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot());
}
-
}
//鎵嬪姩鍑虹墖
@Override
public void outBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) {
- LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper = new LambdaQueryWrapper<>();
- temperingGlassInfoWrapper
- .eq(TemperingGlassInfo::getGlassId, bigStorageCageDetails.getGlassId());
- TemperingGlassInfo temperingGlassInfo = temperingGlassInfoMapper.selectOne(temperingGlassInfoWrapper);
- if (temperingGlassInfo.getGlassId() == null) {
- LambdaQueryWrapper<GlassInfo> glassInfoWrapper = new LambdaQueryWrapper<>();
- glassInfoWrapper
- .eq(GlassInfo::getGlassId, bigStorageCageDetails.getGlassId());
- GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoWrapper);
- TemperingGlassInfo temperingGlassInfo1 = new TemperingGlassInfo();
- BeanUtils.copyProperties(glassInfo, temperingGlassInfo1);
-
- if (temperingGlassInfo.getTemperingLayoutId() != null) {
- temperingGlassInfo1.setState(-1);
- } else {
- temperingGlassInfo1.setState(-2);
- }
- temperingGlassInfoMapper.insert(temperingGlassInfo1);
- }
+ bigStorageCageDetails.setState(4);
+ baseMapper.updateById(bigStorageCageDetails);
}
@Override
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 a9bfa0c..e179fb1 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
@@ -12,6 +12,7 @@
import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
import com.mes.bigstorage.mapper.BigStorageCageMapper;
import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.common.config.Const;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.temperingglass.entity.TemperingGlassInfo;
@@ -217,17 +218,24 @@
@Override
public void updateRemainWidth(int slot) {
log.info("鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅锛岃绠楁牸瀛愬墿浣欏搴�");
- Integer width = 5000;
- List<BigStorageCageDetails> bigStorageCageDetailsList = Collections.singletonList(bigStorageCageDetailsMapper.selectById(slot));
+ double width = 5000;
+ LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper=new LambdaQueryWrapper();
+ bigStorageCageDetailsWrapper
+ .eq(BigStorageCageDetails::getSlot,slot)
+ .ne(BigStorageCageDetails::getState,Const.BIG_STORAGE_OUTSIDE);
+
+ List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper);
for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
) {
- width -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap();
+ double widths=bigStorageCageDetails.getWidth();
+ double gap=bigStorageCageDetails.getGap();
+ width -= widths+gap;
}
//淇敼鏍煎瓙鍓╀綑瀹藉害
BigStorageCage bigStorageCage = new BigStorageCage();
- bigStorageCage.setRemainWidth(width);
+ bigStorageCage.setRemainWidth((int)width);
UpdateWrapper<BigStorageCage> bigStorageCageWrapper = new UpdateWrapper<>();
- bigStorageCageWrapper.eq("remain_width", width);
+ bigStorageCageWrapper.eq("slot", slot);
bigStorageCageMapper.update(bigStorageCage, bigStorageCageWrapper);
}
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 02a965f..ec83651 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
@@ -3,6 +3,7 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.bigstorage.entity.BigStorageDTO;
+import com.github.yulichang.base.MPJBaseMapper;
import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
import org.apache.ibatis.annotations.Param;
@@ -17,7 +18,7 @@
* @since 2024-04-16
*/
@DS("salve_hangzhoumes")
-public interface BigStorageCageFeedTaskMapper extends BaseMapper<BigStorageCageFeedTask> {
+public interface BigStorageCageFeedTaskMapper extends MPJBaseMapper<BigStorageCageFeedTask> {
List<Integer> querySitToUpGlass();
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java
index 3ddfea3..40e1827 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java
@@ -1,6 +1,7 @@
package com.mes.bigstoragetask.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.yulichang.base.MPJBaseService;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.entity.BigStorageDTO;
import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
@@ -15,7 +16,7 @@
* @author zhoush
* @since 2024-04-16
*/
-public interface BigStorageCageFeedTaskService extends IService<BigStorageCageFeedTask> {
+public interface BigStorageCageFeedTaskService extends MPJBaseService<BigStorageCageFeedTask> {
void addFeedTask(BigStorageCageDetails slotInfo, Integer plcFeedReqLine, int taskType);
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
index bc3d222..389dffe 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
@@ -66,9 +66,6 @@
List<TemperingGlassInfo> temperingGlassInfoList= temperingGlassInfoService.list();
jsonObject.append("temperingGlassInfoList", temperingGlassInfoList);
- //鎶ヨ淇℃伅
- jsonObject.append("bigStorageCageFullAlarm", PlcStorageCageTask.bigStorageCageFullAlarm);
-
//鐞嗙墖绗艰〃鏍间俊鎭�
jsonObject.append("bigStorageCageInfo", bigStorageCageService.querybigStorageCageDetail(0));
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
new file mode 100644
index 0000000..eb64e0d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -0,0 +1,53 @@
+package com.mes.temperingglass.controller;
+
+
+import com.mes.bigstorage.entity.BigStorageCage;
+import com.mes.bigstorage.service.BigStorageCageDetailsService;
+import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
+import com.mes.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Api(description = "閽㈠寲灏忕墖琛ㄤ俊鎭�")
+@RestController
+@RequestMapping("/temperingGlassInfo")
+public class TemperingGlassInfoController {
+
+ @Autowired
+ private TemperingGlassInfoService temperingGlassInfoService;
+ @Autowired
+ private BigStorageCageDetailsService bigStorageCageDetailsService;
+
+ @ApiOperation("鍑虹墖浠诲姟鍒犻櫎")
+ @PostMapping("/deleteTemperingGlassInfo")
+ public Result deleteTemperingGlassInfo(TemperingGlassInfo temperingGlassInfo) {
+ temperingGlassInfoService.removeById(temperingGlassInfo.getId());
+ return Result.build(200,"鍒犻櫎鎴愬姛",1);
+ }
+
+ @ApiOperation("鍑虹墖浠诲姟鐮存崯0/鎷胯蛋1")
+ @PostMapping("/damageTemperingGlassInfo")
+ public Result damageTemperingGlassInfo(TemperingGlassInfo temperingGlassInfo,int status) {
+ bigStorageCageDetailsService.damageBigStorageCageDetails(temperingGlassInfo.getGlassId(),status);
+ return Result.build(200,"鐮存崯鎴愬姛",1);
+ }
+}
+
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 170a2b0..5501c02 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
@@ -188,7 +188,11 @@
public List<DownStorageCageDetails> CacheOut1(int start, int end) {
- List<DownStorageCageDetails> cageDetails = downStorageCageDetailsMapper.selectList(null);
+ // 鍒涘缓涓�涓� LambdaQueryWrapper 瀹炰緥
+ LambdaQueryWrapper<DownStorageCageDetails> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+// 鏉′欢 state=100
+ lambdaQueryWrapper.eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN);
+ List<DownStorageCageDetails> cageDetails = downStorageCageDetailsMapper.selectList(lambdaQueryWrapper);
// Step 5: 鍒ゆ柇 down_storage_cage_details 缁撴灉鏁伴噺鏄惁涓�9锛屽鏋滄槸锛屽垯鎵ц鍙﹀涓�涓煡璇�
if (cageDetails.size() == 9) {
log.info("1銆佺瀛愭弧浜嗙殑鏃跺�欙紝鎸夌収绗煎唴鐗堝浘id 鐗堝浘鐗囧簭鍑�");
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
index 11c224b..0fd3b0c 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
@@ -203,8 +203,8 @@
private Boolean outTo(String MESSendingWord) {
log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勬枡鏋跺彿 鏌ヨ绗﹀悎鎸夌収鐗堝浘id鍜岀墖搴忓嚭鐗�,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
- List<DownStorageCageDetails> list1to3 = downStorageCageDetailsService.CacheOut1(1, 3);
- List<DownStorageCageDetails> list4to6 = downStorageCageDetailsService.CacheOut1(4, 6);
+// List<DownStorageCageDetails> list1to3 = downStorageCageDetailsService.CacheOut1(1, 3);
+// List<DownStorageCageDetails> list4to6 = downStorageCageDetailsService.CacheOut1(4, 6);
List<DownStorageCageDetails> list1to6 = downStorageCageDetailsService.CacheOut1(1, 6);
DownStorageCageDetails selectedItem = null;
@@ -214,27 +214,28 @@
// 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊
if (!list1to6.isEmpty()) {
DownStorageCageDetails item3 = list1to6.get(0);
+ //鍚庢湡鏈夌敓浜ц鍒�
if (item3.getHeight() >= 2500 && item3.getWidth() >= 2660) {
log.info("浜哄伐澶勭悊");
selectedItem = item3;
- endCell = "7";
- } else if (!list4to6.isEmpty() && !list1to6.isEmpty()) {
- log.info("鍓嶅悗绔兘绌洪棽 浼樺厛鍚庣鍑虹墖骞朵笖浼樺厛婊℃灦");
- selectedItem = list4to6.get(0);
+
+ } else if (!!list1to6.isEmpty()) {
+ log.info("鍓嶅悗绔兘绌洪棽浼樺厛婊℃灦");
+ selectedItem = list1to6.get(0);
}
}
// 鎸夌収鐗堝浘id鍜岀墖搴忕鍚堝墠绔嚭鐗�
- if (selectedItem == null && !list1to3.isEmpty()) {
- log.info("鍓嶇鍑虹墖");
- selectedItem = list1to3.get(0);
- }
-
- // 鎸夌収鐗堝浘id鍜岀墖搴忕鍚堝悗绔嚭鐗�
- if (selectedItem == null && !list4to6.isEmpty()) {
- log.info("鍚庣鍑虹墖");
- selectedItem = list4to6.get(0);
- }
+// if (selectedItem == null && !list1to3.isEmpty()) {
+// log.info("鍓嶇鍑虹墖");
+// selectedItem = list1to3.get(0);
+// }
+//
+// // 鎸夌収鐗堝浘id鍜岀墖搴忕鍚堝悗绔嚭鐗�
+// if (selectedItem == null && !list4to6.isEmpty()) {
+// log.info("鍚庣鍑虹墖");
+// selectedItem = list4to6.get(0);
+// }
if (selectedItem != null) {
DownWorkstation downWorkstation = downWorkstationService.getOne(
@@ -286,11 +287,11 @@
DownWorkstation downWorkstation1 = downWorkstationService.selectByFlowCardId(downGlassInfo.getFlowCardId());
downWorkstationService.updateracksnumber(downGlassInfo.getFlowCardId(), downWorkstation1.getRacksnumber() + 1);
log.info("鏇存柊钀芥灦鏁伴噺");
- LambdaQueryWrapper<DownGlassTask> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(DownGlassTask::getGlassId, newdownGlassInfo.getGlassId());
- DownGlassTask updateDetail = new DownGlassTask();
- updateDetail.setTaskStauts(2);
- downGlassTaskService.update(updateDetail, wrapper);
+// LambdaQueryWrapper<DownGlassTask> wrapper = new LambdaQueryWrapper<>();
+// wrapper.eq(DownGlassTask::getGlassId, newdownGlassInfo.getGlassId());
+// DownGlassTask updateDetail = new DownGlassTask();
+// updateDetail.setTaskStauts(2);
+// downGlassTaskService.update(updateDetail, wrapper);
sequence++; // 閫掑椤哄簭瀛楁鍊�
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-prod.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-prod.yml
index 2e6a12c..683a519 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-prod.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-prod.yml
@@ -14,6 +14,11 @@
username: sa
password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+ 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:
--
Gitblit v1.8.0