From 68ee8235c8cd659fba5e59e3d924d5ea093504ab Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 18 七月 2024 08:39:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java | 12
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/controller/LoadPositionController.java | 99 +
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/controller/StorageTaskController.java | 102 +
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java | 9
UI-Project/src/views/LoginView.vue | 8
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/entity/LoadPosition.java | 77
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java | 7
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java | 70
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java | 15
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/entity/RawUsage.java | 107 +
UI-Project/src/assets/ypccche.png | 0
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/GlassStorageApplication.java | 28
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/service/ShelfRackService.java | 17
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-prod.yml | 1
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java | 1
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/dto/DownGlassInfoDTO.java | 7
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 165 -
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/service/impl/LoadPositionServiceImpl.java | 32
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java | 35
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/mapper/LoadPositionMapper.java | 16
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java | 22
UI-Project/src/assets/d1a.png | 0
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java | 26
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java | 3
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java | 2
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java | 3
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/mapper/LoadPositionMapper.xml | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java | 18
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java | 4
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java | 122
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-dev.yml | 25
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstionAndDownGlassinfo.java | 13
hangzhoumesParent/moduleService/pom.xml | 1
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-prod.yml | 5
UI-Project/src/views/Caching/cachingbefore.vue | 26
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java | 4
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/entity/StorageTask.java | 77
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java | 6
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/mapper/ShelfRackMapper.java | 15
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/mapper/ShelfRackMapper.xml | 5
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 97
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java | 60
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-cz.yml | 10
UI-Project/src/views/User/permissions.vue | 32
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/StorageTaskService.java | 16
UI-Project/src/stores/tableData.js | 225 ++
UI-Project/config.js | 3
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-cz.yml | 2
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 184 -
UI-Project/src/lang/zh.js | 57
UI-Project/src/views/ReportWork/reportWork.vue | 125 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 117
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml | 2
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml | 14
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java | 3
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-prod.yml | 8
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java | 11
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java | 11
UI-Project/src/views/Slicecage/slicecage.vue | 278 ++-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java | 6
UI-Project/src/views/GlassStorage/MaterialRackManagement.vue | 236 +-
UI-Project/src/main.js | 6
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/GlassInfoService.java | 16
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java | 11
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 8
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java | 20
UI-Project/src/views/User/rolelist.vue | 176 +
hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java | 36
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageOutTaskMapper.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java | 2
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/impl/RawUsageServiceImpl.java | 31
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/mapper/RawUsageMapper.java | 15
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml | 24
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java | 1
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/entity/ShelfRack.java | 65
UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue | 10
hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java | 11
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 207 +
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java | 3
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/request/DownWorkRequest.java | 28
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java | 3
UI-Project/package.json | 3
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml | 10
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/mapper/RawUsageMapper.xml | 5
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml | 10
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java | 21
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java | 11
UI-Project/src/assets/dlpl9.png | 0
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java | 4
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java | 3
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/mapper/StorageTaskMapper.java | 15
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java | 4
UI-Project/src/assets/lp9.png | 0
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java | 17
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java | 3
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/mapper/StorageTaskMapper.xml | 5
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-cz.yml | 8
UI-Project/src/views/PurchaseReturn/purchaseStorage.vue | 4
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java | 2
UI-Project/src/router/index.js | 26
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/service/impl/ShelfRackServiceImpl.java | 31
hangzhoumesParent/moduleService/GlassStorageModule/pom.xml | 34
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java | 13
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml | 20
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java | 12
UI-Project/src/layout/MainErpView.vue | 15
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 129
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-dev.yml | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java | 22
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/controller/RawUsageController.java | 102 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java | 7
UI-Project/src/views/Caching/cachingun.vue | 20
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java | 3
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java | 4
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/service/LoadPositionService.java | 19
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java | 8
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/controller/ShelfRackController.java | 102 +
UI-Project/src/assets/ypcc.png | 0
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-cz.yml | 4
UI-Project/src/views/User/userlist.vue | 28
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java | 3
UI-Project/src/views/largescreen/largescreen.vue | 268 +++
UI-Project/src/views/UnLoadGlass/Landingindication.vue | 8
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java | 79
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-dev.yml | 4
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/impl/StorageTaskServiceImpl.java | 31
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java | 9
/dev/null | 311 ---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json | 2
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/RawUsageService.java | 17
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-prod.yml | 30
UI-Project/package-lock.json | 107 +
UI-Project/src/assets/lpa9.png | 0
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java | 12
139 files changed, 3,526 insertions(+), 1,484 deletions(-)
diff --git a/UI-Project/config.js b/UI-Project/config.js
index 2dfd4e0..b15a1a5 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,6 +1,7 @@
export default {
serverUrl: "10.153.19.150:88/api",
-
+// serverUrl: "192.168.1.199:88/api",
serverUrl2: "10.153.19.150:88"
+ // serverUrl2: "192.168.1.199:88"
//serverUrl:"res.abeim.cn"
}
\ No newline at end of file
diff --git a/UI-Project/package-lock.json b/UI-Project/package-lock.json
index df7b41a..d8cc8aa 100644
--- a/UI-Project/package-lock.json
+++ b/UI-Project/package-lock.json
@@ -12,7 +12,7 @@
"@vue-macros/reactivity-transform": "^0.3.23",
"axios": "^1.6.8",
"chart.js": "^4.4.3",
- "echarts": "^5.5.0",
+ "echarts": "^5.5.1",
"element-plus": "^2.4.0",
"moment": "^2.30.1",
"pinia": "^2.1.6",
@@ -21,6 +21,7 @@
"sweetalert2": "^11.10.7",
"vue": "^3.3.4",
"vue-draggable-plus": "^0.5.0",
+ "vue-echarts": "^6.7.3",
"vue-i18n": "^9.10.1",
"vue-router": "^4.2.4",
"vxe-table": "^4.5.15",
@@ -762,12 +763,12 @@
"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==",
+ "version": "5.5.1",
+ "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz",
+ "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
"dependencies": {
"tslib": "2.3.0",
- "zrender": "5.5.0"
+ "zrender": "5.6.0"
}
},
"node_modules/element-plus": {
@@ -1351,6 +1352,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/reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz",
@@ -1676,6 +1682,55 @@
}
}
},
+ "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": {
"version": "9.13.1",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.13.1.tgz",
@@ -1777,9 +1832,9 @@
}
},
"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==",
+ "version": "5.6.0",
+ "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz",
+ "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
"dependencies": {
"tslib": "2.3.0"
}
@@ -2317,12 +2372,12 @@
"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==",
+ "version": "5.5.1",
+ "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz",
+ "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
"requires": {
"tslib": "2.3.0",
- "zrender": "5.5.0"
+ "zrender": "5.6.0"
}
},
"element-plus": {
@@ -2722,6 +2777,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=="
+ },
"reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz",
@@ -2927,6 +2987,23 @@
"@types/sortablejs": "^1.15.8"
}
},
+ "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": {
"version": "9.13.1",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.13.1.tgz",
@@ -2994,9 +3071,9 @@
}
},
"zrender": {
- "version": "5.5.0",
- "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.5.0.tgz",
- "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==",
+ "version": "5.6.0",
+ "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz",
+ "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
"requires": {
"tslib": "2.3.0"
}
diff --git a/UI-Project/package.json b/UI-Project/package.json
index 7a586a0..3a98cb7 100644
--- a/UI-Project/package.json
+++ b/UI-Project/package.json
@@ -12,7 +12,7 @@
"@vue-macros/reactivity-transform": "^0.3.23",
"axios": "^1.6.8",
"chart.js": "^4.4.3",
- "echarts": "^5.5.0",
+ "echarts": "^5.5.1",
"element-plus": "^2.4.0",
"moment": "^2.30.1",
"pinia": "^2.1.6",
@@ -21,6 +21,7 @@
"sweetalert2": "^11.10.7",
"vue": "^3.3.4",
"vue-draggable-plus": "^0.5.0",
+ "vue-echarts": "^6.7.3",
"vue-i18n": "^9.10.1",
"vue-router": "^4.2.4",
"vxe-table": "^4.5.15",
diff --git a/UI-Project/src/assets/d1a.png b/UI-Project/src/assets/d1a.png
new file mode 100644
index 0000000..b031d4b
--- /dev/null
+++ b/UI-Project/src/assets/d1a.png
Binary files differ
diff --git a/UI-Project/src/assets/dlpl9.png b/UI-Project/src/assets/dlpl9.png
new file mode 100644
index 0000000..fc78fde
--- /dev/null
+++ b/UI-Project/src/assets/dlpl9.png
Binary files differ
diff --git a/UI-Project/src/assets/lp9.png b/UI-Project/src/assets/lp9.png
new file mode 100644
index 0000000..a976458
--- /dev/null
+++ b/UI-Project/src/assets/lp9.png
Binary files differ
diff --git a/UI-Project/src/assets/lpa9.png b/UI-Project/src/assets/lpa9.png
new file mode 100644
index 0000000..f7f2204
--- /dev/null
+++ b/UI-Project/src/assets/lpa9.png
Binary files differ
diff --git a/UI-Project/src/assets/ypcc.png b/UI-Project/src/assets/ypcc.png
new file mode 100644
index 0000000..fdca249
--- /dev/null
+++ b/UI-Project/src/assets/ypcc.png
Binary files differ
diff --git a/UI-Project/src/assets/ypccche.png b/UI-Project/src/assets/ypccche.png
new file mode 100644
index 0000000..96f75d0
--- /dev/null
+++ b/UI-Project/src/assets/ypccche.png
Binary files differ
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index 1c0b3b0..3a9af7a 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -90,8 +90,8 @@
width:'瀹�',
height:'楂�',
startstatus:'鍚敤鐘舵��',
- disable:'绂佺敤',
- start:'鍚敤',
+ disable:'宸茬鐢�',
+ start:'宸插惎鐢�',
deficiencieste:'鎶ョ己',
updown:'浜哄伐涓嬬墖',
operate:'鎿嶄綔',
@@ -159,7 +159,6 @@
inglassgaps:'璇疯緭鍏ョ幓鐠冮棿闅�',
sure:'纭',
cancel:'鍙栨秷',
- glassID:'鐜荤拑ID',
operate:'鎿嶄綔',
breakage:'鐮存崯',
delete:'鍒犻櫎',
@@ -169,8 +168,8 @@
gridnumber:'鏍呮牸鍙�',
gridnumbera:'鏍呮牸鍙凤細',
grid:'璇疯緭鍏ユ爡鏍煎彿',
- enable:'鍚敤',
- disable:'绂佺敤',
+ enable:'宸插惎鐢�',
+ disable:'宸茬鐢�',
remainingwidth:'鍓╀綑瀹藉害',
add:'娣诲姞',
sheetID:'閽㈠寲灏忕墖淇℃伅琛↖D',
@@ -238,7 +237,7 @@
state:'鐘舵��',
devicenumber:'璁惧鍙�',
startstatus:'鍚敤鐘舵��',
- enable:'鍚敤',
+ enable:'宸插惎鐢�',
unenable:'鏈惎鐢�',
operate:'鎿嶄綔',
bindingshelves:'缁戝畾鏋跺瓙',
@@ -368,4 +367,50 @@
materialName :'鐗╂枡鍚嶇О',
createTime :'杩斿簱鏃ユ湡',
},
+ large:{
+ time: '娆$牬鏃堕棿',
+ number: '璁㈠崟鍙�',
+ jobnumber: '鎶ュ伐缂栧彿',
+ productionnumber: '鐢熶骇璁㈠崟鍙�',
+ cardnumber: '娴佺▼鍗″彿',
+ projectname: '椤圭洰鍚嶇О',
+ batch: '鎵规',
+ detailID: '鏄庣粏ID',
+ building: '妤煎彿',
+ serialnumber: '璁㈠崟搴忓彿',
+ productname: '浜у搧鍚嶇О',
+ serial: '宸ヨ壓纭搴忓彿',
+ slicemarker: '鐗囨爣璁帮紙浣嶇疆锛�',
+ numberpatches: '琛ョ墖鏁伴噺',
+ width: '瀹�',
+ height: '楂�',
+ shape: '褰㈢姸',
+ responsibleprocess: '璐d换宸ュ簭',
+ process: '鏈伐搴�',
+ numberfractions: '娆$牬鏈ˉ鏁伴噺',
+ breakreason: '娆$牬鍘熷洜',
+ breaktype: '娆$牬绫诲瀷',
+ responsiblepersonnel: '璐d换浜哄憳',
+ responsiblequipment: '璐d换璁惧',
+ responsibleteam: '璐d换鐝粍',
+ area: '娆$牬闈㈢Н',
+ inspector: '璐ㄦ鍛�',
+ operate: '鎿嶄綔',
+ mes: '璇︽儏',
+ projectnumber: '宸ョ▼鍗曞彿',
+ brokeno: '鎶ユ鐮存湭琛�',
+ close: '鍏抽棴',
+ orderId: '璁㈠崟ID',
+ customerName: '瀹㈡埛鍚嶇О',
+ project: '椤圭洰鍚嶇О',
+ are: '闈㈢Н',
+ quantity: '鍖呰鏂瑰紡',
+ warehousing: '鐘舵��',
+ deliveryDate: '閫佽揣鏃堕棿',
+ notstocked: '鏈叆搴�',
+ inboundstatus: '閮ㄥ垎鍏ュ簱鐘舵��',
+ allstatus: '鍏ㄩ儴鍏ュ簱鐘舵��',
+ completedquantity: '瀹屾垚鏁伴噺',
+ scrapquantity: '鎶ュ簾鏁伴噺',
+ }
}
\ No newline at end of file
diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue
index 85cd1aa..098140d 100644
--- a/UI-Project/src/layout/MainErpView.vue
+++ b/UI-Project/src/layout/MainErpView.vue
@@ -23,20 +23,17 @@
let token = userInfo; // 鎻愬彇 token
// 閫�鍑虹櫥褰曟柟娉�
function quit() {
- // removeToken()
+ // localStorage.removeItem('token');
+ store.$patch({
+ user: null,
+ })
router.push('/login')
}
// const quit = async () => {
// try {
-
-// const response = await request.get('/loadGlass/sys/user/logout', {
-// token: token,
-// user: null,
-// })
+// store.$patch({user: null})
+// const response = await request.post('/loadGlass/sys/user/logout')
// if (response.code === 200) {
-// // 鐧诲嚭鎴愬姛锛屾竻闄ゆ湰鍦板瓨鍌ㄧ殑 userInfo
-// localStorage.removeItem('userInfo');
-// // 鍙互鍦ㄨ繖閲岄噸缃簲鐢ㄧ姸鎬侊紝濡傚鑸埌鐧诲綍椤电瓑
// console.log('鐧诲嚭鎴愬姛');
// } else {
// // 澶勭悊閿欒鎯呭喌
diff --git a/UI-Project/src/main.js b/UI-Project/src/main.js
index b8b328b..7f48d13 100644
--- a/UI-Project/src/main.js
+++ b/UI-Project/src/main.js
@@ -11,7 +11,13 @@
import VXETable from 'vxe-table'
import 'vxe-table/lib/style.css'
import i18n from '@/lang'
+// import Echarts from "vue-echarts"
+import * as echarts from "echarts"
+// echarts.registerMap('china', china)
+// Vue.prototype.$echarts = echarts
+// app.component("v-chart", Echarts)
+// app.config.globalProperties.$echarts = echarts
const app = createApp(App)
const pinia = createPinia()
pinia.use(piniaPluginPersistedstate )
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index 2beb066..d790e4b 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -246,6 +246,32 @@
}
]
},
+ /*----------- 澶у睆鏄剧ず ----------------*/
+ {
+ path: 'largescreen',
+ name: 'largescreen',
+ component: () => import('../views/largescreen/largescreen.vue'),
+ children:[
+ {
+ path: '/largescreen/largescreen',
+ name: 'largescreen',
+ component: () => import('../views/largescreen/largescreen.vue')
+ },
+ ]
+ },
+ /*----------- 鎶ュ伐绠$悊 ----------------*/
+ {
+ path: 'reportWork',
+ name: 'reportWork',
+ component: () => import('../views/ReportWork/reportWork.vue'),
+ children:[
+ {
+ path: '/ReportWork/reportWork',
+ name: 'reportWork',
+ component: () => import('../views/ReportWork/reportWork.vue')
+ },
+ ]
+ },
/*----------- 绠$悊绯荤粺 ----------------*/
{
path: 'sys',
diff --git a/UI-Project/src/stores/tableData.js b/UI-Project/src/stores/tableData.js
new file mode 100644
index 0000000..3d21d2f
--- /dev/null
+++ b/UI-Project/src/stores/tableData.js
@@ -0,0 +1,225 @@
+// tableData.js
+
+import { ref } from 'vue';
+
+export const tableData = ref([
+ {
+ location: '1',
+ type: 'Type A',
+ length: '100',
+ height: '50',
+ thickness: '10',
+ quantity: '5',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '2',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 0
+ },
+ {
+ location: '3',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '4',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '5',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '1',
+ type: 'Type A',
+ length: '100',
+ height: '50',
+ thickness: '10',
+ quantity: '5',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '2',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 0
+ },
+ {
+ location: '3',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '4',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '5',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },{
+ location: '1',
+ type: 'Type A',
+ length: '100',
+ height: '50',
+ thickness: '10',
+ quantity: '5',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '2',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 0
+ },
+ {
+ location: '3',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '4',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '5',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },{
+ location: '1',
+ type: 'Type A',
+ length: '100',
+ height: '50',
+ thickness: '10',
+ quantity: '5',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '2',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 0
+ },
+ {
+ location: '3',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '4',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ },
+ {
+ location: '5',
+ type: 'Type B',
+ length: '120',
+ height: '60',
+ thickness: '12',
+ quantity: '10',
+ entry_time: '2024-06-19 10:00:00',
+ batchnumber: '444',
+ shelf_status: 1
+ }
+ // Add more data as needed
+]);
diff --git a/UI-Project/src/views/Caching/cachingbefore.vue b/UI-Project/src/views/Caching/cachingbefore.vue
index 9f4ed48..6c9510b 100644
--- a/UI-Project/src/views/Caching/cachingbefore.vue
+++ b/UI-Project/src/views/Caching/cachingbefore.vue
@@ -42,13 +42,13 @@
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 });
+ 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;
+ row.enable_state = newState;
};
const open = async(row) => {
try {
@@ -104,7 +104,7 @@
</script>
<template>
- <div>
+ <div style="height: 500px;">
<el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
<el-table height="240" ref="table"
@@ -141,10 +141,9 @@
</el-table>
</div>
</el-card>
- </div>
- <div id="awatch">
- <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 class="awatch">
+ <img src="../../assets/woshihuancun.png" alt="" style="width: 70%;height: 90%;margin-left: 200px;margin-top: 20px;position: relative;">
+ <div style="position: relative; width: 500px;height: 95px;margin-top: -165px;margin-left: 450px;">
<div
v-for="(rect, index) in adjustedRects"
:key="rect"
@@ -153,11 +152,9 @@
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>
+</div>
</div>
</template>
@@ -178,9 +175,10 @@
background-color: #337ecc;
margin-left: 28%;
}
-#awatch{
+.awatch{
height: 460px;
width: 1500px;
- /* margin-top: -60px; */
+ max-width: 100%;
}
-</style>
\ No newline at end of file
+
+</style>
diff --git a/UI-Project/src/views/Caching/cachingun.vue b/UI-Project/src/views/Caching/cachingun.vue
index cf17b1f..e7110cc 100644
--- a/UI-Project/src/views/Caching/cachingun.vue
+++ b/UI-Project/src/views/Caching/cachingun.vue
@@ -1,5 +1,5 @@
<template>
- <div>
+ <div style="height: 500px;">
<el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
<el-table height="240" ref="table"
@@ -10,7 +10,7 @@
<el-table-column prop="width" align="center" :label="$t('sorter.width')" min-width="120" />
<el-table-column prop="height" align="center" :label="$t('sorter.height')" min-width="120" />
<el-table-column
- align="center"
+ align="center"
:label="$t('sorter.startstatus')"
min-width="80"
prop="enable_state"
@@ -36,10 +36,9 @@
</el-table>
</div>
</el-card>
- </div>
- <div id="awatch">
- <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 class="awatch">
+ <img src="../../assets/woshihuancun.png" alt="" style="width: 70%;height: 90%;margin-left: 200px;margin-top: 20px;position: relative;">
+ <div style="position: relative; width: 500px;height: 95px;margin-top: -165px;margin-left: 450px;">
<div
v-for="(rect, index) in adjustedRects"
:key="rect"
@@ -50,6 +49,7 @@
>
</div>
</div>
+</div>
</div>
</template>
<script setup>
@@ -194,7 +194,7 @@
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 });
+ const response = await request.post('/unLoadGlass/downStorage/updateDownStorageCage', { id: row.id, enableState: newState });
if (response.code === 200) {
ElMessage.success(response.message);
} else {
@@ -202,6 +202,9 @@
}
row.enable_state = newState;
};
+
+
+
const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
@@ -245,9 +248,10 @@
background-color: #337ecc;
margin-left: 28%;
}
-#awatch{
+.awatch{
height: 460px;
width: 1500px;
+ max-width: 100%;
/* margin-top: -60px; */
}
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue b/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
index b36c181..e1b6d88 100644
--- a/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
+++ b/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
@@ -5,6 +5,7 @@
<!-- 宸︿晶鎸夐挳缁� -->
<div >
+ <el-button type="success" size="mini" @click="storage()">鍘熺墖浠撳偍璇︽儏</el-button>
<el-button type="success" size="mini" @click="handleInbound()">鍏ュ簱</el-button>
<el-button type="success" size="mini" >鍚婅浣嶅叆搴�</el-button>
@@ -20,9 +21,9 @@
</el-form-item>
</div>
-
+<el-dialog v-model="Hidden" top="10vh" width="80%" >
<el-table
- :data="tableData"
+ :data="tableData" v-model="dialogVisible3"
style="width: 98%; height: 200px"
@selection-change="handleSelectionChange"
@@ -55,17 +56,22 @@
</el-table-column>
<!-- 鎿嶄綔鍒� -->
- <el-table-column label="鎿嶄綔" width="350">
+ <el-table-column label="鎿嶄綔" width="250">
<template #default="{ row }">
<el-button type="primary" size="mini" @click="edithandleRowClick(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>
- <el-button type="success" size="mini" @click="addglass()">娣诲姞鍘熺墖</el-button>
+ <!-- <el-button type="success" size="mini" @click="addglass()">娣诲姞鍘熺墖</el-button> -->
</template>
</el-table-column>
</el-table>
- <el-table
+
+
+ </el-dialog>
+
+
+ <el-table
:data="tasktableData"
style="width: 98%; height: 150px"
@selection-change="handleSelectionChange"
@@ -109,11 +115,20 @@
</template>
</el-table-column>
</el-table>
-
</el-card>
- <div ref="chart" id="chart" style="width: 100%; height: 250px;"></div>
-
+
+
+
+
+ <div class="img-ypcc" >
+
+
+ <div class="img-car1" :style="'z-index:999;left:397px;top:205px;position:absolute;'">
+ <div v-show="cellshow1" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
+ </div>
+
+ </div>
<!-- 鍏ュ簱瀵硅瘽妗� -->
<el-dialog
@@ -175,19 +190,19 @@
</el-form-item>
<el-form-item label="闀垮害">
- <el-input v-model="formData.wid" required style="width: 250px; font-size: 20px" @focus="clearInput('wid')"></el-input>
+ <el-input v-model="formData.width" required style="width: 250px; font-size: 20px" @focus="clearInput('wid')"></el-input>
</el-form-item>
<el-form-item label="楂樺害">
- <el-input v-model="formData.heig" required style="width: 250px; font-size: 20px" @focus="clearInput('heig')"></el-input>
+ <el-input v-model="formData.height" required style="width: 250px; font-size: 20px" @focus="clearInput('heig')"></el-input>
</el-form-item>
<el-form-item label="鍘氬害">
- <el-input v-model="formData.thinkness" required style="width: 250px; font-size: 20px" @focus="clearInput('thinkness')"></el-input>
+ <el-input v-model="formData.thickness" required style="width: 250px; font-size: 20px" @focus="clearInput('thinkness')"></el-input>
</el-form-item>
<el-form-item label="鏁伴噺">
- <el-input-number v-model="formData.num" required :min="0" :max="9000" style="width: 250px; font-size: 20px" @focus="clearInput('num')"></el-input-number>
+ <el-input-number v-model="formData.quantity" required :min="0" :max="9000" style="width: 250px; font-size: 20px" @focus="clearInput('num')"></el-input-number>
</el-form-item>
</el-form>
@@ -205,6 +220,15 @@
<el-form-item label="鎵规鍙�">
<el-input v-model="editForm.batchnumber"></el-input>
</el-form-item>
+ <el-form-item label="闀垮害">
+ <el-input v-model="editForm.length"></el-input>
+ </el-form-item>
+ <el-form-item label="楂樺害">
+ <el-input v-model="editForm.height"></el-input>
+ </el-form-item>
+ <el-form-item label="鍘氬害">
+ <el-input v-model="editForm.thickness"></el-input>
+ </el-form-item>
</el-form>
<div class="dialog-footer">
@@ -214,7 +238,6 @@
</el-dialog>
- <!-- <div ref="chart" id="chart" style="width: 100%; height: 400px;"></div> -->
</div>
</template>
@@ -225,67 +248,14 @@
import { ref, onMounted, onBeforeUnmount } from 'vue'; // 瀵煎叆 Vue 3 鐨勬ā鍧�
import * as echarts from 'echarts';
import { ElMessage, ElMessageBox } from 'element-plus'
+import {tableData} from '@/stores/tableData.js';
+
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 10:00:00',
- batchnumber:"444",
- shelf_status: 1
- },
- {
- location: '2',
- type: 'Type B',
- length: '120',
- height: '60',
- thickness: '12',
- quantity: '10',
- entry_time: '2024-06-19 10:00:00',
- batchnumber:"444",
- shelf_status: 0
- },
- {
- location: '3',
- type: 'Type B',
- length: '120',
- height: '60',
- thickness: '12',
- quantity: '10',
- entry_time: '2024-06-19 10:00:00',
- batchnumber:"444",
- shelf_status: 1
- },
- {
- location: '4',
- type: 'Type B',
- length: '120',
- height: '60',
- thickness: '12',
- quantity: '10',
- entry_time: '2024-06-19 10:00:00',
- batchnumber:"444",
- shelf_status: 1
- },
- {
- location: '5',
- type: 'Type B',
- length: '120',
- height: '60',
- thickness: '12',
- quantity: '10',
- entry_time: '2024-06-19 10:00:00',
- batchnumber:"444",
- shelf_status: 1
- }
- // Add more data as needed
- ]);
+
+
+ const Hidden = ref(false)
const getTagType2 =(status) => {
switch (status) {
@@ -386,6 +356,12 @@
dialogVisible.value = true;
};
+ const storage = () => {
+ // 鎵撳紑鍏ュ簱瀵硅瘽妗�
+ Hidden.value = true;
+ };
+
+
const handleCloseDialog = () => {
// 鍏抽棴瀵硅瘽妗嗘椂閲嶇疆琛ㄥ崟鏁版嵁
formData.value = {
@@ -451,7 +427,10 @@
const editdialogVisible = ref(false);
const editForm = ref({
quantity: '',
- batchnumber: ''
+ batchnumber: '',
+ length:'',
+ height:'',
+ thickness:''
});
const editFormRef = ref(null);
let currentRow = ref(null);
@@ -459,8 +438,12 @@
// 澶勭悊琛岀偣鍑讳簨浠�
const edithandleRowClick = (row) => {
currentRow.value = row;
+ console.log(row)
editForm.value.quantity = row.quantity.toString();
editForm.value.batchnumber = row.batchnumber;
+ editForm.value.length = row.length;
+ editForm.value.height = row.height;
+ editForm.value.thickness = row.thickness;
editdialogVisible.value = true;
console.log(editForm.value)
};
@@ -481,6 +464,11 @@
const edithandleDialogClose = () => {
editForm.value.quantity = '';
editForm.value.batchnumber = '';
+ editForm.value.width = '';
+ editForm.value.height = '';
+ editForm.value.thickness = '';
+
+
currentRow.value = null;
};
@@ -561,85 +549,8 @@
- 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>
@@ -659,7 +570,32 @@
+.img-ypcc{
+ margin-left: 80px;
+ background-image:url('../../assets/ypcc.png');
+ background-repeat: no-repeat;
+ background-attachment: local;
+ min-height: 600px;
+ width: 1400px;
+ max-width: 100%;
+ background-size: 1400px 600px;
+ overflow: hidden;
+ position:relative;
+ margin-top:0px
+}
+.img-car1{
+ background-image:url('../../assets/ypccche.png');
+ position: absolute;
+ background-repeat: no-repeat;
+ background-attachment: local;
+ min-height: 400px;
+ width: 200px;
+ max-width: 100%;
+ background-size: 200px 170px;
+ overflow: hidden;
+ position:relative
+}
.custom-dialog {
max-height: 90vh; /* 鏈�澶ч珮搴︿负瑙嗗彛楂樺害鐨�90% */
diff --git a/UI-Project/src/views/LoginView.vue b/UI-Project/src/views/LoginView.vue
index d84f329..7f7bb7d 100644
--- a/UI-Project/src/views/LoginView.vue
+++ b/UI-Project/src/views/LoginView.vue
@@ -48,6 +48,9 @@
//鐧婚檰鏂规硶
const submitForm = (formEl: FormInstance | undefined) => {
+ store.$patch({
+ user: null,
+ })
if (!formEl) return
formEl.validate((valid) => {
if (valid) {
@@ -161,15 +164,16 @@
<el-button :loading="loginLoadings"
type="primary"
native-type="submit"
+ style="width: 80px;"
@click="submitForm(ruleFormRef)"
@keyup.enter.native="keyDown(e)"
plain>{{ $t('login.login') }}
</el-button>
- <el-button :loading="registerLoadings"
+ <!-- <el-button :loading="registerLoadings"
type="primary"
@click="register"
plain>{{ $t('login.register') }}
- </el-button>
+ </el-button> -->
</el-form-item>
</div>
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index 77bd047..14920eb 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -89,7 +89,7 @@
>
<div class="centered-text">
<div >{{ rect.flowcardId }}</div>
- <div style="margin-top: 50px;margin-left: -50px;">{{ rect.widtha }}*{{ rect.heighta }}</div>
+ <div style="text-align: center;">{{ rect.widtha }}*{{ rect.heighta }}</div>
</div>
</div>
</div>
@@ -106,7 +106,7 @@
>
<div class="centered-text">
<div >{{ rect.flowcardId }}</div>
- <div style="margin-top: 50px;margin-left: -50px;">{{ rect.widtha }}*{{ rect.heighta }}</div>
+ <div style="text-align: center;">{{ rect.widtha }}*{{ rect.heighta }}</div>
</div>
</div>
</div>
@@ -128,7 +128,7 @@
backgroundColor: rect.state === 0 ? '#dedfe0' : '#d1edc4' }">
<div class="centered-text">
<div >{{ rect.flowcardId }}</div>
- <div style="margin-top: 50px;margin-left: -50px;">{{ rect.widtha }}*{{ rect.heighta }}</div>
+ <div style="text-align: center;">{{ rect.widtha }}*{{ rect.heighta }}</div>
</div>
</div>
</div>
@@ -149,7 +149,7 @@
backgroundColor: rect.state === 4 ? '#911005' : '#f8e3c5' }">
<div class="centered-text">
<div >{{ rect.flowcardId }}</div>
- <div style="margin-top: 50px;margin-left: -50px;">{{ rect.widtha }}*{{ rect.heighta }}</div>
+ <div style="text-align: center;">{{ rect.widtha }}*{{ rect.heighta }}</div>
</div>
</div>
</div>
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
index 10bf427..5c0133f 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
@@ -38,7 +38,7 @@
widtha: rect.width,
heighta: rect.height,
}));
- console.log(data.intoGlass[0]);
+ console.log(adjustedRects.value);
};
onMounted(() => {
// fetchFlowCardId();
@@ -67,7 +67,7 @@
backgroundColor: rect.state === 4 ? '#d1edc4' : '#f8e3c5' }">
<div class="centered-text">
<div >{{ rect.flowcardId }}</div>
- <div style="margin-top: 50px;margin-left: -50px;">{{ rect.widtha }}*{{ rect.heighta }}</div>
+ <div style="text-align: center;">{{ rect.widtha }}*{{ rect.heighta }}</div>
</div>
</div>
</div>
diff --git a/UI-Project/src/views/ReportWork/reportWork.vue b/UI-Project/src/views/ReportWork/reportWork.vue
new file mode 100644
index 0000000..cd22ee2
--- /dev/null
+++ b/UI-Project/src/views/ReportWork/reportWork.vue
@@ -0,0 +1,125 @@
+<template>
+ <div style="height: 600px;">
+ <span class="demonstration">鐢熶骇鏃堕棿</span>
+ <el-date-picker v-model="timeRange" type="daterange" format="YYYY/MM/DD" value-format="YYYY-MM-DD"
+ start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿" :default-time="defaultTime" />
+ <el-select v-model="report.type" placeholder="娓呴�夋嫨绫诲瀷">
+ <el-option label="鍏ㄩ儴" value="0"></el-option>
+ <el-option label="瀹屽伐" value="1"></el-option>
+ <el-option label="鐮存崯" value="2"></el-option>
+ <el-option label="鎷胯蛋" value="3"></el-option>
+ </el-select>
+ <el-select v-model="report.status" placeholder="娓呴�夋嫨鐘舵��">
+ <el-option label="鍏ㄩ儴" value="0"></el-option>
+ <el-option label="鏈姤宸�" value="1"></el-option>
+ <el-option label="寰呮姤宸�" value="2"></el-option>
+ <el-option label="宸叉姤宸�" value="3"></el-option>
+ </el-select>
+ <el-select v-model="report.workProcedure" placeholder="娓呴�夋嫨宸ュ簭">
+ <el-option label="鍏ㄩ儴" value="0"></el-option>
+ <el-option label="鍒囧壊" value="1"></el-option>
+ <el-option label="纾ㄨ竟" value="2"></el-option>
+ <el-option label="閽㈠寲" value="3"></el-option>
+ </el-select>
+ <el-button type="primary" @click="selectReportData()">鏌ヨ</el-button>
+ <el-button type="success">鎶ュ伐</el-button>
+ <el-table height="100%" ref="table" :data="reportData"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="reportData.line" align="center" label="绾胯矾" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="宸ュ簭" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="鐜荤拑id" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="宸ョ▼鍙�" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="閽㈠寲鐗堝浘id" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="鐢熶骇鏃堕棿" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="澶囨敞" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="绫诲瀷" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="鐘舵��" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="娴佺▼鍗�" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="搴忓彿" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="灞�" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="鐮存崯绫诲瀷" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="鐮存崯鍘熷洜" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="璐d换宸ュ簭" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="璐d换浜哄憳" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="璐d换鐝粍" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="璐d换璁惧" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="鎶ュ伐鐝粍" min-width="120" />
+ <el-table-column prop="reportData.line" align="center" label="鎶ュ伐璁惧" min-width="120" />
+ </el-table>
+ </div>
+</template>
+<script setup>
+import { Delete, Upload } from '@element-plus/icons-vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { ref, onMounted, onBeforeUnmount, reactive, computed, shallowRef, onUnmounted, watchEffect } from "vue";
+import request from "@/utils/request"
+import { WebSocketHost, host } from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
+import { useI18n } from 'vue-i18n'
+const { t } = useI18n()
+const report = ref({
+ type: '',
+ status: '',
+ workProcedure: '',
+});
+const reportData = ref([])
+const timeRange = ref([new Date(2000, 10, 10), new Date(2200, 10, 11)])
+
+
+// 鏌ヨ鏁版嵁
+const selectReportData = async () => {
+ console.log(timeRange.value[0])
+ const response = await request.post("/loadGlass/damage/selectDamage", {
+ startTime: timeRange.value[0],
+ endTime: timeRange.value[1],
+ type: report.value.type,
+ status: report.value.status,
+ workProcedure: report.value.workProcedure,
+ })
+ if (response.code === 200) {
+ reportData.value = response.data;
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+};
+
+const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`;
+const handleMessage = (data) => {
+ // adjustedRects.value = data.device[0].map(rect => ({
+ // ...rect,
+ // completed: rect.completedQuantity,
+ // breakage: rect.breakageQuantity,
+ // thisProcess: rect.thisProcess,
+ // }));
+};
+let socket;
+onMounted(() => {
+ socket = new WebSocket(socketUrl);
+ socket.onmessage = (event) => {
+ const data = JSON.parse(event.data);
+
+ // updateCharts();
+ };
+ // };
+});
+
+
+
+
+onUnmounted(() => {
+ socket.close();
+});
+
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
+</script>
+
+<style scoped></style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 3035fa4..749d012 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -20,8 +20,11 @@
const tableDatad = ref([])
const tableDataf = ref([])
const tableDatae = ref([])
+const carPosition = ref([])
const adjustedRects = ref([]);
const project = ref([]);
+const adjust = ref([]);
+const adjusta = ref([]);
const adjustedRectsa = ref([]);
const adjustedRectsb = ref([]);
const adjustedRectsc = ref([]);
@@ -29,6 +32,7 @@
const adjustedRectse = ref([]);
const adjustedRectsf = ref([]);
const adjustedRectsg = ref([]);
+const adjustedRectsh = ref([]);
const currentRow = reactive({}); // 褰撳墠琛岀殑鏁版嵁
const add = ref(false)
const flowCardId = ref('');
@@ -42,17 +46,11 @@
const temperingLayoutId = ref('');
const thickness = ref('');
const width = ref('');
-const carposition1 = ref(60);
-const carposition2 = ref(220);
-const carposition3 = ref(60);
-const carposition4 = ref(260);
const timers1 =ref(true);
const timers2 =ref(true);
const timers3 =ref(true);
const timers4 =ref(true);
const cellshow5=ref(false);
-const c1=ref(false);
-const c2=ref(false);
const cellshow1=ref(true);
const cellshow2=ref(true);
const cellshow3=ref(true);
@@ -69,58 +67,59 @@
const cell6=ref(true);
const cell7=ref(true);
const cell8=ref(true);
+const cell9=ref(true);
const selectedRow = ref(null); // 瀛樺偍閫変腑鐨勮鏁版嵁
-
-
+
+
// 褰撳墠椤电爜鍜屾瘡椤垫樉绀虹殑鏉℃暟
const currentPage = ref(1);
const itemsPerPage = computed(() => {
if (currentPage.value === 1) {
- return 21;
+ return 55;
} else if (currentPage.value === 2) {
- return 21;
+ return 55;
} else if (currentPage.value === 3) {
- return 21;
+ return 55;
} else if (currentPage.value === 4) {
- return 20;
+ return 55;
} else if (currentPage.value === 5) {
- return 21;
+ return 55;
} else if (currentPage.value === 6) {
return 25;
} else if (currentPage.value === 7) {
- return 51;
+ return 30;
} else if (currentPage.value === 8) {
return 25;
} else {
return 25; // 榛樿鍊硷紝鍙互鏍规嵁瀹為檯闇�姹備慨鏀�
}
});
-
+
// 璁$畻鍒嗛〉鍚庣殑鏁版嵁
const paginatedUsers = computed(() => {
const startIndex = calculateStartIndex();
const endIndex = startIndex + itemsPerPage.value;
return tableData.value.slice(startIndex, endIndex);
});
-
+
// 璁$畻褰撳墠椤电殑璧峰绱㈠紩
function calculateStartIndex() {
let index = 0;
for (let i = 1; i < currentPage.value; i++) {
if (i === 1) {
- index += 21;
+ index += 55;
} else if (i === 2) {
- index += 21;
+ index += 55;
} else if (i === 3) {
- index += 21;
+ index += 55;
}else if (i === 4) {
- index += 20;
+ index += 55;
}else if (i === 5) {
- index += 21;
+ index += 55;
}else if (i === 6) {
index += 25;
}else if (i === 7) {
- index += 51;
+ index += 30;
}else if (i === 8) {
index += 25;
} else {
@@ -129,7 +128,11 @@
}
return index;
}
-
+ function jumpToPage(page: number) {
+ if (page >= 1 && page <= totalPages.value) {
+ currentPage.value = page;
+ }
+}
// 涓婁竴椤靛拰涓嬩竴椤垫柟娉�
const prevPage = () => {
if (currentPage.value > 1) {
@@ -142,7 +145,7 @@
currentPage.value++;
}
};
-
+
// 鎬婚〉鏁拌绠�
const totalPages = computed(() => {
// let total = 0;
@@ -159,9 +162,9 @@
// }
return 9;
});
-
-
-
+
+
+
const getTableRow = (row,type) =>{
switch (type) {
case 'edit' :{
@@ -449,7 +452,7 @@
ElMessage.success(response.message);
glassId.value = '';
tableDataf.value = '';
-
+
} else {
ElMessage.error(response.message);
}
@@ -466,62 +469,93 @@
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
// 鏇存柊 tableData 鐨勬暟鎹�
- tableDatac.value = data.bigStorageCageDetailsOutTask[0]
- tableDatad.value = data.bigStorageCageDetailsFeedTask[0]
+ if(data.bigStorageCageDetailsOutTask!=null){
+ tableDatac.value = data.bigStorageCageDetailsOutTask[0]
+ adjusta.value = data.bigStorageCageDetailsOutTask[0].filter(rect => rect.slot !== null && rect.slot !== undefined);
+ }
+ if(data.bigStorageCageDetailsFeedTask!=null){
+ tableDatad.value = data.bigStorageCageDetailsFeedTask[0]
+ adjust.value = data.bigStorageCageDetailsFeedTask[0].filter(rect => rect.slot !== null && rect.slot !== undefined);
+ }
+
+ // adjust.value = data.bigStorageCageDetailsFeedTask[0].map(rect => ({
+ // ...rect,
+ // }));
+
+// const adjust = computed(() => {
+// return data.value.bigStorageCageDetailsFeedTask[0].filter(rect => rect.slot !== null && rect.slot !== undefined);
+// });
+if(data.bigStorageCageInfo!=null){
tableData.value = data.bigStorageCageInfo[0]
+}
+if(data.temperingGlassInfoList!=null){
tableDatab.value = data.temperingGlassInfoList[0]
+}
+if(data.bigStorageCageUsage!=null){
tableDatae.value = data.bigStorageCageUsage[0]
- // adjustedRects.value = data.bigStorageCageInfo1[0]
- window.localStorage.setItem('length', data.bigStorageCageInfo1[0].length)
+}
+if(data.carPostion!=null){
+ carPosition.value = data.carPostion[0]
+}
+
+
+ if(data.bigStorageCageInfos!=null){
+ window.localStorage.setItem('length', data.bigStorageCageInfos[0][1].length)
let length = window.localStorage.getItem('length')
- adjustedRects.value = data.bigStorageCageInfo1[0].map(rect => ({
+ adjustedRects.value = data.bigStorageCageInfos[0][1].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
- let small = data.bigStorageCageInfo1[0]
- console.log(small[0].bigStorageCageDetails);
-adjustedRectsa.value = data.bigStorageCageInfo2[0].map(rect => ({
+adjustedRectsa.value = data.bigStorageCageInfos[0][2].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectsb.value = data.bigStorageCageInfo3[0].map(rect => ({
+adjustedRectsb.value = data.bigStorageCageInfos[0][3].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectsc.value = data.bigStorageCageInfo4[0].map(rect => ({
+adjustedRectsc.value = data.bigStorageCageInfos[0][4].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectsd.value = data.bigStorageCageInfo5[0].map(rect => ({
+adjustedRectsd.value = data.bigStorageCageInfos[0][5].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectse.value = data.bigStorageCageInfo6[0].map(rect => ({
+adjustedRectse.value = data.bigStorageCageInfos[0][6].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectsf.value = data.bigStorageCageInfo7[0].map(rect => ({
+adjustedRectsf.value = data.bigStorageCageInfos[0][7].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectsg.value = data.bigStorageCageInfo8[0].map(rect => ({
+adjustedRectsg.value = data.bigStorageCageInfos[0][8].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
+adjustedRectsh.value = data.bigStorageCageInfos[0][9].map(rect => ({
+ ...rect,
+ height: 20/length,
+ top: 29/length
+ }));
+ }
+
+
};
// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
onMounted(() => {
// fetchFlowCardId();
initializeWebSocket(socketUrl, handleMessage);
-
+
});
function getStatusType(enableState: number) {
switch (enableState) {
@@ -585,9 +619,9 @@
<el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">{{ $t('searchOrder.productionqueue') }}</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"
+ <el-table height="100px" ref="table"
:data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="bigStorageCageOutTask.glassId" align="center" :label="$t('searchOrder.outputglassID')" min-width="100" />
+ <el-table-column prop="bigStorageCageOutTask.glassId" align="center" :label="$t('searchOrder.outputglassID')" min-width="120" />
<el-table-column prop="bigStorageCageOutTask.startSlot" align="center" :label="$t('searchOrder.startposition')" min-width="120" />
<el-table-column prop="bigStorageCageOutTask.endSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" />
<el-table-column prop="bigStorageCageOutTask.trainNumber" align="center" :label="$t('searchOrder.trips')" min-width="120" />
@@ -600,9 +634,9 @@
<el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/>
<el-table-column prop="deviceId" align="center" :label="$t('searchOrder.tid')" min-width="100"/>
<el-table-column prop="slot" align="center" :label="$t('searchOrder.gridnumber')" min-width="100"/>
- <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="100"/>
+ <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="120"/>
<el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="150"/>
- <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="100"/>
+ <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="140"/>
<el-table-column prop="glassType" align="center" :label="$t('searchOrder.typeglass')" min-width="100"/>
<el-table-column prop="width" align="center" :label="$t('searchOrder.width')" min-width="100"/>
<el-table-column prop="height" align="center" :label="$t('searchOrder.height')" min-width="100"/>
@@ -620,10 +654,10 @@
</el-card>
<el-card style="flex: 1;margin-left: 10px;margin-top: 3px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
- <el-table height="100%" ref="table"
+ <el-table height="100px" ref="table"
@selection-change="handleSelectionChange"
:data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.intoglassid')" min-width="100" />
+ <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.intoglassid')" min-width="120" />
<el-table-column prop="bigStorageCageFeedTask.targetSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" />
<!-- <el-table-column prop="task_type" align="center" label="浠诲姟绫诲瀷" min-width="120" />娌℃湁杩斿洖瀛楁 -->
<el-table-column prop="bigStorageCageFeedTask.taskState" align="center" :label="$t('searchOrder.taskstatus')" min-width="120">
@@ -635,9 +669,9 @@
<el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/>
<el-table-column prop="deviceId" align="center" :label="$t('searchOrder.tid')" min-width="100"/>
<el-table-column prop="slot" align="center" :label="$t('searchOrder.gridnumber')" min-width="100"/>
- <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="100"/>
+ <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="120"/>
<el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="150"/>
- <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="100"/>
+ <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="140"/>
<el-table-column prop="glassType" align="center" :label="$t('searchOrder.typeglass')" min-width="100"/>
<el-table-column prop="width" align="center" :label="$t('searchOrder.width')" min-width="100"/>
<el-table-column prop="height" align="center" :label="$t('searchOrder.height')" min-width="100"/>
@@ -653,7 +687,7 @@
</el-table>
</div>
</el-card>
- <div style="padding: 10px;display: flex;height:110px;">
+ <div style="padding: 10px;display: flex;height:130px;">
<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;">
@@ -667,24 +701,39 @@
</div>
<!-- // 鐖剁骇妗� -->
<div class="img-dlpl" >
- <div class="img-car1" :style="'z-index:999;left:247px;top:' + carposition1 + 'px;position:absolute;'">
- <div v-show="cellshow1" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
+ <div class="img-car1" :style="'z-index:999;left:270px;top:' + 350*carPosition[0] + 'px;position:absolute;'">
+ <div
+ v-for="(rect, index) in adjusta"
+ :key="rect.id"
+ :style="{
+ width: '30px',
+ height: '5px',
+ backgroundColor: '#409EFF',
+ marginLeft: 5+ `px`,
+ top: '10px',
+ }"
+ >
</div>
- <div v-show="c1" class="img-car2" :style="'z-index:999;left:704px;top:' + carposition2 + 'px;position:absolute;'">
- <div v-show="cellshow2" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
</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:220px;height:5px;background-color:#409EFF;"></div>
+ <div class="img-car4" :style="'z-index:999;left:740px;top:' + 350*carPosition[1] + 'px;position:absolute;'">
+ <div
+ v-for="(rect, index) in adjust"
+ :key="rect.id"
+ :style="{
+ width: '30px',
+ height: '5px',
+ backgroundColor: '#409EFF',
+ marginLeft: 5+ `px`,
+ top: '10px',
+ }"
+ >
</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 style="position: relative;">
- <div v-show="cell1" style="width: 227px;height: 29px;position: relative;top:55px;left: 465px;">
+ <div v-show="cell1" style="width: 227px;height: 29px;position: relative;top:50px;left: 495px;">
<div
v-for="(rect, index) in adjustedRects"
- :key="rect.id"
+ :key="rect"
:style="{
// display:'flex',
@@ -712,7 +761,7 @@
</div>
</div>
</div>
- <div v-show="cell2" style="width: 227px;height: 29px;position: relative;top:56px;left: 465px;">
+ <div v-show="cell2" style="width: 227px;height: 29px;position: relative;top:51px;left: 495px;">
<div
v-for="(rect, index) in adjustedRectsa"
:key="rect.id"
@@ -743,7 +792,7 @@
</div>
</div>
</div>
- <div v-show="cell3" style="width: 227px;height: 29px;position: absolute;top:117px;left: 465px;">
+ <div v-show="cell3" style="width: 227px;height: 29px;position: absolute;top:110px;left: 495px;">
<div
v-for="(rect, index) in adjustedRectsb"
:key="rect.id"
@@ -773,7 +822,7 @@
</div>
</div>
</div>
- <div v-show="cell4" style="width: 227px;height: 29px;position: absolute;top:148px;left: 465px;">
+ <div v-show="cell4" style="width: 227px;height: 29px;position: absolute;top:140px;left: 495px;">
<div
v-for="(rect, index) in adjustedRectsc"
:key="rect.id"
@@ -804,7 +853,7 @@
</div>
</div>
</div>
- <div v-show="cell5" style="width: 227px;height: 29px;position: absolute;top:208px;left: 465px;">
+ <div v-show="cell5" style="width: 227px;height: 29px;position: absolute;top:170px;left: 495px;">
<div
v-for="(rect, index) in adjustedRectsd"
:key="rect.id"
@@ -835,7 +884,7 @@
</div>
</div>
</div>
- <div v-show="cell6" style="width: 227px;height: 29px;position: absolute;top:238px;left: 465px;">
+ <div v-show="cell6" style="width: 227px;height: 29px;position: absolute;top:241px;left: 495px;">
<div
v-for="(rect, index) in adjustedRectse"
:key="rect.id"
@@ -866,7 +915,7 @@
</div>
</div>
</div>
- <div v-show="cell7" style="width: 227px;height: 29px;position: absolute;top:269px;left: 465px;">
+ <div v-show="cell7" style="width: 227px;height: 29px;position: absolute;top:271px;left: 495px;">
<div
v-for="(rect, index) in adjustedRectsf"
:key="rect.id"
@@ -897,9 +946,40 @@
</div>
</div>
</div>
- <div v-show="cell8" style="width: 227px;height: 29px;position: absolute;top:300px;left: 465px;">
+ <div v-show="cell8" style="width: 227px;height: 29px;position: absolute;top:301px;left: 495px;">
<div
v-for="(rect, index) in adjustedRectsg"
+ :key="rect.id"
+ :style="{
+
+ // display:'flex',
+ position: 'absolute',
+ width: '227px',
+ // backgroundColor: 'red',
+ left: '0px',
+ top: index*rect.top+`px`,
+ height: `${rect.height}px`,
+ }"
+ >
+ <div
+ v-for="(rects, index) in rect.bigStorageCageDetails"
+ :key="rects"
+ :style="{
+ float:'left',
+ width: '18px',
+ height: `${rect.height}px`,
+ backgroundColor: '#911005',
+ // border:'1px solid black',
+ top: '0px',
+ marginRight: rects.gap/5000*227+'px'
+ }"
+ >
+ </div>
+ </div>
+ </div>
+ <div v-show="cell9" style="width: 227px;height: 29px;position: absolute;top:332px;left: 495px;">
+ <div
+ v-for="(rect, index) in adjustedRectsh"
:key="rect.id"
:style="{
@@ -959,8 +1039,8 @@
</el-input>
<el-button type="primary" plain style="margin-left: 10px;" @click="searchout">{{ $t('searchOrder.search') }}</el-button>
</div>
-
- <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 500px;">
+
+ <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;">
<el-table height="100%" ref="table"
:data="tableDataf" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
<el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="120" />
@@ -996,7 +1076,7 @@
</el-table>
</div>
</el-dialog>
-<el-dialog v-model="dialogFormVisiblea" top="5vh" width="97%" :title="$t('searchOrder.cageinformation')">
+<el-dialog v-model="dialogFormVisiblea" top="2vh" width="97%" :title="$t('searchOrder.cageinformation')">
<el-table
:data="paginatedUsers"
@row-click="handleRowClick"
@@ -1017,9 +1097,9 @@
:header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
>
<!-- <el-table-column prop="menuName" label="浜岀骇鑿滃崟鏍�" align="center" min-width="140" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"/> -->
- <el-table-column prop="glassId" :label="$t('searchOrder.glassID')" align="center" min-width="90"/>
- <el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="110" />
- <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="120" />
+ <el-table-column prop="glassId" :label="$t('searchOrder.glassID')" align="center" min-width="130"/>
+ <el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="130" />
+ <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="130" />
<el-table-column prop="glassType" align="center" :label="$t('searchOrder.typeglass')" min-width="80" />
<el-table-column prop="width" align="center" :label="$t('searchOrder.width')" min-width="80" />
<el-table-column prop="height" align="center" :label="$t('searchOrder.height')" min-width="80" />
@@ -1086,7 +1166,16 @@
<div style="margin-top: 20px; text-align: center;">
<!-- 涓婁竴椤垫寜閽� -->
<el-button @click="prevPage" :disabled="currentPage === 1">{{ $t('searchOrder.up') }}</el-button>
-
+ <div style="display: inline-block; margin: 0 20px;">
+ <el-button
+ v-for="page in totalPages"
+ :key="page"
+ :class="{ 'is-active': currentPage === page }"
+ @click="jumpToPage(page)"
+ >
+ {{ page }}
+ </el-button>
+ </div>
<!-- 涓嬩竴椤垫寜閽� -->
<el-button @click="nextPage" :disabled="currentPage >= totalPages">{{ $t('searchOrder.down') }}</el-button>
@@ -1251,8 +1340,9 @@
}
.img-dlpl{
- margin-left: 80px;
- background-image:url('../../assets/dlpl.png');
+ margin-left: 20px;
+ margin-top: 20px;
+ background-image:url('../../assets/dlpl9.png');
background-repeat: no-repeat;
background-attachment: local;
min-height: 400px;
@@ -1263,31 +1353,8 @@
position:relative
}
.img-car1{
- background-image:url('../../assets/lp.png');
- position: absolute;
- background-repeat: no-repeat;
- background-attachment: local;
- min-height: 200px;
- width: 200px;
- max-width: 100%;
- background-size: 200px 70px;
- overflow: hidden;
- position:relative
-}
-.img-car2{
- background-image:url('../../assets/lpa.png');
- position: absolute;
- background-repeat: no-repeat;
- background-attachment: local;
- min-height: 200px;
- width: 200px;
- max-width: 100%;
- background-size: 200px 70px;
- overflow: hidden;
- position:relative
-}
-.img-car3{
- background-image:url('../../assets/lp.png');
+ display: flex;
+ background-image:url('../../assets/lp9.png');
position: absolute;
background-repeat: no-repeat;
background-attachment: local;
@@ -1299,7 +1366,8 @@
position:relative
}
.img-car4{
- background-image:url('../../assets/lpa.png');
+ display: flex;
+ background-image:url('../../assets/lpa9.png');
position: absolute;
background-repeat: no-repeat;
background-attachment: local;
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindication.vue b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
index 41a6a45..36af612 100644
--- a/UI-Project/src/views/UnLoadGlass/Landingindication.vue
+++ b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
@@ -1,7 +1,7 @@
<template>
<div class="glass-rack">
<div >
- <svg width="500" height="500" xmlns="http://www.w3.org/2000/svg">
+ <svg width="500" height="370" xmlns="http://www.w3.org/2000/svg">
<g stroke="null" id="Layer_1">
<!-- 浣跨敤 v-for 寰幆娓叉煋鏁版嵁 -->
<g v-for="(rack, index) in racks" :key="index" :data="tableData">
@@ -46,7 +46,7 @@
{ x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG12345678',downGlassInfoList:"" } },
- { x: 140, y: 320, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' ,downGlassInfoList:""} }
+ { x: 140, y: 280, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' ,downGlassInfoList:""} }
]);
@@ -171,7 +171,7 @@
Swal.fire({
// title: '鐜荤拑淇℃伅',
- title: "$t('reportWork.glassinformation')",
+ title: t('reportWork.glassinformation'),
html: tableContent,
customClass: {
popup: 'format-pre'
@@ -198,7 +198,7 @@
<style scoped>
.glass-rack {
- margin-left: 20px;
+ /* margin-left: 10px; */
width: 500px;
margin-top: 5px;
}
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue b/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
index c7fa71e..c42fbe5 100644
--- a/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
+++ b/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
@@ -1,7 +1,7 @@
<template>
<div class="glass-rack">
<div >
- <svg width="500" height="500" xmlns="http://www.w3.org/2000/svg">
+ <svg width="500" height="370" xmlns="http://www.w3.org/2000/svg">
<g stroke="null" id="Layer_1">
<!-- 浣跨敤 v-for 寰幆娓叉煋鏁版嵁 -->
<g v-for="(rack, index) in racks" :key="index">
@@ -46,7 +46,7 @@
{ x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG12345678' } },
- { x: 140, y: 320, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' } }
+ { x: 140, y: 280, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' } }
]);
@@ -167,7 +167,7 @@
tableContent += '</table>';
Swal.fire({
- title: "$t('reportWork.glassinformation')",
+ title: t('reportWork.glassinformation'),
// title: '鐜荤拑淇℃伅',
html: tableContent,
customClass: {
@@ -193,9 +193,9 @@
<style scoped>
.glass-rack {
- margin-left: 20px;
+ /* margin-left: 20px; */
width: 500px;
- margin-top: 10px;
+ margin-top: 5px;
}
.rack-rect:hover {
cursor: pointer;
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index b41ed1c..640d82f 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -1,10 +1,8 @@
<script setup>
import {Search} from "@element-plus/icons-vue";
import {reactive, onMounted, onBeforeUnmount} from "vue";
-
import {useRouter} from "vue-router"
const router = useRouter()
-
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
let language = ref(localStorage.getItem('lang') || 'zh')
@@ -16,16 +14,14 @@
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
import { WebSocketHost ,host} from '@/utils/constants'
const dialogFormVisiblea = ref(false)
-
const dialogFormVisiblea2 = ref(false)
-
// 鏁版嵁
const loading = ref(false);
-
// 寮规鏄剧ず鎺у埗
const dialogFormVisible = ref(false);
// 琛ㄥ崟鏁版嵁
const workstationId = ref('');
+const selectedProjectNoa = ref(null); // 褰撳墠閫変腑鐨勮鑹�
const flowCardId = ref('');
const flowCardOptions = ref('[]');
const tableData = reactive([]);
@@ -33,14 +29,14 @@
const handleSelectionChange = () => {
// 澶勭悊琛ㄦ牸琛岄�夋嫨浜嬩欢
};
-
const handleBindRack = (row) => {
workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
+ console.log(row.flowCardId);
+ flowCardId.value = row.flowCardId;
// 鍙戣捣鎺ュ彛璇锋眰鑾峰彇娴佺▼鍗″彿
fetchFlowCardId();
dialogFormVisiblea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
};
-
//鑾峰彇娴佺▼鍗″彿
const fetchFlowCardId = async () => {
try {
@@ -62,11 +58,13 @@
//纭
const handleConfirm = async () => {
try {
+ const firstPart = flowCardId.value.split('|')[0].trim(); //
+const twoPart = flowCardId.value.split('|')[1].trim(); //
const response = await request.post('unLoadGlass/downWorkStation/updateFlowCardId', {
workstationId: workstationId.value,
- flowCardId: flowCardId.value
+ flowCardId: firstPart,
+ layer:twoPart
});
-
console.log(response)
if (response.code == 200) {
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
@@ -84,16 +82,12 @@
console.error(error);
}
};
-
-
const updatePageData = () => {
// 鍋囪浣犵殑椤甸潰涓婃湁涓�涓悕涓� tableData 鐨� Vue 缁勪欢
// 浣犲彲浠ョ洿鎺ユ洿鏂� tableData 鐨勬暟鎹�
fetchTableData()
// 浣跨敤 $forceUpdate() 寮哄埗鏇存柊缁勪欢
-
};
-
const handleBindRack2 = (row) => {
workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
dialogFormVisiblea2.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
@@ -125,8 +119,6 @@
dialogFormVisiblea2.value = false;
}
};
-
-
// 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰
const fetchTableData = async () => {
try {
@@ -147,54 +139,43 @@
ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
}
};
-
-
const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
-
// 鏇存柊 tableData 鐨勬暟鎹�
-
tableData.splice(0, tableData.length, ...data.params[0]);
// console.log("鏇存柊鍚庢暟鎹�", data.params[0]);
-
};
-
// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
-
onMounted(() => {
fetchFlowCardId();
fetchTableData(); // 鑾峰彇鏁版嵁
initializeWebSocket(socketUrl, handleMessage);
});
-
onBeforeUnmount(() => {
console.log("鍏抽棴浜�")
closeWebSocket();
});
-
// beforeUnmount(() => {
// closeWebSocket();
// });
-
-
// setInterval(fetchTableData, 2000)
-
-
</script>
-
<template>
<div>
- <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: 200px;">
- <el-table height="100%" ref="table"
+ <el-card style="flex: 1;" v-loading="loading">
+ <el-card style="flex: 1;margin-left: 4px;margin-top: 1px;" v-loading="loading">
+ <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+ <el-table height="200px" ref="table"
@selection-change="handleSelectionChange"
:data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
<el-table-column prop="workstationId" align="center" :label="$t('reportWork.lowerbit')" min-width="80" />
<el-table-column prop="workstationId" align="center" :label="$t('reportWork.shelfnumber')" min-width="120" />
- <el-table-column prop="flowCardId" align="center" :label="$t('reportWork.cardnumber')" min-width="120" />
+ <el-table-column prop="flowCardId" align="center" :label="$t('reportWork.cardnumber')" min-width="150" />
<el-table-column prop="totalquantity" align="center" :label="$t('reportWork.totalquantity')" min-width="120" />
<el-table-column prop="racksnumber" align="center" :label="$t('reportWork.beendropped')" min-width="120" />
+ <el-table-column prop="layer" align="center" label="灞傛暟" min-width="120" />
+ <el-table-column prop="artificialnumber" align="center" label="浜哄伐涓嬬墖鏁�" min-width="120" />
<el-table-column prop="work_state" align="center" :label="$t('reportWork.state')" min-width="120" />
<el-table-column prop="deviceId" align="center" :label="$t('reportWork.devicenumber')" min-width="120" />
<el-table-column
@@ -216,7 +197,22 @@
</el-table>
</div>
</el-card>
-
+ <!-- workstationId: '1',
+ workstationId: '1005',
+ flowCardId: '183.6',
+ totalquantity: '1991',
+ racksnumber:"1",
+ work_state: '寰呰瘑鍒�', -->
+ <div style="display: flex;" class="awatch">
+ <div id="main-body">
+ <Landingindication></Landingindication>
+ </div>
+ <div id="main-bodya">
+ <Landingindicationtwo></Landingindicationtwo>
+ </div>
+ </div>
+ </el-card>
+ </div>
<el-dialog v-model="dialogFormVisiblea" top="21vh" width="40%" :title="$t('reportWork.bindingshelves')">
<div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
@@ -242,12 +238,7 @@
</div>
</template>
</el-dialog>
-
-
-
-
<el-dialog v-model="dialogFormVisiblea2" top="21vh" width="30%" :title="$t('reportWork.clearglass')">
-
<template #footer>
<div id="dialog-footer">
<el-button type="primary" @click="handleclear">
@@ -257,26 +248,8 @@
</div>
</template>
</el-dialog>
-
-
- <!-- workstationId: '1',
- workstationId: '1005',
- flowCardId: '183.6',
- totalquantity: '1991',
- racksnumber:"1",
- work_state: '寰呰瘑鍒�', -->
- </div>
- <div style="display: flex;">
- <div id="main-body">
- <Landingindication></Landingindication>
- </div>
- <div id="main-bodya">
- <Landingindicationtwo></Landingindicationtwo>
- </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{
@@ -292,15 +265,15 @@
background-color: #337ecc;
margin-left: 28%;
}
-#awatch{
- height: 450px;
+.awatch{
+ max-width: 100%;
}
#main-body{
- margin-top: -20px;
- margin-left: 200px;
+ margin-top: -40px;
+ margin-left: 150px;
}
#main-bodya{
- margin-top: -10px;
+ margin-top: -40px;
margin-left: 100px;
}
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/User/permissions.vue b/UI-Project/src/views/User/permissions.vue
index 740afff..b2f373d 100644
--- a/UI-Project/src/views/User/permissions.vue
+++ b/UI-Project/src/views/User/permissions.vue
@@ -75,6 +75,30 @@
// window.localStorage.setItem('slot', row.slot)
addb.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
};
+function closeDialog(row) {
+ add.value = false;
+ menuName.value = '';
+ listSort.value = '';
+ url.value = '';
+}
+function closeDialoga(row) {
+ adda.value = false;
+ menuName.value = '';
+ listSort.value = '';
+ url.value = '';
+}
+function closeDialogb(row) {
+ addb.value = false;
+ menuName.value = '';
+ listSort.value = '';
+ url.value = '';
+}
+function closeDialogc(row) {
+ addc.value = false;
+ menuName.value = '';
+ listSort.value = '';
+ url.value = '';
+}
// 娣诲姞涓�绾ц彍鍗�
const getTableRow = async () => {
try {
@@ -319,7 +343,7 @@
<el-button type="primary" @click="getTableRow">
{{ $t('customer.sure') }}
</el-button>
- <el-button @click="add = false">{{ $t('customer.cancel') }}</el-button>
+ <el-button @click="closeDialog">{{ $t('customer.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -376,7 +400,7 @@
<el-button type="primary" @click="getTableRowb">
{{ $t('customer.sure') }}
</el-button>
- <el-button @click="addb = false">{{ $t('customer.cancel') }}</el-button>
+ <el-button @click="closeDialogb">{{ $t('customer.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -419,7 +443,7 @@
<el-button type="primary" @click="getTableRowa">
{{ $t('customer.sure') }}
</el-button>
- <el-button @click="adda = false">{{ $t('customer.cancel') }}</el-button>
+ <el-button @click="closeDialoga">{{ $t('customer.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -462,7 +486,7 @@
<el-button type="primary" @click="getTableRowac">
{{ $t('customer.sure') }}
</el-button>
- <el-button @click="addc = false">{{ $t('customer.cancel') }}</el-button>
+ <el-button @click="closeDialogc">{{ $t('customer.cancel') }}</el-button>
</div>
</template>
</el-dialog>
diff --git a/UI-Project/src/views/User/rolelist.vue b/UI-Project/src/views/User/rolelist.vue
index 5dcbb0b..78dfa0f 100644
--- a/UI-Project/src/views/User/rolelist.vue
+++ b/UI-Project/src/views/User/rolelist.vue
@@ -13,7 +13,7 @@
// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
// import LanguageMixin from './lang/LanguageMixin'
-const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勮鑹�
+const selectedProjectNoa = ref(null); // 褰撳墠閫変腑鐨勮鑹�
// const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
const name = ref('');
const tableData = ref([])
@@ -53,26 +53,34 @@
console.error('Error fetching options:', error);
}
};
-// 娣诲姞
+// 娣诲姞
const getTableRow = async () => {
try {
let menuList = [];
- selectedOptions.value.forEach(array => {
- if (array.length >= 2) {
- let id = array[0];
- let parentId = array[1];
- menuList.push({
- id: id,
- parentId: 0,
- children: [
- {
- id: parentId,
- parentId: id,
- }
- ],
- });
+ let parentIdMap = {}; // 鐢ㄤ簬瀛樺偍宸茬粡娣诲姞鐨勭埗椤�
+ selectedOptions.value.forEach(array => {
+ if (array.length >= 2) {
+ let id = array[0];
+ let parentId = array[1];
+ // 濡傛灉id杩樻湭浣滀负鐖堕」娣诲姞锛屽垯娣诲姞瀹�
+ if (!parentIdMap[id]) {
+ menuList.push({
+ id: id,
+ parentId: 0, // 閫氬父锛岄《绾ч」鐨刾arentId鍙兘鏄痭ull鎴栫壒瀹氱殑鏍笽D锛岃繖閲岃涓�0鍙兘鏄釜鐗规畩鐢ㄩ��
+ children: []
+ });
+ parentIdMap[id] = menuList[menuList.length - 1]; // 鏇存柊鏄犲皠
+ }
+ // 鍚戝搴旂殑鐖堕」娣诲姞瀛愰」
+ if (!parentIdMap[id].children.some(child => child.id === parentId)) {
+ // 妫�鏌ユ槸鍚﹀凡瀛樺湪鐩稿悓鐨勫瓙椤癸紙鍩轰簬id锛夛紝閬垮厤閲嶅娣诲姞
+ parentIdMap[id].children.push({
+ id: parentId,
+ parentId: id
+ });
+ }
}
- });
+ });
const dataToSend = {
name: name.value,
menuList: menuList
@@ -91,64 +99,124 @@
console.error(error);
}
};
-// 澶勭悊缂栬緫鎸夐挳鐐瑰嚮
function handleEdit(row) {
- name.value = row.name;
- selectedOptions.value = row.selectedOptions
-// options.value = res.data.tree
- adda.value = true; // 鏄剧ず瀵硅瘽妗�
- window.localStorage.setItem('id', row.id)
+ name.value = row.name;
+ adda.value = true;
+ window.localStorage.setItem('ids', row.id);
+ const parentIdMap = {};
+ const menuItemsById = {}; // 蹇�熸煡鎵捐彍鍗曢」
+ let topLevelItems = []; // 瀛樺偍椤剁骇鑿滃崟椤�
+ row.menuList.forEach(item => {
+ const parentId = item.parentId === 0 ? null : item.parentId;
+ const menuItem = {
+ id: item.id,
+ parentId: parentId,
+ menuName: item.menuName,
+ children: []
+ };
+ menuItemsById[item.id] = menuItem;
+ // 鍒濆鍖栨垨鏇存柊parentIdMap涓殑鏁扮粍
+ if (!parentIdMap[parentId]) {
+ parentIdMap[parentId] = [];
+ }
+ if (parentId === null) {
+ // 椤剁骇鑿滃崟椤圭洿鎺ユ坊鍔犲埌topLevelItems
+ topLevelItems.push(menuItem);
+ } else {
+ // 闈為《绾ц彍鍗曢」娣诲姞鍒皃arentIdMap涓�
+ parentIdMap[parentId].push(menuItem);
+ }
+ });
+ for (const parentId in parentIdMap) {
+ if (parentId !== 'null') { // 璺宠繃椤剁骇鑿滃崟椤�
+ parentIdMap[parentId].forEach(child => {
+ // 鏌ユ壘鐖堕」骞舵坊鍔犲瓙椤�
+ if (menuItemsById[parentId]) {
+ menuItemsById[parentId].children.push(child);
+ }
+ });
+ }
+ }
+ if (selectedOptions.value !== topLevelItems) {
+ selectedOptions.value = topLevelItems;
+ }
+ console.log(topLevelItems);
+ // selectedOptions.value = topLevelItems;
+const topLevelItemsWithChildren = topLevelItems; // 鍖呭惈椤剁骇鑿滃崟椤瑰強鍏跺瓙鑿滃崟椤圭殑鏁扮粍 聽
+ let selectedPath = [];
+// 寰幆閬嶅巻 topLevelItemsWithChildren 鏁扮粍
+for (let i = 0; i < topLevelItemsWithChildren.length; i++) {
+ // 娣诲姞椤剁骇鑿滃崟椤圭殑 id
+ selectedPath.push(topLevelItemsWithChildren[i].id);
+ // 濡傛灉鏈夊瓙鑿滃崟椤癸紝娣诲姞绗竴涓瓙鑿滃崟椤圭殑 id
+ if (topLevelItemsWithChildren[i].children && topLevelItemsWithChildren[i].children.length > 0) {
+ for (let j = 0; j < topLevelItemsWithChildren[i].children.length; j++) {
+ // 灏嗘瘡涓瓙鑿滃崟椤圭殑 id 娣诲姞鍒� selectedPath 涓�
+ selectedPath.push(topLevelItemsWithChildren[i].children[j].id);
+ }
+ }
+}
+ console.log(selectedPath);
+selectedOptions.value = selectedPath;
}
// 缂栬緫
const getTableRowa = async () => {
- let id = window.localStorage.getItem('id')
+ let ids = window.localStorage.getItem('ids')
try {
let menuList = [];
- selectedOptions.value.forEach(array => {
- if (array.length >= 2) {
- let id = array[0];
- let parentId = array[1];
- menuList.push({
- id: id,
- parentId: 0,
- children: [
- {
- id: parentId,
- parentId: id,
- }
- ],
- });
+ let parentIdMap = {}; // 鐢ㄤ簬瀛樺偍宸茬粡娣诲姞鐨勭埗椤�
+ selectedOptions.value.forEach(array => {
+ if (array.length >= 2) {
+ let id = array[0];
+ let parentId = array[1];
+ // 濡傛灉id杩樻湭浣滀负鐖堕」娣诲姞锛屽垯娣诲姞瀹�
+ if (!parentIdMap[id]) {
+ menuList.push({
+ id: id,
+ parentId: 0, // 閫氬父锛岄《绾ч」鐨刾arentId鍙兘鏄痭ull鎴栫壒瀹氱殑鏍笽D锛岃繖閲岃涓�0鍙兘鏄釜鐗规畩鐢ㄩ��
+ children: []
+ });
+ parentIdMap[id] = menuList[menuList.length - 1]; // 鏇存柊鏄犲皠
+ }
+ // 鍚戝搴旂殑鐖堕」娣诲姞瀛愰」
+ if (!parentIdMap[id].children.some(child => child.id === parentId)) {
+ // 妫�鏌ユ槸鍚﹀凡瀛樺湪鐩稿悓鐨勫瓙椤癸紙鍩轰簬id锛夛紝閬垮厤閲嶅娣诲姞
+ parentIdMap[id].children.push({
+ id: parentId,
+ parentId: id
+ });
+ }
}
- });
+ });
const dataToSend = {
- id:id,
+ id:ids,
name: name.value,
menuList: menuList
};
const response = await request.post('/loadGlass/sys/role/updateRole', dataToSend);
- // try {
- // const response = await request.post('/loadGlass/sys/role/updateRole', {
- // id: id,
- // name: name.value,
- // });
-
if (response.code == 200) {
- // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
adda.value = false;
name.value = '';
- selectedOptions.value = '';
- fetchOptionsa()
- tableData.value = response.data;
+ selectedOptions.value = '';
+ fetchOptionsa();
} else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
}
} catch (error) {
- // 澶勭悊閿欒
console.error(error);
}
};
+function closeDialog(row) {
+ add.value = false;
+ name.value = '';
+ selectedOptions.value = '';
+}
+function closeDialoga(row) {
+ adda.value = false;
+ name.value = '';
+ selectedOptions.value = '';
+}
// 鍒犻櫎
const opena = async(row) => {
try {
@@ -244,7 +312,7 @@
<el-button type="primary" @click="getTableRow">
{{ $t('delivery.sure') }}
</el-button>
- <el-button @click="add = false"> {{ $t('delivery.cancel') }}</el-button>
+ <el-button @click="closeDialog"> {{ $t('delivery.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -284,7 +352,7 @@
<el-button type="primary" @click="getTableRowa">
{{ $t('delivery.sure') }}
</el-button>
- <el-button @click="adda = false">{{ $t('delivery.cancel') }}</el-button>
+ <el-button @click="closeDialoga">{{ $t('delivery.cancel') }}</el-button>
</div>
</template>
</el-dialog>
diff --git a/UI-Project/src/views/User/userlist.vue b/UI-Project/src/views/User/userlist.vue
index 8e97491..5d79a7b 100644
--- a/UI-Project/src/views/User/userlist.vue
+++ b/UI-Project/src/views/User/userlist.vue
@@ -13,7 +13,7 @@
const { t } = useI18n()
let language = ref(localStorage.getItem('lang') || 'zh')
// import LanguageMixin from './lang/LanguageMixin'
-const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勮鑹�
+const selectedProjectNoa = ref(null); // 褰撳墠閫変腑鐨勮鑹�
// const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
const userName = ref('');
const password = ref('');
@@ -98,11 +98,29 @@
};
// 澶勭悊缂栬緫鎸夐挳鐐瑰嚮
function handleEdit(row) {
- userName.value = row.userName;
+ userName.value = row.userName;
+ if (row.roleList && row.roleList.length > 0) {
+ const firstRole = row.roleList[0];
+ selectedProjectNoa.value = firstRole.id; // 璁剧疆涓篒D锛岃�屼笉鏄痭ame
+ }
adda.value = true; // 鏄剧ず瀵硅瘽妗�
window.localStorage.setItem('id', row.id)
}
+
+function closeDialog(row) {
+ add.value = false;
+ userName.value = '';
+ nickName.value = '';
+ password.value = '';
+ selectedProjectNoa.value = '';
+}
+function closeDialoga(row) {
+ adda.value = false;
+ userName.value = '';
+ nickName.value = '';
+ password.value = '';
+}
// 娣诲姞
const getTableRow = async () => {
try {
@@ -127,7 +145,7 @@
tableData.value = response.data;
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
} catch (error) {
// 澶勭悊閿欒
@@ -277,7 +295,7 @@
<el-button type="primary" @click="getTableRow">
{{ $t('productStock.sure') }}
</el-button>
- <el-button @click="add = false">{{ $t('productStock.cancel') }}</el-button>
+ <el-button @click="closeDialog">{{ $t('productStock.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -324,7 +342,7 @@
<el-button type="primary" @click="getTableRowa">
{{ $t('productStock.sure') }}
</el-button>
- <el-button @click="adda = false">{{ $t('productStock.cancel') }}</el-button>
+ <el-button @click="closeDialoga">{{ $t('productStock.cancel') }}</el-button>
</div>
</template>
</el-dialog>
diff --git a/UI-Project/src/views/largescreen/largescreen.vue b/UI-Project/src/views/largescreen/largescreen.vue
new file mode 100644
index 0000000..7c3603a
--- /dev/null
+++ b/UI-Project/src/views/largescreen/largescreen.vue
@@ -0,0 +1,268 @@
+<template>
+ <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading">
+ <el-scrollbar height="600px">
+<div id="top" style="height: 150px;display: flex;">
+ <div class="echarts-container">
+ <div v-for="(processData, index) in processesData" :key="index" class="echarts-item">
+ <div :id="'pieChart_' + index" class="pie-chart"></div>
+ </div>
+</div>
+</div>
+<div style="display: flex;">
+<div id="centerleft" style="margin-top: 10px;height: 240px;width: 340px;background-color: #911005;">
+ <el-table height="240" ref="table" width="340px"
+ @selection-change="handleSelectionChange"
+ :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column fixed prop="orderId" align="center" :label="$t('large.number')" min-width="110" />
+ <el-table-column prop="project" align="center" :label="$t('large.projectname')" min-width="100" />
+ <el-table-column prop="responsibleProcess" align="center" :label="$t('large.responsibleprocess')" min-width="100" />
+ <el-table-column prop="breakageQuantity" align="center" :label="$t('large.numberfractions')" min-width="110" />
+ <el-table-column prop="patchProcesses" align="center" :label="$t('large.process')" min-width="100" />
+ <el-table-column fixed="right" :label="$t('large.operate')" align="center" width="100">
+ <template #default="scope">
+ <el-button size="mini" type="text" plain @click="handleBinda">{{ $t('large.mes') }}</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+</div>
+<div id="center" style="margin-top: 10px;margin-left: 10px; height: 240px;width: 750px;">
+ <img src="../../assets/d1a.png" alt="" style="margin-left: -10px; width: 100%;height: 100%;position: relative;">
+</div>
+<div id="centerright" style="margin-top: 10px;margin-left: 10px; height: 240px;width: 240px;background-color: #911005;">
+ <el-table height="240" ref="table" width="340px"
+ @selection-change="handleSelectionChange"
+ :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="projectNo" align="center" :label="$t('large.projectnumber')" min-width="50" />
+ <el-table-column prop="projectName" align="center" :label="$t('large.projectname')" min-width="50" />
+ </el-table>
+</div>
+</div>
+<div id="bottom" style="margin-top: 10px;height: 190px;background-color: #911005;">
+<el-table height="190" ref="table"
+ @selection-change="handleSelectionChange"
+ :data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="orderId" align="center" :label="$t('large.orderId')" min-width="50" />
+ <el-table-column prop="customerName" align="center" :show-overflow-tooltip="true" :label="$t('large.customerName')" min-width="90" />
+ <el-table-column prop="project" align="center" :label="$t('large.project')" min-width="50" />
+ <el-table-column prop="area" align="center" :label="$t('large.are')" min-width="50" />
+ <el-table-column prop="quantity" align="center" :label="$t('large.quantity')" min-width="50" />
+ <el-table-column
+ align="center"
+ :label="$t('large.warehousing')"
+ min-width="50"
+ prop="warehousing"
+ >
+ <template #default="scope">
+ <el-tag :type="getStatusType(scope.row.warehousing)">
+ {{ getStatusText(scope.row.warehousing) }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="deliveryDate" align="center" :label="$t('large.deliveryDate')" min-width="50" />
+ </el-table>
+</div>
+</el-scrollbar>
+</el-card>
+<el-dialog v-model="blinda" top="5vh" width="80%" :title="$t('large.brokeno')">
+ <el-table height="400" ref="table"
+ @selection-change="handleSelectionChange"
+ :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="reportingWorkTime" fixed align="center" :label="$t('large.time')" min-width="110" />
+ <el-table-column prop="orderId" fixed align="center" :label="$t('large.number')" min-width="110" />
+ <el-table-column prop="reportingWorkId" align="center" :label="$t('large.jobnumber')" min-width="120" />
+ <el-table-column prop="productionId" align="center" :label="$t('large.productionnumber')" min-width="130" />
+ <el-table-column prop="processId" align="center" :label="$t('large.cardnumber')" min-width="140" />
+ <el-table-column prop="project" align="center" :label="$t('large.projectname')" min-width="110" />
+ <el-table-column prop="batch" align="center" :label="$t('large.batch')" min-width="110" />
+ <el-table-column prop="reviewer" align="center" :label="$t('large.detailID')" min-width="110" />
+ <el-table-column prop="orderSort" align="center" :label="$t('large.serialnumber')" min-width="110" />
+ <el-table-column prop="productName" align="center" :label="$t('large.productname')" :show-overflow-tooltip="true" min-width="220" />
+ <el-table-column prop="technologyNumber" align="center" :label="$t('large.serial')" min-width="110" />
+ <el-table-column prop="glassAddress" align="center" :label="$t('large.slicemarker')" min-width="130" />
+ <el-table-column prop="patchNum" align="center" :label="$t('large.numberpatches')" min-width="110" />
+ <el-table-column prop="width" align="center" :label="$t('large.width')" min-width="110" />
+ <el-table-column prop="height" align="center" :label="$t('large.height')" min-width="110" />
+ <el-table-column prop="shape" align="center" :label="$t('large.shape')" min-width="110" />
+ <el-table-column prop="responsibleProcess" align="center" :label="$t('large.responsibleprocess')" min-width="110" />
+ <el-table-column prop="patchProcesses" align="center" :label="$t('large.process')" min-width="110" />
+ <el-table-column prop="breakageQuantity" align="center" :label="$t('large.numberfractions')" min-width="110" />
+ <el-table-column prop="patchReason" align="center" :label="$t('large.breakreason')" min-width="110" />
+ <el-table-column prop="patchType" align="center" :label="$t('large.breaktype')" min-width="110" />
+ <el-table-column prop="responsiblePersonnel" align="center" :label="$t('large.responsiblepersonnel')" min-width="110" />
+ <el-table-column prop="responsibleEquipment" align="center" :label="$t('large.responsiblequipment')" min-width="110" />
+ <el-table-column prop="responsibleTeam" align="center" :label="$t('large.responsibleteam')" min-width="110" />
+ <el-table-column prop="patchArea" align="center" :label="$t('large.area')" min-width="110" />
+ <el-table-column prop="qualityInspector" align="center" :label="$t('large.inspector')" min-width="110" />
+ </el-table>
+ <template #footer>
+ <div id="dialog-footer" style="text-align: center;">
+ <el-button @click="blinda = false">{{ $t('large.close') }}</el-button>
+ </div>
+ </template>
+</el-dialog>
+</template>
+<script setup>
+import { Delete, Upload } from '@element-plus/icons-vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { ref, onMounted , onBeforeUnmount, reactive, computed, shallowRef, onUnmounted, watchEffect } from "vue";
+import request from "@/utils/request"
+import { WebSocketHost ,host} from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
+import { useI18n } from 'vue-i18n'
+const { t } = useI18n()
+import * as echarts from 'echarts';
+const tableData = ref([])
+const tableDatab = ref([])
+const tableDatac = ref([])
+const adjustedRects = ref([]);
+const chartRefs = ref([]);
+const thisProcess = ref(); // 鐢ㄤ簬瀛樺偍process_id鐨勫搷搴斿紡寮曠敤
+// 瀹氫箟涓�涓搷搴斿紡寮曠敤鏉ュ瓨鍌ㄥ浘琛ㄥ疄渚�
+const chartDom = ref(null);
+let chartInstance = null;
+const blinda = ref(false)
+const handleBinda = (row) => {
+blinda.value = true;
+};
+const processesData = ref([
+
+]);
+function getStatusType(warehousing) {
+switch (warehousing) {
+ case 0:
+ return 'info';
+ case 1:
+ return 'warning';
+ case 2:
+ return 'success';
+}
+}
+function getStatusText(warehousing) {
+switch (warehousing) {
+ case 0:
+ return t('large.notstocked');
+ case 1:
+ return t('large.inboundstatus');
+ case 2:
+ return t('large.allstatus');
+}
+}
+const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`;
+const handleMessage = (data) => {
+tableData.value = data.awaitingRepairs[0]
+tableDatab.value = data.DoingTask[0]
+tableDatac.value = data.orders[0]
+// adjustedRects.value = data.device[0].map(rect => ({
+// ...rect,
+// completed: rect.completedQuantity,
+// breakage: rect.breakageQuantity,
+// thisProcess: rect.thisProcess,
+// }));
+};
+let socket;
+// 璁剧疆鍥捐〃 DOM 寮曠敤
+function setChartDom(index, el) {
+if (!chartRefs.value[index]) {
+ chartRefs.value[index] = { dom: el, chart: null };
+} else {
+ chartRefs.value[index].dom = el;
+}
+}
+onMounted(() => {
+socket = new WebSocket(socketUrl);
+socket.onmessage = (event) => {
+ const data = JSON.parse(event.data);
+ processesData.value = data.device[0].map(rect => ({
+ ...rect,
+ completedQuantity: rect.completedQuantity,
+ breakageQuantity: rect.breakageQuantity,
+ thisProcess: rect.thisProcess,
+ }));
+ renderPieCharts();
+ console.log(processesData.value);
+ // updateCharts();
+};
+
+// };
+});
+const renderPieCharts = () => {
+processesData.value.forEach((data, index) => {
+ const chart = echarts.init(document.getElementById('pieChart_' + index));
+ const options = {
+ title: {
+ text: `${data.thisProcess} `,
+ left: 'center',
+ },
+ tooltip: {
+ trigger: 'item',
+ },
+ series: [
+ {
+ name: `${data.thisProcess} `,
+ type: 'pie',
+ radius: ['40%', '70%'],
+ avoidLabelOverlap: false,
+ data: [
+ { value: data.completedQuantity, name: t('large.completedquantity') },
+ { value: data.breakageQuantity, name: t('large.scrapquantity') }
+ ],
+ emphasis: {
+ itemStyle: {
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0.5)'
+ }
+ },
+ label: {
+ show: false,
+ position: 'center',
+ },
+ labelLine: {
+ show: false
+ },
+ }
+ ]
+ };
+
+ chart.setOption(options);
+});
+};
+
+
+onUnmounted(() => {
+socket.close();
+});
+
+onMounted(() => {
+// fetchFlowCardId();
+// fetchTableData(); // 鑾峰彇鏁版嵁
+initializeWebSocket(socketUrl, handleMessage);
+
+});
+onBeforeUnmount(() => {
+console.log("鍏抽棴浜�")
+closeWebSocket();
+});
+</script>
+
+<style scoped>
+
+
+
+.echarts-container {
+display: flex;
+flex-wrap: wrap;
+gap: 20px;
+}
+
+.echarts-item {
+width: 150px;
+height: 150px;
+margin: 20px;
+}
+
+.pie-chart {
+width: 100%;
+height: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
index 252da8f..5423c6e 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
@@ -29,8 +29,7 @@
* A09鍑虹墖鐩爣浣嶇疆 d02鍗ц浆绔� 閽㈠寲鍑虹墖 3001
* A10鍑虹墖鐩爣浣嶇疆 d05鍗ц浆绔� 浜哄伐鍑虹墖 3002
*/
- //todo:涓存椂灏嗛挗鍖栧嚭鐗囩嚎璺敼涓轰汉宸ュ嚭鐗�
- public static final Integer TEMPERING_OUT_TARGET_POSITION = 3002;
+ public static final Integer TEMPERING_OUT_TARGET_POSITION = 3001;
public static final Integer ARTIFICIAL_OUT_TARGET_POSITION = 3002;
/**
@@ -90,21 +89,29 @@
* 2 鍗ц浆绔嬭繘鐗囧畬鎴�
* 3 澶ц溅杩涚墖瀹屾垚
* 4 澶х悊鐗囩杩涚墖瀹屾垚
+ * 5 澶х悊鐗囩杩涚墖澶辫触
+ * 6 澶х悊鐗囩杩涚墖鐮存崯
*/
public static final Integer BIG_STORAGE_IN_NEW = 1;
public static final Integer BIG_STORAGE_IN_UP = 2;
public static final Integer BIG_STORAGE_IN_CAR = 3;
public static final Integer BIG_STORAGE_IN_SLOT = 4;
+ public static final Integer BIG_STORAGE_IN_ERROR = 5;
+ public static final Integer BIG_STORAGE_IN_DAMAGE = 6;
public static final List<Integer> BIG_STORAGE_IN_UP_ALL = Arrays.asList(1, 2);
/**
* 鍗ц浆绔嬪嚭鐗囪姹�
* 1 浠诲姟鐢熸垚
* 2 鐜荤拑杩涘ぇ杞﹀畬鎴�
* 3 澶ц溅鍑虹墖瀹屾垚
+ * 4 澶х悊鐗囩杩涚墖澶辫触
+ * 5 澶х悊鐗囩杩涚墖鐮存崯
*/
public static final Integer BIG_STORAGE_OUT_NEW = 1;
public static final Integer BIG_STORAGE_OUT_CAR = 2;
public static final Integer BIG_STORAGE_OUT_SUCCESS = 3;
+ public static final Integer BIG_STORAGE_OUT_ERROR = 4;
+ public static final Integer BIG_STORAGE_OUT_DAMAGE = 5;
/**
* 鍗ц浆绔嬪嚭鐗囪姹�
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
index b821404..9cd2ca4 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
@@ -5,14 +5,14 @@
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
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.RequestMapping;
+import org.springframework.web.bind.annotation.*;
-import org.springframework.web.bind.annotation.RestController;
-
+import java.util.Date;
import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -22,6 +22,7 @@
* @author wu
* @since 2024-06-25
*/
+@Api(description = "鎶ュ伐淇℃伅")
@RestController
@RequestMapping("/damage")
public class DamageController {
@@ -29,20 +30,27 @@
@Autowired
private DamageService damageService;
@ApiOperation("鎶ュ伐鏁版嵁鏌ヨ")
- @GetMapping("/selectDamage")
- public Result selectDamage(DateTime startTime , DateTime endTime,int type,int status,int workingProcedureId) {
- return Result.build(200,"鏌ヨ鎴愬姛",damageService.selectDamage(startTime,endTime,type,status,workingProcedureId));
+ @ResponseBody
+ @PostMapping("/selectDamage")
+ public Result selectDamage(@RequestBody Map map) {
+ String startTime=map.get("startTime").toString();
+ String endTime=map.get("endTime").toString();
+ int type =Integer.parseInt(map.get("type").toString());
+ int status =Integer.parseInt(map.get("status").toString());
+ int workingProcedure =Integer.parseInt(map.get("workingProcedure").toString());
+// String startTime , String endTime, int type, int status, int workingProcedure
+ return Result.build(200,"鏌ヨ鎴愬姛",damageService.selectDamage(startTime,endTime,type,status,workingProcedure));
}
@ApiOperation("鎶ュ伐")
- @GetMapping("/submitDamage")
+ @PostMapping("/submitDamage")
public Result submitDamage(DateTime startTime , DateTime endTime,int type,int status,int workingProcedureId) {
damageService.submitDamage(startTime,endTime,type,status,workingProcedureId);
return Result.build(200,"鎶ュ伐鎴愬姛",1);
}
@ApiOperation("鎶ュ伐鏁版嵁淇敼")
- @GetMapping("/updateDamage")
+ @PostMapping("/updateDamage")
public Result updateDamage(List<Damage> damageList) {
damageService.updateBatchById(damageList);
return Result.build(200,"淇敼鎴愬姛",1);
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
index 8eb6426..52b355e 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
@@ -2,8 +2,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.sql.Timestamp;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -32,7 +33,7 @@
/**
* 宸ュ簭
*/
- private Integer workingProcedure;
+ private String workingProcedure;
/**
* 鐜荤拑id
@@ -52,7 +53,7 @@
/**
* 鐢熶骇鏃堕棿
*/
- private LocalDateTime damageTime;
+ private Timestamp damageTime;
/**
* 澶囨敞
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
index 43d1142..e5acd8b 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
@@ -4,6 +4,7 @@
import com.mes.damage.entity.Damage;
import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.Date;
import java.util.List;
/**
@@ -16,7 +17,7 @@
*/
public interface DamageService extends IService<Damage> {
- List<Damage> selectDamage(DateTime startTime, DateTime endTime, int type, int status, int workingProcedureId);
+ List<Damage> selectDamage(String startTime, String endTime, int type, int status, int workingProcedureId);
void submitDamage(DateTime startTime, DateTime endTime, int type, int status, int workingProcedureId);
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
index 8d32fb0..d3aa888 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -3,7 +3,6 @@
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mes.damage.entity.Damage;
import com.mes.damage.mapper.DamageMapper;
import com.mes.damage.service.DamageService;
@@ -12,9 +11,11 @@
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.work_assignment.entity.WorkAssignment;
import com.mes.work_assignment.mapper.WorkAssignmentMapper;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.List;
@@ -38,7 +39,7 @@
* 鏌ヨ鎶ュ伐淇℃伅
*/
@Override
- public List<Damage> selectDamage(DateTime startTime, DateTime endTime, int type, int status, int workingProcedureId){
+ public List<Damage> selectDamage(String startTime, String endTime, int type, int status, int workingProcedure){
LambdaQueryWrapper<Damage> damageSelectWrapper =new LambdaQueryWrapper<>();
damageSelectWrapper.between(Damage::getDamageTime,startTime,endTime);
if (type!=0){
@@ -47,8 +48,8 @@
if (status!=0){
damageSelectWrapper.eq(Damage::getStatus,status);
}
- if(workingProcedureId!=0){
- damageSelectWrapper.eq(Damage::getWorkingProcedure,workingProcedureId);
+ if(workingProcedure!=0){
+ damageSelectWrapper.eq(Damage::getWorkingProcedure,workingProcedure);
}
return baseMapper.selectList(damageSelectWrapper);
}
@@ -82,21 +83,21 @@
LambdaQueryWrapper<GlassInfo> glassInfoSelectWrapper=new LambdaQueryWrapper<>();
glassInfoSelectWrapper.eq(GlassInfo::getGlassId,damage.getGlassId());
GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoSelectWrapper);
+ BeanUtils.copyProperties(glassInfo, damage);
LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper=new LambdaQueryWrapper<>();
workAssignmentSelectWrapper
.eq(WorkAssignment::getLine,damage.getLine())
.eq(WorkAssignment::getWorkProcesses,damage.getWorkingProcedure());
WorkAssignment workAssignment=workAssignmentMapper.selectOne(workAssignmentSelectWrapper);
+
damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName());
damage.setDeviceName(workAssignment.getDeviceName());
-
- damage.setEngineerId(glassInfo.getEngineerId());
- damage.setTemperingLayoutId(glassInfo.getTemperingLayoutId());
damage.setProcessId(glassInfo.getFlowCardId());
damage.setOrderNumber(glassInfo.getGlassType());
damage.setTechnologyNumber(glassInfo.getLayer());
- damage.setDamageTime(LocalDateTime.now());
+ damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now()));
+ damage.setType(2);
baseMapper.insert(damage);
}
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/GlassInfoService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
index 6d78c74..b2a6af1 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -1,7 +1,8 @@
package com.mes.glassinfo.service;
-import com.mes.glassinfo.entity.GlassInfo;
import com.github.yulichang.base.MPJBaseService;
+import com.mes.glassinfo.entity.GlassInfo;
+
import java.util.List;
import java.util.Map;
@@ -24,16 +25,15 @@
*/
void saveGlassInfo(List<GlassInfo> glassinfo);
- /**
- * @param flowCardId
- * @return 鏍规嵁娴佺▼鍗″彿鏌ヨ鐜荤拑淇℃伅
- */
- int getGlassInfoCountByFlowCardId(String flowCardId);
+ int getGlassInfoCountByFlowCardId(String flowCardId, int layer);
/**
- * @return
- * 鏌ヨ鎵�鏈夊伐绋嬬姸鎬佷笉涓�300涓嶅悓娴佺▼鍗″彿
+ * @return 鏌ヨ鎵�鏈夊伐绋嬬姸鎬佷笉涓�300涓嶅悓娴佺▼鍗″彿
*/
List<Map<String, Object>> getFlowCardId();
+
+
+
+
}
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 6e35509..10ab730 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
@@ -11,9 +11,9 @@
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 javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -31,7 +31,7 @@
@Service
@Slf4j
public class GlassInfoServiceImpl extends MPJBaseServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
- @Autowired
+ @Resource
OptimizeProjectMapper optimizeProjectMapper;
@Override
@@ -42,7 +42,7 @@
optimizeGlassinfos = optimizeProjectMapper.selectJoinList(OptimizeGlassinfo.class, new MPJQueryWrapper<OptimizeProject>()
.select("b.process_id,t.glass_type,b.o_width,b.o_height,t.glass_thickness,b.order_sort,b.p_width,b.p_height,b.layer, b.total_layer, b.stock_id,b.heat_layout_id,b.heat_layout_sort,c.x_axis,c.y_axis,b.project_no,b.glass_id,c.rotate_angle")
.leftJoin("optimize_detail b on t.project_no=b.project_no")
- .leftJoin("optimize_heat_detail c on c.project_no=t.project_no and b.heat_layout_id=c.layout_id and b.heat_layout_sort=c.sort")
+ .leftJoin("optimize_heat_detail c on c.project_no=t.project_no and b.heat_layout_id=c.layout_id and b.heat_layout_sort=c.sort")
//.eq("t.state",100)
.eq("t.project_no", engineeringId));
}
@@ -89,9 +89,11 @@
@Override
- public int getGlassInfoCountByFlowCardId(String flowCardId) {
+ public int getGlassInfoCountByFlowCardId(String flowCardId, int layer) {
return baseMapper.selectCount(new QueryWrapper<GlassInfo>().lambda()
- .eq(GlassInfo::getFlowCardId, flowCardId));
+ .eq(GlassInfo::getFlowCardId, flowCardId)
+ .eq(GlassInfo::getLayer, layer));
+
}
@@ -112,20 +114,24 @@
new QueryWrapper<GlassInfo>()
.in("engineer_id", engineerIds)
.groupBy("flow_card_id")
+ .groupBy("layer")
);
// 杞崲涓� 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.put("flow_card_id", glassInfo.getFlowCardId() + " | " + glassInfo.getLayer());
// 濡傛灉杩樻湁鍏朵粬瀛楁闇�瑕佹坊鍔犲埌 map 涓紝鍦ㄨ繖閲岀户缁坊鍔�
return map;
})
.collect(Collectors.toList());
- log.info("result: {}", result);
+ log.info("result666: {}", result);
return result;
}
+
+
+
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java
index 59ed7a3..0f6b968 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java
@@ -1,10 +1,8 @@
package com.mes.pp.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.pp.entity.OptimizeDetail;
-import org.apache.ibatis.annotations.Mapper;
/**
* <p>
@@ -15,7 +13,6 @@
* @since 2024-04-16
*/
@DS("pp")
-@Mapper
public interface OptimizeDetailMapper extends MPJBaseMapper<OptimizeDetail> {
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java
new file mode 100644
index 0000000..20f9c71
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java
@@ -0,0 +1,18 @@
+package com.mes.pp.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.mes.pp.entity.OptimizeLayout;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@DS("pp")
+public interface OptimizeLayoutMapper extends MPJBaseMapper<OptimizeLayout> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
index 08c1911..2449b5f 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
@@ -1,11 +1,9 @@
package com.mes.pp.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.entity.request.OptimizeRequest;
-import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@@ -17,7 +15,6 @@
* @author zhoush
* @since 2024-04-16
*/
-@Mapper
@DS("pp")
public interface OptimizeProjectMapper extends MPJBaseMapper<OptimizeProject> {
List<OptimizeProject> saveProject(OptimizeRequest optimizeRequest);
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java
new file mode 100644
index 0000000..a4f81b7
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java
@@ -0,0 +1,16 @@
+package com.mes.pp.service;
+
+import com.github.yulichang.base.MPJBaseService;
+import com.mes.pp.entity.OptimizeLayout;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+public interface OptimizeLayoutService extends MPJBaseService<OptimizeLayout> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java
new file mode 100644
index 0000000..b4c2ce7
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java
@@ -0,0 +1,22 @@
+package com.mes.pp.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.mes.pp.entity.OptimizeLayout;
+import com.mes.pp.mapper.OptimizeLayoutMapper;
+import com.mes.pp.service.OptimizeLayoutService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Service
+@DS("pp")
+public class OptimizeLayoutServiceImpl extends MPJBaseServiceImpl<OptimizeLayoutMapper, OptimizeLayout> implements OptimizeLayoutService {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
index ef514ec..65122ab 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
@@ -15,7 +15,7 @@
* @author zhoush
* @since 2024-04-07
*/
-@DS("salve_hangzhoumes_1")
+@DS("salve_hangzhoumes")
public interface TemperingGlassInfoMapper extends MPJBaseMapper<TemperingGlassInfo> {
boolean saveBatch(@Param(value = "list") List<TemperingGlassInfo> list);
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java
index 11ce5dd..a67c8f2 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java
@@ -43,6 +43,8 @@
public void onOpen(Session session, @PathParam("username") String username) {
this.username = username;
this.session = session;
+ this.session.setMaxTextMessageBufferSize(12*1024*1024);
+ this.session.setMaxBinaryMessageBufferSize(12*1024*1024);
List<WebSocketServer> webSocketServers = sessionMap.get(username);
if (webSocketServers == null) {
ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
@@ -96,7 +98,7 @@
*
* @param message 瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅
*/
- @OnMessage
+ @OnMessage(maxMessageSize = 5242880)
public void onMessage(String message, Session session, @PathParam("username") String username) {
log.info("鏈嶅姟绔敹鍒扮敤鎴穟sername={}鐨勬秷鎭�:{}", username, message);
JSONObject obj = JSONUtil.parseObj(message);
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java
index 9836cf1..9b35277 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java
@@ -5,9 +5,11 @@
import com.mes.damage.service.DamageService;
import com.mes.utils.Result;
import com.mes.work_assignment.service.WorkAssignmentService;
+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;
@@ -20,15 +22,16 @@
* @author wu
* @since 2024-07-01
*/
+@Api(description = "鍊肩彮淇℃伅")
@RestController
-@RequestMapping("/work_assignment/work-assignment")
+@RequestMapping("/work_assignment")
public class WorkAssignmentController {
@Autowired
private WorkAssignmentService workAssignmentService;
- @ApiOperation("鎶ュ伐鏁版嵁鏌ヨ")
- @GetMapping("/selectWorkAssignment")
- public Result selectDamage(int line,String workingProcedure) {
+ @ApiOperation("鍊肩彮鏁版嵁鏌ヨ")
+ @PostMapping("/selectWorkAssignment")
+ public Result selectWorkAssignment(int line,String workingProcedure) {
return Result.build(200,"鏌ヨ鎴愬姛",workAssignmentService.selectWorkAssignment(line,workingProcedure));
}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java
index b1ef2d6..ae06d40 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java
@@ -2,7 +2,6 @@
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.menu.entity.SysMenu;
-import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@@ -14,7 +13,7 @@
* @author zhoush
* @since 2024-04-11
*/
-@Mapper
+
public interface SysMenuMapper extends MPJBaseMapper<SysMenu> {
List<String> selectPermsByUserId(long parseLong);
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java
index d9251c1..bf1bf6d 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java
@@ -2,7 +2,6 @@
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.role.entity.SysRole;
-import org.apache.ibatis.annotations.Mapper;
/**
* <p>
@@ -12,7 +11,6 @@
* @author zhoush
* @since 2024-04-11
*/
-@Mapper
public interface SysRoleMapper extends MPJBaseMapper<SysRole> {
}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java
index 451d7fe..0cfc7df 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.role.entity.SysRoleMenu;
-import org.apache.ibatis.annotations.Mapper;
/**
* <p>
@@ -12,7 +11,7 @@
* @author zhoush
* @since 2024-04-11
*/
-@Mapper
+
public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java
index f3e2f25..68d34de 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java
@@ -2,7 +2,6 @@
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.userinfo.entity.SysUser;
-import org.apache.ibatis.annotations.Mapper;
/**
* <p>
@@ -12,7 +11,7 @@
* @author zhoush
* @since 2024-04-11
*/
-@Mapper
+
public interface SysUserMapper extends MPJBaseMapper<SysUser> {
}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java
index cfd9a6f..697ca74 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java
@@ -2,7 +2,6 @@
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.userinfo.entity.SysUserRole;
-import org.apache.ibatis.annotations.Mapper;
/**
* <p>
@@ -12,7 +11,7 @@
* @author zhoush
* @since 2024-04-11
*/
-@Mapper
+
public interface SysUserRoleMapper extends MPJBaseMapper<SysUserRole> {
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
index 810e146..1d660e3 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -4,6 +4,7 @@
import lombok.EqualsAndHashCode;
import java.io.Serializable;
+import java.util.Date;
/**
* <p>
@@ -31,7 +32,8 @@
private Integer status;
+ private Integer line;
-
+ private Date time;
}
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 c4c802d..289db38 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
@@ -55,16 +55,16 @@
@PostMapping("/updateEdgStorageCage")
@ResponseBody
public Result updateEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
- boolean isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage);
- return Result.build(200,"銆愬惎鐢�/绂佺敤銆戞垚鍔�",1);
+ String isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage)?"鎴愬姛":"澶辫触";
+ return Result.build(200,"銆愬惎鐢�/绂佺敤銆�"+isSucess,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);
+ String isSucess=edgStorageCageService.updateEdgStorageCageDetails(edgStorageCageId,edgStorageCageDetails)?"鎴愬姛":"澶辫触";
+ return Result.build(200,"銆愭竻闄�/鏇存崲/缁戝畾銆�"+isSucess,1);
}
@ApiOperation("纾ㄨ竟妯″潡姹囨姤鐜荤拑鐘舵�� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愮牬鎹�/鎷胯蛋銆� ")
@@ -73,8 +73,8 @@
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);
+ String isSucess=edgStorageCageDetailsService.identWorn(edgStorageCageDetailsId,controlsId)?"鎴愬姛":"澶辫触";
+ return Result.build(200,"銆愮牬鎹�/鎷胯蛋銆�"+isSucess,1);
}
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java
index 2ab45f6..57b807d 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java
@@ -1,6 +1,7 @@
package com.mes.edgstoragecage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
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 f52662f..cd22d48 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
@@ -25,11 +25,6 @@
*/
EdgStorageCage selectNearestEmpty(int currentSlot, boolean flag);
- /**
- * 鏌ヨ绗煎唴绌烘牸
- * @return
- */
- List<EdgStorageCage> selectCacheEmpty();
/**
* 鏌ヨ绗煎唴鍑虹墖椤哄簭璇︽儏
@@ -45,11 +40,19 @@
/**
* 淇敼鐞嗙墖绗间俊鎭�
+ *
* @param edgStorageCage
* @return
*/
boolean updateEdgStorageCage(EdgStorageCage edgStorageCage);
+ /**
+ * 鏇存柊鐞嗙墖绗艰鎯呬俊鎭�
+ *
+ * @param edgStorageCageId
+ * @param edgStorageCageDetails
+ * @return
+ */
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 923a28b..481483a 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
@@ -7,6 +7,7 @@
import com.github.yulichang.query.MPJLambdaQueryWrapper;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.mes.common.config.Const;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
@@ -24,6 +25,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.print.attribute.standard.MediaSize;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -90,7 +92,8 @@
public List<Map<String, Object>> selectCutTerritory() {
List<UpPattenUsage> upPattenUsage = upPattenUsageMapper.selectList(new MPJLambdaWrapper<UpPattenUsage>()
.selectAll(UpPattenUsage.class)
- .eq(UpPattenUsage::getState, 1).or().eq(UpPattenUsage::getState, 0).orderByDesc(UpPattenUsage::getState));
+ .orderByDesc(UpPattenUsage::getState)
+ .orderByDesc(UpPattenUsage::getId));
if (!upPattenUsage.isEmpty()) {
UpPattenUsage upPattenUsage1 = upPattenUsage.get(0);
List<Map<String, Object>> cutTerritorys=optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
@@ -107,7 +110,8 @@
for (Map<String, Object> cutTerritory : cutTerritorys) {
EdgStorageCageDetails edgStorageCageDetails=baseMapper.selectOne(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
.selectAll(EdgStorageCageDetails.class)
- .eq(EdgStorageCageDetails::getGlassId, cutTerritory.get("glass_id")));
+ .eq(EdgStorageCageDetails::getGlassId, cutTerritory.get("glass_id"))
+ .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN));
// log.info("鍐呭锛歿}-------{}",cutTerritory,edgStorageCageDetails);
if(edgStorageCageDetails!=null){
cutTerritory.put("glass_state",edgStorageCageDetails.getState());
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 01d94b9..f7600e6 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
@@ -13,9 +13,9 @@
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@@ -31,9 +31,9 @@
@Service
public class EdgStorageCageServiceImpl extends MPJBaseServiceImpl<EdgStorageCageMapper, EdgStorageCage> implements EdgStorageCageService {
- @Autowired
+ @Resource
EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
- @Autowired
+ @Resource
UpPattenUsageMapper upPattenUsageMapper;
@Override
@@ -44,6 +44,7 @@
.eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)
.eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN))
.isNull(EdgStorageCageDetails::getSlot)
+ .eq(EdgStorageCage::getEnableState, Const.SLOT_ON)
.last("order by abs(t.slot - " + currentSlot + ") asc limit 2")
);
if (flag && CollectionUtil.isNotEmpty(emptyList)) {
@@ -53,23 +54,6 @@
return null;
}
return emptyList.get(0);
- }
-
- /**
- * 鏌ヨ绗煎唴绌烘牸
- *
- * @return
- */
- @Override
- public List<EdgStorageCage> selectCacheEmpty() {
- return baseMapper.selectJoinList(EdgStorageCage.class, new MPJLambdaWrapper<EdgStorageCage>()
- .selectAll(EdgStorageCage.class)
- .leftJoin(EdgStorageCageDetails.class, on -> on
- .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)
- .eq(EdgStorageCageDetails::getState, "100"))
- .isNull(EdgStorageCageDetails::getSlot)
- .last("order by abs(t.slot - 4) asc")
- );
}
/**
@@ -122,9 +106,14 @@
@Override
public boolean updateEdgStorageCage(EdgStorageCage edgStorageCage) {
EdgStorageCage edgItem = baseMapper.selectById(edgStorageCage.getId());
- edgItem.setEnableState(edgStorageCage.getEnableState());
- baseMapper.updateById(edgItem);
- return true;
+ if(edgItem!=null){
+ edgItem.setEnableState(edgStorageCage.getEnableState());
+ baseMapper.updateById(edgItem);
+ log.info("鍗у缂撳瓨锛氥�愬惎鐢�/绂佺敤銆� 鍙傛暟:{} 缁撴灉:鎴愬姛",edgStorageCage);
+ return true;
+ }
+ log.info("鍗у缂撳瓨锛氥�愬惎鐢�/绂佺敤銆� 鍙傛暟:{} 缁撴灉:澶辫触",edgStorageCage);
+ return false;
}
/**
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 926922a..98206a6 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
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.query.MPJQueryWrapper;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.S7object;
import com.mes.common.config.Const;
import com.mes.device.PlcParameterObject;
@@ -66,14 +67,22 @@
@Value("${mes.sequence.order}")
private boolean sequenceOrder;
- @Value("${mes.firstLength}")
+ @Value("${mes.max.firstLength}")
private String firstLength;
- @Value("${mes.secondLength}")
+ @Value("${mes.max.secondLength}")
private String secondLength;
+
+ @Value("${mes.min.firstLength}")
+ private String minFirstLength;
+
+ @Value("${mes.min.secondLength}")
+ private String minSecondLength;
@Scheduled(fixedDelay = 1000)
public void plcHomeEdgTask() {
+ Date startDate = new Date();
+ log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String taskRequestTypeValue = plcParameterObject.getPlcParameter("A06_request_word").getValue();
String glassIdeValue = plcParameterObject.getPlcParameter("A05_scanning_ID").getValue();
@@ -118,27 +127,8 @@
inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
}
}
- }
-
- public void plcToHomeEdgTask() {
- // log.info("鎺ㄦ暟鎹�");
- // jsonObject.append("params", new short[] { 30, 40, });
-// ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
-// if (sendwServer != null) {
-// for (WebSocketServer webserver : sendwServer) {
-// webserver.sendMessage(jsonObject.toString());
-// if (webserver != null) {
-//
-// List<String> messages = webserver.getMessages();
-//
-// if (!messages.isEmpty()) {
-// // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
-// webserver.clearMessages();
-// }
-// }
-//
-// }
-// }
+ Date endDate = new Date();
+ log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
}
/**
@@ -235,7 +225,7 @@
// 1.2.3銆佹寜鐓у嚭鐗囦俊鎭幓璇︽儏琛ㄦ煡璇㈡牸瀛愬湪绗煎瓙閲岄潰鍓╀綑鐩稿悓灏哄鐨勭幓鐠冩暟鎹笖浠ョ増鍥緄d銆佺増搴忓崌搴忔帓搴� 鍙栫涓�鍧楃幓鐠冨嚭鐗�
// 2銆佸鏋滄病鏈夊巻鍙插嚭鐗囦换鍔�
// 2.1銆佸嚭褰撳墠鐗堝浘id鏈�灏忕増搴忔渶灏忕殑鐜荤拑锛堥棶棰橈細涓ゆ潯绾块兘娌℃湁鍘嗗彶浠诲姟锛屽嚭鐗囨椂涓ゆ潯绾跨殑鐜荤拑灏哄鐩稿悓锛屾槸鍚︽壘灏哄涓嶅悓鐨勶級
- if (out08Glassstate == 2 && out10Glassstate == 2) {
+ if ((out08Glassstate == 2 && out10Glassstate == 2) || (out08Glassstate == 0 && out10Glassstate == 0)) {
log.info("A09銆丄10涓簕},{}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖");
return Boolean.FALSE;
}
@@ -257,21 +247,26 @@
EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
endcell = queryLineByGlassInfo(a09EdgGlass, a10EdgGlass, glassInfo, out08Glassstate, out10Glassstate);
} else {
- //鍒ゆ柇涓ゆ潯绾挎槸鍚﹂兘绌洪棽
- endcell = out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+ //鎸夌収鐘舵�佸垽鏂袱鏉$嚎璧伴偅鏉$嚎
+ endcell = computerLineByState(out08Glassstate, out10Glassstate);
- if ((out08Glassstate == 0 && out10Glassstate == 0) || (out08Glassstate == 1 && out10Glassstate == 1)) {
+ if (out08Glassstate == 1 && out10Glassstate == 1) {
EdgStorageCageDetails a09EdgGlass = queryGlassByTaskCache(Const.A09_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
if (a09EdgGlass == null && a10EdgGlass == null) {
MPJQueryWrapper<EdgStorageCageDetails> wrapper = new MPJQueryWrapper<>();
wrapper.select("count(t.glass_id), t.width, t.height")
.eq("t.state", Const.GLASS_STATE_IN)
+ .inSql("t.slot", "select slot from edg_storage_cage where enable_state = " + Const.SLOT_ON)
.groupBy("t.width, t.height");
if (endcell == Const.A10_OUT_TARGET_POSITION) {
wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
"case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
"on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
+ } else {
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
+ "on t.glass_id = t1.glass_id and (t1.first_length >=" + minFirstLength + " and t1.second_length>=" + minSecondLength + ") ");
}
wrapper.last("order by count(t.glass_id) desc limit 2");
List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
@@ -280,9 +275,13 @@
.selectAll(GlassInfo.class).eq("t.glass_id", glassId);
// .inSql("t.engineer_id", "select engineer_id from engineering where state = 1");
if (endcell == Const.A10_OUT_TARGET_POSITION) {
- queryWrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
- "case when width < height then width else height end as second_length from glass_info) t1 " +
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
"on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
+ } else {
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
+ "on t.glass_id = t1.glass_id and (t1.first_length >=" + minFirstLength + " and t1.second_length>=" + minSecondLength + ") ");
}
GlassInfo one = glassInfoService.getOne(queryWrapper);
if (one != null) {
@@ -354,8 +353,9 @@
glassList.add(resultDetails);
}
//鑾峰彇绗煎唴鐜荤拑
- List<EdgStorageCageDetails> details = edgStorageCageDetailsService.list(new LambdaQueryWrapper<EdgStorageCageDetails>()
- .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN));
+ List<EdgStorageCageDetails> details = edgStorageCageDetailsService.selectJoinList(EdgStorageCageDetails.class, new MPJLambdaWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class)
+ .leftJoin(EdgStorageCage.class, on -> on.eq(EdgStorageCage::getSlot, EdgStorageCageDetails::getSlot).eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN))
+ .eq(EdgStorageCage::getEnableState, Const.SLOT_ON));
glassList.addAll(details);
return glassList;
@@ -366,19 +366,20 @@
*
* @return
*/
- private boolean queryMaxMinDiff(int threshold) {
+ public boolean queryMaxMinDiff(int threshold) {
//鑾峰彇绗煎瓙鍐呮渶澶х増鍥緄d鍜屾渶灏忕増鍥緄d鎻掑�硷紝鍒ゆ柇鏄惁澶т簬闃堝�硷紝澶т簬闃堝�肩洿鎺ュ嚭鏈�灏忕増鍥剧幓鐠�
QueryWrapper<EdgStorageCageDetails> queryWrapper = new QueryWrapper<>();
queryWrapper.select("max(tempering_layout_id)-min(tempering_layout_id) as diff")
- .eq("state", Const.GLASS_STATE_IN);
+ .eq("state", Const.GLASS_STATE_IN)
+ .inSql("slot", "select slot from edg_storage_cage where enable_state = " + Const.SLOT_ON);
List<Object> list = edgStorageCageDetailsService.listObjs(queryWrapper);
+ //鑾峰彇绗煎唴鐜荤拑鐗堝浘宸�兼槸鍚﹀ぇ浜庨槇鍊�
if (CollectionUtil.isNotEmpty(list)) {
- Long diff = (Long) list.get(0);
+ int diff = (int) list.get(0);
return diff > threshold;
} else {
return Boolean.FALSE;
}
-
}
/**
@@ -393,6 +394,7 @@
.eq(EdgStorageCageDetails::getState, 100)
.eq(width != 0, EdgStorageCageDetails::getWidth, width)
.eq(height != 0, EdgStorageCageDetails::getHeight, height)
+ .inSql(EdgStorageCageDetails::getSlot, "select slot from edg_storage_cage where enable_state = " + Const.SLOT_ON)
.orderByAsc(EdgStorageCageDetails::getTemperingLayoutId)
.orderBy(Boolean.TRUE, sequenceOrder, EdgStorageCageDetails::getTemperingFeedSequence)
.last("limit 1"));
@@ -428,6 +430,7 @@
.eq("t.glass_id", taskCache.getGlassId())
.ne("t1.glass_id", taskCache.getGlassId())
.eq("t1.state", Const.GLASS_STATE_IN)
+ .inSql("t1.slot", "select slot from edg_storage_cage where enable_state = " + Const.SLOT_ON)
.orderByAsc("t1.tempering_layout_id")
.orderBy(Boolean.TRUE, sequenceOrder, "t1.tempering_feed_sequence");
List<EdgStorageCageDetails> details = edgStorageCageDetailsService.selectJoinList(EdgStorageCageDetails.class, mpjLambdaWrapper);
@@ -451,7 +454,7 @@
return null;
}
return edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getGlassId, taskCache.getGlassId())
-// .inSql(EdgStorageCageDetails::getEngineerId, "select engineer_id from engineering where state = 1")
+ .inSql(EdgStorageCageDetails::getSlot, "select slot from edg_storage_cage where enable_state = " + Const.SLOT_ON)
.last(" limit 1 "));
}
@@ -467,18 +470,20 @@
*/
private Integer queryLineByGlassInfo(EdgStorageCageDetails a08EdgStorageCageDetails, EdgStorageCageDetails a10EdgStorageCageDetails,
EdgStorageCageDetails glassInfo, int out08Glassstate, int out10Glassstate) {
- boolean b08 = a08EdgStorageCageDetails != null && a08EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
- && a08EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
- boolean b10 = a10EdgStorageCageDetails != null && a10EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
- && a10EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
//瀛樺湪鍑虹墖浠诲姟 07涓虹┖
- if (b10) {
- return out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+ if (out08Glassstate == 1 && out10Glassstate == 1) {
+ boolean b08 = a08EdgStorageCageDetails != null && a08EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
+ && a08EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
+ boolean b10 = a10EdgStorageCageDetails != null && a10EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
+ && a10EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
+ if (b08) {
+ return Const.A09_OUT_TARGET_POSITION;
+ }
+ if (b10) {
+ return Const.A10_OUT_TARGET_POSITION;
+ }
}
- if (b08) {
- return out08Glassstate == 2 ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
- }
- return out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+ return computerLineByState(out08Glassstate, out10Glassstate);
}
/**
@@ -493,11 +498,16 @@
MPJQueryWrapper<EdgStorageCageDetails> wrapper = new MPJQueryWrapper<>();
wrapper.select("count(t.glass_id) as count, t.width, t.height")
.eq("t.state", Const.GLASS_STATE_IN)
+ .inSql("t.slot", "select slot from edg_storage_cage where enable_state = " + Const.SLOT_ON)
.groupBy("t.width, t.height");
- if (endcell == Const.A09_OUT_TARGET_POSITION) {
+ if (endcell == Const.A10_OUT_TARGET_POSITION) {
wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
"case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
"on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
+ } else {
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
+ "on t.glass_id = t1.glass_id and (t1.first_length >=" + minFirstLength + " and t1.second_length>=" + minSecondLength + ") ");
}
wrapper.last("order by count(t.glass_id) desc limit 2");
List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
@@ -587,7 +597,7 @@
boolean taskCacheStatus = saveTaskCache(glassInfo.getGlassId(), glassInfo.getSlot(), endcell, Const.GLASS_CACHE_TYPE_OUT);
log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus);
}
- boolean glassSizeStatus = saveGlassSize(glassInfo);
+ boolean glassSizeStatus = saveGlassSize(glassInfo, endcell);
log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
@@ -620,87 +630,59 @@
* 娣诲姞鐞嗙墖绗间换鍔�
*
* @param glassInfo
+ * @param endcell
* @return
*/
- private boolean saveGlassSize(EdgStorageCageDetails glassInfo) {
+ private boolean saveGlassSize(EdgStorageCageDetails glassInfo, int endcell) {
EdgGlassTaskInfo edgGlassTaskInfo = new EdgGlassTaskInfo();
BeanUtils.copyProperties(glassInfo, edgGlassTaskInfo);
edgGlassTaskInfo.setHeight((int) (glassInfo.getHeight() * ratio));
edgGlassTaskInfo.setWidth((int) (glassInfo.getWidth() * ratio));
edgGlassTaskInfo.setThickness((int) (glassInfo.getThickness() * ratio));
edgGlassTaskInfo.setStatus(Const.EDG_GLASS_BEFORE);
+ edgGlassTaskInfo.setLine(endcell);
+ edgGlassTaskInfo.setTime(new Date());
return edgGlassTaskInfoService.save(edgGlassTaskInfo);
}
/**
- * 褰撳墠鍒囧壊鐗堝浘淇℃伅
+ * 璁$畻鍑虹墖绾胯矾
+ * 宸叉帓闄ら兘涓�2 閮戒负0 鐨勬儏鍐�
*
- * @param
+ * @param out08Glassstate
+ * @param out10Glassstate
* @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");
- }
+ private int computerLineByState(int out08Glassstate, int out10Glassstate) {
+ if (out08Glassstate == 0) {
+ if (out10Glassstate == 2) {
+ return Const.A09_OUT_TARGET_POSITION;
+ } else {
+ return Const.A10_OUT_TARGET_POSITION;
}
+ } else if (out08Glassstate == 1) {
+ return Const.A09_OUT_TARGET_POSITION;
+ } else {
+ return Const.A10_OUT_TARGET_POSITION;
}
}
- /**
- * 纾ㄨ竟浠诲姟
- *
- * @param
- * @return
- */
@Scheduled(fixedDelay = 1000)
- public void selectEdgTask() {
+ public void CacheGlassTasks() {
JSONObject jsonObject = new JSONObject();
+ //璇嗗埆鎽嗙墖
+ List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
+ jsonObject.append("currentCutTerritory", currentCutTerritorys);
+ //纾ㄨ竟淇℃伅
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) {
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
index 39fd32a..1abe8aa 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@
spring:
profiles:
- active: cz
+ active: prod
application:
name: cacheGlass
mybatis-plus:
@@ -13,8 +13,12 @@
mes:
threshold: 3
ratio: 10
- firstLength: 3500
- secondLength: 2500
+ max:
+ firstLength: 3500
+ secondLength: 2500
+ min:
+ firstLength: 600
+ secondLength: 350
sequence:
order: false
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 bca9539..deed23a 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
@@ -41,14 +41,14 @@
@PostMapping("/insertBigStorageCageDetails")
public Result insertBigStorageCageDetails(@RequestBody BigStorageCageDetails bigStorageCageDetails) {
bigStorageCageDetailsService.insertBigStorageCageDetails(bigStorageCageDetails);
- return Result.build(200,"娣诲姞鎴愬姛",bigStorageCageService.querybigStorageCageDetail(0));
+ return Result.build(200,"娣诲姞鎴愬姛",bigStorageCageService.querybigStorageCageDetail());
}
@ApiOperation("鐞嗙墖绗艰鎯呭垹闄�")
@PostMapping("/deleteBigStorageCageDetails")
public Result deleteBigStorageCageDetails(@RequestBody BigStorageCageDetails bigStorageCageDetails) {
bigStorageCageDetailsService.deleteBigStorageCageDetails(bigStorageCageDetails);
- return Result.build(200,"鍒犻櫎鎴愬姛",bigStorageCageService.querybigStorageCageDetail(0));
+ return Result.build(200,"鍒犻櫎鎴愬姛",bigStorageCageService.querybigStorageCageDetail());
}
@ApiOperation("鐞嗙墖绗间换鍔$牬鎹�0/鎷胯蛋1")
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
index 9b6ecc4..5a79a88 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
@@ -46,15 +46,26 @@
private Integer slot;
/**
+ * 鏍呮牸鍙�
+ */
+ @ApiModelProperty(value = "鏈�灏忓帤搴�", position = 5)
+ private Integer minThickness;
+ /**
+ * 鏍呮牸鍙�
+ */
+ @ApiModelProperty(value = "鏈�澶у帤搴�", position = 6)
+ private Integer maxThickness;
+
+ /**
* 鍚敤鐘舵��
*/
- @ApiModelProperty(value = "鍚敤鐘舵��", position = 5)
+ @ApiModelProperty(value = "鍚敤鐘舵��", position = 7)
private Integer enableState;
/**
* 鍓╀綑瀹藉害
*/
- @ApiModelProperty(value = "鍓╀綑瀹藉害", position = 6)
+ @ApiModelProperty(value = "鍓╀綑瀹藉害", position = 8)
private Integer remainWidth;
@ApiModelProperty(hidden = true)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
index da14719..495b06a 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
@@ -24,7 +24,7 @@
*
* @return
*/
- TemperingLayoutDTO temperingIsAll();
+ List<TemperingLayoutDTO> temperingIsAll();
/**
* 鑾峰彇姣忎釜閽㈠寲鐗堝浘鍗犵敤鐨勬牸瀛愭暟閲�
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 83d86fe..5fbc212 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
@@ -47,7 +47,7 @@
*
* @return
*/
- TemperingLayoutDTO temperingIsAll();
+ List<TemperingLayoutDTO> temperingIsAll();
/**
* 鑾峰彇姣忎釜閽㈠寲鐗堝浘鍗犵敤鐨勬牸瀛愭暟閲�
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 3d204b7..ab90c99 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
@@ -24,9 +24,11 @@
boolean outGlass();
- List<BigStorageCage> querybigStorageCageDetail(int deviceId);
+ List<BigStorageCage> querybigStorageCageDetailAll();
+
+ Map<Integer, List<BigStorageCage>> querybigStorageCageDetail();
List<Map<String, Object>> selectBigStorageCageUsage();
- void updateStorageCageDisabled(int slot,int enableState);
+ void updateStorageCageDisabled(int slot, int enableState);
}
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 aa3f45e..96d4e3b 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
@@ -27,6 +27,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -59,51 +60,80 @@
@Value("${mes.slotWidth}")
private Integer slotWidth;
- @Value("${mes.galssGap}")
- private Integer galssGap;
+ @Value("${mes.glassGap}")
+ private Integer glassGap;
/**
* 鏌ヨ杩�/鍑虹墖浠诲姟
*/
@Override
public List<BigStorageCageDetails> selectTask(int taskType) {
- return null;
-// if (taskType == 1) {
-// //杩涚墖浠诲姟鏁版嵁
-// LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>();
-// feedWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_IN);
-// List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper);
-//
-// 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));
-//
-// 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, Const.BIG_STORAGE_OUT);
-// List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper);
-//
-// 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));
-// for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
-// BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId());
-// bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask);
-// }
-// return bigStorageCageDetailsList;
-// }
+ if (taskType == 1) {
+ //杩涚墖浠诲姟鏁版嵁
+ LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>();
+ feedWrapper.eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN);
+ List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper);
+
+ LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskWrapper = new LambdaQueryWrapper<>();
+ feedTaskWrapper
+ .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+ .isNotNull(BigStorageCageFeedTask::getTargetSlot);
+ List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper);
+
+ Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
+ .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
+ Iterator<BigStorageCageDetails> iterator = bigStorageCageDetailsList.iterator();
+ while (iterator.hasNext()) {
+ BigStorageCageDetails bigStorageCageDetails = iterator.next();
+ BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
+ if (bigStorageCageDetails.getBigStorageCageFeedTask() == null) {
+ iterator.remove();
+ }
+ }
+ LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskNoTargetWrapper = new LambdaQueryWrapper<>();
+ feedTaskNoTargetWrapper
+ .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+ .isNull(BigStorageCageFeedTask::getTargetSlot);
+ List<BigStorageCageFeedTask> bigStorageCageFeedTaskNoTargetList = bigStorageCageFeedTaskMapper.selectList(feedTaskNoTargetWrapper);
+ for (BigStorageCageFeedTask bigStorageCageFeedTask : bigStorageCageFeedTaskNoTargetList
+ ) {
+ BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
+ LambdaQueryWrapper<GlassInfo> glassInfoWrapper = new LambdaQueryWrapper<>();
+ glassInfoWrapper.eq(GlassInfo::getGlassId, bigStorageCageFeedTask.getGlassId());
+ GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoWrapper);
+ BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
+ bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
+ bigStorageCageDetailsList.add(bigStorageCageDetails);
+ }
+ return bigStorageCageDetailsList;
+ } else {
+ //鍑虹墖浠诲姟鏁版嵁
+ LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>();
+ outWrapper.eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN);
+ List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper);
+
+ 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));
+ for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+ BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask);
+ }
+ Iterator<BigStorageCageDetails> iterator = bigStorageCageDetailsList.iterator();
+ while (iterator.hasNext()) {
+ BigStorageCageDetails bigStorageCageDetails = iterator.next();
+ BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask);
+ if (bigStorageCageDetails.getBigStorageCageOutTask() == null) {
+ iterator.remove();
+ }
+ }
+ return bigStorageCageDetailsList;
+ }
}
/**
@@ -131,7 +161,7 @@
for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
) {
if (bigStorageCageDetails.getBigStorageCageFeedTask().getTaskState() == 0) {
- carWidth = carWidth - bigStorageCageDetails.getWidth() - galssGap;
+ carWidth = carWidth - bigStorageCageDetails.getWidth() - glassGap;
}
}
return carWidth;
@@ -187,7 +217,7 @@
if (glassInfo != null) {
BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
bigStorageCageDetails.setState(1);
- bigStorageCageDetails.setGap(galssGap);
+ bigStorageCageDetails.setGap(glassGap);
}
List<BigStorageCageDetails> bigStorageCageDetailsList = new ArrayList<>();
bigStorageCageDetailsList.add(bigStorageCageDetails);
@@ -256,9 +286,12 @@
bigStorageDTO.setSlot(bigStorageCage.getSlot());
return bigStorageDTO;
}
+ //todo:鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨
bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
.eq(BigStorageCage::getRemainWidth, slotWidth)
.eq(BigStorageCage::getEnableState, Const.SLOT_ON)
+ .gt(BigStorageCage::getMaxThickness, glassInfo.getThickness())
+ .orderByAsc(BigStorageCage::getDeviceId)
.last("limit 1"));
Assert.isTrue(null != bigStorageCage, "娌℃湁绌轰綑鐨勭瀛愬瓨鏀剧幓鐠�");
bigStorageDTO = new BigStorageDTO();
@@ -268,7 +301,7 @@
}
@Override
- public TemperingLayoutDTO temperingIsAll() {
+ public List<TemperingLayoutDTO> temperingIsAll() {
return baseMapper.temperingIsAll();
}
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 db3ca3a..baa9974 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
@@ -4,7 +4,6 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.bigstorage.entity.BigStorageCage;
@@ -18,13 +17,10 @@
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import lombok.extern.slf4j.Slf4j;
-import com.mes.glassinfo.entity.GlassInfo;
import org.springframework.beans.BeanUtils;
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;
import java.util.stream.Collectors;
@@ -58,9 +54,9 @@
public BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) {
BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
//鐜荤拑涓嶉挗鍖栨椂
- if(glassInfo.getTemperingLayoutId()==null){
+ if (glassInfo.getTemperingLayoutId() == null) {
- BigStorageCage bigStorageCage=baseMapper.selectJoinOne(BigStorageCage.class, new MPJLambdaWrapper<BigStorageCage>()
+ BigStorageCage bigStorageCage = baseMapper.selectJoinOne(BigStorageCage.class, new MPJLambdaWrapper<BigStorageCage>()
.selectAll(BigStorageCage.class)
.leftJoin(BigStorageCageDetails.class, on -> on
.eq(BigStorageCage::getDeviceId, BigStorageCageDetails::getDeviceId)
@@ -71,15 +67,15 @@
.last("limit 1")
);
- if(bigStorageCage.getSlot()!=null){
+ if (bigStorageCage.getSlot() != null) {
bigStorageCageDetails.setSlot(bigStorageCage.getSlot());
bigStorageCageDetails.setDeviceId(bigStorageCage.getDeviceId());
}
- }else{
+ } else {
//鐜荤拑閽㈠寲鏃�
- BigStorageCage bigStorageCage=new BigStorageCage();
+ BigStorageCage bigStorageCage = new BigStorageCage();
- bigStorageCage=baseMapper.selectJoinOne(BigStorageCage.class, new MPJLambdaWrapper<BigStorageCage>()
+ bigStorageCage = baseMapper.selectJoinOne(BigStorageCage.class, new MPJLambdaWrapper<BigStorageCage>()
.selectAll(BigStorageCage.class)
.leftJoin(BigStorageCageDetails.class, on -> on
.eq(BigStorageCage::getDeviceId, BigStorageCageDetails::getDeviceId)
@@ -88,16 +84,16 @@
.eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() - 1)
.gt(BigStorageCage::getRemainWidth, glassInfo.getWidth())
);
- log.info("1銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠�"+bigStorageCage);
+ log.info("1銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠�" + bigStorageCage);
- log.info("2銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓嶄负绌烘椂"+bigStorageCage.getSlot());
+ log.info("2銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓嶄负绌烘椂" + bigStorageCage.getSlot());
if (bigStorageCage.getSlot() != null) {
bigStorageCageDetails.setSlot(bigStorageCage.getSlot());
bigStorageCageDetails.setDeviceId(bigStorageCage.getDeviceId());
} else {
log.info("3銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓虹┖鏃惰幏鍙栧綋鍓嶇幓鐠冪増鍥緄d鏄惁瀛樺湪鐞嗙墖绗煎唴");
- bigStorageCage=baseMapper.selectJoinOne(BigStorageCage.class, new MPJLambdaWrapper<BigStorageCage>()
+ bigStorageCage = baseMapper.selectJoinOne(BigStorageCage.class, new MPJLambdaWrapper<BigStorageCage>()
.selectAll(BigStorageCage.class)
.leftJoin(BigStorageCageDetails.class, on -> on
.eq(BigStorageCage::getDeviceId, BigStorageCageDetails::getDeviceId)
@@ -106,12 +102,12 @@
.gt(BigStorageCage::getRemainWidth, glassInfo.getWidth())
);
- if(bigStorageCage != null){
+ if (bigStorageCage != null) {
log.info("4銆佽幏鍙栫瀛愬唴閫傚悎鐨勬牸瀛�");
- BigStorageCage bigStorageCages=bigStorageCageSlot(bigStorageCage.getDeviceId());
+ BigStorageCage bigStorageCages = bigStorageCageSlot(bigStorageCage.getDeviceId());
bigStorageCageDetails.setSlot(bigStorageCages.getSlot());
bigStorageCageDetails.setDeviceId(bigStorageCages.getDeviceId());
- }else{
+ } else {
log.info("5銆佽幏鍙栨瘡涓瀛愮増鍥緄d鐨勪釜鏁�");
QueryWrapper<BigStorageCageDetails> queryWrapper = new QueryWrapper<>();
queryWrapper.select("a.device_id", "COUNT(DISTINCT b.tempering_layout_id) AS layoutCount")
@@ -119,22 +115,22 @@
.apply("LEFT JOIN (SELECT device_id, tempering_layout_id FROM big_storage_cage_details) b ON a.device_id = b.device_id AND a.slot = b.slot")
.orderByAsc("layoutCount")
.orderByAsc("a.device_id");
- List<Map<String, Object>> bigStorageCageDetailsCount= bigStorageCageDetailsMapper.selectMaps(queryWrapper);
+ List<Map<String, Object>> bigStorageCageDetailsCount = bigStorageCageDetailsMapper.selectMaps(queryWrapper);
log.info("5銆佹煡璇㈢瀛愬唴鏄惁鏈夊悎閫傜殑鏍煎瓙");
- boolean found=false;
+ boolean found = false;
for (Map<String, Object> map : bigStorageCageDetailsCount) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
int deviceId = Integer.parseInt(entry.getKey());
- BigStorageCage bigStorageCages=bigStorageCageSlot(deviceId);
- if(bigStorageCage!=null){
+ BigStorageCage bigStorageCages = bigStorageCageSlot(deviceId);
+ if (bigStorageCage != null) {
bigStorageCageDetails.setSlot(bigStorageCages.getSlot());
bigStorageCageDetails.setDeviceId(deviceId);
- found=true;
+ found = true;
break;
}
}
- if(found){
+ if (found) {
break;
}
}
@@ -143,40 +139,39 @@
}
-
if (bigStorageCageDetails.getSlot() != null) {
log.info("6銆佸綋鎵惧埌鍚堥�傜殑鏍煎瓙鏃舵坊鍔犵幓鐠冨埌绗煎瓙琛�");
bigStorageCageDetails.setState(0);
bigStorageCageDetailsMapper.insert(bigStorageCageDetails);
- updateRemainWidth(bigStorageCageDetails.getSlot()) ;
+ updateRemainWidth(bigStorageCageDetails.getSlot());
}
return bigStorageCageDetails;
}
//鑾峰彇绗煎瓙鍐呯殑绌烘牸瀛�
private BigStorageCage bigStorageCageSlot(Integer deviceId) {
- LambdaQueryWrapper<BigStorageCage> bigStorageCageWrapper=new LambdaQueryWrapper<>();
- bigStorageCageWrapper
- .eq(BigStorageCage::getRemainWidth,"5000")
- .eq(BigStorageCage::getEnableState,"0")
- .eq(BigStorageCage::getDeviceId,deviceId)
- .orderByAsc(BigStorageCage::getSlot)
- .last("LIMIT 1");
- return bigStorageCageMapper.selectOne(bigStorageCageWrapper);
+ LambdaQueryWrapper<BigStorageCage> bigStorageCageWrapper = new LambdaQueryWrapper<>();
+ bigStorageCageWrapper
+ .eq(BigStorageCage::getRemainWidth, "5000")
+ .eq(BigStorageCage::getEnableState, "0")
+ .eq(BigStorageCage::getDeviceId, deviceId)
+ .orderByAsc(BigStorageCage::getSlot)
+ .last("LIMIT 1");
+ return bigStorageCageMapper.selectOne(bigStorageCageWrapper);
}
//鍑虹墖閫昏緫
@Override
public boolean outGlass() {
- LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper=new LambdaQueryWrapper<>();
- temperingGlassInfoWrapper.eq(TemperingGlassInfo::getState,-1);
+ LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper = new LambdaQueryWrapper<>();
+ temperingGlassInfoWrapper.eq(TemperingGlassInfo::getState, -1);
List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list(temperingGlassInfoWrapper);
- log.info("1銆佹煡璇㈤挗鍖栧皬鐗囦换鍔¤〃鏄惁鏈夊緟鍑虹幓鐠�"+temperingGlassInfoList.size());
- if(temperingGlassInfoList.size()>0){
+ log.info("1銆佹煡璇㈤挗鍖栧皬鐗囦换鍔¤〃鏄惁鏈夊緟鍑虹幓鐠�" + temperingGlassInfoList.size());
+ if (temperingGlassInfoList.size() > 0) {
temperingGlassInfoService.addOutTask(temperingGlassInfoList);
log.info("2銆佹坊鍔犱换鍔″埌浠诲姟琛�");
return true;
- }else{
+ } else {
log.info("3銆佹病鏈夊彲鍑虹殑鐜荤拑鏃惰幏鍙栨槸鍚︽湁灏忕墖鍒伴綈鐨勭増鍥�");
QueryWrapper<BigStorageCageDetails> wrapper = Wrappers.query();
@@ -184,28 +179,28 @@
.groupBy("tempering_layout_id");
List<Map<String, Object>> temperingLayoutIdList = bigStorageCageDetailsMapper.selectMaps(wrapper);
- boolean key=false;
+ boolean key = false;
for (Map<String, Object> row : temperingLayoutIdList) {
for (Map.Entry<String, Object> entry : row.entrySet()) {
String temperingId = entry.getKey();
Object temperingNo = entry.getValue();
- LambdaQueryWrapper<GlassInfo> glassInfoWrapper=new LambdaQueryWrapper<>();
- glassInfoWrapper.eq(GlassInfo::getTemperingLayoutId,temperingId)
- .orderByDesc(GlassInfo::getTemperingFeedSequence);
- List<GlassInfo> glassInfoList= glassInfoService.list(glassInfoWrapper);
- if(glassInfoList.size()==Integer.parseInt(temperingNo.toString())){
- for (GlassInfo glassInfo:glassInfoList
- ) {
+ LambdaQueryWrapper<GlassInfo> glassInfoWrapper = new LambdaQueryWrapper<>();
+ glassInfoWrapper.eq(GlassInfo::getTemperingLayoutId, temperingId)
+ .orderByDesc(GlassInfo::getTemperingFeedSequence);
+ List<GlassInfo> glassInfoList = glassInfoService.list(glassInfoWrapper);
+ if (glassInfoList.size() == Integer.parseInt(temperingNo.toString())) {
+ for (GlassInfo glassInfo : glassInfoList
+ ) {
- TemperingGlassInfo temperingGlassInfo=new TemperingGlassInfo();
- BeanUtils.copyProperties(glassInfo, temperingGlassInfo);
- temperingGlassInfoService.save(temperingGlassInfo);
+ TemperingGlassInfo temperingGlassInfo = new TemperingGlassInfo();
+ BeanUtils.copyProperties(glassInfo, temperingGlassInfo);
+ temperingGlassInfoService.save(temperingGlassInfo);
- }
- key=true;
}
- if(key){
+ key = true;
+ }
+ if (key) {
return false;
}
}
@@ -219,22 +214,22 @@
public void updateRemainWidth(int slot) {
log.info("鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅锛岃绠楁牸瀛愬墿浣欏搴�");
double width = 5000;
- LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper=new LambdaQueryWrapper();
+ LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper = new LambdaQueryWrapper();
bigStorageCageDetailsWrapper
- .eq(BigStorageCageDetails::getSlot,slot)
- .eq(BigStorageCageDetails::getState,Const.GLASS_STATE_IN)
- .eq(BigStorageCageDetails::getState,Const.GLASS_STATE_ARTIFICIAL);
+ .eq(BigStorageCageDetails::getSlot, slot)
+ .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
+ .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL);
List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper);
for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
) {
- double widths=bigStorageCageDetails.getWidth();
- double gap=bigStorageCageDetails.getGap();
- width -= widths+gap;
+ double widths = bigStorageCageDetails.getWidth();
+ double gap = bigStorageCageDetails.getGap();
+ width -= widths + gap;
}
//淇敼鏍煎瓙鍓╀綑瀹藉害
BigStorageCage bigStorageCage = new BigStorageCage();
- bigStorageCage.setRemainWidth((int)width);
+ bigStorageCage.setRemainWidth((int) width);
UpdateWrapper<BigStorageCage> bigStorageCageWrapper = new UpdateWrapper<>();
bigStorageCageWrapper.eq("slot", slot);
bigStorageCageMapper.update(bigStorageCage, bigStorageCageWrapper);
@@ -242,50 +237,48 @@
//鏌ヨ澶х悊鐗囦俊鎭紝鍓嶇灞曠ず鐢�
@Override
- public List<BigStorageCage> querybigStorageCageDetail(int deviceId) {
- LambdaQueryWrapper<BigStorageCage> bigStorageCageWrapper =new LambdaQueryWrapper<>();
- LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper =new LambdaQueryWrapper<>();
- bigStorageCageDetailsWrapper
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
- .or()
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL);
- if(deviceId!=0){
- bigStorageCageWrapper.eq(BigStorageCage::getDeviceId,deviceId);
- bigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getDeviceId,deviceId);
- }
+ public List<BigStorageCage> querybigStorageCageDetailAll() {
+ MPJLambdaWrapper<BigStorageCage> wrapper = new MPJLambdaWrapper<>();
+ wrapper.selectAll(BigStorageCage.class).selectCollection(BigStorageCageDetails.class, BigStorageCage::getBigStorageCageDetails)
+ .leftJoin(BigStorageCageDetails.class, on -> on.eq(BigStorageCageDetails::getSlot, BigStorageCage::getSlot)
+ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL))
+ .orderByAsc(BigStorageCage::getDeviceId)
+ .orderByAsc(BigStorageCage::getSlot);
+ return bigStorageCageMapper.selectJoinList(BigStorageCage.class, wrapper);
+ }
- List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(bigStorageCageWrapper);
- log.info("1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭畬鎴愶紝鑾峰彇鍒扮殑鏁版嵁{}", bigStorageCages.size());
+ //鏌ヨ澶х悊鐗囦俊鎭紝鍓嶇灞曠ず鐢�
+ @Override
+ public Map<Integer, List<BigStorageCage>> querybigStorageCageDetail() {
- 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());
- bigStorageCage.setBigStorageCageDetails(bigStorageCageDetails);
- }
- return bigStorageCages;
+ MPJLambdaWrapper<BigStorageCage> wrapper = new MPJLambdaWrapper<>();
+ wrapper.selectAll(BigStorageCage.class).selectCollection(BigStorageCageDetails.class, BigStorageCage::getBigStorageCageDetails)
+ .leftJoin(BigStorageCageDetails.class, on -> on.eq(BigStorageCageDetails::getSlot, BigStorageCage::getSlot)
+ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL));
+ List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectJoinList(BigStorageCage.class, wrapper);
+ Map<Integer, List<BigStorageCage>> listMap = bigStorageCages.stream().collect(Collectors.groupingBy(item -> item.getDeviceId()));
+ return listMap;
}
//绗煎瓙浣跨敤鎯呭喌锛岀晫闈㈠睍绀虹敤
@Override
public List<Map<String, Object>> selectBigStorageCageUsage() {
QueryWrapper<BigStorageCage> wrapper = new QueryWrapper<>();
- wrapper.select("device_id,ROUND(1 - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) / COUNT(device_id), 2) AS percentage,COUNT(device_id) - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) AS count")
+ wrapper.select("device_id,ROUND(1 - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) / COUNT(device_id), 2) AS percentage,SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) AS count")
.groupBy("device_id");
- List<Map<String, Object>> bigStorageCageUsages=baseMapper.selectMaps(wrapper);
+ List<Map<String, Object>> bigStorageCageUsages = baseMapper.selectMaps(wrapper);
return bigStorageCageUsages;
}
//绗煎瓙鐨勫惎鐢�/绂佺敤
@Override
- public void updateStorageCageDisabled(int slot,int enableState){
- BigStorageCage bigStorageCage=new BigStorageCage();
+ public void updateStorageCageDisabled(int slot, int enableState) {
+ BigStorageCage bigStorageCage = new BigStorageCage();
bigStorageCage.setEnableState(enableState);
LambdaQueryWrapper<BigStorageCage> bigStorageCageWrapper = new LambdaQueryWrapper<>();
- bigStorageCageWrapper.eq(BigStorageCage::getSlot,slot);
- baseMapper.update(bigStorageCage,bigStorageCageWrapper);
+ bigStorageCageWrapper.eq(BigStorageCage::getSlot, slot);
+ baseMapper.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 7c57951..0256f9e 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
@@ -10,16 +10,16 @@
/**
* <p>
- * Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
* </p>
*
* @author zhoush
* @since 2024-04-16
*/
-@DS("salve_hangzhoumes_1")
+@DS("salve_hangzhoumes")
public interface BigStorageCageFeedTaskMapper extends MPJBaseMapper<BigStorageCageFeedTask> {
List<Integer> querySitToUpGlass();
- BigStorageDTO querySitToUpRemainWidth(@Param(value = "line") Integer line);
+ BigStorageDTO querySitToUpRemainWidth(@Param(value = "line") Integer line, @Param(value = "glassGap") Integer glassGap);
}
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 8e53da7..5fa29d3 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
@@ -15,7 +15,7 @@
* @author zhoush
* @since 2024-04-16
*/
-@DS("salve_hangzhoumes_1")
+@DS("salve_hangzhoumes")
public interface BigStorageCageOutTaskMapper extends BaseMapper<BigStorageCageOutTask> {
boolean saveBatch(@Param(value = "list") List<BigStorageCageOutTask> list);
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
index 03110f0..262cc3f 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
@@ -7,13 +7,14 @@
import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author zhoush
@@ -22,9 +23,12 @@
@Service
public class BigStorageCageFeedTaskServiceImpl extends ServiceImpl<BigStorageCageFeedTaskMapper, BigStorageCageFeedTask> implements BigStorageCageFeedTaskService {
+ @Value("${mes.glassGap}")
+ private Integer glassGap;
+
@Override
- public void addFeedTask(BigStorageCageDetails slotInfo, Integer plcFeedReqLine, int taskType){
- BigStorageCageFeedTask bigStorageCageFeedTask=new BigStorageCageFeedTask();
+ public void addFeedTask(BigStorageCageDetails slotInfo, Integer plcFeedReqLine, int taskType) {
+ BigStorageCageFeedTask bigStorageCageFeedTask = new BigStorageCageFeedTask();
bigStorageCageFeedTask.setId(slotInfo.getId());
bigStorageCageFeedTask.setTaskState(0);
bigStorageCageFeedTask.setLine(plcFeedReqLine);
@@ -41,7 +45,7 @@
@Override
public BigStorageDTO querySitToUpRemainWidth(Integer line) {
- return baseMapper.querySitToUpRemainWidth(line);
+ return baseMapper.querySitToUpRemainWidth(line, glassGap);
}
@Override
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 68312bf..85cf462 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
@@ -4,6 +4,9 @@
import com.mes.device.PlcParameterObject;
import com.mes.tools.InitUtil;
import com.mes.tools.S7control;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.Date;
/**
@@ -11,6 +14,7 @@
* @Date: 2024/4/9 15:13
* @Description:
*/
+@Slf4j
public class S7object extends Thread {
public S7control plccontrol; // PLC閫氳绫诲疄渚�
private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
@@ -52,8 +56,11 @@
} catch (InterruptedException e) {
e.printStackTrace();
}
-
+ Date startDate = new Date();
+ log.info("澶х悊鐗囩璇诲彇plc鏁版嵁寮�濮嬫椂闂达細{}", startDate);
byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩璇诲彇plc鏁版嵁缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
if (getplcvlues != null) {
PlcMesObject.setPlcParameterList(getplcvlues);
}
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 aa06134..95616b3 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
@@ -32,49 +32,59 @@
@Resource
private TemperingGlassInfoService temperingGlassInfoService;
+ private JSONObject jsonObject = new JSONObject();
+ private JSONObject jsonObject1 = new JSONObject();
+ public void queryDataSource1() throws InterruptedException {
+ List<Double> carPostion=new ArrayList<>();
+ carPostion.add(0.25);
+ carPostion.add(0.5);
+ jsonObject.append("carPostion",carPostion);
+ //鐣岄潰灞曠ず绗煎瓙淇℃伅
+ jsonObject1.append("bigStorageCageInfos", bigStorageCageService.querybigStorageCageDetail());
+
+ //杩涚墖浠诲姟鏁版嵁
+ 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);
+
+ //鐞嗙墖绗艰〃鏍间俊鎭�
+ jsonObject.append("bigStorageCageInfo", bigStorageCageService.querybigStorageCageDetailAll());
+
+ }
+
+ public void queryDataSource2() throws InterruptedException {
+ //鍑虹墖闃熷垪
+ List<TemperingGlassInfo> temperingGlassInfoList= temperingGlassInfoService.list();
+ jsonObject.append("temperingGlassInfoList", temperingGlassInfoList);
+
+ }
/**
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
@Scheduled(fixedDelay = 1000)
public void plcStorageCageTask() throws InterruptedException {
- JSONObject jsonObject = new JSONObject();
+ jsonObject = new JSONObject();
+ jsonObject1 = 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("bigStorageCageInfo", bigStorageCageService.querybigStorageCageDetail(0));
-
+ //鏌ヨ浣跨敤鏁版嵁婧�1鏌ヨ鏁版嵁
+ queryDataSource1();
+ //鏌ヨ浣跨敤鏁版嵁婧�2鏌ヨ鏁版嵁
+ queryDataSource2();
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("slicecage");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
webserver.sendMessage(jsonObject.toString());
+ webserver.sendMessage(jsonObject1.toString());
List<String> messages = webserver.getMessages();
if (!messages.isEmpty()) {
// // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
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 4d4ec63..5430e36 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
@@ -20,6 +20,8 @@
import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
import com.mes.common.S7object;
import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
import com.mes.device.PlcParameterObject;
import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
@@ -60,6 +62,8 @@
private EdgGlassTaskInfoService edgGlassTaskInfoService;
@Resource
private TemperingGlassInfoService temperingGlassInfoService;
+ @Resource
+ private DamageService damageService;
private static final String REQUEST_WORD = "1";
@@ -78,11 +82,13 @@
@Value("${mes.outCarMaxSize}")
private Integer outCarMaxSize;
- @Value("${mes.galssGap}")
- private Integer galssGap;
+ @Value("${mes.glassGap}")
+ private Integer glassGap;
@Scheduled(fixedDelay = 300)
public void plcToHomeEdgScan() {
+ Date startDate = new Date();
+ log.info("澶х悊鐗囩鎵爜浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String d01Id = plcParameterObject.getPlcParameter("D01ID").getValue();
String d04Id = plcParameterObject.getPlcParameter("D04ID").getValue();
@@ -90,16 +96,15 @@
String d02State = plcParameterObject.getPlcParameter("D02ID").getValue();
String d03State = plcParameterObject.getPlcParameter("D03State").getValue();
String d05State = plcParameterObject.getPlcParameter("D05State").getValue();
+ String mesD01Value = plcParameterObject.getPlcParameter("MESToD01").getValue();
+ String mesD04Value = plcParameterObject.getPlcParameter("MESToD04").getValue();
String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
- if (!REQUEST_WORD.equals(d01ToMES)) {
- log.info("璇锋眰瀛椾负{}锛岀粨鏉熸湰娆℃壂鎻忚繘鍗ц浆绔嬩换鍔�", d01ToMES);
- return;
- }
+ String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
- log.info("1銆佽幏鍙杁01Id鎵弿ID涓猴細{};鑾峰彇d04Id鎵弿ID涓猴細{};", d01Id, d04Id);
- if (StringUtils.isBlank(d01Id) && StringUtils.isBlank(d04Id)) {
+ log.info("1銆佽幏鍙杁01Id鎵弿ID涓猴細{}锛岃姹傚瓧涓簕};鑾峰彇d04Id鎵弿ID涓猴細{}锛岃姹傚瓧涓簕};", d01Id, d01ToMES, d04Id, d04ToMES);
+ if (StringUtils.isBlank(d01ToMES) && StringUtils.isBlank(d04ToMES)) {
log.info("涓ゆ潯绾挎湭鏀跺埌杩涚墖浠诲姟锛岀粨鏉熸湰娆℃壂鎻忚繘鍗ц浆绔嬩换鍔�");
return;
}
@@ -107,43 +112,35 @@
log.info("涓ゆ潯绾垮崸杞珛鍧囧湪鎵ц浠诲姟锛岀粨鏉熸湰娆℃壂鎻忚繘鍗ц浆绔嬩换鍔�");
return;
}
-// Boolean flag01 = Boolean.FALSE;
-// Boolean flag04 = Boolean.FALSE;
- //鎸夌収绾胯矾鍙婄幓鐠僫d鑾峰彇鐩搁偦涓ゅ潡鐜荤拑 鍗ц浆绔嬩笂鐨勭幓鐠�
- if (StringUtils.isNotBlank(d01Id) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
+ //鎸夌収绾胯矾鍙婄幓鐠僫d鑾峰彇鐩搁偦涓ゅ潡鐜荤拑 鍗ц浆绔嬩笂鐨勭幓鐠�: 鐘舵�佷负0涓嶆搷浣滐紙D01閫佺墖锛�0涓嶆搷浣滐紝1鍏佽閫佺墖锛夛紝璇锋眰瀛椾负1锛� 锛�02鐜荤拑id涓虹┖鎴栬�呭崸杞珛鏈惎鍔級
+ if (!REQUEST_WORD.equals(mesD01Value) && REQUEST_WORD.equals(d01ToMES) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
}
- if (StringUtils.isNotBlank(d04Id) && !REQUEST_WORD.equals(d05State)) {
+// 鐘舵�佷负0涓嶆搷浣滐紙D01閫佺墖锛�0涓嶆搷浣滐紝1鍏佽閫佺墖锛夛紝璇锋眰瀛椾负1锛� 鍗ц浆绔嬫湭鍚姩
+ if (!REQUEST_WORD.equals(mesD04Value) && REQUEST_WORD.equals(d04ToMES) && !REQUEST_WORD.equals(d05State)) {
judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
}
- log.info("缁撴潫鎵爜浠诲姟");
-// if (flag01 && flag04) {
-// //姣旇緝鏈�鏃╀竴鐗囦换鍔$殑鐗堝浘id鍙婄増搴� 姹傚嚭鍗ц浆绔嬬殑绾胯矾
-// Integer startLine = getStartLine();
-// //璁$畻鐩爣鏍煎瓙锛屽彂閫佸惎鍔ㄤ换鍔�
-// computeTargetByLine(startLine);
-// } else if (flag01 || flag04) {
-// Integer startLine = flag01.equals(Boolean.TRUE) ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
-// //璁$畻鐩爣鏍煎瓙锛屽彂閫佸惎鍔ㄤ换鍔�
-// computeTargetByLine(startLine);
-// } else {
-// log.info("涓ゆ潯绾挎湭鏀跺埌杩涚墖浠诲姟锛岀粨鏉熸湰娆℃壂鎻忚繘鍗ц浆绔嬩换鍔�");
-// }
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鎵爜浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
}
@Scheduled(fixedDelay = 300)
public void plcToHomeEdgFreeCarTask() {
+ Date startDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String e01Status = plcParameterObject.getPlcParameter("E01State").getValue();
String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
log.info("鎵ц绌鸿溅閫佺墖浠诲姟锛岃幏鍙栧埌鐨勫ぇ杞︾姸鎬佷负{}锛屽崸杞珛鐘舵�佸垎鍒负d03:{}锛宒05:{}", e01Status, d03ToMES, d05ToMES);
if (REQUEST_WORD.equals(e01Status)) {
- log.info("杩涚墖澶ц溅闈炵┖闂诧紝缁撴潫閫佺墖浠诲姟");
+ Date endDate = new Date();
+ log.info("杩涚墖澶ц溅闈炵┖闂诧紝缁撴潫閫佺墖浠诲姟锛屼换鍔$粨鏉熸椂闂达細{}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
if (!REQUEST_WORD.equals(d03ToMES) && !REQUEST_WORD.equals(d05ToMES)) {
- log.info("鍗ц浆绔嬫病鏈夐�佺墖璇锋眰锛岀粨鏉熼�佺墖浠诲姟");
+ Date endDate = new Date();
+ log.info("鍗ц浆绔嬫病鏈夐�佺墖璇锋眰锛岀粨鏉熼�佺墖浠诲姟锛屼换鍔$粨鏉熸椂闂达細{}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
LambdaQueryWrapper<BigStorageCageFeedTask> wrapper = new LambdaQueryWrapper<BigStorageCageFeedTask>()
@@ -154,14 +151,15 @@
if (CollectionUtils.isNotEmpty(feedTaskList)) {
if (feedTaskList.size() == 1) {
computeTargetByLine(feedTaskList.get(0).getLine());
- return;
} else {
//姣旇緝鏈�鏃╀竴鐗囦换鍔$殑鐗堝浘id鍙婄増搴� 姹傚嚭鍗ц浆绔嬬殑绾胯矾
Integer startLine = getStartLine();
// //璁$畻鐩爣鏍煎瓙锛屽彂閫佸惎鍔ㄤ换鍔�
computeTargetByLine(startLine);
- return;
}
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
+ return;
}
String d01Id = plcParameterObject.getPlcParameter("D01ID").getValue();
String d04Id = plcParameterObject.getPlcParameter("D04ID").getValue();
@@ -174,7 +172,8 @@
//鑾峰彇涓ゆ潯绾垮崸杞珛鏄惁鏈夌幓鐠冿紝涓斾换鍔$姸鎬侀兘涓�2
List<Integer> lineList = bigStorageCageFeedTaskService.querySitToUpGlass();
if (CollectionUtils.isEmpty(lineList)) {
- log.info("涓ゆ潯绾垮崸杞珛涓虹┖鎴栬�呮湁杩涚墖浠诲姟鏈畬鎴愶紝缁撴潫浠诲姟");
+ Date endDate = new Date();
+ log.info("涓ゆ潯绾垮崸杞珛涓虹┖鎴栬�呮湁杩涚墖浠诲姟鏈畬鎴愶紝缁撴潫浠诲姟锛屽ぇ鐞嗙墖绗肩┖杞﹁繘鐗囦换鍔$粨鏉熸椂闂达細{}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
Integer lineFirst = lineList.get(0);
@@ -191,6 +190,8 @@
computeTargetByLine(lineFirst);
}
}
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
//涓ゆ潯鍏堝潎鍙墽琛岃繘鐗囦换鍔★紝鍒ゆ柇涓ゆ潯绾挎槸鍚﹁繘鐗囪姹傛槸鍚﹂兘涓虹┖
@@ -199,6 +200,8 @@
Integer line = getStartLine();
//璁$畻浠诲姟琛ㄨ繘鐗囨牸瀛� 鍙戦�佽繘鐗囦换鍔�
computeTargetByLine(line);
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
} else if (StringUtils.isNotBlank(d01Id) && StringUtils.isNotBlank(d04Id)) {
// todo:涓や釜閮芥湁杩涚墖鐜荤拑
@@ -212,6 +215,8 @@
} else if (computeIsRun(Const.A10_OUT_TARGET_POSITION, d04Id)) {
computeTargetByLine(Const.A10_OUT_TARGET_POSITION);
} else {
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
} else {
@@ -221,12 +226,16 @@
//鑾峰彇杩涚墖璇锋眰鐜荤拑涓虹┖鐨勶紝璁$畻浠诲姟琛ㄨ繘鐗囨牸瀛� 鍙戦�佽繘鐗囦换鍔�
computeTargetByLine(outLine);
}
-
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
}
@Scheduled(fixedDelay = 300)
public void plcToHomeEdgOutTask() {
-
+ Date startDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+ PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
+ String mesToPLCAddress = plcMesObject.getPlcParameter("MESToPLC").getAddress();
List<BigStorageCageOutTask> outingList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_NEW));
Assert.isTrue(CollectionUtils.isEmpty(outingList), "鏈夋鍦ㄦ墽琛屽嚭鐗囩殑浠诲姟锛岀粨鏉熷綋鍓嶅嚭鐗囩嚎绋�");
@@ -239,32 +248,42 @@
.orderBy(Boolean.TRUE, sequenceOrder, TemperingGlassInfo::getTemperingFeedSequence));
if (CollectionUtils.isNotEmpty(temperingGlassInfoList)) {
log.info("鏈夋鍦ㄥ嚭鐗囩殑閽㈠寲浠诲姟");
- computeOutGlassInfo(temperingGlassInfoList, Boolean.TRUE);
+ computeOutGlassInfo(temperingGlassInfoList, Boolean.TRUE, mesToPLCAddress);
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
//鏄惁鏈変汉宸ヤ笅鐗囦换鍔� 鏈夌洿鎺ュ嚭
List<BigStorageCageDetails> artificialList = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
.eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL).orderByDesc(BigStorageCageDetails::getWidth));
if (CollectionUtils.isNotEmpty(artificialList)) {
- computeOutGlassInfo(temperingGlassInfoList, Boolean.FALSE);
+ computeOutGlassInfo(artificialList, Boolean.FALSE, mesToPLCAddress);
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
//閽㈠寲浼樺厛锛氳幏鍙栫悊鐗囩 鐜荤拑灏忕墖 鐮存崯琛� 鏁伴噺 鍒ゆ柇绗煎唴鐗堝浘鏄惁鍒伴綈
- TemperingLayoutDTO temperingLayoutDTO = bigStorageCageDetailsService.temperingIsAll();
- if (null != temperingLayoutDTO) {
- //鐜荤拑鍒伴綈
+ List<TemperingLayoutDTO> temperingLayoutDTOList = bigStorageCageDetailsService.temperingIsAll();
+ if (CollectionUtils.isNotEmpty(temperingLayoutDTOList)) {
+ //鐜荤拑鍒伴綈鍖呮嫭宸插嚭鐗囩殑
//鍒伴綈锛屽皢鐜荤拑灏忕墖鏁版嵁瀛樺叆閽㈠寲灏忕墖琛紝閫昏緫鐢熸垚鍑虹墖浠诲姟 缁撴潫
- List<TemperingGlassInfo> temperingGlassInfos = glassInfoService.selectJoinList(TemperingGlassInfo.class, JoinWrappers.lambda(GlassInfo.class)
- .selectAll(GlassInfo.class)
- .select("-1 as state")
- .selectAs(BigStorageCageDetails::getSlot, TemperingGlassInfo::getSlot)
- .innerJoin(BigStorageCageDetails.class, BigStorageCageDetails::getGlassId, GlassInfo::getGlassId)
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
- .eq(GlassInfo::getTemperingLayoutId, temperingLayoutDTO.getTemperingLayoutId())
- .eq(GlassInfo::getEngineerId, temperingLayoutDTO.getEngineerId()));
- temperingGlassInfoService.saveBatch(temperingGlassInfos);
- computeOutGlassInfo(temperingGlassInfoList, Boolean.TRUE);
- return;
+ for (TemperingLayoutDTO item : temperingLayoutDTOList) {
+ List<TemperingGlassInfo> temperingGlassInfos = glassInfoService.selectJoinList(TemperingGlassInfo.class, JoinWrappers.lambda(GlassInfo.class)
+ .selectAll(GlassInfo.class)
+ .select("-1 as state")
+ .selectAs(BigStorageCageDetails::getSlot, TemperingGlassInfo::getSlot)
+ .innerJoin(BigStorageCageDetails.class, BigStorageCageDetails::getGlassId, GlassInfo::getGlassId)
+ .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
+ .eq(GlassInfo::getTemperingLayoutId, item.getTemperingLayoutId())
+ .eq(GlassInfo::getEngineerId, item.getEngineerId()));
+ if (CollectionUtils.isNotEmpty(temperingGlassInfos)) {
+ temperingGlassInfoService.saveBatch(temperingGlassInfos);
+ computeOutGlassInfo(temperingGlassInfoList, Boolean.TRUE, mesToPLCAddress);
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
+ return;
+ }
+ }
}
//鏈埌榻� 鎵ц鍐呴儴璋冨害浠诲姟
TemperingLayoutDTO temperingOccupySlot = bigStorageCageDetailsService.queryTemperingOccupySlot();
@@ -273,7 +292,7 @@
for (int i = 0; i < slotSequenceList.size() - 1; i++) {
SlotSequenceDTO first = slotSequenceList.get(i);
SlotSequenceDTO second = slotSequenceList.get(i + 1);
- int slotWidth = carWidth - first.getRemainWidth() - galssGap;
+ int slotWidth = carWidth - first.getRemainWidth() - glassGap;
if (first.getMinSequence() == second.getMaxSequence() + 1
&& second.getRemainWidth() > slotWidth) {
List<BigStorageCageDetails> list = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
@@ -281,12 +300,61 @@
List<BigStorageCageOutTask> outTasks = list.stream().map(e -> new BigStorageCageOutTask(e.getGlassId(), first.getSlot(), second.getSlot(),
slotWidth, 0, 0, 1)).collect(Collectors.toList());
bigStorageCageOutTaskService.saveBatch(outTasks);
+ S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+ log.info("宸插悜plc鍙戦�佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{}", mesToPLCAddress);
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
}
}
}
+ /**
+ * 澶勭悊鐮存崯琛ㄤ换鍔�
+ */
+ @Scheduled(fixedDelay = 300)
+ public void dealDamageTask() {
+ Date startDate = new Date();
+ log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+ //鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
+ List<BigStorageCageFeedTask> inDamageTaskInfoList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
+ .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+ if (CollectionUtils.isNotEmpty(inDamageTaskInfoList)) {
+ bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+ //灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
+ for (BigStorageCageFeedTask bigStorageCageFeedTask : inDamageTaskInfoList) {
+ Damage damage = new Damage();
+ damage.setGlassId(bigStorageCageFeedTask.getGlassId());
+ damage.setLine(bigStorageCageFeedTask.getLine());
+ damage.setWorkingProcedure("鍐峰姞宸�");
+ damage.setRemark("杩涚鍓嶅崸杞珛");
+ damage.setStatus(2);
+ damageService.insertDamage(damage);
+ }
+ }
+ //鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
+ List<BigStorageCageOutTask> outDamageTaskInfoList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
+ .eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_DAMAGE));
+ if (CollectionUtils.isNotEmpty(outDamageTaskInfoList)) {
+ bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+ List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
+ temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList));
+ //灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
+ for (BigStorageCageOutTask bigStorageCageOutTask : outDamageTaskInfoList) {
+ Damage damage = new Damage();
+ damage.setGlassId(bigStorageCageOutTask.getGlassId());
+ damage.setLine(bigStorageCageOutTask.getEndSlot());
+ damage.setWorkingProcedure("鍐峰姞宸�");
+ damage.setRemark("鍑虹墖鍚庡崸杞珛");
+ damage.setStatus(2);
+ damageService.insertDamage(damage);
+ }
+ }
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
+ return;
+ }
/**
* 鎸夌収鐜荤拑id鍒ゆ柇鐜荤拑鐘舵�佸強鍗ц浆绔嬫槸鍚﹀彲鐩存帴鍚姩
@@ -312,28 +380,30 @@
Boolean flag = Boolean.TRUE;
//2銆佽幏鍙栧崸杞珛
- Integer widthFirst = edgGlassTaskInfoList.get(0).getWidth();
+ Integer widthFirst = Math.max(edgGlassTaskInfoList.get(0).getWidth() / 10, edgGlassTaskInfoList.get(0).getHeight() / 10);
+ Integer heightFirst = Math.min(edgGlassTaskInfoList.get(0).getWidth() / 10, edgGlassTaskInfoList.get(0).getHeight() / 10);
if (edgGlassTaskInfoList.size() == 1) {
if (remainWidth >= widthFirst) {
- if (glassCount <= 5) {
- addFeedTask(glassId, line, Const.BIG_STORAGE_IN_WAIT, widthFirst);
+ if (glassCount < inCarMaxSize) {
+ addFeedTask(glassId, line, Const.BIG_STORAGE_IN_WAIT, widthFirst, heightFirst);
} else {
- addFeedTask(glassId, line, Const.BIG_STORAGE_IN_RUN, widthFirst);
+ addFeedTask(glassId, line, Const.BIG_STORAGE_IN_RUN, widthFirst, heightFirst);
}
} else {
flag = Boolean.FALSE;
}
} else {
- Integer widthSecond = edgGlassTaskInfoList.get(1).getWidth();
+ Integer widthSecond = Math.max(edgGlassTaskInfoList.get(1).getWidth() / 10, edgGlassTaskInfoList.get(1).getHeight() / 10);
+ Integer heightSecond = Math.min(edgGlassTaskInfoList.get(1).getWidth() / 10, edgGlassTaskInfoList.get(1).getHeight() / 10);
if (remainWidth >= widthFirst) {
- if (remainWidth - widthFirst - galssGap >= widthSecond) {
- if (glassCount <= inCarMaxSize - 1) {
- addFeedTask(glassId, line, Const.BIG_STORAGE_IN_WAIT, widthFirst);
+ if (remainWidth - widthFirst - glassGap >= widthSecond) {
+ if (glassCount < inCarMaxSize) {
+ addFeedTask(glassId, line, Const.BIG_STORAGE_IN_WAIT, widthFirst, heightSecond);
} else {
- addFeedTask(glassId, line, Const.BIG_STORAGE_IN_RUN, widthFirst);
+ addFeedTask(glassId, line, Const.BIG_STORAGE_IN_RUN, widthFirst, heightSecond);
}
} else {
- addFeedTask(glassId, line, Const.BIG_STORAGE_IN_RUN, widthFirst);
+ addFeedTask(glassId, line, Const.BIG_STORAGE_IN_RUN, widthFirst, heightSecond);
}
} else {
flag = Boolean.FALSE;
@@ -350,13 +420,14 @@
/**
* 娣诲姞浠诲姟淇℃伅
*/
- private Boolean addFeedTask(String glassId, Integer line, Integer taskType, Integer width) {
+ private Boolean addFeedTask(String glassId, Integer line, Integer taskType, Integer width, Integer height) {
BigStorageCageFeedTask bigStorageCageFeedTask = new BigStorageCageFeedTask();
bigStorageCageFeedTask.setGlassId(glassId);
bigStorageCageFeedTask.setTaskState(Const.BIG_STORAGE_IN_NEW);
bigStorageCageFeedTask.setLine(line);
bigStorageCageFeedTask.setTaskType(taskType);
bigStorageCageFeedTask.setWidth(width);
+ bigStorageCageFeedTask.setHeight(height);
bigStorageCageFeedTask.setCreateTime(new Date());
return bigStorageCageFeedTaskService.save(bigStorageCageFeedTask);
}
@@ -433,6 +504,7 @@
}
private void sendTaskListToPLC(List<BigStorageCageFeedTask> taskList, Integer line) {
+ log.info("閫佺墖浠诲姟鍙戦�佽繘鐗囩幓鐠冧俊鎭�");
S7control s7control = S7object.getinstance().plccontrol;
PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
String mesD03Address = plcMesObject.getPlcParameter("MESToD03").getAddress();
@@ -443,10 +515,10 @@
s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport" + i).getAddress(), taskList.get(i - 1).getTargetSlot());
}
s7control.writeWord(outLine, 2);
- log.info("閫佺墖浠诲姟宸插彂閫佸畬鎴愶紝浠诲姟绾胯矾涓猴細{}锛屽惎鍔ㄥ湴鍧�涓簕}", line, outLine);
+ log.info("閫佺墖浠诲姟宸插彂閫佸畬鎴愶紝浠诲姟绾胯矾涓猴細{}锛屽惎鍔ㄥ湴鍧�涓簕},纭瀛椾负{}", line, outLine, 2);
}
- private <T extends BigStorageCageBaseInfo> Boolean computeOutGlassInfo(List<T> list, Boolean isTempering) {
+ private <T extends BigStorageCageBaseInfo> Boolean computeOutGlassInfo(List<T> list, Boolean isTempering, String mesToPLCAddress) {
//浠诲姟鏁版嵁 鑾峰彇杞﹀瓙瀛樻斁鐜荤拑鏈�澶ф暟閲� 鐜荤拑闂撮殧
List<BigStorageCageOutTask> bigStorageCageOutTaskList = new ArrayList<>();
//鎵撹溅鍓╀綑灏哄
@@ -455,7 +527,7 @@
if (bigStorageCageOutTaskList.size() > outCarMaxSize || e.getWidth() > remainWidth) {
break;
}
- remainWidth = remainWidth - (int) e.getWidth() - galssGap;
+ remainWidth = remainWidth - (int) e.getWidth() - glassGap;
if (isTempering) {
bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.TEMPERING_OUT_TARGET_POSITION,
(int) e.getWidth() * 10, 0, 0, 1));
@@ -475,6 +547,8 @@
.in(BigStorageCageDetails::getGlassId, glassIds));
//鏇存柊绗煎瓙鍐呮牸瀛愮殑鍓╀綑灏哄
updateSlotRemain(list, glassIds);
+ S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+ log.info("宸插悜plc鍙戦�佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{}", mesToPLCAddress);
return Boolean.TRUE;
}
@@ -490,7 +564,7 @@
List<Integer> slotList = list.stream().map(T::getSlot).distinct().collect(Collectors.toList());
//鑾峰彇寰呭嚭鍘荤殑鐜荤拑淇℃伅锛堢瓑涓嬭溅鍑哄幓鐨勭幓鐠冿級
Map<Integer, Double> slotRemainMap = list.stream().filter(e -> !taskGlassIds.contains(e.getGlassId()))
- .collect(Collectors.groupingBy(T::getSlot, Collectors.summingDouble(item -> item.getWidth() + galssGap)));
+ .collect(Collectors.groupingBy(T::getSlot, Collectors.summingDouble(item -> item.getWidth() + glassGap)));
if (CollectionUtils.isNotEmpty(slotRemainMap)) {
//鎸夌収鏍煎瓙鍙锋洿鏂板墿浣欏昂瀵�
slotRemainMap.forEach((e, v) -> {
@@ -509,6 +583,9 @@
public Boolean computeIsRun(int line, String glassId) {
//鑾峰彇鍗ц浆绔嬪墿浣欏搴�
BigStorageDTO sitToUpRemainWidth = bigStorageCageFeedTaskService.querySitToUpRemainWidth(line);
+ if (sitToUpRemainWidth.getGlassCount() == 0) {
+ return Boolean.FALSE;
+ }
//鑾峰彇鐜荤拑淇℃伅
GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
return sitToUpRemainWidth.getWidth() < glassInfo.getWidth();
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 82d885e..5468375 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
@@ -61,6 +61,7 @@
@Override
public boolean saveBatch(List<TemperingGlassInfo> list) {
+ log.info("闇�瑕侀挗鍖栫殑鐜荤拑涓猴細{}", list);
return baseMapper.saveBatch(list);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-cz.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-cz.yml
index 608a2ca..6dc9dfd 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-cz.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-cz.yml
@@ -14,10 +14,6 @@
username: sa
password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- salve_hangzhoumes_1:
- url: jdbc:sqlserver://192.168.20.24:1433;databasename=hangzhoumes
- username: sa
- password: beibo.123/
cloud:
nacos:
discovery:
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-dev.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-dev.yml
index 23a3bb3..b4d7552 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-dev.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-dev.yml
@@ -14,10 +14,6 @@
username: sa
password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- salve_hangzhoumes_1:
- url: jdbc:sqlserver://127.0.0.1:1433;databasename=hangzhoumes
- username: sa
- password: beibo.123/
cloud:
nacos:
discovery:
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-prod.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-prod.yml
index 3bac93d..25593bb 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-prod.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-prod.yml
@@ -14,11 +14,6 @@
username: sa
password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- salve_hangzhoumes_1:
- 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/resources/application.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
index 9fc2464..d4281e8 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -18,4 +18,4 @@
slotWidth: 5000 #澶ц溅瀹藉害
inCarMaxSize: 6 #杩涚墖澶ц溅鏈�澶у瓨鏀剧幓鐠冩暟閲�
outCarMaxSize: 1 #鍑虹墖澶ц溅鏈�澶у瓨鏀剧幓鐠冩暟閲�
- galssGap: 300 #鐜荤拑闂磋窛
\ No newline at end of file
+ glassGap: 300 #鐜荤拑闂磋窛
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index a0f23bf..8306c6f 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -40,7 +40,7 @@
WHERE STATE in (100, 101, 102)
GROUP BY ENGINEER_ID, TEMPERING_LAYOUT_ID) T3 ON T2.ENGINEER_ID = T3.ENGINEER_ID
AND T2.TEMPERING_LAYOUT_ID = T3.TEMPERING_LAYOUT_ID
- AND T2.COUNT = T3.COUNT LIMIT 1
+ AND T2.COUNT = T3.COUNT
</select>
<select id="queryTemperingOccupySlot" resultMap="temperingLayoutDTO">
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
index a0a5902..0a32e28 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
@@ -21,11 +21,21 @@
where t.total_count = t.real_count
</select>
<select id="querySitToUpRemainWidth" resultMap="bigStorageDTO">
- SELECT cast(5000 - sum(width + 20) as INT) as REMAIN_WIDTH,
- count(glass_id) as GLASS_COUNT
- FROM big_storage_cage_feed_task
- WHERE line = #{line}
- AND task_state in (1, 2)
+ SELECT CAST
+ (5000 - SUM(MAX_LENGTH + #{glassGap}) AS INT) AS REMAIN_WIDTH,
+ COUNT(GLASS_ID) AS GLASS_COUNT
+ FROM (
+ SELECT GLASS_ID,
+ CASE
+
+ WHEN WIDTH >= HEIGHT THEN
+ WIDTH
+ ELSE HEIGHT
+ END MAX_LENGTH
+ FROM BIG_STORAGE_CAGE_FEED_TASK
+ WHERE LINE = #{line}
+ AND TASK_STATE IN (1, 2)
+ ) T
</select>
</mapper>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index f9deff8..6e45b69 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -1,8 +1,12 @@
package com.mes;
+import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
import com.mes.job.PlcStorageCageTask;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
@@ -11,7 +15,9 @@
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
/**
* @Author : zhoush
@@ -29,6 +35,69 @@
PlcStorageCageTask plcStorageCageTask;
@Autowired
BigStorageCageDetailsService bigStorageCageDetailsService;
+ @Autowired
+ DamageService damageService;
+
+ @Autowired
+ BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper;
+
+ @Test
+ public void testInsertSlot() {
+ List<BigStorageCage> list = new ArrayList();
+ for (int j = 1; j <= 5; j++) {
+ for (int i = 1 + (55 * (j - 1)); i <= 55 * j; i++) {
+ BigStorageCage cage = new BigStorageCage();
+ cage.setDeviceId(j);
+ cage.setSlot(i);
+ cage.setMinThickness(4);
+ cage.setMaxThickness(6);
+ cage.setEnableState(1);
+ cage.setRemainWidth(5000);
+ list.add(cage);
+ }
+ }
+ for (int i = 276; i <= 300; i++) {
+ BigStorageCage cage = new BigStorageCage();
+ cage.setDeviceId(6);
+ cage.setSlot(i);
+ cage.setMinThickness(8);
+ cage.setMaxThickness(12);
+ cage.setEnableState(1);
+ cage.setRemainWidth(5000);
+ list.add(cage);
+ }
+ for (int i = 301; i <= 330; i++) {
+ BigStorageCage cage = new BigStorageCage();
+ cage.setDeviceId(7);
+ cage.setSlot(i);
+ cage.setMinThickness(8);
+ cage.setMaxThickness(12);
+ cage.setEnableState(1);
+ cage.setRemainWidth(5000);
+ list.add(cage);
+ }
+ for (int i = 331; i <= 355; i++) {
+ BigStorageCage cage = new BigStorageCage();
+ cage.setDeviceId(8);
+ cage.setSlot(i);
+ cage.setMinThickness(8);
+ cage.setMaxThickness(12);
+ cage.setEnableState(1);
+ cage.setRemainWidth(5000);
+ list.add(cage);
+ }
+ for (int i = 356; i <= 380; i++) {
+ BigStorageCage cage = new BigStorageCage();
+ cage.setDeviceId(9);
+ cage.setSlot(i);
+ cage.setMinThickness(15);
+ cage.setMaxThickness(19);
+ cage.setEnableState(1);
+ cage.setRemainWidth(5000);
+ list.add(cage);
+ }
+ bigStorageCageService.saveBatch(list);
+ }
@Test
public void testFindPath() {
@@ -82,4 +151,14 @@
log.info("鑾峰彇澶х悊鐗囩淇℃伅锛歿}", bigStorageCageDetailsService.selectBigStorageCageDetails("P24060403|3|6"));
}
+ @Test
+ public void insertDamage() {
+ Damage damage=new Damage();
+ damage.setGlassId("P24060403|3|6");
+ damage.setLine(2001);
+ damage.setWorkingProcedure("鍐峰姞宸�");
+ damage.setRemark("");
+ damage.setStatus(2);
+ damageService.insertDamage(damage);
+ }
}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/pom.xml b/hangzhoumesParent/moduleService/GlassStorageModule/pom.xml
new file mode 100644
index 0000000..3b4c457
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/pom.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>moduleService</artifactId>
+ <groupId>com.mes</groupId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>glassStorage</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi-ooxml</artifactId>
+ <version>5.2.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>2.8.9</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/GlassStorageApplication.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/GlassStorageApplication.java
new file mode 100644
index 0000000..1ac53de
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/GlassStorageApplication.java
@@ -0,0 +1,28 @@
+package com.mes;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+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;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/7 14:36RRRR
+ * @Description:
+ */
+@Slf4j
+@SpringBootApplication
+@EnableSwagger2
+@EnableDiscoveryClient
+@MapperScan(basePackages = "com.mes.*.mapper")
+@EnableScheduling
+public class GlassStorageApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(GlassStorageApplication.class, args);
+ }
+
+}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/controller/LoadPositionController.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/controller/LoadPositionController.java
new file mode 100644
index 0000000..ce8fea2
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/controller/LoadPositionController.java
@@ -0,0 +1,99 @@
+package com.mes.loadposition.controller;
+
+import com.mes.loadposition.entity.LoadPosition;
+import com.mes.loadposition.service.LoadPositionService;
+import com.mes.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@RestController
+@RequestMapping("/api/loadPosition")
+@Api(tags = " 鎺у埗鍣�")
+public class LoadPositionController {
+
+ @Autowired
+ private LoadPositionService loadPositionService;
+
+ /**
+ * 鍒楄〃鏌ヨ
+ *
+ * @param params
+ * @return
+ */
+ @ApiOperation(value = "鍒楄〃鏌ヨ",notes = "鍒楄〃鏌ヨ",produces = "application/json")
+ @ApiResponses({@ApiResponse(code = 200, message = "鏌ヨ鎴愬姛")})
+ @PostMapping("/findList")
+ public Result findList(@RequestBody LoadPosition params) {
+ List<LoadPosition> result = loadPositionService.findList(params);
+ return Result.success(result);
+ }
+
+ /**
+ * 鏌ヨ
+ *
+ * @param id
+ * @return
+ */
+ @ApiOperation(value = "鏌ヨ", notes = "鏌ヨ璇︽儏")
+ @ApiResponses({@ApiResponse(code = 200, message = "鏌ヨ鎴愬姛")})
+ @GetMapping("/{id}")
+ public Result findById(@PathVariable("id") Long id) {
+ LoadPosition loadPosition = loadPositionService.getBaseMapper().selectById(id);
+ return Result.success(loadPosition);
+ }
+
+ /**
+ * 鏂板
+ *
+ * @param loadPosition
+ * @return
+ */
+ @ApiOperation(value = "鏂板", notes = "鏂板鏁版嵁")
+ @ApiResponses({@ApiResponse(code = 200, message = "鎿嶄綔鎴愬姛")})
+ @PostMapping
+ public Result insert( @RequestBody LoadPosition loadPosition) {
+ boolean result = loadPositionService.save(loadPosition);
+ return Result.success(result);
+ }
+
+ /**
+ * 淇敼
+ *
+ * @param loadPosition
+ * @return
+ */
+ @ApiOperation(value = "淇敼", notes = "淇敼鏁版嵁")
+ @ApiResponses({@ApiResponse(code = 200, message = "鎿嶄綔鎴愬姛")})
+ @PutMapping
+ public Result update( @RequestBody LoadPosition loadPosition) {
+ boolean result = loadPositionService.updateById(loadPosition);
+ return Result.success(result);
+ }
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param id
+ * @return
+ */
+ @ApiOperation(value = "鍒犻櫎", notes = "鍒犻櫎鏁版嵁")
+ @DeleteMapping("/{id}")
+ public Result delete(@PathVariable("id") Long id) {
+ int result = loadPositionService.getBaseMapper().deleteById(id);
+ return Result.success(result);
+ }
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/entity/LoadPosition.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/entity/LoadPosition.java
new file mode 100644
index 0000000..494c66f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/entity/LoadPosition.java
@@ -0,0 +1,77 @@
+package com.mes.loadposition.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@Data
+@Component
+@EqualsAndHashCode(callSuper = false)
+@TableName("load_position")
+@ApiModel(value = "LoadPosition", description = " ")
+public class LoadPosition implements Serializable{
+
+ private static final long serialVersionUID=1L;
+
+ /**
+ *
+ */
+ @ApiModelProperty(" ")
+ private Long id;
+
+ /**
+ * 鏋跺瓙缂栧彿
+ */
+ @ApiModelProperty("鏋跺瓙缂栧彿")
+ private String number;
+
+ /**
+ * 鏈哄櫒缂栧彿
+ */
+ @ApiModelProperty("鏈哄櫒缂栧彿")
+ private Long machineId;
+
+ /**
+ * 鍚敤鏍囪
+ */
+ @ApiModelProperty("鍚敤鏍囪")
+ private String flag;
+
+ /**
+ * 宸ヤ綔鐘舵��
+ */
+ @ApiModelProperty("宸ヤ綔鐘舵��")
+ private String state;
+
+ /**
+ * 浠撳偍浠诲姟缂栧彿
+ */
+ @ApiModelProperty("浠撳偍浠诲姟缂栧彿")
+ private Long storageTaskId;
+
+ /**
+ * 涓婄墖浣嶇被鍨�
+ */
+ @ApiModelProperty("涓婄墖浣嶇被鍨�")
+ private Integer typeFlag;
+
+ /**
+ * 绾胯矾
+ */
+ @ApiModelProperty("绾胯矾")
+ private Integer routeGroup;
+
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/mapper/LoadPositionMapper.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/mapper/LoadPositionMapper.java
new file mode 100644
index 0000000..ab8c084
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/mapper/LoadPositionMapper.java
@@ -0,0 +1,16 @@
+package com.mes.loadposition.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.loadposition.entity.LoadPosition;
+
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ *
+ */
+
+public interface LoadPositionMapper extends BaseMapper<LoadPosition> {
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/mapper/LoadPositionMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/mapper/LoadPositionMapper.xml
new file mode 100644
index 0000000..5c46518
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/mapper/LoadPositionMapper.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.mapper.LoadPositionMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/service/LoadPositionService.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/service/LoadPositionService.java
new file mode 100644
index 0000000..a1df98c
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/service/LoadPositionService.java
@@ -0,0 +1,19 @@
+package com.mes.loadposition.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.loadposition.entity.LoadPosition;
+
+
+import java.util.List;
+
+/**
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+public interface LoadPositionService extends IService<LoadPosition> {
+
+ List<LoadPosition> findList(LoadPosition params);
+
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/service/impl/LoadPositionServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/service/impl/LoadPositionServiceImpl.java
new file mode 100644
index 0000000..92bae55
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/loadposition/service/impl/LoadPositionServiceImpl.java
@@ -0,0 +1,32 @@
+package com.mes.loadposition.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.loadposition.entity.LoadPosition;
+
+import com.mes.loadposition.service.LoadPositionService;
+import com.mes.loadposition.mapper.LoadPositionMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@Service
+public class LoadPositionServiceImpl extends ServiceImpl<LoadPositionMapper, LoadPosition> implements LoadPositionService {
+
+ @Autowired
+ private LoadPositionMapper loadPositionMapper;
+
+ @Override
+ public List<LoadPosition> findList(LoadPosition params){
+ LambdaQueryWrapper<LoadPosition> query = Wrappers.lambdaQuery(LoadPosition.class);
+ return loadPositionMapper.selectList(query);
+ }
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/controller/RawUsageController.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/controller/RawUsageController.java
new file mode 100644
index 0000000..9f95757
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/controller/RawUsageController.java
@@ -0,0 +1,102 @@
+package com.mes.rawusage.controller;
+
+import com.mes.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.web.bind.annotation.*;
+import com.mes.rawusage.entity.RawUsage;
+import com.mes.rawusage.service.RawUsageService;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import java.util.List;
+
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@RestController
+@RequestMapping("/api/rawUsage")
+@Api(tags = " 鎺у埗鍣�")
+public class RawUsageController {
+
+ @Autowired
+ private RawUsageService rawUsageService;
+
+ /**
+ * 鍒楄〃鏌ヨ
+ *
+ * @param params
+ * @return
+ */
+ @ApiOperation(value = "鍒楄〃鏌ヨ",notes = "鍒楄〃鏌ヨ",produces = "application/json")
+ @ApiResponses({@ApiResponse(code = 200, message = "鏌ヨ鎴愬姛")})
+ @PostMapping("/findList")
+ public Result findList(@RequestBody RawUsage params) {
+ List<RawUsage> result = rawUsageService.findList(params);
+ return Result.success(result);
+ }
+
+ /**
+ * 鏌ヨ
+ *
+ * @param id
+ * @return
+ */
+ @ApiOperation(value = "鏌ヨ", notes = "鏌ヨ璇︽儏")
+ @ApiResponses({@ApiResponse(code = 200, message = "鏌ヨ鎴愬姛")})
+ @GetMapping("/{id}")
+ public Result findById(@PathVariable("id") Long id) {
+ RawUsage rawUsage = rawUsageService.getById(id);
+ return Result.success(rawUsage);
+ }
+
+ /**
+ * 鏂板
+ *
+ * @param rawUsage
+ * @return
+ */
+ @ApiOperation(value = "鏂板", notes = "鏂板鏁版嵁")
+ @ApiResponses({@ApiResponse(code = 200, message = "鎿嶄綔鎴愬姛")})
+ @PostMapping
+ public Result insert( @RequestBody RawUsage rawUsage) {
+ boolean result = rawUsageService.save(rawUsage);
+ return Result.success(result);
+ }
+
+ /**
+ * 淇敼
+ *
+ * @param rawUsage
+ * @return
+ */
+ @ApiOperation(value = "淇敼", notes = "淇敼鏁版嵁")
+ @ApiResponses({@ApiResponse(code = 200, message = "鎿嶄綔鎴愬姛")})
+ @PutMapping
+ public Result update( @RequestBody RawUsage rawUsage) {
+ boolean result = rawUsageService.updateById(rawUsage);
+ return Result.success(result);
+ }
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param id
+ * @return
+ */
+ @ApiOperation(value = "鍒犻櫎", notes = "鍒犻櫎鏁版嵁")
+ @DeleteMapping("/{id}")
+ public Result delete(@PathVariable("id") Long id) {
+ int result = rawUsageService.getBaseMapper().deleteById(id);
+ return Result.success(result);
+ }
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/entity/RawUsage.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/entity/RawUsage.java
new file mode 100644
index 0000000..4715716
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/entity/RawUsage.java
@@ -0,0 +1,107 @@
+package com.mes.rawusage.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.stereotype.Component;
+
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@Data
+@Component
+@EqualsAndHashCode(callSuper = false)
+@TableName("raw_usage")
+@ApiModel(value = "RawUsage", description = " ")
+public class RawUsage implements Serializable{
+
+ private static final long serialVersionUID=1L;
+
+ /**
+ *
+ */
+ @ApiModelProperty(" ")
+ private Long id;
+
+ /**
+ * 鐜荤拑绫诲瀷
+ */
+ @ApiModelProperty("鐜荤拑绫诲瀷")
+ private String rawType;
+
+ /**
+ * 瀹藉害
+ */
+ @ApiModelProperty("瀹藉害")
+ private Float rawWidth;
+
+ /**
+ * 楂樺害
+ */
+ @ApiModelProperty("楂樺害")
+ private Float rawHeight;
+
+ /**
+ * 鍘氬害
+ */
+ @ApiModelProperty("鍘氬害")
+ private Float rawThickness;
+
+ /**
+ * 鐘舵��
+ */
+ @ApiModelProperty("鐘舵��")
+ private String state;
+
+ /**
+ * 棰滆壊
+ */
+ @ApiModelProperty("棰滆壊")
+ private String color;
+
+ /**
+ * 鎬绘暟閲�
+ */
+ @ApiModelProperty("鎬绘暟閲�")
+ private Integer pieces;
+
+ /**
+ * 鍓╀綑鏁伴噺
+ */
+ @ApiModelProperty("鍓╀綑鏁伴噺")
+ private Integer leftPieces;
+
+ /**
+ * 鐗╂枡缂栫爜
+ */
+ @ApiModelProperty("鐗╂枡缂栫爜")
+ private String qrcode;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鐢熶骇鏃ユ湡
+ */
+ @ApiModelProperty("鐢熶骇鏃ユ湡")
+ private Date productionTime;
+
+ /**
+ * 鎵规鍙�
+ */
+ @ApiModelProperty("鎵规鍙�")
+ private String batchId;
+
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/mapper/RawUsageMapper.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/mapper/RawUsageMapper.java
new file mode 100644
index 0000000..5eb15ee
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/mapper/RawUsageMapper.java
@@ -0,0 +1,15 @@
+package com.mes.rawusage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.rawusage.entity.RawUsage;
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ *
+ */
+
+public interface RawUsageMapper extends BaseMapper<RawUsage> {
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/mapper/RawUsageMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/mapper/RawUsageMapper.xml
new file mode 100644
index 0000000..e276227
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/mapper/RawUsageMapper.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.rawusage.mapper.RawUsageMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/RawUsageService.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/RawUsageService.java
new file mode 100644
index 0000000..dea687f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/RawUsageService.java
@@ -0,0 +1,17 @@
+package com.mes.rawusage.service;
+
+import com.mes.rawusage.entity.RawUsage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+/**
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+public interface RawUsageService extends IService<RawUsage> {
+
+ List<RawUsage> findList(RawUsage params);
+
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/impl/RawUsageServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/impl/RawUsageServiceImpl.java
new file mode 100644
index 0000000..108908d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/impl/RawUsageServiceImpl.java
@@ -0,0 +1,31 @@
+package com.mes.rawusage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.rawusage.mapper.RawUsageMapper;
+import com.mes.rawusage.entity.RawUsage;
+import com.mes.rawusage.service.RawUsageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.List;
+
+/**
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@Service
+public class RawUsageServiceImpl extends ServiceImpl<RawUsageMapper, RawUsage> implements RawUsageService {
+
+ @Autowired
+ private RawUsageMapper rawUsageMapper;
+
+ @Override
+ public List<RawUsage> findList(RawUsage params){
+ LambdaQueryWrapper<RawUsage> query = Wrappers.lambdaQuery(RawUsage.class);
+ return rawUsageMapper.selectList(query);
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/controller/ShelfRackController.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/controller/ShelfRackController.java
new file mode 100644
index 0000000..f1bda86
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/controller/ShelfRackController.java
@@ -0,0 +1,102 @@
+package com.mes.shelfrack.controller;
+
+import com.mes.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.web.bind.annotation.*;
+import com.mes.shelfrack.entity.ShelfRack;
+import com.mes.shelfrack.service.ShelfRackService;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import java.util.List;
+
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@RestController
+@RequestMapping("/api/shelfRack")
+@Api(tags = " 鎺у埗鍣�")
+public class ShelfRackController {
+
+ @Autowired
+ private ShelfRackService shelfRackService;
+
+ /**
+ * 鍒楄〃鏌ヨ
+ *
+ * @param params
+ * @return
+ */
+ @ApiOperation(value = "鍒楄〃鏌ヨ",notes = "鍒楄〃鏌ヨ",produces = "application/json")
+ @ApiResponses({@ApiResponse(code = 200, message = "鏌ヨ鎴愬姛")})
+ @PostMapping("/findList")
+ public Result findList(@RequestBody ShelfRack params) {
+ List<ShelfRack> result = shelfRackService.findList(params);
+ return Result.success(result);
+ }
+
+ /**
+ * 鏌ヨ
+ *
+ * @param id
+ * @return
+ */
+ @ApiOperation(value = "鏌ヨ", notes = "鏌ヨ璇︽儏")
+ @ApiResponses({@ApiResponse(code = 200, message = "鏌ヨ鎴愬姛")})
+ @GetMapping("/{id}")
+ public Result findById(@PathVariable("id") Long id) {
+ ShelfRack shelfRack = shelfRackService.getBaseMapper().selectById(id);
+ return Result.success(shelfRack);
+ }
+
+ /**
+ * 鏂板
+ *
+ * @param shelfRack
+ * @return
+ */
+ @ApiOperation(value = "鏂板", notes = "鏂板鏁版嵁")
+ @ApiResponses({@ApiResponse(code = 200, message = "鎿嶄綔鎴愬姛")})
+ @PostMapping
+ public Result insert( @RequestBody ShelfRack shelfRack) {
+ boolean result = shelfRackService.save(shelfRack);
+ return Result.success(result);
+ }
+
+ /**
+ * 淇敼
+ *
+ * @param shelfRack
+ * @return
+ */
+ @ApiOperation(value = "淇敼", notes = "淇敼鏁版嵁")
+ @ApiResponses({@ApiResponse(code = 200, message = "鎿嶄綔鎴愬姛")})
+ @PutMapping
+ public Result update( @RequestBody ShelfRack shelfRack) {
+ boolean result = shelfRackService.updateById(shelfRack);
+ return Result.success(result);
+ }
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param id
+ * @return
+ */
+ @ApiOperation(value = "鍒犻櫎", notes = "鍒犻櫎鏁版嵁")
+ @DeleteMapping("/{id}")
+ public Result delete(@PathVariable("id") Long id) {
+ int result = shelfRackService.getBaseMapper().deleteById(id);
+ return Result.success(result);
+ }
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/entity/ShelfRack.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/entity/ShelfRack.java
new file mode 100644
index 0000000..b980e3f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/entity/ShelfRack.java
@@ -0,0 +1,65 @@
+package com.mes.shelfrack.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.stereotype.Component;
+
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@Data
+@Component
+@EqualsAndHashCode(callSuper = false)
+@TableName("shelf_rack")
+@ApiModel(value = "ShelfRack", description = " ")
+public class ShelfRack implements Serializable{
+
+ private static final long serialVersionUID=1L;
+
+ /**
+ *
+ */
+ @ApiModelProperty(" ")
+ private Long id;
+
+ /**
+ * 鏋跺瓙缂栧彿
+ */
+ @ApiModelProperty("鏋跺瓙缂栧彿")
+ private String number;
+
+ /**
+ * 宸ヤ綔鐘舵��
+ */
+ @ApiModelProperty("宸ヤ綔鐘舵��")
+ private String state;
+
+ /**
+ * 鍖呭彿缂栧彿
+ */
+ @ApiModelProperty("鍖呭彿缂栧彿")
+ private Long rawPackageId;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ @ApiModelProperty("淇敼鏃堕棿")
+ private Date modTime;
+
+ /**
+ * 鍚敤鐘舵��
+ */
+ @ApiModelProperty("鍚敤鐘舵��")
+ private String enableState;
+
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/mapper/ShelfRackMapper.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/mapper/ShelfRackMapper.java
new file mode 100644
index 0000000..fc31d55
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/mapper/ShelfRackMapper.java
@@ -0,0 +1,15 @@
+package com.mes.shelfrack.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.shelfrack.entity.ShelfRack;
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ *
+ */
+
+public interface ShelfRackMapper extends BaseMapper<ShelfRack> {
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/mapper/ShelfRackMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/mapper/ShelfRackMapper.xml
new file mode 100644
index 0000000..719ef59
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/mapper/ShelfRackMapper.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.shelfrack.mapper.ShelfRackMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/service/ShelfRackService.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/service/ShelfRackService.java
new file mode 100644
index 0000000..d66b35e
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/service/ShelfRackService.java
@@ -0,0 +1,17 @@
+package com.mes.shelfrack.service;
+
+import com.mes.shelfrack.entity.ShelfRack;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+/**
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+public interface ShelfRackService extends IService<ShelfRack> {
+
+ List<ShelfRack> findList(ShelfRack params);
+
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/service/impl/ShelfRackServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/service/impl/ShelfRackServiceImpl.java
new file mode 100644
index 0000000..6c134c8
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/shelfrack/service/impl/ShelfRackServiceImpl.java
@@ -0,0 +1,31 @@
+package com.mes.shelfrack.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.shelfrack.mapper.ShelfRackMapper;
+import com.mes.shelfrack.entity.ShelfRack;
+import com.mes.shelfrack.service.ShelfRackService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.List;
+
+/**
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@Service
+public class ShelfRackServiceImpl extends ServiceImpl<ShelfRackMapper, ShelfRack> implements ShelfRackService {
+
+ @Autowired
+ private ShelfRackMapper shelfRackMapper;
+
+ @Override
+ public List<ShelfRack> findList(ShelfRack params){
+ LambdaQueryWrapper<ShelfRack> query = Wrappers.lambdaQuery(ShelfRack.class);
+ return shelfRackMapper.selectList(query);
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/controller/StorageTaskController.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/controller/StorageTaskController.java
new file mode 100644
index 0000000..88b1494
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/controller/StorageTaskController.java
@@ -0,0 +1,102 @@
+package com.mes.storagetask.controller;
+
+import com.mes.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.web.bind.annotation.*;
+import com.mes.storagetask.entity.StorageTask;
+import com.mes.storagetask.service.StorageTaskService;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import java.util.List;
+
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@RestController
+@RequestMapping("/api/storageTask")
+@Api(tags = " 鎺у埗鍣�")
+public class StorageTaskController {
+
+ @Autowired
+ private StorageTaskService storageTaskService;
+
+ /**
+ * 鍒楄〃鏌ヨ
+ *
+ * @param params
+ * @return
+ */
+ @ApiOperation(value = "鍒楄〃鏌ヨ",notes = "鍒楄〃鏌ヨ",produces = "application/json")
+ @ApiResponses({@ApiResponse(code = 200, message = "鏌ヨ鎴愬姛")})
+ @PostMapping("/findList")
+ public Result findList(@RequestBody StorageTask params) {
+ List<StorageTask> result = storageTaskService.findList(params);
+ return Result.success(result);
+ }
+
+ /**
+ * 鏌ヨ
+ *
+ * @param id
+ * @return
+ */
+ @ApiOperation(value = "鏌ヨ", notes = "鏌ヨ璇︽儏")
+ @ApiResponses({@ApiResponse(code = 200, message = "鏌ヨ鎴愬姛")})
+ @GetMapping("/{id}")
+ public Result findById(@PathVariable("id") Long id) {
+ StorageTask storageTask = storageTaskService.getBaseMapper().selectById(id);
+ return Result.success(storageTask);
+ }
+
+ /**
+ * 鏂板
+ *
+ * @param storageTask
+ * @return
+ */
+ @ApiOperation(value = "鏂板", notes = "鏂板鏁版嵁")
+ @ApiResponses({@ApiResponse(code = 200, message = "鎿嶄綔鎴愬姛")})
+ @PostMapping
+ public Result insert( @RequestBody StorageTask storageTask) {
+ boolean result = storageTaskService.save(storageTask);
+ return Result.success(result);
+ }
+
+ /**
+ * 淇敼
+ *
+ * @param storageTask
+ * @return
+ */
+ @ApiOperation(value = "淇敼", notes = "淇敼鏁版嵁")
+ @ApiResponses({@ApiResponse(code = 200, message = "鎿嶄綔鎴愬姛")})
+ @PutMapping
+ public Result update( @RequestBody StorageTask storageTask) {
+ boolean result = storageTaskService.updateById(storageTask);
+ return Result.success(result);
+ }
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param id
+ * @return
+ */
+ @ApiOperation(value = "鍒犻櫎", notes = "鍒犻櫎鏁版嵁")
+ @DeleteMapping("/{id}")
+ public Result delete(@PathVariable("id") Long id) {
+ int result = storageTaskService.getBaseMapper().deleteById(id);
+ return Result.success(result);
+ }
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/entity/StorageTask.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/entity/StorageTask.java
new file mode 100644
index 0000000..612f8e3
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/entity/StorageTask.java
@@ -0,0 +1,77 @@
+package com.mes.storagetask.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.stereotype.Component;
+
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@Data
+@Component
+@EqualsAndHashCode(callSuper = false)
+@TableName("storage_task")
+@ApiModel(value = "StorageTask", description = " ")
+public class StorageTask implements Serializable{
+
+ private static final long serialVersionUID=1L;
+
+ /**
+ *
+ */
+ @ApiModelProperty(" ")
+ private Long id;
+
+ /**
+ * 浠诲姟绫诲瀷
+ */
+ @ApiModelProperty("浠诲姟绫诲瀷")
+ private String taskType;
+
+ /**
+ * 宸ヤ綔鐘舵��
+ */
+ @ApiModelProperty("宸ヤ綔鐘舵��")
+ private String taskState;
+
+ /**
+ * 浠撳偍鏋跺彿
+ */
+ @ApiModelProperty("浠撳偍鏋跺彿")
+ private String shelfRack;
+
+ /**
+ * 涓婄墖浣嶇紪鍙�
+ */
+ @ApiModelProperty("涓婄墖浣嶇紪鍙�")
+ private String loadRack;
+
+ /**
+ * 绾胯矾
+ */
+ @ApiModelProperty("绾胯矾")
+ private Integer routeGroup;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ private Date startTime;
+
+ /**
+ * 瀹屾垚鏃堕棿
+ */
+ @ApiModelProperty("瀹屾垚鏃堕棿")
+ private Date finishTime;
+
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/mapper/StorageTaskMapper.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/mapper/StorageTaskMapper.java
new file mode 100644
index 0000000..4d99c52
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/mapper/StorageTaskMapper.java
@@ -0,0 +1,15 @@
+package com.mes.storagetask.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.storagetask.entity.StorageTask;
+/**
+ *
+ *
+ * @author system
+ * @since 2024-07-09 14:51:27
+ *
+ */
+
+public interface StorageTaskMapper extends BaseMapper<StorageTask> {
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/mapper/StorageTaskMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/mapper/StorageTaskMapper.xml
new file mode 100644
index 0000000..69ad537
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/mapper/StorageTaskMapper.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.storagetask.mapper.StorageTaskMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/StorageTaskService.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/StorageTaskService.java
new file mode 100644
index 0000000..e774319
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/StorageTaskService.java
@@ -0,0 +1,16 @@
+package com.mes.storagetask.service;
+
+import com.mes.storagetask.entity.StorageTask;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+/**
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+public interface StorageTaskService extends IService<StorageTask> {
+
+ List<StorageTask> findList(StorageTask params);
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/impl/StorageTaskServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/impl/StorageTaskServiceImpl.java
new file mode 100644
index 0000000..8709da5
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/impl/StorageTaskServiceImpl.java
@@ -0,0 +1,31 @@
+package com.mes.storagetask.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.storagetask.mapper.StorageTaskMapper;
+import com.mes.storagetask.entity.StorageTask;
+import com.mes.storagetask.service.StorageTaskService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.List;
+
+/**
+ * @author system
+ * @since 2024-07-09 14:51:27
+ */
+@Service
+public class StorageTaskServiceImpl extends ServiceImpl<StorageTaskMapper, StorageTask> implements StorageTaskService {
+
+ @Autowired
+ private StorageTaskMapper storageTaskMapper;
+
+ @Override
+ public List<StorageTask> findList(StorageTask params){
+ LambdaQueryWrapper<StorageTask> query = Wrappers.lambdaQuery(StorageTask.class);
+ return storageTaskMapper.selectList(query);
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-dev.yml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..3097382
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-dev.yml
@@ -0,0 +1,25 @@
+spring:
+ datasource:
+ dynamic:
+ 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
+ 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
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ redis:
+ database: 0
+ host: 127.0.0.1
+ port: 6379
+ password: 123456
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-prod.yml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-prod.yml
new file mode 100644
index 0000000..0c3ff07
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-prod.yml
@@ -0,0 +1,30 @@
+spring:
+ datasource:
+ dynamic:
+ 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
+ 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
+ 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:
+ server-addr: 10.153.19.150:8848
+ redis:
+ database: 0
+ host: 10.153.19.150
+ port: 6379
+ password: 123456
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml
new file mode 100644
index 0000000..5a26257
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml
@@ -0,0 +1,16 @@
+server:
+ port: 8086
+
+spring:
+ profiles:
+ active: prod
+ application:
+ name: glassStorage
+
+
+mybatis-plus:
+ mapper-locations: classpath*:mapper/*.xml
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-cz.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-cz.yml
index 1d19003..a3fcabe 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-cz.yml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-cz.yml
@@ -15,10 +15,10 @@
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
sd:
- url: jdbc:mysql://192.168.1.199:3306/sd?serverTimezone=GMT%2b8
- username: root
- password: beibo.123/
- driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.1.199:3306/sd?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/main/resources/application-prod.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-prod.yml
index a218f03..c5a981e 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-prod.yml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-prod.yml
@@ -15,10 +15,10 @@
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
sd:
- url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8
- username: root
- password: beibo.123/
- driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8
+ username: root
+ password: beibo.123/
+ driver-class-name: com.mysql.cj.jdbc.Driver
cloud:
nacos:
discovery:
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-cz.yml b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-cz.yml
index 870e2c8..34f72c9 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-cz.yml
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-cz.yml
@@ -14,6 +14,16 @@
username: sa
password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+ pp:
+ url: jdbc:mysql://192.168.1.199:3306/pp?serverTimezone=GMT%2b8
+ username: root
+ password: beibo.123/
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ sd:
+ url: jdbc:mysql://192.168.1.199:3306/sd?serverTimezone=GMT%2b8
+ username: root
+ password: beibo.123/
+ driver-class-name: com.mysql.cj.jdbc.Driver
cloud:
nacos:
discovery:
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml
index 7a1a916..18d4c7e 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml
@@ -4,23 +4,13 @@
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
-# 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:10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
+ 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
salve_hangzhoumes:
- url: jdbc:sqlserver://10.153.19.150:1433;databasename=hangzhoumes
+ url: jdbc:sqlserver://127.0.0.1:1433;databasename=hangzhoumes
username: sa
password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-prod.yml b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-prod.yml
index d00e665..3fc6fbb 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-prod.yml
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-prod.yml
@@ -9,7 +9,6 @@
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
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
index 670d12c..dd753b9 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -52,7 +52,9 @@
}
byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
- PlcMesObject.setPlcParameterList(getplcvlues);
+ if (getplcvlues != null) {
+ PlcMesObject.setPlcParameterList(getplcvlues);
+ }
}
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
index d14ded1..e2da1a1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
@@ -47,7 +47,7 @@
/**
* 浠诲姟绫诲瀷 1:杩� 2锛氬嚭
*/
- private String taskType;
+ private Integer taskType;
/**
* 瀹�
@@ -81,7 +81,7 @@
/**
* 浠诲姟鐘舵�� 0 鏈紑濮� 1姝e湪杩涜 2瀹屾垚
*/
- private Integer taskStauts;
+ private Integer taskStatus;
/**
* 鍒涘缓鏃堕棿
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
index fac40d1..1a6ba68 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
@@ -10,11 +10,28 @@
@Repository
public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo> {
-
-
+ /**
+ * 鎸夋祦绋嬪崱鏌ヨ钀芥灦鏁伴噺鏈�澶氱殑娴佺▼鍗″強灞傛暟
+ *
+ * @param flowCardId
+ * @return
+ */
DownGlassInfoDTO queryDownGlassMaxLayer(@Param(value = "flowCardId") String flowCardId);
+ /**
+ * 鏌ヨ娴佺▼鍗℃寚瀹氬眰鏁伴渶瑕佽惤鏋剁殑娆″簭
+ *
+ * @param flowCardId
+ * @param layer
+ * @return
+ */
Integer queryMaxSequence(@Param(value = "flowCardId") String flowCardId, @Param(value = "layer") int layer);
+ /**
+ * 鑾峰彇钀芥灦鐜荤拑淇℃伅锛屽寘鎷凡缁戝畾娴佺▼鍗°�佸眰鏁版湭钀芥灦鐨勭幓鐠冧俊鎭�
+ *
+ * @param isDownload 鏄惁鑾峰彇鏈惤鏋剁幓鐠冧俊鎭� True 宸茶惤鏋� false 鏈惤鏋�
+ * @return
+ */
List<DownGlassInfoDTO> queryWorkStationIsIn(@Param(value = "isDownload") Boolean isDownload);
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
index c66855e..17f9ba1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
@@ -7,16 +7,15 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.entity.DownGlassTask;
-import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
import com.mes.downglassinfo.mapper.DownGlassTaskMapper;
import com.mes.downglassinfo.service.DownGlassInfoService;
import com.mes.downglassinfo.service.DownGlassTaskService;
-import com.mes.downworkstation.entity.DownWorkstation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -36,7 +35,7 @@
@Autowired
private DownGlassInfoService downGlassInfoService; // MySQL Mapper
- @Autowired
+ @Resource
private DownGlassTaskMapper downGlassTaskMapper; // SQL Server Mapper
@Override
@@ -47,7 +46,7 @@
// Step 2: 浠� SQL Server 涓繃婊ゆ帀杩欎簺鐜荤拑 ID 骞舵煡璇换鍔�
QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("task_stauts", 1)
+ queryWrapper.eq("task_status", 1)
.and(qw -> qw.eq("task_type", 2).or().eq("task_type", 3));
List<DownGlassInfo> excludedGlassIds = downGlassInfoService.list();
@@ -63,7 +62,7 @@
@Override
public void updateTaskState(String id) {
UpdateWrapper<DownGlassTask> updateWrapper = new UpdateWrapper<>();
- updateWrapper.set("task_stauts", 2).eq("id", id);
+ updateWrapper.set("task_status", 2).eq("id", id);
baseMapper.update(new DownGlassTask(), updateWrapper);
}
@@ -99,7 +98,7 @@
// 濡傛灉涓婚敭鍊间笉瀛樺湪锛屽垯杩涜鎻掑叆鎿嶄綔
DownGlassTask newDownGlassTask = new DownGlassTask();
BeanUtils.copyProperties(downGlassTask, newDownGlassTask);
- newDownGlassTask.setTaskStauts(1); // 榛樿浠诲姟鐘舵�佷负1
+ newDownGlassTask.setTaskStatus(1); // 榛樿浠诲姟鐘舵�佷负1
newDownGlassTask.setCreateTime(new Date());
int rows = baseMapper.insert(newDownGlassTask);
return rows > 0 ? rows : null;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
index 327b48e..50991e4 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
@@ -2,7 +2,6 @@
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.downstorage.entity.DownStorageCageDetails;
-import org.apache.ibatis.annotations.Mapper;
/**
* <p>
@@ -12,7 +11,7 @@
* @author zhoush
* @since 2024-03-27
*/
-@Mapper
+
public interface DownStorageCageDetailsMapper extends MPJBaseMapper<DownStorageCageDetails> {
DownStorageCageDetails getGlassInfoMaxCount();
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 29c215b..a5a3a3c 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
@@ -71,7 +71,7 @@
*/
boolean DirectConnection(GlassInfo glassInfo);
- DownStorageCageDetails getGlassInfoMaxCount();
+ String getGlassInfoMaxCount(String glassId);
/**
* @param glassId
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
index 0332552..5281217 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
@@ -19,9 +19,9 @@
*/
public interface DownStorageCageService extends MPJBaseService<DownStorageCage> {
- DownGlassTask createDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, String taskType);
+ DownGlassTask createDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType);
- DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, Integer startCell, Integer endCell, String taskType);
+ DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, Integer startCell, Integer endCell, Integer taskType);
// List<Map<String, Object>> selectCacheLeisure();
@@ -52,12 +52,7 @@
*/
List<Map<String, Object>> selectDownStorageCages();
-
- /**
- * @return 鏌ヨ缂撳瓨涓渶澶氱殑娴佺▼鍗�
- */
List<DownStorageCageDetails> selectCacheMax();
-
}
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 1b3d559..027a0a0 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
@@ -3,19 +3,14 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.yulichang.query.MPJLambdaQueryWrapper;
-import com.github.yulichang.query.MPJQueryWrapper;
-
-
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.config.Const;
import com.mes.downstorage.entity.DownStorageCage;
import com.mes.downstorage.entity.DownStorageCageDetails;
import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
-
import com.mes.downstorage.mapper.DownStorageCageMapper;
import com.mes.downstorage.service.DownStorageCageDetailsService;
import com.mes.downworkstation.entity.DownWorkstation;
@@ -198,8 +193,9 @@
}
@Override
- public DownStorageCageDetails getGlassInfoMaxCount() {
- return baseMapper.getGlassInfoMaxCount();
+ public String getGlassInfoMaxCount(String glassId) {
+ DownStorageCageDetails glassInfoMaxCount = baseMapper.getGlassInfoMaxCount();
+ return null == glassInfoMaxCount ? glassId : glassInfoMaxCount.getGlassId();
}
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 07dbd63..18e1259 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
@@ -48,7 +48,7 @@
private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
@Override
- public DownGlassTask createDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, String taskType) {
+ public DownGlassTask createDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType) {
DownGlassTask downGlassTask = new DownGlassTask();
BeanUtils.copyProperties(glassInfo, downGlassTask);
@@ -60,7 +60,7 @@
}
@Override
- public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, Integer startCell, Integer endCell, String taskType) {
+ public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, Integer startCell, Integer endCell, Integer taskType) {
DownGlassTask downGlassTask = new DownGlassTask();
BeanUtils.copyProperties(glassInfo, downGlassTask);
@@ -95,6 +95,7 @@
.eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)
.eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN))
.isNull(DownStorageCageDetails::getSlot)
+ .eq(DownStorageCage::getEnableState, Const.SLOT_ON)
.last("order by abs(t.slot - " + currentSlot + ") asc limit 2")
);
if (flag && CollectionUtil.isNotEmpty(emptyList)) {
@@ -105,6 +106,7 @@
}
return emptyList.get(0);
}
+
@Override
public List<DownStorageCageDetails> selectCacheMax() {
@@ -124,6 +126,7 @@
);
}
+
@Override
@@ -149,11 +152,20 @@
@Override
public boolean updateDownStorageCage(DownStorageCage downStorageCage) {
DownStorageCage downItem = baseMapper.selectById(downStorageCage.getId());
- downItem.setEnableState(downStorageCage.getEnableState());
- baseMapper.updateById(downItem);
- return true;
+ if (downItem != null) {
+ downItem.setEnableState(downStorageCage.getEnableState());
+ int rowsAffected = baseMapper.updateById(downItem);
+ if (rowsAffected > 0) {
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
}
+
/**
* 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
*
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
index 40f9793..2c15c6c 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
@@ -2,22 +2,21 @@
import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.downworkstation.entity.request.DownWorkRequest;
import com.mes.downworkstation.service.DownWorkstationService;
import com.mes.glassinfo.service.GlassInfoService;
+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.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
* </p>
*
* @author zhoush
@@ -33,73 +32,48 @@
private DownWorkstationService downWorkstationService;
@Autowired
private GlassInfoService glassInfoService;
+
@ApiOperation("鑾峰彇宸ヤ綅淇℃伅")
@GetMapping("/getone")
- public ResponseEntity<?> getOneDownWorkstations() {
+ public Result getOneDownWorkstations() {
try {
- List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations(1,6);
+ List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations(1, 6);
// 鏋勫缓绗﹀悎棰勬湡鏍煎紡鐨勫搷搴旀暟鎹�
- Map<String, Object> responseData = new HashMap<>();
- responseData.put("code", 200);
- responseData.put("msg", "鎴愬姛");
- responseData.put("data", data);
- // 杩斿洖 ResponseEntity 瀵硅薄锛屽寘鍚搷搴旀暟鎹拰鐘舵�佺爜
- return ResponseEntity.ok(responseData);
+ return Result.build(200, "鑾峰彇宸ヤ綅淇℃伅鎴愬姛", data);
} catch (Exception e) {
e.printStackTrace();
// 濡傛灉鍑虹幇寮傚父锛岃繑鍥為敊璇俊鎭�
- Map<String, Object> errorResponse = new HashMap<>();
- errorResponse.put("code", 500);
- errorResponse.put("msg", "鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
- return ResponseEntity.status(500).body(errorResponse);
+ return Result.build(500, "鑾峰彇宸ヤ綅淇℃伅澶辫触", 1);
}
}
@ApiOperation("鑾峰彇娴佺▼鍗″彿")
@GetMapping("/getflowCardId")
- public ResponseEntity<Map<String, Object>> getflowCardId() {
- Map<String, Object> responseData = new HashMap<>();
+ public Result getflowCardId() {
+
try {
List<Map<String, Object>> data = glassInfoService.getFlowCardId();
- responseData.put("code", 200);
- responseData.put("msg", "鎴愬姛");
- responseData.put("data", data);
- return ResponseEntity.ok(responseData);
+ return Result.build(200, "鑾峰彇娴佺▼鍗″彿鎴愬姛", data);
} catch (Exception e) {
- responseData.put("code", 500);
- responseData.put("msg", "澶辫触");
- responseData.put("data", null);
- return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(responseData);
+ return Result.build(500, "鑾峰彇娴佺▼鍗″彿澶辫触", 1);
}
}
-
-//缁戝畾鏋跺瓙
-@ApiOperation("缁戝畾鏋跺瓙")
+ //缁戝畾鏋跺瓙
+ @ApiOperation("缁戝畾鏋跺瓙")
@PostMapping("/updateFlowCardId")
- public ResponseEntity<Map<String, Object>> updateFlowCardId(@RequestBody Map<String, Object> requestData) {
- // 浠� requestData 涓幏鍙栦紶鍏ョ殑 flowCardId
- String flowCardId = (String) requestData.get("flowCardId");
- int workstationId = (int) requestData.get("workstationId");
+ public Result updateFlowCardId(@RequestBody DownWorkRequest request) {
- // 鏌ヨ瀵瑰簲 flowCardId 鐨勭幓鐠冧俊鎭�绘暟閲�
- int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId);
+ // 缁戝畾鏋跺瓙
+ downWorkstationService.updateFlowCardIdAndCount(request.getFlowCardId(), request.getWorkstationId(), request.getLayer());
- // 鏇存柊 down_workstation 琛ㄤ腑鐨勬�绘暟閲�
- downWorkstationService.updateFlowCardIdAndCount(flowCardId, glassInfoCount, workstationId);
-
- // 鏋勫缓鍝嶅簲鏁版嵁
- Map<String, Object> responseData = new HashMap<>();
- responseData.put("message", "updated successfully");
- responseData.put("code", 200);
- // 杩斿洖澶勭悊缁撴灉
- return ResponseEntity.ok(responseData);
+ return Result.build(200, "缁戝畾鏋跺瓙鎴愬姛", 1);
}
@ApiOperation("娓呴櫎宸ヤ綅淇℃伅")
@PostMapping("/clear")
- public ResponseEntity<Map<String, Object>> clearWorkstationInfo(@RequestBody Map<String, Object> requestData) {
+ public Result clearWorkstationInfo(@RequestBody Map<String, Object> requestData) {
// 璋冪敤 DownWorkstationService 涓殑鏂规硶娓呴櫎鎸囧畾宸ヤ綅ID鐨勪俊鎭�
int workstationId = (int) requestData.get("workstationId");
@@ -109,18 +83,10 @@
if (downWorkstations == totalWorkstations) {
downWorkstationService.clearFlowCardId(workstationId);
- Map<String, Object> responseData = new HashMap<>();
- responseData.put("message", "cleared successfully");
- responseData.put("code", 200);
- // 杩斿洖澶勭悊缁撴灉
- return ResponseEntity.ok(responseData);
- }
- else {
+ return Result.build(200, "娓呴櫎宸ヤ綅淇℃伅鎴愬姛", 1);
+ } else {
// 濡傛灉鎬绘暟閲忓拰钀芥灦鏁伴噺涓嶄竴鑷达紝杩斿洖閿欒鍝嶅簲
- Map<String, Object> errorResponse = new HashMap<>();
- errorResponse.put("message", "Total workstations count does not match down workstations count.");
- errorResponse.put("code", 400);
- return ResponseEntity.badRequest().body(errorResponse);
+ return Result.build(500, "娓呴櫎宸ヤ綅淇℃伅澶辫触", 1);
}
@@ -129,46 +95,38 @@
}
-
-
@ApiOperation("鑾峰彇宸ヤ綅鏄剧ず鍥�1")
@GetMapping("/getwo")
- public ResponseEntity<Map<String, Object>> getwo() {
- Map<String, Object> responseData = new HashMap<>();
+ public Result getwo() {
+
try {
- List<Map<String, Object>> data = downWorkstationService.getTotalGlassDimensionsByWorkstation(1,3);
- responseData.put("code", 200);
- responseData.put("msg", "鎴愬姛");
- responseData.put("data", data);
- return ResponseEntity.ok(responseData);
+ List<Map<String, Object>> data = downWorkstationService.getTotalGlassDimensionsByWorkstation(1, 3);
+ return Result.build(200, "鑾峰彇宸ヤ綅鏄剧ず鍥�1鎴愬姛", data);
} catch (Exception e) {
- responseData.put("code", 500);
- responseData.put("msg", "澶辫触");
- responseData.put("data", null);
- return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(responseData);
+ return Result.build(200, "鑾峰彇宸ヤ綅鏄剧ず鍥�1澶辫触", 1);
}
}
@ApiOperation("鑾峰彇宸ヤ綅鏄剧ず鍥�2")
@GetMapping("/getwo2")
- public ResponseEntity<Map<String, Object>> getw2o() {
- Map<String, Object> responseData = new HashMap<>();
+ public Result getwo2() {
+
try {
- List<Map<String, Object>> data = downWorkstationService.getTotalGlassDimensionsByWorkstation(4,6);
- responseData.put("code", 200);
- responseData.put("msg", "鎴愬姛");
- responseData.put("data", data);
- return ResponseEntity.ok(responseData);
+ List<Map<String, Object>> data = downWorkstationService.getTotalGlassDimensionsByWorkstation(4, 6);
+ return Result.build(200, "鑾峰彇宸ヤ綅鏄剧ず鍥�2鎴愬姛", data);
} catch (Exception e) {
- responseData.put("code", 500);
- responseData.put("msg", "澶辫触");
- responseData.put("data", null);
- return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(responseData);
+ return Result.build(200, "鑾峰彇宸ヤ綅鏄剧ず鍥�2澶辫触", 1);
+
}
}
-
-
+ @ApiOperation(" 鍔熻兘锛氬宸ヤ綅杩涜銆愬惎鐢�/绂佺敤銆�")
+ @PostMapping("/updateDownWorkstation")
+ @ResponseBody
+ public Result updateDownWorkstation(@RequestBody DownWorkstation downWorkstation) {
+ boolean isSucess = downWorkstationService.updateDownWorkstationstate(downWorkstation);
+ return Result.build(200, "鏇存崲鎴愬姛", isSucess);
+ }
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
index 7afc44a..896ac12 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
@@ -1,7 +1,6 @@
package com.mes.downworkstation.entity;
import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -62,14 +61,16 @@
/**
* 鎬绘暟閲�
*/
- @TableField("total_quantity")
- private Integer totalquantity;
+ private Integer totalQuantity;
/**
* 钀芥灦鏁伴噺
*/
- @TableField("racks_number")
- private Integer Racksnumber;
+ private Integer racksNumber;
+ /**
+ * 浜哄伐涓嬬墖鏁伴噺
+ */
+ private Integer otherNumber;
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstionAndDownGlassinfo.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstionAndDownGlassinfo.java
index 1229f98..c79112f 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstionAndDownGlassinfo.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstionAndDownGlassinfo.java
@@ -1,7 +1,6 @@
package com.mes.downworkstation.entity;
import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -17,8 +16,7 @@
@Data
@EqualsAndHashCode(callSuper = false)
-public class DownWorkstionAndDownGlassinfo
-{
+public class DownWorkstionAndDownGlassinfo {
/**
* 涓嬬墖宸ヤ綅琛╥d
*/
@@ -51,14 +49,9 @@
private Integer workState;
- @TableField("total_quantity")
- private Integer totalquantity;
+ private Integer totalQuantity;
- @TableField("racks_number")
- private Integer Racksnumber;
-
-
-
+ private Integer racksNumber;
/**
* 椤哄簭
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/dto/DownGlassInfoDTO.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/dto/DownGlassInfoDTO.java
index dc3fe51..7d9a7c0 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/dto/DownGlassInfoDTO.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/dto/DownGlassInfoDTO.java
@@ -21,11 +21,16 @@
*/
private Integer layer;
/**
- * 钀芥灦鏁伴噺
+ * 宸插嚭鐗囨暟閲�
*/
private Integer count;
/**
+ * 钀芥灦鏁伴噺
+ */
+ private Integer racksNumber;
+
+ /**
* 娴佺▼鍗℃湭杩涚墖鐨勭幓鐠冧俊鎭�
*/
private List<GlassInfo> glassInfoList;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/request/DownWorkRequest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/request/DownWorkRequest.java
new file mode 100644
index 0000000..9a72eae
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/request/DownWorkRequest.java
@@ -0,0 +1,28 @@
+package com.mes.downworkstation.entity.request;
+
+import lombok.Data;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/7/10 14:10
+ * @Description:
+ */
+@Data
+public class DownWorkRequest {
+
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String flowCardId;
+
+ /**
+ * 宸ヤ綅id
+ */
+ private int workstationId;
+
+ /**
+ * 灞傛暟
+ */
+ private int layer;
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
index 75bcc83..2c548c5 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
@@ -2,14 +2,9 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.downworkstation.entity.DownWorkstation;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
-
-import java.util.List;
/**
* <p>
@@ -19,7 +14,7 @@
* @author zhoush
* @since 2024-03-27
*/
-@Mapper
+
@Repository
@InterceptorIgnore(tenantLine = "true")
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
index b9b2df0..0098390 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
@@ -4,7 +4,6 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.entity.DownWorkstationTask;
-import org.mapstruct.Mapper;
import java.util.List;
@@ -18,7 +17,7 @@
*/
@DS("salve_hangzhoumes")
-@Mapper
+
public interface DownWorkstationTaskMapper extends BaseMapper<DownWorkstationTask> {
List<DownWorkstationTask> selectList();
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
index 8a4ba9d..a101328 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
@@ -49,11 +49,11 @@
/**
* @param flowCardId
- * @param glassInfoCount
+ *
* @param workstationId
* @return 鏇存柊鏋跺瓙鍜屾暟閲�
*/
- int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId);
+ void updateFlowCardIdAndCount(String flowCardId, int workstationId,int layer);
@@ -70,4 +70,11 @@
* @return
*/
DownWorkstation selectByFlowCardId(String flowcardid);
+
+
+ /**
+ * @param downWorkstation
+ * @returnq 鍚敤绂佺敤
+ */
+ boolean updateDownWorkstationstate(DownWorkstation downWorkstation);
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
index a602f88..cbcb1ff 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -4,8 +4,9 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
import com.mes.downglassinfo.entity.DownGlassInfo;
-import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
import com.mes.downglassinfo.service.DownGlassInfoService;
import com.mes.downglassinfo.service.DownGlassTaskService;
@@ -16,6 +17,7 @@
import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
import com.mes.downworkstation.service.DownWorkstationService;
import com.mes.downworkstation.service.DownWorkstationTaskService;
+import com.mes.glassinfo.service.GlassInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -32,7 +34,7 @@
@Autowired
private DownWorkstationMapper downWorkstationMapper;
- @Autowired(required=false)
+ @Autowired(required = false)
private DownWorkstationTaskMapper downWorkstationTaskMapper;
@Autowired
private DownGlassInfoService downGlassInfoService;
@@ -40,7 +42,10 @@
private DownGlassInfoMapper downGlassInfoMapper;
@Autowired
private DownGlassTaskService downGlassTaskService;
-
+ @Autowired
+ private GlassInfoService glassInfoService;
+ @Autowired
+ private DamageService damageservice;
@Autowired
private DownWorkstationTaskService downWorkstationTaskService;
@@ -53,16 +58,16 @@
@Override
public int getTotalQuantity(int workstationId) {
DownWorkstation result = baseMapper.selectOne(new QueryWrapper<DownWorkstation>().lambda()
- .select(DownWorkstation::getTotalquantity)
+ .select(DownWorkstation::getTotalQuantity)
.eq(DownWorkstation::getWorkstationId, workstationId));
- return result != null ? result.getTotalquantity() : 0;
+ return result != null ? result.getTotalQuantity() : 0;
}
//宸ヤ綅鏄剧ず
@Override
- public List<Map<String, Object>> getTotalGlassDimensionsByWorkstation(int start,int end) {
+ public List<Map<String, Object>> getTotalGlassDimensionsByWorkstation(int start, int end) {
MPJQueryWrapper<DownWorkstation> queryWrapper = new MPJQueryWrapper<>();
queryWrapper.select("t.workstation_id", "t.flow_card_id", "COALESCE(SUM(b.width), 0) AS totalwidth", "COALESCE(SUM(b.height), 0) AS totalheight")
.leftJoin("down_glass_info b on t.flow_card_id = b.flow_card_id")
@@ -71,8 +76,8 @@
;
- List<DownWorkstionAndDownGlassinfo> workstationList = downWorkstationMapper.selectJoinList(DownWorkstionAndDownGlassinfo.class, queryWrapper);
- // List<DownWorkstionAndDownGlassinfo> workstationList = null;
+ List<DownWorkstionAndDownGlassinfo> workstationList = downWorkstationMapper.selectJoinList(DownWorkstionAndDownGlassinfo.class, queryWrapper);
+ // List<DownWorkstionAndDownGlassinfo> workstationList = null;
List<Map<String, Object>> result = new ArrayList<>();
for (DownWorkstionAndDownGlassinfo downWorkstionAndDownGlassinfo : workstationList) {
Map<String, Object> rack = new HashMap<>();
@@ -89,7 +94,7 @@
List<DownGlassInfo> downGlassInfoList = downGlassInfoMapper.selectList(glassInfoQueryWrapper);
- if (!downGlassInfoList.isEmpty()) {
+ if (!downGlassInfoList.isEmpty()) {
item.put("downGlassInfoList", downGlassInfoList);
@@ -98,7 +103,7 @@
rack.put("item", item);
result.add(rack);
}
- log.info("result"+(result));
+ log.info("result" + (result));
return result; // 杩斿洖鏈�缁堢粨鏋�
}
@@ -111,7 +116,7 @@
.eq("workstation_id", workstationId);
DownWorkstation result = baseMapper.selectOne(queryWrapper);
- return result != null ? result.getRacksnumber() : 0;
+ return result != null ? result.getRacksNumber() : 0;
}
//鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅
@@ -136,13 +141,22 @@
@Override
- public int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
+ public void updateFlowCardIdAndCount(String flowCardId, int workstationId, int layer) {
+ int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId, layer);
+ QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("process_id", flowCardId);
+ queryWrapper.eq("technology_number", layer);
+
+ int otherNumber = damageservice.count(queryWrapper);
UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("total_quantity", glassInfoCount)
.set("flow_card_id", flowCardId)
+ .set("layer", layer)
+ .set("other_number", otherNumber)
.eq("workstation_id", workstationId);
- return baseMapper.update(new DownWorkstation(), updateWrapper);
+ this.update(updateWrapper);
+
}
@Override
@@ -155,9 +169,6 @@
baseMapper.update(new DownWorkstation(), updateWrapper);
}
-
-
-
@Override
@@ -180,6 +191,23 @@
}
+ @Override
+ public boolean updateDownWorkstationstate(DownWorkstation downWorkstation) {
+
+ DownWorkstation downWork = baseMapper.selectById(downWorkstation.getId());
+
+ if (downWork != null) {
+
+ downWork.setEnableState(downWorkstation.getEnableState());
+
+ baseMapper.updateById(downWork);
+
+ return true;
+ } else {
+
+ return false;
+ }
+ }
}
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
deleted file mode 100644
index 45eab78..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
+++ /dev/null
@@ -1,311 +0,0 @@
-package com.mes.job;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.mes.common.config.Const;
-import com.mes.downglassinfo.entity.DownGlassInfo;
-import com.mes.downglassinfo.entity.DownGlassTask;
-import com.mes.downglassinfo.service.DownGlassInfoService;
-import com.mes.downglassinfo.service.DownGlassTaskService;
-import com.mes.downstorage.entity.DownStorageCageDetails;
-import com.mes.downstorage.service.DownStorageCageDetailsService;
-import com.mes.downstorage.service.DownStorageCageService;
-import com.mes.downworkstation.entity.DownWorkstation;
-import com.mes.downworkstation.service.DownWorkstationService;
-import com.mes.downworkstation.service.DownWorkstationTaskService;
-import com.mes.glassinfo.entity.GlassInfo;
-import com.mes.glassinfo.service.GlassInfoService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * @Author : zhoush
- * @Date: 2024/5/8 8:17
- * @Description:
- */
-@Component
-@Slf4j
-public class DownCacheGlassTask {
-
-
- @Autowired
- DownGlassTaskService downGlassTaskService;
- @Autowired
- GlassInfoService glassInfoService;
- @Autowired
- DownStorageCageDetailsService downStorageCageDetailsService;
- @Autowired
- DownStorageCageService downStorageCageService;
- @Autowired
- DownWorkstationService downWorkstationService;
- @Autowired
- DownGlassInfoService downGlassInfoService;
-
-
- @Autowired
- private DownWorkstationTaskService downWorkstationTaskService;
-
- // @Value("${mes.threshold}")
- private int threshold;
-
-// @Scheduled(fixedDelay = 1000)
- public void autoBindRack() {
- log.info("鏍规嵁缂撳瓨涓凡缁忚繘鐗囩殑鐜荤拑绉嶆暟閲忔渶澶氱殑娴佺▼鍗″彿鑷姩缁戝畾涓�涓惎鐢ㄧ姸鎬佺殑绌烘灦瀛�");
-
- List<DownStorageCageDetails> Details = downStorageCageService.selectCacheMax();
- if (Details.size() > 0) {
- DownStorageCageDetails downStorageCageDetails = Details.get(0);
- String flowCardId = downStorageCageDetails.getFlowCardId();
- int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId);
- DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, null));
- List<DownWorkstation> downWorkstations = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
- .eq(DownWorkstation::getEnableState, 1));
-
- if (!downWorkstations.stream().anyMatch(workstation -> workstation.getFlowCardId().equals(flowCardId))) {
- downWorkstationService.updateFlowCardIdAndCount(flowCardId, glassInfoCount, downWorkstation.getWorkstationId());
- }
-
-
- }
- }
-
-
- // @Scheduled(fixedDelay = 1000)
- public void plcdownGlassTask() {
- // PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
-// String taskRequestTypeValue = plcParameterObject.getPlcParameter("A06_request_word").getValue();
-// String glassIdeValue = plcParameterObject.getPlcParameter("A05_scanning_ID").getValue();
-// String confirmationWrodValue = plcParameterObject.getPlcParameter("MES_confirmation_word").getValue();
-// String outGlassstate = plcParameterObject.getPlcParameter("A09_glass_status").getValue();
-// String MESSendingWord = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress();
- // String G06RobotTaskRequestWord = plcParameterObject.getPlcParameter("G06RobotTaskRequestWord").getAddress();
-
-
- String taskRequestTypeValue = "0";
- String glassIdeValue = "NG24041101C002-2-6-1-6";
- String confirmationWrodValue = "1";
- String outGlassstate = "1";
- String MESSendingWord = "1";
- String G11RobotTaskRequestWord = "0";
- String G06RobotTaskRequestWord = "0";
- String G13RobotTaskRequestWord = "0";
-
- log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佷负锛歿}",
- taskRequestTypeValue, glassIdeValue, confirmationWrodValue, outGlassstate);
-
-// if ("0".equals(taskRequestTypeValue)) {
-// if ("0".equals(confirmationWrodValue)) {
-// log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屼笖纭瀛椾负0锛屼笉鎵ц浠诲姟");
-// return;
-// }
-// log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屽皢纭瀛楁敼涓�0");
-// S7object.getinstance().plccontrol.WriteWord(MESSendingWord, 0);
-// return;
-// }
-// if (!"0".equals(confirmationWrodValue)) {
-// log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓嶄负0锛屽皢纭瀛楁敼涓�0");
-// S7object.getinstance().plccontrol.WriteWord(MESSendingWord, 0);
-// return;
-// }
-
- if ("1".equals(taskRequestTypeValue)) {
- log.info("3銆佽繘鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
- inTo(glassIdeValue, MESSendingWord);
- } else if ("2".equals(taskRequestTypeValue)) {
-
- log.info("3銆佸嚭鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
- outTo(MESSendingWord);
-
- } else if ("3".equals(taskRequestTypeValue)) {
- log.info("3銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟");
- if (outTo(MESSendingWord)) {
- inTo(glassIdeValue, MESSendingWord);
-
-
- }
- }
-
- if (("0".equals(G11RobotTaskRequestWord) || "0".equals(G06RobotTaskRequestWord)) || "0".equals(G13RobotTaskRequestWord)) {
- log.info("4銆佹湁涓嬬墖瀹屾垚淇″彿鏇存柊钀芥灦鏁伴噺");
- insertdownglassinfo();
- }
-
-
- }
-
- /**
- * 杩涚墖浠诲姟
- *
- * @param glassId
- * @param MESSendingWord
- * @param
- */
- private void inTo(String glassId, String MESSendingWord) {
- log.info("1銆佹寜鐓х幓鐠僫d:{}鑾峰彇鐜荤拑灏忕墖淇℃伅", glassId);
- GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
- if (glassInfo == null) {
- log.info("2銆佹鐜荤拑缂栧彿涓嶅瓨鍦�");
- return;
- }
- log.info("2銆佽幏鍙栧埌鐨勭幓鐠冧俊鎭负{}", glassInfo);
-
- if (downStorageCageDetailsService.DirectConnection(glassInfo)) {
- //鐩撮��
- //log.info("3銆佸鏋滃綋鍓嶇幓鐠冨睘浜庣増鍥緄d鍜岀墖搴忕殑椤哄簭鍒欑洿閫氾紝鎵ц涓嬬墖浠诲姟");
- log.info("3銆佸鏋滃綋鍓嶇幓鐠冨睘浜庢祦绋嬪崱涓殑鐗囧簭鐨勯『搴忓垯鐩撮�氾紝鎵ц涓嬬墖浠诲姟");
- DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, glassInfo.getFlowCardId()));
- int WorkstationId = downWorkstation.getWorkstationId();
- DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(glassInfo, 0, WorkstationId, "3");
- downGlassTaskService.insertCacheTask(downGlassTask);
-
- } else {
-
- // log.info("4銆佸鏋滀笉灞炰簬鐗堝浘id鍜岀墖搴忕殑椤哄簭鎵ц杩涚墖浠诲姟");
- log.info("4銆佸鏋滀笉灞炰簬娴佺▼鍗′腑鐨勭墖搴忕殑椤哄簭鎵ц杩涚墖浠诲姟");
-
- //娣诲姞杩涚墖浠诲姟 鏌ユ壘绌烘牸
- List<DownStorageCageDetails> list = downStorageCageService.selectCacheEmpty();
- if (list.size() > 0) {
- DownStorageCageDetails item = list.get(0);
-
-
- log.info("5銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", list);
- log.info("6銆佸皢鐜荤拑淇℃伅鎻掑叆鍗у紡鐞嗙墖绗�,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
- DownStorageCageDetails details = new DownStorageCageDetails();
- BeanUtils.copyProperties(glassInfo, details);
- details.setState(Const.GLASS_STATE_IN);
- details.setGlassId(glassInfo.getGlassId());
- details.setSlot(item.getSlot());
- details.setDeviceId(item.getDeviceId());
- downStorageCageDetailsService.save(details);
- log.info("7銆佺幓鐠冧俊鎭凡瀛樺叆鐞嗙墖绗艰鎯呰〃锛岀幓鐠冧俊鎭负{}", details);
-
- DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(glassInfo, 0, item.getSlot(), "1");
- //娣诲姞杩涚墖浠诲姟
- log.info("8銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃{}", downGlassTask);
- downGlassTaskService.insertCacheTask(downGlassTask);
- }
-
-
- }
- log.info("9銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
- //S7object.getinstance().plccontrol.WriteWord(MESSendingWord, 1);
- }
-
- /**
- * 鍑虹墖浠诲姟
- *
- * @param MESSendingWord
- */
- private Boolean outTo(String MESSendingWord) {
- // log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勬枡鏋跺彿 鏌ヨ绗﹀悎鎸夌収鐗堝浘id鍜岀墖搴忓嚭鐗�,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
- log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勬枡鏋跺彿 鏌ヨ绗﹀悎鎸夌収娴佺▼鍗′腑椤哄簭鍑虹墖,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
-
-// List<DownStorageCageDetails> list1to3 = downStorageCageDetailsService.CacheOut1(1, 3);
-// List<DownStorageCageDetails> list4to6 = downStorageCageDetailsService.CacheOut1(4, 6);
- List<DownStorageCageDetails> list1to6 = downStorageCageDetailsService.CacheOut2(1, 6);
-
- DownStorageCageDetails selectedItem = null;
-
- Integer endCell = null;
-
- // 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊
- if (!list1to6.isEmpty()) {
- DownStorageCageDetails item3 = list1to6.get(0);
- //鍚庢湡鏈夌敓浜ц鍒�
- if (item3.getHeight() >= 2500 && item3.getWidth() >= 2660) {
- log.info("浜哄伐澶勭悊");
- selectedItem = item3;
-
- } 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) {
- DownWorkstation downWorkstation = downWorkstationService.getOne(
- new LambdaQueryWrapper<DownWorkstation>()
- .eq(DownWorkstation::getFlowCardId, selectedItem.getFlowCardId())
- );
- endCell = downWorkstation.getWorkstationId();
- if (endCell == null) {
- endCell = 7;
- }
- DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(selectedItem, 9, endCell, "2");
- downGlassTaskService.insertCacheTask(downGlassTask);
- LambdaQueryWrapper<DownStorageCageDetails> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(DownStorageCageDetails::getGlassId, selectedItem.getGlassId());
- DownStorageCageDetails updateDetail = new DownStorageCageDetails();
- updateDetail.setState(Const.GLASS_STATE_OUT);
- downStorageCageDetailsService.update(updateDetail, wrapper);
- log.info("鏇存柊鍑虹墖鐜荤拑鐨勭姸鎬佷负{}", Const.GLASS_STATE_OUT);
- // S7object.getinstance().plccontrol.WriteWord(MESSendingWord, 2);
-
- return true;
- }
-
- // 杩斿洖缁撴灉
- return false;
- }
-
-
- //
- public void insertdownglassinfo() {
- try {
-
- List<DownGlassTask> taskdownGlassInf = downGlassTaskService.getUnloadingTaskState();
- if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
-
- for (DownGlassTask downGlassInfo : taskdownGlassInf) {
- // 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
- DownGlassInfo newdownGlassInfo = new DownGlassInfo();
-
- Integer maxSequence = downGlassInfoService.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
- // 鍒濆鍖栭『搴忓瓧娈靛��
- int sequence = maxSequence != null ? maxSequence + 1 : 1;
- BeanUtils.copyProperties(downGlassInfo, newdownGlassInfo);
- // 璁剧疆椤哄簭瀛楁鍊�
- newdownGlassInfo.setSequence(sequence);
- // 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
- downGlassInfoService.insertDownGlassInfo(newdownGlassInfo);
- log.info("鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃");
- 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);
- sequence++; // 閫掑椤哄簭瀛楁鍊�
-
-
- }
- }
- } catch (Exception e) {
- // 鎵撳嵃寮傚父淇℃伅
- e.printStackTrace();
- // 鎴栬�呭彲浠ヨ繘琛屽叾浠栧紓甯稿鐞嗭紝姣斿璁板綍鏃ュ織鎴栬�呰繑鍥炵壒瀹氱殑閿欒淇℃伅
- }
-
-
- }
-
-
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index e9503b4..8b40827 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -4,6 +4,7 @@
import cn.smallbun.screw.core.util.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mes.common.S7object;
import com.mes.common.config.Const;
import com.mes.device.PlcParameterObject;
@@ -29,10 +30,7 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -72,8 +70,14 @@
@Value("${mes.maxHeight}")
private Integer maxHeight;
+ @Value("${mes.minWidth}")
+ private Integer minWidth;
- @Scheduled(fixedDelay = 1000)
+ @Value("${mes.minHeight}")
+ private Integer minHeight;
+
+
+ @Scheduled(fixedDelay = 3000)
public void plcHomeEdgTask() {
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String requestWord = plcParameterObject.getPlcParameter("requestWord").getValue();
@@ -86,6 +90,7 @@
String confirmationWrodValue = plcParameterObject.getPlcParameter("confirmationWord").getValue();
String confirmationWrodAddress = plcParameterObject.getPlcParameter("confirmationWord").getAddress();
String currentSlot = plcParameterObject.getPlcParameter("currentCell").getValue();
+
log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛歡06:{}銆乬08:{}銆乬11:{}銆乬13:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
requestWord, glassIdeValue, confirmationWrodValue, out06Glassstate, out08Glassstate, out11Glassstate, out13Glassstate, currentSlot);
@@ -108,7 +113,7 @@
inTo(glassIdeValue, requestWord, currentSlot);
} else if ("2".equals(requestWord)) {
//09绌洪棽 锛�1 10绌洪棽 锛�2 閮界┖闂诧細3 鍏朵粬0
- log.info("2銆佸嚭鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
+ log.info("2銆佸嚭鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛屽嚭鐗囦换鍔�");
outTo(out06Glassstate, out08Glassstate, out11Glassstate, out13Glassstate, glassIdeValue, currentSlot);
} else if ("3".equals(requestWord)) {
log.info("2銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟");
@@ -135,8 +140,8 @@
}
Boolean checkFlag = Boolean.FALSE;
//鐜荤拑灏哄鏄惁璧颁汉宸ヤ笅鐗�
- if (glassInfo.getWidth() > maxWidth || glassInfo.getHeight() > maxHeight) {
- log.info("璇ョ幓鐠冨昂瀵歌蛋浜哄伐涓嬬墖,鐩存帴杩涚墖");
+ if (glassInfo.getWidth() > maxWidth || glassInfo.getHeight() > maxHeight || glassInfo.getWidth() < minWidth || glassInfo.getHeight() < minHeight) {
+ log.info("璇ョ幓鐠冨昂瀵镐笉绗﹀悎瑕佹眰锛岄渶瑕佽蛋浜哄伐涓嬬墖鐩存帴杩涚墖");
} else {
log.info("璇ョ幓鐠冨昂瀵搁潪浜哄伐涓嬬墖");
//鑾峰彇璇ョ幓鐠冪殑娴佺▼鍗℃槸鍚﹀凡缁戝畾鏋跺瓙
@@ -152,14 +157,11 @@
if (!checkFlag && !isBind) {
log.info("璇ョ幓鐠冪殑娴佺▼鍗℃湭缁戝畾鏋跺瓙锛岃幏鍙栨槸鍚︽湁绌烘灦瀛�");
List<DownWorkstation> list = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
- .isNull(DownWorkstation::getFlowCardId));
+ .isNull(DownWorkstation::getFlowCardId).orderByDesc(DownWorkstation::getWorkstationId));
if (CollectionUtils.isNotEmpty(list)) {
log.info("鏈夌┖鏋跺瓙,灏嗘祦绋嬪崱涓庢灦瀛愬ソ缁戝畾锛屾墽琛岃繘鐗囦换鍔� 缁撴潫");
//缁戝畾娴佺▼鍗�
- downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>()
- .set(DownWorkstation::getFlowCardId, glassInfo.getFlowCardId())
- .set(DownWorkstation::getLayer, glassInfo.getLayer())
- .eq(DownWorkstation::getWorkstationId, list.get(0).getWorkstationId()));
+ downWorkstationService.updateFlowCardIdAndCount(glassInfo.getFlowCardId(), glassInfo.getLayer(), list.get(0).getWorkstationId());
checkFlag = Boolean.TRUE;
}
}
@@ -174,27 +176,28 @@
endLoop:
for (DownGlassInfoDTO e : downGlassInfoDTOList) {
List<GlassInfo> glassInfoList = e.getGlassInfoList();
- for (GlassInfo item : glassInfoList) {
- if (item.getWidth() == glassInfo.getWidth() && item.getHeight() == glassInfo.getHeight()
- && item.getThickness() == glassInfo.getThickness() && item.getFilmsid().equals(glassInfo.getFilmsid())) {
- //鐜荤拑鏄惁涓哄灞�
- checkFlag = multilayerCheck(item, Boolean.FALSE);
- if (checkFlag) {
- //鐜荤拑鏇挎崲 浠呮浛鎹㈡祦绋嬪崱id鍙婂眰鏁�
- String tempFlowCardId = item.getFlowCardId();
- Integer tempLayer = item.getLayer();
- String flowCardId = glassInfo.getFlowCardId();
- Integer layer = glassInfo.getLayer();
- log.info("鏇挎崲娴佺▼鍗′俊鎭�,褰撳墠鐜荤拑淇℃伅:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗},鏇挎崲鍚庣幓鐠冧俊鎭�:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗}",
- item, glassInfo, flowCardId, layer, tempFlowCardId, tempLayer);
- glassInfo.setFlowCardId(tempFlowCardId);
- glassInfo.setLayer(tempLayer);
- glassInfoService.updateById(glassInfo);
- item.setFlowCardId(flowCardId);
- item.setLayer(layer);
- glassInfoService.updateById(item);
- break endLoop;
- }
+ Optional<GlassInfo> glassInfoTempOptional = glassInfoList.stream().filter(item -> item.getWidth() == glassInfo.getWidth() && item.getHeight() == glassInfo.getHeight()
+ && item.getThickness() == glassInfo.getThickness() && item.getFilmsid().equals(glassInfo.getFilmsid()))
+ .findFirst();
+ if (glassInfoTempOptional.isPresent()) {
+ GlassInfo item = glassInfoTempOptional.get();
+ //鐜荤拑鏄惁涓哄灞�
+ checkFlag = multilayerCheck(item, Boolean.FALSE);
+ if (checkFlag) {
+ //鐜荤拑鏇挎崲 浠呮浛鎹㈡祦绋嬪崱id鍙婂眰鏁�
+ String tempFlowCardId = item.getFlowCardId();
+ Integer tempLayer = item.getLayer();
+ String flowCardId = glassInfo.getFlowCardId();
+ Integer layer = glassInfo.getLayer();
+ log.info("鏇挎崲娴佺▼鍗′俊鎭�,褰撳墠鐜荤拑淇℃伅:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗},鏇挎崲鍚庣幓鐠冧俊鎭�:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗}",
+ item, glassInfo, flowCardId, layer, tempFlowCardId, tempLayer);
+ glassInfo.setFlowCardId(tempFlowCardId);
+ glassInfo.setLayer(tempLayer);
+ glassInfoService.updateById(glassInfo);
+ item.setFlowCardId(flowCardId);
+ item.setLayer(layer);
+ glassInfoService.updateById(item);
+ break endLoop;
}
}
}
@@ -207,11 +210,13 @@
downStorageCageDetails.setState(Const.GLASS_STATE_IN);
downStorageCageDetails.setSlot(nearestEmpty.getSlot());
downStorageCageDetailsService.save(downStorageCageDetails);
-// 鐢熸垚杩涚墖浠诲姟
+
+ // 鐢熸垚杩涚墖浠诲姟
initDownGlassTask(glassInfo, 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
}
- public Boolean outTo(String glassStatus06, String out08Glassstate, String glassStatus11, String glassStatus13, String glassId, String currentSlot) {
+ public Boolean outTo(String glassStatus06, String out08Glassstate, String glassStatus11, String
+ glassStatus13, String glassId, String currentSlot) {
if ("2".equals(glassStatus06) && "2".equals(glassStatus11) && "2".equals(glassStatus13)) {
log.info("G06銆丟11銆丟13鍒嗗埆涓簕},{}銆亄}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖", glassStatus06, glassStatus11, glassStatus13);
return Boolean.FALSE;
@@ -236,8 +241,8 @@
return Boolean.FALSE;
}
Boolean flag08 = "1".equals(out08Glassstate) ? Boolean.TRUE : Boolean.FALSE;
- if (!generateTaskByShelf(glassStatus11, flag08, glassStatus13, tempList, cageDetails)) {
- return generateTaskByShelf(glassStatus11, !flag08, glassStatus13, tempList, cageDetails);
+ if (!generateTaskByShelf(glassStatus06, glassStatus11, flag08, glassStatus13, tempList, cageDetails, glassId)) {
+ return generateTaskByShelf(glassStatus06, glassStatus11, !flag08, glassStatus13, tempList, cageDetails, glassId);
}
return Boolean.TRUE;
}
@@ -279,16 +284,17 @@
}
}
- private Boolean generateTaskByShelf(String glassStatus, Boolean flag08, String glassStatus13, List<DownStorageCageDetails> tempList, DownStorageCageDetails cageDetails) {
+ private Boolean generateTaskByShelf(String glassStatus06, String glassStatus11, Boolean flag08, String
+ glassStatus13, List<DownStorageCageDetails> tempList, DownStorageCageDetails cageDetails, String glassId) {
//鑾峰彇2涓満姊拌噦鑼冨洿鍐呯殑鏋跺瓙缁戝畾鐨勬祦绋嬪崱淇℃伅
List<Integer> workList = new ArrayList();
if (flag08) {
- if (!"2".equals(glassStatus)) {
+ if (!"2".equals(glassStatus11)) {
workList.addAll(Const.G11_WORK_STATION);
}
} else {
- if (!"2".equals(glassStatus)) {
+ if (!"2".equals(glassStatus06)) {
workList.addAll(Const.G06_WORK_STATION);
}
}
@@ -297,8 +303,8 @@
//瀵圭鍐呯幓鐠冭繘琛岃繃婊わ紝浠呭嚭绗﹀悎閫昏緫鐨勭幓鐠�
if (CollectionUtils.isNotEmpty(workList)) {
List<DownWorkstation> downWorkstationList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
- .eq(DownWorkstation::getEnableState, 0).in(DownWorkstation::getWorkstationId, workList));
- log.info("鏋跺瓙琚鐢紝鏃犳硶鍑虹墖钀芥灦");
+ .eq(DownWorkstation::getEnableState, Const.SLOT_ON).in(DownWorkstation::getWorkstationId, workList));
+// log.info("鏋跺瓙琚鐢紝鏃犳硶鍑虹墖钀芥灦");
if (CollectionUtils.isEmpty(downWorkstationList)) {
log.info("绗煎瓙琚鐢紝鏃犳硶璧版満姊拌噦涓嬬墖");
//璧颁汉宸ヤ笅鐗�
@@ -348,10 +354,8 @@
List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationIsIn(Boolean.TRUE);
List<String> downGlassFlowList = downGlassInfoDTOList.stream().map(item -> item.getFlowCardId() + ":" + item.getLayer()).collect(Collectors.toList());
if (CollectionUtils.isEmpty(downGlassFlowList)) {
- //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑
- DownStorageCageDetails downStorageCageDetails = downStorageCageDetailsService.getGlassInfoMaxCount();
- //缁戝畾娴佺▼鍗★紝鏇存柊鐜荤拑鐘舵�侊紝鐢熸垚鍑虹墖浠诲姟锛�
- tempGlassId = downStorageCageDetails.getGlassId();
+ //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃� 鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖
+ tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId);
isBind = Boolean.TRUE;
break loop;
}
@@ -362,9 +366,8 @@
// List<DownWorkstation> emptyShelfList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
// .isNull(DownWorkstation::getFlowCardId));
if (isEmptyShelf) {
- DownStorageCageDetails downStorageCageDetails = downStorageCageDetailsService.getGlassInfoMaxCount();
- //缁戝畾娴佺▼鍗★紝鏇存柊鐜荤拑鐘舵�侊紝鐢熸垚鍑虹墖浠诲姟
- tempGlassId = downStorageCageDetails.getGlassId();
+ //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃� 鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖
+ tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId);
isBind = Boolean.TRUE;
break loop;
}
@@ -435,7 +438,8 @@
}
}
- public Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean isBind, DownStorageCageDetails cageDetails) {
+ public Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean
+ isBind, DownStorageCageDetails cageDetails) {
//鎸夌幓鐠僫d鑾峰彇鐜荤拑淇℃伅
DownStorageCageDetails downStorageCageDetails = null;
if (glassId.equals(cageDetails.getGlassId())) {
@@ -443,19 +447,17 @@
taskType = 3;
} else {
downStorageCageDetails = downStorageCageDetailsService.getOne(new LambdaQueryWrapper<DownStorageCageDetails>()
- .eq(DownStorageCageDetails::getGlassId, glassId));
+ .eq(DownStorageCageDetails::getGlassId, glassId).eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN));
}
Integer endCell = null;
- if (isBind) {
+ if (!isBind) {
//鑾峰彇绌烘灦瀛愪俊鎭紝灏嗙┖鏋跺瓙淇℃伅缁戝畾娴佺▼鍗�
DownWorkstation emptyDownWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>()
.isNull(DownWorkstation::getFlowCardId).orderByDesc(DownWorkstation::getWorkstationId).last("limit 1"));
if (null != emptyDownWorkstation) {
log.info("鑾峰彇鍒扮┖鏋跺瓙淇℃伅锛岀粦瀹氭祦绋嬪崱");
- emptyDownWorkstation.setFlowCardId(downStorageCageDetails.getFlowCardId());
- emptyDownWorkstation.setLayer(downStorageCageDetails.getLayer());
- downWorkstationService.updateById(emptyDownWorkstation);
+ downWorkstationService.updateFlowCardIdAndCount(downStorageCageDetails.getFlowCardId(), downStorageCageDetails.getLayer(), emptyDownWorkstation.getWorkstationId());
endCell = emptyDownWorkstation.getWorkstationId();
} else {
log.info("娌℃湁绌烘灦瀛愪俊鎭紝鏃犳硶缁戝畾娴佺▼鍗�");
@@ -475,10 +477,18 @@
return Boolean.FALSE;
}
//鏇存柊钀芥灦鐜荤拑鏁伴噺
+ if (endCell == 7) {
+ downWorkstationService.update(new UpdateWrapper<DownWorkstation>().eq("flow_card_id", downStorageCageDetails.getFlowCardId())
+ .eq("layer", downStorageCageDetails.getLayer()).setSql("other_number = other_number +1"));
+ } else {
+ downWorkstationService.update(new UpdateWrapper<DownWorkstation>().eq("flow_card_id", downStorageCageDetails.getFlowCardId())
+ .eq("layer", downStorageCageDetails.getLayer()).setSql("racks_number = racks_number +1"));
+ }
//鐢熸垚浠诲姟淇℃伅
DownGlassInfo downGlassInfo = new DownGlassInfo();
BeanUtils.copyProperties(downStorageCageDetails, downGlassInfo);
+ //todo锛氳惤鏋剁墖搴�
downGlassInfoService.save(downGlassInfo);
//鐢熸垚浠诲姟淇℃伅
GlassInfo glassInfo = new GlassInfo();
@@ -492,12 +502,12 @@
downGlassTask.setStartCell(startCell);
downGlassTask.setGlassId(glassInfo.getGlassId());
downGlassTask.setEndCell(endCell);
- downGlassTask.setTaskType(taskType + "");
+ downGlassTask.setTaskType(taskType);
downGlassTask.setWidth((int) glassInfo.getWidth());
downGlassTask.setHeight((int) glassInfo.getHeight());
downGlassTask.setFlowCardId(glassInfo.getFlowCardId());
downGlassTask.setLayer(glassInfo.getLayer());
- downGlassTask.setTaskStauts(0);
+ downGlassTask.setTaskStatus(0);
downGlassTask.setCreateTime(new Date());
downGlassTaskService.save(downGlassTask);
//鍚憄lc鍙戦�佸懡浠�
@@ -505,7 +515,8 @@
startCell, endCell, taskType);
}
- private Boolean sendMessageToPlc(int width, int height, int thickness, int startCell, int endCell, int taskType) {
+ private Boolean sendMessageToPlc(int width, int height, int thickness, int startCell, int endCell,
+ int taskType) {
S7control s7control = S7object.getinstance().plccontrol;
PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
s7control.writeWord(plcMesObject.getPlcParameter("Glass_width").getAddress(), width);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
index ac8379f..de826b1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
@@ -12,7 +12,7 @@
{
"codeId": "requestID",
"addressIndex": "2",
- "addressLenght": "30"
+ "addressLenght": "20"
},
{
"codeId": "currentCell",
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-cz.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-cz.yml
index 3149cc6..c4c456e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-cz.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-cz.yml
@@ -10,7 +10,7 @@
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
salve_hangzhoumes:
- url: jdbc:sqlserver://192.168.30.101:1433;databasename=hangzhoumes
+ url: jdbc:sqlserver://192.168.10.2:1433;databasename=hangzhoumes
username: sa
password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-dev.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-dev.yml
index 3097382..f89522e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-dev.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-dev.yml
@@ -14,6 +14,11 @@
username: sa
password: beibo.123/
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+ 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
cloud:
nacos:
discovery:
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
index b13162f..8df8e09 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@
spring:
profiles:
- active: dev
+ active: cz
application:
name: unLoadGlass
@@ -14,8 +14,10 @@
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mes:
- maxWidth: 1000 #涓嬬墖鐨勬渶澶у搴�
- maxHeight: 1000 #涓嬬墖鐨勬渶澶ч珮搴�
+ maxWidth: 2500 #涓嬬墖鐨勬渶澶у搴�
+ maxHeight: 2000 #涓嬬墖鐨勬渶澶ч珮搴�
+ minWidth: 400 #涓嬬墖鐨勬渶灏忓搴�
+ minHeight: 400 #涓嬬墖鐨勬渶灏忛珮搴�
throughWidth: 3000
- throughHeight: 3000
+ throughHeight: 2500
threshold: 5 #涓嬬墖鐨勬渶澶ч槇鍊�
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
index 76a9216..1930840 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
@@ -10,7 +10,7 @@
<resultMap id="downGlassInfo" type="com.mes.downworkstation.entity.dto.DownGlassInfoDTO">
<result column="flow_card_id" property="flowCardId"/>
<result column="layer" property="layer"/>
- <result column="count" property="count"/>
+ <result column="racks_number" property="racksNumber"/>
<collection property="glassInfoList" ofType="com.mes.glassinfo.entity.GlassInfo">
<id column="id" property="id"/>
<result column="flow_card_id" property="flowCardId"/>
@@ -45,31 +45,29 @@
</select>
<select id="queryWorkStationIsIn" resultMap="downGlassInfo">
- SELECT T.*
+ SELECT
+ T.FLOW_CARD_ID,
+ T.LAYER,
+ T.RACKS_NUMBER
<if test="!isDownload">
,T1.*
</if>
- FROM (
- SELECT T.FLOW_CARD_ID,
- T.LAYER,
- COUNT(T.LAYER) AS COUNT
FROM
DOWN_WORKSTATION T
- LEFT JOIN DOWN_GLASS_INFO T1 ON T.FLOW_CARD_ID = T1.FLOW_CARD_ID
- GROUP BY T.FLOW_CARD_ID,LAYER
- HAVING T.FLOW_CARD_ID IS NOT NULL
- ) T
INNER JOIN GLASS_INFO T1 ON T.FLOW_CARD_ID = T1.FLOW_CARD_ID
AND T.LAYER = T1.LAYER
LEFT JOIN DOWN_GLASS_INFO T2 ON T1.GLASS_ID = T2.GLASS_ID
<where>
- <if test="isDownload">
+ <if test="!isDownload">
AND T2.GLASS_ID IS NULL
</if>
- <if test="!isDownload">
+ <if test="isDownload">
AND T2.GLASS_ID IS not NULL
</if>
</where>
- order by t.count desc
+ ORDER BY
+ T.RACKS_NUMBER DESC,
+ T1.TEMPERING_LAYOUT_ID,
+ T1.TEMPERING_FEED_SEQUENCE DESC
</select>
</mapper>
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
index 7283d26..4029a6e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
@@ -12,9 +12,11 @@
import com.mes.downstorage.service.impl.DownStorageCageDetailsServiceImpl;
import com.mes.downstorage.service.impl.DownStorageCageServiceImpl;
+import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.service.DownWorkstationService;
import com.mes.downworkstation.service.impl.DownWorkstationServiceImpl;
import com.mes.glassinfo.service.impl.GlassInfoServiceImpl;
+import com.mes.job.DownLoadCacheGlassTask;
import com.mes.utils.Result;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
@@ -97,14 +99,14 @@
@Test
public void testupdateFlowCardIdAndCount() {
log.info("缁戝畾娴佺▼鍗″彿鍜屾暟閲�");
- downWorkstationServiceImpl.updateFlowCardIdAndCount("1", 1, 1);
+ downWorkstationServiceImpl.updateFlowCardIdAndCount("NG24060401A020", 1, 2);
}
@Test
public void testplc() {
log.info("娴嬭瘯");
- glassInfoServiceImpl.getGlassInfoCountByFlowCardId("NG24030702A01");
+ glassInfoServiceImpl.getGlassInfoCountByFlowCardId("NG24030702A01",1);
}
@@ -190,15 +192,41 @@
}
@Test
+ public void updateDownWorkstationstate() {
+
+ DownWorkstation downWorkstation= new DownWorkstation();
+
+ downWorkstation.setId(1);
+ downWorkstation.setEnableState(0);
+ downWorkstationServiceImpl.updateDownWorkstationstate(downWorkstation);
+ }
+
+
+ @Test
+ public void updateDownstate() {
+
+ DownStorageCage downStorageCage= new DownStorageCage();
+
+ downStorageCage.setId(1);
+ downStorageCage.setEnableState(0);
+ downStorageCageServiceImpl.updateDownStorageCage(downStorageCage);
+ }
+
+
+ /* @Test
public void updateDownStorageCage() {
DownStorageCage downStorageCage= new DownStorageCage();
- downStorageCage.setEnableState("0");
+ downStorageCage.setEnableState(0);
downStorageCage.setId(1);
downStorageCageService.updateDownStorageCage(downStorageCage);
- }
+ }*/
+
+
+
+
}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/pom.xml b/hangzhoumesParent/moduleService/pom.xml
index 005b896..55ea5f6 100644
--- a/hangzhoumesParent/moduleService/pom.xml
+++ b/hangzhoumesParent/moduleService/pom.xml
@@ -18,6 +18,7 @@
<module>LoadGlassModule</module>
<module>TemperingGlassModule</module>
<module>UnLoadGlassModule</module>
+ <module>GlassStorageModule</module>
</modules>
<properties>
--
Gitblit v1.8.0