From daed20c553f77fc48695f8523cd57bc56fb5a0fd Mon Sep 17 00:00:00 2001
From: wang <3597712270@qq.com>
Date: 星期三, 10 四月 2024 08:35:29 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
LoadGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java | 77
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java | 20
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/exception/GlobalExceptionHandler.java | 32
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java | 30
TemperingGlassModule/src/main/JsonFile/PlcAlbania.json | 414 ++
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml | 22
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/TokenManager.java | 30
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MyCorsConfig.java | 25
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java | 97
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/TokenLogoutHandler.java | 35
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java | 131
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java | 50
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/UpWorkstationController.java | 21
hangzhoumesParent/gateway/pom.xml | 31
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java | 20
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/TokenTools.java | 22
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java | 20
UI-Project/src/stores/userInfo.js | 8
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/TemperingGlassModuleApplication.java | 29
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java | 130
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/impl/UpWorkstationServiceImpl.java | 20
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java | 16
CacheGlassModule/src/main/java/com/mes/controller/TidyUpGlassModuleController.java | 41
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 20
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java | 20
TemperingGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java | 2
UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java | 10
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/UpWorkstationMapper.java | 16
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java | 96
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java | 16
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/ExportToWord.java | 313 +
hangzhoumesParent/gateway/src/main/java/com/mes/GateWayApplication.java | 20
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java | 21
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java | 20
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java | 16
LoadGlassModule/src/main/java/com/mes/mapper/LoadGlassMapper.java | 22
hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java | 33
TemperingGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java | 77
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 280 +
CacheGlassModule/src/main/java/com/mes/MesApplication.java | 2
TemperingGlassModule/src/main/java/com/mes/controller/TemperingController.java | 51
UnLoadGlassModule/src/main/java/com/mes/mapper/GlassInfoMapper.java | 6
UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java | 4
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java | 27
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java | 16
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 20
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml | 23
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java | 16
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java | 421 ++
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/DefaultPasswordEncoder.java | 25
hangzhoumesParent/common/springsecurity/pom.xml | 37
LoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java | 128
hangzhoumesParent/gateway/src/main/resources/application.yml | 56
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageDetailsController.java | 19
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java | 16
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java | 16
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/UpWorkstationService.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java | 52
hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/Result.java | 56
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/service/impl/GlassInfoServiceImpl.java | 20
TemperingGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java | 89
UnLoadGlassModule/src/main/java/com/mes/entity/DownStorageCageDetails.java | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java | 20
UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue | 212 +
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java | 21
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java | 16
TemperingGlassModule/src/main/java/com/mes/MesApplication.java | 3
LoadGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuController.java | 4
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java | 95
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java | 61
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml | 23
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java | 16
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java | 16
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java | 21
UI-Project/src/views/UnLoadGlass/loadmachineracktwo.vue | 16
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java | 16
CacheGlassModule/src/main/java/com/mes/service/pp/PpService.java | 51
CacheGlassModule/src/main/java/com/mes/mapper/HangzhouMesMapper.java | 41
UI-Project/src/views/PurchaseReturn/purchaseStorage.vue | 2
UnLoadGlassModule/src/main/java/com/mes/service/DownWorkstationService.java | 16
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java | 20
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java | 16
CacheGlassModule/src/main/java/com/mes/mapper/PpMapper.java | 39
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java | 21
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java | 65
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/TaskCacheMapper.java | 16
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/entity/GlassInfo.java | 130
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java | 16
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java | 29
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java | 20
TemperingGlassModule/src/main/java/com/mes/service/TemperingOverService.java | 32
hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResponseUtil.java | 28
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/UnauthEntryPoint.java | 18
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java | 16
hangzhoumesParent/common/pom.xml | 189 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java | 16
TemperingGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java | 128
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java | 20
LoadGlassModule/src/main/java/com/mes/entity/device/InitUtil.java | 124
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java | 16
UI-Project/src/views/HomeView.vue | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java | 21
UnLoadGlassModule/target/classes/application.yml | 1
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java | 30
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java | 36
UI-Project/vite.config.js | 45
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/entity/SecurityUser.java | 73
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java | 35
TemperingGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java | 142
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java | 21
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/entity/UpWorkstation.java | 75
hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java | 36
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java | 16
UI-Project/src/views/LoginView.vue | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java | 16
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java | 49
UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java | 19
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenLoginFilter.java | 74
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/config/TokenWebSecurityConfig.java | 69
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java | 29
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java | 95
CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java | 24
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/controller/GlassInfoController.java | 19
UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java | 18
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java | 50
LoadGlassModule/src/main/java/com/mes/MesApplication.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java | 85
TemperingGlassModule/src/main/java/com/mes/service/TemperingService.java | 20
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java | 20
CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/LogicService.java | 37
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java | 16
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Swagger2Config.java | 93
hangzhoumesParent/moduleService/pom.xml | 61
hangzhoumesParent/readMe.md | 23
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml | 23
hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java | 26
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java | 20
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java | 16
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/SessionConfig.java | 20
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java | 20
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java | 16
TemperingGlassModule/src/main/java/com/mes/entity/device/InitUtil.java | 124
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java | 95
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java | 95
LoadGlassModule/src/main/java/com/mes/service/LoadGlassService.java | 51
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java | 21
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java | 55
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java | 16
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/entity/User.java | 31
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java | 50
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/handler/MyMetaObjectHandler.java | 22
hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml | 19
LoadGlassModule/src/main/resources/JsonFile/PlcAlbania.json | 414 ++
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java | 16
UnLoadGlassModule/src/main/resources/application.yml | 1
LoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java | 89
UI-Project/src/views/Returns/returns.vue | 3
UnLoadGlassModule/src/main/java/com/mes/service/GlassInfoService.java | 8
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/InterceptorConfig.java | 29
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageMapper.java | 16
hangzhoumesParent/moduleService/LoadGlassModule/pom.xml | 19
TemperingGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java | 95
UI-Project/package.json | 1
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java | 60
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml | 25
TemperingGlassModule/target/classes/application.yml | 24
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java | 16
LoadGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java | 142
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/RedisTemplateConfig.java | 39
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/exception/ServiceException.java | 14
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java | 21
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java | 75
LoadGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java | 95
UI-Project/src/router/index.js | 38
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java | 20
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml | 19
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java | 16
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java | 17
LoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java | 202 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/mapper/GlassInfoMapper.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java | 20
UI-Project/src/layout/MainErpView.vue | 2
hangzhoumesParent/moduleService/CacheGlassModule/pom.xml | 34
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/interceptor/JwtInterceptor.java | 47
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/service/GlassInfoService.java | 16
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java | 16
hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml | 19
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java | 20
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java | 20
UnLoadGlassModule/src/main/java/com/mes/mapper/SelectInfo.java | 27
hangzhoumesParent/common/servicebase/pom.xml | 19
hangzhoumesParent/pom.xml | 73
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java | 27
/dev/null | 137
TemperingGlassModule/src/main/java/com/mes/mapper/TemperingMapper.java | 19
UnLoadGlassModule/src/main/java/com/mes/controller/DownWorkstationController.java | 89
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java | 21
UI-Project/package-lock.json | 205 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenAuthFilter.java | 60
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java | 110
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java | 19
LoadGlassModule/src/main/java/com/mes/controller/LoadGlassController.java | 55
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java | 30
TemperingGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java | 202 +
hangzhoumesParent/common/servicebase/src/main/resources/banner.txt | 32
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java | 28
211 files changed, 9,603 insertions(+), 460 deletions(-)
diff --git a/CacheGlassModule/src/main/java/com/mes/MesApplication.java b/CacheGlassModule/src/main/java/com/mes/MesApplication.java
index 991a752..2c50d25 100644
--- a/CacheGlassModule/src/main/java/com/mes/MesApplication.java
+++ b/CacheGlassModule/src/main/java/com/mes/MesApplication.java
@@ -1,7 +1,7 @@
package com.mes;
import com.mes.common.PlcTools.S7object;
-import com.mes.mapper.SelectInfo;
+import com.mes.mapper.PpMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
diff --git a/CacheGlassModule/src/main/java/com/mes/controller/TidyUpGlassModuleController.java b/CacheGlassModule/src/main/java/com/mes/controller/TidyUpGlassModuleController.java
index 99d6d28..70b4c5c 100644
--- a/CacheGlassModule/src/main/java/com/mes/controller/TidyUpGlassModuleController.java
+++ b/CacheGlassModule/src/main/java/com/mes/controller/TidyUpGlassModuleController.java
@@ -1,6 +1,6 @@
package com.mes.controller;
-import com.mes.mapper.SelectInfo;
+import com.mes.mapper.PpMapper;
import java.util.List;
import java.util.Map;
@@ -9,7 +9,7 @@
import org.springframework.web.bind.annotation.*;
import com.mes.common.Result;
import com.mes.entity.Tempered;
-import com.mes.service.pp.SelectdppService;
+import com.mes.service.pp.PpService;
import com.mes.service.hangzhoumes.*;
@RestController
@@ -17,45 +17,53 @@
// TidyUpGlassModule 鐞嗙墖妯″潡
public class TidyUpGlassModuleController {
- @Autowired
- private SelectInfo SelectInfo;
+
@Autowired
- private SelectdppService SelectppService;
+ private PpService ppService;
@Autowired
- private hangzhoumesService hangzhoumesService;
+ private HangzhoumesService hangzhoumesService;
@GetMapping("/SelectTerritoryInfo") // 鏌ヨ閽㈠寲鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�
@ResponseBody
public Result SelectTerritoryInfo(@RequestParam(name = "ProcessId", required = false) String ProcessId) {
- List<Tempered> h = SelectppService.SelectTemperedTerritory(ProcessId);
- System.out.println(h.size()+":"+ProcessId);
+ List<Tempered> h = ppService.selectTemperedTerritory(ProcessId);
return Result.seccess(h);
}
@GetMapping("/CutTerritory") // 鏌ヨ鍒囧壊鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�
@ResponseBody
public Result CutTerritory(String ProcessId) {
- List<Map> h = SelectppService.SelectCutTerritory(ProcessId);
- System.out.println(h.size());
+ List<Map> h = ppService.selectCutTerritory(ProcessId);
return Result.seccess(h);
}
- @GetMapping("/SelectCutTerritory") // 璇嗗埆鏄剧ず 褰撳墠鐗堝浘
+ @GetMapping("/CurrentCutTerritory") // 璇嗗埆鏄剧ず 褰撳墠鐗堝浘
@ResponseBody
- public Result SelectCutTerritory(String ProcessId) {
- List<Map> h = SelectppService.SelectCutTerritory("P24032508");
- System.out.println(h.size());
+ public Result CurrentCutTerritory() {
+ List<Map> h = ppService.selectCutTerritory();
return Result.seccess(h);
}
+ @GetMapping("/SelectCutTerritory") // 璇嗗埆鏄剧ず 鐗瑰畾鐗堝浘
+ @ResponseBody
+ public Result SelectCutTerritory(String TerritoryId) {
+ List<Map> h = ppService.selectCutTerritory(TerritoryId);
+ return Result.seccess(h);
+ }
+
+ @GetMapping("/IdentControls") // 璇嗗埆鎿嶄綔锛� 鐮存崯/鎷胯蛋 鍙傛暟锛圛D锛屽姛鑳絒0:鐮存崯锛�1锛氭嬁璧癩锛�
+ @ResponseBody
+ public Result Ident(@RequestParam(name = "IdentId", required = false) String ProcessId,@RequestParam(name = "ControlsId", required = false) String ControlsId) {
+ List<Map> h = ppService.selectCutTerritory("P24032508");
+ return Result.seccess(h);
+ }
@GetMapping("/SelectCageInfo") // 鏌ヨ绗煎唴淇℃伅
@ResponseBody
public Result SelectCageInfo(String ProcessId) {
- List<Map> h = SelectppService.SelectCutTerritory("P24032508");
- System.out.println(h.size());
+ List<Map> h = hangzhoumesService.SelectCageInfo();
return Result.seccess(h);
}
@@ -64,7 +72,6 @@
@ResponseBody
public Result SelectEdgTask(String ProcessId) {
List<Map> EdgTasks = hangzhoumesService.SelectEdgInfo("1");
- System.out.println(EdgTasks.size());
return Result.seccess(EdgTasks);
}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/BigStorageCage.java b/CacheGlassModule/src/main/java/com/mes/entity/BigStorageCage.java
deleted file mode 100644
index cc3e6bf..0000000
--- a/CacheGlassModule/src/main/java/com/mes/entity/BigStorageCage.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`big_storage_cage`")
-public class BigStorageCage {
- @TableId(type = IdType.AUTO)
- private Integer id;//澶х悊鐗囩琛╥d
- private Integer device_id;//璁惧id
- private String slot;//鏍呮牸鍙�
- private String enable_state;//鍚敤鐘舵��
- private Integer remain_width;//鍓╀綑瀹藉害
-
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java b/CacheGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java
deleted file mode 100644
index 3dd0188..0000000
--- a/CacheGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`big_storage_cage_details`")
-public class BigStorageCageDetails {
- @TableId(type = IdType.AUTO)
- private Integer id;//澶х悊鐗囩璇︽儏琛╥d
- private Integer deviceid;//璁惧id
- private Integer slot;//鏍呮牸鍙�
- private Integer glassid;//鐜荤拑id
- private Integer sequence;//灏忕墖鍦ㄦ牸鍐呯殑椤哄簭
- private String flowcardid;//娴佺▼鍗″彿
- private Integer glasstype;//鐜荤拑绫诲瀷
- private Double width;//瀹�
- private Double height;//楂�
- private Double thickness;//鍘氬害
- private Integer temperinglayoutid;//閽㈠寲鐗堝浘id
- private Integer temperingfeedsequence;//閽㈠寲鐗堝浘鐗囧簭
- private Integer state;//鐘舵��
- private Integer gap;//鐜荤拑闂撮殭
-
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java b/CacheGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
deleted file mode 100644
index bb1d86e..0000000
--- a/CacheGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_glass_info`")
-public class DownGlassInfo {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖鐜荤拑淇℃伅琛╥d
- private String flowcardid;//娴佺▼鍗″彿
- private Integer sequence;//椤哄簭
- private Integer width;//瀹�
- private Integer height;//楂�
- private Integer thickness;//鍘氬害
-
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/DownStorageCage.java b/CacheGlassModule/src/main/java/com/mes/entity/DownStorageCage.java
deleted file mode 100644
index 382f336..0000000
--- a/CacheGlassModule/src/main/java/com/mes/entity/DownStorageCage.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_storage_cage`")
-public class DownStorageCage {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖鍓嶇悊鐗囩琛╥d
- private Integer deviceid;//璁惧id
- private String slot;//鏍呮牸鍙�
- private String enablestate;//鍚敤鐘舵��
- private Integer remainwidth;//鍓╀綑
-
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java b/CacheGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java
deleted file mode 100644
index 9e26f5f..0000000
--- a/CacheGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_storage_cage_details`")
-public class DownStorageCagedetails {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖鍓嶇悊鐗囩鏄庣粏琛╥d
- private Integer deviceid;//璁惧id
- private Integer slot;//鏍呮牸鍙�
- private Integer glassid;//鐜荤拑id
- private Integer sequence;//灏忕墖鍦ㄦ牸鍐呯殑椤哄簭
- private String flow_card_id;//娴佺▼鍗″彿
- private Integer glass_type;//鐜荤拑绫诲瀷
- private Double width;//瀹�
- private Double height;//楂�
- private Double thickness;//鍘氬害
- private Integer temperinglayoutid;//閽㈠寲鐗堝浘id
- private Integer tempering_feed_sequence;//閽㈠寲鐗堝浘鐗囧簭
- private Integer state;//鐘舵��
- private Integer gap;//鐜荤拑闂撮殭
-
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/DownWorkstation.java b/CacheGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
deleted file mode 100644
index 847d157..0000000
--- a/CacheGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_workstation`")
-public class DownWorkstation {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖宸ヤ綅琛╥d
- private Integer flowcard_id;//宸ヤ綅id
- private String glass_type;//娴佺▼鍗″彿
- private Integer width;//璁惧id
- private Integer height;//鍚敤鐘舵��
- private Integer thickness;//宸ヤ綔鐘舵��
-
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/OrderTest.java b/CacheGlassModule/src/main/java/com/mes/entity/OrderTest.java
deleted file mode 100644
index e8ea030..0000000
--- a/CacheGlassModule/src/main/java/com/mes/entity/OrderTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`order`")
-public class OrderTest {
- @TableId(type = IdType.AUTO)
- private Integer id;
- private String orderId;
- private String recipeNo;
- private String largeglassNo;
- private String largeglassCompleted;
- private String smallglassNo;
- private String smallglassCompleted;
- private String smallglassProcessing;
- private String smallglassWorn;
- private String orderStatus;
- private String orderMaker;
- private String makeTime;
- private String updateTime;
-
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/UpPattenUsage.java b/CacheGlassModule/src/main/java/com/mes/entity/UpPattenUsage.java
deleted file mode 100644
index 461e04d..0000000
--- a/CacheGlassModule/src/main/java/com/mes/entity/UpPattenUsage.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`up_patten_usage`")
-public class UpPattenUsage {
- @TableId(type = IdType.AUTO)
- private Integer id;//鍘熺墖浣跨敤鎯呭喌琛╥d
- private Integer engineeringid;//宸ョ▼鍙�
- private Integer filmsid;//鑶滅郴id
- private Double width;//瀹�
- private Double height;//楂�
- private Double thickness;//鍘氬害
- private Integer layoutsequence;//鍘熺墖鐗堝浘鐗囧簭
- private Integer state;//鐘舵��
-
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/entity/UpWorkstation.java b/CacheGlassModule/src/main/java/com/mes/entity/UpWorkstation.java
deleted file mode 100644
index 1f8cb3b..0000000
--- a/CacheGlassModule/src/main/java/com/mes/entity/UpWorkstation.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`up_workstation`")
-public class UpWorkstation {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓婄墖宸ヤ綅琛╥d
- private Integer workstationid;//宸ヤ綅鍙�
- private Integer deviceid;//璁惧id
- private Integer enablestate;//鍚敤鐘舵��
- private Integer workstate;//宸ヤ綔鐘舵��
- private Double patternwidth;//鍘熺墖瀹�
- private Double patternheigth;//鍘熺墖楂�
- private Double patternthickness;//鍘熺墖鍘氬害
- private Integer filmsid;//鑶滅郴
- private Integer number;//鏁伴噺
-
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/mapper/SelectInfo.java b/CacheGlassModule/src/main/java/com/mes/mapper/HangzhouMesMapper.java
similarity index 69%
rename from CacheGlassModule/src/main/java/com/mes/mapper/SelectInfo.java
rename to CacheGlassModule/src/main/java/com/mes/mapper/HangzhouMesMapper.java
index e8bcfe2..4c4b87a 100644
--- a/CacheGlassModule/src/main/java/com/mes/mapper/SelectInfo.java
+++ b/CacheGlassModule/src/main/java/com/mes/mapper/HangzhouMesMapper.java
@@ -1,5 +1,6 @@
package com.mes.mapper;
+import com.baomidou.dynamic.datasource.annotation.DS;
import com.mes.entity.EdgStorageCageDetails;
import com.mes.entity.GlassInfo;
import com.mes.entity.TaskCache;
@@ -10,64 +11,56 @@
import org.apache.ibatis.annotations.*;
+@DS("hangzhoumes")
@Mapper
-public interface SelectInfo {
+public interface HangzhouMesMapper {
+
// 鐜荤拑淇℃伅 鎸塈D鏌ヨ
@Select("select * from `glass_info` where id=#{id}")
- GlassInfo SelectGlassId(String id);
-
- // 閽㈠寲鎸夊伐绋嬫煡璇�
- @Select("select * from `v_optimize_heat_layout` where project_no=#{projeceid} ")
- List<Tempered> SelectTemperedTerritory(String projeceid);
-
- // 鍒囧壊鐗堝浘鎸夊伐绋嬫煡璇�
- @Select("select * from optimize_detail where project_no=#{projeceid} ")
- List<Map> SelectCutTerritory(String projeceid);
-
+ GlassInfo selectGlassId(String id);
// 鏌ヨ纾ㄨ竟淇℃伅
@Select("select * from task_cache where task_type='2' and task_stauts='2' and end_cell=#{EndCell}")
- List<Map> SelectEdgInfo(String EndCell);
+ List<Map> selectEdgInfo(String EndCell);
// 鏌ヨ绗煎瓙鍐呯┖闂�
@Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is null order by escd.slot")
- List<EdgStorageCageDetails> SelectCacheLeisure();
+ List<EdgStorageCageDetails> selectCacheLeisure();
// 鏌ヨ绗煎瓙鍐呭嚭鐗囦换鍔�
@Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot WHERE escd.slot IS NOT NULL order by escd.tempering_layout_id,escd.tempering_feed_sequence")
- List<EdgStorageCageDetails> SelectCacheOut();
+ List<EdgStorageCageDetails> selectCacheOut();
// 鏌ヨ绗煎瓙鍐呬俊鎭�
- @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot order by esc.slot")
- List<EdgStorageCageDetails> SelectCachInfo();
+ @Select("select esc.*,escd.id as detailsID,escd.device_id as details_device_id,escd.glass_id,escd.sequence,escd.flow_card_id,escd.glass_type,escd.width,escd.height,escd.thickness,escd.edg_width,escd.edg_height,escd.tempering_layout_id,escd.tempering_feed_sequence,escd.pattern_sequence,escd.state,escd.gap from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot order by esc.slot")
+ List<Map> selectCachInfo();
// 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
@Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id=#{tempering_layout_id} and escd.tempering_feed_sequence<#{tempering_feed_sequence} and esc.remain_width-#{width}>0 order by escd.tempering_feed_sequence")
- List<EdgStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, Integer tempering_feed_sequence,
- double width);
+ List<EdgStorageCageDetails> selectIsExistIntoCache(Integer tempering_layout_id, Integer tempering_feed_sequence,double width);
// 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
@Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id<#{tempering_layout_id} and esc.remain_width-#{width}>0 order by escd.tempering_layout_id desc,escd.tempering_feed_sequence")
- List<EdgStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, double width);
+ List<EdgStorageCageDetails> selectIsExistIntoCache(Integer tempering_layout_id, double width);
// 鏌ヨ鍏ㄩ儴浠诲姟
@Select("select * from task_cache")
- List<TaskCache> SelectCacheInfoAll();
+ List<TaskCache> selectCacheInfoAll();
// 鏌ヨ杩涚墖浠诲姟
@Select("select * from task_cache where task_type='1' and task_stauts='0'")
- List<TaskCache> SelectInputCacheInfo();
+ List<TaskCache> selectInputCacheInfo();
// 鏌ヨ鍑虹墖浠诲姟
@Select("select * from task_cache where task_type='2' and task_stauts='0'")
- List<TaskCache> SelectOutCacheInfo();
+ List<TaskCache> selectOutCacheInfo();
// 鏌ヨ A09 鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
@Select("select * from task_cache where task_type='2' and task_stauts='2' and end_cell=#{EndCell} limit 1")
- GlassInfo SelectLastOutCacheInfo(String EndCell);
+ GlassInfo selectLastOutCacheInfo(String EndCell);
// 淇敼绗煎瓙鍐呬俊鎭�
@Update("update")
- Integer UpdateCache(@Param("id") Integer id, @Param("order_id") String order_id);
+ Integer updateCache(@Param("id") Integer id, @Param("order_id") String order_id);
// 娣诲姞鐞嗙墖浠诲姟
@Insert("INSERT into task_cache VALUES(#{id},#{start},#{end},#{type},0)")
diff --git a/CacheGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java b/CacheGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java
deleted file mode 100644
index d12d4ce..0000000
--- a/CacheGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mes.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.entity.OrderTest;
-import org.apache.ibatis.annotations.*;
-
-@Mapper
-public interface OrderTestMapper extends BaseMapper<OrderTest> {
-
-// @Select("select * from `order`")
-// List<Order> findAll();
-//
-// @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
-// Integer insert(Order order);
-//
-// @Delete("delete from `order` where id=#{id}")
-// Integer deleteById(@Param("id") Integer id);
-//
-// @Update("update `order` set order_id=#{order_id} where id=#{id}")
-// Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/mapper/PpMapper.java b/CacheGlassModule/src/main/java/com/mes/mapper/PpMapper.java
new file mode 100644
index 0000000..68f18e6
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/mapper/PpMapper.java
@@ -0,0 +1,39 @@
+package com.mes.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.mes.entity.EdgStorageCageDetails;
+import com.mes.entity.GlassInfo;
+import com.mes.entity.TaskCache;
+import com.mes.entity.Tempered;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.*;
+
+@DS("pp")
+@Mapper
+public interface PpMapper {
+
+ // 閽㈠寲鎸夊伐绋嬫煡璇�
+ @Select("select * from `v_optimize_heat_layout` where project_no=#{projeceid} ")
+ List<Tempered> selectTemperedTerritory(String projeceid);
+
+ // 鍒囧壊鐗堝浘 鎸夊伐绋�,鐗堝浘缂栧彿鏌ヨ
+ @Select("select * from optimize_detail where project_no=#{projeceid} ")
+ List<Map> selectCutTerritory(String projeceid,String TerritoryId);
+
+ // 鍒囧壊鐗堝浘 鎸夊伐绋嬫煡璇�
+ @Select("select * from optimize_detail where project_no=#{projeceid} ")
+ List<Map> selectCutTerritory(String projeceid);
+
+ //
+ // @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
+ // Integer insert(Order order);
+ //
+ // @Delete("delete from `order` where id=#{id}")
+ // Integer deleteById(@Param("id") Integer id);
+ //
+ // @Update("update `order` set order_id=#{order_id} where id=#{id}")
+ // Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
+}
diff --git a/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java b/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/LogicService.java
similarity index 81%
rename from CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java
rename to CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/LogicService.java
index f239f84..990e50e 100644
--- a/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java
+++ b/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/LogicService.java
@@ -11,13 +11,14 @@
import com.mes.entity.TaskCache;
import com.mes.entity.device.PLCAutoMes;
import com.mes.entity.device.PlcParameterObject;
-import com.mes.mapper.SelectInfo;
+import com.mes.mapper.HangzhouMesMapper;
+import com.mes.mapper.PpMapper;
@Service
-public class Logic {
+public class LogicService {
@Autowired
- private SelectInfo selectInfo;
+ private HangzhouMesMapper hangzhouMesMapper;
//璇嗗埆閫昏緫 涓嶄氦浜�
public void identify(String Number){
//鏌ヨ浠诲姟
@@ -50,25 +51,25 @@
//鐞嗙墖 杩�
public boolean processInto(String Number){
//鏌ヨ娑堟伅闃熷垪閲岀殑鐜荤拑
- GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
if(GlassInfo!=null){//瀛樺湪姝ょ幓鐠冪紪鍙�
//鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
- List<EdgStorageCageDetails> list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getTemperingfeedsequence(),GlassInfo.getWidth());
+ List<EdgStorageCageDetails> list=hangzhouMesMapper.selectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getTemperingfeedsequence(),GlassInfo.getWidth());
//绌烘爡鏍煎彿
if (list.size()==0) {
- list=selectInfo.SelectCacheLeisure();
+ list=hangzhouMesMapper.selectCacheLeisure();
}
//灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
if(list.size()==0){
- list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getWidth());
+ list=hangzhouMesMapper.selectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getWidth());
}
if(list.size()>0){
//瀛樺湪绌烘牸
//1.鐢熸垚浠诲姟锛� 璧峰浣嶇疆0 缁撴潫浣嶇疆this.slot 浠诲姟绫诲瀷 1 锛堣繘鐗囦换鍔★級
//2.鍥炲 1杩涚墖
EdgStorageCageDetails item=list.get(0);
- selectInfo.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1");
+ hangzhouMesMapper.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1");
S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
return true;
}
@@ -85,19 +86,19 @@
String A09=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+"";
String A10=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
- List<EdgStorageCageDetails> list=selectInfo.SelectCacheOut();
+ List<EdgStorageCageDetails> list=hangzhouMesMapper.selectCacheOut();
boolean isOut=true;//鍏朵粬鎯呭喌鏉′欢 濡傦細鍚庣画璁惧鏁呴殰绂佹鐞嗙墖鍑虹墖 绛�
if (list.size()>0&&isOut) {
EdgStorageCageDetails item=list.get(0);
if(A09=="0"&&A10=="1"){
//鍑哄埌 A09
- selectInfo.insertCacheTask(item.getGlassid()+"","0","09","2");
+ hangzhouMesMapper.insertCacheTask(item.getGlassid()+"","0","09","2");
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
return true;
}else if(A09=="1"&&A10=="0"){
//鍑哄埌 A10
- selectInfo.insertCacheTask(item.getGlassid()+"","0","10","2");
+ hangzhouMesMapper.insertCacheTask(item.getGlassid()+"","0","10","2");
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
return true;
@@ -106,15 +107,15 @@
String endcell="09";
String SendEndcell="1";
boolean If_=false;
- GlassInfo glassInfo09= selectInfo.SelectLastOutCacheInfo("09");
- GlassInfo glassInfo10= selectInfo.SelectLastOutCacheInfo("10");
+ GlassInfo glassInfo09= hangzhouMesMapper.selectLastOutCacheInfo("09");
+ GlassInfo glassInfo10= hangzhouMesMapper.selectLastOutCacheInfo("10");
if(glassInfo10!=null&&glassInfo10.getWidth()==item.getWidth()&&glassInfo10.getHeight()==item.getHeight()){
endcell="10";
SendEndcell="2";
}else if(glassInfo10!=null&&If_){
//鍏朵粬鏉′欢
}
- selectInfo.insertCacheTask(item.getGlassid()+"","0",endcell,"2");
+ hangzhouMesMapper.insertCacheTask(item.getGlassid()+"","0",endcell,"2");
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
return true;
@@ -127,7 +128,7 @@
//纾ㄨ竟 涓嶄氦浜� 鐞嗙墖鍜岀(杈规満鑷繁浜や簰
public void processMb(String Number){
//鏌ヨ浠诲姟
- GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
if(GlassInfo!=null){
//鍙戦�佷换鍔� ID 闀� 瀹� 鍘� 鍊掕 宸ヨ壓鍔熻兘绛�
@@ -144,7 +145,7 @@
//鏌ヨ娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
public boolean SelectMessageId(String Number){
//鏌ヨ鏄惁瀛樺湪
- GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
if(GlassInfo==null){
return false;//杩斿洖 涓嶅瓨鍦�
}
@@ -153,7 +154,7 @@
//鍒犻櫎娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
public boolean DeleteMessageId(String Number){
//鏌ヨ鏄惁瀛樺湪
- GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
if(GlassInfo==null){
return false;//杩斿洖 涓嶅瓨鍦�
}
@@ -163,7 +164,7 @@
//鏄惁瀛樺湪姝ょ紪鍙风幓鐠�
public boolean isExist(String Number){
//鏌ヨ鏄惁瀛樺湪
- GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
if(GlassInfo==null){
return false;//杩斿洖 涓嶅瓨鍦�
}
diff --git a/CacheGlassModule/src/main/java/com/mes/service/IOrderService.java b/CacheGlassModule/src/main/java/com/mes/service/IOrderService.java
deleted file mode 100644
index 9e44ceb..0000000
--- a/CacheGlassModule/src/main/java/com/mes/service/IOrderService.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package com.mes.service;public interface IOrderService {
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/service/ModuleB.java b/CacheGlassModule/src/main/java/com/mes/service/ModuleB.java
deleted file mode 100644
index fbe2d62..0000000
--- a/CacheGlassModule/src/main/java/com/mes/service/ModuleB.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.mes.service;
-
-import com.rabbitmq.client.Channel;
-import com.rabbitmq.client.Connection;
-import com.rabbitmq.client.ConnectionFactory;
-import com.rabbitmq.client.DeliverCallback;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class ModuleB {
- private final static String QUEUE_NAME = "hangzhou2";
-
- public static void main(String[] argv) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost("10.153.19.150");
- //factory.setHost("localhost");
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- // 澹版槑闃熷垪
- Map<String, Object> args = new HashMap<>();
- args.put("x-max-length-bytes",20000);
-// args.put("x-max-length",5000);
- channel.queueDeclare(QUEUE_NAME, false, false, false, args);
-
- // 鍒涘缓娑堣垂鑰�
- DeliverCallback deliverCallback = (consumerTag, delivery) -> {
- String receivedMessage = new String(delivery.getBody(), "UTF-8");
- System.out.println(" [x] Received '" + receivedMessage + "'");
- };
- // 寮�濮嬫秷璐规秷鎭�
- channel.basicConsume(QUEUE_NAME, true, deliverCallback, consumerTag -> {
- });
- }
- }
-}
-
diff --git a/CacheGlassModule/src/main/java/com/mes/service/MqMessage.java b/CacheGlassModule/src/main/java/com/mes/service/MqMessage.java
deleted file mode 100644
index 9d4a539..0000000
--- a/CacheGlassModule/src/main/java/com/mes/service/MqMessage.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.mes.service;
-
-
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-
-
-
-
-
-@Service
-public class MqMessage {
- @Autowired
- private RabbitMQUtils rabbitMQUtils;
-
- public boolean Add(String message, String queueName,String messageId){
- try {
- return rabbitMQUtils.sendMessageWithId(message, queueName,messageId);
- } catch (Exception e) {
- // TODO: handle exception
- return false;//寮傚父鏃堕敊璇�
- }
- }
- //鏍规嵁ID鏌ユ壘娑堟伅
- public String SelectId(String queueName,boolean isDelete,String messageId){
-
- try {
- String content=rabbitMQUtils.consumeMessageById(messageId,queueName,isDelete);
-
- return content;
- } catch (Exception e) {
- // TODO: handle exception
- return null;//寮傚父鏃堕敊璇�
- }
- }
- public boolean Delete(String queueName,String messageId){
- try
- {
- rabbitMQUtils.consumeMessageById(messageId,queueName,false);
- return true;
- }catch(Exception e){
- return false;
- }
-
- }
- //鏃犱慨鏀�
- public void Update(){
-
- }
-
-
-}
-
diff --git a/CacheGlassModule/src/main/java/com/mes/service/RabbitMQUtils.java b/CacheGlassModule/src/main/java/com/mes/service/RabbitMQUtils.java
deleted file mode 100644
index 7914d4c..0000000
--- a/CacheGlassModule/src/main/java/com/mes/service/RabbitMQUtils.java
+++ /dev/null
@@ -1,264 +0,0 @@
-package com.mes.service;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.rabbitmq.client.*;
-
-import java.util.*;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
-
-import org.springframework.stereotype.Repository;
-
-@Repository
-public class RabbitMQUtils {
- // ObjectMapper瀵硅薄锛岀敤浜庡簭鍒楀寲鍜屽弽搴忓垪鍖朖SON
- private static ObjectMapper objectMapper = new ObjectMapper();
- private static String host = "10.153.19.150"; // RabbitMQ 涓绘満鍚�
- private static Map<String, Object> args = new HashMap<>(); // 闃熷垪鍙傛暟
-
- static {
- // 璁剧疆闃熷垪鍙傛暟
- args.put("x-max-length-bytes", 1024 * 1024);
- }
-
- // private static Map<String, Object> args = new HashMap<>();
-// args.put("x-max-length-bytes",1024 * 1024);
- // 鍙戦�佹秷鎭埌 RabbitMQ 闃熷垪涓�
- public String sendMessage(String message, String queueName) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶骞惰缃富鏈哄悕
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
-
- // 浣跨敤 try-with-resources 璇彞鍒涘缓杩炴帴鍜岄�氶亾锛屽苟鍙戦�佹秷鎭�
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- // 澹版槑闃熷垪
- channel.queueDeclare(queueName, false, false, false, args);
-
- // 鍙戝竷娑堟伅鍒伴槦鍒�
- channel.basicPublish("", queueName, null, message.getBytes("UTF-8"));
- System.out.println(" [x] Sent '" + message + "' to queue '" + queueName + "'");
- }
-
- return message;
- }
-
-
- // 浠� RabbitMQ 闃熷垪涓帴鏀舵秷鎭�
- public String receiveMessage(String queueName) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶骞惰缃富鏈哄悕
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
-
- // 鍒涘缓闃诲闃熷垪
- BlockingQueue<String> messageQueue = new ArrayBlockingQueue<>(1);
-
- // 浣跨敤 try-with-resources 璇彞鍒涘缓杩炴帴鍜岄�氶亾锛屽苟鎺ユ敹娑堟伅
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- // 澹版槑闃熷垪
- channel.queueDeclare(queueName, false, false, false, args);
-
- // 璁剧疆娑堟伅鎺ユ敹鍥炶皟
- DeliverCallback deliverCallback = (consumerTag, delivery) -> {
- String receivedMessage = new String(delivery.getBody(), "UTF-8");
- // System.out.println(" [x] Received '" + receivedMessage + "'");
-
- // 灏嗘帴鏀跺埌鐨勬秷鎭斁鍏ラ樆濉為槦鍒�
- try {
- messageQueue.put(receivedMessage);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- };
-
- // 娑堣垂闃熷垪涓殑娑堟伅
- channel.basicConsume(queueName, true, deliverCallback, consumerTag -> {
-
- });
-
- // 闃诲骞剁瓑寰呰幏鍙栨秷鎭�
- return messageQueue.take();
- }
- }
-
-
- //鑾峰彇娑堟伅 骞舵秷璐癸紵
- public List<String> readMessage(String queueName,boolean is) throws Exception {
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
- List<String> messages = new ArrayList<>();
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- boolean autoAck = false;
-
- GetResponse response = channel.basicGet(queueName, autoAck);
- if (response != null) {
- String message = new String(response.getBody(), "UTF-8");
- messages.add(message);
- // 鎵嬪姩纭娑堟伅澶勭悊瀹屾垚
- if(is){
- long deliveryTag = response.getEnvelope().getDeliveryTag();
- channel.basicAck(deliveryTag, false);
- }
-
- }
- }
-
- return messages;
- }
-
-
-
- private static Set<String> sentMessageIds = new HashSet<>();
-//鏍规嵁id鍙戦�佹秷鎭�
- public boolean sendMessageWithId(String queueName, String message, String messageId) throws Exception {
- if (sentMessageIds.contains(messageId)) {
- System.err.println("Message with ID " + messageId + " has already been sent.");
- return false; // 娑堟伅閲嶅锛屽彂閫佸け璐�
- }
-
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
-
- try (Connection connection = factory.newConnection(); Channel channel = connection.createChannel()) {
- channel.queueDeclare(queueName, false, false, false, args);
-
- AMQP.BasicProperties properties = new AMQP.BasicProperties.Builder()
- .messageId(messageId)
- .build();
-
- channel.basicPublish("", queueName, properties, message.getBytes("UTF-8"));
- System.out.println("Sent message with ID: " + messageId);
-
- sentMessageIds.add(messageId); // 灏� messageId 娣诲姞鍒板凡鍙戦�侀泦鍚堜腑
-
- return true; // 娑堟伅鎴愬姛鍙戦��
- } catch (Exception e) {
- System.err.println("Failed to send message: " + e.getMessage());
- return false; // 娑堟伅鍙戦�佸け璐�
- }
- }
- //鏍规嵁id鏌ユ壘娑堟伅 鏄惁鍒犻櫎
- public String consumeMessageById(String messageId,String queueName,boolean isDelete) throws Exception {
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
-
- try (Connection connection = factory.newConnection(); Channel channel = connection.createChannel()) {
- channel.queueDeclare(queueName, false, false, false, args);
-
- GetResponse response;
- while ((response = channel.basicGet(queueName, false)) != null) {
- String receivedMessage = new String(response.getBody(), "UTF-8");
- if (response.getProps().getMessageId().equals(messageId)) {
- if(isDelete){
- long deliveryTag = response.getEnvelope().getDeliveryTag();
- channel.basicAck(deliveryTag, false);
- }
- System.out.println("Selected message: "+messageId+ receivedMessage);
- return receivedMessage; // 杩斿洖閫夊畾鐨勬秷鎭唴瀹�
- } else {
- // 瀵逛簬涓嶇鍚堟潯浠剁殑娑堟伅锛岃繘琛� Nack 鎿嶄綔
-// long deliveryTag = response.getEnvelope().getDeliveryTag();
-// channel.basicNack(deliveryTag, false, true);
- return "Specified message not found in the queue.";
- }
- }
-
- return "Specified message not found in the queue.";
- }
- }
-
-// //娑堣垂鎸囧畾娑堟伅
-// public String consumeSelectedMessage(int messageToConsume, String queueName) throws Exception {
-// ConnectionFactory factory = new ConnectionFactory();
-// factory.setHost(host);
-
-// try (Connection connection = factory.newConnection(); Channel channel = connection.createChannel()) {
-// channel.queueDeclare(queueName, false, false, false, args);
-
-// for (int i = 0; i < messageToConsume; i++) {
-// GetResponse response = channel.basicGet(queueName, false);
-// if (response == null) {
-// return "Queue does not have enough messages.";
-// }
-// // long deliveryTag = response.getEnvelope().getDeliveryTag();
-// // channel.basicAck(deliveryTag, false);
-// }
-
-// GetResponse selectedResponse = channel.basicGet(queueName, false);
-// if (selectedResponse != null) {
-// byte[] body = selectedResponse.getBody();
-// String selectedMessage = new String(body, "UTF-8");
-// long deliveryTag = selectedResponse.getEnvelope().getDeliveryTag();
-// channel.basicAck(deliveryTag, false);
-// return selectedMessage;
-// } else {
-// return "Specified message not found in the queue.";
-// }
-// }
-// }
-
- // 鍙戦�� JSON 娑堟伅鍒伴槦鍒�
- public boolean sendJsonMessage(Object message, String queueName) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶骞惰缃富鏈哄悕
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
-
- // 浣跨敤 try-with-resources 璇彞鍒涘缓杩炴帴鍜岄�氶亾锛屽苟鍙戦�� JSON 娑堟伅
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- // 澹版槑闃熷垪
- channel.queueDeclare(queueName, false, false, false, args);
-
- // 灏嗗璞¤浆鎹负 JSON 瀛楃涓�
- String jsonMessage = objectMapper.writeValueAsString(message);
-
- // 鍙戝竷 JSON 娑堟伅鍒伴槦鍒�
- channel.basicPublish("", queueName, null, jsonMessage.getBytes());
- System.out.println(" [x] Sent JSON message: '" + jsonMessage + "' to queue '" + queueName + "'");
-
- return true; // 鍙戦�佹秷鎭垚鍔�
- } catch (Exception e) {
- e.printStackTrace();
- return false; // 鍙戦�佹秷鎭け璐�
- }
- }
-
- // 鎺ユ敹 JSON 娑堟伅骞惰浆鎹负瀵硅薄
- public <T> T receiveJsonMessage(Class<T> valueType, String queueName) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶骞惰缃富鏈哄悕
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
-
- // 浣跨敤 try-with-resources 璇彞鍒涘缓杩炴帴鍜岄�氶亾锛屽苟鎺ユ敹 JSON 娑堟伅
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- // 澹版槑闃熷垪
- channel.queueDeclare(queueName, false, false, false, args);
-
- // 鑾峰彇闃熷垪涓殑娑堟伅
- GetResponse response = channel.basicGet(queueName, true);
- if (response != null) {
- byte[] body = response.getBody();
- String jsonMessage = new String(body, "UTF-8");
- System.out.println(" [x] Received JSON message: '" + jsonMessage + "' from queue '" + queueName + "'");
-
- // 灏� JSON 娑堟伅杞崲涓哄璞�
- return objectMapper.readValue(jsonMessage, valueType);
- } else {
- return null;
- }
- } catch (Exception e) {
- e.printStackTrace();
- return null; // 鎺ユ敹娑堟伅澶辫触
- }
- }
-
-}
-
-// RabbitMQUtils.sendMessage("Hello, world!", "module_queue");
-//RabbitMQUtils.receiveMessage("module_queue");
-//RabbitMQUtils.sendJsonMessage(someObject, "another_queue");
-//RabbitMQUtils.receiveJsonMessage(SomeClass.class, "another_queue");
-// 闇�瑕佸皢 someObject 鏇挎崲涓轰綘瑕佸彂閫佺殑瀵硅薄锛屽苟灏� SomeClass 鏇挎崲涓轰綘瑕佹帴鏀跺苟杞崲鐨勫璞$被鍨嬨��
\ No newline at end of file
diff --git a/CacheGlassModule/src/main/java/com/mes/service/RabbitMQUtils33.java b/CacheGlassModule/src/main/java/com/mes/service/RabbitMQUtils33.java
deleted file mode 100644
index 5201c4a..0000000
--- a/CacheGlassModule/src/main/java/com/mes/service/RabbitMQUtils33.java
+++ /dev/null
@@ -1,178 +0,0 @@
-package com.mes.service;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.rabbitmq.client.*;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
-
-public class RabbitMQUtils33 {
- // ObjectMapper瀵硅薄锛岀敤浜庡簭鍒楀寲鍜屽弽搴忓垪鍖朖SON
- private static ObjectMapper objectMapper = new ObjectMapper();
- private static String host = "10.153.19.150"; // RabbitMQ 涓绘満鍚�
- private static Map<String, Object> args = new HashMap<>(); // 闃熷垪鍙傛暟
-
- static {
- // 璁剧疆闃熷垪鍙傛暟
- args.put("x-max-length-bytes", 1024 * 1024);
- }
-
- // private static Map<String, Object> args = new HashMap<>();
-// args.put("x-max-length-bytes",1024 * 1024);
- // 鍙戦�佹秷鎭埌 RabbitMQ 闃熷垪涓�
- public boolean sendMessage(String message, String queueName) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶骞惰缃富鏈哄悕
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
-
- // 浣跨敤 try-with-resources 璇彞鍒涘缓杩炴帴鍜岄�氶亾锛屽苟鍙戦�佹秷鎭�
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- // 澹版槑闃熷垪
- channel.queueDeclare(queueName, false, false, false, args);
-
- // 鍙戝竷娑堟伅鍒伴槦鍒�
- channel.basicPublish("", queueName, null, message.getBytes("UTF-8"));
- System.out.println(" [x] Sent '" + message + "' to queue '" + queueName + "'");
- return true;
- } catch (Exception e) {
- // TODO: handle exception
- return false;
- }
-
-
- }
-
-
- // 浠� RabbitMQ 闃熷垪涓帴鏀舵秷鎭�
- public String receiveMessage(String queueName) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶骞惰缃富鏈哄悕
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
-
- // 鍒涘缓闃诲闃熷垪
- BlockingQueue<String> messageQueue = new ArrayBlockingQueue<>(1);
-
- // 浣跨敤 try-with-resources 璇彞鍒涘缓杩炴帴鍜岄�氶亾锛屽苟鎺ユ敹娑堟伅
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- // 澹版槑闃熷垪
- channel.queueDeclare(queueName, false, false, false, args);
-
- // 璁剧疆娑堟伅鎺ユ敹鍥炶皟
- DeliverCallback deliverCallback = (consumerTag, delivery) -> {
- String receivedMessage = new String(delivery.getBody(), "UTF-8");
- // System.out.println(" [x] Received '" + receivedMessage + "'");
-
- // 灏嗘帴鏀跺埌鐨勬秷鎭斁鍏ラ樆濉為槦鍒�
- try {
- messageQueue.put(receivedMessage);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- };
-
- // 娑堣垂闃熷垪涓殑娑堟伅
- channel.basicConsume(queueName, true, deliverCallback, consumerTag -> {
-
- });
-
- // 闃诲骞剁瓑寰呰幏鍙栨秷鎭�
- return messageQueue.take();
- }
- }
-
-
-
- public List<String> readMessage(String queueName,boolean isDelete) throws Exception {
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
- List<String> messages = new ArrayList<>();
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- boolean autoAck = false;
-
- GetResponse response = channel.basicGet(queueName, autoAck);
- if (response != null) {
- String message = new String(response.getBody(), "UTF-8");
- messages.add(message);
-
-
- // 鎵嬪姩纭娑堟伅澶勭悊瀹屾垚
- if (isDelete) {
- long deliveryTag = response.getEnvelope().getDeliveryTag();
- channel.basicAck(deliveryTag, false);
- }
- }
- }
-
- return messages;
- }
-
- // 鍙戦�� JSON 娑堟伅鍒伴槦鍒�
- public static boolean sendJsonMessage(Object message, String queueName) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶骞惰缃富鏈哄悕
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
-
- // 浣跨敤 try-with-resources 璇彞鍒涘缓杩炴帴鍜岄�氶亾锛屽苟鍙戦�� JSON 娑堟伅
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- // 澹版槑闃熷垪
- channel.queueDeclare(queueName, false, false, false, args);
-
- // 灏嗗璞¤浆鎹负 JSON 瀛楃涓�
- String jsonMessage = objectMapper.writeValueAsString(message);
-
- // 鍙戝竷 JSON 娑堟伅鍒伴槦鍒�
- channel.basicPublish("", queueName, null, jsonMessage.getBytes());
- System.out.println(" [x] Sent JSON message: '" + jsonMessage + "' to queue '" + queueName + "'");
-
- return true; // 鍙戦�佹秷鎭垚鍔�
- } catch (Exception e) {
- e.printStackTrace();
- return false; // 鍙戦�佹秷鎭け璐�
- }
- }
-
- // 鎺ユ敹 JSON 娑堟伅骞惰浆鎹负瀵硅薄
- public static <T> T receiveJsonMessage(Class<T> valueType, String queueName) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶骞惰缃富鏈哄悕
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost(host);
-
- // 浣跨敤 try-with-resources 璇彞鍒涘缓杩炴帴鍜岄�氶亾锛屽苟鎺ユ敹 JSON 娑堟伅
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- // 澹版槑闃熷垪
- channel.queueDeclare(queueName, false, false, false, args);
-
- // 鑾峰彇闃熷垪涓殑娑堟伅
- GetResponse response = channel.basicGet(queueName, true);
- if (response != null) {
- byte[] body = response.getBody();
- String jsonMessage = new String(body, "UTF-8");
- System.out.println(" [x] Received JSON message: '" + jsonMessage + "' from queue '" + queueName + "'");
-
- // 灏� JSON 娑堟伅杞崲涓哄璞�
- return objectMapper.readValue(jsonMessage, valueType);
- } else {
- return null;
- }
- } catch (Exception e) {
- e.printStackTrace();
- return null; // 鎺ユ敹娑堟伅澶辫触
- }
- }
-
-}
-
-// RabbitMQUtils.sendMessage("Hello, world!", "module_queue");
-//RabbitMQUtils.receiveMessage("module_queue");
-//RabbitMQUtils.sendJsonMessage(someObject, "another_queue");
-//RabbitMQUtils.receiveJsonMessage(SomeClass.class, "another_queue");
-// 闇�瑕佸皢 someObject 鏇挎崲涓轰綘瑕佸彂閫佺殑瀵硅薄锛屽苟灏� SomeClass 鏇挎崲涓轰綘瑕佹帴鏀跺苟杞崲鐨勫璞$被鍨嬨��
\ No newline at end of file
diff --git a/CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java b/CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java
index 6ff9ab2..cc29839 100644
--- a/CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java
+++ b/CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java
@@ -4,7 +4,8 @@
import com.mes.entity.EdgStorageCageDetails;
import com.mes.entity.GlassInfo;
import com.mes.entity.Tempered;
-import com.mes.mapper.SelectInfo;
+import com.mes.mapper.HangzhouMesMapper;
+import com.mes.mapper.PpMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -12,30 +13,25 @@
import java.util.Map;
@Service
-@DS("hangzhoumes")
-public class hangzhoumesService {
+public class HangzhoumesService {
@Autowired
- private SelectInfo SelectInfo;
-
+ private HangzhouMesMapper hangzhouMesMapper;
+ //鏍规嵁缂栧彿 鏌ユ壘鐜荤拑灏忕墖淇℃伅
public GlassInfo getUserInfo(String process_id){
- return SelectInfo.SelectGlassId(process_id);
+ return hangzhouMesMapper.selectGlassId(process_id);
}
- // //璇嗗埆淇℃伅
- // public List<Map> SelectCutTerritory(String process_id){
- // return SelectInfo.SelectCutTerritory(process_id);
- // }
//鐞嗙墖缂撳瓨 绗煎唴淇℃伅
- public List<EdgStorageCageDetails> SelectCageInfo(){
- return SelectInfo.SelectCachInfo();
+ public List<Map> SelectCageInfo(){
+ return hangzhouMesMapper.selectCachInfo();
}
//纾ㄨ竟灏忕墖淇℃伅
public List<Map> SelectEdgInfo(String line){
-
- return SelectInfo.SelectEdgInfo(line);
+ return hangzhouMesMapper.selectEdgInfo(line);
}
+
}
diff --git a/CacheGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java b/CacheGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java
deleted file mode 100644
index 5274aa6..0000000
--- a/CacheGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.mes.service.impl;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.entity.OrderTest;
-import com.mes.mapper.OrderTestMapper;
-import com.mes.service.IOrderService;
-import org.springframework.stereotype.Service;
-
-@Service
-@DS("erp_sd")
-public class OrderServiceImpl extends ServiceImpl<OrderTestMapper, OrderTest> implements IOrderService {
-}
diff --git a/CacheGlassModule/src/main/java/com/mes/service/pp/PpService.java b/CacheGlassModule/src/main/java/com/mes/service/pp/PpService.java
new file mode 100644
index 0000000..bc3b645
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/service/pp/PpService.java
@@ -0,0 +1,51 @@
+package com.mes.service.pp;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.mes.entity.GlassInfo;
+import com.mes.entity.Tempered;
+import com.mes.mapper.HangzhouMesMapper;
+import com.mes.mapper.PpMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class PpService {
+
+ @Autowired
+ private PpMapper selectInfoMapper;
+ @Autowired
+ private HangzhouMesMapper hangzhouMesMapper;
+
+ // public GlassInfo getUserInfo(String process_id){
+ // return hangzhouMesMapper.selectGlassId(process_id);
+ // }
+
+ public List<Tempered> selectTemperedTerritory(String process_id){
+ return selectInfoMapper.selectTemperedTerritory(process_id);
+ }
+
+ //鍒囧壊鐗堝浘 褰撳墠璇嗗埆鐗堝浘
+ public List<Map> selectCutTerritory(){
+ //1.寰楀埌瑕佹樉绀虹殑 宸ョ▼ID 浠ュ強鐗堝浘ID
+ //2.鍦℉angzhoumes鏁版嵁搴撻噷 寰楀埌鐩墠宸茬粡 棰嗗彇浣嗘湭瀹屾垚鐨� 宸ョ▼ID闆嗗悎
+ //3.鎷垮伐绋嬮泦鍚堝幓PP鏁版嵁搴撻噷 寰楀埌瀵瑰簲鐨勫皬鐗囬泦鍚�
+ //4.鎷垮搴旂殑灏忕墖闆嗗悎 涓� 缂撳瓨浠诲姟琛ㄨ繘琛屽姣� 鏌ユ壘涓嬩竴鐗堝浘鏄剧ず
+ String process_id = "P24032204";
+ String territory_id = "1";
+ return selectInfoMapper.selectCutTerritory(process_id,territory_id);
+ }
+ //鍒囧壊鐗堝浘 鏍规嵁宸ョ▼鍙锋煡璇� 鎵�鏈夌増鍥惧皬鐗囨暟鎹�
+ public List<Map> selectCutTerritory(String process_id){
+ return selectInfoMapper.selectCutTerritory(process_id);
+ }
+ //鍒囧壊鐗堝浘 鏍规嵁宸ョ▼鍙�,鐗堝浘缂栧彿鏌ヨ 鐗堝浘缂栧彿閲屾墍鏈夊皬鐗囨暟鎹�
+ public List<Map> selectCutTerritory(String process_id,String TerritoryId){
+ return selectInfoMapper.selectCutTerritory(process_id,TerritoryId);
+ }
+
+
+}
+
diff --git a/CacheGlassModule/src/main/java/com/mes/service/pp/SelectdppService.java b/CacheGlassModule/src/main/java/com/mes/service/pp/SelectdppService.java
deleted file mode 100644
index 2eecb75..0000000
--- a/CacheGlassModule/src/main/java/com/mes/service/pp/SelectdppService.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.mes.service.pp;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.mes.entity.GlassInfo;
-import com.mes.entity.Tempered;
-import com.mes.mapper.SelectInfo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Map;
-
-@Service
-@DS("pp")
-public class SelectdppService {
-
- @Autowired
- private SelectInfo SelectInfo;
-
- public GlassInfo getUserInfo(String process_id){
- return SelectInfo.SelectGlassId(process_id);
- }
-
- public List<Tempered> SelectTemperedTerritory(String process_id){
- return SelectInfo.SelectTemperedTerritory(process_id);
- }
- //鍒囧壊鐗堝浘
- public List<Map> SelectCutTerritory(String process_id){
- return SelectInfo.SelectCutTerritory(process_id);
- }
-
-
-}
-
diff --git a/LoadGlassModule/src/main/java/com/mes/MesApplication.java b/LoadGlassModule/src/main/java/com/mes/MesApplication.java
index 9cc84b5..14b69cd 100644
--- a/LoadGlassModule/src/main/java/com/mes/MesApplication.java
+++ b/LoadGlassModule/src/main/java/com/mes/MesApplication.java
@@ -1,6 +1,4 @@
package com.mes;
-
-import com.mes.common.PlcTools.S7object;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
diff --git a/LoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java b/LoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
index 9cc9e37..8ffee41 100644
--- a/LoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
+++ b/LoadGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
@@ -1,7 +1,9 @@
package com.mes.common.PlcTools;
-
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
import java.nio.charset.StandardCharsets;
+import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
@@ -9,15 +11,37 @@
import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
import com.google.common.primitives.Bytes;
+import org.apache.ibatis.jdbc.Null;
public class S7control {
S7PLC s7PLC; // PLC閫氳绫诲疄渚�
-
- public S7control(EPlcType plcType, String ip, int port, int rack, int slot) {
+ private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+ private String ip = "192.168.10.1"; // plc ip鍦板潃
+ private int port = 102; // plc 绔彛鍙�
+
+ private static volatile S7control instance = null;
+
+ private S7control() {
if (s7PLC == null)
s7PLC = new S7PLC(plcType, ip, port,0,0);
- }
+ }
+ public S7control(EPlcType plcType,String ip,int port,int a,int b) {
+ if (s7PLC == null)
+ s7PLC = new S7PLC(plcType, ip, port,a,b);
+ }
+
+ // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+ public static S7control getinstance() {
+ if (instance == null) {
+ synchronized (S7control.class) {
+ if (instance == null)
+ instance = new S7control();
+ }
+ }
+ return instance;
+ }
+
/**
* 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
*/
@@ -33,7 +57,7 @@
public boolean CheckConnected() {
return s7PLC.checkConnected();
}
-
+
/**
* 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
*
@@ -156,7 +180,7 @@
}
}
-
+
private int getIndexFromAddress(String address) {
@@ -181,7 +205,6 @@
public List<Short> ReadWord(String address, int count) {
if (s7PLC == null)
return null;
-
List<String> addresslist = GetAddressList(address, count, 16);
try {
return s7PLC.readInt16(addresslist);
@@ -191,7 +214,13 @@
return null;
}
}
-
+ public byte[] Readbyte(String address, int count) {
+ byte[] byt=new byte[count];
+ int wordcount=((count%2==0)?count/2:count+1);
+ List<Short> word=ReadWord(address,wordcount);
+
+ return byt;
+ }
/**
* 鎸夋寚瀹氱殑鍦板潃 璇诲彇byte缁撴灉闆�
*
@@ -269,6 +298,41 @@
}
+
+
+
+ public List<String> readStringsandword(List<String> addressList) {
+ if (s7PLC == null) {
+ return null;
+ }
+ List<String> result = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ if (address.contains("-")) {
+ address = address.substring(0, address.indexOf("-"));
+
+ byte[] bytes = s7PLC.readByte(address, 14);
+ if (bytes != null) {
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ result.add(str);
+ }
+
+ } else {
+ Short value = s7PLC.readInt16(address);
+ result.add(value.toString());
+
+ }
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ result.add(null);
+ }
+ }
+
+ return result;
+ }
+
+
+
//涓嶈繛缁湴鍧�鍐欏叆Word
public void WriteWord(List<String> address, List<Short> datas) {
if (s7PLC == null)
@@ -300,7 +364,7 @@
glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
}
byte[] bytes = Bytes.toArray(glassidlist);
- WriteByte(addr, bytes);
+ S7control.getinstance().WriteByte(addr, bytes);
}
//璇诲彇涓嶈繛缁瓀ord
@@ -410,4 +474,11 @@
}
return addresslist;
}
+ public void writeString(String addr,String data) {
+ s7PLC.writeString(addr,data);
+ }
+
+ public String readStrings(String addr) {
+ return s7PLC.readString(addr);
+ }
}
diff --git a/LoadGlassModule/src/main/java/com/mes/controller/LoadGlassController.java b/LoadGlassModule/src/main/java/com/mes/controller/LoadGlassController.java
new file mode 100644
index 0000000..57419a0
--- /dev/null
+++ b/LoadGlassModule/src/main/java/com/mes/controller/LoadGlassController.java
@@ -0,0 +1,55 @@
+package com.mes.controller;
+import java.util.List;
+import java.util.Map;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.mes.common.Result;
+import com.mes.entity.Tempering;
+import com.mes.entity.UpWorkstation;
+import com.mes.service.LoadGlassService;
+import com.mes.service.TemperingOverService;
+import com.mes.service.TemperingService;
+
+
+@RestController
+@RequestMapping("/LoadGlass")
+
+// TidyUpGlassModule 閽㈠寲妯″潡
+public class LoadGlassController {
+
+ @Autowired
+ private LoadGlassService loadGlassService;
+
+ @PostMapping("/SelectAll") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
+ @ResponseBody
+ public Result SelectGlassInfo() {
+ List<UpWorkstation> glass = loadGlassService.selectAll();
+ System.out.println(glass);
+ return Result.seccess(glass);
+ }
+
+ @PostMapping("/insertGlass") //淇敼涓�鏉″伐浣嶄俊鎭�,鎺ユ敹瀹炰緥绫诲瓧娈典负瀹介珮鍘氳啘绯绘暟閲忓伐浣峣d
+ @ResponseBody
+ public void insertGlassinfo(@RequestBody UpWorkstation upwork) {
+ loadGlassService.insertGlass(upwork);
+
+ }
+
+ @PostMapping("/deleteGlass") //淇敼涓�鏉″伐浣嶇殑鐜荤拑淇℃伅锛屼紶杈撳伐浣峣d灏嗙幓鐠冧俊鎭浉鍏冲瓧娈垫洿鏀逛负null
+ @ResponseBody
+ public void SelectCutTerritory(int upworkid) {
+ loadGlassService.deleteGlass(upworkid);
+ }
+
+ @PostMapping("/selectPriority") //寮�濮嬩笂鐗囦换鍔�
+ @ResponseBody
+ public void selectPriority() {
+ boolean result = loadGlassService.isCanLoadGlass();
+ if(result==true){
+ loadGlassService.selectPriority();
+ }
+ }
+
+
+
+}
diff --git a/LoadGlassModule/src/main/java/com/mes/controller/OrderTestController.java b/LoadGlassModule/src/main/java/com/mes/controller/OrderTestController.java
deleted file mode 100644
index aecbd7f..0000000
--- a/LoadGlassModule/src/main/java/com/mes/controller/OrderTestController.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.mes.controller;
-
-import com.mes.mapper.OrderTestMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-//@CrossOrigin //瑙e喅鍗曚釜controller 璺ㄥ煙闂
-@RestController
-@RequestMapping("/order11111111")
-
-public class OrderTestController {
- @Autowired
- private OrderTestMapper orderMapper;
-
-// @GetMapping //鏌ヨorder琛ㄧ粨鏋滈泦
-// public Result index(){
-// return Result.seccess(orderMapper.findAll());
-//
-// }
-//
-// @PostMapping //鎻掑叆
-// public Integer save(@RequestBody Order order) {
-// return orderMapper.insert(order);
-// }
-//
-// @PostMapping("/update")
-// public Integer updateOrder(@RequestBody Order order) {
-// return orderMapper.update(order.getId(),order.getOrderid());
-// }
-//
-// @DeleteMapping("/{id}") //鍒犻櫎鏁版嵁
-// public Integer delete(@PathVariable Integer id) {
-// return orderMapper.deleteById(id);
-// }
-
-
-}
diff --git a/LoadGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuController.java b/LoadGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuController.java
index 6eee09a..aab8fb4 100644
--- a/LoadGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuController.java
+++ b/LoadGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuController.java
@@ -19,9 +19,7 @@
private SysMenuService sysMenuService;
@GetMapping
public Result getMenu(){
- //MyChannelHandlerPool myChannelHandlerPool = new MyChannelHandlerPool();
- //myChannelHandlerPool.sendMsg("123");
- //MyChannelHandlerPool.channelGroup.writeAndFlush( new TextWebSocketFrame("123123"));
+ //鑾峰彇缂撳瓨
return Result.seccess(sysMenuService.getMenu());
}
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/BigStorageCage.java b/LoadGlassModule/src/main/java/com/mes/entity/BigStorageCage.java
deleted file mode 100644
index d103b46..0000000
--- a/LoadGlassModule/src/main/java/com/mes/entity/BigStorageCage.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`big_storage_cage`")
-public class BigStorageCage {
- @TableId(type = IdType.AUTO)
- private Integer id;//澶х悊鐗囩琛╥d
- private Integer device_id;//璁惧id
- private Integer slot;//鏍呮牸鍙�
- private String enable_state;//鍚敤鐘舵��
- private Integer remain_width;//鍓╀綑瀹藉害
-
-}
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java b/LoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
deleted file mode 100644
index bb1d86e..0000000
--- a/LoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_glass_info`")
-public class DownGlassInfo {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖鐜荤拑淇℃伅琛╥d
- private String flowcardid;//娴佺▼鍗″彿
- private Integer sequence;//椤哄簭
- private Integer width;//瀹�
- private Integer height;//楂�
- private Integer thickness;//鍘氬害
-
-}
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/DownStorageCage.java b/LoadGlassModule/src/main/java/com/mes/entity/DownStorageCage.java
deleted file mode 100644
index 1e1ff49..0000000
--- a/LoadGlassModule/src/main/java/com/mes/entity/DownStorageCage.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_storage_cage`")
-public class DownStorageCage {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖鍓嶇悊鐗囩琛╥d
- private Integer deviceid;//璁惧id
- private Integer slot;//鏍呮牸鍙�
- private String enablestate;//鍚敤鐘舵��
- private Integer remainwidth;//鍓╀綑
-
-}
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java b/LoadGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java
deleted file mode 100644
index 9e26f5f..0000000
--- a/LoadGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_storage_cage_details`")
-public class DownStorageCagedetails {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖鍓嶇悊鐗囩鏄庣粏琛╥d
- private Integer deviceid;//璁惧id
- private Integer slot;//鏍呮牸鍙�
- private Integer glassid;//鐜荤拑id
- private Integer sequence;//灏忕墖鍦ㄦ牸鍐呯殑椤哄簭
- private String flow_card_id;//娴佺▼鍗″彿
- private Integer glass_type;//鐜荤拑绫诲瀷
- private Double width;//瀹�
- private Double height;//楂�
- private Double thickness;//鍘氬害
- private Integer temperinglayoutid;//閽㈠寲鐗堝浘id
- private Integer tempering_feed_sequence;//閽㈠寲鐗堝浘鐗囧簭
- private Integer state;//鐘舵��
- private Integer gap;//鐜荤拑闂撮殭
-
-}
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java b/LoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
deleted file mode 100644
index 847d157..0000000
--- a/LoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_workstation`")
-public class DownWorkstation {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖宸ヤ綅琛╥d
- private Integer flowcard_id;//宸ヤ綅id
- private String glass_type;//娴佺▼鍗″彿
- private Integer width;//璁惧id
- private Integer height;//鍚敤鐘舵��
- private Integer thickness;//宸ヤ綔鐘舵��
-
-}
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/OrderTest.java b/LoadGlassModule/src/main/java/com/mes/entity/OrderTest.java
deleted file mode 100644
index e8ea030..0000000
--- a/LoadGlassModule/src/main/java/com/mes/entity/OrderTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`order`")
-public class OrderTest {
- @TableId(type = IdType.AUTO)
- private Integer id;
- private String orderId;
- private String recipeNo;
- private String largeglassNo;
- private String largeglassCompleted;
- private String smallglassNo;
- private String smallglassCompleted;
- private String smallglassProcessing;
- private String smallglassWorn;
- private String orderStatus;
- private String orderMaker;
- private String makeTime;
- private String updateTime;
-
-}
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/Tempering.java b/LoadGlassModule/src/main/java/com/mes/entity/Tempering.java
deleted file mode 100644
index 5b61dae..0000000
--- a/LoadGlassModule/src/main/java/com/mes/entity/Tempering.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`tempering_glass_info`")
-public class Tempering {
- @TableId(type = IdType.AUTO)
- private Integer id;//閽㈠寲灏忕墖淇℃伅琛╥d
- private String flowcard_id;//娴佺▼鍗�
- private Integer glass_type;//娴佺▼鍗$幓鐠冪被鍨�
- private Double width;//瀹�
- private Double height;//楂�
- private Double thickness;//鍘氬害
- private Integer filmsid;//鑶滅郴
- private Integer ishorizontal;//閽㈠寲鏄惁鎺ュ彈妯斁
- private Integer tempering_layout_id;//閽㈠寲鐗堝浘id
- private Integer tempering_feed_sequence;//閽㈠寲鐗堝浘鐗囧簭
- private Integer x_coordinate;//x鍧愭爣
- private Integer y_coordinate;//y鍧愭爣
- private Integer angle;//鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
- private Integer state;//鐘舵��
-
-}
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/device/InitUtil.java b/LoadGlassModule/src/main/java/com/mes/entity/device/InitUtil.java
new file mode 100644
index 0000000..6d59bd3
--- /dev/null
+++ b/LoadGlassModule/src/main/java/com/mes/entity/device/InitUtil.java
@@ -0,0 +1,124 @@
+package com.mes.entity.device;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import com.mes.common.PlcTools.S7control;
+
+public class InitUtil {
+ //鍒濆鍖杦ord
+ public static PlcParameterObject initword(String jsonFilePath) {
+ try {
+ FileReader fileReader = new FileReader(jsonFilePath);
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+
+ StringBuilder content = new StringBuilder();
+ String line;
+
+ while ((line = bufferedReader.readLine()) != null) {
+ content.append(line);
+ }
+
+ bufferedReader.close();
+ fileReader.close();
+
+ JSONObject jsonfileobj = new JSONObject(content.toString());
+ JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
+ PlcParameterObject plcParameterObject = new PlcParameterObject();
+ plcParameterObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//璁剧疆璧峰浣嶅湴鍧�
+ plcParameterObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//璁剧疆鍦板潃闀垮害
+
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject parameterObj = jsonArray.getJSONObject(i);
+ PlcParameterInfo plcParameterInfo = new PlcParameterInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
+ String codeid = parameterObj.getStr("codeId");
+ plcParameterInfo.setCodeId(codeid);
+ plcParameterInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
+ //plcParameterInfo.setRatio(Integer.valueOf(parameterObj.getStr("ratio")));
+ plcParameterInfo.setAddressLength(Integer.valueOf(parameterObj.getStr("addressLenght")));
+ plcParameterInfo.setUnit(parameterObj.getStr("unit"));
+ plcParameterObject.addPlcParameter(plcParameterInfo);
+ }
+ // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
+ // byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
+ // plcParameterObject.setPlcParameterList(getplcvlues);
+
+ return plcParameterObject;
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //鍒濆鍖朾it
+ public static PlcBitObject initbit(String jsonFilePath) {
+ PlcBitObject plcBitObject = new PlcBitObject();
+
+ try {
+ FileReader fileReader = new FileReader(jsonFilePath);
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+
+ StringBuilder content = new StringBuilder();
+ String line;
+
+ while ((line = bufferedReader.readLine()) != null) {
+ content.append(line);
+ }
+
+ bufferedReader.close();
+ fileReader.close();
+
+ JSONObject jsonfileobj = new JSONObject(content.toString());
+ JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
+ plcBitObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//璁剧疆璧峰浣嶅湴鍧�
+ plcBitObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//璁剧疆鍦板潃闀垮害
+
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject parameterObj = jsonArray.getJSONObject(i);
+
+ PlcBitInfo plcBitInfo = new PlcBitInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
+ String codeid = parameterObj.getStr("codeId");
+ plcBitInfo.setCodeId(codeid);
+ plcBitInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
+
+ plcBitObject.addPlcBit(plcBitInfo);
+ }
+ System.out.println("");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ //Boolean[] values1 = { false, true, true, true, false, false, true, false,
+ // false, true ,true };
+ // List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
+
+// List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
+// plcBitObject.setPlcBitList(getplcvlues);
+ return plcBitObject;
+ }
+
+//
+ public static void readAndUpdateBitValues(PlcBitObject plcBitObject) {
+
+// Boolean[] values1 = { false, true, true, true, false, false, true, false,
+// false, true ,true };
+// List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
+ List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
+ plcBitObject.setPlcBitList(getplcvlues);
+ }
+
+
+ public static void readAndUpdateWordValues(PlcParameterObject plcParameterObject) {
+
+ // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
+ byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
+ plcParameterObject.setPlcParameterList(getplcvlues);
+ }
+
+
+
+}
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java b/LoadGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java
new file mode 100644
index 0000000..dcb707e
--- /dev/null
+++ b/LoadGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java
@@ -0,0 +1,95 @@
+package com.mes.entity.device;
+
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import static com.mes.entity.device.InitUtil.readAndUpdateWordValues;
+public class PLCAutoMes extends Thread {
+
+ // // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
+ // private Configuration config;
+ private static InitUtil initUtil;
+ // public static PlcParameterObject PlcMesObject;
+ // public static PlcParameterObject PlcReadObject;
+ // public static PlcParameterObject PlcframeObject;
+
+ // // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+ // MessageHandler customS7Control = new MessageHandler();
+
+ // 鍗曚緥瀹炰緥
+ private static PLCAutoMes instance;
+ // private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
+ private static String PlcAlbania = PLCAutoMes.class.getResource("/JsonFile/PlcAlbania.json").getPath();
+ // private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
+ // private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
+ // private static String PlcParameter = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
+
+ // private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
+
+ // private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
+
+ // private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
+ // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
+
+ // 璋冪敤initword鏂规硶
+
+ // public static PlcParameterObject plcParameterObject = initUtil.initword(PlcParameter);
+ // public static PlcBitObject plcPlcTest = initUtil.initbit(PlcTest);
+ // public static PlcBitObject plcBitObject = initUtil.initbit(PlcSign);
+ // public static PlcParameterObject plcStateObject= initUtil.initword(PlcState);
+ // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
+ public static PlcParameterObject PlcMesObject = InitUtil.initword(PlcAlbania);
+ // public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
+ // public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
+
+ // 绉佹湁鏋勯�犲嚱鏁�
+ public PLCAutoMes() throws IOException {
+ //config = new Configuration("config.properties");
+ initUtil = new InitUtil();
+ }
+
+ // 鑾峰彇鍗曚緥瀹炰緥
+ public static synchronized PLCAutoMes getInstance() throws IOException {
+ if (instance == null) {
+ instance = new PLCAutoMes();
+ }
+ return instance;
+ }
+
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(100);
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ // System.out.println(jsonFilePath);
+
+ //readAndUpdateWordValues(PlcReadObject);
+ readAndUpdateWordValues(PlcMesObject);
+ //readAndUpdateWordValues(PlcframeObject);
+ // readAndUpdateWordValues(PlcframeObject);
+
+ // readAndUpdateWordValues(plcStateObject);
+ // int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
+ // // System.out.println(index);
+ // PlcMesObject.getPlcParameter("AddStart").getAddress(index);
+ // // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
+ // List<String> addresses = new ArrayList<>();
+ // addresses.add("FeedID");
+ // addresses.add("AddStart");
+ // // System.out.println(addresses);
+ // // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
+ // List<String> addresses2 = new ArrayList<>();
+ // addresses2.add("FeedID");
+ // addresses2.add("FeedCarStatus");
+
+ //System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
+
+ }
+ }
+}
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java b/LoadGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java
new file mode 100644
index 0000000..78846f9
--- /dev/null
+++ b/LoadGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java
@@ -0,0 +1,77 @@
+package com.mes.entity.device;
+
+
+
+public class PlcBitInfo {
+
+ public PlcBitInfo(String startAddress) {
+ this.startAddress = startAddress;
+ }
+ private String startAddress;
+ // 鍙傛暟鏍囪瘑
+ private String codeId;
+
+ // 鍙傛暟鍚嶇О
+ private String name;
+
+ // 璇诲彇 鍙傛暟鍊�
+ private Boolean value;
+ // 鍙傛暟鍦板潃
+ private int addressIndex;
+
+ public String getCodeId() {
+ return this.codeId;
+ }
+
+ public void setCodeId(String codeId) {
+ this.codeId = codeId;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Boolean getValue() {
+ return this.value;
+ }
+
+ public void setValue(Boolean value) {
+ this.value = value;
+ }
+
+
+ public int getAddressIndex() {
+ return this.addressIndex;
+ }
+ /**
+ * 鑾峰彇鍦板潃
+ *
+ * @param index 绱㈠紩鍦板潃
+ */
+ public String getAddress(int index) {
+ String[] stringdatas = this.startAddress.trim().split("\\.");
+ if (stringdatas.length < 2 )
+ return null;
+ int dbwindex = 0;
+ int bitindex = 0;
+ if (stringdatas.length == 3) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ bitindex = Integer.parseInt(stringdatas[2]);
+ } else
+ return null;
+ dbwindex+=index/8;
+ bitindex+=index%8;
+ return stringdatas[0]+"."+dbwindex+"."+bitindex;
+ }
+
+
+
+
+ public void setAddressIndex(int addressindex) {
+ this.addressIndex = addressindex;
+ }
+ }
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java b/LoadGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java
new file mode 100644
index 0000000..977a13c
--- /dev/null
+++ b/LoadGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java
@@ -0,0 +1,142 @@
+package com.mes.entity.device;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+public class PlcBitObject {
+
+ // 璇ユā鍧楁暟鎹被鍨嬶紝鏁版嵁璧峰浣嶇疆
+ private String plcAddressBegin;
+ // 鏁版嵁鍦板潃闀垮害锛氱涓�鍙傛暟鍒版渶鍚庝竴涓弬鏁扮殑闀垮害
+ private int plcAddressLength;
+ private ArrayList<PlcBitInfo> plcBitList;
+
+ /**
+ * @return 鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public String getPlcAddressBegin() {
+ return plcAddressBegin;
+ }
+
+ /**
+ * @param plcAddressBegin 璁剧疆鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public void setPlcAddressBegin(String plcAddressBegin) {
+ this.plcAddressBegin = plcAddressBegin;
+ }
+
+ /**
+ * @return 鏁版嵁鍖� 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public int getPlcAddressLength() {
+ return plcAddressLength;
+ }
+
+ /**
+ * @return 璁剧疆锛氭暟鎹尯 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public void setPlcAddressLength(int plcAddressLength) {
+ this.plcAddressLength = plcAddressLength;
+ }
+
+ /**
+ * @return 鑾峰彇鍙傛暟瀹炰緥闆嗗悎
+ */
+ public ArrayList<PlcBitInfo> getBitList() {
+ return plcBitList;
+ }
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeid 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public PlcBitInfo getPlcBit(String codeid) {
+ if (plcBitList != null) {
+ for (PlcBitInfo plcbitInfo : plcBitList) {
+ if (plcbitInfo.getCodeId().equals(codeid))
+ return plcbitInfo;
+ }
+ return null;
+ } else
+ return null;
+ }
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeid 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public List<Boolean> getPlcBitValues(List<String> codeids) {
+ List<Boolean> arrayList = new ArrayList<>();
+ if (plcBitList != null) {
+ Map<String, Boolean> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭
+ for (PlcBitInfo plcBitInfo : plcBitList) {
+ if (codeids.contains(plcBitInfo.getCodeId().toString())) {
+ resultMap.put(plcBitInfo.getCodeId().toString(), plcBitInfo.getValue());
+ }
+ }
+ for (String codeId : codeids) { // 鎸夌収浼犲叆鍙傛暟鐨勯『搴忛亶鍘�
+ Boolean value = resultMap.get(codeId);
+ if (value != null) {
+ arrayList.add(value);
+ } else {
+ arrayList.add(null); // 濡傛灉鎵句笉鍒板搴旂殑鍊硷紝娣诲姞 null
+ }
+ }
+ }
+ return arrayList;
+ }
+
+
+ public List<String> getAddressListByCodeId(List<String> codeIdList) {
+ List<String> addressList = new ArrayList<>();
+ for (String codeId : codeIdList) {
+ for (PlcBitInfo plcBitInfo : plcBitList) {
+ if (plcBitInfo.getCodeId().equals(codeId)) {
+ int index = plcBitInfo.getAddressIndex();
+ String address = plcBitInfo.getAddress(index);
+ if (address != null) {
+ addressList.add(address);
+ }
+ }
+ }
+ }
+ return addressList;
+ }
+
+
+ /**
+ * 娣诲姞鍙傛暟瀹炰緥
+ *
+ * @param param 鍙傛暟瀹炰緥
+ */
+ public void addPlcBit(PlcBitInfo param) {
+ if (plcBitList != null)
+ plcBitList.add(param);
+ else {
+ plcBitList = new ArrayList<PlcBitInfo>();
+ plcBitList.add(param);
+ }
+ }
+
+ /**
+ * 鏍规嵁PLC杩斿洖鐨勬暟鎹� 缁欏弬鏁板疄渚嬭祴鍊�
+ *
+ * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
+ */
+ public void setPlcBitList(List<Boolean> plcValueArray) {
+ if (plcBitList != null) {
+ for (PlcBitInfo plcbitInfo : plcBitList) {
+ plcbitInfo.setValue(plcValueArray.get(plcbitInfo.getAddressIndex()));
+ }
+ }
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java b/LoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java
new file mode 100644
index 0000000..b4a2051
--- /dev/null
+++ b/LoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java
@@ -0,0 +1,128 @@
+package com.mes.entity.device;
+public class PlcParameterInfo {
+ public PlcParameterInfo(String startAddress) {
+ this.startAddress = startAddress;
+ }
+ private String startAddress;
+ // 鍙傛暟鏍囪瘑
+ private String codeId;
+
+ // 鍙傛暟鍚嶇О
+ private String name;
+
+ // 璇诲彇 鍙傛暟鍊�
+ private String value;
+
+ // // 鍐欏叆 鍙傛暟鍊�
+ // private String writeValue;
+
+ // 鍙傛暟鍗曚綅
+ private String unit;
+
+ // 鍙傛暟鍊艰浆鎹㈢郴鏁�
+ private int ratio;
+
+ // 鍙傛暟鍦板潃
+ private int addressIndex;
+
+ // 鍙傛暟鍦板潃浣嶉暱搴�
+ private int addressLength;
+
+ public String getCodeId() {
+ return this.codeId;
+ }
+
+ public void setCodeId(String codeId) {
+ this.codeId = codeId;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getValue() {
+ return this.value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ // public String getWriteValue() {
+ // return this.writeValue;
+ // }
+
+ // public void setWriteValue(String writeValue) {
+ // this.writeValue = writeValue;
+ // }
+
+ public String getUnit() {
+ return this.unit;
+ }
+
+ public void setUnit(String unit) {
+ this.unit = unit;
+ }
+
+ public int getAddressIndex() {
+ return this.addressIndex;
+ }
+
+ public void setAddressIndex(int addressindex) {
+ this.addressIndex = addressindex;
+ }
+
+ public int getAddressLength() {
+ return this.addressLength;
+ }
+
+ public void setAddressLength(int addresslength) {
+ this.addressLength = addresslength;
+ }
+
+ public int getRatio() {
+ return this.ratio;
+ }
+
+ public void setRatio(int ratio) {
+ this.ratio = ratio;
+ }
+
+
+ /**
+ * 鑾峰彇鍦板潃
+ *
+ * @param index 绱㈠紩鍦板潃
+ */
+ public String getAddress(int index) {
+ String[] stringdatas = this.startAddress.trim().split("\\.");
+ int addressLength=this.addressLength;
+ if (addressLength < 2 ){
+ return null;
+ }
+
+ if (addressLength == 2 ) {
+ int wordindex = index;
+
+ return stringdatas[0] + "." + wordindex;
+ }
+ if (addressLength == 14 ) {
+ int wordindex = index;
+ //int newIndex = wordindex + 13;
+ return stringdatas[0] + "." + wordindex ;
+ }
+ return null;
+ }
+
+ public int getPlcAddress() {
+
+ return addressIndex;
+ }
+ public String getAddress() {
+ return getAddress(this.addressIndex);
+ }
+}
\ No newline at end of file
diff --git a/LoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java b/LoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java
new file mode 100644
index 0000000..5355db5
--- /dev/null
+++ b/LoadGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java
@@ -0,0 +1,202 @@
+package com.mes.entity.device;
+
+import java.lang.reflect.Array;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+public class PlcParameterObject {
+
+ // 璇ユā鍧楁暟鎹被鍨嬶紝鏁版嵁璧峰浣嶇疆
+ private String plcAddressBegin;
+ // 鏁版嵁鍦板潃闀垮害锛氱涓�鍙傛暟鍒版渶鍚庝竴涓弬鏁扮殑闀垮害
+ private int plcAddressLength;
+ private ArrayList<PlcParameterInfo> plcParameterList;
+
+ /**
+ * @return 鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public String getPlcAddressBegin() {
+ return plcAddressBegin;
+ }
+
+ /**
+ * @param plcAddressBegin 璁剧疆鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public void setPlcAddressBegin(String plcAddressBegin) {
+ this.plcAddressBegin = plcAddressBegin;
+ }
+
+ /**
+ * @return 鏁版嵁鍖� 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public int getPlcAddressLength() {
+ return plcAddressLength;
+ }
+
+ /**
+ * @return 璁剧疆锛氭暟鎹尯 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public void setPlcAddressLength(int plcAddressLength) {
+ this.plcAddressLength = plcAddressLength;
+ }
+
+ /**
+ * @return 鑾峰彇鍙傛暟瀹炰緥闆嗗悎
+ */
+ public ArrayList<PlcParameterInfo> getPlcParameterList() {
+ return plcParameterList;
+ }
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeid 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public PlcParameterInfo getPlcParameter(String codeid) {
+ if (plcParameterList != null) {
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+ if (plcParameterInfo.getCodeId().equals(codeid))
+ return plcParameterInfo;
+ }
+ return null;
+ } else
+ return null;
+ }
+
+
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeids 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public List<String> getPlcParameterValues(List<String> codeids) {
+ List<String> arrayList = new ArrayList<>();
+ if (plcParameterList != null) {
+ Map<String, PlcParameterInfo> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+ if (codeids.contains(plcParameterInfo.getCodeId())) {
+ resultMap.put(plcParameterInfo.getCodeId(), plcParameterInfo);
+ }
+ }
+ for (String codeId : codeids) { // 鎸夌収浼犲叆鍙傛暟鐨勯『搴忛亶鍘�
+ PlcParameterInfo plcParameterInfo = resultMap.get(codeId);
+ if (plcParameterInfo != null) {
+ arrayList.add(plcParameterInfo.getValue());
+ } else {
+ arrayList.add(null); // 濡傛灉鎵句笉鍒板搴旂殑鍊硷紝娣诲姞 null
+ }
+ }
+ }
+ return arrayList;
+ }
+
+
+ public List<String> getAddressListByCodeId(List<String> codeIdList) {
+ List<String> addressList = new ArrayList<>();
+ for (String codeId : codeIdList) {
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+ if (plcParameterInfo.getCodeId().equals(codeId)) {
+ int index = plcParameterInfo.getAddressIndex();
+ String address = plcParameterInfo.getAddress(index);
+ if (address != null) {
+ addressList.add(address);
+ }
+ }
+ }
+ }
+ return addressList;
+ }
+
+
+
+
+
+
+ /**
+ * 娣诲姞鍙傛暟瀹炰緥
+ *
+ * @param param 鍙傛暟瀹炰緥
+ */
+ public void addPlcParameter(PlcParameterInfo param) {
+ if (plcParameterList != null)
+ plcParameterList.add(param);
+ else {
+ plcParameterList = new ArrayList<PlcParameterInfo>();
+ plcParameterList.add(param);
+ }
+ }
+
+ /**
+ * 鏍规嵁PLC杩斿洖鐨勬暟鎹� 缁欏弬鏁板疄渚嬭祴鍊�
+ *
+ * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
+ */
+ public void setPlcParameterList(byte[] plcValueArray) {
+ if (plcParameterList != null) {
+
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+
+ byte[] valueList = new byte[plcParameterInfo.getAddressLength()];
+
+// System.out.println(plcParameterInfo.getAddressLength());
+
+ for (int i = 0; i < plcParameterInfo.getAddressLength(); i++) {
+ Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
+
+ }
+ if (plcParameterInfo.getAddressLength()==2) {
+ plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
+ }
+ else if (plcParameterInfo.getAddressLength()==14) {
+ plcParameterInfo.setValue((byteToHexString(valueList)));
+ }
+
+ else
+ {
+ String valuestr = new String(valueList);
+ plcParameterInfo.setValue(valuestr);
+ }
+ }
+ }
+ }
+ /**
+ * short绫诲瀷杞琤yte[]
+ *
+ * @param s short绫诲瀷鍊�
+ */
+ public static byte[] short2byte(short s){
+ byte[] b = new byte[2];
+ for(int i = 0; i < 2; i++){
+ int offset = 16 - (i+1)*8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
+ b[i] = (byte)((s >> offset)&0xff); //鎶�16浣嶅垎涓�2涓�8浣嶈繘琛屽垎鍒瓨鍌�
+ }
+ return b;
+ }
+ /**
+ * byte[]绫诲瀷杞瑂hort
+ *
+ * @param b byte[]绫诲瀷鍊�
+ */
+ public static short byte2short(byte[] b){
+ short l = 0;
+ for (int i = 0; i < 2; i++) {
+ l<<=8; //<<=鍜屾垜浠殑 +=鏄竴鏍风殑锛屾剰鎬濆氨鏄� l = l << 8
+ l |= (b[i] & 0xff); //鍜屼笂闈篃鏄竴鏍风殑 l = l | (b[i]&0xff)
+ }
+ return l;
+ }
+
+ public static String byteToHexString(byte[] bytes) {
+
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ return str;
+ }
+
+
+}
\ No newline at end of file
diff --git a/LoadGlassModule/src/main/java/com/mes/mapper/LoadGlassMapper.java b/LoadGlassModule/src/main/java/com/mes/mapper/LoadGlassMapper.java
index 8db4eff..cfcb251 100644
--- a/LoadGlassModule/src/main/java/com/mes/mapper/LoadGlassMapper.java
+++ b/LoadGlassModule/src/main/java/com/mes/mapper/LoadGlassMapper.java
@@ -1,18 +1,24 @@
package com.mes.mapper;
-
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.entity.OrderTest;
+import java.util.List;
import org.apache.ibatis.annotations.*;
-
+import com.mes.entity.UpWorkstation;
@Mapper
public interface LoadGlassMapper extends BaseMapper<UpWorkstation> {
//鏄剧ず鐩墠宸ヤ綅鐜荤拑淇℃伅
@Select("SELECT * FROM up_workstation")
- UpWorkstation SelectALL();
+ List<UpWorkstation> selectALL();
//鍒犻櫎宸ヤ綅鐨勭幓鐠冧俊鎭�
- @Delete("DELETE FROM up_workstation where workstation_id=#{id}")
- void DeleteALL(int id );
+ @Update("UPDATE `hangzhoumes`.`up_workstation` SET `pattern_width` =NULL, `pattern_heigth` = NULL, `pattern_thickness` = NULL, `films_id` = NULL, `number` = NULL WHERE `workstation_id`=#{id}")
+ void deleteGlass(int id );
//澧炲姞涓婄墖淇℃伅
- @Insert ("INSERT INTO up_workstation (pattern_width,pattern_heigth,pattern_thickness)value(#{patternwidth},#{patternheigth},#{patternthickness}where workstation_id=#{workstationid) ")
- void InsertALL(Double patternwidth,Double patternheigth,Double patternthickness,int workstationid);
+ @Update ("UPDATE `hangzhoumes`.`up_workstation` SET `pattern_width` = #{upwork.patternwidth}, `pattern_heigth` = #{upwork.patternheigth}, `pattern_thickness` =#{upwork.patternthickness}, `films_id` =#{upwork.filmsid}, `number` = #{upwork.number} WHERE `id` = #{upwork.workstationid}; ")
+ void insertGlass(UpWorkstation upwork);
+ //鏄惁鍙戣捣鍚哥墖
+ @Select("SELECT * FROM up_workstation where workstation_id=#{id}")
+ UpWorkstation selectAdd(int id);
+ //鍒ゆ柇浼樺厛宸ヤ綅鍚哥墖
+ @Select("select b.layout_sequence from up_workstation a left join up_patten_usage b on a.pattern_width=b.width and a.pattern_heigth=b.width and a.pattern_thickness=b.thickness where a.workstation_id=#{id}")
+ int selectPriority(int id);
+
}
diff --git a/LoadGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java b/LoadGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java
deleted file mode 100644
index d12d4ce..0000000
--- a/LoadGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mes.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.entity.OrderTest;
-import org.apache.ibatis.annotations.*;
-
-@Mapper
-public interface OrderTestMapper extends BaseMapper<OrderTest> {
-
-// @Select("select * from `order`")
-// List<Order> findAll();
-//
-// @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
-// Integer insert(Order order);
-//
-// @Delete("delete from `order` where id=#{id}")
-// Integer deleteById(@Param("id") Integer id);
-//
-// @Update("update `order` set order_id=#{order_id} where id=#{id}")
-// Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
-}
diff --git a/LoadGlassModule/src/main/java/com/mes/service/IOrderService.java b/LoadGlassModule/src/main/java/com/mes/service/IOrderService.java
deleted file mode 100644
index 9e44ceb..0000000
--- a/LoadGlassModule/src/main/java/com/mes/service/IOrderService.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package com.mes.service;public interface IOrderService {
-}
diff --git a/LoadGlassModule/src/main/java/com/mes/service/LoadGlassService.java b/LoadGlassModule/src/main/java/com/mes/service/LoadGlassService.java
index c990244..ae21fd0 100644
--- a/LoadGlassModule/src/main/java/com/mes/service/LoadGlassService.java
+++ b/LoadGlassModule/src/main/java/com/mes/service/LoadGlassService.java
@@ -1,40 +1,69 @@
+package com.mes.service;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.example.springboot.component.PLCAutoMes;
-import com.example.springboot.component.S7control;
-import com.example.springboot.entity.device.PlcParameterObject;
+import com.mes.entity.device.PLCAutoMes;
+import com.mes.common.PlcTools.S7control;
+import com.mes.entity.device.PlcParameterObject;
import com.google.common.primitives.Bytes;
import com.mes.entity.GlassInfo;
import com.mes.entity.UpWorkstation;
import com.mes.mapper.LoadGlassMapper;
-import com.mes.mapper.TemperingMapper;
@Service
public class LoadGlassService {
@Autowired
private com.mes.common.PlcTools.S7control s7control;
private LoadGlassMapper LoadGlassMapper;
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
//鏄剧ず宸ヤ綅涓婄殑鐜荤拑淇℃伅
- public GlassInfo selectAll() {
- GlassInfo glassInfo = LoadGlassMapper.SelectALL();
+ public List<UpWorkstation> selectAll() {
+ List<UpWorkstation> glassInfo= LoadGlassMapper.selectALL();
return glassInfo;
}
//澧炲姞浜哄伐杈撳叆鐨勫伐浣嶇幓鐠冧俊鎭�
- public void insertGlass(UpWorkstation upwork) {
- LoadGlassMapper.insertGlass(upwork.Getpatternwidth(),upwork.getPatternheigth(),upwork.getPatternthickness(),1);
+ public void insertGlass(UpWorkstation upwork) {
+ LoadGlassMapper.insertGlass(upwork.getPatternwidth(),upwork.getPatternheigth(),upwork.getPatternthickness(),upwork.getWorkstationid());
}
//鍒犻櫎浜哄伐鎼蛋鐨勭幓鐠冧俊鎭�
- public void deleteGlass(String id) {
+ public void deleteGlass(int id) {
LoadGlassMapper.deleteGlass(id);
}
//鍒ゆ柇鏄惁鍙互鍚哥墖杩涜浠诲姟
public boolean isCanLoadGlass() {
- boolean result=s7control.WriteWord("100.10", 1);
- return result;
+ String loadstate=plcmes.getPlcParameter("鍚哥墖淇″彿").getValue();
+ if(loadstate.equals("1")) {
+ return true;
+ }else{
+ return false;
+ }
+
}
+ //鍒ゆ柇浼樺厛鍚哥墖浣嶇疆鍚庡彂閫佸嚭鐗囦换鍔�
+ public void selectPriority() {
+ int loadid1=LoadGlassMapper.selectPriority(1);
+ int loadid2=LoadGlassMapper.selectPriority(2);
+ //鍒ゆ柇涓�浜屽彿宸ヤ綅鍝竟鐨勯『搴忔洿鍏�
+ if(loadid1>loadid2) {
+ s7control.WriteWord("DB100.10", (short)2);
+ }else if(loadid1==loadid2){
+ //褰撲袱涓伐浣嶄笂鐨勭幓鐠冩暟鐩稿悓鏃讹紝鍒ゆ柇鍝釜宸ヤ綅涓婄殑鐜荤拑鏁版洿灏�,浼樺厛娓呯┖涓�涓灦瀛�
+ int glassnum1=plcmes.getPlcParameter("鐜荤拑鏁�").getValue();
+ int glassnum2=plcmes.getPlcParameter("鐜荤拑鏁�").getValue();
+ if(glassnum1>glassnum2){
+ s7control.WriteWord("DB100.10", (short)2);
+ }else{
+ s7control.WriteWord("DB100.10", (short)1);
+ }
+ }else{
+ s7control.WriteWord("DB100.10", (short)1);
+ }
+ }
+
+
+
}
diff --git a/LoadGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java b/LoadGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java
deleted file mode 100644
index 5274aa6..0000000
--- a/LoadGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.mes.service.impl;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.entity.OrderTest;
-import com.mes.mapper.OrderTestMapper;
-import com.mes.service.IOrderService;
-import org.springframework.stereotype.Service;
-
-@Service
-@DS("erp_sd")
-public class OrderServiceImpl extends ServiceImpl<OrderTestMapper, OrderTest> implements IOrderService {
-}
diff --git a/LoadGlassModule/src/main/resources/JsonFile/PlcAlbania.json b/LoadGlassModule/src/main/resources/JsonFile/PlcAlbania.json
new file mode 100644
index 0000000..ab65b19
--- /dev/null
+++ b/LoadGlassModule/src/main/resources/JsonFile/PlcAlbania.json
@@ -0,0 +1,414 @@
+{
+ "plcAddressBegin":"DB14.0",
+ "plcAddressLenght":"208",
+ "dataType":"word",
+ "parameteInfor":[
+ {
+ "codeId": "PLCToMES",
+ "addressIndex":"0",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"m/min"
+ },
+ {
+ "codeId": "IDStatus1",
+ "addressIndex":"2",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"m/min"
+ },
+ {
+ "codeId": "IDStatus2",
+ "addressIndex":"4",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"m/min"
+ },
+ {
+ "codeId": "IDStatus3",
+ "addressIndex":"6",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "IDStatus4",
+ "addressIndex":"8",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "IDStatus5",
+ "addressIndex":"10",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "IDStatus6",
+ "addressIndex":"12",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "StautsID1",
+ "addressIndex":"14",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "StautsID2",
+ "addressIndex":"16",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "StautsID3",
+ "addressIndex":"18",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "StautsID4",
+ "addressIndex":"20",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "StautsID5",
+ "addressIndex":"22",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "StautsID6",
+ "addressIndex":"24",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "GaToMES",
+ "addressIndex":"26",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "Height",
+ "addressIndex":"28",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "width",
+ "addressIndex":"30",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "ExportTOMES1",
+ "addressIndex":"32",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "ExportToMES2",
+ "addressIndex":"34",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ } ,
+ {
+ "codeId": "MESToPLC",
+ "addressIndex":"36",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ } ,
+ {
+ "codeId": "MESID1",
+ "addressIndex":"38",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ } ,
+ {
+ "codeId": "MESID2",
+ "addressIndex":"54",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "MESID3",
+ "addressIndex":"70",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "MESID4",
+ "addressIndex":"86",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "MESID5",
+ "addressIndex":"102",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "MESID6",
+ "addressIndex":"118",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "MESToPLCStart1",
+ "addressIndex":"134",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStart2",
+ "addressIndex":"136",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStart3",
+ "addressIndex":"138",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,{
+ "codeId": "MESToPLCStart4",
+ "addressIndex":"140",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,{
+ "codeId": "MESToPLCStart5",
+ "addressIndex":"142",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,{
+ "codeId": "MESToPLCStart6",
+ "addressIndex":"144",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget1",
+ "addressIndex":"146",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget2",
+ "addressIndex":"148",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget3",
+ "addressIndex":"150",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget4",
+ "addressIndex":"152",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget5",
+ "addressIndex":"154",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget6",
+ "addressIndex":"156",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus1",
+ "addressIndex":"158",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus2",
+ "addressIndex":"160",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus3",
+ "addressIndex":"162",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus4",
+ "addressIndex":"164",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus5",
+ "addressIndex":"166",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus6",
+ "addressIndex":"168",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToGaStatus",
+ "addressIndex":"170",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "A01Err",
+ "addressIndex":"172",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "A02Err",
+ "addressIndex":"174",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "B01Err",
+ "addressIndex":"176",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C01Err",
+ "addressIndex":"178",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C02Err",
+ "addressIndex":"180",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "ErrSpace1",
+ "addressIndex":"182",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "ErrSpace2",
+ "addressIndex":"184",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "ErrSpace3",
+ "addressIndex":"186",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "B01Position",
+ "addressIndex":"188",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C01Position",
+ "addressIndex":"190",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C02Position",
+ "addressIndex":"192",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "DeviceState",
+ "addressIndex":"194",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "AllFVRun",
+ "addressIndex":"196",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "A01State",
+ "addressIndex":"198",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "A02State",
+ "addressIndex":"200",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "B01State",
+ "addressIndex":"202",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C01State",
+ "addressIndex":"204",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C02State",
+ "addressIndex":"206",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ]
+}
diff --git a/TemperingGlassModule/src/main/JsonFile/PlcAlbania.json b/TemperingGlassModule/src/main/JsonFile/PlcAlbania.json
new file mode 100644
index 0000000..ab65b19
--- /dev/null
+++ b/TemperingGlassModule/src/main/JsonFile/PlcAlbania.json
@@ -0,0 +1,414 @@
+{
+ "plcAddressBegin":"DB14.0",
+ "plcAddressLenght":"208",
+ "dataType":"word",
+ "parameteInfor":[
+ {
+ "codeId": "PLCToMES",
+ "addressIndex":"0",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"m/min"
+ },
+ {
+ "codeId": "IDStatus1",
+ "addressIndex":"2",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"m/min"
+ },
+ {
+ "codeId": "IDStatus2",
+ "addressIndex":"4",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"m/min"
+ },
+ {
+ "codeId": "IDStatus3",
+ "addressIndex":"6",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "IDStatus4",
+ "addressIndex":"8",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "IDStatus5",
+ "addressIndex":"10",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "IDStatus6",
+ "addressIndex":"12",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "StautsID1",
+ "addressIndex":"14",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "StautsID2",
+ "addressIndex":"16",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "StautsID3",
+ "addressIndex":"18",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "StautsID4",
+ "addressIndex":"20",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "StautsID5",
+ "addressIndex":"22",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "StautsID6",
+ "addressIndex":"24",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "GaToMES",
+ "addressIndex":"26",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "Height",
+ "addressIndex":"28",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "width",
+ "addressIndex":"30",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "ExportTOMES1",
+ "addressIndex":"32",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,
+ {
+ "codeId": "ExportToMES2",
+ "addressIndex":"34",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ } ,
+ {
+ "codeId": "MESToPLC",
+ "addressIndex":"36",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ } ,
+ {
+ "codeId": "MESID1",
+ "addressIndex":"38",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ } ,
+ {
+ "codeId": "MESID2",
+ "addressIndex":"54",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "MESID3",
+ "addressIndex":"70",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "MESID4",
+ "addressIndex":"86",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "MESID5",
+ "addressIndex":"102",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "MESID6",
+ "addressIndex":"118",
+ "addressLenght":"14",
+ "ratio":"1",
+ "unit":"mm/S"
+ },
+ {
+ "codeId": "MESToPLCStart1",
+ "addressIndex":"134",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStart2",
+ "addressIndex":"136",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStart3",
+ "addressIndex":"138",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,{
+ "codeId": "MESToPLCStart4",
+ "addressIndex":"140",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,{
+ "codeId": "MESToPLCStart5",
+ "addressIndex":"142",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ,{
+ "codeId": "MESToPLCStart6",
+ "addressIndex":"144",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget1",
+ "addressIndex":"146",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget2",
+ "addressIndex":"148",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget3",
+ "addressIndex":"150",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget4",
+ "addressIndex":"152",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget5",
+ "addressIndex":"154",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCTarget6",
+ "addressIndex":"156",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus1",
+ "addressIndex":"158",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus2",
+ "addressIndex":"160",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus3",
+ "addressIndex":"162",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus4",
+ "addressIndex":"164",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus5",
+ "addressIndex":"166",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToPLCStatus6",
+ "addressIndex":"168",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "MESToGaStatus",
+ "addressIndex":"170",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "A01Err",
+ "addressIndex":"172",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "A02Err",
+ "addressIndex":"174",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "B01Err",
+ "addressIndex":"176",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C01Err",
+ "addressIndex":"178",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C02Err",
+ "addressIndex":"180",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "ErrSpace1",
+ "addressIndex":"182",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "ErrSpace2",
+ "addressIndex":"184",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "ErrSpace3",
+ "addressIndex":"186",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "B01Position",
+ "addressIndex":"188",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C01Position",
+ "addressIndex":"190",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C02Position",
+ "addressIndex":"192",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "DeviceState",
+ "addressIndex":"194",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "AllFVRun",
+ "addressIndex":"196",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "A01State",
+ "addressIndex":"198",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "A02State",
+ "addressIndex":"200",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "B01State",
+ "addressIndex":"202",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C01State",
+ "addressIndex":"204",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ },{
+ "codeId": "C02State",
+ "addressIndex":"206",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"mm/S"
+ }
+ ]
+}
diff --git a/TemperingGlassModule/src/main/java/com/mes/MesApplication.java b/TemperingGlassModule/src/main/java/com/mes/MesApplication.java
index 9cc84b5..79565d5 100644
--- a/TemperingGlassModule/src/main/java/com/mes/MesApplication.java
+++ b/TemperingGlassModule/src/main/java/com/mes/MesApplication.java
@@ -1,11 +1,8 @@
package com.mes;
-
-import com.mes.common.PlcTools.S7object;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.transaction.annotation.EnableTransactionManagement;
-import org.springframework.transaction.annotation.Transactional;
//springboot 鍚姩鍏ュ彛
@SpringBootApplication
diff --git a/TemperingGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java b/TemperingGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
index 9cc9e37..8ffee41 100644
--- a/TemperingGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
+++ b/TemperingGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
@@ -1,7 +1,9 @@
package com.mes.common.PlcTools;
-
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
import java.nio.charset.StandardCharsets;
+import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
@@ -9,15 +11,37 @@
import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
import com.google.common.primitives.Bytes;
+import org.apache.ibatis.jdbc.Null;
public class S7control {
S7PLC s7PLC; // PLC閫氳绫诲疄渚�
-
- public S7control(EPlcType plcType, String ip, int port, int rack, int slot) {
+ private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+ private String ip = "192.168.10.1"; // plc ip鍦板潃
+ private int port = 102; // plc 绔彛鍙�
+
+ private static volatile S7control instance = null;
+
+ private S7control() {
if (s7PLC == null)
s7PLC = new S7PLC(plcType, ip, port,0,0);
- }
+ }
+ public S7control(EPlcType plcType,String ip,int port,int a,int b) {
+ if (s7PLC == null)
+ s7PLC = new S7PLC(plcType, ip, port,a,b);
+ }
+
+ // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+ public static S7control getinstance() {
+ if (instance == null) {
+ synchronized (S7control.class) {
+ if (instance == null)
+ instance = new S7control();
+ }
+ }
+ return instance;
+ }
+
/**
* 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
*/
@@ -33,7 +57,7 @@
public boolean CheckConnected() {
return s7PLC.checkConnected();
}
-
+
/**
* 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
*
@@ -156,7 +180,7 @@
}
}
-
+
private int getIndexFromAddress(String address) {
@@ -181,7 +205,6 @@
public List<Short> ReadWord(String address, int count) {
if (s7PLC == null)
return null;
-
List<String> addresslist = GetAddressList(address, count, 16);
try {
return s7PLC.readInt16(addresslist);
@@ -191,7 +214,13 @@
return null;
}
}
-
+ public byte[] Readbyte(String address, int count) {
+ byte[] byt=new byte[count];
+ int wordcount=((count%2==0)?count/2:count+1);
+ List<Short> word=ReadWord(address,wordcount);
+
+ return byt;
+ }
/**
* 鎸夋寚瀹氱殑鍦板潃 璇诲彇byte缁撴灉闆�
*
@@ -269,6 +298,41 @@
}
+
+
+
+ public List<String> readStringsandword(List<String> addressList) {
+ if (s7PLC == null) {
+ return null;
+ }
+ List<String> result = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ if (address.contains("-")) {
+ address = address.substring(0, address.indexOf("-"));
+
+ byte[] bytes = s7PLC.readByte(address, 14);
+ if (bytes != null) {
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ result.add(str);
+ }
+
+ } else {
+ Short value = s7PLC.readInt16(address);
+ result.add(value.toString());
+
+ }
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ result.add(null);
+ }
+ }
+
+ return result;
+ }
+
+
+
//涓嶈繛缁湴鍧�鍐欏叆Word
public void WriteWord(List<String> address, List<Short> datas) {
if (s7PLC == null)
@@ -300,7 +364,7 @@
glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
}
byte[] bytes = Bytes.toArray(glassidlist);
- WriteByte(addr, bytes);
+ S7control.getinstance().WriteByte(addr, bytes);
}
//璇诲彇涓嶈繛缁瓀ord
@@ -410,4 +474,11 @@
}
return addresslist;
}
+ public void writeString(String addr,String data) {
+ s7PLC.writeString(addr,data);
+ }
+
+ public String readStrings(String addr) {
+ return s7PLC.readString(addr);
+ }
}
diff --git a/TemperingGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java b/TemperingGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
index 1e45c2c..703a863 100644
--- a/TemperingGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
+++ b/TemperingGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
@@ -16,7 +16,7 @@
public void run(ApplicationArguments args) throws Exception {
// TODO Auto-generated method stub
//
- System.out.println("鍚姩瀹屾垚");
+ System.out.println("鍚姩瀹屾垚Tempering");
}
diff --git a/TemperingGlassModule/src/main/java/com/mes/controller/OrderTestController.java b/TemperingGlassModule/src/main/java/com/mes/controller/OrderTestController.java
deleted file mode 100644
index aecbd7f..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/controller/OrderTestController.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.mes.controller;
-
-import com.mes.mapper.OrderTestMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-//@CrossOrigin //瑙e喅鍗曚釜controller 璺ㄥ煙闂
-@RestController
-@RequestMapping("/order11111111")
-
-public class OrderTestController {
- @Autowired
- private OrderTestMapper orderMapper;
-
-// @GetMapping //鏌ヨorder琛ㄧ粨鏋滈泦
-// public Result index(){
-// return Result.seccess(orderMapper.findAll());
-//
-// }
-//
-// @PostMapping //鎻掑叆
-// public Integer save(@RequestBody Order order) {
-// return orderMapper.insert(order);
-// }
-//
-// @PostMapping("/update")
-// public Integer updateOrder(@RequestBody Order order) {
-// return orderMapper.update(order.getId(),order.getOrderid());
-// }
-//
-// @DeleteMapping("/{id}") //鍒犻櫎鏁版嵁
-// public Integer delete(@PathVariable Integer id) {
-// return orderMapper.deleteById(id);
-// }
-
-
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/controller/TemperingController.java b/TemperingGlassModule/src/main/java/com/mes/controller/TemperingController.java
new file mode 100644
index 0000000..8fa7876
--- /dev/null
+++ b/TemperingGlassModule/src/main/java/com/mes/controller/TemperingController.java
@@ -0,0 +1,51 @@
+package com.mes.controller;
+import java.util.List;
+import java.util.Map;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.mes.common.Result;
+import com.mes.entity.Tempering;
+import com.mes.service.TemperingOverService;
+import com.mes.service.TemperingService;
+
+
+@RestController
+@RequestMapping("/Tempering")
+
+// TidyUpGlassModule 閽㈠寲妯″潡
+public class TemperingController {
+
+ @Autowired
+ private TemperingService temperingService;
+
+ @Autowired
+ private TemperingOverService temperingOverService;
+
+ @GetMapping("/SelectWaitingGlass") // 鏌ヨ閽㈠寲绛夌墖涓殑鐗堝浘淇℃伅,鐘舵�佷负1鐨勪负宸插埌,鐘舵�佷负0鐨勪负绛夊緟涓�
+ @ResponseBody
+ public Result SelectWaitingGlass(@RequestParam(name = "ProcessId", required = false) String ProcessId) {
+ List<Tempering> glass = temperingService.SelectWaitingGlass();
+ System.out.println(glass);
+ return Result.seccess(glass);
+ }
+
+ @GetMapping("/SelectIntoGlass") // 鏌ヨ杩涚倝涓殑閽㈠寲绛夌墖涓殑鐗堝浘淇℃伅,鐘舵�佸叏涓�1鐨勪负宸插埌銆�
+ @ResponseBody
+ public Result SelectIntoGlass(String ProcessId) {
+ List<Tempering> glass = temperingService.SelectIntoGlass();
+ System.out.println(glass);
+ return Result.seccess(glass);
+ }
+
+ @GetMapping("/SelectOutGlass") //閽㈠寲鍚庢樉绀哄嚭鐐夌殑鐗堝浘淇℃伅
+ @ResponseBody
+ public Result SelectOutGlass(String ProcessId) {
+ List<Tempering> glass = temperingOverService.SelectOutGlass();
+ System.out.println(glass);
+ return Result.seccess(glass);
+ }
+
+
+
+
+}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/BigStorageCage.java b/TemperingGlassModule/src/main/java/com/mes/entity/BigStorageCage.java
deleted file mode 100644
index d103b46..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/entity/BigStorageCage.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`big_storage_cage`")
-public class BigStorageCage {
- @TableId(type = IdType.AUTO)
- private Integer id;//澶х悊鐗囩琛╥d
- private Integer device_id;//璁惧id
- private Integer slot;//鏍呮牸鍙�
- private String enable_state;//鍚敤鐘舵��
- private Integer remain_width;//鍓╀綑瀹藉害
-
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java b/TemperingGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java
deleted file mode 100644
index 3dd0188..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`big_storage_cage_details`")
-public class BigStorageCageDetails {
- @TableId(type = IdType.AUTO)
- private Integer id;//澶х悊鐗囩璇︽儏琛╥d
- private Integer deviceid;//璁惧id
- private Integer slot;//鏍呮牸鍙�
- private Integer glassid;//鐜荤拑id
- private Integer sequence;//灏忕墖鍦ㄦ牸鍐呯殑椤哄簭
- private String flowcardid;//娴佺▼鍗″彿
- private Integer glasstype;//鐜荤拑绫诲瀷
- private Double width;//瀹�
- private Double height;//楂�
- private Double thickness;//鍘氬害
- private Integer temperinglayoutid;//閽㈠寲鐗堝浘id
- private Integer temperingfeedsequence;//閽㈠寲鐗堝浘鐗囧簭
- private Integer state;//鐘舵��
- private Integer gap;//鐜荤拑闂撮殭
-
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java b/TemperingGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
deleted file mode 100644
index bb1d86e..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_glass_info`")
-public class DownGlassInfo {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖鐜荤拑淇℃伅琛╥d
- private String flowcardid;//娴佺▼鍗″彿
- private Integer sequence;//椤哄簭
- private Integer width;//瀹�
- private Integer height;//楂�
- private Integer thickness;//鍘氬害
-
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/DownStorageCage.java b/TemperingGlassModule/src/main/java/com/mes/entity/DownStorageCage.java
deleted file mode 100644
index 1e1ff49..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/entity/DownStorageCage.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_storage_cage`")
-public class DownStorageCage {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖鍓嶇悊鐗囩琛╥d
- private Integer deviceid;//璁惧id
- private Integer slot;//鏍呮牸鍙�
- private String enablestate;//鍚敤鐘舵��
- private Integer remainwidth;//鍓╀綑
-
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java b/TemperingGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java
deleted file mode 100644
index 9e26f5f..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/entity/DownStorageCagedetails.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_storage_cage_details`")
-public class DownStorageCagedetails {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖鍓嶇悊鐗囩鏄庣粏琛╥d
- private Integer deviceid;//璁惧id
- private Integer slot;//鏍呮牸鍙�
- private Integer glassid;//鐜荤拑id
- private Integer sequence;//灏忕墖鍦ㄦ牸鍐呯殑椤哄簭
- private String flow_card_id;//娴佺▼鍗″彿
- private Integer glass_type;//鐜荤拑绫诲瀷
- private Double width;//瀹�
- private Double height;//楂�
- private Double thickness;//鍘氬害
- private Integer temperinglayoutid;//閽㈠寲鐗堝浘id
- private Integer tempering_feed_sequence;//閽㈠寲鐗堝浘鐗囧簭
- private Integer state;//鐘舵��
- private Integer gap;//鐜荤拑闂撮殭
-
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/DownWorkstation.java b/TemperingGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
deleted file mode 100644
index 847d157..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`down_workstation`")
-public class DownWorkstation {
- @TableId(type = IdType.AUTO)
- private Integer id;//涓嬬墖宸ヤ綅琛╥d
- private Integer flowcard_id;//宸ヤ綅id
- private String glass_type;//娴佺▼鍗″彿
- private Integer width;//璁惧id
- private Integer height;//鍚敤鐘舵��
- private Integer thickness;//宸ヤ綔鐘舵��
-
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/EdgStorageCage.java b/TemperingGlassModule/src/main/java/com/mes/entity/EdgStorageCage.java
deleted file mode 100644
index 9dcf7eb..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/entity/EdgStorageCage.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`edg_storage_cage`")
-public class EdgStorageCage {
- @TableId(type = IdType.AUTO)
- private Integer id;//纾ㄨ竟鍓嶇悊鐗囩琛╥d
- private Integer flowcard_id;//璁惧id
- private Integer glass_type;//鏍呮牸鍙�
- private String height;//鍚敤鐘舵��
- private Integer thickness;//鍓╀綑
-
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/EdgStorageCageDetails.java b/TemperingGlassModule/src/main/java/com/mes/entity/EdgStorageCageDetails.java
deleted file mode 100644
index 6cf60bd..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/entity/EdgStorageCageDetails.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`edg_storage_cage_details`")
-public class EdgStorageCageDetails {
- @TableId(type = IdType.AUTO)
- private Integer id;//纾ㄨ竟鍓嶇悊鐗囩璇︽儏琛╥d
- private Integer deviceid;//璁惧id
- private Integer slot;//鏍呮牸鍙�
- private Integer glassid;//鐜荤拑id
- private Integer sequence;//灏忕墖鍦ㄦ牸鍐呯殑椤哄簭
- private String flowcardid;//娴佺▼鍗″彿
- private Integer glasstype;//鐜荤拑绫诲瀷
- private Double width;//瀹�
- private Double height;//楂�
- private Double thickness;//鍘氬害
- private Double edgwidth;//纾ㄥ墠瀹�
- private Double edgheight;//纾ㄥ墠楂�
- private Integer temperinglayoutid;//閽㈠寲鐗堝浘id
- private Integer temperingfeedsequence;//閽㈠寲鐗堝浘鐗囧簭
- private Integer patternsequence;//鍘熺墖椤哄簭
- private Integer state;//鐘舵��
- private Integer gap;//鐜荤拑闂撮殭
-
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/OrderTest.java b/TemperingGlassModule/src/main/java/com/mes/entity/OrderTest.java
deleted file mode 100644
index e8ea030..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/entity/OrderTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-@Data //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("`order`")
-public class OrderTest {
- @TableId(type = IdType.AUTO)
- private Integer id;
- private String orderId;
- private String recipeNo;
- private String largeglassNo;
- private String largeglassCompleted;
- private String smallglassNo;
- private String smallglassCompleted;
- private String smallglassProcessing;
- private String smallglassWorn;
- private String orderStatus;
- private String orderMaker;
- private String makeTime;
- private String updateTime;
-
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/device/InitUtil.java b/TemperingGlassModule/src/main/java/com/mes/entity/device/InitUtil.java
new file mode 100644
index 0000000..6d59bd3
--- /dev/null
+++ b/TemperingGlassModule/src/main/java/com/mes/entity/device/InitUtil.java
@@ -0,0 +1,124 @@
+package com.mes.entity.device;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import com.mes.common.PlcTools.S7control;
+
+public class InitUtil {
+ //鍒濆鍖杦ord
+ public static PlcParameterObject initword(String jsonFilePath) {
+ try {
+ FileReader fileReader = new FileReader(jsonFilePath);
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+
+ StringBuilder content = new StringBuilder();
+ String line;
+
+ while ((line = bufferedReader.readLine()) != null) {
+ content.append(line);
+ }
+
+ bufferedReader.close();
+ fileReader.close();
+
+ JSONObject jsonfileobj = new JSONObject(content.toString());
+ JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
+ PlcParameterObject plcParameterObject = new PlcParameterObject();
+ plcParameterObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//璁剧疆璧峰浣嶅湴鍧�
+ plcParameterObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//璁剧疆鍦板潃闀垮害
+
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject parameterObj = jsonArray.getJSONObject(i);
+ PlcParameterInfo plcParameterInfo = new PlcParameterInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
+ String codeid = parameterObj.getStr("codeId");
+ plcParameterInfo.setCodeId(codeid);
+ plcParameterInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
+ //plcParameterInfo.setRatio(Integer.valueOf(parameterObj.getStr("ratio")));
+ plcParameterInfo.setAddressLength(Integer.valueOf(parameterObj.getStr("addressLenght")));
+ plcParameterInfo.setUnit(parameterObj.getStr("unit"));
+ plcParameterObject.addPlcParameter(plcParameterInfo);
+ }
+ // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
+ // byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
+ // plcParameterObject.setPlcParameterList(getplcvlues);
+
+ return plcParameterObject;
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //鍒濆鍖朾it
+ public static PlcBitObject initbit(String jsonFilePath) {
+ PlcBitObject plcBitObject = new PlcBitObject();
+
+ try {
+ FileReader fileReader = new FileReader(jsonFilePath);
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+
+ StringBuilder content = new StringBuilder();
+ String line;
+
+ while ((line = bufferedReader.readLine()) != null) {
+ content.append(line);
+ }
+
+ bufferedReader.close();
+ fileReader.close();
+
+ JSONObject jsonfileobj = new JSONObject(content.toString());
+ JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
+ plcBitObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//璁剧疆璧峰浣嶅湴鍧�
+ plcBitObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//璁剧疆鍦板潃闀垮害
+
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject parameterObj = jsonArray.getJSONObject(i);
+
+ PlcBitInfo plcBitInfo = new PlcBitInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
+ String codeid = parameterObj.getStr("codeId");
+ plcBitInfo.setCodeId(codeid);
+ plcBitInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
+
+ plcBitObject.addPlcBit(plcBitInfo);
+ }
+ System.out.println("");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ //Boolean[] values1 = { false, true, true, true, false, false, true, false,
+ // false, true ,true };
+ // List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
+
+// List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
+// plcBitObject.setPlcBitList(getplcvlues);
+ return plcBitObject;
+ }
+
+//
+ public static void readAndUpdateBitValues(PlcBitObject plcBitObject) {
+
+// Boolean[] values1 = { false, true, true, true, false, false, true, false,
+// false, true ,true };
+// List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
+ List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
+ plcBitObject.setPlcBitList(getplcvlues);
+ }
+
+
+ public static void readAndUpdateWordValues(PlcParameterObject plcParameterObject) {
+
+ // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
+ byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
+ plcParameterObject.setPlcParameterList(getplcvlues);
+ }
+
+
+
+}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java b/TemperingGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java
new file mode 100644
index 0000000..dcb707e
--- /dev/null
+++ b/TemperingGlassModule/src/main/java/com/mes/entity/device/PLCAutoMes.java
@@ -0,0 +1,95 @@
+package com.mes.entity.device;
+
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import static com.mes.entity.device.InitUtil.readAndUpdateWordValues;
+public class PLCAutoMes extends Thread {
+
+ // // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
+ // private Configuration config;
+ private static InitUtil initUtil;
+ // public static PlcParameterObject PlcMesObject;
+ // public static PlcParameterObject PlcReadObject;
+ // public static PlcParameterObject PlcframeObject;
+
+ // // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
+ // MessageHandler customS7Control = new MessageHandler();
+
+ // 鍗曚緥瀹炰緥
+ private static PLCAutoMes instance;
+ // private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
+ private static String PlcAlbania = PLCAutoMes.class.getResource("/JsonFile/PlcAlbania.json").getPath();
+ // private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
+ // private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
+ // private static String PlcParameter = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
+
+ // private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
+
+ // private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
+
+ // private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
+ // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
+
+ // 璋冪敤initword鏂规硶
+
+ // public static PlcParameterObject plcParameterObject = initUtil.initword(PlcParameter);
+ // public static PlcBitObject plcPlcTest = initUtil.initbit(PlcTest);
+ // public static PlcBitObject plcBitObject = initUtil.initbit(PlcSign);
+ // public static PlcParameterObject plcStateObject= initUtil.initword(PlcState);
+ // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
+ public static PlcParameterObject PlcMesObject = InitUtil.initword(PlcAlbania);
+ // public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
+ // public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
+
+ // 绉佹湁鏋勯�犲嚱鏁�
+ public PLCAutoMes() throws IOException {
+ //config = new Configuration("config.properties");
+ initUtil = new InitUtil();
+ }
+
+ // 鑾峰彇鍗曚緥瀹炰緥
+ public static synchronized PLCAutoMes getInstance() throws IOException {
+ if (instance == null) {
+ instance = new PLCAutoMes();
+ }
+ return instance;
+ }
+
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(100);
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ // System.out.println(jsonFilePath);
+
+ //readAndUpdateWordValues(PlcReadObject);
+ readAndUpdateWordValues(PlcMesObject);
+ //readAndUpdateWordValues(PlcframeObject);
+ // readAndUpdateWordValues(PlcframeObject);
+
+ // readAndUpdateWordValues(plcStateObject);
+ // int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
+ // // System.out.println(index);
+ // PlcMesObject.getPlcParameter("AddStart").getAddress(index);
+ // // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
+ // List<String> addresses = new ArrayList<>();
+ // addresses.add("FeedID");
+ // addresses.add("AddStart");
+ // // System.out.println(addresses);
+ // // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
+ // List<String> addresses2 = new ArrayList<>();
+ // addresses2.add("FeedID");
+ // addresses2.add("FeedCarStatus");
+
+ //System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
+
+ }
+ }
+}
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java b/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java
new file mode 100644
index 0000000..78846f9
--- /dev/null
+++ b/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcBitInfo.java
@@ -0,0 +1,77 @@
+package com.mes.entity.device;
+
+
+
+public class PlcBitInfo {
+
+ public PlcBitInfo(String startAddress) {
+ this.startAddress = startAddress;
+ }
+ private String startAddress;
+ // 鍙傛暟鏍囪瘑
+ private String codeId;
+
+ // 鍙傛暟鍚嶇О
+ private String name;
+
+ // 璇诲彇 鍙傛暟鍊�
+ private Boolean value;
+ // 鍙傛暟鍦板潃
+ private int addressIndex;
+
+ public String getCodeId() {
+ return this.codeId;
+ }
+
+ public void setCodeId(String codeId) {
+ this.codeId = codeId;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Boolean getValue() {
+ return this.value;
+ }
+
+ public void setValue(Boolean value) {
+ this.value = value;
+ }
+
+
+ public int getAddressIndex() {
+ return this.addressIndex;
+ }
+ /**
+ * 鑾峰彇鍦板潃
+ *
+ * @param index 绱㈠紩鍦板潃
+ */
+ public String getAddress(int index) {
+ String[] stringdatas = this.startAddress.trim().split("\\.");
+ if (stringdatas.length < 2 )
+ return null;
+ int dbwindex = 0;
+ int bitindex = 0;
+ if (stringdatas.length == 3) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ bitindex = Integer.parseInt(stringdatas[2]);
+ } else
+ return null;
+ dbwindex+=index/8;
+ bitindex+=index%8;
+ return stringdatas[0]+"."+dbwindex+"."+bitindex;
+ }
+
+
+
+
+ public void setAddressIndex(int addressindex) {
+ this.addressIndex = addressindex;
+ }
+ }
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java b/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java
new file mode 100644
index 0000000..977a13c
--- /dev/null
+++ b/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcBitObject.java
@@ -0,0 +1,142 @@
+package com.mes.entity.device;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+public class PlcBitObject {
+
+ // 璇ユā鍧楁暟鎹被鍨嬶紝鏁版嵁璧峰浣嶇疆
+ private String plcAddressBegin;
+ // 鏁版嵁鍦板潃闀垮害锛氱涓�鍙傛暟鍒版渶鍚庝竴涓弬鏁扮殑闀垮害
+ private int plcAddressLength;
+ private ArrayList<PlcBitInfo> plcBitList;
+
+ /**
+ * @return 鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public String getPlcAddressBegin() {
+ return plcAddressBegin;
+ }
+
+ /**
+ * @param plcAddressBegin 璁剧疆鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public void setPlcAddressBegin(String plcAddressBegin) {
+ this.plcAddressBegin = plcAddressBegin;
+ }
+
+ /**
+ * @return 鏁版嵁鍖� 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public int getPlcAddressLength() {
+ return plcAddressLength;
+ }
+
+ /**
+ * @return 璁剧疆锛氭暟鎹尯 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public void setPlcAddressLength(int plcAddressLength) {
+ this.plcAddressLength = plcAddressLength;
+ }
+
+ /**
+ * @return 鑾峰彇鍙傛暟瀹炰緥闆嗗悎
+ */
+ public ArrayList<PlcBitInfo> getBitList() {
+ return plcBitList;
+ }
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeid 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public PlcBitInfo getPlcBit(String codeid) {
+ if (plcBitList != null) {
+ for (PlcBitInfo plcbitInfo : plcBitList) {
+ if (plcbitInfo.getCodeId().equals(codeid))
+ return plcbitInfo;
+ }
+ return null;
+ } else
+ return null;
+ }
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeid 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public List<Boolean> getPlcBitValues(List<String> codeids) {
+ List<Boolean> arrayList = new ArrayList<>();
+ if (plcBitList != null) {
+ Map<String, Boolean> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭
+ for (PlcBitInfo plcBitInfo : plcBitList) {
+ if (codeids.contains(plcBitInfo.getCodeId().toString())) {
+ resultMap.put(plcBitInfo.getCodeId().toString(), plcBitInfo.getValue());
+ }
+ }
+ for (String codeId : codeids) { // 鎸夌収浼犲叆鍙傛暟鐨勯『搴忛亶鍘�
+ Boolean value = resultMap.get(codeId);
+ if (value != null) {
+ arrayList.add(value);
+ } else {
+ arrayList.add(null); // 濡傛灉鎵句笉鍒板搴旂殑鍊硷紝娣诲姞 null
+ }
+ }
+ }
+ return arrayList;
+ }
+
+
+ public List<String> getAddressListByCodeId(List<String> codeIdList) {
+ List<String> addressList = new ArrayList<>();
+ for (String codeId : codeIdList) {
+ for (PlcBitInfo plcBitInfo : plcBitList) {
+ if (plcBitInfo.getCodeId().equals(codeId)) {
+ int index = plcBitInfo.getAddressIndex();
+ String address = plcBitInfo.getAddress(index);
+ if (address != null) {
+ addressList.add(address);
+ }
+ }
+ }
+ }
+ return addressList;
+ }
+
+
+ /**
+ * 娣诲姞鍙傛暟瀹炰緥
+ *
+ * @param param 鍙傛暟瀹炰緥
+ */
+ public void addPlcBit(PlcBitInfo param) {
+ if (plcBitList != null)
+ plcBitList.add(param);
+ else {
+ plcBitList = new ArrayList<PlcBitInfo>();
+ plcBitList.add(param);
+ }
+ }
+
+ /**
+ * 鏍规嵁PLC杩斿洖鐨勬暟鎹� 缁欏弬鏁板疄渚嬭祴鍊�
+ *
+ * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
+ */
+ public void setPlcBitList(List<Boolean> plcValueArray) {
+ if (plcBitList != null) {
+ for (PlcBitInfo plcbitInfo : plcBitList) {
+ plcbitInfo.setValue(plcValueArray.get(plcbitInfo.getAddressIndex()));
+ }
+ }
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java b/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java
new file mode 100644
index 0000000..b4a2051
--- /dev/null
+++ b/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcParameterInfo.java
@@ -0,0 +1,128 @@
+package com.mes.entity.device;
+public class PlcParameterInfo {
+ public PlcParameterInfo(String startAddress) {
+ this.startAddress = startAddress;
+ }
+ private String startAddress;
+ // 鍙傛暟鏍囪瘑
+ private String codeId;
+
+ // 鍙傛暟鍚嶇О
+ private String name;
+
+ // 璇诲彇 鍙傛暟鍊�
+ private String value;
+
+ // // 鍐欏叆 鍙傛暟鍊�
+ // private String writeValue;
+
+ // 鍙傛暟鍗曚綅
+ private String unit;
+
+ // 鍙傛暟鍊艰浆鎹㈢郴鏁�
+ private int ratio;
+
+ // 鍙傛暟鍦板潃
+ private int addressIndex;
+
+ // 鍙傛暟鍦板潃浣嶉暱搴�
+ private int addressLength;
+
+ public String getCodeId() {
+ return this.codeId;
+ }
+
+ public void setCodeId(String codeId) {
+ this.codeId = codeId;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getValue() {
+ return this.value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ // public String getWriteValue() {
+ // return this.writeValue;
+ // }
+
+ // public void setWriteValue(String writeValue) {
+ // this.writeValue = writeValue;
+ // }
+
+ public String getUnit() {
+ return this.unit;
+ }
+
+ public void setUnit(String unit) {
+ this.unit = unit;
+ }
+
+ public int getAddressIndex() {
+ return this.addressIndex;
+ }
+
+ public void setAddressIndex(int addressindex) {
+ this.addressIndex = addressindex;
+ }
+
+ public int getAddressLength() {
+ return this.addressLength;
+ }
+
+ public void setAddressLength(int addresslength) {
+ this.addressLength = addresslength;
+ }
+
+ public int getRatio() {
+ return this.ratio;
+ }
+
+ public void setRatio(int ratio) {
+ this.ratio = ratio;
+ }
+
+
+ /**
+ * 鑾峰彇鍦板潃
+ *
+ * @param index 绱㈠紩鍦板潃
+ */
+ public String getAddress(int index) {
+ String[] stringdatas = this.startAddress.trim().split("\\.");
+ int addressLength=this.addressLength;
+ if (addressLength < 2 ){
+ return null;
+ }
+
+ if (addressLength == 2 ) {
+ int wordindex = index;
+
+ return stringdatas[0] + "." + wordindex;
+ }
+ if (addressLength == 14 ) {
+ int wordindex = index;
+ //int newIndex = wordindex + 13;
+ return stringdatas[0] + "." + wordindex ;
+ }
+ return null;
+ }
+
+ public int getPlcAddress() {
+
+ return addressIndex;
+ }
+ public String getAddress() {
+ return getAddress(this.addressIndex);
+ }
+}
\ No newline at end of file
diff --git a/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java b/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java
new file mode 100644
index 0000000..5355db5
--- /dev/null
+++ b/TemperingGlassModule/src/main/java/com/mes/entity/device/PlcParameterObject.java
@@ -0,0 +1,202 @@
+package com.mes.entity.device;
+
+import java.lang.reflect.Array;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+public class PlcParameterObject {
+
+ // 璇ユā鍧楁暟鎹被鍨嬶紝鏁版嵁璧峰浣嶇疆
+ private String plcAddressBegin;
+ // 鏁版嵁鍦板潃闀垮害锛氱涓�鍙傛暟鍒版渶鍚庝竴涓弬鏁扮殑闀垮害
+ private int plcAddressLength;
+ private ArrayList<PlcParameterInfo> plcParameterList;
+
+ /**
+ * @return 鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public String getPlcAddressBegin() {
+ return plcAddressBegin;
+ }
+
+ /**
+ * @param plcAddressBegin 璁剧疆鏁版嵁鍖哄紑濮嬪湴鍧�
+ */
+ public void setPlcAddressBegin(String plcAddressBegin) {
+ this.plcAddressBegin = plcAddressBegin;
+ }
+
+ /**
+ * @return 鏁版嵁鍖� 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public int getPlcAddressLength() {
+ return plcAddressLength;
+ }
+
+ /**
+ * @return 璁剧疆锛氭暟鎹尯 璇诲彇鎵�鏈夋暟鎹墍闇�鐨勯暱搴︼紙浠yte绫诲瀷涓哄熀鍑嗭級
+ */
+ public void setPlcAddressLength(int plcAddressLength) {
+ this.plcAddressLength = plcAddressLength;
+ }
+
+ /**
+ * @return 鑾峰彇鍙傛暟瀹炰緥闆嗗悎
+ */
+ public ArrayList<PlcParameterInfo> getPlcParameterList() {
+ return plcParameterList;
+ }
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeid 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public PlcParameterInfo getPlcParameter(String codeid) {
+ if (plcParameterList != null) {
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+ if (plcParameterInfo.getCodeId().equals(codeid))
+ return plcParameterInfo;
+ }
+ return null;
+ } else
+ return null;
+ }
+
+
+
+ /**
+ * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ *
+ * @param codeids 鍙傛暟鏍囪瘑
+ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
+ */
+ public List<String> getPlcParameterValues(List<String> codeids) {
+ List<String> arrayList = new ArrayList<>();
+ if (plcParameterList != null) {
+ Map<String, PlcParameterInfo> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+ if (codeids.contains(plcParameterInfo.getCodeId())) {
+ resultMap.put(plcParameterInfo.getCodeId(), plcParameterInfo);
+ }
+ }
+ for (String codeId : codeids) { // 鎸夌収浼犲叆鍙傛暟鐨勯『搴忛亶鍘�
+ PlcParameterInfo plcParameterInfo = resultMap.get(codeId);
+ if (plcParameterInfo != null) {
+ arrayList.add(plcParameterInfo.getValue());
+ } else {
+ arrayList.add(null); // 濡傛灉鎵句笉鍒板搴旂殑鍊硷紝娣诲姞 null
+ }
+ }
+ }
+ return arrayList;
+ }
+
+
+ public List<String> getAddressListByCodeId(List<String> codeIdList) {
+ List<String> addressList = new ArrayList<>();
+ for (String codeId : codeIdList) {
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+ if (plcParameterInfo.getCodeId().equals(codeId)) {
+ int index = plcParameterInfo.getAddressIndex();
+ String address = plcParameterInfo.getAddress(index);
+ if (address != null) {
+ addressList.add(address);
+ }
+ }
+ }
+ }
+ return addressList;
+ }
+
+
+
+
+
+
+ /**
+ * 娣诲姞鍙傛暟瀹炰緥
+ *
+ * @param param 鍙傛暟瀹炰緥
+ */
+ public void addPlcParameter(PlcParameterInfo param) {
+ if (plcParameterList != null)
+ plcParameterList.add(param);
+ else {
+ plcParameterList = new ArrayList<PlcParameterInfo>();
+ plcParameterList.add(param);
+ }
+ }
+
+ /**
+ * 鏍规嵁PLC杩斿洖鐨勬暟鎹� 缁欏弬鏁板疄渚嬭祴鍊�
+ *
+ * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
+ */
+ public void setPlcParameterList(byte[] plcValueArray) {
+ if (plcParameterList != null) {
+
+ for (PlcParameterInfo plcParameterInfo : plcParameterList) {
+
+ byte[] valueList = new byte[plcParameterInfo.getAddressLength()];
+
+// System.out.println(plcParameterInfo.getAddressLength());
+
+ for (int i = 0; i < plcParameterInfo.getAddressLength(); i++) {
+ Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
+
+ }
+ if (plcParameterInfo.getAddressLength()==2) {
+ plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
+ }
+ else if (plcParameterInfo.getAddressLength()==14) {
+ plcParameterInfo.setValue((byteToHexString(valueList)));
+ }
+
+ else
+ {
+ String valuestr = new String(valueList);
+ plcParameterInfo.setValue(valuestr);
+ }
+ }
+ }
+ }
+ /**
+ * short绫诲瀷杞琤yte[]
+ *
+ * @param s short绫诲瀷鍊�
+ */
+ public static byte[] short2byte(short s){
+ byte[] b = new byte[2];
+ for(int i = 0; i < 2; i++){
+ int offset = 16 - (i+1)*8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
+ b[i] = (byte)((s >> offset)&0xff); //鎶�16浣嶅垎涓�2涓�8浣嶈繘琛屽垎鍒瓨鍌�
+ }
+ return b;
+ }
+ /**
+ * byte[]绫诲瀷杞瑂hort
+ *
+ * @param b byte[]绫诲瀷鍊�
+ */
+ public static short byte2short(byte[] b){
+ short l = 0;
+ for (int i = 0; i < 2; i++) {
+ l<<=8; //<<=鍜屾垜浠殑 +=鏄竴鏍风殑锛屾剰鎬濆氨鏄� l = l << 8
+ l |= (b[i] & 0xff); //鍜屼笂闈篃鏄竴鏍风殑 l = l | (b[i]&0xff)
+ }
+ return l;
+ }
+
+ public static String byteToHexString(byte[] bytes) {
+
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ return str;
+ }
+
+
+}
\ No newline at end of file
diff --git a/TemperingGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java b/TemperingGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java
deleted file mode 100644
index d12d4ce..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mes.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.entity.OrderTest;
-import org.apache.ibatis.annotations.*;
-
-@Mapper
-public interface OrderTestMapper extends BaseMapper<OrderTest> {
-
-// @Select("select * from `order`")
-// List<Order> findAll();
-//
-// @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
-// Integer insert(Order order);
-//
-// @Delete("delete from `order` where id=#{id}")
-// Integer deleteById(@Param("id") Integer id);
-//
-// @Update("update `order` set order_id=#{order_id} where id=#{id}")
-// Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/mapper/TemperingMapper.java b/TemperingGlassModule/src/main/java/com/mes/mapper/TemperingMapper.java
index 54e486f..5ec7ed8 100644
--- a/TemperingGlassModule/src/main/java/com/mes/mapper/TemperingMapper.java
+++ b/TemperingGlassModule/src/main/java/com/mes/mapper/TemperingMapper.java
@@ -4,6 +4,8 @@
import com.mes.entity.GlassInfo;
import com.mes.entity.Tempering;
+import java.util.List;
+
import org.apache.ibatis.annotations.*;
@Mapper
@@ -12,9 +14,20 @@
//鏌ヨ璇ョ幓鐠冪殑灏哄鍜屽潗鏍�
@Select("select *from glass_info where id=#{glassid};")
-GlassInfo SelectOutGlass(String glassid);
-
-@Select("select *from glass_info where id=#{glassid};")
+GlassInfo SelectGlass(String glassid);
+//鏄惁鍙互鍙戦�佽繘鐐変俊鍙�
+@Select("select count(*) from glass_info where id=#{glassid};")
int SelectTempering(String glassid);
+//鏌ヨ绛夊緟涓殑閽㈠寲鐗堝浘鐜荤拑淇℃伅
+@Select("select*from tempering_glass_info a left join (select flowcard_id,count(state)state from tempering_glass_info GROUP BY flowcard_id,state)b on a.flowcard_id=b.flowcard_id where b.state=2")
+List<Tempering> SelectWaitingGlass();
+//鏌ヨ杩涚倝涓殑閽㈠寲鐗堝浘鐜荤拑淇℃伅
+@Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=1)b on a.flowcard_id=b.flowcard_id where b.state1=1")
+List<Tempering> SelectInGlass();
+//鏌ヨ閽㈠寲鍚庣殑閽㈠寲鐗堝浘淇℃伅
+@Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=2)b on a.flowcard_id=b.flowcard_id where b.state1=2")
+List <Tempering> SelectOutGlass();
+
+
}
diff --git a/TemperingGlassModule/src/main/java/com/mes/service/IOrderService.java b/TemperingGlassModule/src/main/java/com/mes/service/IOrderService.java
deleted file mode 100644
index 9e44ceb..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/service/IOrderService.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package com.mes.service;public interface IOrderService {
-}
diff --git a/TemperingGlassModule/src/main/java/com/mes/service/ModuleA.java b/TemperingGlassModule/src/main/java/com/mes/service/ModuleA.java
deleted file mode 100644
index 3adf2ef..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/service/ModuleA.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.mes.service;
-
-import com.rabbitmq.client.Channel;
-import com.rabbitmq.client.Connection;
-import com.rabbitmq.client.ConnectionFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class ModuleA {
- private static String QUEUE_NAME = "hangzhou2";
-
- public ModuleA(String QUEUENAME){
- QUEUE_NAME=QUEUENAME;
- }
-
-
- public static void main(String[] argv) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost("10.153.19.150");
- //factory.setHost("localhost");
-
- try (Connection connection = factory.newConnection();
- //channel 鏄�氳繃 connection 鍒涘缓鐨勪竴涓� AMQP 淇¢亾瀵硅薄
- Channel channel = connection.createChannel()) {
- // `channel.queueDeclare(QUEUE_NAME, false, false, false, null);` 鏄敤鏉ュ0鏄庝竴涓槦鍒楃殑鏂规硶
- //璇ユ柟娉曟湁浜斾釜鍙傛暟锛�
- //1. `QUEUE_NAME`锛氭寚瀹氶槦鍒楃殑鍚嶇О锛岃繖閲屼娇鐢ㄤ簡涔嬪墠澹版槑鐨勫父閲廯"module_queue"`浣滀负闃熷垪鍚嶇О銆�
- //2. `false`锛氭寚瀹氶槦鍒楁槸鍚︿负鎸佷箙鍖栫殑銆傚湪杩欓噷璁剧疆涓篳false`锛岃〃绀轰笉灏嗛槦鍒楁寔涔呭寲鍒扮鐩橈紝涓�鏃abbitMQ鏈嶅姟鍋滄鎴栧穿婧冿紝闃熷垪灏嗕細涓㈠け銆�
- //3. `false`锛氭寚瀹氭槸鍚﹀彧鍏佽褰撳墠杩炴帴澹版槑姝ら槦鍒椼�傚湪杩欓噷璁剧疆涓篳false`锛岃〃绀哄彲鍏佽鍏朵粬杩炴帴涔熷0鏄庡悓鍚嶇殑闃熷垪銆�
- //4. `false`锛氭寚瀹氭槸鍚﹀湪涓嶅啀浣跨敤鏃惰嚜鍔ㄥ垹闄ら槦鍒椼�傚湪杩欓噷璁剧疆涓篳false`锛岃〃绀哄綋娌℃湁娑堣垂鑰呮垨鑰呮墍鏈夋秷璐硅�呮柇寮�杩炴帴鍚庯紝闃熷垪涓嶄細鑷姩鍒犻櫎銆�
- //5. `null`锛氭寚瀹氬叾浠栭槦鍒楀睘鎬х殑鍙傛暟銆傚湪杩欓噷璁剧疆涓篳null`锛岃〃绀烘病鏈夊叾浠栧睘鎬ч渶瑕佽缃��
- //鎵ц`channel.queueDeclare()`鏂规硶鍚庯紝濡傛灉闃熷垪涓嶅瓨鍦紝灏嗕細鍒涘缓涓�涓柊鐨勯槦鍒楋紝濡傛灉闃熷垪宸茬粡瀛樺湪锛屽垯涓嶅仛浠讳綍鎿嶄綔銆�
- Map<String, Object> args = new HashMap<>();
- args.put("x-max-length-bytes",20000);
-// args.put("x-max-length",5000);
- channel.queueDeclare(QUEUE_NAME, false, false, false, args);
-
- String message = "浣�";
-
- for ( int i=1;i< 5000;i++)
- {
- message+="浣�";
-
- }
-
- message+="b";
-
-
-
- // 灏嗘秷鎭彂甯冨埌鎸囧畾鐨勯槦鍒椾腑銆傜┖瀛楃涓�""琛ㄧず榛樿鐨勪氦鎹㈡満锛孮UEUE_NAME鎸囧畾浜嗙洰鏍囬槦鍒楀悕绉帮紝null琛ㄧず娌℃湁鎸囧畾鍏朵粬灞炴�э紝message.getBytes()灏嗘秷鎭唴瀹硅浆鎹负瀛楄妭鏁扮粍杩涜浼犺緭銆�
- channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
- System.out.println(" [x] Sent '" + message + "'");
- }
- }
-}
-
diff --git a/TemperingGlassModule/src/main/java/com/mes/service/ModuleB.java b/TemperingGlassModule/src/main/java/com/mes/service/ModuleB.java
deleted file mode 100644
index 6a1cd78..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/service/ModuleB.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.mes.service;
-
-import com.rabbitmq.client.Channel;
-import com.rabbitmq.client.Connection;
-import com.rabbitmq.client.ConnectionFactory;
-import com.rabbitmq.client.DeliverCallback;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class ModuleB {
- private final static String QUEUE_NAME = "hangzhou2";
-
- public static void main(String[] argv) throws Exception {
- // 鍒涘缓杩炴帴宸ュ巶
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost("10.153.19.150");
- //factory.setHost("localhost");
- try (Connection connection = factory.newConnection();
- Channel channel = connection.createChannel()) {
- // 澹版槑闃熷垪
- Map<String, Object> args = new HashMap<>();
- args.put("x-max-length-bytes",20000);
-// args.put("x-max-length",5000);
- channel.queueDeclare(QUEUE_NAME, false, false, false, args);
-
- // 鍒涘缓娑堣垂鑰�
- DeliverCallback deliverCallback = (consumerTag, delivery) -> {
- String receivedMessage = new String(delivery.getBody(), "UTF-8");
- System.out.println(" [x] Received '" + receivedMessage + "'");
- };
- // 寮�濮嬫秷璐规秷鎭�
- channel.basicConsume(QUEUE_NAME, true, deliverCallback, consumerTag -> {
- });
- }
- }
-}
-
diff --git a/TemperingGlassModule/src/main/java/com/mes/service/TemperingOverService.java b/TemperingGlassModule/src/main/java/com/mes/service/TemperingOverService.java
index dc2fc19..1cc1983 100644
--- a/TemperingGlassModule/src/main/java/com/mes/service/TemperingOverService.java
+++ b/TemperingGlassModule/src/main/java/com/mes/service/TemperingOverService.java
@@ -1,28 +1,36 @@
package com.mes.service;
import com.baomidou.dynamic.datasource.annotation.DS;
-import com.mes.entity.GlassInfo;
-import com.mes.entity.userInfo.SysError;
+import com.mes.common.PlcTools.S7control;
+import com.mes.entity.Tempering;
+import com.mes.entity.device.PLCAutoMes;
+import com.mes.entity.device.PlcParameterObject;
import com.mes.mapper.TemperingMapper;
-import com.mes.mapper.userInfo.SysErrorMapper;
-import org.springframework.beans.factory.annotation.Autowired;
+import java.util.List;
import org.springframework.stereotype.Service;
@Service
@DS("glass_info")
public class TemperingOverService {
- private final TemperingMapper temperingMapper;
-
+private final TemperingMapper temperingMapper;
+ //PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
public TemperingOverService(TemperingMapper temperingMapper) {
this.temperingMapper = temperingMapper;
}
//鎺ユ敹鍑虹倝淇″彿鍜岀倝鍙�
- public GlassInfo SelectOutGlass (String glassid) {
- GlassInfo GlassInfo = temperingMapper.SelectOutGlass(glassid);
- return GlassInfo;
+ public String SelectOutSignal () {
+
+ S7control.getinstance().WriteWord("鍑虹倝淇″彿", (short)1);
+ return "GlassInfo";
}
- //鍙戦�佺‘璁ゆ敹鍒�
+ //鍙戦�佺‘璁ゆ敹鍒颁俊鍙�
+ public void OverSignal () {
+ S7control.getinstance().WriteWord("纭瀛�", (short)1);
+ }
+ //鏄剧ず閽㈠寲鍑虹倝鍚庣殑鐗堝浘淇℃伅
+ public List <Tempering> SelectOutGlass () {
+ return temperingMapper.SelectOutGlass();
+ }
-
-
+
}
diff --git a/TemperingGlassModule/src/main/java/com/mes/service/TemperingService.java b/TemperingGlassModule/src/main/java/com/mes/service/TemperingService.java
index bdfd258..362d417 100644
--- a/TemperingGlassModule/src/main/java/com/mes/service/TemperingService.java
+++ b/TemperingGlassModule/src/main/java/com/mes/service/TemperingService.java
@@ -1,12 +1,10 @@
package com.mes.service;
-
import com.baomidou.dynamic.datasource.annotation.DS;
import com.mes.common.PlcTools.S7control;
import com.mes.entity.GlassInfo;
-import com.mes.entity.userInfo.SysError;
+import com.mes.entity.Tempering;
import com.mes.mapper.TemperingMapper;
-import com.mes.mapper.userInfo.SysErrorMapper;
-import org.springframework.beans.factory.annotation.Autowired;
+import java.util.List;
import org.springframework.stereotype.Service;
@Service
@@ -21,7 +19,7 @@
}
//鎺ユ敹id杩斿洖鍧愭爣鍜屾暟鎹�
public GlassInfo SelectOutGlass (String glassid) {
- GlassInfo GlassInfo = temperingMapper.SelectOutGlass(glassid);
+ GlassInfo GlassInfo = temperingMapper.SelectGlass(glassid);
return GlassInfo;
}
//鍙戦�佸潗鏍囦俊鎭�
@@ -38,15 +36,23 @@
else {
return 0;
}
-
}
//鍙戦�佽繘鐐変俊鍙�
public void SendIntoGlass (short start) {
s7control.WriteWord("DB100.10", start);
}
//鎺ュ彈瀹屾垚瀛楀洖澶嶇‘璁ゅ瓧
-
public void SendIntoGlass () {
s7control.WriteWord("DB100.10", (short)1);
}
+ //鏄剧ず绛夊緟涓殑鐗堝浘
+ public List <Tempering> SelectWaitingGlass () {
+ List<Tempering> WaitingGlass = temperingMapper.SelectWaitingGlass();
+ return WaitingGlass;
+ }
+ //鏄剧ず姝e湪杩涚倝鐨勭増鍥�
+ public List<Tempering> SelectIntoGlass () {
+ List<Tempering> IntoGlass = temperingMapper.SelectInGlass();
+ return IntoGlass;
+ }
}
diff --git a/TemperingGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java b/TemperingGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java
deleted file mode 100644
index 5274aa6..0000000
--- a/TemperingGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.mes.service.impl;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.entity.OrderTest;
-import com.mes.mapper.OrderTestMapper;
-import com.mes.service.IOrderService;
-import org.springframework.stereotype.Service;
-
-@Service
-@DS("erp_sd")
-public class OrderServiceImpl extends ServiceImpl<OrderTestMapper, OrderTest> implements IOrderService {
-}
diff --git a/TemperingGlassModule/target/classes/application.yml b/TemperingGlassModule/target/classes/application.yml
index d74069d..a85e82a 100644
--- a/TemperingGlassModule/target/classes/application.yml
+++ b/TemperingGlassModule/target/classes/application.yml
@@ -2,31 +2,17 @@
server:
port: 8080
servlet:
- context-path: /mesModuleTools
+ context-path: /mesModuleTools
spring:
datasource:
dynamic:
- primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
+ primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
datasource:
- user_info:
- url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8
- username: root
- 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
- mm:
- url: jdbc:mysql://10.153.19.150:3306/mm?serverTimezone=GMT%2b8
- username: root
- password: beibo.123/
- driver-class-name: com.mysql.cj.jdbc.Driver
- pp:
- url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
+
+ hangzhoumes:
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
\ No newline at end of file
diff --git a/UI-Project/package-lock.json b/UI-Project/package-lock.json
index 098f11b..282cdfa 100644
--- a/UI-Project/package-lock.json
+++ b/UI-Project/package-lock.json
@@ -27,6 +27,7 @@
"devDependencies": {
"@types/sortablejs": "^1.15.7",
"@vitejs/plugin-vue": "^4.3.4",
+ "http-proxy-middleware": "^3.0.0",
"vite": "^4.4.9"
}
},
@@ -533,6 +534,15 @@
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz",
"integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA=="
},
+ "node_modules/@types/http-proxy": {
+ "version": "1.17.14",
+ "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.14.tgz",
+ "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
"node_modules/@types/lodash": {
"version": "4.14.199",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
@@ -544,6 +554,15 @@
"integrity": "sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==",
"dependencies": {
"@types/lodash": "*"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "20.12.5",
+ "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.12.5.tgz",
+ "integrity": "sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
}
},
"node_modules/@types/sortablejs": {
@@ -964,6 +983,23 @@
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
"integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
},
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -1049,6 +1085,12 @@
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
+ "node_modules/eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "dev": true
+ },
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -1124,6 +1166,37 @@
"node": ">= 6"
}
},
+ "node_modules/http-proxy": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz",
+ "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+ "dev": true,
+ "dependencies": {
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/http-proxy-middleware": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz",
+ "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==",
+ "dev": true,
+ "dependencies": {
+ "@types/http-proxy": "^1.17.10",
+ "debug": "^4.3.4",
+ "http-proxy": "^1.18.1",
+ "is-glob": "^4.0.1",
+ "is-plain-obj": "^3.0.0",
+ "micromatch": "^4.0.5"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -1160,6 +1233,15 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"engines": {
"node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
+ "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/local-pkg": {
@@ -1220,6 +1302,19 @@
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
"integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
},
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
@@ -1246,6 +1341,12 @@
"engines": {
"node": "*"
}
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
},
"node_modules/nanoid": {
"version": "3.3.6",
@@ -1399,6 +1500,12 @@
"node": ">=8.10.0"
}
},
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "dev": true
+ },
"node_modules/rollup": {
"version": "3.29.4",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
@@ -1462,6 +1569,12 @@
"engines": {
"node": ">=8.0"
}
+ },
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "dev": true
},
"node_modules/unplugin": {
"version": "1.5.0",
@@ -1900,6 +2013,15 @@
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz",
"integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA=="
},
+ "@types/http-proxy": {
+ "version": "1.17.14",
+ "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.14.tgz",
+ "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@types/lodash": {
"version": "4.14.199",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
@@ -1911,6 +2033,15 @@
"integrity": "sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==",
"requires": {
"@types/lodash": "*"
+ }
+ },
+ "@types/node": {
+ "version": "20.12.5",
+ "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.12.5.tgz",
+ "integrity": "sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==",
+ "dev": true,
+ "requires": {
+ "undici-types": "~5.26.4"
}
},
"@types/sortablejs": {
@@ -2215,6 +2346,15 @@
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
"integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
},
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -2287,6 +2427,12 @@
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
+ "eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "dev": true
+ },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -2329,6 +2475,31 @@
"is-glob": "^4.0.1"
}
},
+ "http-proxy": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz",
+ "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+ "dev": true,
+ "requires": {
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "http-proxy-middleware": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz",
+ "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==",
+ "dev": true,
+ "requires": {
+ "@types/http-proxy": "^1.17.10",
+ "debug": "^4.3.4",
+ "http-proxy": "^1.18.1",
+ "is-glob": "^4.0.1",
+ "is-plain-obj": "^3.0.0",
+ "micromatch": "^4.0.5"
+ }
+ },
"is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -2354,6 +2525,12 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-plain-obj": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
+ "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
+ "dev": true
},
"local-pkg": {
"version": "0.4.3",
@@ -2397,6 +2574,16 @@
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
"integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
},
+ "micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
"mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
@@ -2414,6 +2601,12 @@
"version": "2.30.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
},
"nanoid": {
"version": "3.3.6",
@@ -2491,6 +2684,12 @@
"picomatch": "^2.2.1"
}
},
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "dev": true
+ },
"rollup": {
"version": "3.29.4",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
@@ -2536,6 +2735,12 @@
"is-number": "^7.0.0"
}
},
+ "undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "dev": true
+ },
"unplugin": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.0.tgz",
diff --git a/UI-Project/package.json b/UI-Project/package.json
index 96c83f3..afef130 100644
--- a/UI-Project/package.json
+++ b/UI-Project/package.json
@@ -27,6 +27,7 @@
"devDependencies": {
"@types/sortablejs": "^1.15.7",
"@vitejs/plugin-vue": "^4.3.4",
+ "http-proxy-middleware": "^3.0.0",
"vite": "^4.4.9"
}
}
diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue
index d5c18f5..6c2e09c 100644
--- a/UI-Project/src/layout/MainErpView.vue
+++ b/UI-Project/src/layout/MainErpView.vue
@@ -12,7 +12,7 @@
const router = useRouter()
const userStore = useUserInfoStore()
const user = userStore.user.userName
-store.createWebSocket();
+// store.createWebSocket();
function quit(){
userStore.$patch({
user:null
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index 8f8902c..297bac1 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -22,6 +22,18 @@
children:[
+ {
+ path: 'Temperedlayout',
+ name: 'Temperedlayout',
+ component: () => import('../views/TL/Temperedlayout/Temperedlayout.vue'),
+ children:[
+ {
+ path: 'selectLayout',
+ name: 'selectLayout',
+ component: () => import('../views/TL/Temperedlayout/SelectLayout.vue'),
+ }
+ ]
+ },
/*----------- 涓婄墖鏈� ----------------*/
{
@@ -133,32 +145,6 @@
component: () => import('../views/UnLoadGlass/Landingindicationtwo.vue')
}
]
- },
- /*----------- 鐢ㄦ埛绠$悊 ----------------*/
- {
- path: 'User',
- name: 'userlist',
- component: () => import('../views/User/userlist.vue'),
- children:[
- {
- path: '/User/userlist',
- name: 'userlist',
- component: () => import('../views/User/userlist.vue')
- },
- ]
- },
- /*----------- 鏉冮檺绠$悊 ----------------*/
- {
- path: 'Permissions',
- name: 'permissionslist',
- component: () => import('../views/Permissions/permissionslist.vue'),
- children:[
- {
- path: '/Permissions/permissionslist',
- name: 'permissionslist',
- component: () => import('../views/Permissions/permissionslist.vue')
- },
- ]
},
{
path: '',
diff --git a/UI-Project/src/stores/userInfo.js b/UI-Project/src/stores/userInfo.js
index eeaefac..bfae4e8 100644
--- a/UI-Project/src/stores/userInfo.js
+++ b/UI-Project/src/stores/userInfo.js
@@ -1,6 +1,6 @@
import {defineStore} from 'pinia'
import {ref} from "vue";
-import {createWebSocket, global_callback1} from "@/utils/webSocket";
+// import {createWebSocket, global_callback1} from "@/utils/webSocket";
export default defineStore("userInfo",{
state: () =>{
@@ -10,9 +10,9 @@
}
},
actions:{
- createWebSocket(){
- createWebSocket(global_callback1)
- }
+ // createWebSocket(){
+ // createWebSocket(global_callback1)
+ // }
},
persist: true//鏁版嵁鎸佷箙鍖栵紝闃叉鍒锋柊鏁版嵁娑堝け
diff --git a/UI-Project/src/utils/webSocket.js b/UI-Project/src/utils/webSocket.js
deleted file mode 100644
index 51e5ede..0000000
--- a/UI-Project/src/utils/webSocket.js
+++ /dev/null
@@ -1,137 +0,0 @@
-var websock = null;
-var global_callback = null;
-let isConnect = false; //杩炴帴鏍囪瘑 閬垮厤閲嶅杩炴帴
-let rec; //鏂嚎閲嶈繛鍚庯紝寤惰繜5绉掗噸鏂板垱寤篧ebSocket杩炴帴 rec鐢ㄦ潵瀛樺偍寤惰繜璇锋眰鐨勪唬鐮�
-let soketparams ='蹇冭烦鍖呮娴�'
-
-
-var serverPort = "/ws"; // webSocket杩炴帴绔彛
-var wsuri = "ws://localhost:8081/mesModuleTools";
-
-function createWebSocket(callback) {
-
- if (websock == null || typeof websock !== WebSocket) {
- initWebSocket(callback);
- }
-}
-
-function global_callback1(msg) {
- console.log("websocket鐨勫洖璋冨嚱鏁版敹鍒版湇鍔″櫒淇℃伅锛�" + JSON.stringify(msg));
- // console.log("鏀跺埌鏈嶅姟鍣ㄤ俊鎭細" + msg);
-}
-
-function initWebSocket(callback) {
- global_callback = callback;
- // 鍒濆鍖杦ebsocket
- websock = new WebSocket(wsuri);
- websock.onmessage = function (e) {
- websocketonmessage(e);
- };
- websock.onclose = function (e) {
- websocketclose(e);
- };
- websock.onopen = function () {
- websocketOpen();
- };
-
- // 杩炴帴鍙戠敓閿欒鐨勫洖璋冩柟娉�
- websock.onerror = function () {
- console.log("WebSocket杩炴帴鍙戠敓閿欒");
- };
-}
-
-
-
-//蹇冭烦璁剧疆
-var heartCheck = {
- timeout: 20000, //姣忔鏃堕棿鍙戦�佷竴娆″績璺冲寘 杩欓噷璁剧疆涓�20s
- timeoutObj: null, //寤舵椂鍙戦�佹秷鎭璞★紙鍚姩蹇冭烦鏂板缓杩欎釜瀵硅薄锛屾敹鍒版秷鎭悗閲嶇疆瀵硅薄锛�
-
- start: function () {
- this.timeoutObj = setInterval(function () {
- if (isConnect) websock.send(JSON.stringify(soketparams));
- }, this.timeout);
- },
-
- reset: function () {
- clearTimeout(this.timeoutObj);
- this.start();
- }
-};
-
-//瀹氫箟閲嶈繛鍑芥暟
-let reConnect = () => {
- console.log("灏濊瘯閲嶆柊杩炴帴");
- if (isConnect) return; //濡傛灉宸茬粡杩炰笂灏变笉鍦ㄩ噸杩炰簡
- rec && clearTimeout(rec);
- rec = setTimeout(function () { // 寤惰繜5绉掗噸杩� 閬垮厤杩囧娆¤繃棰戠箒璇锋眰閲嶈繛
- initWebSocket();
- }, 5000);
-};
-
-
-
-// 瀹為檯璋冪敤鐨勬柟娉�
-function sendSock(agentData ) {
- if (websock.readyState === websock.OPEN) {
- // 鑻ユ槸ws寮�鍚姸鎬�
- websocketsend(agentData);
- } else if (websock.readyState === websock.CONNECTING) {
- // 鑻ユ槸 姝e湪寮�鍚姸鎬侊紝鍒欑瓑寰�1s鍚庨噸鏂拌皟鐢�
- setTimeout(function () {
- sendSock(agentData);
- }, 1000);
- } else {
- // 鑻ユ湭寮�鍚� 锛屽垯绛夊緟1s鍚庨噸鏂拌皟鐢�
- setTimeout(function () {
- sendSock(agentData);
- }, 1000);
- }
-}
-
-function closeSock() {
- console.log('鍏抽棴浜�')
- websock.close();
-}
-
-// 鏁版嵁鎺ユ敹
-function websocketonmessage(msg) {
- // console.log("鏀跺埌鏁版嵁锛�"+JSON.parse(e.data));
- // console.log("鏀跺埌鏁版嵁锛�"+msg);
-
- // global_callback(JSON.parse(msg.data));
- // 鏀跺埌淇℃伅涓築lob绫诲瀷鏃�
- let result = null;
- if (msg.data instanceof Blob) {
- const reader = new FileReader();
- reader.readAsText(msg.data, "UTF-8");
- reader.onload = (e) => {
- result = JSON.parse(reader.result);
- //console.log("websocket鏀跺埌", result);
- global_callback(result);
- };
- } else {
- result = JSON.parse(msg.data);
- //console.log("websocket鏀跺埌", result);
- global_callback(result);
- }
-}
-
-// 鏁版嵁鍙戦��
-function websocketsend(agentData) {
- // console.log("鍙戦�佹暟鎹細" + agentData);
- websock.send(agentData);
-}
-
-// 鍏抽棴
-function websocketclose(e) {
- console.log("connection closed (" + e.code + ")");
-}
-
-function websocketOpen(e) {
- console.log("杩炴帴鎵撳紑");
- isConnect = true
- //heartCheck.start(); //鍙戦�佸績璺� 鐪嬩釜浜洪」鐩渶姹�
-}
-
-export { sendSock, createWebSocket, closeSock ,global_callback1};
\ No newline at end of file
diff --git a/UI-Project/src/views/HomeView.vue b/UI-Project/src/views/HomeView.vue
index 6285749..cdec3b1 100644
--- a/UI-Project/src/views/HomeView.vue
+++ b/UI-Project/src/views/HomeView.vue
@@ -1,8 +1,6 @@
<script setup>
import { useRouter, useRoute } from 'vue-router'
-import { sendSock, createWebSocket, closeSock } from "@/utils/webSocket"
-
// function global_callback(msg) {
// console.log("websocket鐨勫洖璋冨嚱鏁版敹鍒版湇鍔″櫒淇℃伅锛�" + JSON.stringify(msg));
// // console.log("鏀跺埌鏈嶅姟鍣ㄤ俊鎭細" + msg);
diff --git a/UI-Project/src/views/LoginView.vue b/UI-Project/src/views/LoginView.vue
index d949ca3..c1515b9 100644
--- a/UI-Project/src/views/LoginView.vue
+++ b/UI-Project/src/views/LoginView.vue
@@ -6,7 +6,7 @@
import { Lock,Avatar } from '@element-plus/icons-vue'
import request from '@/utils/request'
import userInfo from '@/stores/userInfo'
-import { sendSock, createWebSocket, closeSock,global_callback1 } from "@/utils/webSocket"
+
const store=userInfo()
let ruleFormRef = ref<FormInstance>()
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
index 96323e9..11f2545 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
@@ -66,7 +66,7 @@
<div style="margin-left: 150px;font-size: 20px;">鐗堝浘缂栧彿锛�1</div>
</div>
<div>
- <div id="boxa" style="width: 700px;height: 220px;margin-left: 300px;">
+ <div id="boxa" style="width: 700px;height: 220px;margin-left: 260px;">
<div style="margin-top: 85px;"> NG202405060798A01-1</div>
<div> 500脳1500</div>
</div>
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index da8355f..a0a97f9 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -233,7 +233,7 @@
</div>
</el-card>
<div id="parent">
- <img src="../../assets/shangpianji .png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 510px;">
+ <img src="../../assets/shangpianji .png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 130px;">
<el-button style="margin-top: -830px;margin-left: -40px;" size="mini" id="searchButton" @click="add = true">娣诲姞鍘熺墖</el-button>
<el-button style="margin-top: -10px;margin-left: -80px;" size="mini" id="searchButton" @click="adda = true">娣诲姞鍘熺墖</el-button>
<!-- <div id="overlay" v-show="state"></div> -->
@@ -404,7 +404,6 @@
}
#parent{
position: relative;
- /* margin-left: 250px; */
}
#overlay{
position: absolute;
diff --git a/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue b/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
new file mode 100644
index 0000000..92bde2f
--- /dev/null
+++ b/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
@@ -0,0 +1,212 @@
+<!-- 鐗╂枡璧勬枡 -->
+
+
+<script setup>
+import { ref } from "vue";
+import { ArrowLeftBold, ArrowRight, Search } from "@element-plus/icons-vue";
+import request from "@/utils/request";
+import deepClone from "@/utils/deepClone";
+import { ElMessage } from "element-plus";
+import { useRouter } from "vue-router";
+
+
+const router = useRouter()
+let indexFlag = $ref(1)
+function changeRouter(index) {
+ indexFlag = index
+}
+
+
+</script>
+
+<script>
+export default {
+ mounted() {
+ //鑾峰彇鏁版嵁
+ var data="ProcessId="+"P24032508";
+ request.get("/TidyUpGlassModule/SelectTerritoryInfo?"+data).then((res) => {
+ if (res.code == 200) {
+ var StoveCount=0;
+ var temperid;
+ for(var i=0;i<res.data.length;i++){
+ if (temperid != res.data[i].layoutid) {
+ StoveCount++;
+ temperid=res.data[i].layoutid;
+ }
+ }
+ // console.log(res.data);
+ this.CanvaDraws("mycanvas",res.data,StoveCount);
+
+ } else {
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ });
+ request.get("/TidyUpGlassModule/CurrentCutTerritory").then((res) => {
+ if (res.code == 200) {
+ console.log(res.data);
+ } else {
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ });
+
+
+
+ },
+ methods: {
+ //Canva(id,鍩虹鏁版嵁,椤甸潰闀匡細瀹為檯闀匡紝鏄剧ず琛屽唴鐗堝浘鏁帮紝 )
+ //鍩虹鏁版嵁锛氬疄闄呯倝闀�,瀹為檯鐐夊, 灏忕墖X杞�, 灏忕墖y杞�, 灏忕墖闀�, 灏忕墖瀹斤紝鏄剧ず鏁版嵁锛堝昂瀵�,ID,娴佺▼鍗″彿,鐗堝浘鍙凤級
+ CanvaDraws(id,Datas,StoveCount) {
+ //var StoveCount=43;//鐐夋暟
+ var ArrangementMode='linefeed';//鎺掑竷鏂瑰紡锛歭inefeed(鎹㈣) /Wholeline 鏁磋
+ var RowMaxCount=4;//姣忚鏈�澶氭樉绀虹殑鍥炬暟
+ var StoveWidth=3000; //瀹為檯鐐夊 2850
+ var StoveLength=5500;//瀹為檯鐐夐暱 5000
+ var StoveColor='#CFC8C5';//鐐夊瓙鑳屾櫙棰滆壊
+
+
+ var StoveIntervalX=30; //椤甸潰姣忎竴鐐変箣闂寸殑闂磋窛X px
+ var StoveIntervalY=50; //椤甸潰姣忎竴鐐変箣闂寸殑闂磋窛Y px
+
+ var HtmlWidth=1800; //椤甸潰妯悜
+ //var actualWidth=12000;//椤甸潰妯悜鎵�瀵瑰簲鐨勫疄闄呴暱搴�
+ var actualWidth=StoveWidth*RowMaxCount;//椤甸潰妯悜鎵�瀵瑰簲鐨勫疄闄呴暱搴�
+
+ var Bli = actualWidth / (HtmlWidth-StoveIntervalX*RowMaxCount);//姣斾緥锛氬疄闄呴暱搴m/椤甸潰闀垮害px
+
+ var StoveCross=StoveWidth/Bli; //椤甸潰鐐夊瓙妯悜 鍍忕礌
+ var StoveVertical=StoveLength/Bli;//椤甸潰鐐夊瓙绾靛悜 鍍忕礌
+
+ var Font1=(StoveCross*0.05);
+ var Font2=(StoveCross*0.028);
+ // var TerritoryWidth=dataTempered.loadwidth; //瀹為檯鐗堝浘瀹�
+ // var TerritoryLength=dataTempered.loadlength;//瀹為檯鐗堝浘闀�
+ // var TerritoryColor='#0DB637';//鐗堝浘鑳屾櫙棰滆壊
+
+ // var TerritoryCross=TerritoryWidth/Bli; //椤甸潰鐗堝浘妯悜 鍍忕礌
+ // var TerritoryVertical=TerritoryLength/Bli;//椤甸潰鐗堝浘绾靛悜 鍍忕礌
+ console.log(Font1);
+
+ var canva = this.$refs[id];
+ var content = canva.getContext('2d');
+ canva.width = HtmlWidth;
+ canva.height = StoveCount%RowMaxCount==0?((StoveVertical+StoveIntervalY)*(StoveCount/RowMaxCount)):((StoveVertical+StoveIntervalY)*(StoveCount/RowMaxCount+1));
+ //console.log(StoveCount%RowMaxCount==0?((StoveVertical+StoveIntervalY)*(StoveCount/RowMaxCount)):((StoveVertical+StoveIntervalY)*(StoveCount/RowMaxCount+1)) );
+ var temperid;//鍒濆鐗堝浘
+ var Xlayout = 0; //鐐夊瓙X杞磋捣鐐�
+ var Ylayout = StoveIntervalY; //鐐夊瓙Y杞磋捣鐐�
+ var layoutCount = 0;//鐗堝浘鏁�
+ var row=0;
+ for (var i = 0; i < Datas.length; i++) {
+ var dataTempered = Datas[i];
+
+ var TerritoryWidth=dataTempered.loadwidth; //瀹為檯鐗堝浘瀹�
+ var TerritoryLength=dataTempered.loadlength;//瀹為檯鐗堝浘闀�
+ var TerritoryColor='#0DB637';//鐗堝浘鑳屾櫙棰滆壊
+
+ var TerritoryCross=TerritoryWidth/Bli; //椤甸潰鐗堝浘妯悜 鍍忕礌
+ var TerritoryVertical=TerritoryLength/Bli;//椤甸潰鐗堝浘绾靛悜 鍍忕礌
+
+ if (temperid != dataTempered.layoutid) {
+ //鐢荤増鍥� 鏇存敼鍩虹鍊嶆暟
+ if(layoutCount>0){
+ Xlayout += StoveCross + StoveIntervalX;
+ if (layoutCount %RowMaxCount== 0) {
+ //鎹㈣
+ Ylayout += StoveVertical+StoveIntervalY;
+ Xlayout=0;
+ row++;
+ }
+ }
+ temperid=dataTempered.layoutid;
+ layoutCount++;
+ content.font ='bold '+Font1+'px Arial' ; //鏂囧瓧鏍峰紡锛氬姞绮� 16鍍忕礌 瀛椾綋Arial
+ content.fillStyle = '#000000'; //瀛椾綋棰滆壊
+ content.textAlign = 'center'; //鏂囧瓧灞呬腑
+ content.fillText((dataTempered.layoutid), (StoveCross / 2+ Xlayout), 50/2+(StoveVertical+50)*row+10);
+ //鐐夊瓙
+ content.fillStyle = StoveColor;
+ content.fillRect(Xlayout, Ylayout, StoveCross, StoveVertical);
+ //鐗堝浘
+ content.fillStyle = TerritoryColor;
+ content.fillRect(Xlayout, Ylayout, TerritoryCross, TerritoryVertical);
+ }
+
+ var Rx = dataTempered.xaxis / Bli + Xlayout;
+ var Ry = dataTempered.yaxis / Bli + Ylayout;
+ var Rwidth = dataTempered.width / Bli;
+ var Rheight = dataTempered.height / Bli;
+ var Xwidth;
+ var Xheight;
+ content.fillStyle = '#5CADFE';
+ if (dataTempered.rotateangle != 0) {
+ Xwidth = Rwidth;
+ Xheight = Rheight;
+ } else {
+ Xwidth = Rheight;
+ Xheight = Rwidth;
+ }
+ content.fillRect(Rx, Ry, Xwidth, Xheight);
+ content.font = 'bold '+Font2+'px Arial' ; //鏂囧瓧鏍峰紡锛氬姞绮� 16鍍忕礌 瀛椾綋Arial
+ content.fillStyle = '#000000'; //瀛椾綋棰滆壊
+ content.textAlign = 'center'; //鏂囧瓧灞呬腑
+
+ content.fillText(('鐗堝浘:'+dataTempered.layoutid+'-'+dataTempered.sort), (Xwidth / 2) + Rx, (Xheight) / 2 + Ry-Font2);
+ content.fillText((dataTempered.width + ' * ' + dataTempered.height), (Xwidth / 2) + Rx, (Xheight) / 2 + Ry); //fillText閲岄潰鐨勫彲濉啓鐨勫��(鏂囨湰鍐呭, x鍧愭爣, y鍧愭爣, 鏂囨湰鏈�澶у搴�)
+ content.fillText((dataTempered.processid), (Xwidth / 2) + Rx, (Xheight) / 2 + Ry+Font2);
+ //content.rotate(30*Math.PI/180);
+ content.stroke();
+ }
+ }
+ }
+}
+
+
+</script>
+
+
+
+<template>
+ <div ref="content">
+ <canvas ref="mycanvas"></canvas>
+ </div>
+</template>
+
+<style scoped>
+#main {
+ width: 100%;
+ height: 100%;
+}
+
+
+
+#div-title {
+ height: 5%;
+ width: 100%;
+}
+
+#searchButton {
+ margin-top: -5px;
+ margin-left: 1rem;
+}
+
+#searchButton1 {
+ /* margin-left: 10rem; */
+}
+
+/*main-body鏍峰紡*/
+#main-body {
+ width: 99%;
+ height: 92%;
+ margin-top: 1%;
+}
+
+#select {
+ margin-left: 0.5rem;
+}
+
+:deep(.indexTag .el-breadcrumb__inner) {
+ color: #5CADFE !important;
+}
+</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index a7c071d..58910c7 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -1,38 +1,166 @@
<script setup>
import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+import {reactive, onMounted} from "vue";
import {useRouter} from "vue-router"
const router = useRouter()
-const dialogFormVisiblea = ref(false)
import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import Landingindication from "./Landingindication.vue";
-// import Landingindicationtwo from "./Landingindicationtwo.vue";
+import Landingindicationtwo from "./Landingindicationtwo.vue";
+import unloadrequest from "@/utils/unloadrequest";
+const dialogFormVisiblea = ref(false)
-const tableData = [
- {
- id: '1',
- long: '1005',
- wide: '183.6',
- thick: '1991',
- state: '鏈惎鐢�',
- },
- {
- id: '2',
- long: '105',
- wide: '183',
- thick: '191',
- state: '鏈惎鐢�'
- },
- {
- id: '2',
- long: '105',
- wide: '183',
- thick: '191',
- state: '鏈惎鐢�'
- },
-]
+
+
+const dialogFormVisiblea2 = ref(false)
+
+
+const tableData = reactive([]);
+
+
+
+
+
+// 鏁版嵁
+const loading = ref(false);
+
+
+// 寮规鏄剧ず鎺у埗
+
+const dialogFormVisible = ref(false);
+
+// 琛ㄥ崟鏁版嵁
+const workstationId = ref('');
+const flowCardId = ref('');
+const flowCardOptions = ref([]);
+
+
+// 鏂规硶
+const handleSelectionChange = () => {
+ // 澶勭悊琛ㄦ牸琛岄�夋嫨浜嬩欢
+};
+
+const handleBindRack = (row) => {
+ workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
+
+ // 鍙戣捣鎺ュ彛璇锋眰鑾峰彇娴佺▼鍗″彿
+ fetchFlowCardId();
+
+
+ dialogFormVisiblea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+};
+
+
+
+//鑾峰彇娴佺▼鍗″彿
+const fetchFlowCardId = async () => {
+ try {
+ const response = await unloadrequest.get('/api/downWorkstation/getflowCardId');
+ console.log(response)
+ if (response.code === 200) {
+ flowCardOptions.value = response.data.map(item => ({ flowcard_id: item.flowcard_id }));
+ } else {
+ ElMessage.error(response.msg);
+ }
+ } catch (error) {
+ console.error(error);
+ }
+};
+//纭
+const handleConfirm = async () => {
+ try {
+ const response = await unloadrequest.post('/api/downWorkstation/updateFlowCardId', {
+ workstationId: workstationId.value,
+ flowCardId: flowCardId.value
+ });
+
+ console.log(response)
+ if (response.code == 200) {
+ // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+ console.log('缁戝畾鎴愬姛');
+ ElMessage.success(response.message);
+ dialogFormVisiblea.value = false;
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.msg);
+ }
+ } catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+};
+
+
+
+const handleBindRack2 = (row) => {
+ workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
+
+
+
+
+ dialogFormVisiblea2.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+};
+//娓呴櫎鍐呭
+const handleclear = async () => {
+ try {
+ const response = await unloadrequest.post('/api/downWorkstation/clear', {
+ workstationId: workstationId.value,
+ });
+
+ console.log(response);
+
+ if (response.code === 200) {
+ // 娓呴櫎鎴愬姛鐨勯�昏緫
+ console.log('娓呴櫎鎴愬姛');
+ ElMessage.success(response.message);
+ dialogFormVisiblea2.value = false;
+ } else if (response.code === 400) {
+ // 娓呴櫎澶辫触鐨勯�昏緫
+ console.log('娓呴櫎澶辫触');
+ console.log(response.message); // 鎵撳嵃鏈嶅姟鍣ㄨ繑鍥炵殑閿欒淇℃伅
+ ElMessage.error(response.message);
+ dialogFormVisiblea2.value = false;
+ }
+ } catch (error) {
+ // console.log(error);
+ ElMessage.error("娓呴櫎澶辫触");
+ dialogFormVisiblea2.value = false;
+ }
+};
+
+
+
+
+
+// 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰
+const fetchTableData = async () => {
+ try {
+ // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲
+ const response = await unloadrequest.get('/api/downWorkstation/getone');
+
+ // 妫�鏌ュ搷搴旂姸鎬�
+ if (response.code === 200) {
+ // 鏇存柊琛ㄦ牸鏁版嵁
+ console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
+ tableData.splice(0, tableData.length, ...response.data);
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.msg);
+ }
+ } catch (error) {
+ // 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
+ ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
+ }
+};
+
+
+
+
+// initWebSocket();
+onMounted(fetchTableData);
+ setInterval(fetchTableData, 2000)
+
const open = () => {
ElMessageBox.confirm(
'鏄惁鍒犻櫎璇ユ潯淇℃伅?',
@@ -119,6 +247,10 @@
],
})
+
+
+
+
</script>
<template>
@@ -128,53 +260,87 @@
<el-table height="100%" ref="table"
@selection-change="handleSelectionChange"
:data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="id" align="center" label="涓嬬墖浣�" min-width="80" />
- <el-table-column prop="long" align="center" label="鏋跺彿" min-width="120" />
- <el-table-column prop="wide" align="center" label="娴佺▼鍗″彿" min-width="120" />
- <el-table-column prop="wide" align="center" label="鎬绘暟閲�" min-width="120" />
- <el-table-column prop="wide" align="center" label="宸茶惤鏋舵暟閲�" min-width="120" />
- <el-table-column prop="state" align="center" label="鍚敤鐘舵��" min-width="120" />
+ <el-table-column prop="workstationId" align="center" label="涓嬬墖浣�" min-width="80" />
+ <el-table-column prop="workstationId" align="center" label="鏋跺彿" min-width="120" />
+ <el-table-column prop="flowCardId" align="center" label="娴佺▼鍗″彿" min-width="120" />
+ <el-table-column prop="totalquantity" align="center" label="鎬绘暟閲�" min-width="120" />
+ <el-table-column prop="racksnumber" align="center" label="宸茶惤鏋舵暟閲�" min-width="120" />
+ <el-table-column prop="work_state" align="center" label="鐘舵��" min-width="120" />
+ <el-table-column prop="deviceId" align="center" label="璁惧鍙�" min-width="120" />
+ <el-table-column prop="enableState" align="center" label="鍚敤鐘舵��" min-width="120" />
<el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
+<<<<<<< HEAD
<template #default>
<el-button size="mini" type="text" plain v-show="state !== '宸插惎鐢�' " @click="dialogFormVisiblea = true">缁戝畾鏋跺瓙</el-button>
<el-button size="mini" type="text" plain @click="dialogForm">娓呯┖</el-button>
</template>
+=======
+ <template #default="scope">
+ <el-button size="mini" type="text" plain v-show="scope.row.enableState !== '宸插惎鐢�' " @click="handleBindRack(scope.row)">缁戝畾鏋跺瓙</el-button>
+ <el-button size="mini" type="text" plain @click="handleBindRack2(scope.row)">娓呯┖</el-button>
+ </template>
+>>>>>>> 96b63f125687d8ef610745fd9041da2cc77a24af
</el-table-column>
</el-table>
</div>
</el-card>
-
- </div>
- <div style="display: flex;">
- <div id="main-body">
- <Landingindication></Landingindication>
- </div>
- <!-- <div id="main-bodya">
- <Landingindicationtwo></Landingindicationtwo>
- </div> -->
- </div>
+
+
<el-dialog v-model="dialogFormVisiblea" top="21vh" width="30%" title="缁戝畾鏋跺瓙" >
<div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
- <el-form size="mini" label-width="150px">
- <el-form label-width="100px" label-position="right">
- <el-form-item label="鏋跺彿锛�" :required="true" style="width: 18vw">
- <el-input autocomplete="off"/>
- </el-form-item>
- <el-form-item label="娴佺▼鍗″彿锛�" :required="true" style="width: 18vw;">
- <el-input autocomplete="off" />
- </el-form-item>
- </el-form>
- </el-form>
- </div>
+ <el-form size="mini" label-width="150px">
+ <el-form label-width="100px" label-position="right">
+ <el-form-item label="鏋跺彿锛�" :required="true" style="width: 18vw">
+ <el-input v-model="workstationId" autocomplete="off"/>
+ </el-form-item>
+ <el-form-item label="娴佺▼鍗″彿锛�" :required="true" style="width: 18vw;">
+ <el-select v-model="flowCardId" placeholder="璇烽�夋嫨娴佺▼鍗″彿">
+ <el-option v-for="item in flowCardOptions" :key="item.flowcard_id" :label="item.flowcard_id" :value="item.flowcard_id" />
+ </el-select>
+ </el-form-item>
+ </el-form>
+ </el-form>
+ </div>
<template #footer>
<div id="dialog-footer">
- <el-button type="primary" @click="dialogFormVisiblea = false">
+ <el-button type="primary" @click="handleConfirm">
纭
</el-button>
<el-button @click="dialogFormVisiblea = false">鍙栨秷</el-button>
</div>
</template>
</el-dialog>
+
+
+
+
+ <el-dialog v-model="dialogFormVisiblea2" top="21vh" width="30%" title="娓呴櫎鏋跺瓙鐜荤拑" >
+
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleclear">
+ 纭
+ </el-button>
+ <el-button @click="dialogFormVisiblea2 = false">鍙栨秷</el-button>
+ </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>
@@ -199,6 +365,10 @@
}
#main-body{
margin-top: -20px;
- margin-left: 450px;
+ margin-left: 300px;
+}
+#main-bodya{
+ margin-top: -10px;
+ margin-left: 100px;
}
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachineracktwo.vue b/UI-Project/src/views/UnLoadGlass/loadmachineracktwo.vue
index a69b6d2..a469701 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachineracktwo.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachineracktwo.vue
@@ -26,7 +26,21 @@
state: '鏈惎鐢�'
},
{
- id: '2',
+ id: '3',
+ long: '105',
+ wide: '183',
+ thick: '191',
+ state: '鏈惎鐢�'
+ },
+ {
+ id: '4',
+ long: '105',
+ wide: '183',
+ thick: '191',
+ state: '鏈惎鐢�'
+ },
+ {
+ id: '5',
long: '105',
wide: '183',
thick: '191',
diff --git a/UI-Project/vite.config.js b/UI-Project/vite.config.js
index b0685b2..d4d6ee2 100644
--- a/UI-Project/vite.config.js
+++ b/UI-Project/vite.config.js
@@ -16,25 +16,36 @@
}
},
server: {
- port: 801,//绔彛鍙�
- host: true,//ip鍦板潃 鎴� '0.0.0.0' 鎴� "loaclhost"
- open: false, //鍚姩鍚庢槸鍚﹁嚜鍔ㄦ墦寮�娴忚鍣�
- https: false, // 鏄惁寮�鍚� https
+ port: 801,
+ host: true,
+ open: false,
+ https: false,
proxy: {
- '^/api': {
- target: 'localhost:8080/mesModuleTools', //鐩爣婧愶紝鐩爣鏈嶅姟鍣紝鐪熷疄璇锋眰鍦板潃
- changeOrigin: true, //鏀寔璺ㄥ煙
- rewrite: (path) => path.replace(/^\/api/, "/mesModuleTools"), //閲嶅啓鐪熷疄璺緞,鏇挎崲/api
- // pathRewrite: {
- // '^/api': ''
- // }
- // rewrite: (path) => path.replace(/^\/api/, "/mesModuleTools"), //閲嶅啓鐪熷疄璺緞,鏇挎崲/api
+ '/api': {
+ target: 'http://localhost:8080/mesModuleTools',
+ changeOrigin: true,
+ rewrite: (path) => path.replace(/^\/api/, '/mesModuleTools'),
},
'/api2': {
- target: 'localhost:8080/mesModuleTools',
+ target: 'http://localhost:8081/mesModuleTools',
changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api2/, "mesModuleTools"),
+ pathRewrite: {
+ '^/api2': '',
+ },
},
- }
- }
-})
+ },
+ },
+ configureServer: ({ middlewares }) => {
+ middlewares.use(
+ '/mesModuleTools',
+ createProxyMiddleware({
+ target: 'ws://localhost:8081',
+ ws: true,
+ changeOrigin: true,
+ pathRewrite: {
+ '^/mesModuleTools': '',
+ },
+ })
+ );
+ },
+});
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/java/com/mes/controller/DownWorkstationController.java b/UnLoadGlassModule/src/main/java/com/mes/controller/DownWorkstationController.java
index 834317e..46f7085 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/controller/DownWorkstationController.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/controller/DownWorkstationController.java
@@ -4,13 +4,16 @@
import com.mes.service.DownWorkstationService;
import com.mes.service.GlassInfoService;
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;
@RestController
-@RequestMapping("/downWorkstation")
+@RequestMapping("/api/downWorkstation")
public class DownWorkstationController {
@Autowired
@@ -19,8 +22,24 @@
private GlassInfoService glassInfoService;
@GetMapping("/getone")
- public List<DownWorkstation> getoneDownWorkstations() {
- return downWorkstationService.getoneDownWorkstations();
+ public ResponseEntity<?> getOneDownWorkstations() {
+ try {
+ List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations();
+ // 鏋勫缓绗﹀悎棰勬湡鏍煎紡鐨勫搷搴旀暟鎹�
+ Map<String, Object> responseData = new HashMap<>();
+ responseData.put("code", 200);
+ responseData.put("msg", "鎴愬姛");
+ responseData.put("data", data);
+ // 杩斿洖 ResponseEntity 瀵硅薄锛屽寘鍚搷搴旀暟鎹拰鐘舵�佺爜
+ return ResponseEntity.ok(responseData);
+ } catch (Exception e) {
+ e.printStackTrace();
+ // 濡傛灉鍑虹幇寮傚父锛岃繑鍥為敊璇俊鎭�
+ Map<String, Object> errorResponse = new HashMap<>();
+ errorResponse.put("code", 500);
+ errorResponse.put("msg", "鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
+ return ResponseEntity.status(500).body(errorResponse);
+ }
}
@GetMapping("/gettwo")
@@ -28,37 +47,79 @@
return downWorkstationService.gettwoDownWorkstations();
}
@GetMapping("/getflowCardId")
- public List<Map<String, Object>> getflowCardId() {
- return downWorkstationService.getflowCardId();
+ public ResponseEntity<Map<String, Object>> getflowCardId() {
+ Map<String, Object> responseData = new HashMap<>();
+ try {
+ List<Map<String, Object>> data = downWorkstationService.getflowCardId();
+ responseData.put("code", 200);
+ responseData.put("msg", "鎴愬姛");
+ responseData.put("data", data);
+ return ResponseEntity.ok(responseData);
+ } catch (Exception e) {
+ responseData.put("code", 500);
+ responseData.put("msg", "澶辫触");
+ responseData.put("data", null);
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(responseData);
+ }
}
+
+
@PostMapping("/updateFlowCardId")
- public String updateFlowCardId(@RequestBody Map<String, Object> requestData) {
+ 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");
// 鏌ヨ瀵瑰簲 flowCardId 鐨勭幓鐠冧俊鎭�绘暟閲�
int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId);
// 鏇存柊 down_workstation 琛ㄤ腑鐨勬�绘暟閲�
- glassInfoService.updateFlowCardIdAndCount(flowCardId, glassInfoCount);
+ glassInfoService.updateFlowCardIdAndCount(flowCardId, glassInfoCount, workstationId);
- // 杩斿洖澶勭悊缁撴灉锛屾瘮濡傛垚鍔熸垨澶辫触淇℃伅
- return "updated successfully";
+ // 鏋勫缓鍝嶅簲鏁版嵁
+ Map<String, Object> responseData = new HashMap<>();
+ responseData.put("message", "updated successfully");
+ responseData.put("code", 200);
+ // 杩斿洖澶勭悊缁撴灉
+ return ResponseEntity.ok(responseData);
}
- @DeleteMapping("/clear/{workstationId}")
- public String clearWorkstationInfo(@PathVariable("workstationId") int workstationId) {
+ @PostMapping("/clear")
+ public ResponseEntity<Map<String, Object>> clearWorkstationInfo(@RequestBody Map<String, Object> requestData) {
// 璋冪敤 DownWorkstationService 涓殑鏂规硶娓呴櫎鎸囧畾宸ヤ綅ID鐨勪俊鎭�
- downWorkstationService.clearFlowCardId(workstationId);
- // 杩斿洖澶勭悊缁撴灉锛屾瘮濡傛垚鍔熸垨澶辫触淇℃伅
- return "cleared successfully";
+ int workstationId = (int) requestData.get("workstationId");
+
+ int totalWorkstations = downWorkstationService.getTotalQuantity(workstationId);
+ int downWorkstations = downWorkstationService.getRacksNumber(workstationId);
+
+
+ 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 {
+ // 濡傛灉鎬绘暟閲忓拰钀芥灦鏁伴噺涓嶄竴鑷达紝杩斿洖閿欒鍝嶅簲
+ 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);
+ }
+
+
+ // 鏋勫缓鍝嶅簲鏁版嵁
+
}
+
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/entity/DownStorageCageDetails.java b/UnLoadGlassModule/src/main/java/com/mes/entity/DownStorageCageDetails.java
index e8fa9ab..4f631dc 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/entity/DownStorageCageDetails.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/entity/DownStorageCageDetails.java
@@ -44,6 +44,10 @@
private String flowCardId;
/**
+ * 鑶滅郴id
+ */
+ private int filmsid;
+ /**
* 鐜荤拑绫诲瀷
*/
private int glassType;
diff --git a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
index 0f94766..beb867d 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
@@ -82,7 +82,15 @@
@ResultType(Map.class)
List<Map<String, Object>> getflowCardId();
- @Update("UPDATE down_workstation SET flow_card_id = NULL, total_quantity = NULL, racks_number = NULL WHERE workstation_id = #{workstationId}")
+ @Update("UPDATE down_workstation SET flow_card_id = NULL, total_quantity = 0, racks_number = 0 WHERE workstation_id = #{workstationId}")
void clearFlowCardInfoByWorkstationId(@Param("workstationId") int workstationId);
+ // 鑾峰彇鎬绘暟閲�
+ @Select("SELECT total_quantity FROM down_workstation WHERE workstation_id = #{workstationId}")
+ int getTotalQuantity(@Param("workstationId") int workstationId);
+
+ // 鑾峰彇钀芥灦鏁伴噺
+ @Select("SELECT racks_number FROM down_workstation WHERE workstation_id = #{workstationId}")
+ int getRacksNumber(@Param("workstationId") int workstationId);
+
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/mapper/GlassInfoMapper.java b/UnLoadGlassModule/src/main/java/com/mes/mapper/GlassInfoMapper.java
index b226112..9dcc0e6 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/mapper/GlassInfoMapper.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/mapper/GlassInfoMapper.java
@@ -8,11 +8,11 @@
@Mapper
public interface GlassInfoMapper {
- @Select("SELECT COUNT(*) FROM glass_info WHERE flow_card_id = #{flowCardId}")
+ @Select("SELECT COUNT(*) FROM glass_info WHERE flowcard_id = #{flowCardId}")
int getGlassInfoCountByFlowCardId(@Param("flowCardId") String flowCardId);
- @Update("UPDATE down_workstation SET total_quantity = #{glassInfoCount} WHERE flow_card_id = #{flowCardId}")
- int updateFlowCardIdAndCount(@Param("flowCardId") String flowCardId, @Param("glassInfoCount") int glassInfoCount);
+ @Update("UPDATE down_workstation SET total_quantity = #{glassInfoCount},flow_card_id=#{flowCardId} WHERE workstation_id = #{workstationId}")
+ int updateFlowCardIdAndCount(@Param("flowCardId") String flowCardId, @Param("glassInfoCount") int glassInfoCount,@Param("workstationId")int workstationId);
// 杩欓噷鍙互娣诲姞鍏朵粬 SQL 璇彞
}
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/java/com/mes/mapper/SelectInfo.java b/UnLoadGlassModule/src/main/java/com/mes/mapper/SelectInfo.java
index b83c7ca..beee154 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/mapper/SelectInfo.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/mapper/SelectInfo.java
@@ -6,7 +6,6 @@
import org.apache.ibatis.annotations.*;
import java.util.List;
-import java.util.Map;
@Mapper
public interface SelectInfo {
@@ -18,13 +17,13 @@
// @Select("select * from `v_optimize_heat_layout` where project_no=#{projeceid} ")
// List<Tempered> SelectTemperedTerritory(String projeceid);
//
- // 鍒囧壊鐗堝浘鎸夊伐绋嬫煡璇�
- @Select("select * from optimize_detail where project_no=#{projeceid} ")
- List<Map> SelectCutTerritory(String projeceid);
-
- // 鏌ヨ纾ㄨ竟淇℃伅
- @Select("select * from task_cache where task_type='2' and task_stauts='2' and end_cell=#{EndCell}")
- List<Map> SelectEdgInfo(String EndCell);
+// // 鍒囧壊鐗堝浘鎸夊伐绋嬫煡璇�
+// @Select("select * from optimize_detail where project_no=#{projeceid} ")
+// List<Map> SelectCutTerritory(String projeceid);
+//
+// // 鏌ヨ纾ㄨ竟淇℃伅
+// @Select("select * from task_cache where task_type='2' and task_stauts='2' and end_cell=#{EndCell}")
+// List<Map> SelectEdgInfo(String EndCell);
// 鏌ヨ绗煎瓙鍐呯┖闂�
@Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is null order by escd.slot")
@@ -59,7 +58,7 @@
@Select("select * from down_glass_task where task_type='2' and task_stauts='0'")
List<TaskCache> SelectOutCacheInfo();
- // 鏌ヨ A04 鎴� A15 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
+ // 鏌ヨ A06 鎴� A11 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
@Select("select * from down_glass_task where task_type='2' and task_stauts='2' and end_cell=#{EndCell} limit 1")
GlassInfo SelectLastOutCacheInfo(String EndCell);
@@ -71,13 +70,5 @@
@Insert("INSERT into down_glass_task VALUES(#{id},#{start},#{end},#{type},0,)")
Integer insertCacheTask(String id, String start, String end, String type,double width,double height,Integer filmsId,double thickness,String flowCardId);
- //
- // @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
- // Integer insert(Order order);
- //
- // @Delete("delete from `order` where id=#{id}")
- // Integer deleteById(@Param("id") Integer id);
- //
- // @Update("update `order` set order_id=#{order_id} where id=#{id}")
- // Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
+
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java b/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java
index e092020..9197e0b 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java
@@ -113,17 +113,18 @@
boolean isOut=true;
if (list.size()>0&&isOut) {
DownStorageCageDetails item=list.get(0);
+ //
if(G06=="0"&&G11=="1"){
//鍑哄埌 G06
- selectInfo.insertCacheTask(item.getGlassId()+"","0","06","2",item.getWidth(),item.getHeight(),0,item.getThickness(),item.getFlowCardId());
+ selectInfo.insertCacheTask(item.getGlassId()+"","0","06","2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
return true;
}else if(G06=="1"&&G11=="0"){
//鍑哄埌 G11
- selectInfo.insertCacheTask(item.getGlassId()+"","0","11","2",item.getWidth(),item.getHeight(),0,item.getThickness(),item.getFlowCardId());
+ selectInfo.insertCacheTask(item.getGlassId()+"","0","11","2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
return true;
@@ -132,16 +133,18 @@
String endcell="06";
String SendEndcell="1";
boolean If_=false;
- GlassInfo glassInfo04= selectInfo.SelectLastOutCacheInfo("06");
- GlassInfo glassInfo05= selectInfo.SelectLastOutCacheInfo("11");
- if(glassInfo05!=null&&glassInfo05.getWidth()==item.getWidth()&&glassInfo05.getHeight()==item.getHeight()){
+ GlassInfo glassInfo06= selectInfo.SelectLastOutCacheInfo("06");
+ GlassInfo glassInfo11= selectInfo.SelectLastOutCacheInfo("11");
+ GlassInfo glassInfo13= selectInfo.SelectLastOutCacheInfo("13");
+ if(glassInfo06!=null&&glassInfo11.getWidth()==item.getWidth()&&glassInfo06.getHeight()==item.getHeight()){
endcell="11";
SendEndcell="2";
- }else if(glassInfo05!=null&&If_){
- //鍏朵粬鏉′欢
+ }else if(item.getHeight()>=3440&&item.getWidth()>=1440){
+ //鍏朵粬鏉′欢浜哄伐澶勭悊
+
}
- selectInfo.insertCacheTask(item.getGlassId()+"","0",endcell,"2",item.getWidth(),item.getHeight(),0,item.getThickness(),item.getFlowCardId());
+ selectInfo.insertCacheTask(item.getGlassId()+"","0",endcell,"2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
return true;
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/DownWorkstationService.java b/UnLoadGlassModule/src/main/java/com/mes/service/DownWorkstationService.java
index ed801d7..9dca11e 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/DownWorkstationService.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/DownWorkstationService.java
@@ -30,13 +30,27 @@
}
+ public int getTotalQuantity(int workstationId) {
+ // 鎵ц鑾峰彇鎬绘暟閲忕殑閫昏緫锛屽彲浠ユ槸鏁版嵁搴撴煡璇㈡垨鍏朵粬涓氬姟閫昏緫
+ Integer totalQuantity = DownWorkstationMapper.getTotalQuantity(workstationId);
+ return totalQuantity != null ? totalQuantity : 0;
+ }
+
+ public int getRacksNumber(int workstationId) {
+ // 鎵ц鑾峰彇钀芥灦鏁伴噺鐨勯�昏緫锛屽彲浠ユ槸鏁版嵁搴撴煡璇㈡垨鍏朵粬涓氬姟閫昏緫
+ Integer racksNumber = DownWorkstationMapper.getRacksNumber(workstationId);
+ return racksNumber != null ? racksNumber : 0;
+ }
public void clearFlowCardId(int workstationId) {
// 鎵ц娓呴櫎鎸囧畾宸ヤ綅ID鐨勬祦绋嬪崱淇℃伅鐨勯�昏緫锛屽彲浠ユ槸鏁版嵁搴撴搷浣滄垨鍏朵粬涓氬姟閫昏緫
- // 渚嬪锛�
+ // 鍒ゆ柇濡傛灉钀芥灦鏁伴噺绛変簬鎬绘暟閲忔墽琛屾竻闄わ紝鍚﹀垯涓嶆墽琛�
DownWorkstationMapper.clearFlowCardInfoByWorkstationId(workstationId);
}
+
+
+
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/GlassInfoService.java b/UnLoadGlassModule/src/main/java/com/mes/service/GlassInfoService.java
index bbe6ff8..83ca461 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/GlassInfoService.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/GlassInfoService.java
@@ -14,13 +14,13 @@
return glassInfoMapper.getGlassInfoCountByFlowCardId(flowCardId);
}
- public void updateFlowCardIdAndCount(String flowCardId, int glassInfoCount) {
+ public void updateFlowCardIdAndCount(String flowCardId, int glassInfoCount,int workstationId) {
// 璋冪敤 GlassInfoMapper 鐨� updateFlowCardIdAndCount 鏂规硶
- int rowsAffected = glassInfoMapper.updateFlowCardIdAndCount(flowCardId, glassInfoCount);
+ int rowsAffected = glassInfoMapper.updateFlowCardIdAndCount(flowCardId, glassInfoCount,workstationId);
if (rowsAffected > 0) {
- System.out.println("鏇存柊娴佺▼鍗� ID 鍜屾暟閲忔垚鍔�");
+ System.out.println("鏇存柊鏋跺瓙涓婃祦绋嬪崱 ID 鍜屾暟閲忔垚鍔�");
} else {
- System.out.println("鏇存柊娴佺▼鍗� ID 鍜屾暟閲忓け璐�");
+ System.out.println("鏇存柊鏋跺瓙涓婃祦绋嬪崱 ID 鍜屾暟閲忓け璐�");
}
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java b/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java
index d2dc1fa..266169e 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java
@@ -1,13 +1,18 @@
package com.mes.service;
+import cn.hutool.json.JSONObject;
import com.mes.tools.WebSocketServer;
import org.springframework.stereotype.Component;
-
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import java.util.ArrayList;
import java.util.function.Supplier;
@Component
public class Plchome extends Thread {
private int i = 1;
+ private static final Logger log = LogManager.getLogger(Plchome.class);
+
private final Supplier<DownGlassLogic> plcServiceSupplier;
public Plchome() {
@@ -39,6 +44,17 @@
Thread.currentThread().interrupt();
e.printStackTrace();
}
+
+ JSONObject jsonObject = new JSONObject();
+ // System.out.println(arraylist6);
+ jsonObject.append("data", 1);
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ webserver.sendMessage(jsonObject.toString());
+ log.info("鍑嗗鍚� WebSocket 鏈嶅姟鍣ㄥ彂閫佹秷鎭�: {}", jsonObject.toString());
+ }}
+
}
}
}
diff --git a/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java b/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java
index aa4b161..13a3bde 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java
@@ -157,4 +157,8 @@
public void clearMessages() {
messages.clear();
}
+
+
+
+
}
diff --git a/UnLoadGlassModule/src/main/resources/application.yml b/UnLoadGlassModule/src/main/resources/application.yml
index 8ba75c8..328e464 100644
--- a/UnLoadGlassModule/src/main/resources/application.yml
+++ b/UnLoadGlassModule/src/main/resources/application.yml
@@ -10,7 +10,6 @@
primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
datasource:
-
hangzhoumes:
url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
username: root
diff --git a/UnLoadGlassModule/target/classes/application.yml b/UnLoadGlassModule/target/classes/application.yml
index 8ba75c8..328e464 100644
--- a/UnLoadGlassModule/target/classes/application.yml
+++ b/UnLoadGlassModule/target/classes/application.yml
@@ -10,7 +10,6 @@
primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
datasource:
-
hangzhoumes:
url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
username: root
diff --git a/hangzhoumesParent/common/pom.xml b/hangzhoumesParent/common/pom.xml
new file mode 100644
index 0000000..874e97e
--- /dev/null
+++ b/hangzhoumesParent/common/pom.xml
@@ -0,0 +1,189 @@
+<?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>hangzhoumesParent</artifactId>
+ <groupId>com.mes</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>common</artifactId>
+ <packaging>pom</packaging>
+ <modules>
+ <module>servicebase</module>
+<!-- <module>springsecurity</module>-->
+ </modules>
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+ <dependencies>
+
+ <dependency>
+ <groupId>com.alibaba.cloud</groupId>
+ <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.cloud</groupId>
+ <artifactId>spring-cloud-starter-openfeign</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <!-- mybatis-plus-->
+ <dependency>
+ <groupId>com.baomidou</groupId>
+ <artifactId>mybatis-plus-boot-starter</artifactId>
+ <version>3.2.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <version>1.18.8</version>
+ </dependency>
+
+ <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore</artifactId>
+ <version>4.4.12</version>
+ </dependency>
+
+
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.6</version>
+ </dependency>
+
+ <!-- 瀵煎叆mysql椹卞姩 -->
+ <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>8.0.17</version>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ <version>2.0.1.Final</version>
+ </dependency>
+
+ <!--浠g爜鐢熸垚宸ュ叿-->
+ <dependency>
+ <groupId>com.baomidou</groupId>
+ <artifactId>mybatis-plus-generator</artifactId>
+ <version>3.4.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.velocity</groupId>
+ <artifactId>velocity-engine-core</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.alibaba</groupId>
+ <artifactId>druid</artifactId>
+ <version>1.1.8</version>
+ </dependency>
+
+ <!-- 鏁版嵁搴撴枃妗�-->
+ <dependency>
+ <groupId>com.alibaba</groupId>
+ <artifactId>fastjson</artifactId>
+ <version>1.2.60</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi</artifactId>
+ <version>3.17</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi-ooxml</artifactId>
+ <version>3.17</version>
+ </dependency>
+
+ <!-- 鏁版嵁搴撹璁℃枃妗g敓鎴愬伐鍏�-->
+ <dependency>
+ <groupId>cn.smallbun.screw</groupId>
+ <artifactId>screw-core</artifactId>
+ <version>1.0.5</version>
+ </dependency>
+ <!-- 2.0~2.2 Knife4j 2.0.0 ~ 2.0.6-->
+ <!-- <dependency>-->
+ <!-- <groupId>com.github.xiaoymin</groupId>-->
+ <!-- <artifactId>knife4j-spring-boot-starter</artifactId>-->
+ <!-- <version>2.0.6</version>-->
+ <!-- </dependency>-->
+
+ <dependency>
+ <groupId>io.springfox</groupId>
+ <artifactId>springfox-swagger2</artifactId>
+ <version>2.7.0</version>
+ </dependency>
+ <dependency>
+ <groupId>io.springfox</groupId>
+ <artifactId>springfox-swagger-ui</artifactId>
+ <version>2.7.0</version>
+ </dependency>
+
+
+ <!--jwt 椤圭洰鐢熸垚token-->
+ <dependency>
+ <groupId>com.auth0</groupId>
+ <artifactId>java-jwt</artifactId>
+ <version>3.10.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ </dependency>
+ <!--hutool java楠岃瘉鏂规硶绫�-->
+ <dependency>
+ <groupId>cn.hutool</groupId>
+ <artifactId>hutool-all</artifactId>
+ <version>5.4.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.github.xingshuangs</groupId>
+ <artifactId>iot-communication</artifactId>
+ <version>1.4.2</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-redis</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.session</groupId>
+ <artifactId>spring-session-data-redis</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-security</artifactId>
+ </dependency>
+ </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/pom.xml b/hangzhoumesParent/common/servicebase/pom.xml
new file mode 100644
index 0000000..46c17d9
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/pom.xml
@@ -0,0 +1,19 @@
+<?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>common</artifactId>
+ <groupId>com.mes</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>servicebase</artifactId>
+
+ <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/common/servicebase/src/main/java/com/mes/common/config/InterceptorConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/InterceptorConfig.java
new file mode 100644
index 0000000..39ffa21
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/InterceptorConfig.java
@@ -0,0 +1,29 @@
+package com.mes.common.config;
+
+import com.mes.common.interceptor.JwtInterceptor;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import javax.annotation.Resource;
+
+@Configuration
+
+public class InterceptorConfig implements WebMvcConfigurer {
+ @Resource
+ private JwtInterceptor jwtInterceptor;
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(jwtInterceptor)
+ .addPathPatterns("/**")
+ .excludePathPatterns("/user/login",
+ "/user/register",
+ "/swagger-resources/**"
+ ,"/webjars/**"
+ ,"/v2/**"
+ ,"/swagger-ui.html/**"
+ ,"/swagger-ui.html#/**");
+ }
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MyCorsConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MyCorsConfig.java
new file mode 100644
index 0000000..7b3acd4
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MyCorsConfig.java
@@ -0,0 +1,25 @@
+package com.mes.common.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/25 14:13
+ * @Description:
+ */
+@Configuration
+public class MyCorsConfig {
+
+ @Bean
+ public WebMvcConfigurer corsConfigurer() {
+ return new WebMvcConfigurer() {
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**");
+ }
+ };
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..440d02b
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java
@@ -0,0 +1,61 @@
+package com.mes.common.config;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.annotation.Resource;
+import javax.sql.DataSource;
+
+
+/**
+ * @author zhoush
+ * @Date 2024/1/26 13:44
+ */
+
+@MapperScan(basePackages = "com.mes.*.mapper")
+@Configuration
+public class MybatisPlusConfig {
+
+ /**
+ * 娣诲姞鍒嗛〉鎻掍欢
+ */
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor() {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+ return interceptor;
+ }
+
+ @Resource
+ private DataSourceProperties dataSourceProperties;
+
+
+ @Bean(name = "dataSource")
+ public DataSource dataSource() {
+
+ DruidDataSource dataSource = new DruidDataSource();
+ dataSource.setUrl(dataSourceProperties.getUrl());
+ dataSource.setDriverClassName(dataSourceProperties.getDriverClassName());
+ dataSource.setUsername(dataSourceProperties.getUsername());
+ dataSource.setPassword(dataSourceProperties.getPassword());
+
+ return dataSource;
+
+ }
+
+ public SqlSessionFactory sqlSessionFactory() throws Exception {
+ SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
+ sqlSessionFactoryBean.setDataSource(dataSource());
+ return sqlSessionFactoryBean.getObject();
+ }
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/RedisTemplateConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/RedisTemplateConfig.java
new file mode 100644
index 0000000..d5d4756
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/RedisTemplateConfig.java
@@ -0,0 +1,39 @@
+package com.mes.common.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.RedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/8 16:04
+ * @Description:
+ */
+@Configuration
+public class RedisTemplateConfig {
+ @Bean
+ public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
+ RedisTemplate<String, Object> template = new RedisTemplate<>();
+ RedisSerializer<String> redisSerializer = new StringRedisSerializer();
+ Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
+ ObjectMapper om = new ObjectMapper();
+ om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+ om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
+ jackson2JsonRedisSerializer.setObjectMapper(om);
+ template.setConnectionFactory(factory);
+ //key搴忓垪鍖栨柟寮�
+ template.setKeySerializer(redisSerializer);
+ //value搴忓垪鍖�
+ template.setValueSerializer(jackson2JsonRedisSerializer);
+ //value hashmap搴忓垪鍖�
+ template.setHashValueSerializer(jackson2JsonRedisSerializer);
+ return template;
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/SessionConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/SessionConfig.java
new file mode 100644
index 0000000..84bb05c
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/SessionConfig.java
@@ -0,0 +1,20 @@
+package com.mes.common.config;
+
+import com.alibaba.fastjson.support.spring.GenericFastJsonRedisSerializer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.serializer.RedisSerializer;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/1 13:16
+ * @Description:spring session 浣跨敤 json 搴忓垪鍖栨満鍒�
+ */
+@Configuration
+public class SessionConfig {
+ @Bean
+ public RedisSerializer<Object> springSessionDefaultRedisSerializer() {
+ return new GenericFastJsonRedisSerializer();
+ }
+}
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Swagger2Config.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Swagger2Config.java
new file mode 100644
index 0000000..df6bfb7
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Swagger2Config.java
@@ -0,0 +1,93 @@
+package com.mes.common.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.ParameterBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.schema.ModelRef;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Contact;
+import springfox.documentation.service.Parameter;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author zhan_py
+ * @Date 2024/1/26 16:11
+ * Swagger2閰嶇疆淇℃伅
+ */
+@Configuration
+public class Swagger2Config {
+
+ @Bean
+ public Docket webApiConfig(){
+ List<Parameter> pars = new ArrayList<>();
+ ParameterBuilder tokenPar = new ParameterBuilder();
+ tokenPar.name("userId")
+ .description("鐢ㄦ埛token")
+ //.defaultValue(JwtHelper.createToken(1L, "admin"))
+ .defaultValue("1")
+ .modelRef(new ModelRef("string"))
+ .parameterType("header")
+ .required(false)
+ .build();
+ pars.add(tokenPar.build());
+
+ return new Docket(DocumentationType.SWAGGER_2)
+ .groupName("webApi")
+ .apiInfo(webApiInfo())
+ .select()
+ //鍙樉绀篴pi璺緞涓嬬殑椤甸潰
+ .apis(RequestHandlerSelectors.basePackage("com.mes"))
+ .paths(PathSelectors.any())
+ .build()
+ .globalOperationParameters(pars);
+ }
+
+ @Bean
+ public Docket adminApiConfig(){
+ List<Parameter> pars = new ArrayList<>();
+ ParameterBuilder tokenPar = new ParameterBuilder();
+ tokenPar.name("adminId")
+ .description("鐢ㄦ埛token")
+ .defaultValue("1")
+ .modelRef(new ModelRef("string"))
+ .parameterType("header")
+ .required(false)
+ .build();
+ pars.add(tokenPar.build());
+
+ return new Docket(DocumentationType.SWAGGER_2)
+ .groupName("adminApi")
+ .apiInfo(adminApiInfo())
+ .select()
+ //鍙樉绀篴dmin璺緞涓嬬殑椤甸潰
+ .apis(RequestHandlerSelectors.basePackage("com.mes"))
+ .paths(PathSelectors.any())
+ .build()
+ .globalOperationParameters(pars);
+ }
+
+ private ApiInfo webApiInfo(){
+ return new ApiInfoBuilder()
+ .title("缃戠珯-API鏂囨。")
+ .description("鏈枃妗f弿杩颁簡mes缃戠珯寰湇鍔℃帴鍙e畾涔�")
+ .version("1.0")
+ .contact(new Contact("zhan_py", "", ""))
+ .build();
+ }
+
+ private ApiInfo adminApiInfo(){
+ return new ApiInfoBuilder()
+ .title("鍚庡彴绠$悊绯荤粺-API鏂囨。")
+ .description("鏈枃妗f弿杩颁簡mes鍚庡彴绯荤粺鏈嶅姟鎺ュ彛瀹氫箟")
+ .version("1.0")
+ .contact(new Contact("zhan_py", "", ""))
+ .build();
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/exception/GlobalExceptionHandler.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/exception/GlobalExceptionHandler.java
new file mode 100644
index 0000000..2d10ece
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/exception/GlobalExceptionHandler.java
@@ -0,0 +1,32 @@
+package com.mes.common.exception;
+
+import com.mes.utils.Result;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * @author zhoush
+ * @Date 2024/1/26 15:31
+ */
+@ControllerAdvice
+@Slf4j
+public class GlobalExceptionHandler {
+ /**
+ * 濡傛灉鏄痵erviceExcaption锛屽垯璋冪敤璇ユ柟娉�
+ */
+ @ExceptionHandler(ServiceException.class)
+ @ResponseBody
+ public Result handle(ServiceException se) {
+ return Result.error(se.getCode(), se.getMessage());
+ }
+
+ @ExceptionHandler(Exception.class)
+ @ResponseBody
+ public Result<Object> error(Exception e) {
+ e.printStackTrace();
+ return Result.error();
+ }
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/exception/ServiceException.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/exception/ServiceException.java
new file mode 100644
index 0000000..0c9ddbc
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/exception/ServiceException.java
@@ -0,0 +1,14 @@
+package com.mes.common.exception;
+
+import com.mes.utils.ResultCodeEnum;
+import lombok.Getter;
+
+@Getter
+public class ServiceException extends RuntimeException {
+ private Integer code;
+
+ public ServiceException(ResultCodeEnum resultCodeEnum, String msg) {
+ super(msg);
+ this.code = resultCodeEnum.getCode();
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/handler/MyMetaObjectHandler.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/handler/MyMetaObjectHandler.java
new file mode 100644
index 0000000..fb96335
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/handler/MyMetaObjectHandler.java
@@ -0,0 +1,22 @@
+package com.mes.common.handler;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+@Component
+public class MyMetaObjectHandler implements MetaObjectHandler {
+ @Override
+ public void insertFill(MetaObject metaObject) {
+ //灞炴�у悕绉帮紝涓嶆槸瀛楁鍚嶇О
+ this.setFieldValByName("gmtCreate", new Date(), metaObject);
+ this.setFieldValByName("gmtModified", new Date(), metaObject);
+ }
+
+ @Override
+ public void updateFill(MetaObject metaObject) {
+ this.setFieldValByName("gmtModified", new Date(), metaObject);
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/interceptor/JwtInterceptor.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/interceptor/JwtInterceptor.java
new file mode 100644
index 0000000..b95b9e1
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/interceptor/JwtInterceptor.java
@@ -0,0 +1,47 @@
+package com.mes.common.interceptor;
+
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Component
+public class JwtInterceptor implements HandlerInterceptor {
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+ //return HandlerInterceptor.super.preHandle(request, response, handler);
+ /*String token=request.getHeader("token");
+ if(!(handler instanceof HandlerMethod)){
+ return true;
+ }
+
+ if(StrUtil.isBlank(token)){
+ throw new ServiceException(Constants.Code_401,"鏃爐oken,閲嶆柊鐧婚檰");
+ }
+ String userId;
+ try{
+ userId = JWT.decode(token).getAudience().get(0);
+ }catch (Exception e){
+ throw new ServiceException(Constants.Code_500,"token鏍煎紡閿欒");
+ }
+
+ UserDTO getUserDTO = cacheUtil.getCacheData(userId);
+
+ if(getUserDTO != null && !getUserDTO.getToken().equals(token)){
+ throw new ServiceException(Constants.Code_600,"鐢ㄦ埛鍦ㄥ叾浠栦綅缃櫥闄�");
+ }
+
+
+ String password=userService.getUserByID(userId).toLowerCase();
+ //鐢ㄦ埛瀵嗙爜鍔犵楠岃瘉
+ JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256(password)).build();
+ try {
+ jwtVerifier.verify(token);
+ } catch (JWTVerificationException e) {
+ throw new ServiceException(Constants.Code_401,"token楠岃瘉澶辫触,璇烽噸鏂扮櫥闄�");
+ }*/
+ return true;
+ }
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
new file mode 100644
index 0000000..218263e
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
@@ -0,0 +1,85 @@
+package com.mes.tools;
+
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
+import com.baomidou.mybatisplus.generator.config.GlobalConfig;
+import com.baomidou.mybatisplus.generator.config.PackageConfig;
+import com.baomidou.mybatisplus.generator.config.StrategyConfig;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+
+/**
+ * @author mybatis-plus
+ */
+public class CodeGet {
+
+ public static void main(String[] args) {
+
+ // 1銆佸垱寤轰唬鐮佺敓鎴愬櫒
+ AutoGenerator mpg = new AutoGenerator();
+
+ // 2銆佸叏灞�閰嶇疆
+ // 鍏ㄥ眬閰嶇疆
+ GlobalConfig gc = new GlobalConfig();
+ gc.setOutputDir("D:\\workspace\\hangzhoumesParent1\\");
+
+ gc.setServiceName("%sService"); //鍘绘帀Service鎺ュ彛鐨勯瀛楁瘝I
+ gc.setAuthor("zhoush");
+ gc.setOpen(false);
+ mpg.setGlobalConfig(gc);
+
+ // 3銆佹暟鎹簮閰嶇疆
+ DataSourceConfig dsc = new DataSourceConfig();
+ dsc.setUrl("jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8");
+ dsc.setDriverName("com.mysql.cj.jdbc.Driver");
+ dsc.setUsername("root");
+ dsc.setPassword("beibo.123/");
+ dsc.setDbType(DbType.MYSQL);
+ mpg.setDataSource(dsc);
+
+ // 4銆佸寘閰嶇疆
+ PackageConfig pc = new PackageConfig();
+ pc.setParent("com.mes");
+ pc.setModuleName("userinfo"); //妯″潡鍚�
+ pc.setController("controller");
+ pc.setService("service");
+ pc.setMapper("mapper");
+ mpg.setPackageInfo(pc);
+
+ // 5銆佺瓥鐣ラ厤缃�
+ StrategyConfig strategy = new StrategyConfig();
+
+// strategy.setInclude("activity_info", "activity_rule", "activity_sku", "coupon_info", "coupon_range",
+// "coupon_use");
+
+ strategy.setNaming(NamingStrategy.underline_to_camel);//鏁版嵁搴撹〃鏄犲皠鍒板疄浣撶殑鍛藉悕绛栫暐
+
+ strategy.setColumnNaming(NamingStrategy.underline_to_camel);//鏁版嵁搴撹〃瀛楁鏄犲皠鍒板疄浣撶殑鍛藉悕绛栫暐
+ strategy.setEntityLombokModel(true); // lombok 妯″瀷 @Accessors(chain = true) setter閾惧紡鎿嶄綔
+
+ strategy.setRestControllerStyle(true); //restful api椋庢牸鎺у埗鍣�
+ strategy.setControllerMappingHyphenStyle(true); //url涓┘宄拌浆杩炲瓧绗�
+
+ mpg.setStrategy(strategy);
+
+ // 6銆佹墽琛�
+ mpg.execute();
+
+ System.out.println("鎵ц瀹屾垚");
+ }
+}
+
+/*
+<dependency>
+ <groupId>com.baomidou</groupId>
+ <artifactId>mybatis-plus-generator</artifactId>
+ <version>3.4.1</version>
+</dependency>
+
+<dependency>
+ <groupId>org.apache.velocity</groupId>
+ <artifactId>velocity-engine-core</artifactId>
+ <version>2.0</version>
+</dependency>
+ */
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java
new file mode 100644
index 0000000..4352331
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java
@@ -0,0 +1,97 @@
+package com.mes.tools;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/26 9:01
+ * @Description:
+ */
+
+import cn.smallbun.screw.core.Configuration;
+import cn.smallbun.screw.core.engine.EngineConfig;
+import cn.smallbun.screw.core.engine.EngineFileType;
+import cn.smallbun.screw.core.engine.EngineTemplateType;
+import cn.smallbun.screw.core.execute.DocumentationExecute;
+import cn.smallbun.screw.core.process.ProcessConfig;
+import com.zaxxer.hikari.HikariConfig;
+import com.zaxxer.hikari.HikariDataSource;
+
+import javax.sql.DataSource;
+import java.util.ArrayList;
+import java.util.List;
+
+public class DatabaseDesignDocUtil {
+
+ public static void main(String[] args) {
+ documentGeneration();
+ }
+
+ /**
+ * 鏂囨。鐢熸垚
+ */
+ public static void documentGeneration() {
+ //鏁版嵁婧�
+ HikariConfig hikariConfig = new HikariConfig();
+ hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
+ hikariConfig.setJdbcUrl("jdbc:mysql://10.153.19.150:3306/hangzhoumes"+"?serverTimezone=GMT%2B8");
+ hikariConfig.setUsername("root");
+ hikariConfig.setPassword("beibo.123/");
+ //璁剧疆鍙互鑾峰彇tables remarks淇℃伅
+ hikariConfig.addDataSourceProperty("useInformationSchema", "true");
+ hikariConfig.setMinimumIdle(2);
+ hikariConfig.setMaximumPoolSize(5);
+ DataSource dataSource = new HikariDataSource(hikariConfig);
+ //鐢熸垚閰嶇疆
+ EngineConfig engineConfig = EngineConfig.builder()
+ //鐢熸垚鏂囦欢璺緞
+ .fileOutputDir("E:\\椤圭洰\\椤圭洰鏂囨。\\鏉窞鍒╂潵1")
+ //鎵撳紑鐩綍
+ .openOutputDir(true)
+ //鏂囦欢绫诲瀷
+ .fileType(EngineFileType.WORD)
+ //鐢熸垚妯℃澘瀹炵幇
+ .produceType(EngineTemplateType.freemarker)
+ //鑷畾涔夋枃浠跺悕绉�
+ .fileName("鏉窞鍒╂潵鏁版嵁搴撴枃妗�").build();
+
+ //蹇界暐琛�
+ List<String> ignoreTableName = new ArrayList<>();
+ ignoreTableName.add("test_user");
+ ignoreTableName.add("test_group");
+ //蹇界暐琛ㄥ墠缂�
+ ArrayList<String> ignorePrefix = new ArrayList<>();
+ ignorePrefix.add("test_");
+ //蹇界暐琛ㄥ悗缂�
+ ArrayList<String> ignoreSuffix = new ArrayList<>();
+ ignoreSuffix.add("_test");
+ ProcessConfig processConfig = ProcessConfig.builder()
+ //鎸囧畾鐢熸垚閫昏緫銆佸綋瀛樺湪鎸囧畾琛ㄣ�佹寚瀹氳〃鍓嶇紑銆佹寚瀹氳〃鍚庣紑鏃讹紝灏嗙敓鎴愭寚瀹氳〃锛屽叾浣欒〃涓嶇敓鎴愩�佸苟璺宠繃蹇界暐琛ㄩ厤缃�
+ //鏍规嵁鍚嶇О鎸囧畾琛ㄧ敓鎴�
+ .designatedTableName(new ArrayList<>())
+ //鏍规嵁琛ㄥ墠缂�鐢熸垚
+ .designatedTablePrefix(new ArrayList<>())
+ //鏍规嵁琛ㄥ悗缂�鐢熸垚
+ .designatedTableSuffix(new ArrayList<>())
+ //蹇界暐琛ㄥ悕
+ .ignoreTableName(ignoreTableName)
+ //蹇界暐琛ㄥ墠缂�
+ .ignoreTablePrefix(ignorePrefix)
+ //蹇界暐琛ㄥ悗缂�
+ .ignoreTableSuffix(ignoreSuffix).build();
+ //閰嶇疆
+ Configuration config = Configuration.builder()
+ //鐗堟湰
+ .version("1.0.0")
+ //鎻忚堪
+ .description("鏁版嵁搴撹璁℃枃妗g敓鎴�")
+ //鏁版嵁婧�
+ .dataSource(dataSource)
+ //鐢熸垚閰嶇疆
+ .engineConfig(engineConfig)
+ //鐢熸垚閰嶇疆
+ .produceConfig(processConfig)
+ .build();
+ //鎵ц鐢熸垚
+ new DocumentationExecute(config).execute();
+ }
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/ExportToWord.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/ExportToWord.java
new file mode 100644
index 0000000..e380bcc
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/ExportToWord.java
@@ -0,0 +1,313 @@
+package com.mes.tools;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/26 8:16
+ * @Description:
+ */
+import com.alibaba.fastjson.JSONObject;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.apache.poi.xwpf.usermodel.XWPFParagraph;
+import org.apache.poi.xwpf.usermodel.XWPFRun;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
+
+import java.io.FileOutputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * @Method: 鏁版嵁搴撹〃缁撴瀯word瀵煎嚭
+ * @Description: 鏁版嵁搴撹〃缁撴瀯word瀵煎嚭
+ **/
+public class ExportToWord {
+
+ // private final String DRIVER = "com.mysql.jdbc.Driver"; //MySQL5.0
+ private final String DRIVER = "com.mysql.cj.jdbc.Driver";
+ private final String URL = "jdbc:mysql://10.153.19.150:3306/hangzhoumes"+"?serverTimezone=GMT%2B8";
+ //鏁版嵁搴撹处鍙�
+ private final String USER_NAME = "root";
+ //鏁版嵁搴撳瘑鐮�
+ private final String PASS_WORD = "beibo.123/";
+ //瀵瑰簲鏁版嵁搴� 姝ゅ鏄綘鏈湴瀵瑰簲鐨勬暟鎹簱鍚嶇О
+ private final String database = "hangzhoumes";
+ //瀵瑰簲杈撳嚭鍦板潃
+ private final String reportPath = "E:\\椤圭洰\\椤圭洰鏂囨。\\鏉窞鍒╂潵\\";
+
+ // 鍚姩鏂规硶
+ public static void main(String[] args) {
+
+ try {
+ ExportToWord rd = new ExportToWord ();
+ rd.report();
+ }catch (Exception e){
+ System.out.println("寮傚父锛氳嚜琛屽鐞嗘垨鑰呰仈绯绘垜閮介様浠�.");
+ e.printStackTrace();
+ }
+
+ }
+
+
+ Connection conn = null;
+ PreparedStatement pst = null;
+ ResultSet rs = null;
+
+ // 鑾峰彇鏌ヨ鏁版嵁
+ public Map<String,List<TableColumn>> getData() throws Exception{
+
+ System.out.println("鏁版嵁鐢熸垚涓紝璇风◢绛�...");
+ Map<String,List<TableColumn>> map = new HashMap<>();
+
+ List<Table> tables = getTables(database);
+
+ for (Table table : tables) {
+ List<TableColumn> columns = getColumns(database,table.getTableName());
+ map.put(table.getTableName(),columns);
+ }
+
+ return map;
+
+ }
+
+
+ // 鑾峰彇琛ㄥ瓧娈典俊鎭�
+ public List<TableColumn> getColumns(String database,String tableName) throws Exception{
+
+ String sql = "select column_name,column_comment,column_type,is_nullable, column_key from information_schema.columns where table_schema=? and table_name=? ";// group by column_name
+ ResultSet rs = getConn(database,tableName,sql);
+
+ List<TableColumn> tableColumns = new ArrayList<>();
+
+ while (rs.next()){
+
+ TableColumn tc = new TableColumn();
+ tc.setTableName(tableName);
+ tc.setColumnName(rs.getString("column_name"));
+ tc.setColumnType(rs.getString("column_type"));
+ tc.setColumnKey(rs.getString("column_key"));
+ tc.setIsNullable(rs.getString("is_nullable"));
+ tc.setColumnComment(rs.getString("column_comment"));
+ tableColumns.add(tc);
+
+ }
+
+ releaseConn();
+
+ return tableColumns;
+
+ }
+
+
+ // 鑾峰彇鎵�鏈夎〃
+ public List<Table> getTables(String database) throws Exception{
+
+ String sql = "select table_name,table_comment from information_schema.tables where table_schema=?";
+ ResultSet rs = getConn(database, "",sql);
+
+ List<Table> tables = new ArrayList<>();
+ while(rs.next()){
+ Table table = new Table();
+ table.setTableName(rs.getString( "table_name"));
+ table.setTableCommont(rs.getString("table_comment"));
+ tables.add(table);
+ }
+
+ releaseConn();
+ return tables;
+
+ }
+
+ // 杩炴帴鏁版嵁搴�
+ private ResultSet getConn(String dataBase,String tableName,String sql){
+
+ try{
+
+ Class.forName(DRIVER);
+ conn = DriverManager.getConnection(URL,USER_NAME,PASS_WORD);
+ pst = conn.prepareStatement(sql);
+ pst.setString(1,dataBase);
+ if(!"".equals(tableName)){
+ pst.setString(2,tableName);
+ }
+ rs = pst.executeQuery();
+ return rs;
+
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+
+ return null;
+
+ }
+
+ // 閲婃斁杩炴帴
+ private void releaseConn(){
+ try{
+ if(rs != null ){
+ rs.close();
+ }
+ if(pst != null){
+ pst.close();
+ }
+ if(conn != null){
+ conn.close();
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+
+ // 瀵煎嚭鏁版嵁
+ public void report() throws Exception{
+
+ Map<String, List<TableColumn>> data = this.getData(); // 琛ㄥ悕锛氳〃浣�
+ List<Table> tables = this.getTables(this.database); // 琛ㄤ綋(鍒楀悕銆佺被鍨嬨�佹敞閲�)
+ Map<String,String> tableMap = new HashMap<>(); // 琛ㄥ悕:涓枃鍚�
+
+ JSONObject json = new JSONObject((HashMap)data);
+
+ for (Table table : tables) {
+ tableMap.put(table.getTableName(),table.getTableCommont());
+ }
+
+ // 鏋勫缓琛ㄦ牸鏁版嵁
+ XWPFDocument document = new XWPFDocument();
+
+ Integer i = 1;
+ for (String tableName : data.keySet()) {
+
+ XWPFParagraph paragraph = document.createParagraph(); // 鍒涘缓鏍囬瀵硅薄
+ XWPFRun run = paragraph.createRun(); // 鍒涘缓鏂囨湰瀵硅薄
+ run.setText((i+"銆�"+tableName+" "+tableMap.get(tableName))); // 鏍囬鍚嶇О
+ run.setFontSize(14); // 瀛椾綋澶у皬
+ run.setBold(true); // 瀛椾綋鍔犵矖
+
+ int j = 0;
+ XWPFTable table = document.createTable(data.get(tableName).size()+1,5);
+ // 绗竴琛�
+ table.setCellMargins(50,400,50,400);
+ table.getRow(j).getCell(0).setText("瀛楁鍚嶇О");
+ table.getRow(j).getCell(1).setText("瀛楁绫诲瀷");
+ table.getRow(j).getCell(2).setText("绾︽潫");
+ table.getRow(j).getCell(3).setText("涓虹┖");
+ table.getRow(j).getCell(4).setText("瀛楁鍚箟");
+ j++;
+
+ for (TableColumn tableColumn : data.get(tableName)) {
+
+ table.getRow(j).getCell(0).setText(tableColumn.getColumnName());
+ table.getRow(j).getCell(1).setText(tableColumn.getColumnType());
+ table.getRow(j).getCell(2).setText(tableColumn.getColumnKey());
+ table.getRow(j).getCell(3).setText(tableColumn.getIsNullable());
+ table.getRow(j).getCell(4).setText(tableColumn.getColumnComment());
+ j++;
+
+ }
+ i++;
+ }
+
+ // 鏂囨。杈撳嚭
+ FileOutputStream out = new FileOutputStream(reportPath + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()).toString()+"_"+database +".docx");
+ document.write(out);
+ out.close();
+ System.out.println("Word鐢熸垚瀹屾垚!!!");
+
+ }
+
+ // 琛�
+ class Table{
+
+ private String tableName;
+
+ private String tableCommont;
+
+ public String getTableName() {
+ return tableName;
+ }
+
+ public void setTableName(String tableName) {
+ this.tableName = tableName;
+ }
+
+ public String getTableCommont() {
+ return tableCommont;
+ }
+
+ public void setTableCommont(String tableCommont) {
+ this.tableCommont = tableCommont;
+ }
+
+ }
+
+ // 琛ㄥ垪淇℃伅
+ class TableColumn{
+ // 琛ㄥ悕
+ private String tableName;
+ // 瀛楁鍚�
+ private String columnName;
+ // 瀛楁绫诲瀷
+ private String columnType;
+ // 瀛楁娉ㄩ噴
+ private String columnComment;
+ // 鍙惁涓虹┖
+ private String isNullable;
+ // 绾︽潫
+ private String columnKey;
+
+ public String getTableName() {
+ return tableName;
+ }
+
+ public void setTableName(String tableName) {
+ this.tableName = tableName;
+ }
+
+ public String getColumnName() {
+ return columnName;
+ }
+
+ public void setColumnName(String columnName) {
+ this.columnName = columnName;
+ }
+
+ public String getColumnType() {
+ return columnType;
+ }
+
+ public void setColumnType(String columnType) {
+ this.columnType = columnType;
+ }
+
+ public String getColumnComment() {
+ return columnComment;
+ }
+
+ public void setColumnComment(String columnComment) {
+ this.columnComment = columnComment;
+ }
+
+ public String getIsNullable() {
+ return isNullable;
+ }
+
+ public void setIsNullable(String isNullable) {
+ this.isNullable = isNullable;
+ }
+
+ public String getColumnKey() {
+ return columnKey;
+ }
+
+ public void setColumnKey(String columnKey) {
+ this.columnKey = columnKey;
+ }
+
+ }
+
+
+}
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
new file mode 100644
index 0000000..fafbd45
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
@@ -0,0 +1,421 @@
+package com.mes.tools;
+
+import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
+import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
+import com.google.common.primitives.Bytes;
+
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+
+public class S7control {
+
+ S7PLC s7PLC; // PLC閫氳绫诲疄渚�
+
+ public S7control(EPlcType plcType, String ip, int port, int rack, int slot) {
+ if (s7PLC == null) {
+ s7PLC = new S7PLC(plcType, ip, port, 0, 0);
+ }
+ }
+
+ /**
+ * 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
+ */
+ public void CloseS7client() {
+ if (s7PLC == null) {
+ s7PLC.close();
+ }
+ s7PLC.checkConnected();
+ }
+
+ /**
+ * s7閫氳杩炴帴鐘舵��
+ */
+ public boolean CheckConnected() {
+ return s7PLC.checkConnected();
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
+ *
+ * @param address 鍦板潃
+ * @param data word鐨勫��
+ */
+ public void WriteWord(String address, short data) {
+ if (s7PLC == null) {
+ return;
+ }
+ s7PLC.writeInt16(address, data);
+ }
+
+ /**
+ * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜word
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+ public void WriteWord(String address, List<Short> datas) {
+ if (s7PLC == null) {
+ return;
+ }
+ // s7PLC.write(address, data);
+ List<String> addresslist = GetAddressList(address, datas.size(), 16);
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < datas.size(); i++) {
+ addressWrite.addInt16(addresslist.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜word
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓狟it
+ *
+ * @param address 鍦板潃
+ * @param data Bit鐨勫��
+ */
+ public void WriteBit(String address, Boolean data) {
+ if (s7PLC == null) {
+ return;
+ }
+ s7PLC.writeBoolean(address, data);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜bit
+ *
+ * @param address 鍦板潃
+ * @param datas bit鐨勫��
+ */
+ public void WriteBit(List<String> address, List<Boolean> datas) {
+ if (s7PLC == null) {
+ return;
+ }
+ // s7PLC.write(address, data);
+
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < address.size(); i++) {
+ addressWrite.addBoolean(address.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+
+ /**
+ * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜bit
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+ public void WriteBit(String address, List<Boolean> datas) {
+ if (s7PLC == null) {
+ return;
+ }
+ // s7PLC.write(address, data);
+ List<String> addresslist = GetAddressList(address, datas.size(), 1);
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < datas.size(); i++) {
+ addressWrite.addBoolean(addresslist.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜byte
+ *
+ * @param address 鍦板潃
+ * @param datas byte鐨勫��
+ */
+ public void WriteByte(String address, byte[] datas) {
+ if (s7PLC == null) {
+ return;
+ }
+ // s7PLC.write(address, data);
+ s7PLC.writeByte(address, datas);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @return 缁撴灉
+ */
+ public List<Short> ReadWord(List<String> address) {
+ if (s7PLC == null) {
+ return null;
+ }
+
+ try {
+ return s7PLC.readInt16(address);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+ }
+
+
+ private int getIndexFromAddress(String address) {
+
+ // 鍙互瑙f瀽鍑哄湴鍧�涓殑鏁板瓧閮ㄥ垎锛屽苟杞崲涓烘暣鏁�
+ return 0;
+ }
+
+ private String getAddressFromIndex(int index) {
+
+ // 鏁存暟杞崲涓哄湴鍧�鏍煎紡鐨勫瓧绗︿覆
+ return "";
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @param count 杩炵画璇诲灏戜釜word
+ * @return 缁撴灉
+ */
+ public List<Short> ReadWord(String address, int count) {
+ if (s7PLC == null) {
+ return null;
+ }
+
+ List<String> addresslist = GetAddressList(address, count, 16);
+ try {
+ return s7PLC.readInt16(addresslist);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+
+ return null;
+ }
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇byte缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @param count 杩炵画璇诲灏戜釜byte
+ * @return 缁撴灉
+ */
+ public byte[] ReadByte(String address, int count) {
+ if (s7PLC == null) {
+ return null;
+ }
+ // List<String> addresslist = GetAddressList(address, count, 16);
+
+ try {
+ return s7PLC.readByte(address, count);
+ } catch (Exception e) {
+ // 澶勭悊寮傚父
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鎸塨it浣� 0 flase 1 true 璇诲彇缁撴灉
+ *
+ * @param addresslist 鍦板潃闆�
+ * @return Boolean缁撴灉
+ */
+ public List<Boolean> ReadBits(List<String> addresslist) {
+ if (s7PLC == null) {
+ return null;
+ }
+ return s7PLC.readBoolean(addresslist);
+ }
+
+ //璇诲彇涓嶈繛缁湴鍧�bit
+ public List<Boolean> readBits(List<String> addressList) {
+ if (s7PLC == null || addressList.isEmpty()) {
+ return null;
+ }
+
+ List<Boolean> values = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ boolean value = s7PLC.readBoolean(address);
+ values.add(value);
+ } catch (Exception e) {
+ // 澶勭悊寮傚父
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ }
+ }
+
+ return values;
+ }
+
+
+ //璇诲彇String
+ public List<String> readStrings(List<String> addressList) {
+ if (s7PLC == null) {
+ return null;
+ }
+ List<String> result = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ byte[] bytes = s7PLC.readByte(address, 14);
+ if (bytes != null) {
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ result.add(str);
+ }
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ result.add(null);
+ }
+ }
+
+ return result;
+ }
+
+
+ //涓嶈繛缁湴鍧�鍐欏叆Word
+ public void WriteWord(List<String> address, List<Short> datas) {
+ if (s7PLC == null) {
+ return;
+ }
+
+ for (int i = 0; i < address.size(); i++) {
+ String addr = address.get(i);
+ short data = datas.get(i);
+
+ if (addr.contains("-")) {
+ outmesid(String.valueOf(data), addr); // 鍗曠嫭澶勭悊甯︾牬鎶樺彿鐨勫湴鍧�
+ } else {
+ s7PLC.writeInt16(addr, data); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
+ }
+ }
+ }
+
+
+ //瀛楃涓插啓鍏�
+ public void outmesid(String data, String addr) {
+// System.out.println("outmesid: " + data);
+ List<Byte> glassidlist = new ArrayList<>();
+ String[] parts = addr.split("-");
+ if (parts.length == 2) {
+ addr = parts[0]; // 鍙繚鐣� "-" 鍓嶉潰鐨勯儴鍒�
+ }
+ for (char iditem : data.toCharArray()) {
+ glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
+ }
+ byte[] bytes = Bytes.toArray(glassidlist);
+ WriteByte(addr, bytes);
+ }
+
+ //璇诲彇涓嶈繛缁瓀ord
+ public List<Short> readWords(List<String> addresses) {
+ if (s7PLC == null) {
+ return null;
+ }
+
+ List<Short> data = new ArrayList<>();
+
+ for (String address : addresses) {
+ try {
+
+ // 鍗曚釜鍦板潃
+ Short value = s7PLC.readInt16(address);
+ data.add(value);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+
+ }
+
+ }
+ return data;
+ }
+
+ //璇诲彇鏃堕棿
+ public Long readtime(String address) {
+ if (s7PLC == null) {
+ return null;
+ }
+ try {
+ return s7PLC.readTime(address);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+ }
+
+
+ public void writetime(String address, long datas) {
+ if (s7PLC == null)
+ return;
+
+
+ s7PLC.writeTime(address, datas); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
+ }
+
+
+ private int extractAddressNumber(String address) {
+ String numberStr = address.replaceAll("\\D+", ""); // 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒�
+ return Integer.parseInt(numberStr);
+ }
+
+
+ /**
+ * 浠庢寚瀹氱殑鍦板潃寮�濮� 杩炵画鎸塨it浣嶈鍙�
+ *
+ * @param address 鍦板潃
+ * @param count 闀垮害
+ * @return Boolean缁撴灉
+ */
+ public List<Boolean> ReadBits(String address, int count) {
+ if (s7PLC == null)
+ return null;
+ List<String> addresslist = GetAddressList(address, count, 1);
+ try {
+ return s7PLC.readBoolean(addresslist);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+
+ }
+
+ ;
+
+
+ private List<String> GetAddressList(String address, int count, int addedbit) {
+ List<String> addresslist = new ArrayList<String>();
+
+ String[] stringdatas = address.trim().split("\\.");
+ if (stringdatas.length < 2 || !address.startsWith("DB")) {
+ return null;
+ }
+ int dbwindex = 0;
+ int bitindex = 0;
+ if (stringdatas.length == 2) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ } else if (stringdatas.length == 3) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ bitindex = Integer.parseInt(stringdatas[2]);
+ } else {
+ return null;
+ }
+
+ addresslist.add(address);
+ for (int i = 0; i < count - 1; i++) {
+
+ int bitcurrent = bitindex + addedbit;
+ if (bitcurrent > 7) {
+ dbwindex += bitcurrent / 8;
+ bitindex = 0;
+ } else {
+ bitindex = bitcurrent;
+ }
+
+ String endstr = stringdatas.length == 3 ? "." + bitindex : "";
+ addresslist.add(stringdatas[0] + "." + dbwindex + endstr);
+ }
+ return addresslist;
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/TokenTools.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/TokenTools.java
new file mode 100644
index 0000000..bb35843
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/TokenTools.java
@@ -0,0 +1,22 @@
+package com.mes.tools;
+
+import cn.hutool.core.date.DateUtil;
+import com.auth0.jwt.JWT;
+import com.auth0.jwt.algorithms.Algorithm;
+
+import java.util.Date;
+
+public class TokenTools {
+
+ /**
+ * 鐢熸垚token
+ *
+ * @return
+ */
+ public static String getToken(String userid, String sign) {
+ return JWT.create().withAudience(userid) // 灏� user id 淇濆瓨鍒� token 閲岄潰,浣滀负杞借嵎
+ .withExpiresAt(DateUtil.offsetHour(new Date(), 24)) // 2灏忔椂鍚巘oken杩囨湡
+ .sign(Algorithm.HMAC256(sign)); // 浠� password 浣滀负 token 鐨勫瘑閽�
+
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java
new file mode 100644
index 0000000..653275e
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java
@@ -0,0 +1,36 @@
+package com.mes.utils;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+
+public final class MD5 {
+
+ public static String encrypt(String strSrc) {
+ try {
+ char hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
+ '9', 'a', 'b', 'c', 'd', 'e', 'f' };
+ byte[] bytes = strSrc.getBytes();
+ MessageDigest md = MessageDigest.getInstance("MD5");
+ md.update(bytes);
+ bytes = md.digest();
+ int j = bytes.length;
+ char[] chars = new char[j * 2];
+ int k = 0;
+ for (int i = 0; i < bytes.length; i++) {
+ byte b = bytes[i];
+ chars[k++] = hexChars[b >>> 4 & 0xf];
+ chars[k++] = hexChars[b & 0xf];
+ }
+ return new String(chars);
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ throw new RuntimeException("MD5鍔犲瘑鍑洪敊锛侊紒+" + e);
+ }
+ }
+
+ public static void main(String[] args) {
+ System.out.println(MD5.encrypt("111111"));
+ }
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResponseUtil.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResponseUtil.java
new file mode 100644
index 0000000..ad4f177
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResponseUtil.java
@@ -0,0 +1,28 @@
+package com.mes.utils;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.http.HttpStatus;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/8 15:46
+ * @Description:
+ */
+public class ResponseUtil {
+
+ public static final String APPLICATION_JSON_UTF8_VALUE = "application/json;charset=UTF-8";
+
+ public static void out(HttpServletResponse response, Result r) {
+ ObjectMapper mapper = new ObjectMapper();
+ response.setStatus(HttpStatus.OK.value());
+ response.setContentType(APPLICATION_JSON_UTF8_VALUE);
+ try {
+ mapper.writeValue(response.getWriter(), r);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/Result.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/Result.java
new file mode 100644
index 0000000..9b9a681
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/Result.java
@@ -0,0 +1,56 @@
+package com.mes.utils;
+
+import lombok.Data;
+
+
+@Data
+public class Result<T> {
+ private Integer code;
+ private String message;
+ private T data;
+
+ private Result() {
+
+ }
+
+ public static <T> Result<T> build(Integer code, String message, T data) {
+ Result<T> result = new Result<T>();
+ result.setCode(code);
+ result.setMessage(message);
+ if (data != null) {
+ result.setData(data);
+ }
+ return result;
+ }
+
+ public static <T> Result<T> build(ResultCodeEnum resultCodeEnum, T data) {
+ Result<T> result = new Result<T>();
+ result.setCode(resultCodeEnum.getCode());
+ result.setMessage(resultCodeEnum.getMessage());
+ if (data != null) {
+ result.setData(data);
+ }
+ return result;
+ }
+
+ public static <T> Result<T> success() {
+ return build(ResultCodeEnum.SUCCESS, null);
+ }
+
+ public static <T> Result<T> success(T data) {
+ return build(ResultCodeEnum.SUCCESS.getCode(), "", data);
+ }
+
+
+ public static Result error(Integer code, String msg) {
+ return build(code, msg, null);
+ }
+
+ public static <T> Result<T> error(T data) {
+ return build(ResultCodeEnum.FAIL.getCode(), "", data);
+ }
+
+ public static <T> Result<T> error() {
+ return build(ResultCodeEnum.FAIL.getCode(), "鏈嶅姟鍣ㄥ彂鐢熷紓甯�", null);
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java
new file mode 100644
index 0000000..539967c
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java
@@ -0,0 +1,33 @@
+package com.mes.utils;
+
+import lombok.Getter;
+
+/**
+ * @author zhoush
+ */
+
+@Getter
+public enum ResultCodeEnum {
+
+ SUCCESS(200,"鎴愬姛"),
+ FAIL(201, "澶辫触"),
+ SERVICE_ERROR(2012, "鏈嶅姟寮傚父"),
+ DATA_ERROR(204, "鏁版嵁寮傚父"),
+ ILLEGAL_REQUEST(205, "闈炴硶璇锋眰"),
+ REPEAT_SUBMIT(206, "閲嶅鎻愪氦"),
+
+ LOGIN_AUTH(208, "鏈櫥闄�"),
+ PERMISSION(209, "娌℃湁鏉冮檺"),
+
+
+ ;
+
+ private Integer code;
+
+ private String message;
+
+ ResultCodeEnum(Integer code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/banner.txt b/hangzhoumesParent/common/servicebase/src/main/resources/banner.txt
new file mode 100644
index 0000000..b4027f0
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/banner.txt
@@ -0,0 +1,32 @@
+________ ________ ___ _____________ ____
+`MMMMMMMb. 68b `MMMMMMMb. `MMb dMM'`MMMMMMMMM 6MMMMb\
+ MM `Mb Y89 MM `Mb MMM. ,PMM MM \ 6M' `
+ MM MM ____ ___ MM MM _____ M`Mb d'MM MM MM
+ MM .M9 6MMMMb `MM MM .M9 6MMMMMb M YM. ,P MM MM , YM.
+ MMMMMMM( 6M' `Mb MM MMMMMMM( 6M' `Mb M `Mb d' MM MMMMMMM YMMMMb
+ MM `Mb MM MM MM MM `Mb MM MM M YM.P MM MM ` `Mb
+ MM MM MMMMMMMM MM MM MM MM MM M `Mb' MM MM MM
+ MM MM MM MM MM MM MM MM M YP MM MM MM
+ MM .M9 YM d9 MM MM .M9 YM. ,M9 68b M `' MM MM / L ,M9
+_MMMMMMM9' YMMMM9 _MM__MMMMMMM9' YMMMMM9 Y89 _M_ _MM__MMMMMMMMM MYMMMM9
+
+// _ooOoo_ //
+// o8888888o //
+// 88" . "88 //
+// (| ^_^ |) //
+// O\ = /O //
+// ____/`---'\____ //
+// .' \\| |// `. //
+// / \\||| : |||// \ //
+// / _||||| -:- |||||- \ //
+// | | \\\ - /// | | //
+// | \_| ''\---/'' | | //
+// \ .-\__ `-` ___/-. / //
+// ___`. .' /--.--\ `. . ___ //
+// ."" '< `.___\_<|>_/___.' >'"". //
+// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
+// \ \ `-. \_ __\ /__ _/ .-` / / //
+// ========`-.____`-.___\_____/___.-`____.-'======== //
+// `=---=' //
+// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
+// 浣涚淇濅綉 姘镐笉瀹曟満 姘告棤BUG 銆�銆�//
\ No newline at end of file
diff --git a/hangzhoumesParent/common/springsecurity/pom.xml b/hangzhoumesParent/common/springsecurity/pom.xml
new file mode 100644
index 0000000..cca1425
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/pom.xml
@@ -0,0 +1,37 @@
+<?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>common</artifactId>
+ <groupId>com.mes</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>springsecurity</artifactId>
+
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.mes</groupId>
+ <artifactId>servicebase</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <!-- Spring Security渚濊禆 -->
+<!-- <dependency>-->
+<!-- <groupId>org.springframework.boot</groupId>-->
+<!-- <artifactId>spring-boot-starter-security</artifactId>-->
+<!-- </dependency>-->
+
+<!-- <dependency>-->
+<!-- <groupId>io.jsonwebtoken</groupId>-->
+<!-- <artifactId>jjwt</artifactId>-->
+<!-- </dependency>-->
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/config/TokenWebSecurityConfig.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/config/TokenWebSecurityConfig.java
new file mode 100644
index 0000000..610451e
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/config/TokenWebSecurityConfig.java
@@ -0,0 +1,69 @@
+//package com.mes.config;
+//
+//
+//import com.mes.filter.TokenAuthFilter;
+//import com.mes.filter.TokenLoginFilter;
+//import com.mes.security.DefaultPasswordEncoder;
+//import com.mes.security.TokenLogoutHandler;
+//import com.mes.security.TokenManager;
+//import com.mes.security.UnauthEntryPoint;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.data.redis.core.RedisTemplate;
+//import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
+//import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
+//import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+//import org.springframework.security.config.annotation.web.builders.WebSecurity;
+//import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+//import org.springframework.security.core.userdetails.UserDetailsService;
+//
+//@Configuration
+//@EnableWebSecurity
+//@EnableGlobalMethodSecurity(prePostEnabled = true)
+//public class TokenWebSecurityConfig extends WebSecurityConfigurerAdapter {
+//
+// private TokenManager tokenManager;
+// private RedisTemplate redisTemplate;
+// private DefaultPasswordEncoder defaultPasswordEncoder;
+// private UserDetailsService userDetailsService;
+//
+// @Autowired
+// public TokenWebSecurityConfig(UserDetailsService userDetailsService, DefaultPasswordEncoder defaultPasswordEncoder,
+// TokenManager tokenManager, RedisTemplate redisTemplate) {
+// this.userDetailsService = userDetailsService;
+// this.defaultPasswordEncoder = defaultPasswordEncoder;
+// this.tokenManager = tokenManager;
+// this.redisTemplate = redisTemplate;
+// }
+//
+// /**
+// * 閰嶇疆璁剧疆
+// * @param http
+// * @throws Exception
+// */
+// //璁剧疆閫�鍑虹殑鍦板潃鍜宼oken锛宺edis鎿嶄綔鍦板潃
+// @Override
+// protected void configure(HttpSecurity http) throws Exception {
+// http.exceptionHandling()
+// .authenticationEntryPoint(new UnauthEntryPoint())//娌℃湁鏉冮檺璁块棶
+// .and().csrf().disable()
+// .authorizeRequests()
+// .anyRequest().authenticated()
+// .and().logout().logoutUrl("/admin/acl/index/logout")//閫�鍑鸿矾寰�
+// .addLogoutHandler(new TokenLogoutHandler(tokenManager,redisTemplate)).and()
+// .addFilter(new TokenLoginFilter(authenticationManager(), tokenManager, redisTemplate))
+// .addFilter(new TokenAuthFilter(authenticationManager(), tokenManager, redisTemplate)).httpBasic();
+// }
+//
+// //璋冪敤userDetailsService鍜屽瘑鐮佸鐞�
+// @Override
+// public void configure(AuthenticationManagerBuilder auth) throws Exception {
+// auth.userDetailsService(userDetailsService).passwordEncoder(defaultPasswordEncoder);
+// }
+// //涓嶈繘琛岃璇佺殑璺緞锛屽彲浠ョ洿鎺ヨ闂�
+// @Override
+// public void configure(WebSecurity web) throws Exception {
+// web.ignoring().antMatchers("/api/**");
+// }
+//}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/entity/SecurityUser.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/entity/SecurityUser.java
new file mode 100644
index 0000000..b0f9c1a
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/entity/SecurityUser.java
@@ -0,0 +1,73 @@
+//package com.mes.entity;
+//
+//import lombok.Data;
+//import org.springframework.security.core.GrantedAuthority;
+//import org.springframework.security.core.authority.SimpleGrantedAuthority;
+//import org.springframework.security.core.userdetails.UserDetails;
+//import org.springframework.util.StringUtils;
+//
+//import java.util.ArrayList;
+//import java.util.Collection;
+//import java.util.List;
+//
+//@Data
+//public class SecurityUser implements UserDetails {
+//
+// //褰撳墠鐧诲綍鐢ㄦ埛
+// private transient User currentUserInfo;
+//
+// //褰撳墠鏉冮檺
+// private List<String> permissionValueList;
+//
+// public SecurityUser() {
+// }
+//
+// public SecurityUser(User user) {
+// if (user != null) {
+// this.currentUserInfo = user;
+// }
+// }
+//
+// @Override
+// public Collection<? extends GrantedAuthority> getAuthorities() {
+// Collection<GrantedAuthority> authorities = new ArrayList<>();
+// for(String permissionValue : permissionValueList) {
+// if(StringUtils.isEmpty(permissionValue)) continue;
+// SimpleGrantedAuthority authority = new SimpleGrantedAuthority(permissionValue);
+// authorities.add(authority);
+// }
+//
+// return authorities;
+// }
+//
+// @Override
+// public String getPassword() {
+// return currentUserInfo.getPassword();
+// }
+//
+// @Override
+// public String getUsername() {
+// return currentUserInfo.getUsername();
+// }
+//
+// @Override
+// public boolean isAccountNonExpired() {
+// return true;
+// }
+//
+// @Override
+// public boolean isAccountNonLocked() {
+// return true;
+// }
+//
+// @Override
+// public boolean isCredentialsNonExpired() {
+// return true;
+// }
+//
+// @Override
+// public boolean isEnabled() {
+// return true;
+// }
+//}
+//
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/entity/User.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/entity/User.java
new file mode 100644
index 0000000..2e3ec7e
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/entity/User.java
@@ -0,0 +1,31 @@
+//package com.mes.entity;
+//
+//import io.swagger.annotations.ApiModel;
+//import io.swagger.annotations.ApiModelProperty;
+//import lombok.Data;
+//
+//import java.io.Serializable;
+//
+//@Data
+//@ApiModel(description = "鐢ㄦ埛瀹炰綋绫�")
+//public class User implements Serializable {
+//
+// private static final long serialVersionUID = 1L;
+//
+// @ApiModelProperty(value = "寰俊openid")
+// private String username;
+//
+// @ApiModelProperty(value = "瀵嗙爜")
+// private String password;
+//
+// @ApiModelProperty(value = "鏄电О")
+// private String nickName;
+//
+// @ApiModelProperty(value = "鐢ㄦ埛澶村儚")
+// private String salt;
+//
+// @ApiModelProperty(value = "鐢ㄦ埛绛惧悕")
+// private String token;
+//
+//}
+//
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenAuthFilter.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenAuthFilter.java
new file mode 100644
index 0000000..5b1fd72
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenAuthFilter.java
@@ -0,0 +1,60 @@
+//package com.mes.filter;
+//
+//import com.mes.security.TokenManager;
+//import org.springframework.data.redis.core.RedisTemplate;
+//import org.springframework.security.authentication.AuthenticationManager;
+//import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+//import org.springframework.security.core.GrantedAuthority;
+//import org.springframework.security.core.authority.SimpleGrantedAuthority;
+//import org.springframework.security.core.context.SecurityContextHolder;
+//import org.springframework.security.web.authentication.www.BasicAuthenticationFilter;
+//
+//import javax.servlet.FilterChain;
+//import javax.servlet.ServletException;
+//import javax.servlet.http.HttpServletRequest;
+//import javax.servlet.http.HttpServletResponse;
+//import java.io.IOException;
+//import java.util.ArrayList;
+//import java.util.Collection;
+//import java.util.List;
+//
+//public class TokenAuthFilter extends BasicAuthenticationFilter {
+//
+// private TokenManager tokenManager;
+// private RedisTemplate redisTemplate;
+// public TokenAuthFilter(AuthenticationManager authenticationManager,TokenManager tokenManager,RedisTemplate redisTemplate) {
+// super(authenticationManager);
+// this.tokenManager = tokenManager;
+// this.redisTemplate = redisTemplate;
+// }
+//
+// @Override
+// protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
+// //鑾峰彇褰撳墠璁よ瘉鎴愬姛鐢ㄦ埛鏉冮檺淇℃伅
+// UsernamePasswordAuthenticationToken authRequest = getAuthentication(request);
+// //鍒ゆ柇濡傛灉鏈夋潈闄愪俊鎭紝鏀惧埌鏉冮檺涓婁笅鏂囦腑
+// if(authRequest != null) {
+// SecurityContextHolder.getContext().setAuthentication(authRequest);
+// }
+// chain.doFilter(request,response);
+// }
+//
+// private UsernamePasswordAuthenticationToken getAuthentication(HttpServletRequest request) {
+// //浠巋eader鑾峰彇token
+// String token = request.getHeader("token");
+// if(token != null) {
+// //浠巘oken鑾峰彇鐢ㄦ埛鍚�
+// String username = tokenManager.getUserInfoFromToken(token);
+// //浠巖edis鑾峰彇瀵瑰簲鏉冮檺鍒楄〃
+// List<String> permissionValueList = (List<String>)redisTemplate.opsForValue().get(username);
+// Collection<GrantedAuthority> authority = new ArrayList<>();
+// for(String permissionValue : permissionValueList) {
+// SimpleGrantedAuthority auth = new SimpleGrantedAuthority(permissionValue);
+// authority.add(auth);
+// }
+// return new UsernamePasswordAuthenticationToken(username,token,authority);
+// }
+// return null;
+// }
+//
+//}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenLoginFilter.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenLoginFilter.java
new file mode 100644
index 0000000..d3f5f4c
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenLoginFilter.java
@@ -0,0 +1,74 @@
+//package com.mes.filter;
+//
+//import com.fasterxml.jackson.databind.ObjectMapper;
+//import com.mes.utils.Result;
+//import com.mes.entity.SecurityUser;
+//import com.mes.entity.User;
+//import com.mes.security.TokenManager;
+//import com.mes.utils.ResponseUtil;
+//import org.springframework.data.redis.core.RedisTemplate;
+//import org.springframework.security.authentication.AuthenticationManager;
+//import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+//import org.springframework.security.core.Authentication;
+//import org.springframework.security.core.AuthenticationException;
+//import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
+//import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
+//
+//import javax.servlet.FilterChain;
+//import javax.servlet.ServletException;
+//import javax.servlet.http.HttpServletRequest;
+//import javax.servlet.http.HttpServletResponse;
+//import java.io.IOException;
+//import java.util.ArrayList;
+//
+//public class TokenLoginFilter extends UsernamePasswordAuthenticationFilter {
+//
+// private TokenManager tokenManager;
+// private RedisTemplate redisTemplate;
+// private AuthenticationManager authenticationManager;
+//
+// public TokenLoginFilter(AuthenticationManager authenticationManager, TokenManager tokenManager, RedisTemplate redisTemplate) {
+// this.authenticationManager = authenticationManager;
+// this.tokenManager = tokenManager;
+// this.redisTemplate = redisTemplate;
+// this.setPostOnly(false);
+// this.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher("/admin/acl/login","POST"));
+// }
+//
+// //1 鑾峰彇琛ㄥ崟鎻愪氦鐢ㄦ埛鍚嶅拰瀵嗙爜
+// @Override
+// public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response)
+// throws AuthenticationException {
+// //鑾峰彇琛ㄥ崟鎻愪氦鏁版嵁
+// try {
+// User user = new ObjectMapper().readValue(request.getInputStream(), User.class);
+// return authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(user.getUsername(),user.getPassword(),
+// new ArrayList<>()));
+// } catch (IOException e) {
+// e.printStackTrace();
+// throw new RuntimeException();
+// }
+// }
+//
+// //2 璁よ瘉鎴愬姛璋冪敤鐨勬柟娉�
+// @Override
+// protected void successfulAuthentication(HttpServletRequest request,
+// HttpServletResponse response, FilterChain chain, Authentication authResult)
+// throws IOException, ServletException {
+// //璁よ瘉鎴愬姛锛屽緱鍒拌璇佹垚鍔熶箣鍚庣敤鎴蜂俊鎭�
+// SecurityUser user = (SecurityUser)authResult.getPrincipal();
+// //鏍规嵁鐢ㄦ埛鍚嶇敓鎴恡oken
+// String token = tokenManager.createToken(user.getCurrentUserInfo().getUsername());
+// //鎶婄敤鎴峰悕绉板拰鐢ㄦ埛鏉冮檺鍒楄〃鏀惧埌redis
+// redisTemplate.opsForValue().set(user.getCurrentUserInfo().getUsername(),user.getPermissionValueList());
+// //杩斿洖token
+// ResponseUtil.out(response, Result.success(token));
+// }
+//
+// //3 璁よ瘉澶辫触璋冪敤鐨勬柟娉�
+// @Override
+// protected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, AuthenticationException failed)
+// throws IOException, ServletException {
+// ResponseUtil.out(response, Result.error());
+// }
+//}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/DefaultPasswordEncoder.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/DefaultPasswordEncoder.java
new file mode 100644
index 0000000..fe7efc7
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/DefaultPasswordEncoder.java
@@ -0,0 +1,25 @@
+//package com.mes.security;
+//
+//import com.mes.utils.MD5;
+//import org.springframework.security.crypto.password.PasswordEncoder;
+//import org.springframework.stereotype.Component;
+//
+//@Component
+//public class DefaultPasswordEncoder implements PasswordEncoder {
+//
+// public DefaultPasswordEncoder() {
+// this(-1);
+// }
+// public DefaultPasswordEncoder(int strength) {
+// }
+// //杩涜MD5鍔犲瘑
+// @Override
+// public String encode(CharSequence charSequence) {
+// return MD5.encrypt(charSequence.toString());
+// }
+// //杩涜瀵嗙爜姣斿
+// @Override
+// public boolean matches(CharSequence charSequence, String encodedPassword) {
+// return encodedPassword.equals(MD5.encrypt(charSequence.toString()));
+// }
+//}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/TokenLogoutHandler.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/TokenLogoutHandler.java
new file mode 100644
index 0000000..e696abc
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/TokenLogoutHandler.java
@@ -0,0 +1,35 @@
+//package com.mes.security;
+//
+//import com.mes.utils.Result;
+//import com.mes.utils.ResponseUtil;
+//import org.springframework.data.redis.core.RedisTemplate;
+//import org.springframework.security.core.Authentication;
+//import org.springframework.security.web.authentication.logout.LogoutHandler;
+//
+//import javax.servlet.http.HttpServletRequest;
+//import javax.servlet.http.HttpServletResponse;
+//
+////閫�鍑哄鐞嗗櫒
+//public class TokenLogoutHandler implements LogoutHandler {
+// private TokenManager tokenManager;
+// private RedisTemplate redisTemplate;
+//
+// public TokenLogoutHandler(TokenManager tokenManager,RedisTemplate redisTemplate) {
+// this.tokenManager = tokenManager;
+// this.redisTemplate = redisTemplate;
+// }
+// @Override
+// public void logout(HttpServletRequest request, HttpServletResponse response, Authentication authentication) {
+// //1 浠巋eader閲岄潰鑾峰彇token
+// //2 token涓嶄负绌猴紝绉婚櫎token锛屼粠redis鍒犻櫎token
+// String token = request.getHeader("token");
+// if(token != null) {
+// //绉婚櫎
+// tokenManager.removeToken(token);
+// //浠巘oken鑾峰彇鐢ㄦ埛鍚�
+// String username = tokenManager.getUserInfoFromToken(token);
+// redisTemplate.delete(username);
+// }
+// ResponseUtil.out(response, Result.success());
+// }
+//}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/TokenManager.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/TokenManager.java
new file mode 100644
index 0000000..61cf3ee
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/TokenManager.java
@@ -0,0 +1,30 @@
+//package com.mes.security;
+//
+//import io.jsonwebtoken.CompressionCodecs;
+//import io.jsonwebtoken.Jwts;
+//import io.jsonwebtoken.SignatureAlgorithm;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.Date;
+//
+//@Component
+//public class TokenManager {
+// //token鏈夋晥鏃堕暱
+// private long tokenEcpiration = 24*60*60*1000;
+// //缂栫爜绉橀挜
+// private String tokenSignKey = "123456";
+// //1 浣跨敤jwt鏍规嵁鐢ㄦ埛鍚嶇敓鎴恡oken
+// public String createToken(String username) {
+// String token = Jwts.builder().setSubject(username)
+// .setExpiration(new Date(System.currentTimeMillis()+tokenEcpiration))
+// .signWith(SignatureAlgorithm.HS512, tokenSignKey).compressWith(CompressionCodecs.GZIP).compact();
+// return token;
+// }
+// //2 鏍规嵁token瀛楃涓插緱鍒扮敤鎴蜂俊鎭�
+// public String getUserInfoFromToken(String token) {
+// String userinfo = Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token).getBody().getSubject();
+// return userinfo;
+// }
+// //3 鍒犻櫎token
+// public void removeToken(String token) { }
+//}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/UnauthEntryPoint.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/UnauthEntryPoint.java
new file mode 100644
index 0000000..bc09439
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/security/UnauthEntryPoint.java
@@ -0,0 +1,18 @@
+//package com.mes.security;
+//
+//import com.mes.utils.Result;
+//import com.mes.utils.ResponseUtil;
+//import org.springframework.security.core.AuthenticationException;
+//import org.springframework.security.web.AuthenticationEntryPoint;
+//
+//import javax.servlet.ServletException;
+//import javax.servlet.http.HttpServletRequest;
+//import javax.servlet.http.HttpServletResponse;
+//import java.io.IOException;
+//
+//public class UnauthEntryPoint implements AuthenticationEntryPoint {
+// @Override
+// public void commence(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, AuthenticationException e) throws IOException, ServletException {
+// ResponseUtil.out(httpServletResponse, Result.error());
+// }
+//}
diff --git a/hangzhoumesParent/gateway/pom.xml b/hangzhoumesParent/gateway/pom.xml
new file mode 100644
index 0000000..5125cf1
--- /dev/null
+++ b/hangzhoumesParent/gateway/pom.xml
@@ -0,0 +1,31 @@
+<?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>hangzhoumesParent</artifactId>
+ <groupId>com.mes</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>gateway</artifactId>
+
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ </properties>
+ <dependencies>
+ <!-- 鏈嶅姟娉ㄥ唽/鍙戠幇-->
+ <dependency>
+ <groupId>com.alibaba.cloud</groupId>
+ <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.cloud</groupId>
+ <artifactId>spring-cloud-starter-gateway</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/hangzhoumesParent/gateway/src/main/java/com/mes/GateWayApplication.java b/hangzhoumesParent/gateway/src/main/java/com/mes/GateWayApplication.java
new file mode 100644
index 0000000..f1b5399
--- /dev/null
+++ b/hangzhoumesParent/gateway/src/main/java/com/mes/GateWayApplication.java
@@ -0,0 +1,20 @@
+package com.mes;
+
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/28 11:21
+ * @Description:
+ */
+@SpringBootApplication
+@EnableDiscoveryClient
+public class GateWayApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(GateWayApplication.class, args);
+ }
+}
diff --git a/hangzhoumesParent/gateway/src/main/resources/application.yml b/hangzhoumesParent/gateway/src/main/resources/application.yml
new file mode 100644
index 0000000..2e0b3d4
--- /dev/null
+++ b/hangzhoumesParent/gateway/src/main/resources/application.yml
@@ -0,0 +1,56 @@
+server:
+ port: 88
+spring:
+ application:
+ name: gateway
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ gateway:
+ discovery:
+ locator:
+ enabled: true
+ routes:
+ - id: cacheGlass
+ uri: lb://cacheGlass
+ predicates:
+ - Path=/api/cacheGlass/**
+ filters:
+ - StripPrefix=2
+
+ - id: cacheVerticalGlass
+ uri: http://127.0.0.1:8082
+ predicates:
+ - Path=/api/cacheVerticalGlass/**
+ filters:
+ - StripPrefix=2
+
+ - id: loadGlass
+ uri: http://127.0.0.1:8083
+ predicates:
+ - Path=/api/loadGlass/**
+ filters:
+ - StripPrefix=2
+
+ - id: temperingGlass
+ uri: http://127.0.0.1:8084
+ predicates:
+ - Path=/api/temperingGlass/**
+ filters:
+ - StripPrefix=2
+
+ - id: unLoadGlass
+ uri: http://127.0.0.1:8085
+ predicates:
+ - Path=/api/unLoadGlass/**
+ filters:
+ - StripPrefix=2
+
+# - id: unLoadGlass
+# uri: lb://unLoadGlass
+# predicates:
+# - Path=/unLoadGlass/**
+# filters:
+# - RewritePath=/unLoadGlass/(?<segment>.*), /$\{segment}
+
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml b/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
new file mode 100644
index 0000000..b5bc8a0
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/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>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>cacheGlass</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.mes</groupId>
+ <artifactId>servicebase</artifactId>
+ <version>1.0-SNAPSHOT</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/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
new file mode 100644
index 0000000..da046e0
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
@@ -0,0 +1,30 @@
+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 springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/25 10:49
+ * @Description:
+ */
+@Slf4j
+@SpringBootApplication
+@MapperScan("com.mes.*.mapper")
+@EnableDiscoveryClient
+@EnableSwagger2
+public class CacheGlassModuleApplication {
+
+ public static void main(String[] args) {
+ try {
+ SpringApplication.run(CacheGlassModuleApplication.class, args);
+ }catch (Exception e){
+ log.error(e.getMessage());
+ }
+
+ }
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java
new file mode 100644
index 0000000..4111dfe
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java
@@ -0,0 +1,36 @@
+package com.mes.common;
+
+import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.mes.tools.S7control;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/9 15:13
+ * @Description:
+ */
+public class S7object {
+ public S7control plccontrol; // PLC閫氳绫诲疄渚�
+ private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+ private String ip = "192.168.10.1"; // plc ip鍦板潃
+ private int port = 102; // plc 绔彛鍙�
+
+ private static volatile S7object instance = null;
+
+ private S7object() {
+ if (plccontrol == null) {
+ plccontrol = new S7control(plcType, ip, port,0,0);
+ }
+ }
+
+ // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+ public static S7object getinstance() {
+ if (instance == null) {
+ synchronized (S7object.class) {
+ if (instance == null) {
+ instance = new S7object();
+ }
+ }
+ }
+ return instance;
+ }
+}
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
new file mode 100644
index 0000000..020a22d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
@@ -0,0 +1,28 @@
+package com.mes.edgstoragecage.controller;
+
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/edgStorageCage")
+public class EdgStorageCageController {
+
+ //todo: 瀹炰緥浠g爜 寰呭垹闄�
+ @ApiOperation("娴嬭瘯")
+ @GetMapping("/index")
+ public String index() {
+ return "hello world";
+ }
+
+}
+
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageDetailsController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageDetailsController.java
new file mode 100644
index 0000000..088a7fd
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageDetailsController.java
@@ -0,0 +1,19 @@
+package com.mes.edgstoragecage.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/edgStorageCageDetails")
+public class EdgStorageCageDetailsController {
+
+}
+
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
new file mode 100644
index 0000000..66a1712
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java
@@ -0,0 +1,50 @@
+package com.mes.edgstoragecage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EdgStorageCage implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 纾ㄨ竟鍓嶇悊鐗囩琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 璁惧id
+ */
+ private Integer deviceId;
+
+ /**
+ * 鏍呮牸鍙�
+ */
+ private Integer slot;
+
+ /**
+ * 鍚敤鐘舵��
+ */
+ private String enableState;
+
+ /**
+ * 鍓╀綑
+ */
+ private Integer remainWidth;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java
new file mode 100644
index 0000000..b30af45
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java
@@ -0,0 +1,110 @@
+package com.mes.edgstoragecage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EdgStorageCageDetails implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 纾ㄨ竟鍓嶇悊鐗囩璇︽儏琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 璁惧id
+ */
+ private Integer deviceId;
+
+ /**
+ * 鏍呮牸鍙�
+ */
+ private Integer slot;
+
+ /**
+ * 鐜荤拑id
+ */
+ private Integer glassId;
+
+ /**
+ * 灏忕墖鍦ㄦ牸鍐呯殑椤哄簭
+ */
+ private Integer sequence;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String flowCardId;
+
+ /**
+ * 鐜荤拑绫诲瀷
+ */
+ private Integer glassType;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 纾ㄥ墠瀹�
+ */
+ private Double edgWidth;
+
+ /**
+ * 纾ㄥ墠楂�
+ */
+ private Double edgHeight;
+
+ /**
+ * 閽㈠寲鐗堝浘id
+ */
+ private Integer temperingLayoutId;
+
+ /**
+ * 閽㈠寲鐗堝浘鐗囧簭
+ */
+ private Integer temperingFeedSequence;
+
+ /**
+ * 鍘熺墖椤哄簭
+ */
+ private Integer patternSequence;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer state;
+
+ /**
+ * 鐜荤拑闂撮殭
+ */
+ private Integer gap;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java
new file mode 100644
index 0000000..22e7512
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java
@@ -0,0 +1,16 @@
+package com.mes.edgstoragecage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface EdgStorageCageDetailsMapper extends BaseMapper<EdgStorageCageDetails> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java
new file mode 100644
index 0000000..743808f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java
@@ -0,0 +1,16 @@
+package com.mes.edgstoragecage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.edgstoragecage.entity.EdgStorageCage;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface EdgStorageCageMapper extends BaseMapper<EdgStorageCage> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
new file mode 100644
index 0000000..5bf28ac
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
@@ -0,0 +1,16 @@
+package com.mes.edgstoragecage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface EdgStorageCageDetailsService extends IService<EdgStorageCageDetails> {
+
+}
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
new file mode 100644
index 0000000..0fb2faa
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
@@ -0,0 +1,16 @@
+package com.mes.edgstoragecage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.edgstoragecage.entity.EdgStorageCage;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface EdgStorageCageService extends IService<EdgStorageCage> {
+
+}
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
new file mode 100644
index 0000000..78a5a2e
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.edgstoragecage.service.impl;
+
+import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
+import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class EdgStorageCageDetailsServiceImpl extends ServiceImpl<EdgStorageCageDetailsMapper, EdgStorageCageDetails> implements EdgStorageCageDetailsService {
+
+}
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
new file mode 100644
index 0000000..245e2be
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.edgstoragecage.service.impl;
+
+import com.mes.edgstoragecage.entity.EdgStorageCage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
+import com.mes.edgstoragecage.service.EdgStorageCageService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class EdgStorageCageServiceImpl extends ServiceImpl<EdgStorageCageMapper, EdgStorageCage> implements EdgStorageCageService {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
new file mode 100644
index 0000000..cf3d9d1
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
@@ -0,0 +1,19 @@
+package com.mes.taskcache.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/taskCache")
+public class TaskCacheController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
new file mode 100644
index 0000000..1f3a632
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
@@ -0,0 +1,49 @@
+package com.mes.taskcache.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TaskCache implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID缂栧彿
+ */
+ @TableId("ID")
+ private String id;
+
+ /**
+ * 璧峰
+ */
+ private String startCell;
+
+ /**
+ * 鐩爣
+ */
+ private String endCell;
+
+ /**
+ * 浠诲姟绫诲瀷 1:杩� 2锛氬嚭
+ */
+ private String taskType;
+
+ /**
+ * 浠诲姟鐘舵�� 0 鏈紑濮� 1姝e湪杩涜 2瀹屾垚
+ */
+ private String taskStauts;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/TaskCacheMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/TaskCacheMapper.java
new file mode 100644
index 0000000..751feda
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/TaskCacheMapper.java
@@ -0,0 +1,16 @@
+package com.mes.taskcache.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.taskcache.entity.TaskCache;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface TaskCacheMapper extends BaseMapper<TaskCache> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
new file mode 100644
index 0000000..e57f663
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
@@ -0,0 +1,16 @@
+package com.mes.taskcache.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.taskcache.entity.TaskCache;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface TaskCacheService extends IService<TaskCache> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
new file mode 100644
index 0000000..87ba952
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.taskcache.service.impl;
+
+import com.mes.taskcache.entity.TaskCache;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.taskcache.mapper.TaskCacheMapper;
+import com.mes.taskcache.service.TaskCacheService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class TaskCacheServiceImpl extends ServiceImpl<TaskCacheMapper, TaskCache> implements TaskCacheService {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/controller/GlassInfoController.java
new file mode 100644
index 0000000..eaf8f44
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/controller/GlassInfoController.java
@@ -0,0 +1,19 @@
+package com.mes.temperingglass.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/glassInfo")
+public class GlassInfoController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/entity/GlassInfo.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/entity/GlassInfo.java
new file mode 100644
index 0000000..a54cb7b
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/entity/GlassInfo.java
@@ -0,0 +1,130 @@
+package com.mes.temperingglass.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class GlassInfo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鐜荤拑淇℃伅琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 娴佺▼鍗�
+ */
+ private String flowcardId;
+
+ /**
+ * 娴佺▼鍗$幓鐠冪被鍨�
+ */
+ private Integer glassType;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 鑶滅郴
+ */
+ private Integer filmsid;
+
+ /**
+ * 纾ㄥ墠瀹�
+ */
+ private Double edgWidth;
+
+ /**
+ * 纾ㄥ墠楂�
+ */
+ private Double edgHeight;
+
+ /**
+ * 鏄惁閰嶇墖
+ */
+ private Integer ismultiple;
+
+ /**
+ * 閰嶇墖鏈�澶у
+ */
+ private Double maxWidth;
+
+ /**
+ * 閰嶇墖鏈�澶ч珮
+ */
+ private Double maxHeight;
+
+ /**
+ * 閽㈠寲鏄惁鎺ュ彈妯斁
+ */
+ private Integer ishorizontal;
+
+ /**
+ * 鍘熺墖椤哄簭
+ */
+ private Integer patternSequence;
+
+ /**
+ * 閽㈠寲鐗堝浘id
+ */
+ private Integer temperingLayoutId;
+
+ /**
+ * 閽㈠寲鐗堝浘鐗囧簭
+ */
+ private Integer temperingFeedSequence;
+
+ /**
+ * x鍧愭爣
+ */
+ private Integer xCoordinate;
+
+ /**
+ * y鍧愭爣
+ */
+ private Integer yCoordinate;
+
+ /**
+ * 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
+ */
+ private Integer angle;
+
+ /**
+ * 宸ョ▼鍙�
+ */
+ private Integer engineerId;
+
+ /**
+ * 鐢熶骇瑙勫垯id
+ */
+ private Integer ruleId;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/mapper/GlassInfoMapper.java
new file mode 100644
index 0000000..d3a8177
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/mapper/GlassInfoMapper.java
@@ -0,0 +1,16 @@
+package com.mes.temperingglass.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.temperingglass.entity.GlassInfo;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface GlassInfoMapper extends BaseMapper<GlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/service/GlassInfoService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/service/GlassInfoService.java
new file mode 100644
index 0000000..b68e13d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/service/GlassInfoService.java
@@ -0,0 +1,16 @@
+package com.mes.temperingglass.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.temperingglass.entity.GlassInfo;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface GlassInfoService extends IService<GlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/service/impl/GlassInfoServiceImpl.java
new file mode 100644
index 0000000..3b487ff
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/temperingglass/service/impl/GlassInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.temperingglass.service.impl;
+
+import com.mes.temperingglass.entity.GlassInfo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.temperingglass.mapper.GlassInfoMapper;
+import com.mes.temperingglass.service.GlassInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class GlassInfoServiceImpl extends ServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
new file mode 100644
index 0000000..437e3eb
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -0,0 +1,25 @@
+server:
+ port: 8081
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
+ username: root
+ password: beibo.123/
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ application:
+ name: cacheGlass
+ redis:
+ database: 0
+ host: 192.168.56.10
+ port: 6379
+ password:
+ session:
+ store-type: redis
+mybatis-plus:
+ mapper-locations: classpath*:mapper/*.xml
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
new file mode 100644
index 0000000..9593dcd
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
@@ -0,0 +1,26 @@
+package com.mes;
+
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.Arrays;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/27 16:37
+ * @Description:
+ */
+@Slf4j
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = CacheGlassModuleApplication.class)
+public class CacheGlassModuleApplicationTest {
+
+
+ @Test
+ public void testFindPath() {
+ log.info("瀹屾暣璺緞锛歿}", Arrays.asList("123"));
+ }
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
new file mode 100644
index 0000000..f5d5404
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
@@ -0,0 +1,19 @@
+<?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>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>cacheVerticalGlass</artifactId>
+
+ <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/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java
new file mode 100644
index 0000000..263f81a
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java
@@ -0,0 +1,30 @@
+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 springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/25 10:49
+ * @Description:
+ */
+@Slf4j
+@SpringBootApplication
+@EnableSwagger2
+@EnableDiscoveryClient
+@MapperScan(basePackages = "com.mes.*.mapper")
+public class CacheVerticalClassModuleApplication {
+
+ public static void main(String[] args) {
+ try {
+ SpringApplication.run(CacheVerticalClassModuleApplication.class, args);
+ }catch (Exception e){
+ log.error(e.getMessage());
+ }
+
+ }
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
new file mode 100644
index 0000000..746b3ed
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
@@ -0,0 +1,29 @@
+package com.mes.bigstorage.controller;
+
+
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@RestController
+@RequestMapping("/bigStorageCage")
+public class BigStorageCageController {
+
+ //todo: 瀹炰緥浠g爜 寰呭垹闄�
+ @ApiOperation("娴嬭瘯")
+ @GetMapping("/index")
+ public String index() {
+ return "hello world";
+ }
+}
+
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
new file mode 100644
index 0000000..2dfc440
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -0,0 +1,21 @@
+package com.mes.bigstorage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@RestController
+@RequestMapping("/bigStorageCageDetails")
+public class BigStorageCageDetailsController {
+
+}
+
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
new file mode 100644
index 0000000..76fcb26
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
@@ -0,0 +1,50 @@
+package com.mes.bigstorage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BigStorageCage implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 澶х悊鐗囩琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 璁惧id
+ */
+ private Integer deviceId;
+
+ /**
+ * 鏍呮牸鍙�
+ */
+ private Integer slot;
+
+ /**
+ * 鍚敤鐘舵��
+ */
+ private String enableState;
+
+ /**
+ * 鍓╀綑瀹藉害
+ */
+ private Integer remainWidth;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
new file mode 100644
index 0000000..029d7e0
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
@@ -0,0 +1,95 @@
+package com.mes.bigstorage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BigStorageCageDetails implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 澶х悊鐗囩璇︽儏琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 璁惧id
+ */
+ private Integer deviceId;
+
+ /**
+ * 鏍呮牸鍙�
+ */
+ private Integer slot;
+
+ /**
+ * 鐜荤拑id
+ */
+ private String glassId;
+
+ /**
+ * 灏忕墖鍦ㄦ牸鍐呯殑椤哄簭
+ */
+ private Integer sequence;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String flowCardId;
+
+ /**
+ * 鐜荤拑绫诲瀷
+ */
+ private Integer glassType;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 閽㈠寲鐗堝浘id
+ */
+ private Integer temperingLayoutId;
+
+ /**
+ * 閽㈠寲鐗堝浘鐗囧簭
+ */
+ private Integer temperingFeedSequence;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer state;
+
+ /**
+ * 鐜荤拑闂撮殭
+ */
+ private Integer gap;
+
+
+}
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
new file mode 100644
index 0000000..852e1f5
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
@@ -0,0 +1,17 @@
+package com.mes.bigstorage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.bigstorage.entity.BigStorageCageDetails;
+
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface BigStorageCageDetailsMapper extends BaseMapper<BigStorageCageDetails> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
new file mode 100644
index 0000000..22a9d7b
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
@@ -0,0 +1,16 @@
+package com.mes.bigstorage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.bigstorage.entity.BigStorageCage;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface BigStorageCageMapper extends BaseMapper<BigStorageCage> {
+
+}
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
new file mode 100644
index 0000000..ef46c59
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -0,0 +1,16 @@
+package com.mes.bigstorage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.bigstorage.entity.BigStorageCageDetails;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface BigStorageCageDetailsService extends IService<BigStorageCageDetails> {
+
+}
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
new file mode 100644
index 0000000..00df15c
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
@@ -0,0 +1,16 @@
+package com.mes.bigstorage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.bigstorage.entity.BigStorageCage;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface BigStorageCageService extends IService<BigStorageCage> {
+
+}
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
new file mode 100644
index 0000000..8949518
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.bigstorage.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
+import com.mes.bigstorage.service.BigStorageCageDetailsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class BigStorageCageDetailsServiceImpl extends ServiceImpl<BigStorageCageDetailsMapper, BigStorageCageDetails> implements BigStorageCageDetailsService {
+
+}
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
new file mode 100644
index 0000000..4c88df2
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.bigstorage.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.bigstorage.entity.BigStorageCage;
+import com.mes.bigstorage.mapper.BigStorageCageMapper;
+import com.mes.bigstorage.service.BigStorageCageService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class BigStorageCageServiceImpl extends ServiceImpl<BigStorageCageMapper, BigStorageCage> implements BigStorageCageService {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
new file mode 100644
index 0000000..3178446
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -0,0 +1,21 @@
+package com.mes.temperingglass.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@RestController
+@RequestMapping("/temperingGlassInfo")
+public class TemperingGlassInfoController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
new file mode 100644
index 0000000..3f6b0c9
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
@@ -0,0 +1,95 @@
+package com.mes.temperingglass.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TemperingGlassInfo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 閽㈠寲灏忕墖淇℃伅琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 娴佺▼鍗�
+ */
+ private String flowcardId;
+
+ /**
+ * 娴佺▼鍗$幓鐠冪被鍨�
+ */
+ private Integer glassType;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 鑶滅郴
+ */
+ private Integer filmsid;
+
+ /**
+ * 閽㈠寲鏄惁鎺ュ彈妯斁
+ */
+ private Integer ishorizontal;
+
+ /**
+ * 閽㈠寲鐗堝浘id
+ */
+ private Integer temperingLayoutId;
+
+ /**
+ * 閽㈠寲鐗堝浘鐗囧簭
+ */
+ private Integer temperingFeedSequence;
+
+ /**
+ * x鍧愭爣
+ */
+ private Integer xCoordinate;
+
+ /**
+ * y鍧愭爣
+ */
+ private Integer yCoordinate;
+
+ /**
+ * 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
+ */
+ private Integer angle;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer state;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
new file mode 100644
index 0000000..ccf5a4b
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
@@ -0,0 +1,16 @@
+package com.mes.temperingglass.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface TemperingGlassInfoMapper extends BaseMapper<TemperingGlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
new file mode 100644
index 0000000..69d497c
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
@@ -0,0 +1,16 @@
+package com.mes.temperingglass.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface TemperingGlassInfoService extends IService<TemperingGlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
new file mode 100644
index 0000000..e233e1a
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.temperingglass.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class TemperingGlassInfoServiceImpl extends ServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingGlassInfoService {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
new file mode 100644
index 0000000..fe7ec7c
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
@@ -0,0 +1,21 @@
+package com.mes.uppattenusage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@RestController
+@RequestMapping("/glassInfo")
+public class GlassInfoController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
new file mode 100644
index 0000000..948b3a4
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
@@ -0,0 +1,130 @@
+package com.mes.uppattenusage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class GlassInfo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鐜荤拑淇℃伅琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 娴佺▼鍗�
+ */
+ private String flowcardId;
+
+ /**
+ * 娴佺▼鍗$幓鐠冪被鍨�
+ */
+ private Integer glassType;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 鑶滅郴
+ */
+ private Integer filmsid;
+
+ /**
+ * 纾ㄥ墠瀹�
+ */
+ private Double edgWidth;
+
+ /**
+ * 纾ㄥ墠楂�
+ */
+ private Double edgHeight;
+
+ /**
+ * 鏄惁閰嶇墖
+ */
+ private Integer ismultiple;
+
+ /**
+ * 閰嶇墖鏈�澶у
+ */
+ private Double maxWidth;
+
+ /**
+ * 閰嶇墖鏈�澶ч珮
+ */
+ private Double maxHeight;
+
+ /**
+ * 閽㈠寲鏄惁鎺ュ彈妯斁
+ */
+ private Integer ishorizontal;
+
+ /**
+ * 鍘熺墖椤哄簭
+ */
+ private Integer patternSequence;
+
+ /**
+ * 閽㈠寲鐗堝浘id
+ */
+ private Integer temperingLayoutId;
+
+ /**
+ * 閽㈠寲鐗堝浘鐗囧簭
+ */
+ private Integer temperingFeedSequence;
+
+ /**
+ * x鍧愭爣
+ */
+ private Integer xCoordinate;
+
+ /**
+ * y鍧愭爣
+ */
+ private Integer yCoordinate;
+
+ /**
+ * 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
+ */
+ private Integer angle;
+
+ /**
+ * 宸ョ▼鍙�
+ */
+ private Integer engineerId;
+
+ /**
+ * 鐢熶骇瑙勫垯id
+ */
+ private Integer ruleId;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
new file mode 100644
index 0000000..6acb270
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
@@ -0,0 +1,16 @@
+package com.mes.uppattenusage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.uppattenusage.entity.GlassInfo;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface GlassInfoMapper extends BaseMapper<GlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
new file mode 100644
index 0000000..8e380d7
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
@@ -0,0 +1,16 @@
+package com.mes.uppattenusage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.uppattenusage.entity.GlassInfo;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface GlassInfoService extends IService<GlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
new file mode 100644
index 0000000..7bab2ad
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.uppattenusage.service.impl;
+
+import com.mes.uppattenusage.entity.GlassInfo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.uppattenusage.mapper.GlassInfoMapper;
+import com.mes.uppattenusage.service.GlassInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class GlassInfoServiceImpl extends ServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
new file mode 100644
index 0000000..a537ded
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -0,0 +1,23 @@
+server:
+ port: 8082
+
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
+ username: root
+ password: beibo.123/
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ application:
+ name: cacheVerticalGlass
+ redis:
+ database: 0
+ host: 192.168.56.10
+ port: 6379
+mybatis-plus:
+ mapper-locations: classpath*:mapper/*.xml
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/pom.xml b/hangzhoumesParent/moduleService/LoadGlassModule/pom.xml
new file mode 100644
index 0000000..6f6eee9
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/pom.xml
@@ -0,0 +1,19 @@
+<?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>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>loadGlass</artifactId>
+
+ <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/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
new file mode 100644
index 0000000..b47e3e7
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
@@ -0,0 +1,29 @@
+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 springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/8 13:26
+ * @Description:
+ */
+@Slf4j
+@SpringBootApplication
+@EnableSwagger2
+@EnableDiscoveryClient
+@MapperScan(basePackages = "com.mes.*.mapper")
+public class LoadGlassModuleApplication {
+ public static void main(String[] args) {
+ try {
+ SpringApplication.run(LoadGlassModuleApplication.class, args);
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ }
+
+ }
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
new file mode 100644
index 0000000..30648bf
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -0,0 +1,27 @@
+package com.mes.temperingglass.controller;
+
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/temperingGlassInfo")
+public class TemperingGlassInfoController {
+
+ //todo: 瀹炰緥浠g爜 寰呭垹闄�
+ @ApiOperation("娴嬭瘯")
+ @GetMapping("/index")
+ public String index() {
+ return "hello world";
+ }
+}
+
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
new file mode 100644
index 0000000..808d6dc
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
@@ -0,0 +1,96 @@
+package com.mes.temperingglass.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TemperingGlassInfo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 閽㈠寲灏忕墖淇℃伅琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 娴佺▼鍗�
+ */
+ private String flowcardId;
+
+ /**
+ * 娴佺▼鍗$幓鐠冪被鍨�
+ */
+ private Integer glassType;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 鑶滅郴
+ */
+ private Integer filmsid;
+
+ /**
+ * 閽㈠寲鏄惁鎺ュ彈妯斁
+ */
+ private Integer ishorizontal;
+
+ /**
+ * 閽㈠寲鐗堝浘id
+ */
+ private Integer temperingLayoutId;
+
+ /**
+ * 閽㈠寲鐗堝浘鐗囧簭
+ */
+ private Integer temperingFeedSequence;
+
+ /**
+ * x鍧愭爣
+ */
+ private Integer xCoordinate;
+
+ /**
+ * y鍧愭爣
+ */
+ private Integer yCoordinate;
+
+ /**
+ * 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
+ */
+ private Integer angle;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer state;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
new file mode 100644
index 0000000..f8d3860
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
@@ -0,0 +1,16 @@
+package com.mes.temperingglass.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface TemperingGlassInfoMapper extends BaseMapper<TemperingGlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
new file mode 100644
index 0000000..0ce1942
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
@@ -0,0 +1,16 @@
+package com.mes.temperingglass.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface TemperingGlassInfoService extends IService<TemperingGlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
new file mode 100644
index 0000000..d34064a
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.temperingglass.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class TemperingGlassInfoServiceImpl extends ServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingGlassInfoService {
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
new file mode 100644
index 0000000..49e6d15
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
@@ -0,0 +1,21 @@
+package com.mes.uppattenusage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/upPattenUsage")
+public class UpPattenUsageController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java
new file mode 100644
index 0000000..8cb7a31
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java
@@ -0,0 +1,65 @@
+package com.mes.uppattenusage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class UpPattenUsage implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鍘熺墖浣跨敤鎯呭喌琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 宸ョ▼鍙�
+ */
+ private Integer engineeringId;
+
+ /**
+ * 鑶滅郴id
+ */
+ private Integer filmsId;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 鍘熺墖鐗堝浘鐗囧簭
+ */
+ private Integer layoutSequence;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer state;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java
new file mode 100644
index 0000000..fda84e4
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java
@@ -0,0 +1,16 @@
+package com.mes.uppattenusage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface UpPattenUsageMapper extends BaseMapper<UpPattenUsage> {
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
new file mode 100644
index 0000000..55fb773
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
@@ -0,0 +1,16 @@
+package com.mes.uppattenusage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface UpPattenUsageService extends IService<UpPattenUsage> {
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
new file mode 100644
index 0000000..008b424
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.uppattenusage.service.impl;
+
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
+import com.mes.uppattenusage.service.UpPattenUsageService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class UpPattenUsageServiceImpl extends ServiceImpl<UpPattenUsageMapper, UpPattenUsage> implements UpPattenUsageService {
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/UpWorkstationController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/UpWorkstationController.java
new file mode 100644
index 0000000..9a41288
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/UpWorkstationController.java
@@ -0,0 +1,21 @@
+package com.mes.upworkstation.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/upWorkstation")
+public class UpWorkstationController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/entity/UpWorkstation.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/entity/UpWorkstation.java
new file mode 100644
index 0000000..88e5523
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/entity/UpWorkstation.java
@@ -0,0 +1,75 @@
+package com.mes.upworkstation.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class UpWorkstation implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婄墖宸ヤ綅琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 宸ヤ綅鍙�
+ */
+ private Integer workstationId;
+
+ /**
+ * 璁惧id
+ */
+ private Integer deviceId;
+
+ /**
+ * 鍚敤鐘舵��
+ */
+ private Integer enableState;
+
+ /**
+ * 宸ヤ綔鐘舵��
+ */
+ private Integer workState;
+
+ /**
+ * 鍘熺墖瀹�
+ */
+ private Double patternWidth;
+
+ /**
+ * 鍘熺墖楂�
+ */
+ private Double patternHeigth;
+
+ /**
+ * 鍘熺墖鍘氬害
+ */
+ private Double patternThickness;
+
+ /**
+ * 鑶滅郴
+ */
+ private Integer filmsId;
+
+ /**
+ * 鏁伴噺
+ */
+ private Integer number;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/UpWorkstationMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/UpWorkstationMapper.java
new file mode 100644
index 0000000..333d195
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/UpWorkstationMapper.java
@@ -0,0 +1,16 @@
+package com.mes.upworkstation.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.upworkstation.entity.UpWorkstation;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface UpWorkstationMapper extends BaseMapper<UpWorkstation> {
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/UpWorkstationService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/UpWorkstationService.java
new file mode 100644
index 0000000..369db83
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/UpWorkstationService.java
@@ -0,0 +1,16 @@
+package com.mes.upworkstation.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.upworkstation.entity.UpWorkstation;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface UpWorkstationService extends IService<UpWorkstation> {
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/impl/UpWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/impl/UpWorkstationServiceImpl.java
new file mode 100644
index 0000000..22ed61b
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/impl/UpWorkstationServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.upworkstation.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.upworkstation.entity.UpWorkstation;
+import com.mes.upworkstation.mapper.UpWorkstationMapper;
+import com.mes.upworkstation.service.UpWorkstationService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class UpWorkstationServiceImpl extends ServiceImpl<UpWorkstationMapper, UpWorkstation> implements UpWorkstationService {
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
new file mode 100644
index 0000000..9bc95ce
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
@@ -0,0 +1,23 @@
+server:
+ port: 8083
+
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
+ username: root
+ password: beibo.123/
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ application:
+ name: loadGlass
+ redis:
+ database: 0
+ host: 192.168.56.10
+ port: 6379
+mybatis-plus:
+ mapper-locations: classpath*:mapper/*.xml
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml b/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml
new file mode 100644
index 0000000..5820052
--- /dev/null
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml
@@ -0,0 +1,19 @@
+<?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>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>temperingGlass</artifactId>
+
+ <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/TemperingGlassModule/src/main/java/com/mes/TemperingGlassModuleApplication.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/TemperingGlassModuleApplication.java
new file mode 100644
index 0000000..489df44
--- /dev/null
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/TemperingGlassModuleApplication.java
@@ -0,0 +1,29 @@
+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 springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/8 13:26
+ * @Description:
+ */
+@Slf4j
+@SpringBootApplication
+@EnableSwagger2
+@EnableDiscoveryClient
+@MapperScan(basePackages = "com.mes.*.mapper")
+public class TemperingGlassModuleApplication {
+ public static void main(String[] args) {
+ try {
+ SpringApplication.run(TemperingGlassModuleApplication.class, args);
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ }
+
+ }
+}
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
new file mode 100644
index 0000000..30648bf
--- /dev/null
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -0,0 +1,27 @@
+package com.mes.temperingglass.controller;
+
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/temperingGlassInfo")
+public class TemperingGlassInfoController {
+
+ //todo: 瀹炰緥浠g爜 寰呭垹闄�
+ @ApiOperation("娴嬭瘯")
+ @GetMapping("/index")
+ public String index() {
+ return "hello world";
+ }
+}
+
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
new file mode 100644
index 0000000..ba66fca
--- /dev/null
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
@@ -0,0 +1,95 @@
+package com.mes.temperingglass.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TemperingGlassInfo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 閽㈠寲灏忕墖淇℃伅琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 娴佺▼鍗�
+ */
+ private String flowcardId;
+
+ /**
+ * 娴佺▼鍗$幓鐠冪被鍨�
+ */
+ private Integer glassType;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 鑶滅郴
+ */
+ private Integer filmsid;
+
+ /**
+ * 閽㈠寲鏄惁鎺ュ彈妯斁
+ */
+ private Integer ishorizontal;
+
+ /**
+ * 閽㈠寲鐗堝浘id
+ */
+ private Integer temperingLayoutId;
+
+ /**
+ * 閽㈠寲鐗堝浘鐗囧簭
+ */
+ private Integer temperingFeedSequence;
+
+ /**
+ * x鍧愭爣
+ */
+ private Integer xCoordinate;
+
+ /**
+ * y鍧愭爣
+ */
+ private Integer yCoordinate;
+
+ /**
+ * 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
+ */
+ private Integer angle;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer state;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
new file mode 100644
index 0000000..f8d3860
--- /dev/null
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
@@ -0,0 +1,16 @@
+package com.mes.temperingglass.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface TemperingGlassInfoMapper extends BaseMapper<TemperingGlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
new file mode 100644
index 0000000..0ce1942
--- /dev/null
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
@@ -0,0 +1,16 @@
+package com.mes.temperingglass.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface TemperingGlassInfoService extends IService<TemperingGlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
new file mode 100644
index 0000000..d34064a
--- /dev/null
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.temperingglass.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class TemperingGlassInfoServiceImpl extends ServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingGlassInfoService {
+
+}
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
new file mode 100644
index 0000000..9cc9488
--- /dev/null
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
@@ -0,0 +1,22 @@
+server:
+ port: 8084
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
+ username: root
+ password: beibo.123/
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ application:
+ name: temperingGlass
+ redis:
+ database: 0
+ host: 192.168.56.10
+ port: 6379
+mybatis-plus:
+ mapper-locations: classpath*:mapper/*.xml
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
new file mode 100644
index 0000000..4bf831d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
@@ -0,0 +1,19 @@
+<?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>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>unLoadGlass</artifactId>
+
+ <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/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
new file mode 100644
index 0000000..361d74e
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
@@ -0,0 +1,20 @@
+package com.mes;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/7 14:36
+ * @Description:
+ */
+@SpringBootApplication
+@EnableDiscoveryClient
+@MapperScan(basePackages = "com.mes.*.mapper")
+public class UnLoadGlassApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(UnLoadGlassApplication.class, args);
+ }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
new file mode 100644
index 0000000..b678660
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
@@ -0,0 +1,30 @@
+package com.mes.downglassinfo.controller;
+
+
+import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.service.DownGlassInfoService;
+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.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Api(tags = "涓嬫枡淇℃伅")
+@RestController
+@RequestMapping("/downGlassInfo")
+public class DownGlassInfoController {
+
+
+}
+
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
new file mode 100644
index 0000000..b96214d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
@@ -0,0 +1,35 @@
+package com.mes.downglassinfo.controller;
+
+
+import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.downworkstation.service.DownWorkstationService;
+import com.mes.uppattenusage.service.GlassInfoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Api(tags = "涓嬫枡浠诲姟")
+@RestController
+@RequestMapping("/downGlassTask")
+public class DownGlassTaskController {
+
+ //todo: 瀹炰緥浠g爜 寰呭垹闄�
+ @ApiOperation("娴嬭瘯")
+ @GetMapping("/index")
+ public String index() {
+ return "hello world";
+ }
+}
+
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
new file mode 100644
index 0000000..3aa224c
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
@@ -0,0 +1,52 @@
+package com.mes.downglassinfo.entity;
+
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DownGlassInfo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓嬬墖鐜荤拑淇℃伅琛╥d
+ */
+ private Integer id;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String flowCardId;
+
+ /**
+ * 椤哄簭
+ */
+ private Integer sequence;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+
+}
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
new file mode 100644
index 0000000..6f70c14
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
@@ -0,0 +1,75 @@
+package com.mes.downglassinfo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DownGlassTask implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 璧峰
+ */
+ private String startCell;
+
+ /**
+ * 鐩爣
+ */
+ private String endCell;
+
+ /**
+ * 浠诲姟绫诲瀷 1:杩� 2锛氬嚭
+ */
+ private String taskType;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鑶滅郴
+ */
+ private String filmsid;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String flowCardId;
+
+ /**
+ * 浠诲姟鐘舵�� 0 鏈紑濮� 1姝e湪杩涜 2瀹屾垚
+ */
+ private Integer taskStauts;
+
+
+}
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
new file mode 100644
index 0000000..7762f75
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
@@ -0,0 +1,16 @@
+package com.mes.downglassinfo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downglassinfo.entity.DownGlassInfo;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
new file mode 100644
index 0000000..159421b
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
@@ -0,0 +1,16 @@
+package com.mes.downglassinfo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downglassinfo.entity.DownGlassTask;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface DownGlassTaskMapper extends BaseMapper<DownGlassTask> {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
new file mode 100644
index 0000000..37b6795
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
@@ -0,0 +1,16 @@
+package com.mes.downglassinfo.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.downglassinfo.entity.DownGlassInfo;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface DownGlassInfoService extends IService<DownGlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
new file mode 100644
index 0000000..db99ff9
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
@@ -0,0 +1,16 @@
+package com.mes.downglassinfo.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.downglassinfo.entity.DownGlassTask;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface DownGlassTaskService extends IService<DownGlassTask> {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
new file mode 100644
index 0000000..9e972ba
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.downglassinfo.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
+import com.mes.downglassinfo.service.DownGlassInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class DownGlassInfoServiceImpl extends ServiceImpl<DownGlassInfoMapper, DownGlassInfo> implements DownGlassInfoService {
+
+}
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
new file mode 100644
index 0000000..1fb724b
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
@@ -0,0 +1,21 @@
+package com.mes.downglassinfo.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downglassinfo.entity.DownGlassTask;
+import com.mes.downglassinfo.mapper.DownGlassTaskMapper;
+import com.mes.downglassinfo.service.DownGlassTaskService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class DownGlassTaskServiceImpl extends ServiceImpl<DownGlassTaskMapper, DownGlassTask> implements DownGlassTaskService {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java
new file mode 100644
index 0000000..4f8253b
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java
@@ -0,0 +1,21 @@
+package com.mes.downstorage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@RestController
+@RequestMapping("/downStorageCage")
+public class DownStorageCageController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
new file mode 100644
index 0000000..bf31d83
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
@@ -0,0 +1,21 @@
+package com.mes.downstorage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@RestController
+@RequestMapping("/downStorageCageDetails")
+public class DownStorageCageDetailsController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java
new file mode 100644
index 0000000..833e9d8
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java
@@ -0,0 +1,50 @@
+package com.mes.downstorage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DownStorageCage implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓嬬墖鍓嶇悊鐗囩琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 璁惧id
+ */
+ private Integer deviceId;
+
+ /**
+ * 鏍呮牸鍙�
+ */
+ private Integer slot;
+
+ /**
+ * 鍚敤鐘舵��
+ */
+ private String enableState;
+
+ /**
+ * 鍓╀綑
+ */
+ private Integer remainWidth;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
new file mode 100644
index 0000000..a24f392
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
@@ -0,0 +1,95 @@
+package com.mes.downstorage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DownStorageCageDetails implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓嬬墖鍓嶇悊鐗囩鏄庣粏琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 璁惧id
+ */
+ private Integer deviceId;
+
+ /**
+ * 鏍呮牸鍙�
+ */
+ private Integer slot;
+
+ /**
+ * 鐜荤拑id
+ */
+ private Integer glassId;
+
+ /**
+ * 灏忕墖鍦ㄦ牸鍐呯殑椤哄簭
+ */
+ private Integer sequence;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String flowCardId;
+
+ /**
+ * 鐜荤拑绫诲瀷
+ */
+ private Integer glassType;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 閽㈠寲鐗堝浘id
+ */
+ private Integer temperingLayoutId;
+
+ /**
+ * 閽㈠寲鐗堝浘鐗囧簭
+ */
+ private Integer temperingFeedSequence;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer state;
+
+ /**
+ * 鐜荤拑闂撮殭
+ */
+ private Integer gap;
+
+
+}
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
new file mode 100644
index 0000000..e8c5d15
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
@@ -0,0 +1,16 @@
+package com.mes.downstorage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface DownStorageCageDetailsMapper extends BaseMapper<DownStorageCageDetails> {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageMapper.java
new file mode 100644
index 0000000..7e42ee7
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageMapper.java
@@ -0,0 +1,16 @@
+package com.mes.downstorage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downstorage.entity.DownStorageCage;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface DownStorageCageMapper extends BaseMapper<DownStorageCage> {
+
+}
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
new file mode 100644
index 0000000..1dfaec9
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
@@ -0,0 +1,16 @@
+package com.mes.downstorage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface DownStorageCageDetailsService extends IService<DownStorageCageDetails> {
+
+}
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
new file mode 100644
index 0000000..588071f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
@@ -0,0 +1,16 @@
+package com.mes.downstorage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.downstorage.entity.DownStorageCage;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface DownStorageCageService extends IService<DownStorageCage> {
+
+}
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
new file mode 100644
index 0000000..b28c67a
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.downstorage.service.impl;
+
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
+import com.mes.downstorage.service.DownStorageCageDetailsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class DownStorageCageDetailsServiceImpl extends ServiceImpl<DownStorageCageDetailsMapper, DownStorageCageDetails> implements DownStorageCageDetailsService {
+
+}
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
new file mode 100644
index 0000000..1ace668
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.downstorage.service.impl;
+
+import com.mes.downstorage.entity.DownStorageCage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downstorage.mapper.DownStorageCageMapper;
+import com.mes.downstorage.service.DownStorageCageService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
+
+}
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
new file mode 100644
index 0000000..d46e65e
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
@@ -0,0 +1,21 @@
+package com.mes.downworkstation.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@RestController
+@RequestMapping("/downWorkstation")
+public class DownWorkstationController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
new file mode 100644
index 0000000..713d8db
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
@@ -0,0 +1,21 @@
+package com.mes.downworkstation.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/downWorkstationTask")
+public class DownWorkstationTaskController {
+
+}
+
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
new file mode 100644
index 0000000..40e582f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
@@ -0,0 +1,55 @@
+package com.mes.downworkstation.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DownWorkstation implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓嬬墖宸ヤ綅琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 宸ヤ綅id
+ */
+ private Integer workstationId;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String flowCardId;
+
+ /**
+ * 璁惧id
+ */
+ private Integer deviceId;
+
+ /**
+ * 鍚敤鐘舵��
+ */
+ private Integer enableState;
+
+ /**
+ * 宸ヤ綔鐘舵��
+ */
+ private Integer workState;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java
new file mode 100644
index 0000000..54fe265
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java
@@ -0,0 +1,60 @@
+package com.mes.downworkstation.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DownWorkstationTask implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鑶滅郴
+ */
+ private String filmsid;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String flowCardId;
+
+ /**
+ * 浠诲姟鐘舵��
+ */
+ private Integer state;
+
+
+}
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
new file mode 100644
index 0000000..b8ddac6
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
@@ -0,0 +1,16 @@
+package com.mes.downworkstation.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downworkstation.entity.DownWorkstation;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface DownWorkstationMapper extends BaseMapper<DownWorkstation> {
+
+}
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
new file mode 100644
index 0000000..076b258
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
@@ -0,0 +1,16 @@
+package com.mes.downworkstation.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downworkstation.entity.DownWorkstationTask;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface DownWorkstationTaskMapper extends BaseMapper<DownWorkstationTask> {
+
+}
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
new file mode 100644
index 0000000..968ca6e
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
@@ -0,0 +1,16 @@
+package com.mes.downworkstation.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.downworkstation.entity.DownWorkstation;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface DownWorkstationService extends IService<DownWorkstation> {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
new file mode 100644
index 0000000..a60ce62
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
@@ -0,0 +1,16 @@
+package com.mes.downworkstation.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.downworkstation.entity.DownWorkstationTask;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface DownWorkstationTaskService extends IService<DownWorkstationTask> {
+
+}
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
new file mode 100644
index 0000000..0cedd56
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.downworkstation.service.impl;
+
+import com.mes.downworkstation.entity.DownWorkstation;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downworkstation.mapper.DownWorkstationMapper;
+import com.mes.downworkstation.service.DownWorkstationService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class DownWorkstationServiceImpl extends ServiceImpl<DownWorkstationMapper, DownWorkstation> implements DownWorkstationService {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
new file mode 100644
index 0000000..5814861
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.downworkstation.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downworkstation.entity.DownWorkstationTask;
+import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
+import com.mes.downworkstation.service.DownWorkstationTaskService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class DownWorkstationTaskServiceImpl extends ServiceImpl<DownWorkstationTaskMapper, DownWorkstationTask> implements DownWorkstationTaskService {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
new file mode 100644
index 0000000..66adb58
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
@@ -0,0 +1,20 @@
+package com.mes.uppattenusage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@RestController
+@RequestMapping("/glassInfo")
+public class GlassInfoController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
new file mode 100644
index 0000000..3c6eb37
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
@@ -0,0 +1,131 @@
+package com.mes.uppattenusage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class GlassInfo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鐜荤拑淇℃伅琛╥d
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 娴佺▼鍗�
+ */
+ private String flowcardId;
+
+ /**
+ * 娴佺▼鍗$幓鐠冪被鍨�
+ */
+ private Integer glassType;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 鍘氬害
+ */
+ private Double thickness;
+
+ /**
+ * 鑶滅郴
+ */
+ private Integer filmsid;
+
+ /**
+ * 纾ㄥ墠瀹�
+ */
+ private Double edgWidth;
+
+ /**
+ * 纾ㄥ墠楂�
+ */
+ private Double edgHeight;
+
+ /**
+ * 鏄惁閰嶇墖
+ */
+ private Integer ismultiple;
+
+ /**
+ * 閰嶇墖鏈�澶у
+ */
+ private Double maxWidth;
+
+ /**
+ * 閰嶇墖鏈�澶ч珮
+ */
+ private Double maxHeight;
+
+ /**
+ * 閽㈠寲鏄惁鎺ュ彈妯斁
+ */
+ private Integer ishorizontal;
+
+ /**
+ * 鍘熺墖椤哄簭
+ */
+ private Integer patternSequence;
+
+ /**
+ * 閽㈠寲鐗堝浘id
+ */
+ private Integer temperingLayoutId;
+
+ /**
+ * 閽㈠寲鐗堝浘鐗囧簭
+ */
+ private Integer temperingFeedSequence;
+
+ /**
+ * x鍧愭爣
+ */
+ private Integer xCoordinate;
+
+ /**
+ * y鍧愭爣
+ */
+ private Integer yCoordinate;
+
+ /**
+ * 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
+ */
+ private Integer angle;
+
+ /**
+ * 宸ョ▼鍙�
+ */
+ private Integer engineerId;
+
+ /**
+ * 鐢熶骇瑙勫垯id
+ */
+ private Integer ruleId;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
new file mode 100644
index 0000000..6acb270
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
@@ -0,0 +1,16 @@
+package com.mes.uppattenusage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.uppattenusage.entity.GlassInfo;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface GlassInfoMapper extends BaseMapper<GlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
new file mode 100644
index 0000000..8e380d7
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
@@ -0,0 +1,16 @@
+package com.mes.uppattenusage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.uppattenusage.entity.GlassInfo;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface GlassInfoService extends IService<GlassInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
new file mode 100644
index 0000000..ec38a54
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.uppattenusage.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.uppattenusage.mapper.GlassInfoMapper;
+import com.mes.uppattenusage.service.GlassInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class GlassInfoServiceImpl extends ServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
new file mode 100644
index 0000000..609b5bf
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
@@ -0,0 +1,23 @@
+server:
+ port: 8085
+
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
+ username: root
+ password: beibo.123/
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ application:
+ name: unLoadGlass
+ redis:
+ database: 0
+ host: 192.168.56.10
+ port: 6379
+mybatis-plus:
+ mapper-locations: classpath*:mapper/*.xml
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/pom.xml b/hangzhoumesParent/moduleService/pom.xml
new file mode 100644
index 0000000..c5d8ab6
--- /dev/null
+++ b/hangzhoumesParent/moduleService/pom.xml
@@ -0,0 +1,61 @@
+<?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>hangzhoumesParent</artifactId>
+ <groupId>com.mes</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>moduleService</artifactId>
+ <packaging>pom</packaging>
+ <modules>
+ <module>CacheGlassModule</module>
+ <module>CacheVerticalGlassModule</module>
+ <module>LoadGlassModule</module>
+ <module>TemperingGlassModule</module>
+ <module>UnLoadGlassModule</module>
+ </modules>
+
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ </properties>
+ <dependencies>
+ <!--web 闇�瑕佸惎鍔ㄩ」鐩�-->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.velocity</groupId>
+ <artifactId>velocity-engine-core</artifactId>
+ <version>2.0</version>
+ </dependency>
+
+ <!--渚濊禆鏈嶅姟鐨勫伐鍏风被-->
+ <dependency>
+ <groupId>com.mes</groupId>
+ <artifactId>common</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+
+ <!--寮�鍙戣�呭伐鍏�-->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-devtools</artifactId>
+ <optional>true</optional>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/hangzhoumesParent/pom.xml b/hangzhoumesParent/pom.xml
new file mode 100644
index 0000000..d0f498c
--- /dev/null
+++ b/hangzhoumesParent/pom.xml
@@ -0,0 +1,73 @@
+<?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">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>com.mes</groupId>
+ <artifactId>hangzhoumesParent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <modules>
+ <module>common</module>
+ <module>moduleService</module>
+ <module>gateway</module>
+ </modules>
+ <packaging>pom</packaging>
+
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>2.1.8.RELEASE</version>
+ </parent>
+
+ <properties>
+ <!-- 璺宠繃娴嬭瘯 -->
+ <skipTests>true</skipTests>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework.cloud</groupId>
+ <artifactId>spring-cloud-dependencies</artifactId>
+ <version>Greenwich.SR3</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.alibaba.cloud</groupId>
+ <artifactId>spring-cloud-alibaba-dependencies</artifactId>
+ <version>2.1.0.RELEASE</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <repositories>
+ <repository>
+ <id>nexus-aliyun</id>
+ <name>Nexus aliyun</name>
+ <layout>default</layout>
+ <url>https://maven.aliyun.com/repository/public</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>spring</id>
+ <url>https://maven.aliyun.com/repository/spring</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
+
+</project>
\ No newline at end of file
diff --git a/hangzhoumesParent/readMe.md b/hangzhoumesParent/readMe.md
new file mode 100644
index 0000000..7b29abf
--- /dev/null
+++ b/hangzhoumesParent/readMe.md
@@ -0,0 +1,23 @@
+1銆佹湰椤圭洰鏄熀浜嶴pringBoot+Mybatis-plus+Mysql+Vue+ElementUI+Maven+Nginx鐨勯」鐩�,鐩綍缁撴灉缁撴瀯濡備笅锛�
+
+ 鈹溾攢src
+ 鈹溾攢com 鎻掍欢鐢熸垚鐨勪唬鐮侊紝鐢ㄤ簬鍚勮嚜寮�鍙戜娇鐢�
+ 鈹� 鈹斺攢mes
+ 鈹溾攢common 鍏叡妯″潡
+ 鈹� 鈹溾攢src
+ 鈹斺攢moduleService
+ 鈹溾攢-CacheGlassModule
+ 鈹溾攢-CacheVerticalGlassModule
+ 鈹溾攢-LoadGlassModule
+ 鈹溾攢-TemperingGlassModule
+ 鈹斺攢-UnLoadGlassModule
+2銆佽繍琛岄」鐩細
+ 1銆佸惎鍔ㄩ」鐩細鍚姩鍚勮嚜妯″潡鍚姩绫� 渚嬪锛欳acheGlassModuleApplication.java#main()
+ 2銆佽闂」鐩細
+ 3銆侀」鐩湴鍧�锛歨ttp://localhost:8081/mesModuleCache/doc.html#/home
+ 4銆侀」鐩鏄庯細 鏈晫闈负Api鏂囨。锛屽叕寮�浜哄憳鐢ㄤ簬璋冭瘯
+3銆侀」鐩鏄庯細
+ 1銆侀」鐩垎涓哄叕鍏辨ā鍧梒ommon锛屼笟鍔℃ā鍧梞oduleService銆�
+ 2銆乧ommon妯″潡涓寘鍚叕鍏辩殑绫伙紝渚嬪锛氬叕鍏辩殑瀹炰綋绫汇�佹嫤鎴櫒銆佸伐鍏风被銆佸父閲忕被銆佸紓甯稿鐞嗙瓑銆�
+ 3銆乵oduleService涓寘鍚悇涓笟鍔℃ā鍧楋紝姣忎釜涓氬姟妯″潡涓寘鍚竴涓惎鍔ㄧ被,寮�鍙戜汉鍛橀渶瑕佸紑鍙戝悇鑷礋璐g殑涓氬姟妯″潡銆�
+ 4銆乧om鐩綍涓嬬殑鏂囦欢涓烘彃浠剁敓鎴愮殑浠g爜锛岀敤浜庡悇鑷紑鍙戜娇鐢ㄣ�傜敤瀹屽垹闄ゅ嵆鍙紝閬垮厤褰卞搷寮�鍙戙��
\ No newline at end of file
--
Gitblit v1.8.0