严智鑫
2024-09-05 7da8422f45751fffd5666a0260196a3d9605b7dc
前后端基础框架带(登录,账户管理,角色权限)
367个文件已添加
29817 ■■■■■ 已修改文件
.idea/.gitignore 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/JiuMuMES.iml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/compiler.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/encodings.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/jarRepositories.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/misc.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/modules.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/uiDesigner.xml 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/vcs.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/.idea/.gitignore 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/.idea/compiler.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/.idea/encodings.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/.idea/jarRepositories.xml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/.idea/libraries/servicebase_1_0_SNAPSHOT.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/.idea/libraries/springsecurity_1_0_SNAPSHOT.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/.idea/misc.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/.idea/uiDesigner.xml 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/.idea/vcs.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/JsonFile/PlcCacheGlass.json 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/JsonFile/PlcCacheVerticalGlass.json 377 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/JsonFile/PlcLoadGlass.json 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/JsonFile/PlcdownGlass.json 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/pom.xml 217 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/pom.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/servicebase1.iml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/config/Swagger2Config.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/exception/GlobalExceptionHandler.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/exception/ServiceException.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/handler/MyMetaObjectHandler.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java 274 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/entity/request/GeneralRequest.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/Communication.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/ModbusTcp.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/PlcAgreement.java 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/PlcParameter.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/HexConversion.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java 465 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/utils/HexUtil.java 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/utils/ResponseUtil.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/utils/Result.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/src/main/resources/banner.txt 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/target/classes/banner.txt 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/target/maven-archiver/pom.properties 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/pom.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/springsecurity1.iml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAccessDeniedHandler.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAuthenticationEntryPoint.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtLogoutSuccessHandler.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginFailureHandler.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginSuccessHandler.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/utils/FastJsonRedisSerializer.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/utils/JwtUtil.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/utils/RedisUtil.java 235 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/utils/UserInfoUtils.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/utils/WebUtils.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/menu/entity/SysMenu.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRole.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/entity/vo/SysRoleVO.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMenuMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleMenuService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleService.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleMenuServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/controller/SysUserController.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/LoginUser.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUser.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUserRole.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/vo/SysUserVO.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserRoleMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserRoleService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserService.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserRoleServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java 271 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/resources/application-dev.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/resources/application-loc.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/resources/application-prod.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/src/main/resources/mapper/SysMenuMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/target/classes/application-dev.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/target/classes/application-loc.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/target/classes/application-prod.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/target/classes/mapper/SysMenuMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/target/maven-archiver/pom.properties 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/common/springsecurity/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/gateway/gateway1.iml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/gateway/pom.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/gateway/src/main/java/com/mes/GateWayApplication.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/gateway/src/main/java/com/mes/config/MyCorsConfig.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/gateway/src/main/resources/application.yml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/gateway/target/classes/application.yml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/gateway/target/gateway-1.0-SNAPSHOT.jar.original 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/gateway/target/maven-archiver/pom.properties 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/cacheGlass/web_debug.log 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/cacheGlass/web_error.log 695 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/cacheGlass/web_info.log 611 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/cacheGlass/web_warn.log 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-error-2024-09-03.0.log 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-error-2024-09-04.0.log 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-info-2024-09-03.0.log 672 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-info-2024-09-04.0.log 493 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-warn-2024-09-03.0.log 325 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-warn-2024-09-04.0.log 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web_debug.log 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web_error.log 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web_info.log 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web_warn.log 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/pom.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/DeviceInteractionModuleApplication.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7object.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/SmbTool.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/CacheGlassTask.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/AccountController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/EdgeGrindingLogController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/EquipmentLogController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/GlassInfoController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/MenuController.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/OrderOriginalPieceController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PageController.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/ProjectController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/ProjectLogController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/RoleController.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/RoleMenuController.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/TaskLogController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/TaskingController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/WorkTaskDetailController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Account.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/EdgeGrindingLog.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/EquipmentLog.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/GlassInfo.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Menu.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/OrderOriginalPiece.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Page.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/PrimitiveTask.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Project.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/ProjectLog.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Role.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/RoleMenu.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/TaskLog.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Tasking.java 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/WorkTaskDetail.java 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/AccountMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/EdgeGrindingLogMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/EquipmentLogMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/GlassInfoMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/MenuMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/OrderOriginalPieceMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/PageMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/PrimitiveTaskMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/ProjectLogMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/ProjectMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/RoleMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/RoleMenuMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/TaskLogMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/TaskingMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/WorkTaskDetailMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/AccountMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/EdgeGrindingLogMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/EquipmentLogMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/GlassInfoMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/MenuMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/OrderOriginalPieceMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/PageMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/PrimitiveTaskMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/ProjectLogMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/ProjectMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/RoleMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/RoleMenuMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/TaskLogMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/TaskingMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/WorkTaskDetailMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/AccountService.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/EdgeGrindingLogService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/EquipmentLogService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/GlassInfoService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/MenuService.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/OrderOriginalPieceService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/PageService.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/PrimitiveTaskService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/ProjectLogService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/ProjectService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/RoleMenuService.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/RoleService.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/TaskLogService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/TaskingService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/WorkTaskDetailService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/AccountServiceImpl.java 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/EdgeGrindingLogServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/EquipmentLogServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/GlassInfoServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/MenuServiceImpl.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/OrderOriginalPieceServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/PageServiceImpl.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/PrimitiveTaskServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/ProjectLogServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/ProjectServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/RoleMenuServiceImpl.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/RoleServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskLogServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/WorkTaskDetailServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/main.iml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/JsonFile/PlcCacheGlass.json 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-cz.yml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-dev.yml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-prod.yml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application.yml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/logback-spring.xml 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/DeviceInteractionModuleApplicationTest.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/test.iml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/JsonFile/PlcCacheGlass.json 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-cz.yml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-dev.yml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-prod.yml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application.yml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/logback-spring.xml 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/deviceInteraction-1.0-SNAPSHOT.jar.original 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-archiver/pom.properties 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/moduleService/pom.xml 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/pom.xml 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
JiuMuMesParent/readMe.md 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/.gitignore 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/.vscode/extensions.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/README.md 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/auto-imports.d.ts 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/config.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/index.html 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/package-lock.json 3682 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/package.json 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/public/favicon.ico 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/public/vuefavicon.ico 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/App.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/1.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/11.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/2.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/3.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/88.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/9.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/aaa.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/background.jpg 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/base.css 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/bigcar01.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/cp.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/d1.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/d1a.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/d2.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/d3.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/dipan.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/dlpl.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/dlpl9.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/dlpla.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/dpxsa.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/emi.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/img.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/logo.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/lp.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/lp9.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/lpa.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/lpa9.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/lpl.jpg 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/lpla.jpg 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/main.css 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/northGlass.ico 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/s.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/shangpian.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/shangpianji.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/sz.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/taimian.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/user.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/woshihuancun.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/xmjc.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/xmjclzh.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/ypcc.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/assets/ypccche.png 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/hook/index.js 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/companyInfo.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/en.js 302 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/index.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/zh.js 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/layout/MainErpView.vue 377 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/main.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/router/index.js 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/stores/counter.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/stores/sd/product/productGlassType.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/stores/tableData.js 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/stores/userInfo.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/utils/WebSocketService.js 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/utils/api.js 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/utils/constants.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/utils/deepClone.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/utils/request.js 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/utils/unloadrequest.js 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/HomeView.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/LoginView.vue 243 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Permissions/permissionslist.vue 419 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/RegisterView.vue 235 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue 212 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/UnLoadGlass.rar 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/UnLoadGlass.zip 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/User/menu.vue 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/User/page.vue 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/User/permissions.vue 455 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/User/user.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/User/userlist.vue 355 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/mm/purchaseOrder/Create.vue 724 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/mm/purchaseOrder/CreateHeader.vue 739 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/mm/purchaseOrder/Details.vue 453 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/mm/purchaseOrder/Payment.vue 354 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/mm/purchaseOrder/PurchaseOrder.vue 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/mm/purchaseOrder/Return.vue 593 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/mm/purchaseOrder/Select.vue 917 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/mm/purchaseOrder/Storage.vue 603 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/vite.config.js 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/vue.config.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/deviceInteraction/web-error-2024-09-04.0.log 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/deviceInteraction/web-info-2024-09-04.0.log 643 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/deviceInteraction/web-warn-2024-09-04.0.log 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/deviceInteraction/web_debug.log 补丁 | 查看 | 原始文档 | blame | 历史
logs/deviceInteraction/web_error.log 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/deviceInteraction/web_info.log 695 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/deviceInteraction/web_warn.log 280 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/.gitignore
New file
@@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
.idea/JiuMuMES.iml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$" />
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>
.idea/compiler.xml
New file
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CompilerConfiguration">
    <annotationProcessing>
      <profile default="true" name="Default" enabled="true" />
      <profile name="Maven default annotation processors profile" enabled="true">
        <sourceOutputDir name="target/generated-sources/annotations" />
        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
        <outputRelativeToContentRoot value="true" />
        <module name="springsecurity" />
        <module name="servicebase" />
        <module name="deviceInteraction" />
        <module name="gateway" />
      </profile>
    </annotationProcessing>
  </component>
  <component name="JavacSettings">
    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
      <module name="deviceInteraction" options="-parameters" />
      <module name="gateway" options="-parameters" />
      <module name="servicebase" options="-parameters" />
      <module name="springsecurity" options="-parameters" />
    </option>
  </component>
</project>
.idea/encodings.xml
New file
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Encoding">
    <file url="file://$PROJECT_DIR$/JiuMuMesParent/common/servicebase/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/JiuMuMesParent/common/springsecurity/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/JiuMuMesParent/common/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/JiuMuMesParent/common/src/main/resources" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/JiuMuMesParent/gateway/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/JiuMuMesParent/moduleService/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/JiuMuMesParent/moduleService/src/main/resources" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/JiuMuMesParent/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/JiuMuMesParent/src/main/resources" charset="UTF-8" />
  </component>
</project>
.idea/jarRepositories.xml
New file
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="RemoteRepositoriesConfiguration">
    <remote-repository>
      <option name="id" value="central" />
      <option name="name" value="Central Repository" />
      <option name="url" value="https://repo.maven.apache.org/maven2" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="central" />
      <option name="name" value="Maven Central repository" />
      <option name="url" value="https://repo1.maven.org/maven2" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="jboss.community" />
      <option name="name" value="JBoss Community repository" />
      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="nexus-aliyun" />
      <option name="name" value="Nexus aliyun" />
      <option name="url" value="https://maven.aliyun.com/repository/public" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="spring" />
      <option name="name" value="spring" />
      <option name="url" value="https://maven.aliyun.com/repository/spring" />
    </remote-repository>
  </component>
</project>
.idea/misc.xml
New file
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ExternalStorageConfigurationManager" enabled="true" />
  <component name="MavenProjectsManager">
    <option name="originalFiles">
      <list>
        <option value="$PROJECT_DIR$/JiuMuMesParent/pom.xml" />
        <option value="$PROJECT_DIR$/JiuMuMesParent/common/springsecurity/pom.xml" />
      </list>
    </option>
  </component>
  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/out" />
  </component>
</project>
.idea/modules.xml
New file
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ProjectModuleManager">
    <modules>
      <module fileurl="file://$PROJECT_DIR$/.idea/JiuMuMES.iml" filepath="$PROJECT_DIR$/.idea/JiuMuMES.iml" />
    </modules>
  </component>
</project>
.idea/uiDesigner.xml
New file
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Palette2">
    <group name="Swing">
      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
      </item>
      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
        <initial-values>
          <property name="text" value="Button" />
        </initial-values>
      </item>
      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="RadioButton" />
        </initial-values>
      </item>
      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="CheckBox" />
        </initial-values>
      </item>
      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="Label" />
        </initial-values>
      </item>
      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
          <preferred-size width="-1" height="20" />
        </default-constraints>
      </item>
      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
      </item>
    </group>
  </component>
</project>
.idea/vcs.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="VcsDirectoryMappings">
    <mapping directory="" vcs="Git" />
    <mapping directory="$PROJECT_DIR$/jiumu" vcs="Git" />
  </component>
</project>
JiuMuMesParent/.idea/.gitignore
New file
@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
JiuMuMesParent/.idea/compiler.xml
New file
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CompilerConfiguration">
    <annotationProcessing>
      <profile default="true" name="Default" enabled="true" />
      <profile name="Maven default annotation processors profile" enabled="true">
        <sourceOutputDir name="target/generated-sources/annotations" />
        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
        <outputRelativeToContentRoot value="true" />
        <module name="servicebase" />
        <module name="springsecurity" />
        <module name="gateway" />
        <module name="cacheGlass" />
      </profile>
    </annotationProcessing>
    <bytecodeTargetLevel>
      <module name="cacheVerticalGlass" target="1.8" />
      <module name="glassStorage" target="1.8" />
      <module name="loadGlass" target="1.8" />
      <module name="temperingGlass" target="1.8" />
      <module name="unLoadGlass" target="1.8" />
    </bytecodeTargetLevel>
  </component>
  <component name="JavacSettings">
    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
      <module name="cacheGlass" options="-parameters" />
      <module name="cacheVerticalGlass" options="-parameters" />
      <module name="gateway" options="-parameters" />
      <module name="glassStorage" options="-parameters" />
      <module name="loadGlass" options="-parameters" />
      <module name="servicebase" options="-parameters" />
      <module name="springsecurity" options="-parameters" />
      <module name="temperingGlass" options="-parameters" />
      <module name="unLoadGlass" options="-parameters" />
    </option>
  </component>
</project>
JiuMuMesParent/.idea/encodings.xml
New file
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Encoding">
    <file url="file://$PROJECT_DIR$/common/servicebase/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/common/springsecurity/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/common/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/common/src/main/resources" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/gateway/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/moduleService/CacheGlassModule/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/moduleService/CacheVerticalGlassModule/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/moduleService/GlassStorageModule/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/moduleService/LoadGlassModule/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/moduleService/TemperingGlassModule/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/moduleService/UnLoadGlassModule/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/moduleService/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/moduleService/src/main/resources" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/../../Work/北玻/apache-maven-3.3.9/repository/org/springframework/boot/spring-boot-starter-parent/2.1.8.RELEASE/src/main/resources" charset="UTF-8" />
  </component>
</project>
JiuMuMesParent/.idea/jarRepositories.xml
New file
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="RemoteRepositoriesConfiguration">
    <remote-repository>
      <option name="id" value="central" />
      <option name="name" value="Central Repository" />
      <option name="url" value="https://repo.maven.apache.org/maven2" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="central" />
      <option name="name" value="Maven Central repository" />
      <option name="url" value="https://repo1.maven.org/maven2" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="central" />
      <option name="name" value="Central Repository" />
      <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="jboss.community" />
      <option name="name" value="JBoss Community repository" />
      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="nexus-aliyun" />
      <option name="name" value="Nexus aliyun" />
      <option name="url" value="https://maven.aliyun.com/repository/public" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="spring" />
      <option name="name" value="spring" />
      <option name="url" value="https://maven.aliyun.com/repository/spring" />
    </remote-repository>
  </component>
</project>
JiuMuMesParent/.idea/libraries/servicebase_1_0_SNAPSHOT.xml
New file
@@ -0,0 +1,9 @@
<component name="libraryTable">
  <library name="servicebase-1.0-SNAPSHOT">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/common/servicebase/target/servicebase-1.0-SNAPSHOT.jar!/" />
    </CLASSES>
    <JAVADOC />
    <SOURCES />
  </library>
</component>
JiuMuMesParent/.idea/libraries/springsecurity_1_0_SNAPSHOT.xml
New file
@@ -0,0 +1,9 @@
<component name="libraryTable">
  <library name="springsecurity-1.0-SNAPSHOT">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/common/springsecurity/target/springsecurity-1.0-SNAPSHOT.jar!/" />
    </CLASSES>
    <JAVADOC />
    <SOURCES />
  </library>
</component>
JiuMuMesParent/.idea/misc.xml
New file
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ExternalStorageConfigurationManager" enabled="true" />
  <component name="MavenProjectsManager">
    <option name="originalFiles">
      <list>
        <option value="$PROJECT_DIR$/pom.xml" />
      </list>
    </option>
    <option name="ignoredFiles">
      <set>
        <option value="$PROJECT_DIR$/moduleService/CacheVerticalGlassModule/pom.xml" />
      </set>
    </option>
  </component>
  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>
JiuMuMesParent/.idea/uiDesigner.xml
New file
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Palette2">
    <group name="Swing">
      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
      </item>
      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
        <initial-values>
          <property name="text" value="Button" />
        </initial-values>
      </item>
      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="RadioButton" />
        </initial-values>
      </item>
      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="CheckBox" />
        </initial-values>
      </item>
      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="Label" />
        </initial-values>
      </item>
      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
          <preferred-size width="-1" height="20" />
        </default-constraints>
      </item>
      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
      </item>
    </group>
  </component>
</project>
JiuMuMesParent/.idea/vcs.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="VcsDirectoryMappings">
    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
  </component>
</project>
JiuMuMesParent/JsonFile/PlcCacheGlass.json
New file
@@ -0,0 +1,64 @@
{
   "plcAddressBegin":"DB11.0",
   "plcAddressLenght":"80",
   "dataType":"word",
   "parameteInfor":[
      {
         "codeId": "A06_request_word",
         "addressIndex":"0",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"m/min"
      },
      {
          "codeId": "A05_scanning_ID",
          "addressIndex":"2",
          "addressLenght":"30",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "Current_slot",
          "addressIndex":"36",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
        {
          "codeId": "MES_confirmation_word",
          "addressIndex":"38",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "A08_glass_status",
          "addressIndex":"68",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "A10_glass_status",
          "addressIndex":"70",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "A09_prohibit_film_production",
          "addressIndex":"72",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       }
       ,
       {
          "codeId": "A10_prohibit_film_production",
          "addressIndex":"74",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       }
   ]
}
JiuMuMesParent/JsonFile/PlcCacheVerticalGlass.json
New file
@@ -0,0 +1,377 @@
{
    "plcAddressBegin": "DB14.0",
    "plcAddressLenght": "938",
    "dataType": "word",
    "parameteInfor": [{
            "codeId": "D01ID",
            "addressIndex": "0",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D02ID",
            "addressIndex": "32",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D03ID1",
            "addressIndex": "64",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D03ID2",
            "addressIndex": "96",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D03ID3",
            "addressIndex": "128",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D03ID4",
            "addressIndex": "160",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D03ID5",
            "addressIndex": "192",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D03ID6",
            "addressIndex": "224",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D04ID",
            "addressIndex": "256",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D05ID1",
            "addressIndex": "288",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D05ID2",
            "addressIndex": "328",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D05ID3",
            "addressIndex": "352",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D05ID4",
            "addressIndex": "384",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D05ID5",
            "addressIndex": "416",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D05ID6",
            "addressIndex": "448",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E01ID1",
            "addressIndex": "480",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E01ID2",
            "addressIndex": "512",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E01ID3",
            "addressIndex": "544",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E01ID4",
            "addressIndex": "576",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E01ID5",
            "addressIndex": "608",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E01ID6",
            "addressIndex": "640",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E02ID1",
            "addressIndex": "672",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E02ID2",
            "addressIndex": "704",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E02ID3",
            "addressIndex": "736",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E02ID4",
            "addressIndex": "768",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E02ID5",
            "addressIndex": "800",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E02ID6",
            "addressIndex": "832",
            "addressLenght": "32",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D03ToMES",
            "addressIndex": "874",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D05ToMES",
            "addressIndex": "876",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D01ToMES",
            "addressIndex": "878",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D04ToMES",
            "addressIndex": "880",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "MESToD03",
            "addressIndex": "888",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "MESToD05",
            "addressIndex": "890",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "MESToPLC",
            "addressIndex": "892",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "StartAddToImport1",
            "addressIndex": "914",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "StartAddToImport2",
            "addressIndex": "916",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "StartAddToImport3",
            "addressIndex": "918",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "StartAddToImport4",
            "addressIndex": "920",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "StartAddToImport5",
            "addressIndex": "922",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "StartAddToImport6",
            "addressIndex": "924",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "TargetAddToImport1",
            "addressIndex": "926",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "TargetAddToImport2",
            "addressIndex": "928",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "TargetAddToImport3",
            "addressIndex": "930",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "TargetAddToImport4",
            "addressIndex": "932",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "TargetAddToImport5",
            "addressIndex": "934",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "TargetAddToImport6",
            "addressIndex": "936",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "deviceState",
            "addressIndex": "864",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E01State",
            "addressIndex": "866",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "E02State",
            "addressIndex": "868",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D03State",
            "addressIndex": "870",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "D05State",
            "addressIndex": "872",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "MESToD01",
            "addressIndex": "894",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        },
        {
            "codeId": "MESToD04",
            "addressIndex": "896",
            "addressLenght": "2",
            "ratio": "1",
            "unit": ""
        }
    ]
}
JiuMuMesParent/JsonFile/PlcLoadGlass.json
New file
@@ -0,0 +1,78 @@
{
  "plcAddressBegin":"DB1.2000",
  "plcAddressLenght":"100",
  "dataType":"word",
  "parameteInfor":[
    {
      "codeId": "loadRequest",
      "addressIndex":"0",
      "addressLenght":"2",
      "ratio":"1",
      "unit":"m/min"
    },
    {
      "codeId": "PlcStatus",
      "addressIndex":"10",
      "addressLenght":"2",
      "ratio":"1",
      "unit":""
    },
    {
      "codeId": "MesToPlc",
      "addressIndex":"20",
      "addressLenght":"2",
      "ratio":"1",
      "unit":""
    },
    {
      "codeId": "InkageStatus",
      "addressIndex":"22",
      "addressLenght":"2",
      "ratio":"1",
      "unit":""
    },
    {
      "codeId": "WorkId",
      "addressIndex":"24",
      "addressLenght":"2",
      "ratio":"1",
      "unit":""
    },
    {
      "codeId": "GlassWidth",
      "addressIndex":"26",
      "addressLenght":"2",
      "ratio":"1",
      "unit":""
    },
    {
      "codeId": "GlassHeight",
      "addressIndex":"28",
      "addressLenght":"2",
      "ratio":"1",
      "unit":""
    }
  ,
    {
      "codeId": "MesToPlcStatus",
      "addressIndex":"40",
      "addressLenght":"2",
      "ratio":"1",
      "unit":""
    },
    {
      "codeId": "MesToPlcStatusId",
      "addressIndex":"42",
      "addressLenght":"2",
      "ratio":"1",
      "unit":""
    },
    {
      "codeId": "MesTaskStatus",
      "addressIndex":"56",
      "addressLenght":"2",
      "ratio":"1",
      "unit":""
    }
  ]
}
JiuMuMesParent/JsonFile/PlcdownGlass.json
New file
@@ -0,0 +1,144 @@
{
    "plcAddressBegin": "DB11.0",
    "plcAddressLenght": "100",
    "dataType": "word",
    "parameteInfor": [
        {
            "codeId": "requestWord",
            "addressIndex": "0",
            "addressLenght": "2"
        },
        {
            "codeId": "requestID",
            "addressIndex": "2",
            "addressLenght": "30"
        },
        {
            "codeId": "currentCell",
            "addressIndex": "32",
            "addressLenght": "2"
        },
        {
            "codeId": "glassStatus08",
            "addressIndex": "36",
            "addressLenght": "2"
        },
        {
            "codeId": "G06_glass_status",
            "addressIndex": "40",
            "addressLenght": "2"
        },
        {
            "codeId": "G11_glass_status",
            "addressIndex": "42",
            "addressLenght": "2"
        },
        {
            "codeId": "G13_glass_status",
            "addressIndex": "44",
            "addressLenght": "2"
        },
        {
            "codeId": "G04_error_status",
            "addressIndex": "48",
            "addressLenght": "2"
        },
        {
            "codeId": "G05_error_status",
            "addressIndex": "50",
            "addressLenght": "2"
        },
        {
            "codeId": "G06_error_status",
            "addressIndex": "52",
            "addressLenght": "2"
        },
        {
            "codeId": "robot_error_status",
            "addressIndex": "54",
            "addressLenght": "2"
        },
        {
            "codeId": "G08_error_status",
            "addressIndex": "56",
            "addressLenght": "2"
        },
        {
            "codeId": "G09_error_status",
            "addressIndex": "58",
            "addressLenght": "2"
        },
        {
            "codeId": "G10_error_status",
            "addressIndex": "60",
            "addressLenght": "2"
        },
        {
            "codeId": "G11_error_status",
            "addressIndex": "62",
            "addressLenght": "2"
        },
        {
            "codeId": "robot_error_status",
            "addressIndex": "64",
            "addressLenght": "2"
        },
        {
            "codeId": "G13_error_status",
            "addressIndex": "66",
            "addressLenght": "2"
        },
        {
            "codeId": "confirmationWord",
            "addressIndex": "72",
            "addressLenght": "2"
        },
        {
            "codeId": "G06_prohibit_film_production",
            "addressIndex": "74",
            "addressLenght": "2"
        },
        {
            "codeId": "G11_prohibit_film_production",
            "addressIndex": "76",
            "addressLenght": "2"
        },
        {
            "codeId": "G13_prohibit_film_production",
            "addressIndex": "78",
            "addressLenght": "2"
        },
        {
            "codeId": "Glass_width",
            "addressIndex": "82",
            "addressLenght": "4"
        },
        {
            "codeId": "Glass_height",
            "addressIndex": "86",
            "addressLenght": "4"
        },
        {
            "codeId": "Glass_thickness",
            "addressIndex": "90",
            "addressLenght": "4"
        },
        {
            "codeId": "Start_cell",
            "addressIndex": "94",
            "addressLenght": "2"
        },
        {
            "codeId": "End_cell",
            "addressIndex": "96",
            "addressLenght": "2"
        },
        {
            "codeId": "task_type",
            "addressIndex": "98",
            "addressLenght": "2"
        }
    ]
}
JiuMuMesParent/common/pom.xml
New file
@@ -0,0 +1,217 @@
<?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>JiuMuMesParent</artifactId>
        <groupId>com.mes</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </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.3.1</version>
        </dependency>
        <dependency>
            <groupId>com.github.yulichang</groupId>
            <artifactId>mybatis-plus-join-boot-starter</artifactId>
            <version>1.4.8</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.3.1</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>
        <!--代码生成工具-->
        <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>
            <exclusions>
                <exclusion>
                    <groupId>com.alibaba</groupId>
                    <artifactId>fastjson</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.8</version>
        </dependency>
        <!--  数据库设计文档生成工具-->
        <dependency>
            <groupId>cn.smallbun.screw</groupId>
            <artifactId>screw-core</artifactId>
            <version>1.0.5</version>
            <exclusions>
                <exclusion>
                    <groupId>com.alibaba</groupId>
                    <artifactId>fastjson</artifactId>
                </exclusion>
            </exclusions>
        </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>
        <!--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>
        <!--引入redis,排除lettuce的引用-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>io.lettuce</groupId>
                    <artifactId>lettuce-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- 引入Jedis客戶端-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.33</version>
        </dependency>
        <!--        <dependency>-->
        <!--            <groupId>com.github.yulichang</groupId>-->
        <!--            <artifactId>mybatis-plus-join</artifactId>-->
        <!--            <version>1.2.4</version>-->
        <!--        </dependency>-->
        <dependency>
            <groupId>com.github.yulichang</groupId>
            <artifactId>mybatis-plus-join-boot-starter</artifactId>
            <version>1.4.12</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
    </dependencies>
</project>
JiuMuMesParent/common/servicebase/pom.xml
New file
@@ -0,0 +1,27 @@
<?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>
    <dependencies>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>6.4.0.jre8</version>
        </dependency>
    </dependencies>
</project>
JiuMuMesParent/common/servicebase/servicebase1.iml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
New file
@@ -0,0 +1,172 @@
package com.mes.common.config;
import java.util.Arrays;
import java.util.List;
/**
 * @Author : zhoush
 * @Date: 2024/4/24 10:33
 * @Description:
 */
public class Const {
    //默认密码
    public static final String DEFULT_PASSWORD = "123456";
    //默认角色
    public static final Long DEFULT_ROLE = 1L;
    /**
     * 磨边清洗前
     */
    /**
     * A09出片目标位置  d02卧转立    2001
     * A10出片目标位置  d05卧转立    2002
     */
    public static final Integer OUT_TARGET_POSITION_ZERO = 0;
    public static final Integer A09_OUT_TARGET_POSITION = 2001;
    public static final Integer A10_OUT_TARGET_POSITION = 2002;
    /**
     * A09出片目标位置  d02卧转立 钢化出片    3001
     * A10出片目标位置  d05卧转立 人工出片    3002
     */
    public static final Integer TEMPERING_OUT_TARGET_POSITION = 3001;
    public static final Integer ARTIFICIAL_OUT_TARGET_POSITION = 3002;
    /**
     * 卧式理片笼详情表玻璃状态
     * 识别后成功状态0
     * 识别后成功进笼的状态100
     * 出片任务101
     * 人工下片102
     * 出片中103
     * 调度中104
     * 拿走200
     * 破损201
     */
    public static final Integer GLASS_STATE_NEW = 0;
    public static final Integer GLASS_STATE_IN = 100;
    public static final Integer GLASS_STATE_OUT = 101;
    public static final Integer GLASS_STATE_ARTIFICIAL = 102;
    public static final Integer GLASS_STATE_OUT_ING = 103;
    public static final Integer GLASS_STATE_SCHEDULE_ING = 104;
    public static final Integer GLASS_STATE_TAKE = 200;
    public static final Integer GLASS_STATE_DAMAGE = 201;
    public static final List<Integer> GLASS_STATE_IN_ALL = Arrays.asList(100, 102, 103, 104);
    public static final List<Integer> GLASS_STATE_IN_ALL_ZERO = Arrays.asList(0, 100, 102, 103, 104);
    /**
     * 卧式理片笼详情表玻璃状态
     * 进片任务1
     * 出片任务2
     */
    public static final Integer GLASS_CACHE_TYPE_IN = 1;
    public static final Integer GLASS_CACHE_TYPE_OUT = 2;
    public static final Integer GLASS_CACHE_TYPE_THROUGH = 3;
    public static final List<Integer> GLASS_CACHE_TYPE_OUT_ALL = Arrays.asList(2, 3);
    /**
     * 磨边任务玻璃状态
     * 进片任务1
     * 出片任务2
     */
    public static final Integer EDG_GLASS_BEFORE = 0;
    public static final Integer EDG_GLASS_START = 1;
    public static final Integer EDG_GLASS_SUCCESS = 2;
    /**
     * 磨边任务玻璃状态
     * 1单机自动状态
     * 2联机自动状态
     * 3手动状态
     */
    public static final Integer BIG_STORAGE_STAND_ALONE = 1;
    public static final Integer BIG_STORAGE_ONLINE = 2;
    public static final Integer BIG_STORAGE_MT = 3;
    /**
     * 大理片笼请求
     * 0 大理片笼无请求
     * 1 大理片笼进片请求
     */
    public static final String BIG_STORAGE_REQUEST = "0";
    public static final String BIG_STORAGE_REQUEST_IN = "1";
    /**
     * 卧转立进片请求
     * 1 任务生成
     * 2 卧转立进片完成
     * 3 大车进片完成
     * 4 大理片笼进片完成
     * 5 大理片笼进片失败
     * 6 大理片笼进片破损
     */
    public static final Integer BIG_STORAGE_IN_NEW = 1;
    public static final Integer BIG_STORAGE_IN_UP = 2;
    public static final Integer BIG_STORAGE_IN_CAR = 3;
    public static final Integer BIG_STORAGE_IN_SLOT = 4;
    public static final Integer BIG_STORAGE_IN_ERROR = 5;
    public static final Integer BIG_STORAGE_IN_DAMAGE = 6;
    public static final List<Integer> BIG_STORAGE_IN_UP_ALL = Arrays.asList(1, 2);
    /**
     * 卧转立出片请求
     * 1 任务生成
     * 2 玻璃进大车完成
     * 3 大车出片完成
     * 4 大理片笼进片失败
     * 5 大理片笼进片破损
     */
    public static final Integer BIG_STORAGE_OUT_NEW = 1;
    public static final Integer BIG_STORAGE_OUT_CAR = 2;
    public static final Integer BIG_STORAGE_OUT_SUCCESS = 3;
    public static final Integer BIG_STORAGE_OUT_ERROR = 4;
    public static final Integer BIG_STORAGE_OUT_DAMAGE = 5;
    public static final List<Integer> BIG_STORAGE_OUT_ALL = Arrays.asList(2, 3);
    /**
     * 卧转立出片请求
     * 1 上车等待
     * 2 上车启动
     */
    public static final Integer BIG_STORAGE_IN_WAIT = 1;
    public static final Integer BIG_STORAGE_IN_RUN = 2;
    /**
     * 钢化小片表
     * -1 生成任务
     * 0  出片完成
     * 1  摆片完成
     * 2  进炉完成
     * 3  钢化完成
     * 4  出片完成
     * 5  破损
     * 6  拿走
     */
    public static final Integer TEMPERING_NEW = -1;
    public static final Integer TEMPERING_OUT = 0;
    public static final Integer TEMPERING_DROP = 1;
    public static final Integer TEMPERING_START = 2;
    public static final Integer TEMPERING_SUCCESS = 3;
    public static final Integer TEMPERING_END = 4;
    public static final Integer TEMPERING_DAMAGE = 5;
    public static final Integer TEMPERING_TAKE = 6;
    /**
     * 下片
     */
    /**
     * 执行线路格子信息
     */
    public static final List<Integer> G06_WORK_STATION = Arrays.asList(1, 2, 3);
    public static final List<Integer> G11_WORK_STATION = Arrays.asList(4, 5, 6);
    public static final int G13_WORK_STATION = 7;
    /**
     * 启用 1
     * 禁用 0
     */
    public static final Integer SLOT_ON = 1;
    public static final Integer SLOT_OFF = 0;
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java
New file
@@ -0,0 +1,30 @@
package com.mes.common.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * @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;
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/config/Swagger2Config.java
New file
@@ -0,0 +1,78 @@
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.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
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()
                //只显示api路径下的页面
                .apis(RequestHandlerSelectors.basePackage("com.mes"))
                .paths(PathSelectors.any())
                .build()
                .globalOperationParameters(pars)
                .securitySchemes(Collections.EMPTY_LIST)
                .securityContexts(Arrays.asList(securityContext()));
    }
    private SecurityContext securityContext() {
        return SecurityContext.builder()
                .securityReferences(defaultAuth())
                .forPaths(PathSelectors.any())
                .build();
    }
    private List<SecurityReference> defaultAuth() {
        AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
        authorizationScopes[0] = authorizationScope;
        return Arrays.asList(new SecurityReference("Authorization", authorizationScopes));
    }
    private ApiInfo webApiInfo() {
        return new ApiInfoBuilder()
                .title("网站-API文档")
                .description("本文档描述了mes网站微服务接口定义")
                .version("1.0")
                .contact(new Contact("zhan_py", "", ""))
                .build();
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java
New file
@@ -0,0 +1,21 @@
package com.mes.common.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
/**
 * @author SNG-010
 */
@Configuration
public class WebSocketConfig {
    /**
     * bean注册:会自动扫描带有@ServerEndpoint注解声明的Websocket Endpoint(端点),注册成为Websocket bean。
     * 要注意,如果项目使用外置的servlet容器,而不是直接使用springboot内置容器的话,就不要注入ServerEndpointExporter,因为它将由容器自己提供和管理。
     */
    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/exception/GlobalExceptionHandler.java
New file
@@ -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 {
    /**
     * 如果是serviceExcaption,则调用该方法
     */
    @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();
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/exception/ServiceException.java
New file
@@ -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();
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/common/handler/MyMetaObjectHandler.java
New file
@@ -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);
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java
New file
@@ -0,0 +1,85 @@
package com.mes.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 String getAddress() {
      return   getAddress(this.addressIndex);
    }
    public void setAddressIndex(int addressindex) {
        this.addressIndex = addressindex;
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java
New file
@@ -0,0 +1,124 @@
package com.mes.device;
import java.util.*;
public class PlcBitObject {
    // 该模块数据类型,数据起始位置
    private String plcAddressBegin;
    // 数据地址长度:第一参数到最后一个参数的长度
    private int plcAddressLength;
    //private ArrayList<PlcBitInfo> plcBitList;
    private LinkedHashMap<String,PlcBitInfo> plcBitMap;
    /**
     * @return 数据区开始地址
     */
    public String getPlcAddressBegin() {
        return plcAddressBegin;
    }
    /**
     * @param plcAddressBegin 设置数据区开始地址
     */
    public void setPlcAddressBegin(String plcAddressBegin) {
        this.plcAddressBegin = plcAddressBegin;
    }
    /**
     * @return 数据区 读取所有数据所需的长度(以byte类型为基准)
     */
    public int getPlcAddressLength() {
        return plcAddressLength;
    }
    /**
     * @return 设置:数据区 读取所有数据所需的长度(以byte类型为基准)
     */
    public void setPlcAddressLength(int plcAddressLength) {
        this.plcAddressLength = plcAddressLength;
    }
    /**
     * @return 获取参数实例集合
     */
    public LinkedHashMap<String,PlcBitInfo> getBitMap() {
        return plcBitMap;
    }
    /**
     * 根据参数标识 获取某个参数实例
     *
     * @param codeid 参数标识
     * @return 获取某个参数实例
     */
    public PlcBitInfo getPlcBit(String codeid) {
        if (plcBitMap != null) {
            /*for (PlcBitInfo plcbitInfo : plcBitList) {
                if (plcbitInfo.getCodeId().equals(codeid))
                    return plcbitInfo;
            }*/
            return plcBitMap.get(codeid);
        } else
        {
            return null;
        }
    }
    /**
     * 根据参数标识 获取某个参数实例
     *
     * @param codeids 参数标识
     * @return 获取某个参数实例
     */
    public List<Boolean> getPlcBitValues(List<String> codeids) {
        List<Boolean> arrayList = new ArrayList<>();
        if (plcBitMap != null) {
            for (String codeId : codeids) { // 按照传入参数的顺序遍历
                    arrayList.add(plcBitMap.get(codeId).getValue());
            }
        }
        return arrayList;
    }
    public List<String> getAddressListByCodeId(List<String> codeIdList) {
        List<String> addressList = new ArrayList<>();
        for (String codeId : codeIdList) {
            addressList.add(plcBitMap.get(codeId).getAddress());
        }
        return addressList;
    }
    /**
     * 添加参数实例
     *
     * @param param 参数实例
     */
    public void addPlcBit(PlcBitInfo param) {
        if (plcBitMap != null) {
            plcBitMap.put(param.getCodeId(), param);
        }
        else {
            plcBitMap = new LinkedHashMap<String,PlcBitInfo>();
            plcBitMap.put(param.getCodeId(),param);
        }
    }
    /**
     * 根据PLC返回的数据 给参数实例赋值
     *
     * @param plcValueArray PLC读取回来的byte类型数据集合
     */
    public void setPlcBitList(List<Boolean> plcValueArray) {
        if (plcBitMap != null) {
            Collection<PlcBitInfo> values=plcBitMap.values();
            for (PlcBitInfo plcbitInfo : values) {
                plcbitInfo.setValue(plcValueArray.get(plcbitInfo.getAddressIndex()));
            }
        }
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java
New file
@@ -0,0 +1,126 @@
package com.mes.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;
        }
        int wordindex = Integer.parseInt(stringdatas[1]) + index;
        return stringdatas[0] + "." + wordindex;
      /*  if (addressLength == 2) {
            return stringdatas[0] + "." + wordindex;
        }
        if (addressLength == 14) {
            int wordindex = index;
            int newIndex = wordindex + 13;
            return stringdatas[0] + "." + wordindex + "-" + newIndex;
        }*/
//        return null;
    }
    public String getAddress() {
        return getAddress(this.addressIndex);
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
New file
@@ -0,0 +1,274 @@
package com.mes.device;
import com.github.xingshuangs.iot.utils.IntegerUtil;
import com.github.xingshuangs.iot.utils.ShortUtil;
import java.lang.reflect.Array;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.*;
public class PlcParameterObject {
    // 该模块数据类型,数据起始位置
    private String plcAddressBegin;
    // 数据地址长度:第一参数到最后一个参数的长度
    private int plcAddressLength;
    //private ArrayList<PlcParameterInfo> plcParameterList;
    private LinkedHashMap<String,PlcParameterInfo> plcParameterMap;
    /**
     * @return 数据区开始地址
     */
    public String getPlcAddressBegin() {
        return plcAddressBegin;
    }
    /**
     * @param plcAddressBegin 设置数据区开始地址
     */
    public void setPlcAddressBegin(String plcAddressBegin) {
        this.plcAddressBegin = plcAddressBegin;
    }
    /**
     * @return 数据区 读取所有数据所需的长度(以byte类型为基准)
     */
    public int getPlcAddressLength() {
        return plcAddressLength;
    }
    /**
     * @return 设置:数据区 读取所有数据所需的长度(以byte类型为基准)
     */
    public void setPlcAddressLength(int plcAddressLength) {
        this.plcAddressLength = plcAddressLength;
    }
    /**
     * @return 获取参数实例集合
     */
    public LinkedHashMap<String,PlcParameterInfo> getPlcParameterMap() {
        return plcParameterMap;
    }
    /**
     * 根据参数标识 获取某个参数实例
     *
     * @param codeid 参数标识
     * @return 获取某个参数实例
     */
    public PlcParameterInfo getPlcParameter(String codeid) {
        if (plcParameterMap != null) {
                    return plcParameterMap.get(codeid);
        } else {
            return null;
        }
        /*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 (plcParameterMap != 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 = plcParameterMap.get(codeId);
                if (plcParameterInfo != null) {
                    arrayList.add(plcParameterInfo.getValue());
                } else {
                    arrayList.add(null); // 如果找不到对应的值,添加 null
                }
            }
        }
        return arrayList;
    }
    /**
     * 根据参数标识 获取传入参数的plc地址
     *
     * @param codeIdList 参数标识
     * @return 传入参数的plc地址
     */
    public List<String> getAddressListByCodeId(List<String> codeIdList) {
        List<String> addressList = new ArrayList<>();
        if (plcParameterMap!=null)
        {
            for (String codeId : codeIdList) {
                    String address = plcParameterMap.get(codeId).getAddress();
                    if (address != null) {
                        addressList.add(address);
                    }
        }
        }
        return addressList;
    }
    /**
     * 添加参数实例
     *
     * @param param 参数实例
     */
    public void addPlcParameter(PlcParameterInfo param) {
        if (plcParameterMap != null) {
            plcParameterMap.put(param.getCodeId(), param);
        }
        else {
            plcParameterMap =new  LinkedHashMap<String,PlcParameterInfo>();
            plcParameterMap.put(param.getCodeId(), param);
        }
        /*if (plcParameterList != null)
            plcParameterList.add(param);
        else {
            plcParameterList = new ArrayList<PlcParameterInfo>();
            plcParameterList.add(param);
        }*/
    }
    /**
     * 根据PLC返回的数据 给参数实例赋值
     *
     * @param plcValueArray PLC读取回来的byte类型数据集合
     */
    public void setPlcParameterList(byte[] plcValueArray) {
        if (plcParameterMap != null) {
            Collection<PlcParameterInfo> values=  plcParameterMap.values();
            for (PlcParameterInfo plcParameterInfo :values) {
                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(ShortUtil.toUInt16(valueList)));
                } else if (plcParameterInfo.getAddressLength() == 4) {
                    plcParameterInfo.setValue(String.valueOf(IntegerUtil.toUInt32(valueList)));
                }
                else if (plcParameterInfo.getAddressLength() >10) {
                    plcParameterInfo.setValue((byteToHexString(valueList)));
                } else {
                    plcParameterInfo.setValue((byteToHexString(valueList)));
                }
            }
        }
/*        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() == 4) {
                    plcParameterInfo.setValue(String.valueOf(byte2int(valueList)));
                }
                else if (plcParameterInfo.getAddressLength() >10) {
                    plcParameterInfo.setValue((byteToHexString(valueList)));
                } else {
                    String valuestr = new String(valueList);
                    plcParameterInfo.setValue(valuestr);
                }
            }
        }*/
    }
    /**
     * 把写入值转化为byte[]
     * @param param 参数实例
     * @param data 写入值的字符类型
     */
    public byte[] setValueToBytes(PlcParameterInfo param, String data) {
        if (param.getAddressLength() == 2) {
            return ShortUtil.toByteArray(Integer.parseInt(data));
        } else if (param.getAddressLength() == 4) {
            return IntegerUtil.toByteArray(Long.parseLong(data));
        }
        else if (param.getAddressLength() >10) {
           return data.getBytes();
        } else {
            return data.getBytes();
        }
    }
    /**
     * short类型转byte[]
     *
     * @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; //计算偏移量
            b[i] = (byte) ((s >> offset) & 0xff); //把16位分为2个8位进行分别存储
        }
        return b;
    }
    /**
     * byte[]类型转short
     *
     * @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;
    }
    /**
     * byte[]类型转short
     *
     * @param b byte[]类型值
     */
    public static int byte2int(byte[] b) {
        int l = 0;
        for (int i = 0; i < 4; i++) {
            l <<= 8; //<<=和我们的 +=是一样的,意思就是 l = l << 8
            l |= (b[3-i] & 0xff); //和上面也是一样的  l = l | (b[i]&0xff)
        }
        return l;
    }
    public static byte[] int2byte(int s){
        byte[] b = new byte[2];
        for(int i = 0; i < 4; i++){
            int offset = 16 - (i+1)*8; //因为byte占4个字节,所以要计算偏移量
            b[i] = (byte)((s >> offset)&0xff); //把32位分为4个8位进行分别存储
        }
        return b;
    }
    public static String byteToHexString(byte[] bytes) {
        String str = new String(bytes, StandardCharsets.UTF_8).trim();
        return str;
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
New file
@@ -0,0 +1,4 @@
package com.mes.engineering.entity;
public class Engineering {
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
New file
@@ -0,0 +1,16 @@
package com.mes.engineering.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.engineering.entity.Engineering;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-05-11
 */
public interface EngineeringMapper extends MPJBaseMapper<Engineering> {
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java
New file
@@ -0,0 +1,16 @@
package com.mes.engineering.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.engineering.entity.Engineering;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-07
 */
public interface EngineeringService extends MPJBaseService<Engineering> {
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
New file
@@ -0,0 +1,23 @@
package com.mes.engineering.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.mapper.EngineeringMapper;
import com.mes.engineering.service.EngineeringService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 服务实现类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-07
 */
@Service
@Slf4j
public class EngineeringServiceImpl extends MPJBaseServiceImpl<EngineeringMapper, Engineering> implements EngineeringService {
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/entity/request/GeneralRequest.java
New file
@@ -0,0 +1,17 @@
package com.mes.entity.request;
import cn.hutool.db.Page;
import lombok.Data;
/**
 * @Author : zhoush
 * @Date: 2024/4/22 11:21
 * @Description:
 */
@Data
public class GeneralRequest {
    private String key;
    private Page page;
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/Communication.java
New file
@@ -0,0 +1,36 @@
package com.mes.service;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.mes.device.PlcParameterInfo;
import com.mes.tools.HexConversion;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.*;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;
/**
 * Plc通讯方式 [S7/ModbusTcp]
 */
@Component
@Slf4j
public class Communication {
    /**
     * 方式标识 [S7/ModbusTcp]
     */
    private String type;
    Communication(){
        if("ModbusTcp".equals(type)){
        }else if("S7".equals(type)){
        }
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/ModbusTcp.java
New file
@@ -0,0 +1,43 @@
package com.mes.service;
import com.mes.tools.HexConversion;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
@Component
@Slf4j
public class ModbusTcp {
    //同IP下会有多个协议地址  key=地址区   PlcAgreement为协议内容  plcAgreements为协议组
    private Map<String,PlcAgreement> plcAgreement=new LinkedHashMap<String,PlcAgreement>();
    private String Ip;
    private int Port;
    public Socket socket =null;//通讯
    ModbusTcp(){}
    ModbusTcp(String Ip,int Port){
        this.Ip=Ip;
        this.Port=Port;
    }
    //连接
    //@Scheduled(fixedDelay = 1000)
    public void a()throws Exception{
        log.info("123");
    }
    public int getValueInt(){
        return 0;
    }
    public double getValueDouble(){
        return 0;
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/PlcAgreement.java
New file
@@ -0,0 +1,136 @@
package com.mes.service;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.mes.device.PlcParameterInfo;
import com.mes.tools.HexConversion;
import com.mes.utils.HexUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.*;
import java.net.Socket;
import java.util.*;
/**
 * Plc协议:协议参数,协议配置,协议请求头,协议类型
 */
@Component
@Slf4j
public class PlcAgreement {
    public Socket socket =null;//通讯
    /**
     * 协议参数
     */
    private List<String> parameterKeys=null;
    private Map<String,PlcParameter> parameters=null;
    /**
     * 协议路径
     */
    private String jsonFilePath=null;
    /**
     * 读取起始地址
     */
    public String plcAddressBegin=null;
    /**
     * 读取长度
     */
    public int plcAddressLength=0;
    //类似序列号(4)+协议标志(4)+长度(4)+从站地址(2)+功能代码(2)+起始地址(4)+读取数量(4) "000100000006010300000032"
    public String requestHead=null;
    PlcAgreement(){
        jsonFilePath = System.getProperty("user.dir") + "../../JsonFile/PlcCacheGlass.json";
        boolean initSuccess=initword();
        log.info("初始化PlcCacheGlass:"+initSuccess);
    }
    //初始化word
    public boolean initword() {
        try {
            parameters=new LinkedHashMap<String,PlcParameter>();
            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 jsonFile = new JSONObject(content.toString());
            JSONArray jsonArray = jsonFile.getJSONArray("parameterInfo");
            this.plcAddressBegin=jsonFile.getStr("plcAddressBegin");//设置起始位地址
            this.plcAddressLength=Integer.valueOf(jsonFile.getStr("plcAddressLength"));//设置地址长度
            this.requestHead=jsonFile.getStr("requestHead");//设置请求头部
            for (int i = 0; i < jsonArray.size(); i++) {
                JSONObject parameterObj = jsonArray.getJSONObject(i);
                String code = parameterObj.getStr("code");
                PlcParameter plcParameter = new PlcParameter(
                        code,
                        Integer.valueOf(parameterObj.getStr("addressIndex")),
                        Integer.valueOf(parameterObj.getStr("addressLength")),""); //参数实例
                parameterKeys.add(code);
                parameters.put(code,plcParameter);
            }
            return true;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;
    }
    //读取数据
    public void read()throws Exception{
        int bufSizes = 0;
        byte[] msgs = new byte[2048];
        //写入读取地址
        DataOutputStream outToServer = new DataOutputStream(socket.getOutputStream());
        outToServer.write(HexConversion.stringToInt(this.requestHead));
        outToServer.flush();
        //读取内容
        DataInputStream in = new DataInputStream(socket.getInputStream());
        bufSizes = in.read(msgs);
        String message = HexConversion.byteToHexString(bufSizes, msgs);//十进制字节数组转十六进制字符串
        //获取参数值
        for (String key:parameters.keySet()){
            parameters.get(key).setReadValue(message);
        }
    }
    //写入数据
    public void write(String key,String writeValue)throws Exception{
        parameters.get(key);
        if (writeValue != null && !"".equals(writeValue)) {
            //写入发送数据
            DataOutputStream out = new DataOutputStream(socket.getOutputStream());
            out.write(HexConversion.stringToInt(writeValue));
            out.flush();
        }
    }
    //写
    public String message(String senddate, String address) {
        String Herd = "0110" + address;
        int length = senddate.length() / 4;
        String dates = Herd + HexUtil.intTo2ByteHex(length) + HexUtil.intTo1ByteHex(length * 2) + senddate;
        int lengths = dates.length() / 2;
        String date = "00000000" + HexUtil.intTo2ByteHex(lengths) + dates;
        return date;
    }
    public String getValueString(String key){
        return parameters.get(key).toString();
    }
    public int getValueInt(){
        return 0;
    }
    public double getValueDouble(){
        return 0;
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/PlcParameter.java
New file
@@ -0,0 +1,108 @@
package com.mes.service;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.mes.device.PlcParameterInfo;
import com.mes.tools.HexConversion;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.*;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;
/**
 * Plc参数
 */
@Component
@Slf4j
public class PlcParameter {
    /**
     * 编号
     */
    private String CodeId;
    /**
     * 起始地址
     */
    private int addressIndex=0;
    /**
     * 长度
     */
    private int addressLength=0;
    /**
     * 类型
     */
    private String type="int";
    /**
     * 实时读取的值
     */
    private Object readValue=null;
    /**
     * 需要写入的值
     */
    private Object writeValue=null;
    PlcParameter(){
    }
    PlcParameter(String codeId, int addressIndex, int addressLength, String type){
        this.CodeId=codeId;
        this.addressIndex=addressIndex;
        this.addressLength=addressLength;
        this.type=type;
    }
    public String getCodeId() {
        return CodeId;
    }
    public void setCodeId(String codeId) {
        CodeId = codeId;
    }
    public int getAddressIndex() {
        return addressIndex;
    }
    public void setAddressIndex(int addressIndex) {
        this.addressIndex = addressIndex;
    }
    public int getAddressLength() {
        return addressLength;
    }
    public void setAddressLength(int addressLength) {
        this.addressLength = addressLength;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public Object getReadValue() {
        return readValue;
    }
    public void setReadValue(Object readValue) {
        this.readValue = readValue;
    }
    public Object getWriteValue() {
        return writeValue;
    }
    public void setWriteValue(Object writeValue) {
        this.writeValue = writeValue;
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
New file
@@ -0,0 +1,84 @@
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:\\Documents\\hangzhoumesParent5\\");
        gc.setServiceName("%sService");    //去掉Service接口的首字母I
        gc.setAuthor("wu");
        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("work_assignment"); //模块名
        pc.setController("controller");
        pc.setService("service");
        pc.setMapper("mapper");
        mpg.setPackageInfo(pc);
        // 5、策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setInclude("work_assignment");
        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>
 */
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java
New file
@@ -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.microsoft.sqlserver.jdbc.SQLServerDriver");
        hikariConfig.setJdbcUrl("jdbc:sqlserver://10.153.19.150:1433;databasename=hangzhoumes");
        hikariConfig.setUsername("sa");
        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:\\项目\\项目文档\\杭州利来2")
                //打开目录
                .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("数据库设计文档生成")
                //数据源
                .dataSource(dataSource)
                //生成配置
                .engineConfig(engineConfig)
                //生成配置
                .produceConfig(processConfig)
                .build();
        //执行生成
        new DocumentationExecute(config).execute();
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/HexConversion.java
New file
@@ -0,0 +1,55 @@
package com.mes.tools;
public class HexConversion {
    /**
     * @param a shuzi
     * @return shuzu
     */
    public static byte[] stringToInt(String a){
        byte[] byt = new byte[a.length()/2];
        for (int i = 0; i < a.length() - 1; i+=2) {
            String output = a.substring(i, i + 2);
            byt[i/2]=(byte)Integer.parseInt(output, 16);
        }
        return byt;
    }
    public static String byteToHexString(int bufSize,byte[] msg){
        String tempHex = "";
        String command = "";
        if (bufSize != -1) {
            for (int i = 0; i < bufSize; i++) {
                tempHex = Integer.toHexString(msg[i] & 0xFF);
                if (tempHex.length() == 1) {
                    tempHex = "0" + tempHex;
                }
                command += tempHex;
            }
        }
        return command;
    }
    public static String intToHex(int number) {
        return Integer.toHexString(number);
    }
    /**
     * 将整数转换为4位16进制,如1转换为0001,10转换为000a
     *
     * @param number
     * @return
     */
    public static String intTo2ByteHex(int number) {
        String numberHex = intToHex(number);
        numberHex = String.format("%4s", numberHex).replace(' ', '0');
        return numberHex;
    }
    /**
     * 将整数转换为2位16进制,如1转换为01,10转换为0a
     *
     * @param
     * @return
     */
    public static String intTo1ByteHex(int number) {
        String numberHex = intToHex(number);
        numberHex = String.format("%2s", numberHex).replace(' ', '0');
        return numberHex;
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java
New file
@@ -0,0 +1,107 @@
package com.mes.tools;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.mes.device.PlcBitInfo;
import com.mes.device.PlcBitObject;
import com.mes.device.PlcParameterInfo;
import com.mes.device.PlcParameterObject;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class InitUtil {
    //初始化word
    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;
    }
    //初始化bit
    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;
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
New file
@@ -0,0 +1,465 @@
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 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);
        }
    }
    /**
     * 关闭西门子s7通讯连接
     */
    public void closeS7client() {
        if (s7PLC != null) {
            s7PLC.close();
        }
    }
    /**
     * 重启西门子s7通讯连接
     */
    public boolean reStartS7client() {
        if (s7PLC != null) {
            try {
                s7PLC.hotRestart();
                return true;
            } catch (Exception ex) {
                return false;
            }
        }
        return false;
    }
    /**
     * s7通讯连接状态
     */
    public boolean checkConnected() {
        return s7PLC.checkConnected();
    }
    /**
     * 按指定的地址 写入一个word
     *
     * @param address 地址
     * @param data    word的值
     */
    public boolean writeWord(String address, int data) {
        if (s7PLC == null) {
            return false;
        }
        boolean result = false;
        int tryCount = 2;
        do {
            try {
                s7PLC.writeUInt16(address, data);
                result = true;
            } catch (Exception ex) {
                System.out.println("向plc写命令过程中发生异常,原因为:" + ex.getMessage());
                reStartS7client();
            } finally {
                tryCount -= 1;
            }
        }
        while (!result && tryCount > 0);
        return result;
    }
    /**
     * 从某地址连续 写入多个word
     *
     * @param address 地址
     * @param datas   word的值
     */
    public boolean writeWord(String address, List<Integer> datas) {
        if (s7PLC == null) {
            return false;
        }
        boolean result = false;
        int tryCount = 2;
        // 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.addUInt16(addresslist.get(i), datas.get(i));
        }
        do {
            try {
                s7PLC.writeMultiData(addressWrite);
                result = true;
            } catch (Exception ex) {
                reStartS7client();
            } finally {
                tryCount -= 1;
            }
        }
        while (!result && tryCount > 0);
        return result;
    }
    /**
     * 按指定的地址 写入多个word
     *
     * @param address 地址
     * @param datas   word的值
     */
    /**
     * 按指定的地址 写入一个Bit
     *
     * @param address 地址
     * @param data    Bit的值
     */
    public boolean writeBit(String address, Boolean data) {
        if (s7PLC == null) {
            return false;
        }
        boolean result = false;
        int tryCount = 2;
        do {
            try {
                s7PLC.writeBoolean(address, data);
                result = true;
            } catch (Exception ex) {
                reStartS7client();
            } finally {
                tryCount -= 1;
            }
        }
        while (!result && tryCount > 0);
        return result;
    }
    /**
     * 按指定的地址 写入多个bit
     *
     * @param address 地址
     * @param datas   bit的值
     */
    public boolean writeBit(List<String> address, List<Boolean> datas) {
        if (s7PLC == null) {
            return false;
        }
        MultiAddressWrite addressWrite = new MultiAddressWrite();
        for (int i = 0; i < address.size(); i++) {
            addressWrite.addBoolean(address.get(i), datas.get(i));
        }
        boolean result = false;
        int tryCount = 2;
        do {
            try {
                s7PLC.writeMultiData(addressWrite);
                result = true;
            } catch (Exception ex) {
                reStartS7client();
            } finally {
                tryCount -= 1;
            }
        }
        while (!result && tryCount > 0);
        return result;
    }
    /**
     * 从某地址连续 写入多个bit
     *
     * @param address 地址
     * @param datas   word的值
     */
    public boolean writeBit(String address, List<Boolean> datas) {
        if (s7PLC == null) {
            return false;
        }
        // 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));
        }
        boolean result = false;
        int tryCount = 2;
        do {
            try {
                s7PLC.writeMultiData(addressWrite);
                result = true;
            } catch (Exception ex) {
                reStartS7client();
            } finally {
                tryCount -= 1;
            }
        }
        while (!result && tryCount > 0);
        return result;
    }
    /**
     * 按指定的地址 写入多个byte
     *
     * @param address 地址
     * @param datas   byte的值
     */
    public boolean writeByte(String address, byte[] datas) {
        if (s7PLC == null) {
            return false;
        }
        boolean result = false;
        int tryCount = 2;
        do {
            try {
                s7PLC.writeByte(address, datas);
                result = true;
            } catch (Exception ex) {
                reStartS7client();
            } finally {
                tryCount -= 1;
            }
        }
        while (!result && tryCount > 0);
        return result;
    }
    /**
     * 按指定的地址 读取word结果集
     *
     * @param address 地址
     * @return 结果
     */
    public List<Integer> readWord(List<String> address) {
        if (s7PLC == null) {
            return null;
        }
        List<Integer> result = null;
        try {
            result = s7PLC.readUInt16(address);
        } catch (Exception e) {
            s7PLC.hotRestart();
            System.out.println("读取 " + address + " 失败:" + e.getMessage());
        } finally {
            return result;
        }
    }
    /**
     * 按指定的地址 读取word结果集
     *
     * @param address 地址
     * @param count   连续读多少个word
     * @return 结果
     */
    public List<Integer> readWord(String address, int count) {
        if (s7PLC == null) {
            return null;
        }
        List<Integer> result = null;
        List<String> addresslist = getAddressList(address, count, 16);
        try {
            result = s7PLC.readUInt16(addresslist);
        } catch (Exception e) {
            s7PLC.hotRestart();
            System.out.println("读取 " + address + " 失败:" + e.getMessage());
        } finally {
            return result;
        }
    }
    /**
     * 按指定的地址 读取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);
        byte[] bytes = null;
        try {
            bytes = s7PLC.readByte(address, count);
        } catch (Exception e) {
            // 处理异常
            s7PLC.hotRestart();
            System.out.println("读取 " + address + " 失败:" + e.getMessage());
        } finally {
            return bytes;
        }
    }
    /**
     * 按指定的地址 按bit位 0 flase 1 true 读取结果
     *
     * @param addresslist 地址集
     * @return Boolean结果
     */
    public List<Boolean> readBits(List<String> addresslist) {
        if (s7PLC == null) {
            return null;
        }
        List<Boolean> values = new ArrayList<>();
        try {
            values = s7PLC.readBoolean(addresslist);
        } catch (Exception e) {
            // 处理异常
            s7PLC.hotRestart();
        } finally {
            return values;
        }
    }
   /* //读取不连续地址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;
    }*/
    //读取字符串
    public String readString(String address) {
        if (s7PLC == null) {
            return null;
        }
        String result = null;
        try {
            result = s7PLC.readString(address);
        } catch (Exception e) {
            s7PLC.hotRestart();
            System.out.println("读取 " + address + " 失败:" + e.getMessage());
        } finally {
            return result;
        }
    }
    //读取时间
    public Long readtime(String address) {
        if (s7PLC == null) {
            return null;
        }
        Long result = null;
        try {
            result = s7PLC.readTime(address);
        } catch (Exception e) {
            s7PLC.hotRestart();
            System.out.println("读取 " + address + " 失败:" + e.getMessage());
        } finally {
            return result;
        }
    }
    public boolean writetime(String address, long datas) {
        if (s7PLC == null) {
            return false;
        }
        boolean result = false;
        int tryCount = 2;
        do {
            try {
                s7PLC.writeTime(address, datas); // 将数据写入单个地址
                result = true;
            } catch (Exception ex) {
                reStartS7client();
            } finally {
                tryCount -= 1;
            }
        }
        while (!result && tryCount > 0);
        return result;
    }
    /**
     * 从指定的地址开始 连续按bit位读取
     *
     * @param address 地址
     * @param count   长度
     * @return Boolean结果
     */
    public List<Boolean> readBits(String address, int count) {
        if (s7PLC == null) {
            return null;
        }
        List<Boolean> values = new ArrayList<>();
        List<String> addresslist = getAddressList(address, count, 1);
        try {
            values = s7PLC.readBoolean(addresslist);
        } catch (Exception e) {
            s7PLC.hotRestart();
            System.out.println("读取 " + address + " 失败:" + e.getMessage());
        } finally {
            return values;
        }
    }
    ;
    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;
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java
New file
@@ -0,0 +1,175 @@
package com.mes.tools;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.stereotype.Component;
import javax.websocket.*;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@ServerEndpoint(value = "/api/talk/{username}")
@Component("webSocketServer")
public class WebSocketServer {
    public static ConfigurableApplicationContext applicationContext;
    private static final Logger log = LoggerFactory.getLogger(WebSocketServer.class);
    private List<String> messages;
    /**
     * 记录当前在线连接数
     */
    public static final Map<String, ArrayList<WebSocketServer>> sessionMap = new ConcurrentHashMap<>();
    public String username;
    public Session session;
    public WebSocketServer() {
        this.messages = new ArrayList<>();
    }
    /**
     * 连接建立成功调用的方法
     */
    @OnOpen
    public void onOpen(Session session, @PathParam("username") String username) {
        this.username = username;
        this.session = session;
        List<WebSocketServer> webSocketServers = sessionMap.get(username);
        if (webSocketServers == null) {
            ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
            arrayListwebserver.add(this);
            sessionMap.put(username, arrayListwebserver);
        } else {
            webSocketServers.add(this);
        }
        log.info("有新用户加入,username={}, 当前在线人数为:{}", username, sessionMap.get(username).size());
        // JSONObject result = new JSONObject();
        // JSONArray array = new JSONArray();
        // result.set("users", array);
        // for (Object key : sessionMap.keySet()) {
        // JSONObject jsonObject = new JSONObject();
        // jsonObject.set("username", key);
        // array.add(jsonObject);
        // }
        // sendAllMessage(JSONUtil.toJsonStr(result)); // 后台发送消息给所有的客户端
    }
    /**
     * 连接关闭调用的方法
     */
    @OnClose
    public void onClose(Session session, @PathParam("username") String username) {
        List<WebSocketServer> webSocketServers = sessionMap.get(username);
        ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
        if (webSocketServers.size() > 1) {
            for (WebSocketServer webSocketServer : webSocketServers) {
                if (webSocketServer != this) {
                    arrayListwebserver.add(webSocketServer);
                }
            }
            sessionMap.put(username, arrayListwebserver);
            log.info("移除username={}一名用户session, {}的当前在线人数为:{}", username, username, sessionMap.get(username).size());
        } else {
            sessionMap.remove(username);
            log.info("移除username={}一名用户session, {}连接关闭, 当前连接数为:{}", username, username, sessionMap.size());
        }
    }
    /**
     * 收到客户端消息后调用的方法
     * 后台收到客户端发送过来的消息
     * onMessage 是一个消息的中转站
     * 接受 浏览器端 socket.send 发送过来的 json数据
     *
     * @param message 客户端发送过来的消息
     */
    @OnMessage
    public void onMessage(String message, Session session, @PathParam("username") String username) {
        log.info("服务端收到用户username={}的消息:{}", username, message);
        JSONObject obj = JSONUtil.parseObj(message);
        String text = obj.getStr("data");
        JSONObject jsonObject = new JSONObject();
        jsonObject.set("message", text);
        this.messages.add(text);
    }
    @OnError
    public void onError(Session session, Throwable error) {
        log.error("发生错误");
        error.printStackTrace();
    }
    /**
     * 服务端发送消息给客户端
     */
    public void sendMessage(String message) {
        try {
            // log.info("服务端给客户端[{}]发送消息{}", this.session.getId(), message);
            if(this.session.isOpen()){
                int maxChunkSize = 50000; // 定义最大的分块大小
                int length = message.length();
                if(length>50000){
                    int chunks = (int) Math.ceil((double) length / maxChunkSize);
                    //分块发送消息
                    for (int i = 0; i < chunks; i++) {
                        int startIndex = i * maxChunkSize;
                        int endIndex = Math.min(startIndex + maxChunkSize, length);
                        String chunk = message.substring(startIndex, endIndex);
                        // 判断是否是最后一块消息
                        boolean isLastChunk = (i == chunks - 1);
                        if(isLastChunk==true){
                            chunk+="<END>";
                        }
                        // 发送分块消息,并传递是否是最后一块消息的标识
                        this.session.getBasicRemote().sendText(chunk);
                    }
                }else{
                    this.session.getBasicRemote().sendText(message);
                }
            }
        } catch (Exception e) {
            log.error("发送消息给客户端失败:{}", e.getMessage(), e);
        }
    }
    // /**
    //  * 服务端发送消息给所有客户端
    //  */
    // public void sendAllMessage(String message) {
    //     try {
    //         for (WebSocketServer webSocketServer : sessionMap.values()) {
    //             // log.info("服务端给客户端[{}]发送消息{}", this.session.getId(), message);
    //             webSocketServer.sendMessage(message);
    //         }
    //     } catch (Exception e) {
    //         log.error("服务端发送消息给客户端失败", e);
    //     }
    // }
    public List<String> getMessages() {
        return messages;
    }
    public void clearMessages() {
        messages.clear();
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/utils/HexUtil.java
New file
@@ -0,0 +1,322 @@
package com.mes.utils;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class HexUtil {
    public static String formatHex(String hex) {
        String result = "";
        for (int i = 0; i < hex.length() - 1; i+=2) {
            String output = hex.substring(i, i + 2);
            result += ("0x" + output + " ");
        }
        if (result.length() > 0) {
            result = result.substring(0, result.lastIndexOf(" "));
        }
        return result;
    }
    //正常的字母数字变成字节数发送给盒子
    public static String asciiToHex(String str) {
        char[] chars = str.toCharArray();
        StringBuffer hex = new StringBuffer();
        for (int i = 0; i < chars.length; i++) {
            hex.append(Integer.toHexString(chars[i]));
        }
        return hex.toString();
    }
    public static String hexToAscii(String hex) {
        StringBuffer result = new StringBuffer();
        for (int i = 0; i < hex.length() - 1; i+= 2) {
            String output = hex.substring(i, i + 2);
            int decimal = Integer.parseInt(output, 16);
            result.append((char) decimal);
        }
        return result.toString();
    }//12300    //00321
    //二进制转十进制
    public static int int2ToHex(String number) {
        return Integer.parseInt(number, 2);
    }
    //二进制转16进制 4位
    public static String intBinaryTo16(String number) {
        int num=int2ToHex(number);
        return intTo2ByteHex(num);
    }
    //十六进制转十进制
    public static int int16ToHex(String number) {
        return Integer.parseInt(number, 16);
    }
    //十进制转二进制
    public static String intToBinary(int number) {
        return Integer.toBinaryString(number);
    }
    //十六进制转二进制
    public static String int16ToBinary(String number) {
        return intToBinary(int16ToHex(number));
    }
    //十六进制转二进制
    public static String int16ToBinaryEight(String number,int count) {
        String binary=int16ToBinary(number);
        String zero="";
        for (int i = 0; i <count-binary.length(); i++) {
            zero+="0";
        }
        binary=zero+binary;
        return binary;
    }
    public static String intToHex(int number) {
        return Integer.toHexString(number);
    }
    /**
     * 将整数转换为2位16进制,如1转换为01,10转换为0a
     *
     * @param number
     * @return
     */
    public static String intTo1ByteHex(int number) {
        String numberHex = HexUtil.intToHex(number);
        numberHex = String.format("%2s", numberHex).replace(' ', '0');
        return numberHex;
    }
    /**
     * 将整数转换为4位16进制,如1转换为0001,10转换为000a
     *
     * @param number
     * @return
     */
    public static String intTo2ByteHex(int number) {
        String numberHex = HexUtil.intToHex(number);
        numberHex = String.format("%4s", numberHex).replace(' ', '0');
        return numberHex;
    }
    /**
     * 将整数转换为8位16进制,如1转换为00000001,10转换为0000000a
     *
     * @param number
     * @return
     */
    public static String intTo4ByteHex(int number) {
        String numberHex = HexUtil.intToHex(number);
        numberHex = String.format("%8s", numberHex).replace(' ', '0');
        return numberHex;
    }
    /**
     * 将时间转换为16进制格式,年(2字节) + 月(1字节) + 日(1字节) + 时(1字节) + 分(1字节) + 秒(1字节)
     *
     * @param time
     * @return
     */
    public static String timeToHex(Date time) {
        Calendar c = Calendar.getInstance();
        c.setTime(time);
        String yearHex = intTo2ByteHex(c.get(Calendar.YEAR));
        String monthHex = intTo1ByteHex(c.get(Calendar.MONTH) + 1);
        String dayHex = intTo1ByteHex(c.get(Calendar.DAY_OF_MONTH));
        String hourHex = intTo1ByteHex(c.get(Calendar.HOUR_OF_DAY));
        String minuteHex = intTo1ByteHex(c.get(Calendar.MINUTE));
        String secondHex = intTo1ByteHex(c.get(Calendar.SECOND));
        return yearHex + monthHex + dayHex + hourHex + minuteHex + secondHex;
    }
    /**
     * 将16进制的时间转换为yyyy-MM-dd HH:mm:ss的格式
     *
     * @param hexTime
     * @return
     */
    public static String hexToTime(String hexTime) {
        String year = hexTo4DigitInt(hexTime.substring(0, 4));
        String month = hexTo2DigitInt(hexTime.substring(4, 6));
        String day = hexTo2DigitInt(hexTime.substring(6, 8));
        String hour = hexTo2DigitInt(hexTime.substring(8, 10));
        String minute = hexTo2DigitInt(hexTime.substring(10, 12));
        String second = hexTo2DigitInt(hexTime.substring(12, 14));
        return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
    }
    //十六进制转10进制
    public static int hexToInt(String hex) {
        return Integer.parseInt(hex, 16);
    }
    //十六进制转成10进制四位
    public static String hexTo4DigitInt(String hex) {
        return new DecimalFormat("0000").format(hexToInt(hex));
    }
    //十六进制转成10进制两位
    public static String hexTo2DigitInt(String hex) {
        return new DecimalFormat("00").format(hexToInt(hex));
    }
    public static byte[] stringToInt(String a){
        byte[] byt = new byte[a.length()/2];
        for (int i = 0; i < a.length() - 1; i+=2) {
            String output = a.substring(i, i + 2);
            byt[i/2]=(byte)Integer.parseInt(output, 16);
        }
        return byt;
    }
    /**
     * 将字节转换为两位十六进制字符串,不够位前加0
     *
     * @param b
     * @return
     */
    public static String byteToHexString(byte b) {
        String hex = Integer.toHexString(b & 0xFF);
        if (hex.length() == 1) {
            hex = "0" + hex;
        }
        return hex;
    }
    /**
     * 将十六进制字符,转换成二进制的字符
     *
     * @param b
     * @return
     */
     public static String getBin(String hex){
        String[] hexs = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
                 "a", "b", "c", "d", "e", "f"};
        String[] bins = new String[]{"0000", "0001", "0010", "0011", "0100", "0101",
                 "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};
        int i;
        for(i=0; i<hexs.length && !hex.toLowerCase().equals(hexs[i]); i++);
            return bins[i];
         }
       /**
         * 将十六进制字符,转换成二进制的字符
         *
         * @param b
         * @return
         */
         public static String gethex(String hex){
            String[] hexs = new String[]{"0000", "0001", "0002", "0003", "0004", "0005", "0006", "0007", "0008", "0009",
                     "000a", "000b", "000c", "000d", "000e", "000f"};
            String[] bins = new String[]{"0000", "0001", "0010", "0011", "0100", "0101",
                     "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};
            int i;
            for(i=0; i<bins.length && !hex.toLowerCase().equals(bins[i]); i++);
                return hexs[i];
             }
    /**
     * 十进制字节数组转十六进制字符串
     * @param bufSize
     * @param msg
     * @return
     */
    public static String byteToHexString(int bufSize,byte[] msg){
        String tempHex = "";
        String command = "";
        if (bufSize != -1) {
            for (int i = 0; i < bufSize; i++) {
                tempHex = Integer.toHexString(msg[i] & 0xFF);
                if (tempHex.length() == 1) {
                    tempHex = "0" + tempHex;
                }
                command += tempHex;
            }
        }
        return command;
    }
    public static String hexToBinary(String hexString) {
        String binaryString = Integer.toBinaryString(hexToInt(hexString));
        return String.format("%16s", binaryString).replace(' ', '0');
    }
    public static String binaryTo2ByteHex(String binaryString) {
        String HexString = Integer.toHexString(Integer.parseInt(binaryString, 2));
        return String.format("%4s", HexString).replace(' ', '0');
    }
    public static void main(String[] args) {
//        System.out.println(HexUtil.hexToAscii("3c5354413e48656c6c6f20576f726c64217c5468697320697320746865206669727374207369676e616c2066726f6d20646576696365213c454f463e"));
//        System.out.println(HexUtil.asciiToHex("<STA>Hello World!|This is the first signal from device!<EOF>"));
//
//        System.out.println(String.format("%4S", HexUtil.intToHex(55)).replace(' ', '0'));
//        System.out.println(HexUtil.hexToInt("00d2"));
//
//        System.out.println(HexUtil.formatHex("3c5354413e"));
        String message = "Hello World!|This is the first signal from device!";
        int length = message.length() * 2 + 10; // 长度包括结尾的<EOF>,一个字符在信号中由两个字节表示。
        String command = HexUtil.asciiToHex("<STA>"); // 添加开始标识
        command += (String.format("%4s", HexUtil.intToHex(length)).replace(' ', '0')); // 添加长度标识
        command += "01"; // 添加设备类型 0x01表示切割机,0x02表示钢化炉
        command += "0001"; // 添加设备型号,0x0001表示基本款,0x0002表示中级款
        command += "0000"; // 功能号,0x0000是下位机主动发给上位机;0x0001是上位机修改下位机RTC
        command += "00"; // 加密方式,0x00表示不加密
        Calendar c = Calendar.getInstance();
        // 添加时间,并将时间转换为16进制表示
        command += (String.format("%4s", HexUtil.intToHex(c.get(Calendar.YEAR))).replace(' ', '0'));
        command += (String.format("%2s", HexUtil.intToHex(c.get(Calendar.MONTH) + 1)).replace(' ', '0'));
        command += (String.format("%2s", HexUtil.intToHex(c.get(Calendar.DAY_OF_MONTH))).replace(' ', '0'));
        command += (String.format("%2s", HexUtil.intToHex(c.get(Calendar.HOUR_OF_DAY))).replace(' ', '0'));
        command += (String.format("%2s", HexUtil.intToHex(c.get(Calendar.MINUTE))).replace(' ', '0'));
        command += (String.format("%2s", HexUtil.intToHex(c.get(Calendar.SECOND))).replace(' ', '0'));
        command += ("00000001"); // 唯一标识,使用序列号
        command += (HexUtil.asciiToHex(message)); // 添加主要信息内容
        command += (HexUtil.asciiToHex("<EOF>")); // 添加结尾标识
        System.out.println(command);
        System.out.println(String.format("%4s", "1"));
        Date time = new Date();
        System.out.println(new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss").format(time));
        String timeHex = timeToHex(time);
        System.out.println(timeHex);
        System.out.println(hexToTime(timeHex));
        System.out.println("3c5354413e001a00000000000000000000000000010007e0021500152800000000000000005041001d017c017c01017c3c454f463e".length());
        System.out.println(hexToBinary("0c0a"));
        System.out.println(Integer.MAX_VALUE);
    }
    public static String hexTo2Binary(String hexString) {
        String binaryString = Integer.toBinaryString(hexToInt(hexString));
        return String.format("%8s", binaryString).replace(' ', '0');
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java
New file
@@ -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"));
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/utils/ResponseUtil.java
New file
@@ -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();
        }
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/utils/Result.java
New file
@@ -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);
    }
}
JiuMuMesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java
New file
@@ -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;
    }
}
JiuMuMesParent/common/servicebase/src/main/resources/banner.txt
New file
@@ -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                  //
JiuMuMesParent/common/servicebase/target/classes/banner.txt
New file
@@ -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                  //
JiuMuMesParent/common/servicebase/target/maven-archiver/pom.properties
New file
@@ -0,0 +1,3 @@
version=1.0-SNAPSHOT
groupId=com.mes
artifactId=servicebase
JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
New file
@@ -0,0 +1,31 @@
com\mes\engineering\service\EngineeringService.class
com\mes\utils\ResultCodeEnum.class
com\mes\service\Communication.class
com\mes\device\PlcParameterInfo.class
com\mes\device\PlcBitInfo.class
com\mes\device\PlcBitObject.class
com\mes\utils\MD5.class
com\mes\tools\WebSocketServer.class
com\mes\common\config\Const.class
com\mes\service\PlcAgreement.class
com\mes\engineering\mapper\EngineeringMapper.class
com\mes\tools\DatabaseDesignDocUtil.class
com\mes\engineering\entity\Engineering.class
com\mes\utils\Result.class
com\mes\common\config\MybatisPlusConfig.class
com\mes\common\exception\ServiceException.class
com\mes\service\ModbusTcp.class
com\mes\utils\ResponseUtil.class
com\mes\common\handler\MyMetaObjectHandler.class
com\mes\device\PlcParameterObject.class
com\mes\entity\request\GeneralRequest.class
com\mes\tools\InitUtil.class
com\mes\engineering\service\impl\EngineeringServiceImpl.class
com\mes\utils\HexUtil.class
com\mes\tools\HexConversion.class
com\mes\tools\S7control.class
com\mes\common\exception\GlobalExceptionHandler.class
com\mes\common\config\Swagger2Config.class
com\mes\common\config\WebSocketConfig.class
com\mes\service\PlcParameter.class
com\mes\tools\CodeGet.class
JiuMuMesParent/common/servicebase/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
New file
@@ -0,0 +1,31 @@
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\tools\WebSocketServer.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\service\ModbusTcp.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\handler\MyMetaObjectHandler.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\config\Swagger2Config.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\service\Communication.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\utils\MD5.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\engineering\service\impl\EngineeringServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\exception\ServiceException.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\device\PlcParameterObject.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\config\WebSocketConfig.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\tools\DatabaseDesignDocUtil.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\utils\HexUtil.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\engineering\entity\Engineering.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\engineering\mapper\EngineeringMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\tools\CodeGet.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\config\MybatisPlusConfig.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\service\PlcAgreement.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\tools\HexConversion.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\config\Const.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\entity\request\GeneralRequest.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\device\PlcBitInfo.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\utils\ResponseUtil.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\utils\ResultCodeEnum.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\device\PlcParameterInfo.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\tools\InitUtil.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\service\PlcParameter.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\device\PlcBitObject.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\common\exception\GlobalExceptionHandler.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\utils\Result.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\tools\S7control.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\servicebase\src\main\java\com\mes\engineering\service\EngineeringService.java
JiuMuMesParent/common/springsecurity/pom.xml
New file
@@ -0,0 +1,40 @@
<?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>
        <relativePath>../pom.xml</relativePath>
    </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>
            <version>0.9.0</version>
        </dependency>
    </dependencies>
</project>
JiuMuMesParent/common/springsecurity/springsecurity1.iml
New file
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="servicebase-1.0-SNAPSHOT" level="project" />
    <orderEntry type="module" module-name="servicebase1" />
  </component>
</module>
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java
New file
@@ -0,0 +1,37 @@
package com.mes.common.config;
import com.mes.common.utils.FastJsonRedisSerializer;
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.StringRedisSerializer;
/**
 * @Author : zhoush
 * @Date: 2024/4/9 19:13
 * @Description:
 */
@Configuration
public class RedisConfig {
    @Bean
    @SuppressWarnings(value = {"unchecked", "rawtypes"})
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
        RedisTemplate<Object, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(connectionFactory);
        FastJsonRedisSerializer serializer = new FastJsonRedisSerializer(Object.class);
        // 使用StringRedisSerializer来序列化和反序列化redis的key值
        template.setKeySerializer(new StringRedisSerializer());
        template.setValueSerializer(serializer);
        // Hash的key也采用StringRedisSerializer的序列化方式
        template.setHashKeySerializer(new StringRedisSerializer());
        template.setHashValueSerializer(serializer);
        template.afterPropertiesSet();
        return template;
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java
New file
@@ -0,0 +1,94 @@
package com.mes.common.config;
import com.mes.common.filter.JwtAuthenticationTokenFilter;
import com.mes.common.handler.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationManager;
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.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class TokenWebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    private JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter;
    @Autowired
    LoginFailureHandler loginFailureHandler;
    @Autowired
    LoginSuccessHandler loginSuccessHandler;
    @Autowired
    JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
    @Autowired
    JwtAccessDeniedHandler jwtAccessDeniedHandler;
    @Autowired
    JwtLogoutSuccessHandler jwtLogoutSuccessHandler;
    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
    /**
     * 配置过滤规则
     */
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors().and().csrf().disable()
                // 登录配置
                .formLogin()
                .successHandler(loginSuccessHandler)
                .failureHandler(loginFailureHandler)
                .and()
                .logout()
                .logoutSuccessHandler(jwtLogoutSuccessHandler)
                // 禁用session
                .and()
                .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                // 配置拦截规则
                .and()
                .authorizeRequests()
                .antMatchers("/sys/user/login").anonymous()
                .antMatchers("/swagger-ui.html").permitAll()
                .antMatchers("/webjars/**").permitAll()
                .antMatchers("/v2/**").permitAll()
                .antMatchers("/swagger-resources/**").permitAll()
                .antMatchers("/**").permitAll()
                .anyRequest().authenticated()
                // 异常处理器
                .and()
                .exceptionHandling()
                .authenticationEntryPoint(jwtAuthenticationEntryPoint)
                .accessDeniedHandler(jwtAccessDeniedHandler)
                // 配置自定义的过滤器
                .and()
                .addFilterBefore(jwtAuthenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
    }
    @Bean
    @Override
    public AuthenticationManager authenticationManagerBean() throws Exception {
        return super.authenticationManagerBean();
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java
New file
@@ -0,0 +1,80 @@
package com.mes.common.filter;
import com.mes.common.utils.JwtUtil;
import com.mes.common.utils.RedisUtil;
import com.mes.common.utils.UserInfoUtils;
import com.mes.userinfo.entity.LoginUser;
import com.mes.userinfo.service.SysUserService;
import io.jsonwebtoken.Claims;
import org.springframework.beans.factory.annotation.Autowired;
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.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.annotation.Resource;
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.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * @Author : zhoush
 * @Date: 2024/4/10 9:42
 * @Description:
 */
@Component
public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
    // 此处解释为什么不去实现Filter接口,因为在某些情况下会过滤两次,执行两次Filter里面的方法,所以我们选择继承SpringSecurity中的OncePerRequestFilter
    @Autowired
    private RedisUtil redisUtil;
    @Resource
    private SysUserService sysUserService;
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
        //获取token
        String token = request.getHeader("token");
        if (!StringUtils.hasText(token)) {
            //放行
            filterChain.doFilter(request, response);
            return; // 此处加上return好处是后面结果返回的时候就不会再走一遍此过滤器的方法了
        }
        //解析token
        String userid;
        try {
            Claims claims = JwtUtil.getClaimByToken(token);
            userid = claims.getSubject();
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("token非法");
        }
        //从redis中获取用户信息
        String redisKey = "login:" + userid;
        LoginUser loginUser = redisUtil.getCacheObject(redisKey);
        if (Objects.isNull(loginUser)) {
            response.setHeader("token", "");
            throw new RuntimeException("用户未登录");
        }
        //将用户信息放入当前线程
        UserInfoUtils.set(loginUser.getUser());
        //存入SecurityContextHolder,以供后面的过滤器使用
        List<String> permissionKeyList = sysUserService.getUserAuthorityInfo(Long.parseLong(userid));
        List<GrantedAuthority> authorities = permissionKeyList.stream().
                map(SimpleGrantedAuthority::new)
                .collect(Collectors.toList());
        UsernamePasswordAuthenticationToken authenticationToken =
                new UsernamePasswordAuthenticationToken(loginUser, null, authorities);
        SecurityContextHolder.getContext().setAuthentication(authenticationToken);
        //放行
        filterChain.doFilter(request, response);
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAccessDeniedHandler.java
New file
@@ -0,0 +1,35 @@
package com.mes.common.handler;
import cn.hutool.json.JSONUtil;
import com.mes.utils.Result;
import org.springframework.http.HttpStatus;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.web.access.AccessDeniedHandler;
import org.springframework.stereotype.Component;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
public class JwtAccessDeniedHandler implements AccessDeniedHandler {
    @Override
    public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException accessDeniedException) throws IOException, ServletException {
        response.setContentType("application/json;charset=UTF-8");
        response.setStatus(HttpServletResponse.SC_FORBIDDEN);
        ServletOutputStream outputStream = response.getOutputStream();
        Result result = Result.error(HttpStatus.FORBIDDEN.value(), "权限不足");
        outputStream.write(JSONUtil.toJsonStr(result).getBytes("UTF-8"));
        outputStream.flush();
        outputStream.close();
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAuthenticationEntryPoint.java
New file
@@ -0,0 +1,33 @@
package com.mes.common.handler;
import cn.hutool.json.JSONUtil;
import com.mes.utils.Result;
import org.springframework.http.HttpStatus;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.stereotype.Component;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
    @Override
    public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
        response.setContentType("application/json;charset=UTF-8");
        response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
        ServletOutputStream outputStream = response.getOutputStream();
        Result result = Result.error(HttpStatus.UNAUTHORIZED.value(), "认证失败请重新登录");
        outputStream.write(JSONUtil.toJsonStr(result).getBytes("UTF-8"));
        outputStream.flush();
        outputStream.close();
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtLogoutSuccessHandler.java
New file
@@ -0,0 +1,40 @@
package com.mes.common.handler;
import cn.hutool.json.JSONUtil;
import com.mes.utils.Result;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
import org.springframework.stereotype.Component;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
public class JwtLogoutSuccessHandler implements LogoutSuccessHandler {
    private static final String header = "Authorization";
    @Override
    public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
        if (authentication != null) {
            new SecurityContextLogoutHandler().logout(request, response, authentication);
        }
        response.setContentType("application/json;charset=UTF-8");
        ServletOutputStream outputStream = response.getOutputStream();
        response.setHeader(header, "");
        Result result = Result.success("");
        outputStream.write(JSONUtil.toJsonStr(result).getBytes("UTF-8"));
        outputStream.flush();
        outputStream.close();
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginFailureHandler.java
New file
@@ -0,0 +1,31 @@
package com.mes.common.handler;
import cn.hutool.json.JSONUtil;
import com.mes.utils.Result;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.authentication.AuthenticationFailureHandler;
import org.springframework.stereotype.Component;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
public class LoginFailureHandler implements AuthenticationFailureHandler {
    @Override
    public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException {
        response.setContentType("application/json;charset=UTF-8");
        ServletOutputStream outputStream = response.getOutputStream();
        Result result = Result.error("用户名或密码错误");
        outputStream.write(JSONUtil.toJsonStr(result).getBytes("UTF-8"));
        outputStream.flush();
        outputStream.close();
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginSuccessHandler.java
New file
@@ -0,0 +1,38 @@
package com.mes.common.handler;
import cn.hutool.json.JSONUtil;
import com.mes.common.utils.JwtUtil;
import com.mes.utils.Result;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
import org.springframework.stereotype.Component;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
public class LoginSuccessHandler implements AuthenticationSuccessHandler {
    private static final String header = "Authorization";
    @Override
    public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
        response.setContentType("application/json;charset=UTF-8");
        ServletOutputStream outputStream = response.getOutputStream();
        // 生成jwt,并放置到请求头中
        String jwt = JwtUtil.generateToken(authentication.getName());
        response.setHeader(header, jwt);
        Result result = Result.success("");
        outputStream.write(JSONUtil.toJsonStr(result).getBytes("UTF-8"));
        outputStream.flush();
        outputStream.close();
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/utils/FastJsonRedisSerializer.java
New file
@@ -0,0 +1,55 @@
package com.mes.common.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.type.TypeFactory;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException;
import java.nio.charset.Charset;
/**
 * @Author : zhoush
 * @Date: 2024/4/11 15:28
 * @Description:
 */
public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {
    public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
    private Class<T> clazz;
    static {
        ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
    }
    public FastJsonRedisSerializer(Class<T> clazz) {
        super();
        this.clazz = clazz;
    }
    @Override
    public byte[] serialize(T t) throws SerializationException {
        if (t == null) {
            return new byte[0];
        }
        return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(DEFAULT_CHARSET);
    }
    @Override
    public T deserialize(byte[] bytes) throws SerializationException {
        if (bytes == null || bytes.length <= 0) {
            return null;
        }
        String str = new String(bytes, DEFAULT_CHARSET);
        return JSON.parseObject(str, clazz);
    }
    protected JavaType getJavaType(Class<?> clazz) {
        return TypeFactory.defaultInstance().constructType(clazz);
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/utils/JwtUtil.java
New file
@@ -0,0 +1,55 @@
package com.mes.common.utils;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import lombok.Data;
import java.util.Date;
/**
 * @Author : zhoush
 * @Date: 2024/4/9 19:15
 * @Description:
 */
@Data
public class JwtUtil {
    private static final long expire = 60 * 60 * 1000L;
    private static final String secret = "beibo";
    private static final String header = "Authorization";
    // 生成jwt
    public static String generateToken(String username) {
        Date nowDate = new Date();
        Date expireDate = new Date(nowDate.getTime() + 1000 * expire);
        return Jwts.builder()
                .setHeaderParam("typ", "JWT")
                .setSubject(username)
                .setIssuedAt(nowDate)
                .setExpiration(expireDate)// 7天過期
                .signWith(SignatureAlgorithm.HS512, secret)
                .compact();
    }
    // 解析jwt
    public static Claims getClaimByToken(String jwt) {
        try {
            return Jwts.parser()
                    .setSigningKey(secret)
                    .parseClaimsJws(jwt)
                    .getBody();
        } catch (Exception e) {
            return null;
        }
    }
    // jwt是否过期
    public boolean isTokenExpired(Claims claims) {
        return claims.getExpiration().before(new Date());
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/utils/RedisUtil.java
New file
@@ -0,0 +1,235 @@
package com.mes.common.utils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.BoundSetOperations;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Component;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
 * spring redis 工具类
 **/
@Component
public class RedisUtil {
    @Autowired
    public RedisTemplate redisTemplate;
    /**
     * 缓存基本的对象,Integer、String、实体类等
     *
     * @param key   缓存的键值
     * @param value 缓存的值
     */
    public <T> void setCacheObject(final String key, final T value) {
        redisTemplate.opsForValue().set(key, value);
    }
    /**
     * 缓存基本的对象,Integer、String、实体类等
     *
     * @param key      缓存的键值
     * @param value    缓存的值
     * @param timeout  时间
     * @param timeUnit 时间颗粒度
     */
    public <T> void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit) {
        redisTemplate.opsForValue().set(key, value, timeout, timeUnit);
    }
    /**
     * 设置有效时间
     *
     * @param key     Redis键
     * @param timeout 超时时间
     * @return true=设置成功;false=设置失败
     */
    public boolean expire(final String key, final long timeout) {
        return expire(key, timeout, TimeUnit.SECONDS);
    }
    /**
     * 设置有效时间
     *
     * @param key     Redis键
     * @param timeout 超时时间
     * @param unit    时间单位
     * @return true=设置成功;false=设置失败
     */
    public boolean expire(final String key, final long timeout, final TimeUnit unit) {
        return redisTemplate.expire(key, timeout, unit);
    }
    /**
     * 获得缓存的基本对象。
     *
     * @param key 缓存键值
     * @return 缓存键值对应的数据
     */
    public <T> T getCacheObject(final String key) {
        ValueOperations<String, T> operation = redisTemplate.opsForValue();
        return operation.get(key);
    }
    /**
     * 删除单个对象
     *
     * @param key
     */
    public boolean deleteObject(final String key) {
        return redisTemplate.delete(key);
    }
    /**
     * 删除集合对象
     *
     * @param collection 多个对象
     * @return
     */
    public long deleteObject(final Collection collection) {
        return redisTemplate.delete(collection);
    }
    /**
     * 缓存List数据
     *
     * @param key      缓存的键值
     * @param dataList 待缓存的List数据
     * @return 缓存的对象
     */
    public <T> long setCacheList(final String key, final List<T> dataList) {
        Long count = redisTemplate.opsForList().rightPushAll(key, dataList);
        return count == null ? 0 : count;
    }
    /**
     * 获得缓存的list对象
     *
     * @param key 缓存的键值
     * @return 缓存键值对应的数据
     */
    public <T> List<T> getCacheList(final String key) {
        return redisTemplate.opsForList().range(key, 0, -1);
    }
    /**
     * 缓存Set
     *
     * @param key     缓存键值
     * @param dataSet 缓存的数据
     * @return 缓存数据的对象
     */
    public <T> BoundSetOperations<String, T> setCacheSet(final String key, final Set<T> dataSet) {
        BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key);
        Iterator<T> it = dataSet.iterator();
        while (it.hasNext()) {
            setOperation.add(it.next());
        }
        return setOperation;
    }
    /**
     * 获得缓存的set
     *
     * @param key
     * @return
     */
    public <T> Set<T> getCacheSet(final String key) {
        return redisTemplate.opsForSet().members(key);
    }
    /**
     * 缓存Map
     *
     * @param key
     * @param dataMap
     */
    public <T> void setCacheMap(final String key, final Map<String, T> dataMap) {
        if (dataMap != null) {
            redisTemplate.opsForHash().putAll(key, dataMap);
        }
    }
    /**
     * 获得缓存的Map
     *
     * @param key
     * @return
     */
    public <T> Map<String, T> getCacheMap(final String key) {
        return redisTemplate.opsForHash().entries(key);
    }
    /**
     * 往Hash中存入数据
     *
     * @param key   Redis键
     * @param hKey  Hash键
     * @param value 值
     */
    public <T> void setCacheMapValue(final String key, final String hKey, final T value) {
        redisTemplate.opsForHash().put(key, hKey, value);
    }
    /**
     * 获取Hash中的数据
     *
     * @param key  Redis键
     * @param hKey Hash键
     * @return Hash中的对象
     */
    public <T> T getCacheMapValue(final String key, final String hKey) {
        HashOperations<String, String, T> opsForHash = redisTemplate.opsForHash();
        return opsForHash.get(key, hKey);
    }
    /**
     * 删除Hash中的数据
     *
     * @param key
     * @param hkey
     */
    public void delCacheMapValue(final String key, final String hkey) {
        HashOperations hashOperations = redisTemplate.opsForHash();
        hashOperations.delete(key, hkey);
    }
    /**
     * 获取多个Hash中的数据
     *
     * @param key   Redis键
     * @param hKeys Hash键集合
     * @return Hash对象集合
     */
    public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys) {
        return redisTemplate.opsForHash().multiGet(key, hKeys);
    }
    /**
     * 获得缓存的基本对象列表
     *
     * @param pattern 字符串前缀
     * @return 对象列表
     */
    public Collection<String> keys(final String pattern) {
        return redisTemplate.keys(pattern);
    }
    /**
     * 判断key是否存在
     *
     * @param key 键
     * @return true 存在 false不存在
     */
    public boolean hasKey(String key) {
        try {
            return redisTemplate.hasKey(key);
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/utils/UserInfoUtils.java
New file
@@ -0,0 +1,26 @@
package com.mes.common.utils;
import com.mes.userinfo.entity.SysUser;
/**
 * @Author : zhoush
 * @Date: 2024/4/25 15:41
 * @Description:
 */
public class UserInfoUtils {
    private static InheritableThreadLocal<SysUser> tokenPool = new InheritableThreadLocal<SysUser>();
    public static SysUser get() {
        return tokenPool.get();
    }
    public static void set(SysUser user) {
        tokenPool.set(user);
    }
    public static void remove() {
        if (get() != null) {
            tokenPool.remove();
        }
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/common/utils/WebUtils.java
New file
@@ -0,0 +1,30 @@
package com.mes.common.utils;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * @Author : zhoush
 * @Date: 2024/4/9 19:16
 * @Description:
 */
public class WebUtils {
    /**
     * 将字符串渲染到客户端
     *
     * @param response 渲染对象
     * @param string   待渲染的字符串
     * @return null
     */
    public static String renderString(HttpServletResponse response, String string) {
        try {
            response.setStatus(200);
            response.setContentType("application/json");
            response.setCharacterEncoding("utf-8");
            response.getWriter().print(string);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java
New file
@@ -0,0 +1,83 @@
package com.mes.menu.controller;
import com.mes.entity.request.GeneralRequest;
import com.mes.menu.entity.SysMenu;
import com.mes.menu.service.SysMenuService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * @author zhoush
 * @since 2024-04-11
 */
@Api(description = "菜单管理")
@RestController
@RequestMapping("/sys/menu")
public class SysMenuController {
    @Autowired
    private SysMenuService sysMenuService;
    @ApiOperation("新增菜单")
    @PostMapping("/save")
//    @PreAuthorize("hasAuthority('sys:menu:save')")
    public Result save(@Validated @RequestBody SysMenu sysMenu) {
        sysMenuService.save(sysMenu);
        GeneralRequest request=new GeneralRequest();
        return Result.success(sysMenuService.getMenuTree(request));
    }
    @ApiOperation("修改菜单信息")
    @PostMapping("/updateMenu")
//    @PreAuthorize("hasAuthority('sys:menu:update')")
    public Result<List<SysMenu>> updateMenu(@Validated @RequestBody SysMenu sysMenu) {
        //return Result.success(sysMenu);
        sysMenuService.updateMenu(sysMenu);
        GeneralRequest request=new GeneralRequest();
        return Result.build(200,"修改成功",sysMenuService.getMenuTree(request));
    }
    @ApiOperation("获取用户有权限的所有菜单")
    @GetMapping("/getMenuTree")
    public Result<List<SysMenu>> getMenuTree(GeneralRequest request) {
        return Result.success(sysMenuService.getMenuTree(request));
    }
    @ApiOperation("获取用户的权限")
    @GetMapping("/getAuthorityInfo")
    public Result<List<String>> getAuthorityInfo() {
        return Result.success(sysMenuService.getAuthorityInfo());
    }
    @ApiOperation("用户当前用户的菜单和权限信息")
    @GetMapping("/nav")
    public Result<Map<Object, Object>> nav() {
        return Result.success(sysMenuService.nav());
    }
    @ApiOperation("删除菜单")
    @PostMapping("/deleteMenu")
//    @PreAuthorize("hasAuthority('sys:menu:delete')")
    public Result<List<SysMenu>> deleteMenu(Long menuId) {
        GeneralRequest request=new GeneralRequest();
        return Result.build(200, sysMenuService.deleteMenu(menuId),sysMenuService.getMenuTree(request));
    }
    @ApiOperation("批量删除菜单")
    @PostMapping("/batchDeleteMenu")
//    @PreAuthorize("hasAuthority('sys:menu:delete')")
    public Result<String> batchDeleteMenu(@RequestBody List<Long> menuIds) {
        return Result.success(sysMenuService.batchDeleteMenu(menuIds));
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/menu/entity/SysMenu.java
New file
@@ -0,0 +1,87 @@
package com.mes.menu.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * <p>
 *
 * </p>
 *
 * @author zhoush
 * @since 2024-04-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SysMenu implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 自增id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 父id
     */
    private Long parentId;
    /**
     * 模块名称
     */
    private String menuName;
    /**
     * 图标
     */
    private String icon;
    /**
     * 地址
     */
    private String url;
    /**
     * 语言类型
     */
    private String languageType;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 排序
     */
    private String listSort;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 权限
     */
    private String perms;
    /**
     * 子菜单
     */
    @TableField(exist = false)
    private List<SysMenu> children;
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java
New file
@@ -0,0 +1,20 @@
package com.mes.menu.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.menu.entity.SysMenu;
import java.util.List;
/**
 * <p>
 * 菜单表 Mapper 接口
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
public interface SysMenuMapper extends MPJBaseMapper<SysMenu> {
    List<String> selectPermsByUserId(long parseLong);
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java
New file
@@ -0,0 +1,66 @@
package com.mes.menu.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.entity.request.GeneralRequest;
import com.mes.menu.entity.SysMenu;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 菜单表 服务类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
public interface SysMenuService extends IService<SysMenu> {
    /**
     * 更新菜单信息
     *
     * @param menu
     * @return
     */
    SysMenu updateMenu(SysMenu menu);
    /**
     * 获取用户有权限的菜单树
     *
     * @return
     */
    List<SysMenu> getMenuTree(GeneralRequest request);
    /**
     * 获取用户的权限
     *
     * @return
     */
    List<String> getAuthorityInfo();
    /**
     * 获取用户菜单及权限信息
     *
     * @return
     */
    Map<Object, Object> nav();
    /**
     * 删除菜单信息
     *
     * @param menuId
     * @return
     */
    String deleteMenu(Long menuId);
    /**
     * 批量删除菜单信息
     *
     * @param menuIds
     * @return
     */
    String batchDeleteMenu(List<Long> menuIds);
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
New file
@@ -0,0 +1,148 @@
package com.mes.menu.service.impl;
import cn.hutool.core.map.MapUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.utils.UserInfoUtils;
import com.mes.entity.request.GeneralRequest;
import com.mes.menu.entity.SysMenu;
import com.mes.menu.mapper.SysMenuMapper;
import com.mes.menu.service.SysMenuService;
import com.mes.role.entity.SysRoleMenu;
import com.mes.role.service.SysRoleMenuService;
import com.mes.userinfo.entity.SysUser;
import com.mes.userinfo.entity.SysUserRole;
import com.mes.userinfo.mapper.SysUserRoleMapper;
import com.mes.userinfo.service.SysUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * <p>
 * 菜单表 服务实现类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
@Service
@Slf4j
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService {
    @Autowired
    SysUserService sysUserService;
    @Autowired
    SysUserRoleMapper sysUserRoleMapper;
    @Autowired
    SysRoleMenuService sysRoleMenuService;
    @Override
    public SysMenu updateMenu(SysMenu menu) {
        baseMapper.updateById(menu);
        // 清除所有与该菜单相关的权限缓存
        sysUserService.clearUserAuthorityInfoByMenuId(menu.getId());
        return menu;
    }
    @Override
    public List<SysMenu> getMenuTree(GeneralRequest request) {
        //todo:需要先获取用户的角色,角色下的菜单权限,拿到菜单id获取所有菜单
        SysUser user = UserInfoUtils.get();
        MPJLambdaWrapper<SysUserRole> wrapper = new MPJLambdaWrapper<>();
        wrapper.selectAll(SysMenu.class).distinct()
                .innerJoin(SysUser.class, SysUser::getId, SysUserRole::getUserId)
                .innerJoin(SysRoleMenu.class, SysRoleMenu::getRoleId, SysUserRole::getRoleId)
                .innerJoin(SysMenu.class, SysMenu::getId, SysRoleMenu::getMenuId)
                .eq(SysUser::getId, user.getId())
                .like(StringUtils.isNotBlank(request.getKey()), SysMenu::getMenuName, request.getKey());
        //
        List<SysMenu> menuList = sysUserRoleMapper.selectJoinList(SysMenu.class, wrapper);
        log.info("userinfos:{}",menuList);
        return create(menuList);
    }
    @Override
    public List<String> getAuthorityInfo() {
        SysUser user = UserInfoUtils.get();
        log.info("获取用户信息,用户名为{}", user);
        // 获取权限信息
        // ROLE_admin,ROLE_normal,sys:user:list,....
        return sysUserService.getUserAuthorityInfo(user.getId());
    }
    @Override
    public Map<Object, Object> nav() {
        List<SysMenu> menuTree = getMenuTree(new GeneralRequest());
        List<String> authorityInfo = getAuthorityInfo();
        return MapUtil.builder().put("authoritys", authorityInfo)
                .put("tree", menuTree).map();
    }
    @Override
    public String deleteMenu(Long menuId) {
        int count = this.count(new LambdaQueryWrapper<SysMenu>().eq(SysMenu::getParentId, menuId));
        if (count > 0) {
            return "无法删除,请先删除子菜单";
        }
        // 清除所有与该菜单相关的权限缓存
        sysUserService.clearUserAuthorityInfoByMenuId(menuId);
        this.removeById(menuId);
        // 同步删除中间关联表
        sysRoleMenuService.remove(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getMenuId, menuId));
        return "删除成功";
    }
    @Override
    public String batchDeleteMenu(List<Long> menuIds) {
        menuIds.stream().forEach(e -> deleteMenu(e));
        return "批量删除成功";
    }
    /**
     * 将数据库中查询出来的list集合传入此方法即可获得排成树形结构的list集合
     *
     * @param lists
     * @return
     */
    public List<SysMenu> create(List<SysMenu> lists) {
        List<SysMenu> deptTreeList = lists.stream()
                .filter(item -> item.getParentId() == 0)
                .map(item -> {
                    item.setChildren(getChildren(item, lists));
                    return item;
                }).collect(Collectors.toList());
        return deptTreeList;
    }
    /**
     * 此方法将被递归调用
     *
     * @param menu
     * @param menus
     * @return
     */
    private List<SysMenu> getChildren(SysMenu menu, List<SysMenu> menus) {
        List<SysMenu> res = menus.stream()
                .filter(item -> item.getParentId().equals(menu.getId()))
                .collect(Collectors.toList());
        log.info("菜单树:{}", JSONUtil.toJsonStr(res));
        return res;
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java
New file
@@ -0,0 +1,67 @@
package com.mes.role.controller;
import com.mes.entity.request.GeneralRequest;
import com.mes.role.entity.SysRole;
import com.mes.role.entity.vo.SysRoleVO;
import com.mes.role.service.SysRoleService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @author zhoush
 * @since 2024-04-11
 */
@Api(description = "角色管理")
@RestController
@RequestMapping("/sys/role")
public class SysRoleController {
    @Autowired
    private SysRoleService sysRoleService;
    @ApiOperation("新增角色及角色下的权限信息")
    @PostMapping("/saveRole")
//    @PreAuthorize("hasAuthority('sys:role:save')")
    public Result<SysRoleVO> saveRole(@Validated @RequestBody SysRoleVO sysRoleVO) {
        //return Result.success(sysRoleService.saveRole(sysRoleVO));
        sysRoleService.saveRole(sysRoleVO);
        return Result.build(200,"新增成功",sysRoleVO);
    }
    @ApiOperation("编辑角色及角色下的权限信息")
    @PostMapping("/updateRole")
//    @PreAuthorize("hasAuthority('sys:role:save')")
    public Result<SysRoleVO> updateRole(@Validated @RequestBody SysRoleVO sysRoleVO) {
       // return Result.success(sysRoleService.updateRole(sysRoleVO));
        sysRoleService.updateRole(sysRoleVO);
        return Result.build(200,"新增成功",sysRoleVO);
    }
    @ApiOperation("查询角色及角色下的权限信息")
    @PostMapping("/queryRole")
//    @PreAuthorize("hasAuthority('sys:role:save')")
    public Result<List<SysRoleVO>> queryRole(@Validated @RequestBody GeneralRequest request) {
        return Result.success(sysRoleService.queryRole(request));
    }
    @ApiOperation("删除角色及角色下的权限信息")
    @PostMapping("/delete")
//    @PreAuthorize("hasAuthority('sys:role:delete')")
    @Transactional
    public Result<String> deleteRole(@RequestBody List<Long> ids) {
        return Result.build(200,"删除成功",sysRoleService.deleteRole(ids));
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRole.java
New file
@@ -0,0 +1,50 @@
package com.mes.role.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-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SysRole implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private String name;
    /**
     * 角色权限字符串
     */
    private String roleKey;
    /**
     * 角色状态(0正常 1停用)
     */
    private String status;
    /**
     * 删除标志
     */
    private Integer delFlag;
    /**
     * 备注
     */
    private String remark;
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java
New file
@@ -0,0 +1,36 @@
package com.mes.role.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-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SysRoleMenu implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 角色ID
     */
    @TableId(type = IdType.NONE)
    private Long roleId;
    /**
     * 菜单id
     */
    private Long menuId;
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/entity/vo/SysRoleVO.java
New file
@@ -0,0 +1,44 @@
package com.mes.role.entity.vo;
import com.mes.menu.entity.SysMenu;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
 * @Author : zhoush
 * @Date: 2024/4/26 13:57
 * @Description:
 */
@Api(description = "角色信息")
@Data
public class SysRoleVO implements Serializable {
    @ApiModelProperty(hidden = true)
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "角色ID", position = 2)
    private Long id;
    @ApiModelProperty(value = "角色名称", position = 3)
    private String name;
    @ApiModelProperty(value = "角色权限字符串", position = 4)
    private String roleKey;
    @ApiModelProperty(value = "角色状态(0正常 1停用)", position = 5)
    private String status;
    @ApiModelProperty(value = "删除标志", position = 6)
    private Integer delFlag;
    @ApiModelProperty(value = "备注", position = 7)
    private String remark;
    @ApiModelProperty(value = "角色菜单信息", position = 8)
    private List<SysMenu> menuList;
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java
New file
@@ -0,0 +1,16 @@
package com.mes.role.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.role.entity.SysRole;
/**
 * <p>
 * 角色表 Mapper 接口
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
public interface SysRoleMapper extends MPJBaseMapper<SysRole> {
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.role.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.role.entity.SysRoleMenu;
/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.role.mapper.SysRoleMapper">
</mapper>
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMenuMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.role.mapper.SysRoleMenuMapper">
</mapper>
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleMenuService.java
New file
@@ -0,0 +1,16 @@
package com.mes.role.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.role.entity.SysRoleMenu;
/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
public interface SysRoleMenuService extends IService<SysRoleMenu> {
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleService.java
New file
@@ -0,0 +1,51 @@
package com.mes.role.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.entity.request.GeneralRequest;
import com.mes.role.entity.SysRole;
import com.mes.role.entity.vo.SysRoleVO;
import java.util.List;
/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
public interface SysRoleService extends IService<SysRole> {
    /**
     * 创建角色信息
     *
     * @param sysRoleVO
     * @return
     */
    SysRole saveRole(SysRoleVO sysRoleVO);
    /**
     * 修改角色信息及权限
     *
     * @param sysRoleVO
     * @return
     */
    String updateRole(SysRoleVO sysRoleVO);
    /**
     * 按照角色名查询角色信息
     *
     * @param request
     * @return
     */
    List<SysRoleVO> queryRole(GeneralRequest request);
    /**
     * 查询角色及角色下的权限信息
     *
     * @param ids
     * @return
     */
    String deleteRole(List<Long> ids);
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleMenuServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.mes.role.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.role.entity.SysRoleMenu;
import com.mes.role.mapper.SysRoleMenuMapper;
import com.mes.role.service.SysRoleMenuService;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 服务实现类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
@Service
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService {
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
New file
@@ -0,0 +1,139 @@
package com.mes.role.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.entity.request.GeneralRequest;
import com.mes.menu.entity.SysMenu;
import com.mes.role.entity.SysRole;
import com.mes.role.entity.SysRoleMenu;
import com.mes.role.entity.vo.SysRoleVO;
import com.mes.role.mapper.SysRoleMapper;
import com.mes.role.service.SysRoleMenuService;
import com.mes.role.service.SysRoleService;
import com.mes.userinfo.entity.SysUserRole;
import com.mes.userinfo.service.SysUserRoleService;
import com.mes.userinfo.service.SysUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
 * 角色表 服务实现类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
@Service
@Slf4j
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
    @Autowired
    SysRoleMenuService sysRoleMenuService;
    @Autowired
    SysUserService sysUserService;
    @Autowired
    SysUserRoleService sysUserRoleService;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public SysRole saveRole(SysRoleVO sysRoleVO) {
        log.info("保存角色信息,生成对应的角色id");
        SysRole sysRole = new SysRole();
        BeanUtils.copyProperties(sysRoleVO, sysRole);
        this.save(sysRole);
        //保存角色权限信息
        saveRoleMenu(sysRole.getId(), sysRoleVO.getMenuList());
        return sysRole;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public String updateRole(SysRoleVO sysRoleVO) {
        log.info("保存角色信息,生成对应的角色id");
        SysRole sysRole = new SysRole();
        BeanUtils.copyProperties(sysRoleVO, sysRole);
        this.updateById(sysRole);
        //保存角色权限信息
        return saveRoleMenu(sysRole.getId(), sysRoleVO.getMenuList());
    }
    @Override
    public List<SysRoleVO> queryRole(GeneralRequest request) {
        MPJLambdaWrapper<SysRole> wrapper = new MPJLambdaWrapper<>();
        wrapper.selectAll(SysRole.class)
                .selectCollection(SysMenu.class, SysRoleVO::getMenuList)
                .leftJoin(SysRoleMenu.class, SysRoleMenu::getRoleId, SysRole::getId)
                .leftJoin(SysMenu.class, SysMenu::getId, SysRoleMenu::getMenuId)
                .like(StringUtils.hasText(request.getKey()), SysRole::getName, request.getKey());
        return baseMapper.selectJoinList(SysRoleVO.class, wrapper);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public String deleteRole(List<Long> ids) {
        log.info("删除角色信息");
        this.removeByIds(ids);
        log.info("删除中间表信息");
        sysUserRoleService.remove(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getRoleId, ids));
        sysRoleMenuService.remove(new LambdaQueryWrapper<SysRoleMenu>().in(SysRoleMenu::getRoleId, ids));
        log.info("清空缓存中的权限信息");
        ids.stream().forEach(id -> sysUserService.clearUserAuthorityInfoByRoleId(id));
        return "success";
    }
    /**
     * 保存角色权限信息
     *
     * @param roleId
     * @param menuList
     * @return
     */
    private String saveRoleMenu(Long roleId, List<SysMenu> menuList) {
        log.info("配置角色菜单关系");
        if (CollectionUtils.isEmpty(menuList)) {
            // 先删除原来的记录,再保存新的
            sysRoleMenuService.remove(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, roleId));
            // 删除缓存
            sysUserService.clearUserAuthorityInfoByRoleId(roleId);
            return "success";
        }
        List<SysRoleMenu> roleMenuList = menuList.stream().map(menu -> {
            SysRoleMenu roleMenu = new SysRoleMenu();
            roleMenu.setRoleId(roleId);
            roleMenu.setMenuId(menu.getId());
            return roleMenu;
        }).collect(Collectors.toList());
        // 使用流处理菜单列表,提取 children 的 id,并设置到 SysRoleMenu 中
        List<SysRoleMenu> childrenList = menuList.stream()
                .flatMap(menu -> menu.getChildren().stream()) // 扁平化处理 children 列表
                .map(child -> {
                    SysRoleMenu roleMenu = new SysRoleMenu();
                    roleMenu.setRoleId(roleId);
                    roleMenu.setMenuId(child.getId()); // 设置 child 的 id 到 menuId
                    return roleMenu;
                })
                .collect(Collectors.toList());
        log.info("清空角色权限表中该角色信息");
        // 先删除原来的记录,再保存新的
        sysRoleMenuService.remove(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, roleId));
        sysRoleMenuService.saveBatch(roleMenuList);
        sysRoleMenuService.saveBatch(childrenList);
        // 删除缓存
        sysUserService.clearUserAuthorityInfoByRoleId(roleId);
        return "success";
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/controller/SysUserController.java
New file
@@ -0,0 +1,93 @@
package com.mes.userinfo.controller;
import com.mes.entity.request.GeneralRequest;
import com.mes.userinfo.entity.SysUser;
import com.mes.userinfo.entity.vo.SysUserVO;
import com.mes.userinfo.service.SysUserService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 用户表 前端控制器
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
@Api(description = "用户管理")
@RestController
@RequestMapping("/sys/user")
public class SysUserController {
    @Autowired
    private SysUserService sysUserService;
    @ApiOperation("用户登录")
    @PostMapping("/login")
    public Result<Map<String, String>> login(@RequestBody SysUser user) {
        return Result.success(sysUserService.login(user));
    }
    @ApiOperation("退出登录")
    @PostMapping("/logout")
    @PreAuthorize("hasAuthority('xt:yh')")
    public Result<String> logout() {
        return Result.success(sysUserService.logout());
    }
    @ApiOperation("新增用户信息")
    @PostMapping("/saveUser")
//    @PreAuthorize("hasAuthority('sys:user:save')")
    public Result<String> saveUser(@Validated @RequestBody SysUserVO sysUser) {
        return Result.success(sysUserService.saveUser(sysUser));
    }
    @ApiOperation("更新用户信息")
    @PostMapping("/updateUser")
//    @PreAuthorize("hasAuthority('sys:user:update')")
    public Result<List<SysUserVO>> updateUser(@Validated @RequestBody SysUserVO sysUser) {
        sysUserService.updateUser(sysUser);
        GeneralRequest request=new GeneralRequest();
        //request.setKey("");
        return Result.success(sysUserService.listByUserName(request));
        //更改了修改之后返回所有用户列表
    }
    @ApiOperation("重置密码")
    @PostMapping("/resetPassword")
//    @PreAuthorize("hasAuthority('sys:user:resetPassword')")
    public Result resetPassword(String userId) {
        return Result.success(sysUserService.resetPassword(Long.parseLong(userId)));
    }
    @ApiOperation("获取用户列表")
    @PostMapping("/listByUserName")
//    @PreAuthorize("hasAuthority('sys:user:list')")
    public Result<List<SysUserVO>> listByUserName(@RequestBody GeneralRequest request) {
        return Result.success(sysUserService.listByUserName(request));
    }
    @ApiOperation("删除用户信息")
    @PostMapping("/deleteUser")
//    @PreAuthorize("hasAuthority('sys:user:delete')")
    public Result<String> deleteUser(@RequestBody List<Long> ids) {
        return Result.success(sysUserService.deleteUser(ids));
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/LoginUser.java
New file
@@ -0,0 +1,94 @@
package com.mes.userinfo.entity;
import com.alibaba.fastjson.annotation.JSONField;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
/**
 * @Author : zhoush
 * @Date: 2024/4/11 15:46
 * @Description:
 */
public class LoginUser implements UserDetails {
    private SysUser user;
    /**
     * 存储权限信息
     */
    @JSONField(serialize = false)
    private List<String> permissions;
    /**
     * 存储SpringSecurity调用getAuthorities()方法获取的权限信息的集合
     */
    @JSONField(serialize = false)
    private List<GrantedAuthority> authorities;
    public LoginUser() {
    }
    public LoginUser(SysUser user, List<String> permissions) {
        this.user = user;
        this.permissions = permissions;
    }
    public SysUser getUser() {
        return user;
    }
    public void setUser(SysUser user) {
        this.user = user;
    }
    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        // 优化为只需要第一次获取的时候进行遍历,后面再用就会从authorities这个成员变量中获取了,不会再进行Stream循环遍历了
        if (authorities != null) {
            return authorities;
        }
        //把permissions中字符串类型的权限信息转换成GrantedAuthority对象存入authorities中
        authorities = permissions.stream().
                map(SimpleGrantedAuthority::new)
                .collect(Collectors.toList());
        return authorities;
    }
    @Override
    public String getPassword() {
        return user.getPassword();
    }
    @Override
    public String getUsername() {
        return user.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;
    }
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUser.java
New file
@@ -0,0 +1,67 @@
package com.mes.userinfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
 * <p>
 * 用户表
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SysUser implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 用户名
     */
    private String userName;
    /**
     * 昵称
     */
    private String nickName;
    /**
     * 密码
     */
    private String password;
    /**
     * 账号状态(0正常 1停用)
     */
    private String status;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 用户类型(0管理员,1普通用户)
     */
    private String userType;
    /**
     * 删除标志
     */
    private Integer delFlag;
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUserRole.java
New file
@@ -0,0 +1,38 @@
package com.mes.userinfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
 * <p>
 *
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@AllArgsConstructor
public class SysUserRole implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 用户id
     */
    @TableId(type = IdType.NONE)
    private Long userId;
    /**
     * 角色id
     */
    private Long roleId;
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/vo/SysUserVO.java
New file
@@ -0,0 +1,63 @@
package com.mes.userinfo.entity.vo;
import com.mes.role.entity.SysRole;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
 * <p>
 * 用户表
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
@Api(description = "用户信息")
@Data
public class SysUserVO implements Serializable {
    @ApiModelProperty(hidden = true)
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", position = 2)
    private Long id;
    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名", position = 3)
    private String userName;
    /**
     * 昵称
     */
    @ApiModelProperty(value = "昵称", position = 4)
    private String nickName;
    /**
     * 密码
     */
    @ApiModelProperty(value = "密码", position = 5)
    private String password;
    /**
     * 头像
     */
    @ApiModelProperty(value = "头像", position = 6)
    private String avatar;
    /**
     * 用户的角色信息
     */
    @ApiModelProperty(value = "用户的角色信息", position = 7)
    private List<SysRole> roleList;
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java
New file
@@ -0,0 +1,18 @@
package com.mes.userinfo.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.userinfo.entity.SysUser;
/**
 * <p>
 * 用户表 Mapper 接口
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
@DS("hangzhoumes")
public interface SysUserMapper extends MPJBaseMapper<SysUser> {
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.userinfo.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.userinfo.entity.SysUserRole;
/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
public interface SysUserRoleMapper extends MPJBaseMapper<SysUserRole> {
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.userinfo.mapper.SysUserMapper">
</mapper>
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserRoleMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.userinfo.mapper.SysUserRoleMapper">
</mapper>
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserRoleService.java
New file
@@ -0,0 +1,17 @@
package com.mes.userinfo.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.userinfo.entity.SysUserRole;
/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
public interface SysUserRoleService extends MPJBaseService<SysUserRole> {
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserService.java
New file
@@ -0,0 +1,110 @@
package com.mes.userinfo.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.entity.request.GeneralRequest;
import com.mes.userinfo.entity.SysUser;
import com.mes.userinfo.entity.vo.SysUserVO;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
public interface SysUserService extends IService<SysUser> {
    /**
     * 用户登录
     *
     * @param user
     * @return
     */
    Map<String, String> login(SysUser user);
    /**
     * 退出登录
     *
     * @return
     */
    String logout();
    /**
     * 新增用户信息
     *
     * @param user
     * @return
     */
    String saveUser(SysUserVO user);
    /**
     * 更新用户信息
     *
     * @param sysUser
     * @return
     */
    SysUserVO updateUser(SysUserVO sysUser);
    /**
     * 重置密码
     *
     * @param userId
     * @return
     */
    String resetPassword(Long userId);
    /**
     * 按名称获取用户信息
     *
     * @param userName
     * @return
     */
    SysUser queryByUserName(String userName);
    /**
     * 按关键字获取用户信息列表
     *
     * @param request
     * @return
     */
    List<SysUserVO> listByUserName(GeneralRequest request);
    /**
     * 删除用户信息
     *
     * @param ids
     * @return
     */
    String deleteUser(List<Long> ids);
    /**
     * 获取用户角色权限信息
     *
     * @param userId
     * @return
     */
    List<String> getUserAuthorityInfo(Long userId);
    /**
     * 清空用户权限信息通过用户信息
     */
    void clearUserAuthorityInfo(String userName);
    /**
     * 清空用户权限信息通过角色id
     *
     * @param roleId
     */
    void clearUserAuthorityInfoByRoleId(Long roleId);
    /**
     * 清空用户权限信息通过菜单id
     *
     * @param menuId
     */
    void clearUserAuthorityInfoByMenuId(Long menuId);
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserRoleServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.mes.userinfo.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.userinfo.entity.SysUserRole;
import com.mes.userinfo.mapper.SysUserRoleMapper;
import com.mes.userinfo.service.SysUserRoleService;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 服务实现类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
@Service
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService {
}
JiuMuMesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java
New file
@@ -0,0 +1,271 @@
package com.mes.userinfo.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.config.Const;
import com.mes.common.utils.JwtUtil;
import com.mes.common.utils.RedisUtil;
import com.mes.common.utils.UserInfoUtils;
import com.mes.entity.request.GeneralRequest;
import com.mes.menu.mapper.SysMenuMapper;
import com.mes.role.entity.SysRole;
import com.mes.role.entity.SysRoleMenu;
import com.mes.role.service.SysRoleService;
import com.mes.userinfo.entity.LoginUser;
import com.mes.userinfo.entity.SysUser;
import com.mes.userinfo.entity.SysUserRole;
import com.mes.userinfo.entity.vo.SysUserVO;
import com.mes.userinfo.mapper.SysUserMapper;
import com.mes.userinfo.mapper.SysUserRoleMapper;
import com.mes.userinfo.service.SysUserRoleService;
import com.mes.userinfo.service.SysUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
 * <p>
 * 用户表 服务实现类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-11
 */
@Service
@Slf4j
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService, UserDetailsService {
    @Autowired
    private AuthenticationManager authenticationManager;
    @Autowired
    private RedisUtil redisUtil;
    @Resource
    private SysMenuMapper sysMenuMapper;
    @Resource
    private SysUserRoleService sysUserRoleService;
    @Resource
    private SysRoleService sysRoleService;
    @Resource
    BCryptPasswordEncoder passwordEncoder;
    @Autowired
    private SysUserRoleMapper sysUserRoleMapper;
    @Override
    public Map<String, String> login(SysUser user) {
        UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(user.getUserName(), user.getPassword());
        Authentication authenticate = authenticationManager.authenticate(authenticationToken);
        if (Objects.isNull(authenticate)) {
            throw new RuntimeException("用户名或密码错误");
        }
        //使用userid生成token
        LoginUser loginUser = (LoginUser) authenticate.getPrincipal();
        String userId = loginUser.getUser().getId().toString();
        String jwt = JwtUtil.generateToken(userId);
        //查询权限信息
//        List<String> perms = sysMenuMapper.selectPermsByUserId(userId);
        //authenticate存入redis
        redisUtil.setCacheObject("login:" + userId, loginUser);
        //把token响应给前端
        HashMap<String, String> map = new HashMap<>();
        map.put("token", jwt);
        return map;
    }
    @Override
    public String logout() {
        log.info("用户退出");
        SysUser user = UserInfoUtils.get();
        redisUtil.deleteObject("login:" + user.getId());
        return "注销成功";
    }
    @Transactional
    @Override
    public String saveUser(SysUserVO user) {
        log.info("保存用户信息");
        // 默认密码
        String password = passwordEncoder.encode(Const.DEFULT_PASSWORD);
        user.setPassword(password);
        SysUser sysUser = new SysUser();
        BeanUtils.copyProperties(user, sysUser);
        this.save(sysUser);
        saveUserRole(user.getRoleList(), sysUser.getId());
        return "success";
    }
    @Transactional
    @Override
    public SysUserVO updateUser(SysUserVO user) {
        log.info("更新用户信息");
        SysUser sysUser = new SysUser();
        BeanUtils.copyProperties(user, sysUser);
        this.updateById(sysUser);
        log.info("删除用户角色信息");
        List<Long> roleIds = user.getRoleList().stream().map(SysRole::getId).collect(Collectors.toList());
//        sysUserRoleService.remove(new LambdaQueryWrapper<SysUserRole>()
//                .eq(SysUserRole::getUserId, sysUser.getId()).in(CollectionUtil.isNotEmpty(roleIds), SysUserRole::getRoleId, roleIds));
        SysUserRole sysUserRole = new SysUserRole(sysUser.getId(),roleIds.get(0));
        sysUserRoleMapper.updateById(sysUserRole);
//        log.info("保存用户角色信息");
//        saveUserRole(user.getRoleList(), sysUser.getId());
        return user;
    }
    @Override
    public String resetPassword(Long userId) {
        log.info("重置密码为{}", Const.DEFULT_PASSWORD);
        SysUser sysUser = new SysUser();
        sysUser.setId(userId);
        String password = passwordEncoder.encode(Const.DEFULT_PASSWORD);
        sysUser.setPassword(password);
        this.updateById(sysUser);
        return "success";
    }
    @Override
    public SysUser queryByUserName(String userName) {
        return baseMapper.selectOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, userName));
    }
    @Override
    public List<SysUserVO> listByUserName(GeneralRequest request) {
        MPJLambdaWrapper<SysUser> wrapper = new MPJLambdaWrapper<>();
        wrapper.selectAll(SysUser.class)
                .selectCollection(SysRole.class, SysUserVO::getRoleList)
                .leftJoin(SysUserRole.class, SysUserRole::getUserId, SysUser::getId)
                .leftJoin(SysRole.class, SysRole::getId, SysUserRole::getRoleId)
                .like(StringUtils.hasText(request.getKey()), SysUser::getUserName, request.getKey());
        return baseMapper.selectJoinList(SysUserVO.class, wrapper);
    }
    @Transactional
    @Override
    public String deleteUser(List<Long> ids) {
        this.removeByIds(ids);
        sysUserRoleService.remove(new QueryWrapper<SysUserRole>().in("user_id", ids));
        return "success";
    }
    @Override
    public List<String> getUserAuthorityInfo(Long userId) {
        SysUser sysUser = baseMapper.selectById(userId);
        //  ROLE_admin,ROLE_normal,sys:user:list,....
        String authority = "";
        if (redisUtil.hasKey("GrantedAuthority:" + sysUser.getUserName())) {
            authority = redisUtil.getCacheObject("GrantedAuthority:" + sysUser.getUserName());
        } else {
            // 获取角色编码
            List<SysRole> roles = sysRoleService.list(new QueryWrapper<SysRole>()
                    .inSql("id", "select role_id from sys_user_role where user_id = " + userId));
            if (roles.size() > 0) {
                String roleCodes = roles.stream().map(r -> "ROLE_" + r.getRoleKey()).collect(Collectors.joining(","));
                authority = roleCodes.concat(",");
            }
            // 获取菜单操作编码
            List<String> perms = sysMenuMapper.selectPermsByUserId(userId);
            if (perms.size() > 0) {
                String menuPerms = String.join(",", perms);
                authority = authority.concat(menuPerms);
            }
            redisUtil.setCacheObject("GrantedAuthority:" + sysUser.getUserName(), authority, 60 * 60, TimeUnit.SECONDS);
        }
        return Arrays.stream(authority.split(",")).collect(Collectors.toList());
    }
    @Override
    public void clearUserAuthorityInfo(String userName) {
        redisUtil.deleteObject("GrantedAuthority:" + userName);
    }
    @Override
    public void clearUserAuthorityInfoByRoleId(Long roleId) {
        List<SysUser> sysUsers = this.list(new QueryWrapper<SysUser>()
                .inSql("id", "select user_id from sys_user_role where role_id = " + roleId));
        sysUsers.forEach(u -> {
            this.clearUserAuthorityInfo(u.getUserName());
        });
    }
    @Override
    public void clearUserAuthorityInfoByMenuId(Long menuId) {
        MPJLambdaWrapper<SysUserRole> wrapper = new MPJLambdaWrapper<SysUserRole>().selectAll(SysUser.class).distinct()
                .leftJoin(SysUser.class, SysUser::getId, SysUserRole::getUserId)
                .leftJoin(SysRoleMenu.class, SysRoleMenu::getRoleId, SysUserRole::getRoleId)
                .eq(SysRoleMenu::getMenuId, menuId);
        List<SysUser> sysUsers = sysUserRoleService.selectJoinList(SysUser.class, wrapper);
        sysUsers.forEach(u -> {
            this.clearUserAuthorityInfo(u.getUserName());
        });
    }
    /**
     * 实现UserDetailsService接口,从数据库内获取用户及权限信息
     *
     * @param username
     * @return
     * @throws UsernameNotFoundException
     */
    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>();
        lqw.eq(SysUser::getUserName, username);
        SysUser user = this.baseMapper.selectOne(lqw);
        //判断是否为空
        if (Objects.isNull(user)) {
            throw new RuntimeException("用户名或密码错误");
        }
        //查询权限信息
        List<String> perms = sysMenuMapper.selectPermsByUserId(user.getId());
        return new LoginUser(user, perms);
    }
    private void saveUserRole(List<SysRole> roles, Long userId) {
        log.info("保存用户角色信息");
        List<SysUserRole> userRoles = new ArrayList<>();
        if (CollectionUtils.isEmpty(roles)) {
            log.info("保存用户角色信息为空,给默认普通用户角色");
            userRoles.add(new SysUserRole(userId, Const.DEFULT_ROLE));
        } else {
            log.info("保存用户角色信息");
            userRoles = roles.stream().map(e -> new SysUserRole(userId, e.getId())).collect(Collectors.toList());
        }
        sysUserRoleService.saveBatch(userRoles);
    }
}
JiuMuMesParent/common/springsecurity/src/main/resources/application-dev.yml
New file
@@ -0,0 +1,15 @@
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://10.153.19.150:3306/jiumumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
    username: root
    password: beibo.123/
  cloud:
    nacos:
      discovery:
        server-addr: 10.153.19.29:8848
  redis:
    database: 0
    host: 10.153.19.150
    port: 6379
    password: 123456
JiuMuMesParent/common/springsecurity/src/main/resources/application-loc.yml
New file
@@ -0,0 +1,15 @@
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.56.10:3306/jiumumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
    username: root
    password: root
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    password: 123456
JiuMuMesParent/common/springsecurity/src/main/resources/application-prod.yml
New file
@@ -0,0 +1,15 @@
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://10.153.19.150:3306/jiumumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
    username: root
    password: beibo.123/
  cloud:
    nacos:
      discovery:
        server-addr: 10.153.19.29:8848
  redis:
    database: 0
    host: 10.153.19.150
    port: 6379
    password: 123456
JiuMuMesParent/common/springsecurity/src/main/resources/mapper/SysMenuMapper.xml
New file
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.menu.mapper.SysMenuMapper">
    <select id="selectPermsByUserId" resultType="java.lang.String">
        SELECT DISTINCT m.perms
        FROM sys_user_role ur
                 LEFT JOIN sys_role r ON ur.role_id = r.id
                 LEFT JOIN sys_role_menu rm ON ur.role_id = rm.role_id
                 LEFT JOIN sys_menu m ON m.id = rm.menu_id
        WHERE user_id = #{userid}
          AND r.status = 0
          AND m.status = 0
    </select>
</mapper>
JiuMuMesParent/common/springsecurity/target/classes/application-dev.yml
New file
@@ -0,0 +1,15 @@
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://10.153.19.150:3306/jiumumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
    username: root
    password: beibo.123/
  cloud:
    nacos:
      discovery:
        server-addr: 10.153.19.150:8848
  redis:
    database: 0
    host: 10.153.19.150
    port: 6379
    password: 123456
JiuMuMesParent/common/springsecurity/target/classes/application-loc.yml
New file
@@ -0,0 +1,15 @@
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.56.10:3306/jiumumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
    username: root
    password: root
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    password: 123456
JiuMuMesParent/common/springsecurity/target/classes/application-prod.yml
New file
@@ -0,0 +1,15 @@
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://10.153.19.150:3306/jiumumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
    username: root
    password: beibo.123/
  cloud:
    nacos:
      discovery:
        server-addr: 10.153.19.150:8848
  redis:
    database: 0
    host: 10.153.19.150
    port: 6379
    password: 123456
JiuMuMesParent/common/springsecurity/target/classes/mapper/SysMenuMapper.xml
New file
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.menu.mapper.SysMenuMapper">
    <select id="selectPermsByUserId" resultType="java.lang.String">
        SELECT DISTINCT m.perms
        FROM sys_user_role ur
                 LEFT JOIN sys_role r ON ur.role_id = r.id
                 LEFT JOIN sys_role_menu rm ON ur.role_id = rm.role_id
                 LEFT JOIN sys_menu m ON m.id = rm.menu_id
        WHERE user_id = #{userid}
          AND r.status = 0
          AND m.status = 0
    </select>
</mapper>
JiuMuMesParent/common/springsecurity/target/maven-archiver/pom.properties
New file
@@ -0,0 +1,3 @@
version=1.0-SNAPSHOT
groupId=com.mes
artifactId=springsecurity
JiuMuMesParent/common/springsecurity/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
New file
@@ -0,0 +1,39 @@
com\mes\role\service\impl\SysRoleMenuServiceImpl.class
com\mes\userinfo\entity\LoginUser.class
com\mes\common\utils\FastJsonRedisSerializer.class
com\mes\common\utils\RedisUtil.class
com\mes\menu\service\impl\SysMenuServiceImpl.class
com\mes\role\service\SysRoleMenuService.class
com\mes\common\handler\LoginSuccessHandler.class
com\mes\menu\mapper\SysMenuMapper.class
com\mes\role\mapper\SysRoleMenuMapper.class
com\mes\userinfo\entity\SysUserRole.class
com\mes\common\handler\JwtAuthenticationEntryPoint.class
com\mes\role\mapper\SysRoleMapper.class
com\mes\common\config\TokenWebSecurityConfig.class
com\mes\menu\controller\SysMenuController.class
com\mes\role\entity\SysRole.class
com\mes\role\controller\SysRoleController.class
com\mes\common\config\RedisConfig.class
com\mes\menu\service\SysMenuService.class
com\mes\role\service\SysRoleService.class
com\mes\common\utils\JwtUtil.class
com\mes\common\utils\WebUtils.class
com\mes\role\entity\vo\SysRoleVO.class
com\mes\common\utils\UserInfoUtils.class
com\mes\common\handler\JwtLogoutSuccessHandler.class
com\mes\userinfo\service\impl\SysUserRoleServiceImpl.class
com\mes\userinfo\entity\SysUser.class
com\mes\userinfo\entity\vo\SysUserVO.class
com\mes\userinfo\service\SysUserRoleService.class
com\mes\userinfo\mapper\SysUserRoleMapper.class
com\mes\menu\entity\SysMenu.class
com\mes\userinfo\controller\SysUserController.class
com\mes\userinfo\service\impl\SysUserServiceImpl.class
com\mes\role\entity\SysRoleMenu.class
com\mes\userinfo\service\SysUserService.class
com\mes\common\handler\JwtAccessDeniedHandler.class
com\mes\userinfo\mapper\SysUserMapper.class
com\mes\common\handler\LoginFailureHandler.class
com\mes\role\service\impl\SysRoleServiceImpl.class
com\mes\common\filter\JwtAuthenticationTokenFilter.class
JiuMuMesParent/common/springsecurity/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
New file
@@ -0,0 +1,39 @@
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\utils\FastJsonRedisSerializer.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\entity\SysUser.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\mapper\SysUserRoleMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\filter\JwtAuthenticationTokenFilter.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\utils\RedisUtil.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\config\TokenWebSecurityConfig.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\role\service\impl\SysRoleServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\handler\JwtAuthenticationEntryPoint.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\menu\mapper\SysMenuMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\service\impl\SysUserRoleServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\role\mapper\SysRoleMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\service\SysUserService.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\mapper\SysUserMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\role\service\impl\SysRoleMenuServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\controller\SysUserController.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\menu\controller\SysMenuController.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\menu\service\SysMenuService.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\handler\JwtAccessDeniedHandler.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\handler\LoginFailureHandler.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\service\impl\SysUserServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\role\service\SysRoleMenuService.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\utils\JwtUtil.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\role\entity\SysRole.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\handler\LoginSuccessHandler.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\utils\UserInfoUtils.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\role\entity\vo\SysRoleVO.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\utils\WebUtils.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\entity\LoginUser.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\role\entity\SysRoleMenu.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\handler\JwtLogoutSuccessHandler.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\menu\entity\SysMenu.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\role\controller\SysRoleController.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\service\SysUserRoleService.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\common\config\RedisConfig.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\role\mapper\SysRoleMenuMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\entity\SysUserRole.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\menu\service\impl\SysMenuServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\role\service\SysRoleService.java
D:\workfile\JiuMuMES\JiuMuMesParent\common\springsecurity\src\main\java\com\mes\userinfo\entity\vo\SysUserVO.java
JiuMuMesParent/gateway/gateway1.iml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>
JiuMuMesParent/gateway/pom.xml
New file
@@ -0,0 +1,40 @@
<?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>JiuMuMesParent</artifactId>
        <groupId>com.mes</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </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>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
JiuMuMesParent/gateway/src/main/java/com/mes/GateWayApplication.java
New file
@@ -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 : yanzhixin
 * @Date: 2024/3/28 11:21
 * @Description:
 */
@SpringBootApplication
@EnableDiscoveryClient
public class GateWayApplication {
    public static void main(String[] args) {
        SpringApplication.run(GateWayApplication.class, args);
    }
}
JiuMuMesParent/gateway/src/main/java/com/mes/config/MyCorsConfig.java
New file
@@ -0,0 +1,34 @@
package com.mes.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
/**
 * @Author : yanzhixin
 * @Date: 2024/3/25 14:13
 * @Description:
 */
@Configuration
public class MyCorsConfig {
    @Bean
    public CorsWebFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        //允许哪些头跨域
        corsConfiguration.addAllowedHeader("*");
        // 允许哪些方式跨域   get  post  delete 等方式
        corsConfiguration.addAllowedMethod("*");
        //允许哪些请求来源跨域    *  任意来源
        corsConfiguration.addAllowedOrigin("*");
        // 是否允许携带cooker跨域
        corsConfiguration.setAllowCredentials(true);
        //注册跨越配置       /**配置请求路径
        source.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsWebFilter(source);
    }
}
JiuMuMesParent/gateway/src/main/resources/application.yml
New file
@@ -0,0 +1,20 @@
server:
  port: 88
spring:
  application:
    name: gateway
  cloud:
    nacos:
      discovery:
        server-addr: 10.153.19.29:8848
    gateway:
      discovery:
        locator:
          enabled: true
      routes:
        - id: deviceInteraction
          uri: lb://deviceInteraction
          predicates:
            - Path=/api/deviceInteraction/**
          filters:
            - StripPrefix=2
JiuMuMesParent/gateway/target/classes/application.yml
New file
@@ -0,0 +1,20 @@
server:
  port: 88
spring:
  application:
    name: gateway
  cloud:
    nacos:
      discovery:
        server-addr: 10.153.19.29:8848
    gateway:
      discovery:
        locator:
          enabled: true
      routes:
        - id: deviceInteraction
          uri: lb://deviceInteraction
          predicates:
            - Path=/api/deviceInteraction/**
          filters:
            - StripPrefix=2
JiuMuMesParent/gateway/target/gateway-1.0-SNAPSHOT.jar.original
Binary files differ
JiuMuMesParent/gateway/target/maven-archiver/pom.properties
New file
@@ -0,0 +1,3 @@
version=1.0-SNAPSHOT
groupId=com.mes
artifactId=gateway
JiuMuMesParent/gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
New file
@@ -0,0 +1,2 @@
com\mes\GateWayApplication.class
com\mes\config\MyCorsConfig.class
JiuMuMesParent/gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
New file
@@ -0,0 +1,2 @@
D:\workfile\JiuMuMES\JiuMuMesParent\gateway\src\main\java\com\mes\GateWayApplication.java
D:\workfile\JiuMuMES\JiuMuMesParent\gateway\src\main\java\com\mes\config\MyCorsConfig.java
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/cacheGlass/web_debug.log
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/cacheGlass/web_error.log
New file
@@ -0,0 +1,695 @@
2024-09-03 08:59:03.624 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 08:59:04.978 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 08:59:05.436 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 09:02:59.285 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 09:03:00.137 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 09:03:00.247 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 09:08:31.775 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 09:08:32.682 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 09:08:32.785 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:02:41.090 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.mes.DeviceInteractionModuleApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'primitiveTaskServiceImpl' for bean class [com.mes.primitivetask.service.impl.PrimitiveTaskServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.mes.service.impl.PrimitiveTaskServiceImpl]
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:181)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'primitiveTaskServiceImpl' for bean class [com.mes.primitivetask.service.impl.PrimitiveTaskServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.mes.service.impl.PrimitiveTaskServiceImpl]
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:348)
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:286)
    at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:132)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:287)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167)
    ... 40 common frames omitted
2024-09-03 10:02:45.346 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.mes.DeviceInteractionModuleApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'primitiveTaskServiceImpl' for bean class [com.mes.primitivetask.service.impl.PrimitiveTaskServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.mes.service.impl.PrimitiveTaskServiceImpl]
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:181)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.outputConditionEvaluationReport(SpringBootDependencyInjectionTestExecutionListener.java:53)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:46)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'primitiveTaskServiceImpl' for bean class [com.mes.primitivetask.service.impl.PrimitiveTaskServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.mes.service.impl.PrimitiveTaskServiceImpl]
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:348)
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:286)
    at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:132)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:287)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167)
    ... 39 common frames omitted
2024-09-03 10:02:45.348 [main] ERROR o.springframework.test.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@6069db50] to prepare test instance [com.mes.DeviceInteractionModuleApplicationTest@2b71e916]
java.lang.IllegalStateException: Failed to load ApplicationContext
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.mes.DeviceInteractionModuleApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'primitiveTaskServiceImpl' for bean class [com.mes.primitivetask.service.impl.PrimitiveTaskServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.mes.service.impl.PrimitiveTaskServiceImpl]
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:181)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    ... 27 common frames omitted
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'primitiveTaskServiceImpl' for bean class [com.mes.primitivetask.service.impl.PrimitiveTaskServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.mes.service.impl.PrimitiveTaskServiceImpl]
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:348)
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:286)
    at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:132)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:287)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167)
    ... 40 common frames omitted
2024-09-03 10:17:05.006 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:17:05.875 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:17:05.995 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:17:09.314 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    ... 46 common frames omitted
2024-09-03 10:17:14.185 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:17:14.352 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:17:14.360 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:17:16.085 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.outputConditionEvaluationReport(SpringBootDependencyInjectionTestExecutionListener.java:53)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:46)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    ... 45 common frames omitted
2024-09-03 10:17:16.086 [main] ERROR o.springframework.test.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@6069db50] to prepare test instance [com.mes.DeviceInteractionModuleApplicationTest@2b71e916]
java.lang.IllegalStateException: Failed to load ApplicationContext
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    ... 27 common frames omitted
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    ... 46 common frames omitted
2024-09-03 10:21:28.668 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:21:29.496 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:21:29.610 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:21:32.898 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'edgeGrindingLogServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.EdgeGrindingLogMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.EdgeGrindingLogMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    ... 46 common frames omitted
2024-09-03 10:21:37.778 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:21:37.941 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:21:37.948 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:21:39.711 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'edgeGrindingLogServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.EdgeGrindingLogMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.outputConditionEvaluationReport(SpringBootDependencyInjectionTestExecutionListener.java:53)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:46)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.EdgeGrindingLogMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    ... 45 common frames omitted
2024-09-03 10:21:39.712 [main] ERROR o.springframework.test.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@6069db50] to prepare test instance [com.mes.DeviceInteractionModuleApplicationTest@2b71e916]
java.lang.IllegalStateException: Failed to load ApplicationContext
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'edgeGrindingLogServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.EdgeGrindingLogMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    ... 27 common frames omitted
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.EdgeGrindingLogMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    ... 46 common frames omitted
2024-09-03 10:27:10.519 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:27:11.387 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:27:11.490 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:27:14.739 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.md.service.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.md.service.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    ... 46 common frames omitted
2024-09-03 10:27:19.636 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:27:19.790 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:27:19.796 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:27:21.413 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.md.service.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.outputConditionEvaluationReport(SpringBootDependencyInjectionTestExecutionListener.java:53)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:46)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.md.service.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    ... 45 common frames omitted
2024-09-03 10:27:21.414 [main] ERROR o.springframework.test.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@6069db50] to prepare test instance [com.mes.DeviceInteractionModuleApplicationTest@2b71e916]
java.lang.IllegalStateException: Failed to load ApplicationContext
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43)
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.md.service.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
    at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
    ... 27 common frames omitted
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.md.service.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1658)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1217)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
    ... 46 common frames omitted
2024-09-03 10:28:58.870 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:28:59.720 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 10:28:59.832 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:25:24.178 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:25:25.063 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:25:25.181 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:28:28.410 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:28:29.270 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:28:29.387 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/cacheGlass/web_info.log
New file
@@ -0,0 +1,611 @@
2024-09-03 08:58:58.242 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:00.425 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 08:59:01.829 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 08:59:01.832 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 08:59:01.895 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 48ms. Found 0 repository interfaces.
2024-09-03 08:59:02.674 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=1cad7e98-0807-38ec-afd3-2a0b48f1ac74
2024-09-03 08:59:02.990 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$90e7c82b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:03.079 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:03.089 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$fa7638fc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:03.406 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:03.470 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$29959065] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:03.481 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:03.483 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@42ea7565' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:03.492 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$4e6a3317] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:03.504 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:03.574 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 08:59:05.389 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 08:59:05.436 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 08:59:05.454 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 08:59:05.454 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 08:59:05.735 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 08:59:05.735 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 5310 ms
2024-09-03 08:59:06.084 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 08:59:06.685 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,hangzhoumes} inited
2024-09-03 08:59:06.689 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2,pp} inited
2024-09-03 08:59:06.694 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3,salve_hangzhoumes} inited
2024-09-03 08:59:06.694 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [pp] success
2024-09-03 08:59:06.694 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [hangzhoumes] success
2024-09-03 08:59:06.694 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [salve_hangzhoumes] success
2024-09-03 08:59:06.694 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [3] datasource,primary datasource named [hangzhoumes]
2024-09-03 08:59:06.761 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 08:59:09.765 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 08:59:11.646 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 08:59:11.756 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@248d3a, org.springframework.security.web.context.SecurityContextPersistenceFilter@55c03e4, org.springframework.security.web.header.HeaderWriterFilter@26f5e45d, org.springframework.web.filter.CorsFilter@3c71cf3e, org.springframework.security.web.authentication.logout.LogoutFilter@1ad1be5d, com.mes.common.filter.JwtAuthenticationTokenFilter@6ce15112, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@186481d4, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@605eb072, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1488a861, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@636e4bf8, org.springframework.security.web.session.SessionManagementFilter@37986daf, org.springframework.security.web.access.ExceptionTranslationFilter@154864f8, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@fd87c22]
2024-09-03 08:59:11.819 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 08:59:12.014 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 08:59:12.339 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 08:59:14.609 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 08:59:14.685 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 08:59:15.244 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 08:59:17.445 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 08:59:18.465 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 08:59:18.495 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 08:59:18.529 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 08:59:18.785 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 08:59:18.785 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 08:59:18.814 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 52011 (http) with context path ''
2024-09-03 08:59:18.896 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, cacheGlass 10.153.19.29:52011 register finished
2024-09-03 08:59:19.797 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 08:59:20.800 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 08:59:20.915 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 08:59:20.915 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 25.527 seconds (JVM running for 26.84)
2024-09-03 08:59:20.915 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 08:59:21.186 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - 完整路径
2024-09-03 08:59:21.205 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 08:59:21.205 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 08:59:21.205 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 08:59:21.205 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 08:59:21.215 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 08:59:21.225 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2} closed
2024-09-03 08:59:21.225 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 08:59:21.225 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3} closed
2024-09-03 08:59:21.225 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 09:02:55.187 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$8f692bca] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:02:57.359 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 09:02:58.340 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 09:02:58.344 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 09:02:58.393 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 33ms. Found 0 repository interfaces.
2024-09-03 09:02:58.753 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=0647ebad-0c10-3148-abe6-af7aec387c34
2024-09-03 09:02:58.956 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$734f28cd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:02:59.007 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:02:59.013 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$dcdd999e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:02:59.148 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:02:59.185 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$bfcf107] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:02:59.195 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:02:59.197 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@9a20cbd' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:02:59.211 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$30d193b9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:02:59.220 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:02:59.254 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$8f692bca] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:03:00.232 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 09:03:00.248 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 09:03:00.256 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 09:03:00.256 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 09:03:00.429 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 09:03:00.429 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3067 ms
2024-09-03 09:03:00.661 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 09:03:00.986 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,hangzhoumes} inited
2024-09-03 09:03:00.991 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2,pp} inited
2024-09-03 09:03:00.994 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3,salve_hangzhoumes} inited
2024-09-03 09:03:00.994 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [pp] success
2024-09-03 09:03:00.994 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [hangzhoumes] success
2024-09-03 09:03:00.994 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [salve_hangzhoumes] success
2024-09-03 09:03:00.994 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [3] datasource,primary datasource named [hangzhoumes]
2024-09-03 09:03:01.041 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 09:03:04.309 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 09:03:05.391 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 09:03:05.507 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@603f4e3e, org.springframework.security.web.context.SecurityContextPersistenceFilter@35ab4260, org.springframework.security.web.header.HeaderWriterFilter@629cbb1, org.springframework.web.filter.CorsFilter@45fb2354, org.springframework.security.web.authentication.logout.LogoutFilter@340c57e0, com.mes.common.filter.JwtAuthenticationTokenFilter@12e5d3e1, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@42401b81, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@38667005, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@48af5f38, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3c7d8a4, org.springframework.security.web.session.SessionManagementFilter@22cd8ec2, org.springframework.security.web.access.ExceptionTranslationFilter@18811c42, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@d7055be]
2024-09-03 09:03:05.568 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 09:03:05.576 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 09:03:05.926 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 09:03:08.256 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 09:03:08.326 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 09:03:08.826 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 09:03:11.010 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 09:03:11.916 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 09:03:11.939 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 09:03:11.973 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 09:03:12.225 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 09:03:12.227 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 09:03:12.257 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 52071 (http) with context path ''
2024-09-03 09:03:12.328 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, cacheGlass 10.153.19.29:52071 register finished
2024-09-03 09:03:13.232 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 09:03:14.246 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 09:03:14.325 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 09:03:14.327 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 21.765 seconds (JVM running for 22.747)
2024-09-03 09:03:14.329 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 09:03:14.561 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - 完整路径
2024-09-03 09:03:14.572 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 09:03:14.573 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 09:03:14.577 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 09:03:14.578 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 09:03:14.583 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 09:03:14.590 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2} closed
2024-09-03 09:03:14.590 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 09:03:14.607 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3} closed
2024-09-03 09:03:14.608 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 09:08:27.185 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:29.577 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 09:08:30.666 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 09:08:30.669 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 09:08:30.730 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 43ms. Found 0 repository interfaces.
2024-09-03 09:08:31.215 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=0647ebad-0c10-3148-abe6-af7aec387c34
2024-09-03 09:08:31.431 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$90e7c82b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:31.487 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:31.493 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$fa7638fc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:31.637 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:31.676 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$29959065] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:31.690 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:31.692 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@9a20cbd' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:31.700 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$4e6a3317] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:31.709 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:31.746 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 09:08:32.770 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 09:08:32.785 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 09:08:32.794 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 09:08:32.795 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 09:08:32.963 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 09:08:32.964 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3384 ms
2024-09-03 09:08:33.204 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 09:08:33.511 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,hangzhoumes} inited
2024-09-03 09:08:33.516 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2,pp} inited
2024-09-03 09:08:33.521 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3,salve_hangzhoumes} inited
2024-09-03 09:08:33.521 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [pp] success
2024-09-03 09:08:33.521 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [hangzhoumes] success
2024-09-03 09:08:33.521 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [salve_hangzhoumes] success
2024-09-03 09:08:33.521 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [3] datasource,primary datasource named [hangzhoumes]
2024-09-03 09:08:33.575 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 09:08:37.747 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 09:08:39.109 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 09:08:39.271 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@603f4e3e, org.springframework.security.web.context.SecurityContextPersistenceFilter@35ab4260, org.springframework.security.web.header.HeaderWriterFilter@629cbb1, org.springframework.web.filter.CorsFilter@45fb2354, org.springframework.security.web.authentication.logout.LogoutFilter@340c57e0, com.mes.common.filter.JwtAuthenticationTokenFilter@baa227e, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@42401b81, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@38667005, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@48af5f38, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3c7d8a4, org.springframework.security.web.session.SessionManagementFilter@22cd8ec2, org.springframework.security.web.access.ExceptionTranslationFilter@18811c42, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@d7055be]
2024-09-03 09:08:39.338 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 09:08:39.346 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 09:08:39.736 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 09:08:42.246 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 09:08:42.326 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 09:08:42.938 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 09:08:45.283 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 09:08:46.324 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 09:08:46.349 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 09:08:46.384 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 09:08:46.702 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 09:08:46.704 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 09:08:46.735 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 52167 (http) with context path ''
2024-09-03 09:08:46.804 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, cacheGlass 10.153.19.29:52167 register finished
2024-09-03 09:08:47.720 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 09:08:48.727 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 09:08:48.869 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 09:08:48.870 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 24.385 seconds (JVM running for 25.411)
2024-09-03 09:08:48.873 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 09:08:49.139 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - 完整路径
2024-09-03 09:08:49.166 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 09:08:49.167 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 09:08:49.171 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 09:08:49.172 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 09:08:49.176 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 09:08:49.183 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2} closed
2024-09-03 09:08:49.183 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 09:08:49.184 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3} closed
2024-09-03 09:08:49.184 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 10:02:38.666 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:02:40.962 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 10:02:43.205 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:02:45.278 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 10:17:00.722 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:02.936 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 10:17:03.987 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 10:17:03.991 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 10:17:04.038 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 33ms. Found 0 repository interfaces.
2024-09-03 10:17:04.436 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=1d55e75d-5f5a-3be3-aeda-94510870a658
2024-09-03 10:17:04.650 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$90e7c82b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:04.706 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:04.713 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$fa7638fc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:04.858 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:04.896 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$29959065] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:04.905 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:04.915 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@1f66d8e1' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:04.922 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$4e6a3317] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:04.934 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:04.975 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:05.977 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 10:17:05.995 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 10:17:06.005 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 10:17:06.005 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 10:17:06.192 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 10:17:06.192 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3253 ms
2024-09-03 10:17:06.435 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 10:17:06.751 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,hangzhoumes} inited
2024-09-03 10:17:06.757 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2,pp} inited
2024-09-03 10:17:06.760 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3,salve_hangzhoumes} inited
2024-09-03 10:17:06.761 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [pp] success
2024-09-03 10:17:06.761 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [hangzhoumes] success
2024-09-03 10:17:06.761 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [salve_hangzhoumes] success
2024-09-03 10:17:06.761 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [3] datasource,primary datasource named [hangzhoumes]
2024-09-03 10:17:06.814 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 10:17:09.153 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 10:17:09.160 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2} closed
2024-09-03 10:17:09.160 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 10:17:09.161 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3} closed
2024-09-03 10:17:09.161 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 10:17:09.163 [main] INFO  org.apache.catalina.core.StandardService - Stopping service [Tomcat]
2024-09-03 10:17:09.174 [main] INFO  o.s.b.a.l.ConditionEvaluationReportLoggingListener -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-09-03 10:17:11.421 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:13.499 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 10:17:13.909 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 10:17:13.909 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 10:17:13.934 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25ms. Found 0 repository interfaces.
2024-09-03 10:17:14.010 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=1d55e75d-5f5a-3be3-aeda-94510870a658
2024-09-03 10:17:14.079 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$90e7c82b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:14.101 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:14.106 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$fa7638fc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:14.114 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:14.130 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$29959065] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:14.136 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:14.137 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@47c5cbf2' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:14.143 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$4e6a3317] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:14.148 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:14.174 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:17:14.359 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 10:17:14.360 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-2"]
2024-09-03 10:17:14.361 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 10:17:14.361 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 10:17:14.391 [main] INFO  o.a.c.c.ContainerBase.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 10:17:14.391 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 891 ms
2024-09-03 10:17:14.511 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 10:17:14.629 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-4,hangzhoumes} inited
2024-09-03 10:17:14.633 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-5,pp} inited
2024-09-03 10:17:14.635 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-6,salve_hangzhoumes} inited
2024-09-03 10:17:14.635 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [pp] success
2024-09-03 10:17:14.635 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [hangzhoumes] success
2024-09-03 10:17:14.635 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [salve_hangzhoumes] success
2024-09-03 10:17:14.635 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [3] datasource,primary datasource named [hangzhoumes]
2024-09-03 10:17:14.669 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 10:17:15.907 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 10:17:15.908 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-5} closed
2024-09-03 10:17:15.926 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-4} closed
2024-09-03 10:17:15.927 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-6} closed
2024-09-03 10:17:15.927 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 10:17:15.929 [main] INFO  org.apache.catalina.core.StandardService - Stopping service [Tomcat]
2024-09-03 10:17:15.937 [main] INFO  o.s.b.a.l.ConditionEvaluationReportLoggingListener -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-09-03 10:21:24.478 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:26.659 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 10:21:27.677 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 10:21:27.681 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 10:21:27.731 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 33ms. Found 0 repository interfaces.
2024-09-03 10:21:28.116 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=862ff94e-02c9-37ac-aaa7-68466ec0c870
2024-09-03 10:21:28.329 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$90e7c82b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:28.380 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:28.387 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$fa7638fc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:28.519 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:28.569 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$29959065] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:28.579 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:28.582 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@2dafae61' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:28.589 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$4e6a3317] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:28.600 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:28.637 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:29.594 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 10:21:29.610 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 10:21:29.620 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 10:21:29.620 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 10:21:29.804 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 10:21:29.805 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3143 ms
2024-09-03 10:21:30.007 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 10:21:30.339 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,hangzhoumes} inited
2024-09-03 10:21:30.344 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2,pp} inited
2024-09-03 10:21:30.347 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3,salve_hangzhoumes} inited
2024-09-03 10:21:30.348 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [pp] success
2024-09-03 10:21:30.348 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [hangzhoumes] success
2024-09-03 10:21:30.348 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [salve_hangzhoumes] success
2024-09-03 10:21:30.348 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [3] datasource,primary datasource named [hangzhoumes]
2024-09-03 10:21:30.395 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 10:21:32.740 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 10:21:32.747 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2} closed
2024-09-03 10:21:32.748 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 10:21:32.748 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3} closed
2024-09-03 10:21:32.748 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 10:21:32.750 [main] INFO  org.apache.catalina.core.StandardService - Stopping service [Tomcat]
2024-09-03 10:21:32.760 [main] INFO  o.s.b.a.l.ConditionEvaluationReportLoggingListener -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-09-03 10:21:34.977 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.026 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 10:21:37.494 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 10:21:37.494 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 10:21:37.519 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 24ms. Found 0 repository interfaces.
2024-09-03 10:21:37.600 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=862ff94e-02c9-37ac-aaa7-68466ec0c870
2024-09-03 10:21:37.667 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$90e7c82b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.691 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.695 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$fa7638fc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.705 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.726 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$29959065] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.731 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.732 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@47c5cbf2' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.738 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$4e6a3317] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.744 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.766 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:21:37.947 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 10:21:37.949 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-2"]
2024-09-03 10:21:37.950 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 10:21:37.950 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 10:21:37.983 [main] INFO  o.a.c.c.ContainerBase.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 10:21:37.984 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 955 ms
2024-09-03 10:21:38.098 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 10:21:38.213 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-4,hangzhoumes} inited
2024-09-03 10:21:38.217 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-5,pp} inited
2024-09-03 10:21:38.219 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-6,salve_hangzhoumes} inited
2024-09-03 10:21:38.219 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [pp] success
2024-09-03 10:21:38.219 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [hangzhoumes] success
2024-09-03 10:21:38.219 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [salve_hangzhoumes] success
2024-09-03 10:21:38.219 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [3] datasource,primary datasource named [hangzhoumes]
2024-09-03 10:21:38.258 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 10:21:39.514 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 10:21:39.514 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-5} closed
2024-09-03 10:21:39.514 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-4} closed
2024-09-03 10:21:39.515 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-6} closed
2024-09-03 10:21:39.516 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 10:21:39.516 [main] INFO  org.apache.catalina.core.StandardService - Stopping service [Tomcat]
2024-09-03 10:21:39.520 [main] INFO  o.s.b.a.l.ConditionEvaluationReportLoggingListener -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-09-03 10:27:06.245 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:08.451 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 10:27:09.509 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 10:27:09.512 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 10:27:09.558 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32ms. Found 0 repository interfaces.
2024-09-03 10:27:09.951 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=1d55e75d-5f5a-3be3-aeda-94510870a658
2024-09-03 10:27:10.164 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$90e7c82b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:10.221 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:10.228 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$fa7638fc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:10.389 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:10.425 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$29959065] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:10.433 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:10.435 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@1f66d8e1' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:10.448 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$4e6a3317] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:10.456 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:10.486 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:11.475 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 10:27:11.491 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 10:27:11.501 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 10:27:11.501 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 10:27:11.682 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 10:27:11.683 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3230 ms
2024-09-03 10:27:11.904 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 10:27:12.247 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,hangzhoumes} inited
2024-09-03 10:27:12.252 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2,pp} inited
2024-09-03 10:27:12.255 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3,salve_hangzhoumes} inited
2024-09-03 10:27:12.256 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [pp] success
2024-09-03 10:27:12.256 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [hangzhoumes] success
2024-09-03 10:27:12.256 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [salve_hangzhoumes] success
2024-09-03 10:27:12.256 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [3] datasource,primary datasource named [hangzhoumes]
2024-09-03 10:27:12.306 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 10:27:14.590 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 10:27:14.596 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2} closed
2024-09-03 10:27:14.596 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 10:27:14.596 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3} closed
2024-09-03 10:27:14.597 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 10:27:14.599 [main] INFO  org.apache.catalina.core.StandardService - Stopping service [Tomcat]
2024-09-03 10:27:14.610 [main] INFO  o.s.b.a.l.ConditionEvaluationReportLoggingListener -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-09-03 10:27:16.856 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:18.912 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 10:27:19.397 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 10:27:19.397 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 10:27:19.418 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21ms. Found 0 repository interfaces.
2024-09-03 10:27:19.470 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=1d55e75d-5f5a-3be3-aeda-94510870a658
2024-09-03 10:27:19.527 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$90e7c82b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:19.550 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:19.557 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$fa7638fc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:19.567 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:19.586 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$29959065] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:19.591 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:19.592 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@4aba7617' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:19.597 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$4e6a3317] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:19.601 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:19.626 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:27:19.795 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 10:27:19.796 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-2"]
2024-09-03 10:27:19.797 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 10:27:19.797 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 10:27:19.830 [main] INFO  o.a.c.c.ContainerBase.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 10:27:19.831 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 917 ms
2024-09-03 10:27:19.956 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 10:27:20.048 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-4,hangzhoumes} inited
2024-09-03 10:27:20.052 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-5,pp} inited
2024-09-03 10:27:20.054 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-6,salve_hangzhoumes} inited
2024-09-03 10:27:20.054 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [pp] success
2024-09-03 10:27:20.054 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [hangzhoumes] success
2024-09-03 10:27:20.054 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [salve_hangzhoumes] success
2024-09-03 10:27:20.054 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [3] datasource,primary datasource named [hangzhoumes]
2024-09-03 10:27:20.094 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 10:27:21.290 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 10:27:21.291 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-5} closed
2024-09-03 10:27:21.291 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-4} closed
2024-09-03 10:27:21.292 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-6} closed
2024-09-03 10:27:21.292 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 10:27:21.293 [main] INFO  org.apache.catalina.core.StandardService - Stopping service [Tomcat]
2024-09-03 10:27:21.297 [main] INFO  o.s.b.a.l.ConditionEvaluationReportLoggingListener -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-09-03 10:28:54.635 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:56.817 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 10:28:57.858 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 10:28:57.863 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 10:28:57.912 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 35ms. Found 0 repository interfaces.
2024-09-03 10:28:58.309 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 10:28:58.528 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$90e7c82b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:58.586 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:58.593 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$fa7638fc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:58.723 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:58.763 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$29959065] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:58.772 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:58.774 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@7d0100ea' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:58.782 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$4e6a3317] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:58.798 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:58.836 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$ad01cb28] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 10:28:59.816 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 10:28:59.832 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 10:28:59.842 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 10:28:59.843 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 10:29:00.038 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 10:29:00.038 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3218 ms
2024-09-03 10:29:00.307 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 10:29:00.652 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,hangzhoumes} inited
2024-09-03 10:29:00.657 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2,pp} inited
2024-09-03 10:29:00.660 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3,salve_hangzhoumes} inited
2024-09-03 10:29:00.660 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [pp] success
2024-09-03 10:29:00.660 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [hangzhoumes] success
2024-09-03 10:29:00.660 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [salve_hangzhoumes] success
2024-09-03 10:29:00.660 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [3] datasource,primary datasource named [hangzhoumes]
2024-09-03 10:29:00.710 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 10:29:04.092 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 10:29:05.289 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 10:29:05.405 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@299a43d9, org.springframework.security.web.context.SecurityContextPersistenceFilter@4b09d1c3, org.springframework.security.web.header.HeaderWriterFilter@571d0925, org.springframework.web.filter.CorsFilter@ccd000e, org.springframework.security.web.authentication.logout.LogoutFilter@48af5f38, com.mes.common.filter.JwtAuthenticationTokenFilter@5ed31735, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@51813065, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@627acb38, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@76134b9b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5fa5c8cf, org.springframework.security.web.session.SessionManagementFilter@3fe8ad3f, org.springframework.security.web.access.ExceptionTranslationFilter@5feb82b3, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@15d79b70]
2024-09-03 10:29:05.461 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 10:29:05.470 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 10:29:05.798 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 10:29:08.124 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 10:29:08.193 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 10:29:08.645 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 10:29:10.792 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 10:29:11.736 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 10:29:11.766 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 10:29:11.799 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 10:29:12.090 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 10:29:12.092 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 10:29:12.121 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 53443 (http) with context path ''
2024-09-03 10:29:12.196 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, cacheGlass 10.153.19.29:53443 register finished
2024-09-03 10:29:13.102 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 10:29:14.117 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 10:29:14.212 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 10:29:14.214 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 22.275 seconds (JVM running for 23.272)
2024-09-03 10:29:14.216 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 10:29:14.457 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - 完整路径
2024-09-03 10:29:14.471 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 10:29:14.472 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 10:29:14.477 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 10:29:14.478 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 10:29:14.484 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 10:29:14.492 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2} closed
2024-09-03 10:29:14.513 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 10:29:14.513 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-3} closed
2024-09-03 10:29:14.514 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 11:25:19.944 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$41d375bd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:22.139 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 11:25:23.202 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 11:25:23.206 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 11:25:23.256 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 35ms. Found 0 repository interfaces.
2024-09-03 11:25:23.640 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 11:25:23.847 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$25b972c0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:23.897 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:23.902 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$8f47e391] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:24.041 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:24.074 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$be673afa] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:24.091 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:24.093 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@4a070cf0' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:24.101 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$e33bddac] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:24.110 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:24.146 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$41d375bd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:25:25.166 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 11:25:25.182 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 11:25:25.196 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 11:25:25.196 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 11:25:25.390 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 11:25:25.391 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3249 ms
2024-09-03 11:25:25.629 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 11:25:25.956 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 11:25:25.957 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 11:25:25.957 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 11:25:26.011 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 11:25:29.378 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 11:25:30.481 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 11:25:30.585 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3a72e2e8, org.springframework.security.web.context.SecurityContextPersistenceFilter@563263a, org.springframework.security.web.header.HeaderWriterFilter@1be77a76, org.springframework.web.filter.CorsFilter@42401b81, org.springframework.security.web.authentication.logout.LogoutFilter@4a520f05, com.mes.common.filter.JwtAuthenticationTokenFilter@3a588b5f, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@4fea5ee0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6e794f53, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@102af1bb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@f1d1463, org.springframework.security.web.session.SessionManagementFilter@7878bbdb, org.springframework.security.web.access.ExceptionTranslationFilter@7e1a9173, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@e0847a9]
2024-09-03 11:25:30.650 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 11:25:30.660 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 11:25:30.978 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 11:25:33.350 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:25:33.415 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 11:25:33.892 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 11:25:35.998 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:25:36.934 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 11:25:36.963 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 11:25:37.001 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 11:25:37.285 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 11:25:37.287 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 11:25:37.315 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 54215 (http) with context path ''
2024-09-03 11:25:37.385 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, cacheGlass 10.153.19.29:54215 register finished
2024-09-03 11:25:38.290 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 11:25:39.292 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 11:25:39.402 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:25:39.404 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 22.148 seconds (JVM running for 23.248)
2024-09-03 11:25:39.406 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 11:25:40.297 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 11:25:40.307 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - 完整路径
2024-09-03 11:25:40.318 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 11:25:40.320 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 11:25:40.324 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 11:25:40.324 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 11:25:40.329 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 11:25:40.334 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 11:25:40.335 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 11:28:24.048 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$41d375bd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:26.271 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 11:28:27.422 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 11:28:27.425 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 11:28:27.469 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 31ms. Found 0 repository interfaces.
2024-09-03 11:28:27.841 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 11:28:28.055 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$25b972c0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:28.103 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:28.110 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$8f47e391] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:28.270 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:28.300 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$be673afa] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:28.309 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:28.312 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@4a070cf0' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:28.330 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$e33bddac] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:28.339 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:28.375 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$41d375bd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:28:29.370 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 11:28:29.387 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 11:28:29.397 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 11:28:29.398 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 11:28:29.571 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 11:28:29.571 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3297 ms
2024-09-03 11:28:29.796 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 11:28:30.148 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 11:28:30.150 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 11:28:30.150 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 11:28:30.203 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 11:28:33.507 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 11:28:34.618 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 11:28:34.728 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3a72e2e8, org.springframework.security.web.context.SecurityContextPersistenceFilter@563263a, org.springframework.security.web.header.HeaderWriterFilter@1be77a76, org.springframework.web.filter.CorsFilter@42401b81, org.springframework.security.web.authentication.logout.LogoutFilter@4a520f05, com.mes.common.filter.JwtAuthenticationTokenFilter@3a588b5f, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@4fea5ee0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6e794f53, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@102af1bb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@f1d1463, org.springframework.security.web.session.SessionManagementFilter@7878bbdb, org.springframework.security.web.access.ExceptionTranslationFilter@7e1a9173, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@e0847a9]
2024-09-03 11:28:34.791 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 11:28:34.801 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 11:28:35.155 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 11:28:37.488 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:28:37.544 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 11:28:37.993 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 11:28:40.181 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:28:41.165 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 11:28:41.191 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 11:28:41.228 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 11:28:41.503 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 11:28:41.504 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 11:28:41.530 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 54267 (http) with context path ''
2024-09-03 11:28:41.598 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, DeviceInteraction 10.153.19.29:54267 register finished
2024-09-03 11:28:42.504 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 11:28:43.507 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 11:28:43.631 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:28:43.633 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 22.662 seconds (JVM running for 23.789)
2024-09-03 11:28:43.635 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 11:28:44.390 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - 完整路径
2024-09-03 11:28:44.401 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 11:28:44.403 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 11:28:44.408 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 11:28:44.409 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 11:28:44.414 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 11:28:44.419 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 11:28:44.419 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/cacheGlass/web_warn.log
New file
@@ -0,0 +1,194 @@
2024-09-03 08:59:02.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 08:59:02.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 08:59:02.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.primitivetask.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 08:59:02.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 08:59:02.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 08:59:02.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 08:59:02.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 08:59:02.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 08:59:02.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 08:59:11.819 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 08:59:12.014 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 09:02:58.619 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.620 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.jiumumes.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.620 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgegrindingLogMapper' and 'com.mes.jiumumes.mapper.EdgegrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.620 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.jiumumes.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.620 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.jiumumes.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.620 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.jiumumes.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.620 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderoriginalpieceMapper' and 'com.mes.jiumumes.mapper.OrderoriginalpieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.620 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.jiumumes.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.620 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitivetaskMapper' and 'com.mes.jiumumes.mapper.PrimitivetaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.620 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.jiumumes.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.jiumumes.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.jiumumes.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'rolemenuMapper' and 'com.mes.jiumumes.mapper.RolemenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.jiumumes.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.jiumumes.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'worktaskdetailMapper' and 'com.mes.jiumumes.mapper.WorktaskdetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.primitivetask.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.621 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:02:58.622 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 09:03:05.568 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 09:03:05.575 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 09:08:31.046 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.047 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.jiumumes.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.047 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgegrindingLogMapper' and 'com.mes.jiumumes.mapper.EdgegrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.047 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.jiumumes.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.047 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.jiumumes.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.047 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.jiumumes.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.047 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderoriginalpieceMapper' and 'com.mes.jiumumes.mapper.OrderoriginalpieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.047 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.jiumumes.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.047 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitivetaskMapper' and 'com.mes.jiumumes.mapper.PrimitivetaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.047 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.jiumumes.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.jiumumes.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.jiumumes.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'rolemenuMapper' and 'com.mes.jiumumes.mapper.RolemenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.jiumumes.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.jiumumes.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'worktaskdetailMapper' and 'com.mes.jiumumes.mapper.WorktaskdetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.primitivetask.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.048 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.049 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.049 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 09:08:31.049 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 09:08:39.337 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 09:08:39.346 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 10:02:41.083 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.mes.DeviceInteractionModuleApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'primitiveTaskServiceImpl' for bean class [com.mes.primitivetask.service.impl.PrimitiveTaskServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.mes.service.impl.PrimitiveTaskServiceImpl]
2024-09-03 10:02:45.345 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.mes.DeviceInteractionModuleApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'primitiveTaskServiceImpl' for bean class [com.mes.primitivetask.service.impl.PrimitiveTaskServiceImpl] conflicts with existing, non-compatible bean definition of same name and class [com.mes.service.impl.PrimitiveTaskServiceImpl]
2024-09-03 10:17:04.277 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:04.277 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:04.277 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:04.277 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:04.277 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:04.278 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:04.278 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:04.278 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 10:17:09.153 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
2024-09-03 10:17:14.004 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:14.004 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:14.004 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:14.004 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:14.005 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:14.005 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:14.005 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:17:14.005 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 10:17:15.907 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
2024-09-03 10:21:27.963 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:27.964 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:27.964 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:27.964 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:27.964 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:27.964 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:27.964 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:27.965 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 10:21:32.739 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'edgeGrindingLogServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.EdgeGrindingLogMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
2024-09-03 10:21:37.596 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:37.596 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:37.596 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:37.596 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:37.596 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:37.596 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:37.596 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:21:37.597 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 10:21:39.513 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'edgeGrindingLogServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.mapper.EdgeGrindingLogMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
2024-09-03 10:27:09.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:09.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:09.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:09.800 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:09.800 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:09.800 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:09.800 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:09.800 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 10:27:14.589 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.md.service.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
2024-09-03 10:27:19.465 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:19.465 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:19.465 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:19.465 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:19.465 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:19.465 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:19.465 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:27:19.465 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 10:27:21.290 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mes.md.service.mapper.AccountMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
2024-09-03 10:28:58.150 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.150 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.150 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.150 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.151 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.152 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.152 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.152 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.152 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.152 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.152 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 10:28:58.153 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 10:29:05.461 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 10:29:05.470 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 11:25:23.486 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.486 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.486 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.486 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.487 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.488 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.488 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.488 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.488 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:25:23.488 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 11:25:30.649 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 11:25:30.660 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 11:28:27.698 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.698 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.699 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.700 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.700 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.700 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.700 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.700 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.700 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:28:27.700 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 11:28:34.790 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 11:28:34.800 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-error-2024-09-03.0.log
New file
@@ -0,0 +1,39 @@
2024-09-03 11:37:49.836 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:37:50.678 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:37:50.788 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:45:31.639 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:45:32.485 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:45:32.592 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:47:53.463 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:47:54.318 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 11:47:54.429 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:16:54.666 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:16:55.589 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:16:55.703 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:20:20.950 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:20:21.759 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:20:21.867 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:24:26.314 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:24:27.109 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:24:27.229 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:25:44.961 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:25:45.759 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:25:45.866 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:48:17.915 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:48:18.727 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:48:18.834 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:58:20.455 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:58:21.251 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 14:58:21.362 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 15:00:28.657 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 15:00:29.462 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 15:00:29.586 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 15:48:45.124 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 15:48:45.919 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 15:48:46.034 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 15:54:10.921 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 15:54:11.769 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 15:54:11.875 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 16:23:35.559 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 16:23:36.352 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-03 16:23:36.463 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-error-2024-09-04.0.log
New file
@@ -0,0 +1,33 @@
2024-09-04 14:31:31.401 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 14:31:32.230 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 14:31:32.380 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 15:50:57.800 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 15:50:58.596 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 15:50:58.703 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 16:44:37.391 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 16:44:38.177 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 16:44:38.289 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:30:04.632 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:30:05.415 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:30:05.519 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:32:38.630 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:32:39.418 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:32:39.532 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:34:53.441 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:34:54.304 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:34:54.431 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:40:08.161 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:40:09.004 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:40:09.123 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:58:40.321 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:58:41.130 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 17:58:41.231 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 18:05:07.883 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 18:05:08.666 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 18:05:08.768 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 18:07:03.440 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 18:07:04.390 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 18:07:04.507 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 18:11:56.504 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 18:11:57.275 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-04 18:11:57.384 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-info-2024-09-03.0.log
New file
@@ -0,0 +1,672 @@
2024-09-03 11:37:45.325 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$41d375bd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:47.774 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 11:37:48.809 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 11:37:48.812 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 11:37:48.857 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 31ms. Found 0 repository interfaces.
2024-09-03 11:37:49.254 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 11:37:49.512 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$25b972c0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:49.559 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:49.565 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$8f47e391] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:49.701 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:49.746 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$be673afa] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:49.755 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:49.757 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@202d9236' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:49.763 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$e33bddac] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:49.772 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:49.806 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$41d375bd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:37:50.773 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 11:37:50.789 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 11:37:50.797 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 11:37:50.797 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 11:37:50.980 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 11:37:50.981 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3204 ms
2024-09-03 11:37:51.195 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 11:37:51.526 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 11:37:51.527 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 11:37:51.528 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 11:37:51.574 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 11:37:54.895 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 11:37:55.950 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 11:37:56.051 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3a72e2e8, org.springframework.security.web.context.SecurityContextPersistenceFilter@563263a, org.springframework.security.web.header.HeaderWriterFilter@1be77a76, org.springframework.web.filter.CorsFilter@42401b81, org.springframework.security.web.authentication.logout.LogoutFilter@4a520f05, com.mes.common.filter.JwtAuthenticationTokenFilter@3a588b5f, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@4fea5ee0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6e794f53, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@102af1bb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@f1d1463, org.springframework.security.web.session.SessionManagementFilter@7878bbdb, org.springframework.security.web.access.ExceptionTranslationFilter@7e1a9173, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@e0847a9]
2024-09-03 11:37:56.103 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 11:37:56.109 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 11:37:56.432 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 11:37:58.714 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:37:58.784 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 11:37:59.265 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 11:38:01.439 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:38:02.447 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 11:38:02.473 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 11:38:02.508 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 11:38:02.877 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 11:38:02.879 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 11:38:02.935 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 54403 (http) with context path ''
2024-09-03 11:38:03.002 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:54403 register finished
2024-09-03 11:38:03.889 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 11:38:04.902 [scheduling-1] INFO  com.mes.service.ModbusTcp - 123
2024-09-03 11:38:05.028 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:38:05.030 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 22.379 seconds (JVM running for 23.369)
2024-09-03 11:38:05.032 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 11:38:05.799 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - 完整路径
2024-09-03 11:38:05.810 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 11:38:05.811 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 11:38:05.815 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 11:38:05.816 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 11:38:05.820 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 11:38:05.826 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 11:38:05.827 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 11:45:27.371 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$41d375bd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:29.564 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 11:45:30.616 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 11:45:30.620 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 11:45:30.672 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 37ms. Found 0 repository interfaces.
2024-09-03 11:45:31.088 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 11:45:31.313 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$25b972c0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:31.360 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:31.367 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$8f47e391] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:31.503 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:31.543 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$be673afa] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:31.553 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:31.555 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@41bfa9e9' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:31.563 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$e33bddac] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:31.574 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:31.608 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$41d375bd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:45:32.578 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 11:45:32.592 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 11:45:32.601 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 11:45:32.602 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 11:45:32.811 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 11:45:32.811 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3243 ms
2024-09-03 11:45:33.046 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 11:45:33.350 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 11:45:33.352 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 11:45:33.352 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 11:45:33.408 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 11:45:36.746 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 11:45:37.876 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 11:45:37.984 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@223cbf0d, org.springframework.security.web.context.SecurityContextPersistenceFilter@3b9c9b8b, org.springframework.security.web.header.HeaderWriterFilter@3b33fff9, org.springframework.web.filter.CorsFilter@4a4ff5ed, org.springframework.security.web.authentication.logout.LogoutFilter@69ba72da, com.mes.common.filter.JwtAuthenticationTokenFilter@283a8ad6, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@61c4cebd, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@248d3a, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1be77a76, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5ddb302, org.springframework.security.web.session.SessionManagementFilter@fee881, org.springframework.security.web.access.ExceptionTranslationFilter@37806be6, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@391d28ea]
2024-09-03 11:45:38.040 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 11:45:38.046 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 11:45:38.359 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 11:45:40.660 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:45:40.763 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 11:45:41.268 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 11:45:43.539 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:45:44.508 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 11:45:44.533 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 11:45:44.567 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 11:45:44.845 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 11:45:44.870 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 54672 (http) with context path ''
2024-09-03 11:45:44.939 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:54672 register finished
2024-09-03 11:45:46.958 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:45:46.959 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 22.304 seconds (JVM running for 23.28)
2024-09-03 11:45:46.961 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 11:45:47.742 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - 完整路径
2024-09-03 11:45:47.755 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 11:45:47.757 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 11:45:47.762 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 11:45:47.762 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 11:45:47.768 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 11:45:47.774 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 11:45:47.774 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 11:47:49.198 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$41d375bd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:51.394 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 11:47:52.449 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 11:47:52.453 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 11:47:52.498 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 31ms. Found 0 repository interfaces.
2024-09-03 11:47:52.888 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 11:47:53.109 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$25b972c0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:53.158 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:53.165 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$8f47e391] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:53.308 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:53.358 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$be673afa] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:53.368 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:53.371 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@41bfa9e9' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:53.381 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$e33bddac] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:53.390 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:53.432 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$41d375bd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 11:47:54.413 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 11:47:54.430 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 11:47:54.440 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 11:47:54.440 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 11:47:54.610 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 11:47:54.610 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3212 ms
2024-09-03 11:47:54.855 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 11:47:55.167 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 11:47:55.169 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 11:47:55.169 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 11:47:55.217 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 11:47:58.550 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 11:47:59.663 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 11:47:59.783 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@223cbf0d, org.springframework.security.web.context.SecurityContextPersistenceFilter@3b9c9b8b, org.springframework.security.web.header.HeaderWriterFilter@3b33fff9, org.springframework.web.filter.CorsFilter@4a4ff5ed, org.springframework.security.web.authentication.logout.LogoutFilter@69ba72da, com.mes.common.filter.JwtAuthenticationTokenFilter@283a8ad6, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@61c4cebd, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@248d3a, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1be77a76, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5ddb302, org.springframework.security.web.session.SessionManagementFilter@fee881, org.springframework.security.web.access.ExceptionTranslationFilter@37806be6, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@391d28ea]
2024-09-03 11:47:59.840 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 11:47:59.848 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 11:48:00.183 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 11:48:02.510 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:48:02.567 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 11:48:02.983 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 11:48:05.102 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:48:06.135 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 11:48:06.158 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 11:48:06.204 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 11:48:06.525 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 11:48:06.552 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 54718 (http) with context path ''
2024-09-03 11:48:06.616 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:54718 register finished
2024-09-03 11:48:08.635 [main] INFO  org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname
2024-09-03 11:48:08.637 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 22.09 seconds (JVM running for 23.07)
2024-09-03 11:48:08.639 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 11:48:09.405 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - 完整路径
2024-09-03 11:48:09.420 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 11:48:09.424 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 11:48:09.427 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 11:48:09.428 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 11:48:09.433 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 11:48:09.440 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 11:48:09.440 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 14:16:51.418 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:52.517 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 14:16:53.637 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 14:16:53.640 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 14:16:53.692 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 34ms. Found 0 repository interfaces.
2024-09-03 14:16:54.109 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 14:16:54.313 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$11caf3c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:54.363 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:54.368 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7b59649a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:54.517 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:54.563 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$aa78bc03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:54.579 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:54.582 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@764b14b8' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:54.588 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$cf4d5eb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:54.598 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:54.632 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:16:55.688 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 14:16:55.704 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:16:55.713 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 14:16:55.713 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 14:16:55.891 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 14:16:55.892 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3371 ms
2024-09-03 14:16:56.148 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 14:16:56.670 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 14:16:56.672 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 14:16:56.672 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 14:16:56.726 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 14:17:01.942 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 14:17:04.175 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 14:17:04.337 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2e85e3f1, org.springframework.security.web.context.SecurityContextPersistenceFilter@53e28097, org.springframework.security.web.header.HeaderWriterFilter@315cf170, org.springframework.web.filter.CorsFilter@195498aa, org.springframework.security.web.authentication.logout.LogoutFilter@389a1e34, com.mes.common.filter.JwtAuthenticationTokenFilter@16ac4d3d, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@7b1c501d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@75f4d8a8, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@797f97e3, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4b360972, org.springframework.security.web.session.SessionManagementFilter@25f7cc38, org.springframework.security.web.access.ExceptionTranslationFilter@4ca0b9b1, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@35536760]
2024-09-03 14:17:04.401 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:17:04.410 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:17:04.751 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 14:17:06.039 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 14:17:06.504 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 14:17:08.442 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 14:17:08.481 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 14:17:08.512 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 14:17:08.786 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:17:08.816 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 58001 (http) with context path ''
2024-09-03 14:17:08.881 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:58001 register finished
2024-09-03 14:17:09.793 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 20.159 seconds (JVM running for 21.267)
2024-09-03 14:17:09.794 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 14:17:10.157 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 14:17:10.158 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 14:17:10.162 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 14:17:10.162 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 14:17:10.168 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 14:17:10.175 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 14:17:10.175 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 14:20:17.749 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:18.837 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 14:20:19.904 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 14:20:19.907 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 14:20:19.957 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 37ms. Found 0 repository interfaces.
2024-09-03 14:20:20.377 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 14:20:20.604 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$11caf3c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:20.664 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:20.670 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7b59649a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:20.808 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:20.843 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$aa78bc03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:20.850 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:20.852 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@7069f076' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:20.861 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$cf4d5eb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:20.879 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:20.920 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:20:21.852 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 14:20:21.867 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:20:21.878 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 14:20:21.878 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 14:20:22.065 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 14:20:22.066 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3226 ms
2024-09-03 14:20:22.295 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 14:20:22.641 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 14:20:22.642 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 14:20:22.643 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 14:20:22.689 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 14:20:26.165 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 14:20:27.331 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 14:20:27.456 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@24fef542, org.springframework.security.web.context.SecurityContextPersistenceFilter@563263a, org.springframework.security.web.header.HeaderWriterFilter@1be77a76, org.springframework.web.filter.CorsFilter@44ddb518, org.springframework.security.web.authentication.logout.LogoutFilter@4a520f05, com.mes.common.filter.JwtAuthenticationTokenFilter@16ac4d3d, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@70022d44, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6e794f53, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@102af1bb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@e36bc01, org.springframework.security.web.session.SessionManagementFilter@7878bbdb, org.springframework.security.web.access.ExceptionTranslationFilter@7e1a9173, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@47ef5a33]
2024-09-03 14:20:27.530 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:20:27.540 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:20:27.913 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 14:20:29.144 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 14:20:29.574 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 14:20:31.578 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 14:20:31.610 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 14:20:31.649 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 14:20:31.956 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:20:31.985 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 58063 (http) with context path ''
2024-09-03 14:20:32.052 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:58063 register finished
2024-09-03 14:20:32.967 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.828 seconds (JVM running for 17.8)
2024-09-03 14:20:32.969 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 14:20:33.837 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 14:20:33.838 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 14:20:33.842 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 14:20:33.843 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 14:20:33.849 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 14:20:33.855 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 14:20:33.856 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 14:24:23.085 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:24.165 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 14:24:25.255 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 14:24:25.258 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 14:24:25.309 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 33ms. Found 0 repository interfaces.
2024-09-03 14:24:25.747 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 14:24:25.966 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$11caf3c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:26.016 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:26.021 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7b59649a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:26.162 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:26.201 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$aa78bc03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:26.209 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:26.212 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@7069f076' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:26.220 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$cf4d5eb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:26.232 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:26.281 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:24:27.215 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 14:24:27.230 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:24:27.239 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 14:24:27.239 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 14:24:27.425 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 14:24:27.425 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3258 ms
2024-09-03 14:24:27.641 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 14:24:27.982 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 14:24:27.983 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 14:24:27.983 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 14:24:28.039 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 14:24:31.464 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 14:24:32.640 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 14:24:32.759 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@27e21083, org.springframework.security.web.context.SecurityContextPersistenceFilter@3568ea59, org.springframework.security.web.header.HeaderWriterFilter@797f97e3, org.springframework.web.filter.CorsFilter@67a6a2d0, org.springframework.security.web.authentication.logout.LogoutFilter@54e0f76f, com.mes.common.filter.JwtAuthenticationTokenFilter@45f9d394, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@5a7a6d34, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@173b1af1, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@25d0b918, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@49e0b123, org.springframework.security.web.session.SessionManagementFilter@77cd235b, org.springframework.security.web.access.ExceptionTranslationFilter@595ec862, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@44ddb518]
2024-09-03 14:24:32.821 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:24:32.830 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:24:33.184 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 14:24:34.473 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 14:24:34.904 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 14:24:36.829 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 14:24:36.853 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 14:24:36.884 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 14:24:37.153 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:24:37.182 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 58121 (http) with context path ''
2024-09-03 14:24:37.261 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:58121 register finished
2024-09-03 14:24:38.170 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.683 seconds (JVM running for 17.697)
2024-09-03 14:24:38.172 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 14:24:39.105 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {}
2024-09-03 14:24:39.113 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 14:24:39.114 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 14:24:39.118 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 14:24:39.119 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 14:24:39.124 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 14:24:39.130 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 14:24:39.131 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 14:25:41.769 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:42.852 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 14:25:43.909 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 14:25:43.912 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 14:25:43.960 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 34ms. Found 0 repository interfaces.
2024-09-03 14:25:44.391 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 14:25:44.616 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$11caf3c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:44.673 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:44.679 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7b59649a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:44.817 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:44.853 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$aa78bc03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:44.862 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:44.864 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@7069f076' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:44.872 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$cf4d5eb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:44.883 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:44.933 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:25:45.852 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 14:25:45.867 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:25:45.877 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 14:25:45.877 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 14:25:46.061 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 14:25:46.062 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3205 ms
2024-09-03 14:25:46.292 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 14:25:46.817 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 14:25:46.818 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 14:25:46.818 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 14:25:46.865 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 14:25:50.228 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 14:25:51.310 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 14:25:51.444 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@24fef542, org.springframework.security.web.context.SecurityContextPersistenceFilter@563263a, org.springframework.security.web.header.HeaderWriterFilter@1be77a76, org.springframework.web.filter.CorsFilter@44ddb518, org.springframework.security.web.authentication.logout.LogoutFilter@4a520f05, com.mes.common.filter.JwtAuthenticationTokenFilter@16ac4d3d, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@70022d44, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6e794f53, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@102af1bb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@e36bc01, org.springframework.security.web.session.SessionManagementFilter@7878bbdb, org.springframework.security.web.access.ExceptionTranslationFilter@7e1a9173, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@47ef5a33]
2024-09-03 14:25:51.521 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:25:51.533 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:25:51.909 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 14:25:53.240 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 14:25:53.670 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 14:25:55.621 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 14:25:55.646 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 14:25:55.683 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 14:25:55.974 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:25:56.003 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 58148 (http) with context path ''
2024-09-03 14:25:56.070 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:58148 register finished
2024-09-03 14:25:56.986 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.809 seconds (JVM running for 17.798)
2024-09-03 14:25:56.987 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 14:25:57.362 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 14:25:57.363 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 14:25:57.367 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 14:25:57.368 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 14:25:57.373 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 14:25:57.380 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 14:25:57.380 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 14:48:14.739 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:15.833 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 14:48:16.847 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 14:48:16.851 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 14:48:16.904 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 37ms. Found 0 repository interfaces.
2024-09-03 14:48:17.318 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 14:48:17.548 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$11caf3c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:17.597 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:17.603 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7b59649a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:17.743 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:17.778 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$aa78bc03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:17.790 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:17.792 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@7069f076' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:17.806 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$cf4d5eb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:17.819 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:17.876 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:48:18.818 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 14:48:18.834 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:48:18.843 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 14:48:18.843 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 14:48:19.024 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 14:48:19.025 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3188 ms
2024-09-03 14:48:19.233 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 14:48:19.588 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 14:48:19.589 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 14:48:19.589 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 14:48:19.640 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 14:48:22.988 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 14:48:24.074 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 14:48:24.188 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@24fef542, org.springframework.security.web.context.SecurityContextPersistenceFilter@563263a, org.springframework.security.web.header.HeaderWriterFilter@1be77a76, org.springframework.web.filter.CorsFilter@44ddb518, org.springframework.security.web.authentication.logout.LogoutFilter@4a520f05, com.mes.common.filter.JwtAuthenticationTokenFilter@16ac4d3d, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@70022d44, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6e794f53, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@102af1bb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@e36bc01, org.springframework.security.web.session.SessionManagementFilter@7878bbdb, org.springframework.security.web.access.ExceptionTranslationFilter@7e1a9173, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@47ef5a33]
2024-09-03 14:48:24.244 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:48:24.253 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:48:24.612 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 14:48:25.931 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 14:48:26.496 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 14:48:28.565 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 14:48:28.593 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 14:48:28.623 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 14:48:28.915 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:48:28.945 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 58522 (http) with context path ''
2024-09-03 14:48:29.014 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:58522 register finished
2024-09-03 14:48:29.927 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.783 seconds (JVM running for 17.784)
2024-09-03 14:48:29.929 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 14:48:30.770 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - [{password=admin, user_id=1, role_id=1, id=1, account=admin}]
2024-09-03 14:48:30.787 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 14:48:30.789 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 14:48:30.795 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 14:48:30.796 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 14:48:30.803 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 14:48:30.811 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 14:48:30.812 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 14:58:17.223 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:18.339 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 14:58:19.411 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 14:58:19.414 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 14:58:19.463 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 35ms. Found 0 repository interfaces.
2024-09-03 14:58:19.904 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 14:58:20.118 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$11caf3c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:20.171 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:20.176 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7b59649a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:20.314 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:20.344 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$aa78bc03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:20.355 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:20.358 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@7069f076' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:20.368 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$cf4d5eb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:20.378 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:20.423 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 14:58:21.348 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 14:58:21.363 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:58:21.374 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 14:58:21.375 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 14:58:21.558 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 14:58:21.559 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3217 ms
2024-09-03 14:58:21.778 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 14:58:22.123 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 14:58:22.124 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 14:58:22.125 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 14:58:22.180 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 14:58:25.583 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 14:58:26.674 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 14:58:26.781 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@24fef542, org.springframework.security.web.context.SecurityContextPersistenceFilter@563263a, org.springframework.security.web.header.HeaderWriterFilter@1be77a76, org.springframework.web.filter.CorsFilter@44ddb518, org.springframework.security.web.authentication.logout.LogoutFilter@4a520f05, com.mes.common.filter.JwtAuthenticationTokenFilter@16ac4d3d, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@70022d44, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6e794f53, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@102af1bb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@e36bc01, org.springframework.security.web.session.SessionManagementFilter@7878bbdb, org.springframework.security.web.access.ExceptionTranslationFilter@7e1a9173, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@47ef5a33]
2024-09-03 14:58:26.836 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:58:26.842 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 14:58:27.190 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 14:58:28.536 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 14:58:28.980 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 14:58:30.922 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 14:58:30.951 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 14:58:30.990 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 14:58:31.272 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 14:58:31.300 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 58633 (http) with context path ''
2024-09-03 14:58:31.368 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:58633 register finished
2024-09-03 14:58:32.279 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.682 seconds (JVM running for 17.794)
2024-09-03 14:58:32.281 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 14:58:33.208 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - [{page_url=shelf/task, role_menu_id=1, remark=1, role_name=admin, page_id=1, password=admin, page_number=shelf/task, user_id=1, role_id=1, role_remark=管理员, menu_name=仓储, page_name=仓储任务, menu_number=1, id=1, role_number=u1, account=admin, menu_id=1}]
2024-09-03 14:58:33.216 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 14:58:33.217 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 14:58:33.222 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 14:58:33.223 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 14:58:33.229 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 14:58:33.234 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 14:58:33.235 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 15:00:25.452 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:26.534 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 15:00:27.599 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 15:00:27.604 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 15:00:27.658 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 38ms. Found 0 repository interfaces.
2024-09-03 15:00:28.067 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 15:00:28.292 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$11caf3c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:28.343 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:28.349 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7b59649a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:28.510 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:28.557 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$aa78bc03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:28.565 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:28.567 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@764b14b8' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:28.573 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$cf4d5eb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:28.584 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:28.622 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:00:29.567 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 15:00:29.586 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 15:00:29.595 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 15:00:29.596 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 15:00:29.785 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 15:00:29.785 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3248 ms
2024-09-03 15:00:30.027 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 15:00:30.359 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 15:00:30.360 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 15:00:30.361 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 15:00:30.415 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 15:00:33.779 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 15:00:34.842 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 15:00:34.957 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@24fef542, org.springframework.security.web.context.SecurityContextPersistenceFilter@563263a, org.springframework.security.web.header.HeaderWriterFilter@1be77a76, org.springframework.web.filter.CorsFilter@44ddb518, org.springframework.security.web.authentication.logout.LogoutFilter@4a520f05, com.mes.common.filter.JwtAuthenticationTokenFilter@16ac4d3d, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@70022d44, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6e794f53, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@102af1bb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@e36bc01, org.springframework.security.web.session.SessionManagementFilter@7878bbdb, org.springframework.security.web.access.ExceptionTranslationFilter@7e1a9173, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@47ef5a33]
2024-09-03 15:00:35.019 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 15:00:35.027 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 15:00:35.364 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 15:00:36.602 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 15:00:37.036 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 15:00:39.007 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 15:00:39.036 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 15:00:39.080 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 15:00:39.360 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 15:00:39.384 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 58669 (http) with context path ''
2024-09-03 15:00:39.450 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:58669 register finished
2024-09-03 15:00:40.368 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.516 seconds (JVM running for 17.554)
2024-09-03 15:00:40.370 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 15:00:41.263 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - [{page_url=shelf/task, role_menu_id=1, remark=1, role_name=admin, page_id=1, password=admin, page_number=shelf/task, user_id=1, role_id=1, role_remark=管理员, menu_name=仓储, page_name=仓储任务, menu_number=1, id=1, role_number=u1, account=admin, menu_id=1}, {page_url=shelf/rack, role_menu_id=2, remark=2, role_name=admin, page_id=2, password=admin, page_number=shelf/rack, user_id=1, role_id=1, role_remark=管理员, menu_name=上片, page_name=仓储料架, menu_number=2, id=1, role_number=u1, account=admin, menu_id=2}]
2024-09-03 15:00:41.272 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 15:00:41.273 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 15:00:41.277 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 15:00:41.278 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 15:00:41.283 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 15:00:41.289 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 15:00:41.289 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 15:48:41.964 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:43.070 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 15:48:44.128 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 15:48:44.128 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 15:48:44.184 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 40ms. Found 0 repository interfaces.
2024-09-03 15:48:44.580 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 15:48:44.782 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$11caf3c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:44.824 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:44.834 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7b59649a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:44.974 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:45.016 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$aa78bc03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:45.024 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:45.024 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@764b14b8' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:45.034 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$cf4d5eb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:45.054 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:45.096 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:48:46.019 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 15:48:46.034 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 15:48:46.045 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 15:48:46.045 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 15:48:46.229 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 15:48:46.229 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3153 ms
2024-09-03 15:48:46.447 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 15:48:46.819 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 15:48:46.819 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 15:48:46.819 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 15:48:46.871 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 15:48:50.378 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 15:48:51.444 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 15:48:51.554 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@24fef542, org.springframework.security.web.context.SecurityContextPersistenceFilter@563263a, org.springframework.security.web.header.HeaderWriterFilter@1be77a76, org.springframework.web.filter.CorsFilter@44ddb518, org.springframework.security.web.authentication.logout.LogoutFilter@4a520f05, com.mes.common.filter.JwtAuthenticationTokenFilter@16ac4d3d, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@70022d44, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6e794f53, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@102af1bb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@e36bc01, org.springframework.security.web.session.SessionManagementFilter@7878bbdb, org.springframework.security.web.access.ExceptionTranslationFilter@7e1a9173, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@47ef5a33]
2024-09-03 15:48:51.614 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 15:48:51.614 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 15:48:51.934 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 15:48:53.224 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 15:48:53.654 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 15:48:55.689 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 15:48:55.709 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 15:48:55.744 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 15:48:56.024 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 15:48:56.059 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 59677 (http) with context path ''
2024-09-03 15:48:56.129 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:59677 register finished
2024-09-03 15:48:57.045 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.651 seconds (JVM running for 17.64)
2024-09-03 15:48:57.045 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 15:48:58.004 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - [[{page_url=shelf/task, role_menu_id=1, remark=1, role_name=admin, page_id=1, password=admin, page_number=shelf/task, user_id=1, role_id=1, role_remark=管理员, menu_name=仓储, page_name=仓储任务, menu_number=1, id=1, role_number=u1, account=admin, menu_id=1}], [{page_url=shelf/rack, role_menu_id=2, remark=2, role_name=admin, page_id=2, password=admin, page_number=shelf/rack, user_id=1, role_id=1, role_remark=管理员, menu_name=上片, page_name=仓储料架, menu_number=2, id=1, role_number=u1, account=admin, menu_id=2}]]
2024-09-03 15:48:58.014 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 15:48:58.024 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 15:48:58.029 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 15:48:58.029 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 15:48:58.034 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 15:48:58.034 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 15:48:58.034 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 15:54:07.399 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:08.505 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 15:54:09.794 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 15:54:09.798 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 15:54:09.847 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 34ms. Found 0 repository interfaces.
2024-09-03 15:54:10.332 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 15:54:10.557 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$11caf3c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:10.607 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:10.615 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7b59649a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:10.765 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:10.802 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$aa78bc03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:10.811 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:10.813 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@7069f076' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:10.823 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$cf4d5eb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:10.836 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:10.885 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 15:54:11.860 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 15:54:11.875 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 15:54:11.884 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 15:54:11.885 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 15:54:12.072 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 15:54:12.073 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3565 ms
2024-09-03 15:54:12.290 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 15:54:12.637 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 15:54:12.638 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 15:54:12.639 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 15:54:12.694 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 15:54:16.052 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 15:54:17.139 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 15:54:17.266 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2e85e3f1, org.springframework.security.web.context.SecurityContextPersistenceFilter@53e28097, org.springframework.security.web.header.HeaderWriterFilter@315cf170, org.springframework.web.filter.CorsFilter@195498aa, org.springframework.security.web.authentication.logout.LogoutFilter@389a1e34, com.mes.common.filter.JwtAuthenticationTokenFilter@16ac4d3d, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@7b1c501d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@75f4d8a8, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@797f97e3, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4b360972, org.springframework.security.web.session.SessionManagementFilter@25f7cc38, org.springframework.security.web.access.ExceptionTranslationFilter@4ca0b9b1, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@35536760]
2024-09-03 15:54:17.331 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 15:54:17.339 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 15:54:17.728 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 15:54:19.002 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 15:54:19.517 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 15:54:21.577 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 15:54:21.601 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 15:54:21.639 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 15:54:22.005 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 15:54:22.036 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 59800 (http) with context path ''
2024-09-03 15:54:22.114 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:59800 register finished
2024-09-03 15:54:23.029 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 17.223 seconds (JVM running for 18.255)
2024-09-03 15:54:23.032 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 15:54:24.413 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {1=[{page_url=shelf/task, role_menu_id=1, remark=1, role_name=admin, page_id=1, password=admin, page_number=shelf/task, user_id=1, role_id=1, role_remark=管理员, menu_name=仓储, page_name=仓储任务, menu_number=1, id=1, role_number=u1, account=admin, menu_id=1}], 2=[{page_url=shelf/rack, role_menu_id=2, remark=2, role_name=admin, page_id=2, password=admin, page_number=shelf/rack, user_id=1, role_id=1, role_remark=管理员, menu_name=上片, page_name=仓储料架, menu_number=2, id=1, role_number=u1, account=admin, menu_id=2}]}
2024-09-03 15:54:24.424 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 15:54:24.426 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 15:54:24.431 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 15:54:24.431 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 15:54:24.436 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 15:54:24.442 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 15:54:24.442 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-03 16:23:32.347 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:33.438 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-03 16:23:34.491 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-03 16:23:34.495 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-03 16:23:34.550 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 37ms. Found 0 repository interfaces.
2024-09-03 16:23:34.954 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=e3b4be87-dd11-31e6-b95b-26b75e8dd448
2024-09-03 16:23:35.162 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$11caf3c9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:35.210 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:35.217 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7b59649a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:35.388 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:35.430 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration$$EnhancerBySpringCGLIB$$aa78bc03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:35.438 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:35.441 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@7069f076' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:35.451 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration$$EnhancerBySpringCGLIB$$cf4d5eb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:35.464 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:35.522 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2de4f6c6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-03 16:23:36.447 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-03 16:23:36.464 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-03 16:23:36.476 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-03 16:23:36.477 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-03 16:23:36.669 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-03 16:23:36.669 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3228 ms
2024-09-03 16:23:36.886 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-03 16:23:37.244 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-03 16:23:37.245 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-03 16:23:37.246 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-03 16:23:37.300 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-03 16:23:41.020 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-03 16:23:42.127 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-03 16:23:42.244 [main] INFO  o.s.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2e85e3f1, org.springframework.security.web.context.SecurityContextPersistenceFilter@53e28097, org.springframework.security.web.header.HeaderWriterFilter@315cf170, org.springframework.web.filter.CorsFilter@195498aa, org.springframework.security.web.authentication.logout.LogoutFilter@389a1e34, com.mes.common.filter.JwtAuthenticationTokenFilter@16ac4d3d, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@7b1c501d, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@75f4d8a8, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@797f97e3, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4b360972, org.springframework.security.web.session.SessionManagementFilter@25f7cc38, org.springframework.security.web.access.ExceptionTranslationFilter@4ca0b9b1, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@35536760]
2024-09-03 16:23:42.306 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 16:23:42.312 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-03 16:23:42.664 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-03 16:23:44.001 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-03 16:23:44.441 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-03 16:23:46.441 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-03 16:23:46.464 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-03 16:23:46.504 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-03 16:23:46.784 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-03 16:23:46.812 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 60124 (http) with context path ''
2024-09-03 16:23:46.878 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:60124 register finished
2024-09-03 16:23:47.889 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 17.15 seconds (JVM running for 18.154)
2024-09-03 16:23:47.891 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-03 16:23:48.853 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {user_id=1, role_id=1, id=1, role_menu=[{page_url=shelf/task, role_menu_id=1, remark=1, role_name=admin, page_id=1, password=admin, page_number=shelf/task, user_id=1, role_id=1, role_remark=管理员, menu_name=仓储, page_name=仓储任务, menu_number=1, id=1, role_number=u1, account=admin, menu_id=1}, {page_url=shelf/rack, role_menu_id=2, remark=2, role_name=admin, page_id=2, password=admin, page_number=shelf/rack, user_id=1, role_id=1, role_remark=管理员, menu_name=上片, page_name=仓储料架, menu_number=2, id=1, role_number=u1, account=admin, menu_id=2}], account=admin}
2024-09-03 16:23:48.864 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-03 16:23:48.865 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-03 16:23:48.870 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-03 16:23:48.870 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-03 16:23:48.875 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-03 16:23:48.880 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-03 16:23:48.880 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-info-2024-09-04.0.log
New file
@@ -0,0 +1,493 @@
2024-09-04 14:31:28.169 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 14:31:29.290 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 14:31:30.320 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 14:31:30.324 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 14:31:30.365 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25ms. Found 0 repository interfaces.
2024-09-04 14:31:30.760 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 14:31:30.977 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 14:31:31.030 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 14:31:31.036 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 14:31:31.313 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 14:31:31.355 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 14:31:32.362 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 14:31:32.380 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 14:31:32.390 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 14:31:32.391 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 14:31:32.581 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 14:31:32.581 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3288 ms
2024-09-04 14:31:32.862 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 14:31:33.170 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 14:31:33.171 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 14:31:33.171 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 14:31:33.228 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 14:31:35.778 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 14:31:36.591 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 14:31:36.633 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 14:31:36.643 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 14:31:37.012 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 14:31:38.418 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 14:31:39.161 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 14:31:41.238 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 14:31:41.270 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 14:31:41.325 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 14:31:41.531 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 14:31:41.562 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 62590 (http) with context path ''
2024-09-04 14:31:41.708 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:62590 register finished
2024-09-04 14:31:42.646 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.157 seconds (JVM running for 17.223)
2024-09-04 14:31:42.648 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 14:31:43.698 [main] INFO  com.mes.md.service.impl.AccountServiceImpl - 分组内容{上片=[{page_url=shelf/rack, role_menu_id=2, remark=2, role_name=admin, page_id=2, password=admin, page_number=shelf/rack, user_id=1, role_id=1, role_remark=管理员, menu_name=上片, page_name=仓储料架, menu_number=2, id=1, role_number=u1, account=admin, menu_id=2}], 仓储=[{page_url=shelf/task, role_menu_id=1, remark=1, role_name=admin, page_id=1, password=admin, page_number=shelf/task, user_id=1, role_id=1, role_remark=管理员, menu_name=仓储, page_name=仓储任务, menu_number=1, id=1, role_number=u1, account=admin, menu_id=1}]}
2024-09-04 14:31:43.698 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {user_id=1, role_id=1, id=1, role_menu=[{page_url=shelf/task, role_menu_id=1, remark=1, role_name=admin, page_id=1, password=admin, page_number=shelf/task, user_id=1, role_id=1, role_remark=管理员, menu_name=仓储, page_name=仓储任务, menu_number=1, id=1, role_number=u1, account=admin, menu_id=1}, {page_url=shelf/rack, role_menu_id=2, remark=2, role_name=admin, page_id=2, password=admin, page_number=shelf/rack, user_id=1, role_id=1, role_remark=管理员, menu_name=上片, page_name=仓储料架, menu_number=2, id=1, role_number=u1, account=admin, menu_id=2}], account=admin}
2024-09-04 14:31:43.707 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 14:31:43.708 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 14:31:43.713 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 14:31:43.714 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 14:31:43.717 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 14:31:43.724 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 14:31:43.724 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-04 15:50:54.819 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 15:50:55.893 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 15:50:56.882 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 15:50:56.885 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 15:50:56.923 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 23ms. Found 0 repository interfaces.
2024-09-04 15:50:57.310 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 15:50:57.526 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 15:50:57.582 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 15:50:57.587 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 15:50:57.731 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 15:50:57.769 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 15:50:58.688 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 15:50:58.703 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 15:50:58.714 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 15:50:58.714 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 15:50:58.894 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 15:50:58.895 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2999 ms
2024-09-04 15:50:59.186 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 15:50:59.508 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 15:50:59.510 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 15:50:59.510 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 15:50:59.560 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 15:51:02.102 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 15:51:02.767 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 15:51:02.808 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 15:51:02.817 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 15:51:03.207 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 15:51:04.541 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 15:51:05.357 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 15:51:07.423 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 15:51:07.451 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 15:51:07.488 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 15:51:07.645 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 15:51:07.674 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 51223 (http) with context path ''
2024-09-04 15:51:07.814 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:51223 register finished
2024-09-04 15:51:08.728 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 15.609 seconds (JVM running for 16.585)
2024-09-04 15:51:08.730 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 15:51:09.655 [main] INFO  com.mes.md.service.impl.AccountServiceImpl - 分组内容{1=[{page_url=shelf/task, role_menu_id=1, remark=1, role_name=admin, page_id=1, password=admin, page_number=shelf/task, user_id=1, role_id=1, role_remark=管理员, menu_name=仓储, page_name=仓储任务, menu_number=1, id=1, role_number=u1, account=admin, menu_id=1}], 2=[{page_url=shelf/rack, role_menu_id=2, remark=2, role_name=admin, page_id=2, password=admin, page_number=shelf/rack, user_id=1, role_id=1, role_remark=管理员, menu_name=上片, page_name=仓储料架, menu_number=2, id=1, role_number=u1, account=admin, menu_id=2}]}
2024-09-04 15:51:09.655 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {user_id=1, role_id=1, id=1, role_menu=[{page_url=shelf/task, role_menu_id=1, remark=1, role_name=admin, page_id=1, password=admin, page_number=shelf/task, user_id=1, role_id=1, role_remark=管理员, menu_name=仓储, page_name=仓储任务, menu_number=1, id=1, role_number=u1, account=admin, menu_id=1}, {page_url=shelf/rack, role_menu_id=2, remark=2, role_name=admin, page_id=2, password=admin, page_number=shelf/rack, user_id=1, role_id=1, role_remark=管理员, menu_name=上片, page_name=仓储料架, menu_number=2, id=1, role_number=u1, account=admin, menu_id=2}], account=admin}
2024-09-04 15:51:09.665 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 15:51:09.667 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 15:51:09.671 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 15:51:09.672 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 15:51:09.676 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 15:51:09.683 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 15:51:09.683 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-04 16:44:34.500 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 16:44:35.605 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 16:44:36.510 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 16:44:36.513 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 16:44:36.552 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25ms. Found 0 repository interfaces.
2024-09-04 16:44:36.921 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 16:44:37.121 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 16:44:37.167 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 16:44:37.172 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 16:44:37.322 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 16:44:37.362 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 16:44:38.274 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 16:44:38.290 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 16:44:38.300 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 16:44:38.300 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 16:44:38.489 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 16:44:38.490 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2881 ms
2024-09-04 16:44:38.763 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 16:44:39.051 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 16:44:39.053 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 16:44:39.053 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 16:44:39.108 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 16:44:41.788 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 16:44:42.483 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 16:44:42.522 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 16:44:42.530 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 16:44:42.925 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 16:44:44.324 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 16:44:45.074 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 16:44:47.061 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 16:44:47.086 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 16:44:47.119 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 16:44:47.295 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 16:44:47.324 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 54533 (http) with context path ''
2024-09-04 16:44:47.465 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:54533 register finished
2024-09-04 16:44:48.371 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 15.472 seconds (JVM running for 16.536)
2024-09-04 16:44:48.373 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 16:44:49.750 [main] INFO  com.mes.md.service.impl.AccountServiceImpl - 分组内容{1=[{page_url=shelf/task, role_menu_id=1, remark=1, role_name=admin, page_id=1, password=admin, page_number=shelf/task, user_id=1, role_id=1, role_remark=管理员, menu_name=仓储, page_name=仓储任务, menu_number=1, id=1, role_number=u1, account=admin, menu_id=1}], 2=[{page_url=shelf/rack, role_menu_id=2, remark=2, role_name=admin, page_id=2, password=admin, page_number=shelf/rack, user_id=1, role_id=1, role_remark=管理员, menu_name=上片, page_name=仓储料架, menu_number=2, id=1, role_number=u1, account=admin, menu_id=2}]}
2024-09-04 16:44:49.752 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {pages=[{page_url=shelf/rack, page_id=2, page_number=shelf/rack, page_name=仓储料架, menu_sequence=null}], user_id=1, role_id=1, menu_remark=null, menu_name=上片, menu_number=2, id=1, account=admin, menu_id=2}
2024-09-04 16:44:49.767 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 16:44:49.769 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 16:44:49.779 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 16:44:49.779 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 16:44:49.783 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 16:44:49.789 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 16:44:49.790 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-04 17:30:01.613 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:30:02.698 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 17:30:03.639 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 17:30:03.643 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 17:30:03.695 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 35ms. Found 0 repository interfaces.
2024-09-04 17:30:04.101 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 17:30:04.336 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:30:04.386 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:30:04.393 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:30:04.548 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:30:04.602 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:30:05.503 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 17:30:05.519 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 17:30:05.529 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 17:30:05.529 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 17:30:05.748 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 17:30:05.748 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3047 ms
2024-09-04 17:30:06.055 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 17:30:06.326 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 17:30:06.328 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 17:30:06.328 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 17:30:06.365 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 17:30:08.840 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 17:30:09.721 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 17:30:09.764 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 17:30:09.773 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 17:30:10.122 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 17:30:11.472 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 17:30:12.268 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 17:30:14.814 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 17:30:14.843 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 17:30:14.883 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 17:30:15.052 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 17:30:15.080 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 57224 (http) with context path ''
2024-09-04 17:30:15.214 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:57224 register finished
2024-09-04 17:30:16.386 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.4 seconds (JVM running for 17.42)
2024-09-04 17:30:16.388 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 17:30:17.831 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 17:30:17.832 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 17:30:17.837 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 17:30:17.837 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 17:30:17.842 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 17:30:17.850 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 17:30:17.850 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-04 17:32:35.684 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:32:36.769 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 17:32:37.694 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 17:32:37.696 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 17:32:37.733 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 24ms. Found 0 repository interfaces.
2024-09-04 17:32:38.148 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 17:32:38.367 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:32:38.414 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:32:38.419 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:32:38.549 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:32:38.585 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:32:39.513 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 17:32:39.532 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 17:32:39.543 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 17:32:39.544 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 17:32:39.777 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 17:32:39.777 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3005 ms
2024-09-04 17:32:40.044 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 17:32:40.326 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 17:32:40.327 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 17:32:40.327 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 17:32:40.370 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 17:32:42.909 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 17:32:43.609 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 17:32:43.646 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 17:32:43.653 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 17:32:44.047 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 17:32:45.330 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 17:32:46.025 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 17:32:47.989 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 17:32:48.013 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 17:32:48.046 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 17:32:48.204 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 17:32:48.240 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 57380 (http) with context path ''
2024-09-04 17:32:48.385 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:57380 register finished
2024-09-04 17:32:49.318 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 15.272 seconds (JVM running for 16.272)
2024-09-04 17:32:49.320 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 17:32:50.289 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 17:32:50.291 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 17:32:50.295 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 17:32:50.296 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 17:32:50.301 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 17:32:50.309 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 17:32:50.309 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-04 17:34:50.106 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2c54b95c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:34:51.256 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 17:34:52.397 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 17:34:52.402 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 17:34:52.450 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 29ms. Found 0 repository interfaces.
2024-09-04 17:34:52.877 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 17:34:53.142 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$103ab65f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:34:53.195 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:34:53.203 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$79c92730] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:34:53.352 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:34:53.400 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2c54b95c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:34:54.413 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 17:34:54.431 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 17:34:54.442 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 17:34:54.443 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 17:34:54.643 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 17:34:54.643 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3383 ms
2024-09-04 17:34:55.040 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 17:34:55.356 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 17:34:55.358 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 17:34:55.358 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 17:34:55.402 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 17:34:58.116 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 17:34:58.941 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 17:34:58.985 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 17:34:58.993 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 17:34:59.444 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 17:35:01.122 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 17:35:01.788 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 17:35:03.899 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 17:35:03.932 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 17:35:03.977 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 17:35:04.201 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 17:35:04.259 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 57530 (http) with context path ''
2024-09-04 17:35:04.414 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:57530 register finished
2024-09-04 17:35:05.327 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 17.111 seconds (JVM running for 18.543)
2024-09-04 17:35:05.329 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 17:39:59.013 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 17:39:59.015 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 17:39:59.024 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 17:39:59.025 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 17:39:59.029 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 17:39:59.039 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 17:39:59.040 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-04 17:40:04.940 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2c54b95c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:40:06.048 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 17:40:07.080 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 17:40:07.083 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 17:40:07.122 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 24ms. Found 0 repository interfaces.
2024-09-04 17:40:07.574 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 17:40:07.844 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$103ab65f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:40:07.903 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:40:07.911 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$79c92730] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:40:08.080 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:40:08.126 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$2c54b95c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:40:09.106 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 17:40:09.123 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 17:40:09.134 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 17:40:09.134 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 17:40:09.338 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 17:40:09.339 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3288 ms
2024-09-04 17:40:09.693 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 17:40:10.009 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 17:40:10.011 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 17:40:10.011 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 17:40:10.047 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 17:40:12.741 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 17:40:13.567 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 17:40:13.609 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 17:40:13.619 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 17:40:14.060 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 17:40:15.586 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 17:40:16.187 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 17:40:18.275 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 17:40:18.310 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 17:40:18.352 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 17:40:18.549 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 17:40:18.587 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 57853 (http) with context path ''
2024-09-04 17:40:18.740 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:57853 register finished
2024-09-04 17:40:19.658 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.551 seconds (JVM running for 17.821)
2024-09-04 17:40:19.660 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 17:50:00.396 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 17:50:00.397 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 17:50:00.402 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 17:50:00.403 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 17:50:00.408 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 17:50:00.417 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 17:50:00.418 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-04 17:58:36.581 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:58:37.936 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 17:58:39.232 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 17:58:39.235 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 17:58:39.277 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 26ms. Found 0 repository interfaces.
2024-09-04 17:58:39.767 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 17:58:40.008 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:58:40.063 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:58:40.068 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:58:40.227 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:58:40.277 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 17:58:41.216 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 17:58:41.231 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 17:58:41.241 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 17:58:41.242 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 17:58:41.453 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 17:58:41.453 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3513 ms
2024-09-04 17:58:41.749 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 17:58:42.023 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 17:58:42.024 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 17:58:42.024 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 17:58:42.068 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 17:58:44.573 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 17:58:45.372 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 17:58:45.411 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 17:58:45.418 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 17:58:45.789 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 17:58:47.073 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 17:58:47.819 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 17:58:49.737 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 17:58:49.762 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 17:58:49.800 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 17:58:49.968 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 17:58:50.001 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 58924 (http) with context path ''
2024-09-04 17:58:50.141 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:58924 register finished
2024-09-04 17:58:51.059 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.8 seconds (JVM running for 18.164)
2024-09-04 17:58:51.061 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 17:58:51.987 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {user_id=1, role_id=1, id=1, menus=[{pages=[{page_url=shelf/rack, page_id=2, page_number=shelf/rack, page_name=仓储料架, menu_sequence=null}], menu_remark=null, menu_name=上片, menu_number=2, menu_id=2}], account=admin}
2024-09-04 17:58:52.002 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 17:58:52.004 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 17:58:52.010 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 17:58:52.010 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 17:58:52.016 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 17:58:52.024 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 17:58:52.025 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-04 18:05:04.929 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:05:06.007 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 18:05:06.957 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 18:05:06.960 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 18:05:06.996 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 22ms. Found 0 repository interfaces.
2024-09-04 18:05:07.366 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 18:05:07.607 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:05:07.659 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:05:07.666 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:05:07.817 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:05:07.854 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:05:08.753 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 18:05:08.768 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 18:05:08.778 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 18:05:08.779 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 18:05:08.976 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 18:05:08.976 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2966 ms
2024-09-04 18:05:09.264 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 18:05:09.548 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 18:05:09.550 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 18:05:09.550 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 18:05:09.589 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 18:05:12.133 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 18:05:12.873 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 18:05:12.910 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 18:05:12.918 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 18:05:13.310 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 18:05:14.614 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 18:05:15.308 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 18:05:17.287 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 18:05:17.313 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 18:05:17.346 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 18:05:17.496 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 18:05:17.533 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 59295 (http) with context path ''
2024-09-04 18:05:17.709 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:59295 register finished
2024-09-04 18:05:18.644 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 15.366 seconds (JVM running for 16.411)
2024-09-04 18:05:18.646 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 18:05:19.631 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 18:05:19.632 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 18:05:19.636 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 18:05:19.637 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 18:05:19.641 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 18:05:19.647 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 18:05:19.648 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-04 18:06:59.310 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:07:00.501 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 18:07:01.911 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 18:07:01.914 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 18:07:01.957 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 29ms. Found 0 repository interfaces.
2024-09-04 18:07:02.701 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 18:07:03.045 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:07:03.123 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:07:03.130 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:07:03.362 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:07:03.403 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:07:04.493 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 18:07:04.508 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 18:07:04.525 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 18:07:04.525 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 18:07:04.763 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 18:07:04.764 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 4258 ms
2024-09-04 18:07:05.174 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 18:07:05.509 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 18:07:05.510 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 18:07:05.511 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 18:07:05.596 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 18:07:08.411 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 18:07:09.192 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 18:07:09.241 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 18:07:09.263 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 18:07:09.771 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 18:07:11.079 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 18:07:11.767 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 18:07:13.723 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 18:07:13.748 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 18:07:13.785 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 18:07:13.940 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 18:07:13.975 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 59420 (http) with context path ''
2024-09-04 18:07:14.112 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:59420 register finished
2024-09-04 18:07:15.038 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 17.359 seconds (JVM running for 18.332)
2024-09-04 18:07:15.040 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 18:07:15.926 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {user_id=1, role_id=1, id=1, menus=[{pages=[{page_url=shelf/task, page_id=1, page_number=shelf/task, page_name=仓储任务, menu_sequence=null}], menu_remark=null, menu_name=仓储, menu_number=1, menu_id=1}, {pages=[{page_url=shelf/rack, page_id=2, page_number=shelf/rack, page_name=仓储料架, menu_sequence=null}]}], account=admin}
2024-09-04 18:07:15.937 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 18:07:15.938 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 18:07:15.943 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 18:07:15.944 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 18:07:15.948 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 18:07:15.954 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 18:07:15.955 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-04 18:11:53.564 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:11:54.648 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-04 18:11:55.588 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-04 18:11:55.592 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-04 18:11:55.630 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 26ms. Found 0 repository interfaces.
2024-09-04 18:11:56.004 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-04 18:11:56.238 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:11:56.286 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:11:56.292 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:11:56.422 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:11:56.458 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-04 18:11:57.367 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-04 18:11:57.385 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-04 18:11:57.395 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-04 18:11:57.395 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-04 18:11:57.598 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-04 18:11:57.598 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2947 ms
2024-09-04 18:11:57.879 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-04 18:11:58.226 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-04 18:11:58.227 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-04 18:11:58.227 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-04 18:11:58.273 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-04 18:12:00.794 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-04 18:12:01.511 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-04 18:12:01.547 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 18:12:01.554 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-04 18:12:01.910 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-04 18:12:03.231 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-04 18:12:03.949 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-04 18:12:05.890 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-04 18:12:05.914 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-04 18:12:05.945 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-04 18:12:06.109 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-04 18:12:06.152 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 59704 (http) with context path ''
2024-09-04 18:12:06.300 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:59704 register finished
2024-09-04 18:12:07.294 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 15.367 seconds (JVM running for 16.323)
2024-09-04 18:12:07.295 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-04 18:12:08.383 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {user_id=1, role_id=1, id=1, menus=[{pages=[{page_url=shelf/task, page_id=1, page_number=shelf/task, page_name=仓储任务, menu_sequence=null}], menu_remark=null, menu_name=仓储, menu_number=1, menu_id=1}, {pages=[{page_url=shelf/rack, page_id=2, page_number=shelf/rack, page_name=仓储料架, menu_sequence=null}], menu_remark=null, menu_name=上片, menu_number=2, menu_id=2}], account=admin}
2024-09-04 18:12:08.396 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-04 18:12:08.401 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-04 18:12:08.407 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-04 18:12:08.410 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-04 18:12:08.415 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-04 18:12:08.422 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-04 18:12:08.423 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-warn-2024-09-03.0.log
New file
@@ -0,0 +1,325 @@
2024-09-03 11:37:49.088 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.088 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.088 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.089 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.089 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.089 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.089 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.089 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.089 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.089 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.090 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:37:49.091 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 11:37:56.103 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 11:37:56.109 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 11:45:30.931 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.931 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.931 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.931 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.931 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.931 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.932 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.933 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.933 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:45:30.933 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 11:45:38.040 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 11:45:38.046 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 11:47:52.734 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.734 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.735 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.736 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.736 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.736 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.736 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.736 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.736 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 11:47:52.737 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 11:47:59.840 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 11:47:59.848 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:16:53.953 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.953 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.953 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.953 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.954 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.955 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.955 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.955 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.955 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.955 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.955 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:16:53.955 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 14:17:04.401 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:17:04.410 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:20:20.212 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.212 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.212 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.212 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.213 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.213 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.213 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.213 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.213 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.213 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.214 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.214 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.214 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.214 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.214 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.214 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.214 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.214 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.214 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.215 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.215 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.215 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:20:20.215 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 14:20:27.530 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:20:27.540 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:24:25.585 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.586 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.586 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.586 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.586 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.586 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.586 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.587 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.588 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.588 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.588 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:24:25.589 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 14:24:32.821 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:24:32.829 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:25:44.232 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.233 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.233 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.233 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.235 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.235 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.235 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.235 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.235 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.235 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.235 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:25:44.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 14:25:51.520 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:25:51.533 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:48:17.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.161 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.161 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.161 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.161 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.161 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.161 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:48:17.162 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 14:48:24.243 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:48:24.253 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:58:19.741 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.741 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.741 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.741 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.741 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.741 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.742 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.742 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.742 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.742 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.742 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.742 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.742 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.742 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.743 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.743 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.743 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.743 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.743 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.743 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.743 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.743 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 14:58:19.744 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 14:58:26.836 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 14:58:26.842 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 15:00:27.906 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.906 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.906 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.907 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.908 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.908 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.908 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.908 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.908 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.908 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:00:27.909 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 15:00:35.019 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 15:00:35.027 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:48:44.424 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 15:48:51.614 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 15:48:51.614 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 15:54:10.158 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.158 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.158 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.158 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.158 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.158 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.158 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.158 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.159 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.160 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 15:54:10.161 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 15:54:17.331 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 15:54:17.339 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 16:23:34.797 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.798 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.798 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.798 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.799 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.800 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.800 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysMenuMapper' and 'com.mes.menu.mapper.SysMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.800 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMapper' and 'com.mes.role.mapper.SysRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.800 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysRoleMenuMapper' and 'com.mes.role.mapper.SysRoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.800 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserMapper' and 'com.mes.userinfo.mapper.SysUserMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.801 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'sysUserRoleMapper' and 'com.mes.userinfo.mapper.SysUserRoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-03 16:23:34.802 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-03 16:23:42.305 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-03 16:23:42.311 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web-warn-2024-09-04.0.log
New file
@@ -0,0 +1,220 @@
2024-09-04 14:31:30.549 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.552 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.552 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.553 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.553 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.553 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.553 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.553 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.553 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.553 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.553 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.554 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.554 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.554 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.554 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.554 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.554 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 14:31:30.554 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 14:31:36.633 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 14:31:36.642 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 15:50:57.118 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.119 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.120 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.120 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.120 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.120 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.120 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 15:50:57.120 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 15:51:02.808 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 15:51:02.817 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 16:44:36.729 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.729 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.729 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.729 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.729 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.730 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.730 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.730 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.730 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.730 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.730 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.730 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.730 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.731 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.731 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.731 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.731 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 16:44:36.731 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 16:44:42.522 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 16:44:42.530 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 17:30:03.916 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.916 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.916 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.916 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.916 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.916 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.916 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.916 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:30:03.918 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 17:30:09.764 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 17:30:09.773 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 17:32:37.916 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.917 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.918 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.918 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.918 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.918 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.918 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.919 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.919 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.919 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.919 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.919 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.920 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.920 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.920 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:32:37.920 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 17:32:43.645 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 17:32:43.653 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 17:34:52.705 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.705 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.705 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.705 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.706 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.706 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.706 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.706 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.706 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.706 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.706 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.706 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.706 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.706 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.707 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.707 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.707 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:34:52.707 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 17:34:58.984 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 17:34:58.993 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 17:40:07.398 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.399 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.399 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.399 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.399 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.399 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.399 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.399 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.399 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.399 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.400 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.400 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.400 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.400 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.400 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.400 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.400 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:40:07.401 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 17:40:13.609 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 17:40:13.618 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 17:58:39.509 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.509 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.509 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.509 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.509 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.510 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.510 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.510 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.510 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.511 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.511 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.512 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.512 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.512 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.513 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.513 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.513 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 17:58:39.514 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 17:58:45.410 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 17:58:45.418 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 18:05:07.162 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.162 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.162 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.163 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.164 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:05:07.164 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 18:05:12.910 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 18:05:12.918 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 18:07:02.233 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.233 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.234 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.235 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.236 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.237 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.237 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:07:02.238 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 18:07:09.241 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 18:07:09.262 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 18:11:55.817 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.817 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.818 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.819 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.819 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.819 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.819 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-04 18:11:55.820 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-04 18:12:01.546 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-04 18:12:01.554 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web_debug.log
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web_error.log
New file
@@ -0,0 +1,9 @@
2024-09-05 08:00:31.061 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-05 08:00:31.853 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-05 08:00:31.983 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-05 08:01:36.701 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-05 08:01:37.487 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-05 08:01:37.593 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-05 08:03:03.005 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-05 08:03:03.765 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
2024-09-05 08:03:03.867 [main] ERROR org.apache.catalina.core.AprLifecycleListener - An incompatible version [1.2.10] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web_info.log
New file
@@ -0,0 +1,135 @@
2024-09-05 08:00:27.976 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:00:29.061 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-05 08:00:30.148 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-05 08:00:30.152 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-05 08:00:30.195 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25ms. Found 0 repository interfaces.
2024-09-05 08:00:30.569 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-05 08:00:30.767 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:00:30.819 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:00:30.824 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:00:30.990 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:00:31.028 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:00:31.965 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-05 08:00:31.984 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-05 08:00:31.992 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-05 08:00:31.993 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-05 08:00:32.170 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-05 08:00:32.171 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3108 ms
2024-09-05 08:00:32.492 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-05 08:00:32.826 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-05 08:00:32.827 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-05 08:00:32.827 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-05 08:00:32.882 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-05 08:00:35.915 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-05 08:00:36.599 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-05 08:00:36.658 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-05 08:00:36.664 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-05 08:00:37.101 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-05 08:00:38.519 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-05 08:00:39.241 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-05 08:00:41.183 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-05 08:00:41.213 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-05 08:00:41.244 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-05 08:00:41.397 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-05 08:00:41.424 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 56929 (http) with context path ''
2024-09-05 08:00:41.556 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:56929 register finished
2024-09-05 08:00:42.475 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 16.209 seconds (JVM running for 17.242)
2024-09-05 08:00:42.477 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-05 08:00:43.466 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {}
2024-09-05 08:00:43.475 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-05 08:00:43.477 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-05 08:00:43.480 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-05 08:00:43.481 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-05 08:00:43.485 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-05 08:00:43.491 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-05 08:00:43.491 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-05 08:01:33.943 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:01:35.000 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-05 08:01:35.887 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-05 08:01:35.890 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-05 08:01:35.926 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 23ms. Found 0 repository interfaces.
2024-09-05 08:01:36.279 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-05 08:01:36.450 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:01:36.493 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:01:36.500 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:01:36.632 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:01:36.669 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:01:37.577 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-05 08:01:37.594 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-05 08:01:37.604 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-05 08:01:37.604 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-05 08:01:37.802 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-05 08:01:37.802 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2799 ms
2024-09-05 08:01:38.051 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-05 08:01:38.326 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-05 08:01:38.327 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-05 08:01:38.327 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-05 08:01:38.365 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-05 08:01:40.735 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-05 08:01:41.400 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-05 08:01:41.445 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-05 08:01:41.454 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-05 08:01:41.795 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-05 08:01:43.071 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-05 08:01:43.722 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-05 08:01:45.582 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-05 08:01:45.607 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-05 08:01:45.648 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-05 08:01:45.818 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-05 08:01:45.844 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 57014 (http) with context path ''
2024-09-05 08:01:45.971 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:57014 register finished
2024-09-05 08:01:46.867 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 14.513 seconds (JVM running for 15.43)
2024-09-05 08:01:46.869 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-05 08:01:47.757 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {}
2024-09-05 08:01:47.771 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-05 08:01:47.772 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-05 08:01:47.778 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-05 08:01:47.778 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-05 08:01:47.782 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-05 08:01:47.789 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-05 08:01:47.789 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
2024-09-05 08:03:00.074 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:03:01.161 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - The following profiles are active: prod
2024-09-05 08:03:02.115 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-09-05 08:03:02.118 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-09-05 08:03:02.159 [main] INFO  o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25ms. Found 0 repository interfaces.
2024-09-05 08:03:02.526 [main] INFO  o.springframework.cloud.context.scope.GenericScope - BeanFactory id=cc7ddef6-fd7e-3b07-831a-bfa756c03f5b
2024-09-05 08:03:02.715 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c39c56bf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:03:02.764 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:03:02.771 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$2d2ac790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:03:02.945 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:03:02.979 [main] INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$dfb659bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-09-05 08:03:03.852 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 0 (http)
2024-09-05 08:03:03.868 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-auto-1"]
2024-09-05 08:03:03.878 [main] INFO  org.apache.catalina.core.StandardService - Starting service [Tomcat]
2024-09-05 08:03:03.878 [main] INFO  org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.24]
2024-09-05 08:03:04.046 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2024-09-05 08:03:04.046 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2883 ms
2024-09-05 08:03:04.311 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join properties config complete
2024-09-05 08:03:04.585 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1,jiumumes} inited
2024-09-05 08:03:04.587 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource - load a datasource named [jiumumes] success
2024-09-05 08:03:04.587 [main] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource initial loaded [1] datasource,primary datasource named [jiumumes]
2024-09-05 08:03:04.624 [main] INFO  c.g.y.a.MybatisPlusJoinAutoConfiguration - mybatis plus join SqlInjector init
2024-09-05 08:03:07.042 [main] INFO  com.mes.service.PlcAgreement - 初始化PlcCacheGlass:false
2024-09-05 08:03:07.639 [main] INFO  s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2024-09-05 08:03:07.690 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-05 08:03:07.700 [main] INFO  com.netflix.config.sources.URLConfigurationSource - To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2024-09-05 08:03:08.055 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2024-09-05 08:03:09.280 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService
2024-09-05 08:03:09.944 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'taskScheduler'
2024-09-05 08:03:11.851 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2024-09-05 08:03:11.874 [main] INFO  s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2024-09-05 08:03:11.907 [main] INFO  s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2024-09-05 08:03:12.048 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-auto-1"]
2024-09-05 08:03:12.077 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 57190 (http) with context path ''
2024-09-05 08:03:12.222 [main] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - nacos registry, deviceInteraction 10.153.19.29:57190 register finished
2024-09-05 08:03:13.134 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - Started DeviceInteractionModuleApplicationTest in 14.606 seconds (JVM running for 15.543)
2024-09-05 08:03:13.136 [main] INFO  com.mes.AppRunnerConfig - 启动完成
2024-09-05 08:03:13.956 [main] INFO  com.mes.DeviceInteractionModuleApplicationTest - {}
2024-09-05 08:03:13.964 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
2024-09-05 08:03:13.965 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now...
2024-09-05 08:03:13.970 [Thread-11] INFO  c.a.cloud.nacos.registry.NacosServiceRegistry - De-registration finished.
2024-09-05 08:03:13.972 [Thread-11] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2024-09-05 08:03:13.976 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource start closing ....
2024-09-05 08:03:13.982 [Thread-11] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
2024-09-05 08:03:13.983 [Thread-11] INFO  c.b.dynamic.datasource.DynamicRoutingDataSource - dynamic-datasource all closed success,bye
JiuMuMesParent/moduleService/DeviceInteractionModule/logs/deviceInteraction/web_warn.log
New file
@@ -0,0 +1,60 @@
2024-09-05 08:00:30.370 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.372 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.372 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.373 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.373 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.373 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.373 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.373 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.373 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.373 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.374 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:00:30.375 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-05 08:00:36.658 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-05 08:00:36.664 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-05 08:01:36.086 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.086 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.086 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.087 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.088 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.088 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:01:36.088 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-05 08:01:41.444 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-05 08:01:41.453 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-05 08:03:02.337 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgStorageCageMapper' and 'com.mes.edgstoragecage.mapper.EdgStorageCageMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.338 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'accountMapper' and 'com.mes.md.mapper.AccountMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.338 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'edgeGrindingLogMapper' and 'com.mes.md.mapper.EdgeGrindingLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.338 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'equipmentLogMapper' and 'com.mes.md.mapper.EquipmentLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.338 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'glassInfoMapper' and 'com.mes.md.mapper.GlassInfoMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.338 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'menuMapper' and 'com.mes.md.mapper.MenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'orderOriginalPieceMapper' and 'com.mes.md.mapper.OrderOriginalPieceMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'pageMapper' and 'com.mes.md.mapper.PageMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'primitiveTaskMapper' and 'com.mes.md.mapper.PrimitiveTaskMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectLogMapper' and 'com.mes.md.mapper.ProjectLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'projectMapper' and 'com.mes.md.mapper.ProjectMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMapper' and 'com.mes.md.mapper.RoleMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'roleMenuMapper' and 'com.mes.md.mapper.RoleMenuMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskLogMapper' and 'com.mes.md.mapper.TaskLogMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'taskingMapper' and 'com.mes.md.mapper.TaskingMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'workTaskDetailMapper' and 'com.mes.md.mapper.WorkTaskDetailMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.339 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - Skipping MapperFactoryBean with name 'engineeringMapper' and 'com.mes.engineering.mapper.EngineeringMapper' mapperInterface. Bean already defined with the same name!
2024-09-05 08:03:02.340 [main] WARN  org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mes.*.mapper]' package. Please check your configuration.
2024-09-05 08:03:07.690 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
2024-09-05 08:03:07.700 [main] WARN  com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
JiuMuMesParent/moduleService/DeviceInteractionModule/pom.xml
New file
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>moduleService</artifactId>
        <groupId>com.mes</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>deviceInteraction</artifactId>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.samba.jcifs</groupId>
            <artifactId>jcifs</artifactId>
            <version>1.2.19</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.github.yulichang</groupId>-->
<!--            <artifactId>mybatis-plus-join-boot-starter</artifactId>-->
<!--            <version>1.4.12</version>-->
<!--        </dependency>-->
    </dependencies>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
</project>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java
New file
@@ -0,0 +1,23 @@
package com.mes;
import com.mes.common.S7object;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@Slf4j
@Component
@Order(1)
public class AppRunnerConfig implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        // TODO Auto-generated method stub
        log.info("启动完成");
        S7object.getinstance().start();
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/DeviceInteractionModuleApplication.java
New file
@@ -0,0 +1,31 @@
package com.mes;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.scheduling.annotation.EnableScheduling;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
 * @Author : zhoush
 * @Date: 2024/3/25 10:49
 * @Description:
 */
@Slf4j
@SpringBootApplication
@MapperScan("com.mes.*.mapper")
@EnableDiscoveryClient
@EnableSwagger2
@EnableScheduling
public class DeviceInteractionModuleApplication {
    public static void main(String[] args) {
        try {
            SpringApplication.run(DeviceInteractionModuleApplication.class, args);
        } catch (Exception e) {
            log.error(e.getMessage());
        }
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7object.java
New file
@@ -0,0 +1,62 @@
package com.mes.common;
import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
import com.mes.device.PlcParameterObject;
import com.mes.tools.InitUtil;
import com.mes.tools.S7control;
/**
 * @Author : zhoush
 * @Date: 2024/4/9 15:13
 * @Description:
 */
public class S7object extends Thread {
    public S7control plccontrol; // PLC通讯类实例
    private EPlcType plcType = EPlcType.S1200; // 西门子PLC类型
    private String ip = "192.168.10.11"; // plc ip地址
    private int port = 102; // plc 端口号
    public PlcParameterObject PlcMesObject;
    private static volatile S7object instance = null;
    private S7object() {
        if (plccontrol == null) {
            plccontrol = new S7control(plcType, ip, port, 0, 0);
            String PlcLoadGlass = System.getProperty("user.dir") + "/JsonFile/PlcCacheGlass.json";
//            String PlcLoadGlass=S7object.class.getResource("/JsonFile/PlcCacheGlass.json").getPath();
            System.out.println("Load Glass File: " + PlcLoadGlass);
            PlcMesObject = InitUtil.initword(PlcLoadGlass);
        }
    }
    // 单例模式 获取类的唯一实例
    public static S7object getinstance() {
        if (instance == null) {
            synchronized (S7object.class) {
                if (instance == null) {
                    instance = new S7object();
                }
            }
        }
        return instance;
    }
    @Override
    public void run() {
        while (this != null) {
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
            if (getplcvlues != null) {
                PlcMesObject.setPlcParameterList(getplcvlues);
            }
        }
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/SmbTool.java
New file
@@ -0,0 +1,71 @@
package com.mes.common;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbFile;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class SmbTool {
    public static  String USER_DOMAIN=null;//共享计算机ip   "192.168.3.102";
    public  static  String USER_ACCOUNT=null;//登录共享文件夹 用户名 "aaa",如果是共享是无密码模式 此处值设置为 null;
    public  static  String USER_PWS=null;//登录共享文件夹  密码"guoyujie",如果是共享是无密码模式 此处值设置为 null;
    /**
     *  test 测试示例
     */
    private void test()
    {
        int index= SmbTool.getDescriptionIndex("log","P20240522");//输入切割机共享文件夹名字、工程号,返回当前工程正在切割的版图号
        System.out.print(index);
    }
    /**
     *  smbGetall 返回指定目录下的文件名字
     * @param   GoalUrl 远端目录("smb://192.168.2.100//ceshi//")
     */
    public static String[] smbGetallFilenames(String GoalUrl) {
        NtlmPasswordAuthentication auth=new NtlmPasswordAuthentication(USER_DOMAIN,USER_ACCOUNT,USER_PWS);
        List<String> filenames=new ArrayList<>();
        try {
            SmbFile remoteFile = new SmbFile(GoalUrl,auth);
            if (remoteFile == null) {
                return filenames.toArray(new String[]{});
            }
            if (remoteFile.exists())
            {
                SmbFile[] listFiles = remoteFile.listFiles();
                for(int i = 0; i < listFiles.length; i++) {
                    filenames.add(listFiles[i].getName());
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return filenames.toArray(new String[]{});
    }
    /**
     *  getDescriptionIndex 根据工程号,返回当前正在切割的版图号
     * @param   folderName 共享文件夹名字
     * @param   project_no 工程号
     */
    public static int getDescriptionIndex(String folderName,String project_no)
    {
        SimpleDateFormat formatter= new SimpleDateFormat("yyyyMMdd");
        Date date = new Date(System.currentTimeMillis());
        System.out.println(formatter.format(date));
        String[] getfilenames= smbGetallFilenames("smb://"+USER_DOMAIN+"/"+folderName+"/"+formatter.format(date)+"/");
        for (int i = 0; i < getfilenames.length; i++) {
            String[] splitvalues= getfilenames[i].split("_");
            if (splitvalues.length>=3&&splitvalues[1].trim().equals(project_no))
            {
                String[] indexstr= splitvalues[2].trim().split("\\.");
                if (indexstr.length>1) {
                    return  Integer.parseInt(indexstr[0]);
                }
            }
        }
        return -1;
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
New file
@@ -0,0 +1,34 @@
package com.mes.edgstoragecage.controller;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author zhoush
 * @since 2024-04-07
 */
@Api(tags = "理片笼缓存")
@RestController
@RequestMapping("/edgStorageCage")
public class EdgStorageCageController {
    @ApiOperation("磨边模块汇报玻璃状态   功能:对笼内栅格玻璃进行【破损/拿走】  ")
    @PostMapping("/edgReportStatus")
    @ResponseBody
    public Result edgReportStatus(@RequestBody Map<String, String> arguments) {
        /*arguments.put("line","1002");
        arguments.put("machine","卧式理片");*/
        return Result.build(200,"【破损/拿走】",1);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java
New file
@@ -0,0 +1,51 @@
package com.mes.edgstoragecage.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 EdgStorageCage implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 磨边前理片笼表id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 设备id
     */
    private Integer deviceId;
    /**
     * 栅格号
     */
    private Integer slot;
    /**
     * 启用状态
     */
    private Integer enableState;
    /**
     * 剩余
     */
    private Integer remainWidth;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java
New file
@@ -0,0 +1,122 @@
package com.mes.edgstoragecage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
 * <p>
 *
 * </p>
 *
 * @author zhoush
 * @since 2024-04-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class EdgStorageCageDetails implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 磨边前理片笼详情表id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 工程id
     */
    private String engineerId;
    /**
     * 设备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;
    /**
     * 磨前宽
     */
    private double edgWidth;
    /**
     * 磨前高
     */
    private double edgHeight;
    /**
     * 钢化版图id
     */
    private Integer temperingLayoutId;
    /**
     * 钢化版图片序
     */
    private Integer temperingFeedSequence;
    /**
     * 原片顺序
     */
    private Integer patternSequence;
    /**
     * 状态  (识别后成功状态100,出片任务101, 拿走200,破损201)
     */
    private Integer state;
    /**
     * 玻璃间隙
     */
    private Integer gap;
    /**
     * 玻璃间隙
     */
    @TableField(exist = false)
    private Integer count;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.edgstoragecage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.edgstoragecage.entity.EdgStorageCage;
/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author zhoush
 * @since 2024-04-07
 */
public interface EdgStorageCageMapper extends MPJBaseMapper<EdgStorageCage> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
New file
@@ -0,0 +1,21 @@
package com.mes.edgstoragecage.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-07
 */
public interface EdgStorageCageService extends MPJBaseService<EdgStorageCage> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
New file
@@ -0,0 +1,24 @@
package com.mes.edgstoragecage.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
import com.mes.edgstoragecage.service.EdgStorageCageService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 服务实现类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-07
 */
@Slf4j
@Service
public class EdgStorageCageServiceImpl extends MPJBaseServiceImpl<EdgStorageCageMapper, EdgStorageCage> implements EdgStorageCageService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/CacheGlassTask.java
New file
@@ -0,0 +1,25 @@
package com.mes.job;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.net.Socket;
/**
 * @Author : yanzhxiin
 * @Date: 2024/8/20 11:19
 * @Description:
 */
@Component
@Slf4j
public class CacheGlassTask {
    public static String engineerId = "";
//    @Scheduled(fixedDelay = 1000)
    public void plcHomeEdgTask() {
        Socket socket = null;
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/AccountController.java
New file
@@ -0,0 +1,96 @@
package com.mes.md.controller;
import com.mes.md.entity.Account;
import com.mes.md.entity.Account;
import com.mes.md.service.AccountService;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mes.utils.Result;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 账户表 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Api(tags = "账户")
@RestController
@RequestMapping("/account")
public class AccountController {
    @Autowired
    AccountService accountService;
    @ApiOperation("登录验证 成功则返回账户权限 参数(account,password)")
    @PostMapping("/selectAccount")
    @ResponseBody
    public Result selectAccount (@RequestBody Map<String, Object> arguments) {
        String account=arguments.get("account").toString();
        String password=arguments.get("password").toString();
        if(account.isEmpty()||password.isEmpty()){
            return Result.build(300,"账户或密码为空!",arguments);
        }
        Map<String, Object> roleAccount=accountService.selectAccount(account,password);
        if(roleAccount.isEmpty()){
            return Result.build(201,"登录失败",roleAccount);
        }
        return Result.build(200,"登录成功",roleAccount);
    }
    @ApiOperation("账户绑定角色")
    @PostMapping("/bindAccountRole")
    @ResponseBody
    public Result bindAccountRole (@RequestBody Account account) {
        int count=accountService.updateAccount(account);
        String message=count>0?"账户绑定角色成功:"+count:"账户绑定角色失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("查询所有账户")
    @PostMapping("/findAccounts")
    @ResponseBody
    public Result findAccounts () {
        List<Map<String, Object>> Accounts=accountService.findAccounts();
        return Result.build(200,"成功:"+Accounts.size(),Accounts);
    }
    @ApiOperation("添加账户")
    @PostMapping("/addAccount")
    @ResponseBody
    public Result addAccount (@RequestBody Account account) {
        int count=accountService.addAccount(account);
        String message=count>0?"账户添加成功:"+count:"账户添加失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("修改账户")
    @PostMapping("/updateAccount")
    @ResponseBody
    public Result updateAccount (@RequestBody Account account) {
        int count=accountService.updateAccount(account);
        String message=count>0?"账户修改成功:"+count:"账户修改失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("删除账户")
    @PostMapping("/deleteAccount")
    @ResponseBody
    public Result deleteAccount (@RequestBody Account account) {
        if(account.getId()==1){
            return Result.build(200,"账户删除失败!(原始账户不可删除)",-1);
        }
        int count=accountService.deleteAccount(account);
        String message=count>0?"账户删除成功:"+count:"账户删除失败!";
        return Result.build(200,message,count);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/EdgeGrindingLogController.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 磨边机设备交互记录表 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@RestController
@RequestMapping("/edgeGrindingLog")
public class EdgeGrindingLogController {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/EquipmentLogController.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 设备交互记录表 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@RestController
@RequestMapping("/equipmentLog")
public class EquipmentLogController {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/GlassInfoController.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 小片表 (主体北玻) 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@RestController
@RequestMapping("/glassInfo")
public class GlassInfoController {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/MenuController.java
New file
@@ -0,0 +1,68 @@
package com.mes.md.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mes.md.entity.Menu;
import com.mes.md.service.MenuService;
import com.mes.md.service.impl.MenuServiceImpl;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Api(tags = "菜单")
@RestController
@RequestMapping("/menu")
public class MenuController {
    @Autowired
    MenuService menuService;
    @ApiOperation("返回所有菜单")
    @PostMapping("/findMenusAll")
    @ResponseBody
    public Result findMenusAll () {
        List<Menu> menus=menuService.findMenusAll();
        return Result.build(200,"成功",menus);
    }
    @ApiOperation("添加菜单")
    @PostMapping("/addMenu")
    @ResponseBody
    public Result addMenu (@RequestBody Menu menu) {
        int count=menuService.addMenu(menu);
        String message=count>0?"页面添加成功:"+count:"页面添加失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("修改菜单")
    @PostMapping("/updateMenu")
    @ResponseBody
    public Result updateMenu (@RequestBody Menu menu) {
        int count=menuService.updateMenu(menu);
        String message=count>0?"页面修改成功:"+count:"页面修改失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("删除菜单")
    @PostMapping("/deleteMenu")
    @ResponseBody
    public Result deleteMenu (@RequestBody Menu menu) {
        int count=menuService.deleteMenu(menu);
        String message=count>0?"页面删除成功:"+count:"页面删除失败!";
        return Result.build(200,message,count);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/OrderOriginalPieceController.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 订单原片(手工导入)表 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@RestController
@RequestMapping("/orderOriginalPiece")
public class OrderOriginalPieceController {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PageController.java
New file
@@ -0,0 +1,66 @@
package com.mes.md.controller;
import com.mes.md.entity.Menu;
import com.mes.md.entity.Page;
import com.mes.md.service.MenuService;
import com.mes.md.service.PageService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 页面表 前端控制器
 * </p>
 *
 * @author yanzhixin
 * @since 2024-09-05
 */
@Api(tags = "页面")
@RestController
@RequestMapping("/page")
public class PageController {
    @Autowired
    PageService pageService;
    @ApiOperation("返回所有菜单")
    @PostMapping("/findPagesAll")
    @ResponseBody
    public Result findPagesAll () {
        List<Page> pages=pageService.findPagesAll();
        return Result.build(200,"成功",pages);
    }
    @ApiOperation("添加菜单")
    @PostMapping("/addPage")
    @ResponseBody
    public Result addPage (@RequestBody Page page) {
        int count=pageService.addPage(page);
        String message=count>0?"菜单添加成功:"+count:"菜单添加失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("修改菜单")
    @PostMapping("/updatePage")
    @ResponseBody
    public Result updatePage (@RequestBody Page page) {
        int count=pageService.updatePage(page);
        String message=count>0?"菜单修改成功:"+count:"菜单修改失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("删除菜单")
    @PostMapping("/deletePage")
    @ResponseBody
    public Result deletePage (@RequestBody Page page) {
        int count=pageService.deletePage(page);
        String message=count>0?"菜单删除成功:"+count:"菜单删除失败!";
        return Result.build(200,message,count);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 原始任务表 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@RestController
@RequestMapping("/primitiveTask")
public class PrimitiveTaskController {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/ProjectController.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 工程表 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@RestController
@RequestMapping("/project")
public class ProjectController {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/ProjectLogController.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 工程表操作记录明细 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@RestController
@RequestMapping("/projectLog")
public class ProjectLogController {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/RoleController.java
New file
@@ -0,0 +1,64 @@
package com.mes.md.controller;
import com.mes.md.entity.Role;
import com.mes.md.service.RoleService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * 角色表 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Api(tags = "角色【增加角色,修改,删除,查询】")
@RestController
@RequestMapping("/role")
public class RoleController {
    @Autowired
    RoleService roleService;
    @ApiOperation("返回所有角色")
    @PostMapping("/findRolesAll")
    @ResponseBody
    public Result findRolesAll () {
        List<Role> roles=roleService.findRolesAll();
        return Result.build(200,"成功",roles);
    }
    @ApiOperation("添加角色")
    @PostMapping("/addRole")
    @ResponseBody
    public Result addRole (@RequestBody Role role) {
        int count=roleService.addRole(role);
        String message=count>0?"角色添加成功:"+count:"角色添加失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("修改角色")
    @PostMapping("/updateRole")
    @ResponseBody
    public Result updateRole (@RequestBody Role role) {
        int count=roleService.updateRole(role);
        String message=count>0?"角色修改成功:"+count:"角色修改失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("删除角色")
    @PostMapping("/deleteRole")
    @ResponseBody
    public Result deleteRole (@RequestBody Role role) {
        int count=roleService.deleteRole(role);
        String message=count>0?"角色删除成功:"+count:"角色删除失败!";
        return Result.build(200,message,count);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/RoleMenuController.java
New file
@@ -0,0 +1,66 @@
package com.mes.md.controller;
import com.mes.md.entity.RoleMenu;
import com.mes.md.service.RoleMenuService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 角色权限表 前端控制器
 * </p>
 *
 * @author yanzhixin
 * @since 2024-09-05
 */
@Api(tags = "角色权限")
@RestController
@RequestMapping("/roleMenu")
public class RoleMenuController {
    @Autowired
    RoleMenuService roleMenuService;
    @ApiOperation("返回所有角色权限")
    @PostMapping("/findRoleMenusAll")
    @ResponseBody
    public Result findRoleMenusAll () {
        List<Map<String, Object>> roleMenus=roleMenuService.findRoleMenusAll();
        return Result.build(200,"成功",roleMenus);
    }
    @ApiOperation("添加角色权限")
    @PostMapping("/addRoleMenu")
    @ResponseBody
    public Result addRoleMenu (@RequestBody RoleMenu roleMenu) {
        int count=roleMenuService.addRoleMenu(roleMenu);
        String message=count>0?"角色权限添加成功:"+count:"角色权限添加失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("修改角色权限")
    @PostMapping("/updateRoleMenu")
    @ResponseBody
    public Result updateRoleMenu (@RequestBody RoleMenu roleMenu) {
        int count=roleMenuService.updateRoleMenu(roleMenu);
        String message=count>0?"角色权限修改成功:"+count:"角色权限修改失败!";
        return Result.build(200,message,count);
    }
    @ApiOperation("删除角色权限")
    @PostMapping("/deleteRoleMenu")
    @ResponseBody
    public Result deleteRoleMenu (@RequestBody RoleMenu roleMenu) {
        int count=roleMenuService.deleteRoleMenu(roleMenu);
        String message=count>0?"角色权限删除成功:"+count:"角色权限删除失败!";
        return Result.build(200,message,count);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/TaskLogController.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@RestController
@RequestMapping("/taskLog")
public class TaskLogController {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/TaskingController.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 工作任务操作记录明细 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@RestController
@RequestMapping("/tasking")
public class TaskingController {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/WorkTaskDetailController.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 工作任务明细表(工作中) 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@RestController
@RequestMapping("/workTaskDetail")
public class WorkTaskDetailController {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Account.java
New file
@@ -0,0 +1,50 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 账户表
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Account implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 账户表主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 用户名称
     */
    private String userName;
    /**
     * 角色id
     */
    private Long roleId;
    /**
     * 账户
     */
    private String account;
    /**
     * 密码
     */
    private String password;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/EdgeGrindingLog.java
New file
@@ -0,0 +1,56 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 磨边机设备交互记录表
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class EdgeGrindingLog implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 磨边机设备交互记录主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 批次号
     */
    private String batchNumber;
    /**
     * 扫码ID (唯一)【板件ID】
     */
    private String scanId;
    /**
     * 发送内容
     */
    private String sendContent;
    /**
     * 时间
     */
    private LocalTime sendTime;
    /**
     * 交互类型
     */
    private String type;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/EquipmentLog.java
New file
@@ -0,0 +1,56 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 设备交互记录表
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class EquipmentLog implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 设备交互记录表主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 批次号
     */
    private String batchNumber;
    /**
     * 扫码ID (唯一)【板件ID】
     */
    private String scanId;
    /**
     * 发送内容
     */
    private String sendContent;
    /**
     * 时间
     */
    private LocalTime sendTime;
    /**
     * 交互类型
     */
    private String type;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/GlassInfo.java
New file
@@ -0,0 +1,105 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 小片表 (主体北玻)
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class GlassInfo implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 玻璃小片表主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 批次号
     */
    private String batchNumber;
    /**
     * 扫码ID (唯一)【板件ID】
     */
    private String scanId;
    /**
     * 程序ID
     */
    private String programId;
    /**
     * 任务类型【定制/标准】
     */
    private String taskType;
    /**
     * 任务顺序
     */
    private Integer taskSequence;
    /**
     * 任务数量
     */
    private Integer taskQuantity;
    /**
     * 长
     */
    private Double length;
    /**
     * 宽
     */
    private Double width;
    /**
     * 厚
     */
    private Double thickness;
    /**
     * 点胶图纸
     */
    private String drawingGlue;
    /**
     * 打标图纸
     */
    private String drawingMarking;
    /**
     * 丝印X
     */
    private Double silkScreenX;
    /**
     * 丝印Y
     */
    private Double silkScreenY;
    /**
     * 是否打标
     */
    private Integer isMarking;
    /**
     * 是否丝印
     */
    private Integer isSilkScreen;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Menu.java
New file
@@ -0,0 +1,45 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 *
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Menu implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 页面菜单栏主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 菜单编号
     */
    private String menuNumber;
    /**
     * 菜单名称
     */
    private String menuName;
    /**
     * 备注
     */
    private String remark;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/OrderOriginalPiece.java
New file
@@ -0,0 +1,55 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 订单原片(手工导入)表
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class OrderOriginalPiece implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 订单原片表主键
     */
      @TableId(value = "number", type = IdType.AUTO)
    private Long number;
    /**
     * 批次
     */
    private String batchNumber;
    /**
     * 尺寸
     */
    private String size;
    /**
     * 膜系
     */
    private String color;
    /**
     * 数量
     */
    private Integer sequence;
    /**
     * 优化面积
     */
    private Double optimizeArea;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Page.java
New file
@@ -0,0 +1,45 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 页面表
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Page implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 页面表主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 页面编号
     */
    private String pageNumber;
    /**
     * 页面名称
     */
    private String pageName;
    /**
     * 页面URL
     */
    private String pageUrl;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/PrimitiveTask.java
New file
@@ -0,0 +1,105 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 原始任务表
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class PrimitiveTask implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     *  原始任务表主键(客户提供样本)
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 批次号
     */
    private String batchNumber;
    /**
     * 扫码ID (唯一)【板件ID】
     */
    private String scanId;
    /**
     * 程序ID
     */
    private String programId;
    /**
     * 任务类型【定制/标准】
     */
    private String taskType;
    /**
     * 任务顺序
     */
    private Integer taskSequence;
    /**
     * 任务数量
     */
    private Integer taskQuantity;
    /**
     * 长
     */
    private Double length;
    /**
     * 宽
     */
    private Double width;
    /**
     * 厚
     */
    private Double thickness;
    /**
     * 点胶图纸
     */
    private String drawingGlue;
    /**
     * 打标图纸
     */
    private String drawingMarking;
    /**
     * 丝印X
     */
    private Double silkScreenX;
    /**
     * 丝印Y
     */
    private Double silkScreenY;
    /**
     * 是否打标
     */
    private Integer isMarking;
    /**
     * 是否丝印
     */
    private Integer isSilkScreen;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Project.java
New file
@@ -0,0 +1,56 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 工程表
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Project implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 工程表主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 批次号
     */
    private String batchNumber;
    /**
     * 数量
     */
    private Integer quantity;
    /**
     * 面积
     */
    private Double area;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    /**
     * 任务状态【等待/开工/暂停/完工】
     */
    private String state;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/ProjectLog.java
New file
@@ -0,0 +1,51 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 工程表操作记录明细
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class ProjectLog implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 工程表操作记录明细表主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 工程表ID
     */
    private Long engineeringId;
    /**
     * 操作时间
     */
    private LocalDateTime operateTime;
    /**
     * 原数据
     */
    private String oldData;
    /**
     * 当前数据
     */
    private String newData;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Role.java
New file
@@ -0,0 +1,45 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 角色表
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Role implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 角色表主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 角色编号
     */
    private String roleNumber;
    /**
     * 角色名称
     */
    private String roleName;
    /**
     * 备注
     */
    private String remark;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/RoleMenu.java
New file
@@ -0,0 +1,50 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 角色权限表
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class RoleMenu implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 角色权限主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 角色编号
     */
    private Long roleId;
    /**
     * 所属菜单栏
     */
    private Long menuId;
    /**
     * 页面ID
     */
    private Long pageId;
    /**
     * 菜单栏内顺序
     */
    private Integer menuSequence;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/TaskLog.java
New file
@@ -0,0 +1,56 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 *
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class TaskLog implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 小片表ID
     */
    private Long taskDetail;
    /**
     * 操作类型
     */
    private String operateType;
    /**
     * 操作时间
     */
    private LocalDateTime operateTime;
    /**
     * 原数据
     */
    private String oldData;
    /**
     * 当前数据
     */
    private String newData;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Tasking.java
New file
@@ -0,0 +1,120 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 工作任务明细表(工作中)
 * </p>
 *
 * @author wu
 * @since 2024-08-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Tasking implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 玻璃唯一ID(北玻)主键
     */
      @TableId(value = "glass_id", type = IdType.AUTO)
    private Long glassId;
    /**
     * 批次号
     */
    private String batchNumber;
    /**
     * 扫码ID (唯一)【板件ID】
     */
    private String scanId;
    /**
     * 程序ID
     */
    private String programId;
    /**
     * 任务类型【定制/标准】
     */
    private String taskType;
    /**
     * 任务顺序
     */
    private Integer taskSequence;
    /**
     * 任务数量
     */
    private Integer taskQuantity;
    /**
     * 长
     */
    private Double length;
    /**
     * 宽
     */
    private Double width;
    /**
     * 厚
     */
    private Double thickness;
    /**
     * 点胶图纸
     */
    private String drawingGlue;
    /**
     * 打标图纸
     */
    private String drawingMarking;
    /**
     * 丝印X
     */
    private Double silkScreenX;
    /**
     * 丝印Y
     */
    private Double silkScreenY;
    /**
     * 是否打标
     */
    private Integer isMarking;
    /**
     * 是否丝印
     */
    private Integer isSilkScreen;
    /**
     * 任务状态【等待/工作/完成】
     */
    private String workState;
    /**
     * 当前所在工艺
     */
    private String currentCraft;
    /**
     * 状态【线上/线下】
     */
    private String state;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/WorkTaskDetail.java
New file
@@ -0,0 +1,120 @@
package com.mes.md.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 工作任务明细表(工作中)
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class WorkTaskDetail implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 玻璃唯一ID(北玻)主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 批次号
     */
    private String batchNumber;
    /**
     * 扫码ID (唯一)【板件ID】
     */
    private String scanId;
    /**
     * 程序ID
     */
    private String programId;
    /**
     * 任务类型【定制/标准】
     */
    private String taskType;
    /**
     * 任务顺序
     */
    private Integer taskSequence;
    /**
     * 任务数量
     */
    private Integer taskQuantity;
    /**
     * 长
     */
    private Double length;
    /**
     * 宽
     */
    private Double width;
    /**
     * 厚
     */
    private Double thickness;
    /**
     * 点胶图纸
     */
    private String drawingGlue;
    /**
     * 打标图纸
     */
    private String drawingMarking;
    /**
     * 丝印X
     */
    private Double silkScreenX;
    /**
     * 丝印Y
     */
    private Double silkScreenY;
    /**
     * 是否打标
     */
    private Integer isMarking;
    /**
     * 是否丝印
     */
    private Integer isSilkScreen;
    /**
     * 任务状态【等待/工作/完成】
     */
    private String workState;
    /**
     * 当前所在工艺
     */
    private String currentCraft;
    /**
     * 状态:【线上/线下】
     */
    private String state;
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/AccountMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.Account;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 账户表 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface AccountMapper extends MPJBaseMapper<Account> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/EdgeGrindingLogMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.EdgeGrindingLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 磨边机设备交互记录表 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface EdgeGrindingLogMapper extends MPJBaseMapper<EdgeGrindingLog> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/EquipmentLogMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.EquipmentLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 设备交互记录表 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface EquipmentLogMapper extends MPJBaseMapper<EquipmentLog> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/GlassInfoMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.GlassInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 小片表 (主体北玻) Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface GlassInfoMapper extends MPJBaseMapper<GlassInfo> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/MenuMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.Menu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface MenuMapper extends MPJBaseMapper<Menu> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/OrderOriginalPieceMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.OrderOriginalPiece;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 订单原片(手工导入)表 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface OrderOriginalPieceMapper extends MPJBaseMapper<OrderOriginalPiece> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/PageMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.Page;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 页面表 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface PageMapper extends MPJBaseMapper<Page> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/PrimitiveTaskMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.PrimitiveTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 原始任务表 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface PrimitiveTaskMapper extends MPJBaseMapper<PrimitiveTask> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/ProjectLogMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.ProjectLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 工程表操作记录明细 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface ProjectLogMapper extends MPJBaseMapper<ProjectLog> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/ProjectMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.Project;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 工程表 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface ProjectMapper extends MPJBaseMapper<Project> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/RoleMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.Role;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 角色表 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface RoleMapper extends MPJBaseMapper<Role> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/RoleMenuMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.RoleMenu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 角色权限表 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface RoleMenuMapper extends MPJBaseMapper<RoleMenu> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/TaskLogMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.TaskLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface TaskLogMapper extends MPJBaseMapper<TaskLog> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/TaskingMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.Tasking;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 工作任务操作记录明细 Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface TaskingMapper extends MPJBaseMapper<Tasking> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/WorkTaskDetailMapper.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.md.entity.WorkTaskDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 工作任务明细表(工作中) Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface WorkTaskDetailMapper extends MPJBaseMapper<WorkTaskDetail> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/AccountMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.AccountMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/EdgeGrindingLogMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.EdgeGrindingLogMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/EquipmentLogMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.EquipmentLogMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/GlassInfoMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.GlassInfoMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/MenuMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.MenuMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/OrderOriginalPieceMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.OrderOriginalPieceMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/PageMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.PageMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/PrimitiveTaskMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.PrimitiveTaskMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/ProjectLogMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.ProjectLogMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/ProjectMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.ProjectMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/RoleMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.RoleMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/RoleMenuMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.RoleMenuMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/TaskLogMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.TaskLogMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/TaskingMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.TaskingMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/mapper/xml/WorkTaskDetailMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.md.mapper.WorkTaskDetailMapper">
</mapper>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/AccountService.java
New file
@@ -0,0 +1,33 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.Account;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 账户表 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface AccountService extends MPJBaseService<Account> {
    /**
     * 输入账户密码 返回权限
     * @return
     */
    Map<String, Object> selectAccount(String account, String password);
    List<Map<String, Object>> findAccounts();
    int addAccount(Account account);
    int updateAccount(Account account);
    int deleteAccount(Account account);
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/EdgeGrindingLogService.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.EdgeGrindingLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 磨边机设备交互记录表 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface EdgeGrindingLogService extends MPJBaseService<EdgeGrindingLog> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/EquipmentLogService.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.EquipmentLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 设备交互记录表 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface EquipmentLogService extends MPJBaseService<EquipmentLog> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/GlassInfoService.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.GlassInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 小片表 (主体北玻) 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface GlassInfoService extends MPJBaseService<GlassInfo> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/MenuService.java
New file
@@ -0,0 +1,42 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.Menu;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface MenuService extends MPJBaseService<Menu> {
    /**
     * 返回所有菜单
     * @return
     */
    List<Menu> findMenusAll();
    /**
     * 添加菜单
     * @return
     */
    int addMenu(Menu menu);
    /**
     * 修改菜单
     * @return
     */
    int updateMenu(Menu menu);
    /**
     * 删除菜单
     * @return
     */
    int deleteMenu(Menu menu);
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/OrderOriginalPieceService.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.OrderOriginalPiece;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 订单原片(手工导入)表 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface OrderOriginalPieceService extends MPJBaseService<OrderOriginalPiece> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/PageService.java
New file
@@ -0,0 +1,39 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.Menu;
import com.mes.md.entity.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
 * 页面表 服务类
 * </p>
 *
 * @author yanzhixin
 * @since 2024-08-28
 */
public interface PageService extends MPJBaseService<Page> {
    /**
     * 返回所有页面
     * @return
     */
    List<Page> findPagesAll();
    /**
     * 添加页面
     * @return
     */
    int addPage(Page page);
    /**
     * 修改页面
     * @return
     */
    int updatePage(Page page);
    /**
     * 删除页面
     * @return
     */
    int deletePage(Page page);
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/PrimitiveTaskService.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.PrimitiveTask;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 原始任务表 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface PrimitiveTaskService extends MPJBaseService<PrimitiveTask> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/ProjectLogService.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.ProjectLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 工程表操作记录明细 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface ProjectLogService extends MPJBaseService<ProjectLog> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/ProjectService.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.Project;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 工程表 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface ProjectService extends MPJBaseService<Project> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/RoleMenuService.java
New file
@@ -0,0 +1,44 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.RoleMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 角色权限表 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface RoleMenuService extends MPJBaseService<RoleMenu> {
    /**
     * 查询所有角色的权限
     * @return
     */
    List<Map<String, Object>> findRoleMenusAll();
    /**
     * 查询某角色的某个权限
     * @return
     */
    List<Map<String, Object>> findRoleMenus(RoleMenu roleMenu);
    /**
     * 添加角色权限
     * @return
     */
    int addRoleMenu(RoleMenu roleMenu);
    /**
     * 修改角色权限
     * @return
     */
    int updateRoleMenu(RoleMenu roleMenu);
    /**
     * 删除角色权限
     * @return
     */
    int deleteRoleMenu(RoleMenu roleMenu);
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/RoleService.java
New file
@@ -0,0 +1,42 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.Role;
import com.mes.md.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface RoleService extends MPJBaseService<Role> {
    /**
     * 返回所有角色
     * @return
     */
    List<Role> findRolesAll();
    /**
     * 添加角色
     * @return
     */
    int addRole(Role role);
    /**
     * 修改角色
     * @return
     */
    int updateRole(Role role);
    /**
     * 删除角色
     * @return
     */
    int deleteRole(Role role);
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/TaskLogService.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.TaskLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface TaskLogService extends MPJBaseService<TaskLog> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/TaskingService.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.Tasking;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 工作任务操作记录明细 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface TaskingService extends MPJBaseService<Tasking> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/WorkTaskDetailService.java
New file
@@ -0,0 +1,17 @@
package com.mes.md.service;
import com.github.yulichang.base.MPJBaseService;
import com.mes.md.entity.WorkTaskDetail;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 工作任务明细表(工作中) 服务类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
public interface WorkTaskDetailService extends MPJBaseService<WorkTaskDetail> {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/AccountServiceImpl.java
New file
@@ -0,0 +1,179 @@
package com.mes.md.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.engineering.entity.Engineering;
import com.mes.md.entity.*;
import com.mes.md.mapper.AccountMapper;
import com.mes.md.mapper.RoleMapper;
import com.mes.md.service.AccountService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 账户表 服务实现类
 * </p>
 *
 * @author yanzhixin
 * @since 2024-09-03
 */
@Slf4j
@Service
public class AccountServiceImpl extends MPJBaseServiceImpl<AccountMapper, Account> implements AccountService {
    @Autowired
    RoleMapper roleMapper;
    /**
     * 输入账户密码 返回权限
     * @return
     */
    @Override
    public Map<String, Object> selectAccount(String account, String password){
        //返回结果 用户权限
        Map<String, Object> accountRole=new HashMap<>();
        //验证通过的用户  权限内容
        List<Map<String,Object>> username=baseMapper.selectJoinMaps(JoinWrappers.lambda(Account.class)
                .selectAll(Account.class)
                .selectAs(Role::getRoleName,"role_name")
                .selectAs(Role::getRoleNumber,"role_number")
                .selectAs(Role::getRemark,"role_remark")
                .selectAs(RoleMenu::getId,"role_menu_id")
                .selectAs(RoleMenu::getMenuId,"menu_id")
                .selectAs(RoleMenu::getPageId,"page_id")
                .selectAs(RoleMenu::getMenuSequence,"remark")
                .selectAs(Menu::getMenuName,"menu_name")
                .selectAs(Menu::getMenuNumber,"menu_number")
                .selectAs(Menu::getRemark,"menu_remark")
                .selectAs(Page::getPageName,"page_name")
                .selectAs(Page::getPageNumber,"page_number")
                .selectAs(Page::getPageUrl,"page_url")
                .innerJoin(Role.class,on->on.eq(Role::getId,Account::getRoleId))
                .innerJoin(RoleMenu.class,on->on.eq(RoleMenu::getRoleId,Role::getId))
                .innerJoin(Menu.class, on->on.eq(Menu::getId,RoleMenu::getMenuId))
                .innerJoin(Page.class, on->on.eq(Page::getId,RoleMenu::getPageId))
                .eq(Account::getAccount,account)
                .eq(Account::getPassword, password)
        );
        List<String> keyMenus=new ArrayList<>();//菜单顺序
        //Map<String, Object> menus=new HashMap<>();//菜单内容页
        if (username.size()>0){
            Map<String,Object> frist=username.get(0);
            //账户信息
            accountRole.put("id",frist.get("id").toString());
            accountRole.put("user_name",frist.get("user_name").toString());
            accountRole.put("account",frist.get("account").toString());
            accountRole.put("role_id",frist.get("role_id").toString());
            for (Map<String,Object> item:username){
                if(keyMenus.contains(item.get("menu_id").toString())){
                    //存在此菜单
                    int index=keyMenus.indexOf(item.get("menu_id").toString());
                    List<Map<String, Object>> thisMenus= (List<Map<String, Object>>) accountRole.get("menus");
                    Map<String, Object> thisMenu=(Map<String, Object>)thisMenus.get(index);
                    List<Map<String, Object>> thisPages= (List<Map<String, Object>>) thisMenu.get("pages");
                    //添加页面组
                    Map<String, Object> page=new HashMap<>();//页面
                    page.put("page_id",item.get("page_id"));
                    page.put("page_name",item.get("page_name"));
                    page.put("page_number",item.get("page_number"));
                    page.put("page_url",item.get("page_url"));
                    page.put("menu_sequence",item.get("menu_sequence"));
                    thisPages.add(page);
                    thisMenu.put("pages",thisPages);
                    thisMenus.set(index,thisMenu);
                    accountRole.put("menus",thisMenus);
                }else if(keyMenus.size()>0){
                    //不存在此菜单
                    List<Map<String, Object>> thisMenus= (List<Map<String, Object>>) accountRole.get("menus");
                    Map<String, Object> thisMenu=new HashMap<>();
                    thisMenu.put("menu_id",item.get("menu_id"));
                    thisMenu.put("menu_name",item.get("menu_name"));
                    thisMenu.put("menu_number",item.get("menu_number"));
                    thisMenu.put("menu_remark",item.get("menu_remark"));
                    List<Map<String, Object>> thisPages= new ArrayList<>();
                    //添加页面组
                    Map<String, Object> page=new HashMap<>();//页面
                    page.put("page_id",item.get("page_id"));
                    page.put("page_name",item.get("page_name"));
                    page.put("page_number",item.get("page_number"));
                    page.put("page_url",item.get("page_url"));
                    page.put("menu_sequence",item.get("menu_sequence"));
                    thisPages.add(page);
                    thisMenu.put("pages",thisPages);
                    thisMenus.add(thisMenu);
                    accountRole.put("menus",thisMenus);
                }else{
                    keyMenus.add(item.get("menu_id").toString());
                    //添加菜单组  不存在此带单则添加
                    List<Map<String, Object>> menus=new ArrayList<>();//菜单组
                    Map<String, Object> menu=new HashMap<>();         //菜单
                    menu.put("menu_id",item.get("menu_id"));
                    menu.put("menu_name",item.get("menu_name"));
                    menu.put("menu_number",item.get("menu_number"));
                    menu.put("menu_remark",item.get("menu_remark"));
                    //添加页面组
                    List<Map<String, Object>> pages=new ArrayList<>();//页面组
                    Map<String, Object> page=new HashMap<>();//页面
                    page.put("page_id",item.get("page_id"));
                    page.put("page_name",item.get("page_name"));
                    page.put("page_number",item.get("page_number"));
                    page.put("page_url",item.get("page_url"));
                    page.put("menu_sequence",item.get("menu_sequence"));
                    pages.add(page);
                    menu.put("pages",pages);
                    menus.add(menu);
                    accountRole.put("menus",menus);
                }
            }
        }
        return accountRole;
    }
    /**
     * 查询所有账户
     * @return
     */
    @Override
    public List<Map<String, Object>> findAccounts(){
        return baseMapper.selectJoinMaps(JoinWrappers.lambda(Account.class)
                .selectAll()
                .selectAs(Role::getRoleName,"role_name")
                .leftJoin(Role.class, on -> on.eq(Role::getId, Account::getRoleId))
                .orderByAsc(Account::getId));
    }
    /**
     * 添加账户
     * @return
     */
    @Override
    public int addAccount(Account account){
        return baseMapper.insert(account);
    }
    /**
     * 修改账户
     * @return
     */
    @Override
    public int updateAccount(Account account){
        return baseMapper.updateById(account);
    }
    /**
     * 删除账户
     * @return
     */
    @Override
    public int deleteAccount(Account account){
        return baseMapper.deleteById(account);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/EdgeGrindingLogServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.EdgeGrindingLog;
import com.mes.md.mapper.EdgeGrindingLogMapper;
import com.mes.md.service.EdgeGrindingLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 磨边机设备交互记录表 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class EdgeGrindingLogServiceImpl extends MPJBaseServiceImpl<EdgeGrindingLogMapper, EdgeGrindingLog> implements EdgeGrindingLogService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/EquipmentLogServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.EquipmentLog;
import com.mes.md.mapper.EquipmentLogMapper;
import com.mes.md.service.EquipmentLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 设备交互记录表 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class EquipmentLogServiceImpl extends MPJBaseServiceImpl<EquipmentLogMapper, EquipmentLog> implements EquipmentLogService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/GlassInfoServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.GlassInfo;
import com.mes.md.mapper.GlassInfoMapper;
import com.mes.md.service.GlassInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 小片表 (主体北玻) 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class GlassInfoServiceImpl extends MPJBaseServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/MenuServiceImpl.java
New file
@@ -0,0 +1,55 @@
package com.mes.md.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.*;
import com.mes.md.mapper.MenuMapper;
import com.mes.md.service.MenuService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implements MenuService {
    /**
     * 返回所有菜单
     * @return
     */
    @Override
    public List<Menu> findMenusAll(){
        return baseMapper.selectList(new QueryWrapper<Menu>());
    }
    /**
     * 添加菜单
     * @return
     */
    @Override
    public int addMenu(Menu menu){
        return baseMapper.insert(menu);
    }
    /**
     * 修改菜单
     * @return
     */
    @Override
    public int updateMenu(Menu menu){
        return baseMapper.updateById(menu);
    }
    /**
     * 删除菜单
     * @return
     */
    @Override
    public int deleteMenu(Menu menu){
        return baseMapper.deleteById(menu);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/OrderOriginalPieceServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.OrderOriginalPiece;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.md.mapper.OrderOriginalPieceMapper;
import com.mes.md.service.OrderOriginalPieceService;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 订单原片(手工导入)表 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class OrderOriginalPieceServiceImpl extends MPJBaseServiceImpl<OrderOriginalPieceMapper, OrderOriginalPiece> implements OrderOriginalPieceService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/PageServiceImpl.java
New file
@@ -0,0 +1,54 @@
package com.mes.md.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.Page;
import com.mes.md.mapper.PageMapper;
import com.mes.md.service.PageService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 页面表 服务实现类
 * </p>
 *
 * @author yanzhixin
 * @since 2024-09-05
 */
@Service
public class PageServiceImpl extends MPJBaseServiceImpl<PageMapper, Page> implements PageService {
    /**
     * 返回所有页面
     * @return
     */
    @Override
    public List<Page> findPagesAll(){
        return baseMapper.selectList(new QueryWrapper<Page>());
    }
    /**
     * 添加页面
     * @return
     */
    @Override
    public int addPage(Page page){
        return baseMapper.insert(page);
    }
    /**
     * 修改页面
     * @return
     */
    @Override
    public int updatePage(Page page){
        return baseMapper.updateById(page);
    }
    /**
     * 删除页面
     * @return
     */
    @Override
    public int deletePage(Page page){
        return baseMapper.deleteById(page);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/PrimitiveTaskServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.PrimitiveTask;
import com.mes.md.mapper.PrimitiveTaskMapper;
import com.mes.md.service.PrimitiveTaskService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 原始任务表 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class PrimitiveTaskServiceImpl extends MPJBaseServiceImpl<PrimitiveTaskMapper, PrimitiveTask> implements PrimitiveTaskService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/ProjectLogServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.ProjectLog;
import com.mes.md.mapper.ProjectLogMapper;
import com.mes.md.service.ProjectLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 工程表操作记录明细 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class ProjectLogServiceImpl extends MPJBaseServiceImpl<ProjectLogMapper, ProjectLog> implements ProjectLogService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/ProjectServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.Project;
import com.mes.md.mapper.ProjectMapper;
import com.mes.md.service.ProjectService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 工程表 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class ProjectServiceImpl extends MPJBaseServiceImpl<ProjectMapper, Project> implements ProjectService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/RoleMenuServiceImpl.java
New file
@@ -0,0 +1,87 @@
package com.mes.md.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.toolkit.JoinWrappers;
import com.mes.md.entity.Account;
import com.mes.md.entity.Role;
import com.mes.md.entity.Menu;
import com.mes.md.entity.Page;
import com.mes.md.entity.RoleMenu;
import com.mes.md.mapper.RoleMenuMapper;
import com.mes.md.service.RoleMenuService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 角色权限表 服务实现类
 * </p>
 *
 * @author yanzhixin
 * @since 2024-09-05
 */
@Service
public class RoleMenuServiceImpl extends MPJBaseServiceImpl<RoleMenuMapper, RoleMenu> implements RoleMenuService {
    /**
     * 查询所有角色的权限
     * @return
     */
    @Override
    public List<Map<String, Object>> findRoleMenusAll(){
        return  baseMapper.selectJoinMaps(JoinWrappers.lambda(RoleMenu.class)
                .selectAll()
                .selectAs(Role::getRoleName,"role_name")
                .selectAs(Menu::getMenuName,"menu_name")
                .selectAs(Page::getPageName,"page_name")
                .leftJoin(Role.class, on -> on.eq(Role::getId, RoleMenu::getRoleId))
                .leftJoin(Menu.class, on -> on.eq(Menu::getId, RoleMenu::getMenuId))
                .leftJoin(Page.class, on -> on.eq(Page::getId, RoleMenu::getPageId))
                .orderByAsc(RoleMenu::getRoleId)
                .orderByAsc(RoleMenu::getId));
    }
    /**
     * 查询某角色的某条权限
     * @return
     */
    @Override
    public List<Map<String, Object>> findRoleMenus(RoleMenu roleMenu){
        return  baseMapper.selectJoinMaps(JoinWrappers.lambda(RoleMenu.class)
                .selectAll()
                .selectAs(Role::getRoleName,"role_name")
                .selectAs(Menu::getMenuName,"menu_name")
                .selectAs(Page::getPageName,"page_name")
                .leftJoin(Role.class, on -> on.eq(Role::getId, RoleMenu::getRoleId))
                .leftJoin(Menu.class, on -> on.eq(Menu::getId, RoleMenu::getMenuId))
                .leftJoin(Page.class, on -> on.eq(Page::getId, RoleMenu::getPageId))
                .eq(RoleMenu::getId,roleMenu.getId())
                .orderByAsc(RoleMenu::getRoleId)
                .orderByAsc(RoleMenu::getId));
    }
    /**
     * 添加角色权限
     * @return
     */
    @Override
    public int addRoleMenu(RoleMenu roleMenu){
        return baseMapper.insert(roleMenu);
    }
    /**
     * 修改角色权限
     * @return
     */
    @Override
    public int updateRoleMenu(RoleMenu roleMenu){
        return baseMapper.updateById(roleMenu);
    }
    /**
     * 删除角色权限
     * @return
     */
    @Override
    public int deleteRoleMenu(RoleMenu roleMenu){
        return baseMapper.deleteById(roleMenu);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/RoleServiceImpl.java
New file
@@ -0,0 +1,56 @@
package com.mes.md.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.Role;
import com.mes.md.entity.Role;
import com.mes.md.mapper.RoleMapper;
import com.mes.md.service.RoleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 角色表 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class RoleServiceImpl extends MPJBaseServiceImpl<RoleMapper, Role> implements RoleService {
    /**
     * 返回所有角色
     * @return
     */
    @Override
    public List<Role> findRolesAll(){
        return baseMapper.selectList(new QueryWrapper<Role>());
    }
    /**
     * 添加角色
     * @return
     */
    @Override
    public int addRole(Role role){
        return baseMapper.insert(role);
    }
    /**
     * 修改角色
     * @return
     */
    @Override
    public int updateRole(Role role){
        return baseMapper.updateById(role);
    }
    /**
     * 删除角色
     * @return
     */
    @Override
    public int deleteRole(Role role){
        return baseMapper.deleteById(role);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskLogServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.TaskLog;
import com.mes.md.mapper.TaskLogMapper;
import com.mes.md.service.TaskLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class TaskLogServiceImpl extends MPJBaseServiceImpl<TaskLogMapper, TaskLog> implements TaskLogService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.Tasking;
import com.mes.md.mapper.TaskingMapper;
import com.mes.md.service.TaskingService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 工作任务操作记录明细 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class TaskingServiceImpl extends MPJBaseServiceImpl<TaskingMapper, Tasking> implements TaskingService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/WorkTaskDetailServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.md.entity.WorkTaskDetail;
import com.mes.md.mapper.WorkTaskDetailMapper;
import com.mes.md.service.WorkTaskDetailService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 工作任务明细表(工作中) 服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 */
@Service
public class WorkTaskDetailServiceImpl extends MPJBaseServiceImpl<WorkTaskDetailMapper, WorkTaskDetail> implements WorkTaskDetailService {
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/main.iml
New file
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/java" isTestSource="false" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="servicebase-1.0-SNAPSHOT" level="project" />
    <orderEntry type="module" module-name="UnLoadGlassModule" />
    <orderEntry type="module" module-name="servicebase1" />
  </component>
</module>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/JsonFile/PlcCacheGlass.json
New file
@@ -0,0 +1,64 @@
{
   "plcAddressBegin":"DB11.0",
   "plcAddressLenght":"80",
   "dataType":"word",
   "parameteInfor":[
      {
         "codeId": "A06_request_word",
         "addressIndex":"0",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"m/min"
      },
      {
          "codeId": "A05_scanning_ID",
          "addressIndex":"2",
          "addressLenght":"30",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "Current_slot",
          "addressIndex":"36",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
        {
          "codeId": "MES_confirmation_word",
          "addressIndex":"38",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "A08_glass_status",
          "addressIndex":"68",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "A10_glass_status",
          "addressIndex":"70",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "A09_prohibit_film_production",
          "addressIndex":"72",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       }
       ,
       {
          "codeId": "A10_prohibit_film_production",
          "addressIndex":"74",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       }
   ]
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-cz.yml
New file
@@ -0,0 +1,32 @@
spring:
  datasource:
    dynamic:
      primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master
      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源.
      datasource:
        hangzhoumes:
          url: jdbc:mysql://192.168.1.199:3306/hangzhoumes?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        pp:
          url: jdbc:mysql://192.168.1.199:3306/pp?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        salve_hangzhoumes:
          url: jdbc:sqlserver://192.168.10.2:1433;databasename=hangzhoumes
          username: sa
          password: beibo.123/
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: deviceInteraction
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    password: 123456
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-dev.yml
New file
@@ -0,0 +1,32 @@
spring:
  datasource:
    dynamic:
      primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master
      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源.
      datasource:
        hangzhoumes:
          url: jdbc:mysql://127.0.0.1:3306/hangzhoumes?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        pp:
          url: jdbc:mysql://127.0.0.1:3306/pp?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        salve_hangzhoumes:
          url: jdbc:sqlserver://127.0.0.1:1433;databasename=hangzhoumes
          username: sa
          password: beibo.123/
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: deviceInteraction
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    password: 123456
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application-prod.yml
New file
@@ -0,0 +1,22 @@
spring:
  datasource:
    dynamic:
      primary: jiumumes #设置默认的数据源或者数据源组,默认值即为master
      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源.
      datasource:
        jiumumes:
          url: jdbc:mysql://10.153.19.150:3306/jiumumes?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
  cloud:
    nacos:
      discovery:
        server-addr: 10.153.19.29:8848
  application:
    name: deviceInteraction
  redis:
    database: 0
    host: 10.153.19.29
    port: 6379
    password: 123456
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/application.yml
New file
@@ -0,0 +1,28 @@
server:
  port: 8081
spring:
  profiles:
    active: prod
  application:
    name: deviceInteraction
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mes:
  threshold: 3
  ratio: 10
  max: # 第二条线的最大尺寸信息
    firstLength: 3500
    secondLength: 2500
  min:
    one: #第一条磨边线的最小尺寸信息
      firstLength: 600
      secondLength: 350
    two: #第二条磨边线的最小尺寸信息
      firstLength: 400
      secondLength: 300
  sequence:
    order: false
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/resources/logback-spring.xml
New file
@@ -0,0 +1,170 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds">
    <!-- logger上下文名称(根据业务修改) -->
    <contextName>deviceInteraction</contextName>
    <!-- 定义了一个名为serverName的属性,它的值来自于logging.file.name,如果没有找到该属性默认为MyServerName(根据业务修改) -->
    <springProperty name="serverName" source="logging.file.name" defaultValue="deviceInteraction"/>
    <springProperty name="logging.path" source="logging.file.path" defaultValue="././logs/"/>
    <!-- 彩色日志依赖的渲染类 -->
    <!-- 定义了一个名为clr的转换规则,它使用org.springframework.boot.logging.logback.ColorConverter类进行转换,这个元素通常用于将日志输出中的文本着色,以便更容易地区分不同的日志级别或其他信息 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <!-- WhitespaceThrowableProxyConverter和ExtendedWhitespaceThrowableProxyConverter都是用于将异常信息转换为字符串,并将其中的换行符替换为空格,以便更容易地在日志输出中显示的类。它们之间的区别在于,ExtendedWhitespaceThrowableProxyConverter在输出异常信息时会包含更多的详细信息,例如异常的类名、方法名和行号等 -->
    <!-- 定义了一个名为wex的转换规则,它使用org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter类进行转换,这个元素通常用于将异常信息转换为字符串,并将其中的换行符替换为空格,以便更容易地在日志输出中显示 -->
    <conversionRule conversionWord="wex"
                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <!-- 定义了一个名为wEx的转换规则,它使用org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter类进行转换,这个元素通常用于将异常信息转换为字符串,并将其中的换行符替换为空格,以便更容易地在日志输出中显示 -->
    <conversionRule conversionWord="wEx"
                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
    <!-- 彩色日志格式 -->
    <!-- value值是日志输出模板, :-是属性名和其默认值之间的分隔符,作用与:相同 -->
    <!-- 定义日志输出格式的转换规则,%d{yyyy-MM-dd HH:mm:ss.SSS}表示日期和时间,%clr表示将输出文本着色,{faint}表示使用淡色 -->
    <!-- %5p表示日志级别输出右对齐,左边以空格填充 -->
    <!-- ${PID:- }表示进程ID,%clr表示将输出文本着色,{magenta}表示使用洋红色 -->
    <!-- -表示一个分隔符 -->
    <!-- %t:显示产生该日志的线程名;%15:若字符长度小于15,则左边用空格填充;%.15:若字符长度超过15,截去多余字符 -->
    <!-- %-40:若字符长度小于40,则右边用空格填充;%.40:若字符长度超过40,截去多余字符;logger{39}对应的是“logging.WARNING”级别。具体来说,Python的logging模块定义了以下几个级别(从低到高):NOTSET、DEBUG、INFO、WARNING、ERROR、CRITICAL。因此,logger{39}表示的是WARNING级别,即日志记录器会记录所有WARNING级别及以上的日志信息 -->
    <!-- %m表示日志消息;%n表示换行符;${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}表示异常信息。如果日志输出中包含异常信息,这个规则将会将其转换为字符串,并将其中的换行符替换为空格,以便更容易地在日志输出中显示 -->
    <property name="CONSOLE_LOG_PATTERN"
              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
    <!--1. 输出到控制台-->
    <!-- 定义控制台日志输出的appender,class="ch.qos.logback.core.ConsoleAppender"表示使用Logback框架提供的ConsoleAppender类来输出日志到控制台 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
        <!-- 定义日志输出级别的过滤器,class="ch.qos.logback.classic.filter.ThresholdFilter"表示使用Logback框架提供的ThresholdFilter类来过滤日志输出,<level>debug</level>表示只输出debug级别及以上的日志 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>debug</level>
        </filter>
        <encoder>
            <!-- ${CONSOLE_LOG_PATTERN}表示控制台日志输出格式,UTF-8表示编码格式 -->
            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
            <!-- 设置字符集 -->
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    <!--2. 输出到文档-->
    <!-- 2.1 level为 DEBUG 日志,时间滚动输出  -->
    <!-- 定义文件日志输出的appender,class="ch.qos.logback.core.rolling.RollingFileAppender"表示使用Logback框架提供的RollingFileAppender类来输出日志到文件 -->
    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文档的路径及文档名 -->
        <file>${logging.path}/${serverName}/web_debug.log</file>
        <!--日志文档输出格式-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset> <!-- 设置字符集 -->
        </encoder>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <!-- 定义日志文件滚动策略的标签,class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"表示使用Logback框架提供的TimeBasedRollingPolicy类来定义日志文件的滚动策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志归档 -->
            <!-- 定义日志文件名的模式。在这个模式中,${logging.path}表示日志文件的路径,%d{yyyy-MM-dd}表示日期格式,%i表示文件索引 -->
            <fileNamePattern>${logging.path}/${serverName}/web-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 定义日志文件滚动策略的标签,class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"表示使用Logback框架提供的SizeAndTimeBasedFNATP类来定义日志文件的滚动策略,<maxFileSize>100MB</maxFileSize>表示日志文件的最大大小为100MB。这个滚动策略通常用于按照时间和文件大小滚动日志文件,以便更好地管理日志文件的大小和数量 -->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文档保留天数-->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <!-- 此日志文档只记录debug级别的 -->
        <!-- 定义日志输出级别的过滤器。在这个过滤器中,class="ch.qos.logback.classic.filter.LevelFilter"表示使用Logback框架提供的LevelFilter类来过滤日志输出,<level>debug</level>表示只输出debug级别及以上的日志 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>debug</level>
            <!-- <onMatch>ACCEPT</onMatch>表示如果日志事件与过滤器匹配,则接受该事件,<onMismatch>DENY</onMismatch>表示如果日志事件与过滤器不匹配,则拒绝该事件 -->
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!-- 2.2 level为 INFO 日志,时间滚动输出  -->
    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文档的路径及文档名 -->
        <file>${logging.path}/${serverName}/web_info.log</file>
        <!--日志文档输出格式-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 天天日志归档路径以及格式 -->
            <fileNamePattern>${logging.path}/${serverName}/web-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文档保留天数-->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <!-- 此日志文档只记录info级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>info</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!-- 2.3 level为 WARN 日志,时间滚动输出  -->
    <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文档的路径及文档名 -->
        <file>${logging.path}/${serverName}/web_warn.log</file>
        <!--日志文档输出格式-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
        </encoder>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logging.path}/${serverName}/web-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文档保留天数-->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <!-- 此日志文档只记录warn级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>warn</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!-- 2.4 level为 ERROR 日志,时间滚动输出  -->
    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文档的路径及文档名 -->
        <file>${logging.path}/${serverName}/web_error.log</file>
        <!--日志文档输出格式-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
        </encoder>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logging.path}/${serverName}/web-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文档保留天数-->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <!-- 此日志文档只记录ERROR级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!--     4.1 开发环境:打印控制台-->
    <!-- 用于在Spring Boot应用程序中配置日志记录的标签。在这个标签中,name="dev"表示这个配置文件只在dev环境中生效,<logger name="com.myClass.controller" level="debug"/>表示为com.myClass.controller(根据业务修改)这个包下的类配置日志输出级别为debug -->
    <!--    <springProfile name="dev">-->
    <!--        <logger name="com.myClass.controller" level="debug"/>-->
    <!--    </springProfile>-->
    <!-- 用于配置日志输出的标签。在这个标签中,level="info"表示日志输出级别为info,<appender-ref ref="CONSOLE"/>、<appender-ref ref="DEBUG_FILE"/>、<appender-ref ref="INFO_FILE"/>、<appender-ref ref="WARN_FILE"/>、<appender-ref ref="ERROR_FILE"/>表示将日志输出到不同的appender中,分别为控制台、debug文件、info文件、warn文件和error文件 -->
    <root level="info">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="DEBUG_FILE"/>
        <appender-ref ref="INFO_FILE"/>
        <appender-ref ref="WARN_FILE"/>
        <appender-ref ref="ERROR_FILE"/>
    </root>
</configuration>
JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/DeviceInteractionModuleApplicationTest.java
New file
@@ -0,0 +1,50 @@
package com.mes;
import com.mes.job.CacheGlassTask;
import com.mes.md.entity.Account;
import com.mes.md.mapper.AccountMapper;
import com.mes.md.service.AccountService;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
 * @Author : yanzhixin
 * @Date: 2024/3/27 16:37
 * @Description:
 */
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(classes = DeviceInteractionModuleApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class DeviceInteractionModuleApplicationTest {
    @Autowired
    AccountMapper AccountMapper;
    @Autowired
    AccountService accountService;
    @Test
    public void testFindPath() {
        //String url = getClass().getResource("").getPath();
        //log.info("完整路径:{}", Arrays.asList(url));
        log.info("完整路径");
    }
    @Test
    public void testFindAccount() {
        Map<String, Object> Account=accountService.selectAccount("admin","12345");
        if(Account.isEmpty()){
            System.out.println("成功");
        }
        log.info("{}",Account);
    }
}
JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/test.iml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/java" isTestSource="true" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/JsonFile/PlcCacheGlass.json
New file
@@ -0,0 +1,64 @@
{
   "plcAddressBegin":"DB11.0",
   "plcAddressLenght":"80",
   "dataType":"word",
   "parameteInfor":[
      {
         "codeId": "A06_request_word",
         "addressIndex":"0",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"m/min"
      },
      {
          "codeId": "A05_scanning_ID",
          "addressIndex":"2",
          "addressLenght":"30",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "Current_slot",
          "addressIndex":"36",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
        {
          "codeId": "MES_confirmation_word",
          "addressIndex":"38",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "A08_glass_status",
          "addressIndex":"68",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "A10_glass_status",
          "addressIndex":"70",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       },
       {
          "codeId": "A09_prohibit_film_production",
          "addressIndex":"72",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       }
       ,
       {
          "codeId": "A10_prohibit_film_production",
          "addressIndex":"74",
          "addressLenght":"2",
          "ratio":"1",
          "unit":""
       }
   ]
}
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-cz.yml
New file
@@ -0,0 +1,32 @@
spring:
  datasource:
    dynamic:
      primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master
      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源.
      datasource:
        hangzhoumes:
          url: jdbc:mysql://192.168.1.199:3306/hangzhoumes?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        pp:
          url: jdbc:mysql://192.168.1.199:3306/pp?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        salve_hangzhoumes:
          url: jdbc:sqlserver://192.168.10.2:1433;databasename=hangzhoumes
          username: sa
          password: beibo.123/
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: deviceInteraction
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    password: 123456
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-dev.yml
New file
@@ -0,0 +1,32 @@
spring:
  datasource:
    dynamic:
      primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master
      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源.
      datasource:
        hangzhoumes:
          url: jdbc:mysql://127.0.0.1:3306/hangzhoumes?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        pp:
          url: jdbc:mysql://127.0.0.1:3306/pp?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        salve_hangzhoumes:
          url: jdbc:sqlserver://127.0.0.1:1433;databasename=hangzhoumes
          username: sa
          password: beibo.123/
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: deviceInteraction
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    password: 123456
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application-prod.yml
New file
@@ -0,0 +1,22 @@
spring:
  datasource:
    dynamic:
      primary: jiumumes #设置默认的数据源或者数据源组,默认值即为master
      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源.
      datasource:
        jiumumes:
          url: jdbc:mysql://10.153.19.150:3306/jiumumes?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
  cloud:
    nacos:
      discovery:
        server-addr: 10.153.19.29:8848
  application:
    name: deviceInteraction
  redis:
    database: 0
    host: 10.153.19.29
    port: 6379
    password: 123456
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/application.yml
New file
@@ -0,0 +1,28 @@
server:
  port: 8081
spring:
  profiles:
    active: prod
  application:
    name: deviceInteraction
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mes:
  threshold: 3
  ratio: 10
  max: # 第二条线的最大尺寸信息
    firstLength: 3500
    secondLength: 2500
  min:
    one: #第一条磨边线的最小尺寸信息
      firstLength: 600
      secondLength: 350
    two: #第二条磨边线的最小尺寸信息
      firstLength: 400
      secondLength: 300
  sequence:
    order: false
JiuMuMesParent/moduleService/DeviceInteractionModule/target/classes/logback-spring.xml
New file
@@ -0,0 +1,170 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds">
    <!-- logger上下文名称(根据业务修改) -->
    <contextName>deviceInteraction</contextName>
    <!-- 定义了一个名为serverName的属性,它的值来自于logging.file.name,如果没有找到该属性默认为MyServerName(根据业务修改) -->
    <springProperty name="serverName" source="logging.file.name" defaultValue="deviceInteraction"/>
    <springProperty name="logging.path" source="logging.file.path" defaultValue="././logs/"/>
    <!-- 彩色日志依赖的渲染类 -->
    <!-- 定义了一个名为clr的转换规则,它使用org.springframework.boot.logging.logback.ColorConverter类进行转换,这个元素通常用于将日志输出中的文本着色,以便更容易地区分不同的日志级别或其他信息 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <!-- WhitespaceThrowableProxyConverter和ExtendedWhitespaceThrowableProxyConverter都是用于将异常信息转换为字符串,并将其中的换行符替换为空格,以便更容易地在日志输出中显示的类。它们之间的区别在于,ExtendedWhitespaceThrowableProxyConverter在输出异常信息时会包含更多的详细信息,例如异常的类名、方法名和行号等 -->
    <!-- 定义了一个名为wex的转换规则,它使用org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter类进行转换,这个元素通常用于将异常信息转换为字符串,并将其中的换行符替换为空格,以便更容易地在日志输出中显示 -->
    <conversionRule conversionWord="wex"
                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <!-- 定义了一个名为wEx的转换规则,它使用org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter类进行转换,这个元素通常用于将异常信息转换为字符串,并将其中的换行符替换为空格,以便更容易地在日志输出中显示 -->
    <conversionRule conversionWord="wEx"
                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
    <!-- 彩色日志格式 -->
    <!-- value值是日志输出模板, :-是属性名和其默认值之间的分隔符,作用与:相同 -->
    <!-- 定义日志输出格式的转换规则,%d{yyyy-MM-dd HH:mm:ss.SSS}表示日期和时间,%clr表示将输出文本着色,{faint}表示使用淡色 -->
    <!-- %5p表示日志级别输出右对齐,左边以空格填充 -->
    <!-- ${PID:- }表示进程ID,%clr表示将输出文本着色,{magenta}表示使用洋红色 -->
    <!-- -表示一个分隔符 -->
    <!-- %t:显示产生该日志的线程名;%15:若字符长度小于15,则左边用空格填充;%.15:若字符长度超过15,截去多余字符 -->
    <!-- %-40:若字符长度小于40,则右边用空格填充;%.40:若字符长度超过40,截去多余字符;logger{39}对应的是“logging.WARNING”级别。具体来说,Python的logging模块定义了以下几个级别(从低到高):NOTSET、DEBUG、INFO、WARNING、ERROR、CRITICAL。因此,logger{39}表示的是WARNING级别,即日志记录器会记录所有WARNING级别及以上的日志信息 -->
    <!-- %m表示日志消息;%n表示换行符;${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}表示异常信息。如果日志输出中包含异常信息,这个规则将会将其转换为字符串,并将其中的换行符替换为空格,以便更容易地在日志输出中显示 -->
    <property name="CONSOLE_LOG_PATTERN"
              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
    <!--1. 输出到控制台-->
    <!-- 定义控制台日志输出的appender,class="ch.qos.logback.core.ConsoleAppender"表示使用Logback框架提供的ConsoleAppender类来输出日志到控制台 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
        <!-- 定义日志输出级别的过滤器,class="ch.qos.logback.classic.filter.ThresholdFilter"表示使用Logback框架提供的ThresholdFilter类来过滤日志输出,<level>debug</level>表示只输出debug级别及以上的日志 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>debug</level>
        </filter>
        <encoder>
            <!-- ${CONSOLE_LOG_PATTERN}表示控制台日志输出格式,UTF-8表示编码格式 -->
            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
            <!-- 设置字符集 -->
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    <!--2. 输出到文档-->
    <!-- 2.1 level为 DEBUG 日志,时间滚动输出  -->
    <!-- 定义文件日志输出的appender,class="ch.qos.logback.core.rolling.RollingFileAppender"表示使用Logback框架提供的RollingFileAppender类来输出日志到文件 -->
    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文档的路径及文档名 -->
        <file>${logging.path}/${serverName}/web_debug.log</file>
        <!--日志文档输出格式-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset> <!-- 设置字符集 -->
        </encoder>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <!-- 定义日志文件滚动策略的标签,class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"表示使用Logback框架提供的TimeBasedRollingPolicy类来定义日志文件的滚动策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志归档 -->
            <!-- 定义日志文件名的模式。在这个模式中,${logging.path}表示日志文件的路径,%d{yyyy-MM-dd}表示日期格式,%i表示文件索引 -->
            <fileNamePattern>${logging.path}/${serverName}/web-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 定义日志文件滚动策略的标签,class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"表示使用Logback框架提供的SizeAndTimeBasedFNATP类来定义日志文件的滚动策略,<maxFileSize>100MB</maxFileSize>表示日志文件的最大大小为100MB。这个滚动策略通常用于按照时间和文件大小滚动日志文件,以便更好地管理日志文件的大小和数量 -->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文档保留天数-->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <!-- 此日志文档只记录debug级别的 -->
        <!-- 定义日志输出级别的过滤器。在这个过滤器中,class="ch.qos.logback.classic.filter.LevelFilter"表示使用Logback框架提供的LevelFilter类来过滤日志输出,<level>debug</level>表示只输出debug级别及以上的日志 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>debug</level>
            <!-- <onMatch>ACCEPT</onMatch>表示如果日志事件与过滤器匹配,则接受该事件,<onMismatch>DENY</onMismatch>表示如果日志事件与过滤器不匹配,则拒绝该事件 -->
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!-- 2.2 level为 INFO 日志,时间滚动输出  -->
    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文档的路径及文档名 -->
        <file>${logging.path}/${serverName}/web_info.log</file>
        <!--日志文档输出格式-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 天天日志归档路径以及格式 -->
            <fileNamePattern>${logging.path}/${serverName}/web-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文档保留天数-->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <!-- 此日志文档只记录info级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>info</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!-- 2.3 level为 WARN 日志,时间滚动输出  -->
    <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文档的路径及文档名 -->
        <file>${logging.path}/${serverName}/web_warn.log</file>
        <!--日志文档输出格式-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
        </encoder>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logging.path}/${serverName}/web-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文档保留天数-->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <!-- 此日志文档只记录warn级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>warn</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!-- 2.4 level为 ERROR 日志,时间滚动输出  -->
    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文档的路径及文档名 -->
        <file>${logging.path}/${serverName}/web_error.log</file>
        <!--日志文档输出格式-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
        </encoder>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logging.path}/${serverName}/web-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文档保留天数-->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <!-- 此日志文档只记录ERROR级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!--     4.1 开发环境:打印控制台-->
    <!-- 用于在Spring Boot应用程序中配置日志记录的标签。在这个标签中,name="dev"表示这个配置文件只在dev环境中生效,<logger name="com.myClass.controller" level="debug"/>表示为com.myClass.controller(根据业务修改)这个包下的类配置日志输出级别为debug -->
    <!--    <springProfile name="dev">-->
    <!--        <logger name="com.myClass.controller" level="debug"/>-->
    <!--    </springProfile>-->
    <!-- 用于配置日志输出的标签。在这个标签中,level="info"表示日志输出级别为info,<appender-ref ref="CONSOLE"/>、<appender-ref ref="DEBUG_FILE"/>、<appender-ref ref="INFO_FILE"/>、<appender-ref ref="WARN_FILE"/>、<appender-ref ref="ERROR_FILE"/>表示将日志输出到不同的appender中,分别为控制台、debug文件、info文件、warn文件和error文件 -->
    <root level="info">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="DEBUG_FILE"/>
        <appender-ref ref="INFO_FILE"/>
        <appender-ref ref="WARN_FILE"/>
        <appender-ref ref="ERROR_FILE"/>
    </root>
</configuration>
JiuMuMesParent/moduleService/DeviceInteractionModule/target/deviceInteraction-1.0-SNAPSHOT.jar.original
Binary files differ
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-archiver/pom.properties
New file
@@ -0,0 +1,3 @@
version=1.0-SNAPSHOT
groupId=com.mes
artifactId=deviceInteraction
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
New file
@@ -0,0 +1,86 @@
com\mes\AppRunnerConfig.class
com\mes\md\controller\TaskingController.class
com\mes\md\mapper\TaskingMapper.class
com\mes\md\controller\AccountController.class
com\mes\md\service\TaskLogService.class
com\mes\md\controller\WorktaskdetailController.class
com\mes\md\mapper\RoleMapper.class
com\mes\md\service\impl\ProjectServiceImpl.class
com\mes\md\service\PrimitiveTaskService.class
com\mes\md\service\impl\OrderOriginalPieceServiceImpl.class
com\mes\md\service\AccountService.class
com\mes\md\entity\Account.class
com\mes\DeviceInteractionModuleApplication.class
com\mes\md\service\impl\MenuServiceImpl.class
com\mes\md\controller\PageController.class
com\mes\md\entity\TaskLog.class
com\mes\md\service\ProjectService.class
com\mes\md\service\WorkTaskDetailService.class
com\mes\md\mapper\EquipmentLogMapper.class
com\mes\md\entity\RoleMenu.class
com\mes\md\service\impl\EquipmentLogServiceImpl.class
com\mes\md\controller\OrderoriginalpieceController.class
com\mes\md\controller\TaskLogController.class
com\mes\md\service\impl\TaskingServiceImpl.class
com\mes\md\controller\EdgegrindingLogController.class
com\mes\md\controller\MenuController.class
com\mes\md\mapper\ProjectMapper.class
com\mes\md\entity\OrderOriginalPiece.class
com\mes\md\service\MenuService.class
com\mes\md\controller\GlassInfoController.class
com\mes\md\controller\EquipmentLogController.class
com\mes\md\mapper\PageMapper.class
com\mes\md\service\ProjectLogService.class
com\mes\md\entity\Project.class
com\mes\common\SmbTool.class
com\mes\md\mapper\ProjectLogMapper.class
com\mes\md\controller\RolemenuController.class
com\mes\md\mapper\PrimitiveTaskMapper.class
com\mes\md\service\impl\EdgeGrindingLogServiceImpl.class
com\mes\md\controller\PrimitivetaskController.class
com\mes\md\mapper\OrderOriginalPieceMapper.class
com\mes\edgstoragecage\controller\EdgStorageCageController.class
com\mes\edgstoragecage\entity\EdgStorageCageDetails.class
com\mes\edgstoragecage\entity\EdgStorageCage.class
com\mes\md\mapper\RoleMenuMapper.class
com\mes\md\service\impl\RoleServiceImpl.class
com\mes\md\entity\Role.class
com\mes\md\mapper\TaskLogMapper.class
com\mes\md\service\impl\AccountServiceImpl.class
com\mes\edgstoragecage\service\EdgStorageCageService.class
com\mes\md\entity\EdgeGrindingLog.class
com\mes\md\service\OrderOriginalPieceService.class
com\mes\md\service\impl\GlassInfoServiceImpl.class
com\mes\md\entity\EquipmentLog.class
com\mes\md\mapper\EdgeGrindingLogMapper.class
com\mes\md\entity\PrimitiveTask.class
com\mes\md\entity\WorkTaskDetail.class
com\mes\md\mapper\WorkTaskDetailMapper.class
com\mes\job\CacheGlassTask.class
com\mes\md\entity\Menu.class
com\mes\md\service\impl\PageServiceImpl.class
com\mes\common\S7object.class
com\mes\md\service\impl\WorkTaskDetailServiceImpl.class
com\mes\md\mapper\MenuMapper.class
com\mes\md\service\impl\TaskLogServiceImpl.class
com\mes\md\service\RoleMenuService.class
com\mes\edgstoragecage\service\impl\EdgStorageCageServiceImpl.class
com\mes\edgstoragecage\mapper\EdgStorageCageMapper.class
com\mes\md\service\impl\ProjectLogServiceImpl.class
com\mes\md\service\impl\RoleMenuServiceImpl.class
com\mes\md\entity\GlassInfo.class
com\mes\md\service\TaskingService.class
com\mes\md\service\GlassInfoService.class
com\mes\md\service\RoleService.class
com\mes\md\service\PageService.class
com\mes\md\controller\ProjectLogController.class
com\mes\md\entity\Page.class
com\mes\md\controller\RoleController.class
com\mes\md\mapper\AccountMapper.class
com\mes\md\service\EquipmentLogService.class
com\mes\md\mapper\GlassInfoMapper.class
com\mes\md\service\impl\PrimitiveTaskServiceImpl.class
com\mes\md\controller\ProjectController.class
com\mes\md\entity\Tasking.class
com\mes\md\entity\ProjectLog.class
com\mes\md\service\EdgeGrindingLogService.class
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
New file
@@ -0,0 +1,86 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\edgstoragecage\mapper\EdgStorageCageMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\job\CacheGlassTask.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\DeviceInteractionModuleApplication.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\ProjectLog.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\Role.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\Tasking.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\edgstoragecage\service\impl\EdgStorageCageServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\PageMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\MenuController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\ProjectLogMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\PageService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\GlassInfoServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\WorktaskdetailController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\WorkTaskDetailServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\TaskLog.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\GlassInfo.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\OrderOriginalPieceMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\AccountService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\RoleController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\WorkTaskDetailService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\AccountServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\RoleService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\MenuServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\RoleMenuServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\edgstoragecage\entity\EdgStorageCage.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\Project.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\PrimitiveTaskMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\PrimitiveTaskServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\edgstoragecage\service\EdgStorageCageService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\EdgegrindingLogController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\EdgeGrindingLog.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\Account.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\TaskingController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\EdgeGrindingLogService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\TaskLogServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\PrimitiveTaskService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\TaskingServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\AppRunnerConfig.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\common\S7object.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\AccountMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\EdgeGrindingLogServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\ProjectMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\ProjectServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\TaskingService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\PageController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\ProjectController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\GlassInfoMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\WorkTaskDetailMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\OrderOriginalPieceService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\RoleMenuMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\EquipmentLogMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\EquipmentLog.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\EdgeGrindingLogMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\PrimitivetaskController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\PageServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\edgstoragecage\controller\EdgStorageCageController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\MenuMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\common\SmbTool.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\AccountController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\MenuService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\Menu.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\Page.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\RoleMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\EquipmentLogService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\ProjectLogService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\RolemenuController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\GlassInfoController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\OrderOriginalPieceServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\edgstoragecage\entity\EdgStorageCageDetails.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\ProjectService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\ProjectLogServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\TaskingMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\ProjectLogController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\OrderoriginalpieceController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\WorkTaskDetail.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\TaskLogController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\TaskLogService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\PrimitiveTask.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\controller\EquipmentLogController.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\RoleServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\RoleMenu.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\GlassInfoService.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\entity\OrderOriginalPiece.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\mapper\TaskLogMapper.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\impl\EquipmentLogServiceImpl.java
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\main\java\com\mes\md\service\RoleMenuService.java
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
New file
@@ -0,0 +1 @@
com\mes\DeviceInteractionModuleApplicationTest.class
JiuMuMesParent/moduleService/DeviceInteractionModule/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
New file
@@ -0,0 +1 @@
D:\workfile\JiuMuMES\JiuMuMesParent\moduleService\DeviceInteractionModule\src\test\java\com\mes\DeviceInteractionModuleApplicationTest.java
JiuMuMesParent/moduleService/pom.xml
New file
@@ -0,0 +1,80 @@
<?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>JiuMuMesParent</artifactId>
        <groupId>com.mes</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>moduleService</artifactId>
    <packaging>pom</packaging>
    <modules>
        <module>deviceInteractionModule</module>
<!--        <module>CacheVerticalGlassModule</module>-->
<!--        <module>LoadGlassModule</module>-->
<!--        <module>TemperingGlassModule</module>-->
<!--        <module>UnLoadGlassModule</module>-->
<!--        <module>GlassStorageModule</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>
            <artifactId>servicebase</artifactId>
            <groupId>com.mes</groupId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
<!--        <dependency>-->
<!--            <artifactId>springsecurity</artifactId>-->
<!--            <groupId>com.mes</groupId>-->
<!--            <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>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
JiuMuMesParent/pom.xml
New file
@@ -0,0 +1,74 @@
<?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>JiuMuMesParent</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>
        <relativePath/>
    </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>
JiuMuMesParent/readMe.md
New file
@@ -0,0 +1,18 @@
1、本项目是基于SpringBoot+Mybatis-plus+Mysql+Vue+ElementUI+Maven+Nginx的项目,目录结果结构如下:
    ├─src
    ├─com   插件生成的代码,用于各自开发使用
    │  └─mes
    ├─common  公共模块
    │  ├─src
    └─moduleService
        ├─-CacheGlassModule
        ├─-CacheVerticalGlassModule
        ├─-LoadGlassModule
        ├─-TemperingGlassModule
        └─-UnLoadGlassModule
2、运行项目: 1、启动项目:启动各自模块启动类 例如:CacheGlassModuleApplication.java#main()
2、访问项目: 3、项目地址:http://localhost:8081/mesModuleCache/doc.html#/home
4、项目说明: 本界面为Api文档,公开人员用于调试 3、项目说明: 1、项目分为公共模块common,业务模块moduleService。 2、common模块中包含公共的类,例如:公共的实体类、拦截器、工具类、常量类、异常处理等。
3、moduleService中包含各个业务模块,每个业务模块中包含一个启动类,开发人员需要开发各自负责的业务模块。 4、com目录下的文件为插件生成的代码,用于各自开发使用。用完删除即可,避免影响开发。
UI-Project/.gitignore
New file
@@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
UI-Project/.vscode/extensions.json
New file
@@ -0,0 +1,3 @@
{
  "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
}
UI-Project/README.md
New file
@@ -0,0 +1,29 @@
# northglass-erp
This template should help get you started developing with Vue 3 in Vite.
## Recommended IDE Setup
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
## Customize configuration
See [Vite Configuration Reference](https://vitejs.dev/config/).
## Project Setup
```sh
npm install
```
### Compile and Hot-Reload for Development
```sh
npm run dev
```
### Compile and Minify for Production
```sh
npm run build
```
UI-Project/auto-imports.d.ts
New file
@@ -0,0 +1,9 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import
export {}
declare global {
  const useI18n: typeof import('vue-i18n')['useI18n']
}
UI-Project/config.js
New file
@@ -0,0 +1,10 @@
export default {
 serverUrl: "10.153.19.29:88/api",
//  serverUrl: "192.168.1.199:88/api",
//  serverUrl: "127.0.0.1:88/api",
  serverUrl2: "10.153.19.29:88"
  // serverUrl2: "192.168.1.199:88"
    // serverUrl2: "127.0.0.1:88"
  //serverUrl:"res.abeim.cn"
}
UI-Project/index.html
New file
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <!-- <link rel="icon" href="/favicon.ico"> -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>北玻</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.js"></script>
  </body>
</html>
UI-Project/package-lock.json
New file
@@ -0,0 +1,3682 @@
{
  "name": "northglass-mes",
  "version": "0.0.0",
  "lockfileVersion": 2,
  "requires": true,
  "packages": {
    "": {
      "name": "northglass-mes",
      "version": "0.0.0",
      "dependencies": {
        "@element-plus/icons-vue": "^2.3.1",
        "@vue-macros/reactivity-transform": "^0.3.23",
        "axios": "^1.6.8",
        "chart.js": "^4.4.3",
        "echarts": "^5.5.1",
        "element-plus": "^2.4.0",
        "moment": "^2.30.1",
        "pinia": "^2.1.6",
        "pinia-plugin-persistedstate": "^3.2.0",
        "qrcode": "^1.5.4",
        "sortablejs": "^1.15.1",
        "sweetalert2": "^11.10.7",
        "vue": "^3.3.4",
        "vue-draggable-plus": "^0.5.0",
        "vue-echarts": "^6.7.3",
        "vue-i18n": "^9.10.1",
        "vue-print-nb": "^1.7.5",
        "vue-router": "^4.2.4",
        "vue3-print-nb": "^0.1.4",
        "vxe-table": "^4.5.15",
        "xe-utils": "^3.5.14",
        "xlsx": "^0.18.5"
      },
      "devDependencies": {
        "@types/sortablejs": "^1.15.7",
        "@vitejs/plugin-vue": "^4.6.2",
        "http-proxy-middleware": "^3.0.0",
        "unplugin-auto-import": "^0.17.6",
        "vite": "^4.4.9"
      }
    },
    "node_modules/@antfu/utils": {
      "version": "0.7.8",
      "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.8.tgz",
      "integrity": "sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==",
      "dev": true,
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/@babel/helper-string-parser": {
      "version": "7.24.8",
      "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
      "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
      "engines": {
        "node": ">=6.9.0"
      }
    },
    "node_modules/@babel/helper-validator-identifier": {
      "version": "7.24.7",
      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
      "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
      "engines": {
        "node": ">=6.9.0"
      }
    },
    "node_modules/@babel/parser": {
      "version": "7.25.3",
      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.25.3.tgz",
      "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==",
      "dependencies": {
        "@babel/types": "^7.25.2"
      },
      "bin": {
        "parser": "bin/babel-parser.js"
      },
      "engines": {
        "node": ">=6.0.0"
      }
    },
    "node_modules/@babel/types": {
      "version": "7.25.2",
      "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.25.2.tgz",
      "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==",
      "dependencies": {
        "@babel/helper-string-parser": "^7.24.8",
        "@babel/helper-validator-identifier": "^7.24.7",
        "to-fast-properties": "^2.0.0"
      },
      "engines": {
        "node": ">=6.9.0"
      }
    },
    "node_modules/@ctrl/tinycolor": {
      "version": "3.6.1",
      "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
      "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
      "engines": {
        "node": ">=10"
      }
    },
    "node_modules/@element-plus/icons-vue": {
      "version": "2.3.1",
      "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
      "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
      "peerDependencies": {
        "vue": "^3.2.0"
      }
    },
    "node_modules/@esbuild/win32-ia32": {
      "version": "0.18.20",
      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
      "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
      "cpu": [
        "ia32"
      ],
      "dev": true,
      "optional": true,
      "os": [
        "win32"
      ],
      "engines": {
        "node": ">=12"
      }
    },
    "node_modules/@floating-ui/core": {
      "version": "1.5.0",
      "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz",
      "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==",
      "dependencies": {
        "@floating-ui/utils": "^0.1.3"
      }
    },
    "node_modules/@floating-ui/dom": {
      "version": "1.5.3",
      "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz",
      "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==",
      "dependencies": {
        "@floating-ui/core": "^1.4.2",
        "@floating-ui/utils": "^0.1.3"
      }
    },
    "node_modules/@floating-ui/utils": {
      "version": "0.1.6",
      "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz",
      "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A=="
    },
    "node_modules/@intlify/core-base": {
      "version": "9.13.1",
      "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.13.1.tgz",
      "integrity": "sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==",
      "dependencies": {
        "@intlify/message-compiler": "9.13.1",
        "@intlify/shared": "9.13.1"
      },
      "engines": {
        "node": ">= 16"
      }
    },
    "node_modules/@intlify/message-compiler": {
      "version": "9.13.1",
      "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.13.1.tgz",
      "integrity": "sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==",
      "dependencies": {
        "@intlify/shared": "9.13.1",
        "source-map-js": "^1.0.2"
      },
      "engines": {
        "node": ">= 16"
      }
    },
    "node_modules/@intlify/shared": {
      "version": "9.13.1",
      "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.13.1.tgz",
      "integrity": "sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==",
      "engines": {
        "node": ">= 16"
      }
    },
    "node_modules/@jridgewell/sourcemap-codec": {
      "version": "1.4.15",
      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
    },
    "node_modules/@kurkle/color": {
      "version": "0.3.2",
      "resolved": "https://registry.npmmirror.com/@kurkle/color/-/color-0.3.2.tgz",
      "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
    },
    "node_modules/@nodelib/fs.scandir": {
      "version": "2.1.5",
      "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
      "dev": true,
      "dependencies": {
        "@nodelib/fs.stat": "2.0.5",
        "run-parallel": "^1.1.9"
      },
      "engines": {
        "node": ">= 8"
      }
    },
    "node_modules/@nodelib/fs.stat": {
      "version": "2.0.5",
      "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
      "dev": true,
      "engines": {
        "node": ">= 8"
      }
    },
    "node_modules/@nodelib/fs.walk": {
      "version": "1.2.8",
      "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
      "dev": true,
      "dependencies": {
        "@nodelib/fs.scandir": "2.1.5",
        "fastq": "^1.6.0"
      },
      "engines": {
        "node": ">= 8"
      }
    },
    "node_modules/@popperjs/core": {
      "name": "@sxzz/popperjs-es",
      "version": "2.11.7",
      "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
      "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==",
      "funding": {
        "type": "opencollective",
        "url": "https://opencollective.com/popperjs"
      }
    },
    "node_modules/@rollup/pluginutils": {
      "version": "5.1.0",
      "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
      "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==",
      "dependencies": {
        "@types/estree": "^1.0.0",
        "estree-walker": "^2.0.2",
        "picomatch": "^2.3.1"
      },
      "engines": {
        "node": ">=14.0.0"
      },
      "peerDependencies": {
        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
      },
      "peerDependenciesMeta": {
        "rollup": {
          "optional": true
        }
      }
    },
    "node_modules/@types/estree": {
      "version": "1.0.2",
      "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",
      "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg=="
    },
    "node_modules/@types/lodash-es": {
      "version": "4.17.9",
      "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.9.tgz",
      "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": {
      "version": "1.15.8",
      "resolved": "https://registry.npmmirror.com/@types/sortablejs/-/sortablejs-1.15.8.tgz",
      "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg=="
    },
    "node_modules/@types/web-bluetooth": {
      "version": "0.0.16",
      "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
      "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
    },
    "node_modules/@vitejs/plugin-vue": {
      "version": "4.6.2",
      "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz",
      "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==",
      "dev": true,
      "engines": {
        "node": "^14.18.0 || >=16.0.0"
      },
      "peerDependencies": {
        "vite": "^4.0.0 || ^5.0.0",
        "vue": "^3.2.25"
      }
    },
    "node_modules/@vue-macros/common": {
      "version": "1.8.0",
      "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-1.8.0.tgz",
      "integrity": "sha512-auDJJzE0z3uRe3867e0DsqcseKImktNf5ojCZgUKqiVxb2yTlwlgOVAYCgoep9oITqxkXQymSvFeKhedi8PhaA==",
      "dependencies": {
        "@babel/types": "^7.22.17",
        "@rollup/pluginutils": "^5.0.4",
        "@vue/compiler-sfc": "^3.3.4",
        "ast-kit": "^0.11.2",
        "local-pkg": "^0.4.3",
        "magic-string-ast": "^0.3.0"
      },
      "engines": {
        "node": ">=16.14.0"
      },
      "peerDependencies": {
        "vue": "^2.7.0 || ^3.2.25"
      },
      "peerDependenciesMeta": {
        "vue": {
          "optional": true
        }
      }
    },
    "node_modules/@vue-macros/reactivity-transform": {
      "version": "0.3.23",
      "resolved": "https://registry.npmjs.org/@vue-macros/reactivity-transform/-/reactivity-transform-0.3.23.tgz",
      "integrity": "sha512-SubIg1GsNpQdIDJusrcA2FWBgwSY+4jmL0j6SJ6PU85r3rlS+uDhn6AUkqxeZRAdmJnrbGHXDyWUdygOZmWrSg==",
      "dependencies": {
        "@babel/parser": "^7.22.16",
        "@vue-macros/common": "1.8.0",
        "@vue/compiler-core": "^3.3.4",
        "@vue/shared": "^3.3.4",
        "magic-string": "^0.30.3",
        "unplugin": "^1.4.0"
      },
      "engines": {
        "node": ">=16.14.0"
      },
      "peerDependencies": {
        "vue": "^2.7.0 || ^3.2.25"
      }
    },
    "node_modules/@vue/compiler-core": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
      "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
      "dependencies": {
        "@babel/parser": "^7.21.3",
        "@vue/shared": "3.3.4",
        "estree-walker": "^2.0.2",
        "source-map-js": "^1.0.2"
      }
    },
    "node_modules/@vue/compiler-dom": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
      "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
      "dependencies": {
        "@vue/compiler-core": "3.3.4",
        "@vue/shared": "3.3.4"
      }
    },
    "node_modules/@vue/compiler-sfc": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
      "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
      "dependencies": {
        "@babel/parser": "^7.20.15",
        "@vue/compiler-core": "3.3.4",
        "@vue/compiler-dom": "3.3.4",
        "@vue/compiler-ssr": "3.3.4",
        "@vue/reactivity-transform": "3.3.4",
        "@vue/shared": "3.3.4",
        "estree-walker": "^2.0.2",
        "magic-string": "^0.30.0",
        "postcss": "^8.1.10",
        "source-map-js": "^1.0.2"
      }
    },
    "node_modules/@vue/compiler-ssr": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
      "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
      "dependencies": {
        "@vue/compiler-dom": "3.3.4",
        "@vue/shared": "3.3.4"
      }
    },
    "node_modules/@vue/devtools-api": {
      "version": "6.5.1",
      "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz",
      "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA=="
    },
    "node_modules/@vue/reactivity": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
      "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
      "dependencies": {
        "@vue/shared": "3.3.4"
      }
    },
    "node_modules/@vue/reactivity-transform": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
      "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
      "dependencies": {
        "@babel/parser": "^7.20.15",
        "@vue/compiler-core": "3.3.4",
        "@vue/shared": "3.3.4",
        "estree-walker": "^2.0.2",
        "magic-string": "^0.30.0"
      }
    },
    "node_modules/@vue/runtime-core": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
      "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
      "dependencies": {
        "@vue/reactivity": "3.3.4",
        "@vue/shared": "3.3.4"
      }
    },
    "node_modules/@vue/runtime-dom": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
      "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
      "dependencies": {
        "@vue/runtime-core": "3.3.4",
        "@vue/shared": "3.3.4",
        "csstype": "^3.1.1"
      }
    },
    "node_modules/@vue/server-renderer": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
      "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
      "dependencies": {
        "@vue/compiler-ssr": "3.3.4",
        "@vue/shared": "3.3.4"
      },
      "peerDependencies": {
        "vue": "3.3.4"
      }
    },
    "node_modules/@vue/shared": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
      "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
    },
    "node_modules/@vueuse/core": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz",
      "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
      "dependencies": {
        "@types/web-bluetooth": "^0.0.16",
        "@vueuse/metadata": "9.13.0",
        "@vueuse/shared": "9.13.0",
        "vue-demi": "*"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/@vueuse/core/node_modules/vue-demi": {
      "version": "0.14.6",
      "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
      "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
      "hasInstallScript": true,
      "bin": {
        "vue-demi-fix": "bin/vue-demi-fix.js",
        "vue-demi-switch": "bin/vue-demi-switch.js"
      },
      "engines": {
        "node": ">=12"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      },
      "peerDependencies": {
        "@vue/composition-api": "^1.0.0-rc.1",
        "vue": "^3.0.0-0 || ^2.6.0"
      },
      "peerDependenciesMeta": {
        "@vue/composition-api": {
          "optional": true
        }
      }
    },
    "node_modules/@vueuse/metadata": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz",
      "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==",
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/@vueuse/shared": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz",
      "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
      "dependencies": {
        "vue-demi": "*"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/@vueuse/shared/node_modules/vue-demi": {
      "version": "0.14.6",
      "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
      "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
      "hasInstallScript": true,
      "bin": {
        "vue-demi-fix": "bin/vue-demi-fix.js",
        "vue-demi-switch": "bin/vue-demi-switch.js"
      },
      "engines": {
        "node": ">=12"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      },
      "peerDependencies": {
        "@vue/composition-api": "^1.0.0-rc.1",
        "vue": "^3.0.0-0 || ^2.6.0"
      },
      "peerDependenciesMeta": {
        "@vue/composition-api": {
          "optional": true
        }
      }
    },
    "node_modules/acorn": {
      "version": "8.12.0",
      "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.0.tgz",
      "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==",
      "bin": {
        "acorn": "bin/acorn"
      },
      "engines": {
        "node": ">=0.4.0"
      }
    },
    "node_modules/adler-32": {
      "version": "1.3.1",
      "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
      "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/ansi-regex": {
      "version": "5.0.1",
      "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/ansi-styles": {
      "version": "4.3.0",
      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
      "dependencies": {
        "color-convert": "^2.0.1"
      },
      "engines": {
        "node": ">=8"
      },
      "funding": {
        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
      }
    },
    "node_modules/anymatch": {
      "version": "3.1.3",
      "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
      "dependencies": {
        "normalize-path": "^3.0.0",
        "picomatch": "^2.0.4"
      },
      "engines": {
        "node": ">= 8"
      }
    },
    "node_modules/ast-kit": {
      "version": "0.11.2",
      "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-0.11.2.tgz",
      "integrity": "sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==",
      "dependencies": {
        "@babel/parser": "^7.22.14",
        "@rollup/pluginutils": "^5.0.4",
        "pathe": "^1.1.1"
      },
      "engines": {
        "node": ">=16.14.0"
      }
    },
    "node_modules/async-validator": {
      "version": "4.2.5",
      "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
      "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
    },
    "node_modules/asynckit": {
      "version": "0.4.0",
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
    },
    "node_modules/axios": {
      "version": "1.6.8",
      "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.8.tgz",
      "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
      "dependencies": {
        "follow-redirects": "^1.15.6",
        "form-data": "^4.0.0",
        "proxy-from-env": "^1.1.0"
      }
    },
    "node_modules/balanced-match": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
      "dev": true
    },
    "node_modules/binary-extensions": {
      "version": "2.3.0",
      "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz",
      "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
      "engines": {
        "node": ">=8"
      },
      "funding": {
        "url": "https://github.com/sponsors/sindresorhus"
      }
    },
    "node_modules/brace-expansion": {
      "version": "2.0.1",
      "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
      "dev": true,
      "dependencies": {
        "balanced-match": "^1.0.0"
      }
    },
    "node_modules/braces": {
      "version": "3.0.2",
      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
      "dependencies": {
        "fill-range": "^7.0.1"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/camelcase": {
      "version": "5.3.1",
      "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
      "engines": {
        "node": ">=6"
      }
    },
    "node_modules/cfb": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
      "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
      "dependencies": {
        "adler-32": "~1.3.0",
        "crc-32": "~1.2.0"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/chart.js": {
      "version": "4.4.3",
      "resolved": "https://registry.npmmirror.com/chart.js/-/chart.js-4.4.3.tgz",
      "integrity": "sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==",
      "dependencies": {
        "@kurkle/color": "^0.3.0"
      },
      "engines": {
        "pnpm": ">=8"
      }
    },
    "node_modules/chokidar": {
      "version": "3.6.0",
      "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz",
      "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
      "dependencies": {
        "anymatch": "~3.1.2",
        "braces": "~3.0.2",
        "glob-parent": "~5.1.2",
        "is-binary-path": "~2.1.0",
        "is-glob": "~4.0.1",
        "normalize-path": "~3.0.0",
        "readdirp": "~3.6.0"
      },
      "engines": {
        "node": ">= 8.10.0"
      },
      "funding": {
        "url": "https://paulmillr.com/funding/"
      },
      "optionalDependencies": {
        "fsevents": "~2.3.2"
      }
    },
    "node_modules/cliui": {
      "version": "6.0.0",
      "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz",
      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
      "dependencies": {
        "string-width": "^4.2.0",
        "strip-ansi": "^6.0.0",
        "wrap-ansi": "^6.2.0"
      }
    },
    "node_modules/codepage": {
      "version": "1.15.0",
      "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
      "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/color-convert": {
      "version": "2.0.1",
      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
      "dependencies": {
        "color-name": "~1.1.4"
      },
      "engines": {
        "node": ">=7.0.0"
      }
    },
    "node_modules/color-name": {
      "version": "1.1.4",
      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
    },
    "node_modules/combined-stream": {
      "version": "1.0.8",
      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
      "dependencies": {
        "delayed-stream": "~1.0.0"
      },
      "engines": {
        "node": ">= 0.8"
      }
    },
    "node_modules/confbox": {
      "version": "0.1.7",
      "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.7.tgz",
      "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==",
      "dev": true
    },
    "node_modules/crc-32": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
      "bin": {
        "crc32": "bin/crc32.njs"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/csstype": {
      "version": "3.1.2",
      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
      "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
    },
    "node_modules/dayjs": {
      "version": "1.11.10",
      "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/decamelize": {
      "version": "1.2.0",
      "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz",
      "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/delayed-stream": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
      "engines": {
        "node": ">=0.4.0"
      }
    },
    "node_modules/dijkstrajs": {
      "version": "1.0.3",
      "resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
      "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
    },
    "node_modules/dom-zindex": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/dom-zindex/-/dom-zindex-1.0.1.tgz",
      "integrity": "sha512-M/MERVDZ8hguvjl6MAlLWSLYLS7PzEyXaTb5gEeJ+SF+e9iUC0sdvlzqe91MMDHBoy+nqw7wKcUOrDSyvMCrRg=="
    },
    "node_modules/echarts": {
      "version": "5.5.1",
      "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz",
      "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
      "dependencies": {
        "tslib": "2.3.0",
        "zrender": "5.6.0"
      }
    },
    "node_modules/element-plus": {
      "version": "2.4.0",
      "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.0.tgz",
      "integrity": "sha512-yJEa8LXkGOOgkfkeqMMEdeX/Dc8EH9qPcRuX91dlhSXxgCKKbp9tH3QFTOG99ibZsrN/Em62nh7ddvbc7I1frw==",
      "dependencies": {
        "@ctrl/tinycolor": "^3.4.1",
        "@element-plus/icons-vue": "^2.0.6",
        "@floating-ui/dom": "^1.0.1",
        "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
        "@types/lodash": "^4.14.182",
        "@types/lodash-es": "^4.17.6",
        "@vueuse/core": "^9.1.0",
        "async-validator": "^4.2.5",
        "dayjs": "^1.11.3",
        "escape-html": "^1.0.3",
        "lodash": "^4.17.21",
        "lodash-es": "^4.17.21",
        "lodash-unified": "^1.0.2",
        "memoize-one": "^6.0.0",
        "normalize-wheel-es": "^1.2.0"
      },
      "peerDependencies": {
        "vue": "^3.2.0"
      }
    },
    "node_modules/emoji-regex": {
      "version": "8.0.0",
      "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
    },
    "node_modules/esbuild": {
      "version": "0.18.20",
      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
      "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
      "dev": true,
      "hasInstallScript": true,
      "bin": {
        "esbuild": "bin/esbuild"
      },
      "engines": {
        "node": ">=12"
      },
      "optionalDependencies": {
        "@esbuild/android-arm": "0.18.20",
        "@esbuild/android-arm64": "0.18.20",
        "@esbuild/android-x64": "0.18.20",
        "@esbuild/darwin-arm64": "0.18.20",
        "@esbuild/darwin-x64": "0.18.20",
        "@esbuild/freebsd-arm64": "0.18.20",
        "@esbuild/freebsd-x64": "0.18.20",
        "@esbuild/linux-arm": "0.18.20",
        "@esbuild/linux-arm64": "0.18.20",
        "@esbuild/linux-ia32": "0.18.20",
        "@esbuild/linux-loong64": "0.18.20",
        "@esbuild/linux-mips64el": "0.18.20",
        "@esbuild/linux-ppc64": "0.18.20",
        "@esbuild/linux-riscv64": "0.18.20",
        "@esbuild/linux-s390x": "0.18.20",
        "@esbuild/linux-x64": "0.18.20",
        "@esbuild/netbsd-x64": "0.18.20",
        "@esbuild/openbsd-x64": "0.18.20",
        "@esbuild/sunos-x64": "0.18.20",
        "@esbuild/win32-arm64": "0.18.20",
        "@esbuild/win32-ia32": "0.18.20",
        "@esbuild/win32-x64": "0.18.20"
      }
    },
    "node_modules/escape-html": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
    },
    "node_modules/escape-string-regexp": {
      "version": "5.0.0",
      "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
      "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
      "dev": true,
      "engines": {
        "node": ">=12"
      },
      "funding": {
        "url": "https://github.com/sponsors/sindresorhus"
      }
    },
    "node_modules/estree-walker": {
      "version": "2.0.2",
      "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/fast-glob": {
      "version": "3.3.2",
      "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz",
      "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
      "dev": true,
      "dependencies": {
        "@nodelib/fs.stat": "^2.0.2",
        "@nodelib/fs.walk": "^1.2.3",
        "glob-parent": "^5.1.2",
        "merge2": "^1.3.0",
        "micromatch": "^4.0.4"
      },
      "engines": {
        "node": ">=8.6.0"
      }
    },
    "node_modules/fastq": {
      "version": "1.17.1",
      "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz",
      "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
      "dev": true,
      "dependencies": {
        "reusify": "^1.0.4"
      }
    },
    "node_modules/fill-range": {
      "version": "7.0.1",
      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
      "dependencies": {
        "to-regex-range": "^5.0.1"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/find-up": {
      "version": "4.1.0",
      "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz",
      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
      "dependencies": {
        "locate-path": "^5.0.0",
        "path-exists": "^4.0.0"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/follow-redirects": {
      "version": "1.15.6",
      "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz",
      "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
      "engines": {
        "node": ">=4.0"
      },
      "peerDependenciesMeta": {
        "debug": {
          "optional": true
        }
      }
    },
    "node_modules/form-data": {
      "version": "4.0.0",
      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
      "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
      "dependencies": {
        "asynckit": "^0.4.0",
        "combined-stream": "^1.0.8",
        "mime-types": "^2.1.12"
      },
      "engines": {
        "node": ">= 6"
      }
    },
    "node_modules/frac": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
      "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/get-caller-file": {
      "version": "2.0.5",
      "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
      "engines": {
        "node": "6.* || 8.* || >= 10.*"
      }
    },
    "node_modules/glob-parent": {
      "version": "5.1.2",
      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
      "dependencies": {
        "is-glob": "^4.0.1"
      },
      "engines": {
        "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.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
      "dependencies": {
        "binary-extensions": "^2.0.0"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/is-extglob": {
      "version": "2.1.1",
      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/is-fullwidth-code-point": {
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/is-glob": {
      "version": "4.0.3",
      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
      "dependencies": {
        "is-extglob": "^2.1.1"
      },
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/is-number": {
      "version": "7.0.0",
      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
      "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/js-tokens": {
      "version": "9.0.0",
      "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.0.tgz",
      "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==",
      "dev": true
    },
    "node_modules/local-pkg": {
      "version": "0.4.3",
      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
      "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
      "engines": {
        "node": ">=14"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/locate-path": {
      "version": "5.0.0",
      "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz",
      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
      "dependencies": {
        "p-locate": "^4.1.0"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/lodash": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
    },
    "node_modules/lodash-es": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
    },
    "node_modules/lodash-unified": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz",
      "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
      "peerDependencies": {
        "@types/lodash-es": "*",
        "lodash": "*",
        "lodash-es": "*"
      }
    },
    "node_modules/magic-string": {
      "version": "0.30.10",
      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.10.tgz",
      "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
      "dependencies": {
        "@jridgewell/sourcemap-codec": "^1.4.15"
      }
    },
    "node_modules/magic-string-ast": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-0.3.0.tgz",
      "integrity": "sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==",
      "dependencies": {
        "magic-string": "^0.30.2"
      },
      "engines": {
        "node": ">=16.14.0"
      }
    },
    "node_modules/memoize-one": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
      "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
    },
    "node_modules/merge2": {
      "version": "1.4.1",
      "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz",
      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
      "dev": true,
      "engines": {
        "node": ">= 8"
      }
    },
    "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",
      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
      "engines": {
        "node": ">= 0.6"
      }
    },
    "node_modules/mime-types": {
      "version": "2.1.35",
      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
      "dependencies": {
        "mime-db": "1.52.0"
      },
      "engines": {
        "node": ">= 0.6"
      }
    },
    "node_modules/minimatch": {
      "version": "9.0.4",
      "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.4.tgz",
      "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
      "dev": true,
      "dependencies": {
        "brace-expansion": "^2.0.1"
      },
      "engines": {
        "node": ">=16 || 14 >=14.17"
      },
      "funding": {
        "url": "https://github.com/sponsors/isaacs"
      }
    },
    "node_modules/mlly": {
      "version": "1.7.1",
      "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.7.1.tgz",
      "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==",
      "dev": true,
      "dependencies": {
        "acorn": "^8.11.3",
        "pathe": "^1.1.2",
        "pkg-types": "^1.1.1",
        "ufo": "^1.5.3"
      }
    },
    "node_modules/moment": {
      "version": "2.30.1",
      "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
      "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
      "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",
      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
      "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
      "funding": [
        {
          "type": "github",
          "url": "https://github.com/sponsors/ai"
        }
      ],
      "bin": {
        "nanoid": "bin/nanoid.cjs"
      },
      "engines": {
        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
      }
    },
    "node_modules/normalize-path": {
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/normalize-wheel-es": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
      "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
    },
    "node_modules/p-limit": {
      "version": "2.3.0",
      "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz",
      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
      "dependencies": {
        "p-try": "^2.0.0"
      },
      "engines": {
        "node": ">=6"
      },
      "funding": {
        "url": "https://github.com/sponsors/sindresorhus"
      }
    },
    "node_modules/p-locate": {
      "version": "4.1.0",
      "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz",
      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
      "dependencies": {
        "p-limit": "^2.2.0"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/p-try": {
      "version": "2.2.0",
      "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
      "engines": {
        "node": ">=6"
      }
    },
    "node_modules/path-exists": {
      "version": "4.0.0",
      "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz",
      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/pathe": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/pathe/-/pathe-1.1.2.tgz",
      "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="
    },
    "node_modules/picocolors": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
    },
    "node_modules/picomatch": {
      "version": "2.3.1",
      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
      "engines": {
        "node": ">=8.6"
      },
      "funding": {
        "url": "https://github.com/sponsors/jonschlinkert"
      }
    },
    "node_modules/pinia": {
      "version": "2.1.7",
      "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.7.tgz",
      "integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==",
      "dependencies": {
        "@vue/devtools-api": "^6.5.0",
        "vue-demi": ">=0.14.5"
      },
      "funding": {
        "url": "https://github.com/sponsors/posva"
      },
      "peerDependencies": {
        "@vue/composition-api": "^1.4.0",
        "typescript": ">=4.4.4",
        "vue": "^2.6.14 || ^3.3.0"
      },
      "peerDependenciesMeta": {
        "@vue/composition-api": {
          "optional": true
        },
        "typescript": {
          "optional": true
        }
      }
    },
    "node_modules/pinia-plugin-persistedstate": {
      "version": "3.2.0",
      "resolved": "https://registry.npmmirror.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.0.tgz",
      "integrity": "sha512-tZbNGf2vjAQcIm7alK40sE51Qu/m9oWr+rEgNm/2AWr1huFxj72CjvpQcIQzMknDBJEkQznCLAGtJTIcLKrKdw==",
      "peerDependencies": {
        "pinia": "^2.0.0"
      }
    },
    "node_modules/pinia/node_modules/vue-demi": {
      "version": "0.14.6",
      "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
      "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
      "hasInstallScript": true,
      "bin": {
        "vue-demi-fix": "bin/vue-demi-fix.js",
        "vue-demi-switch": "bin/vue-demi-switch.js"
      },
      "engines": {
        "node": ">=12"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      },
      "peerDependencies": {
        "@vue/composition-api": "^1.0.0-rc.1",
        "vue": "^3.0.0-0 || ^2.6.0"
      },
      "peerDependenciesMeta": {
        "@vue/composition-api": {
          "optional": true
        }
      }
    },
    "node_modules/pkg-types": {
      "version": "1.1.1",
      "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.1.1.tgz",
      "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==",
      "dev": true,
      "dependencies": {
        "confbox": "^0.1.7",
        "mlly": "^1.7.0",
        "pathe": "^1.1.2"
      }
    },
    "node_modules/pngjs": {
      "version": "5.0.0",
      "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz",
      "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
      "engines": {
        "node": ">=10.13.0"
      }
    },
    "node_modules/postcss": {
      "version": "8.4.31",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
      "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
      "funding": [
        {
          "type": "opencollective",
          "url": "https://opencollective.com/postcss/"
        },
        {
          "type": "tidelift",
          "url": "https://tidelift.com/funding/github/npm/postcss"
        },
        {
          "type": "github",
          "url": "https://github.com/sponsors/ai"
        }
      ],
      "dependencies": {
        "nanoid": "^3.3.6",
        "picocolors": "^1.0.0",
        "source-map-js": "^1.0.2"
      },
      "engines": {
        "node": "^10 || ^12 || >=14"
      }
    },
    "node_modules/prettier": {
      "version": "2.8.8",
      "resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz",
      "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
      "optional": true,
      "bin": {
        "prettier": "bin-prettier.js"
      },
      "engines": {
        "node": ">=10.13.0"
      },
      "funding": {
        "url": "https://github.com/prettier/prettier?sponsor=1"
      }
    },
    "node_modules/proxy-from-env": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
    },
    "node_modules/qrcode": {
      "version": "1.5.4",
      "resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.4.tgz",
      "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==",
      "dependencies": {
        "dijkstrajs": "^1.0.1",
        "pngjs": "^5.0.0",
        "yargs": "^15.3.1"
      },
      "bin": {
        "qrcode": "bin/qrcode"
      },
      "engines": {
        "node": ">=10.13.0"
      }
    },
    "node_modules/queue-microtask": {
      "version": "1.2.3",
      "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz",
      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
      "dev": true,
      "funding": [
        {
          "type": "github",
          "url": "https://github.com/sponsors/feross"
        },
        {
          "type": "patreon",
          "url": "https://www.patreon.com/feross"
        },
        {
          "type": "consulting",
          "url": "https://feross.org/support"
        }
      ]
    },
    "node_modules/readdirp": {
      "version": "3.6.0",
      "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
      "dependencies": {
        "picomatch": "^2.2.1"
      },
      "engines": {
        "node": ">=8.10.0"
      }
    },
    "node_modules/require-directory": {
      "version": "2.1.1",
      "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz",
      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/require-main-filename": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz",
      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
    },
    "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/resize-detector": {
      "version": "0.3.0",
      "resolved": "https://registry.npmmirror.com/resize-detector/-/resize-detector-0.3.0.tgz",
      "integrity": "sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ=="
    },
    "node_modules/reusify": {
      "version": "1.0.4",
      "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz",
      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
      "dev": true,
      "engines": {
        "iojs": ">=1.0.0",
        "node": ">=0.10.0"
      }
    },
    "node_modules/rollup": {
      "version": "3.29.4",
      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
      "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
      "devOptional": true,
      "bin": {
        "rollup": "dist/bin/rollup"
      },
      "engines": {
        "node": ">=14.18.0",
        "npm": ">=8.0.0"
      },
      "optionalDependencies": {
        "fsevents": "~2.3.2"
      }
    },
    "node_modules/run-parallel": {
      "version": "1.2.0",
      "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz",
      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
      "dev": true,
      "funding": [
        {
          "type": "github",
          "url": "https://github.com/sponsors/feross"
        },
        {
          "type": "patreon",
          "url": "https://www.patreon.com/feross"
        },
        {
          "type": "consulting",
          "url": "https://feross.org/support"
        }
      ],
      "dependencies": {
        "queue-microtask": "^1.2.2"
      }
    },
    "node_modules/scule": {
      "version": "1.3.0",
      "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz",
      "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==",
      "dev": true
    },
    "node_modules/set-blocking": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz",
      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
    },
    "node_modules/sortablejs": {
      "version": "1.15.1",
      "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.1.tgz",
      "integrity": "sha512-P5Cjvb0UG1ZVNiDPj/n4V+DinttXG6K8n7vM/HQf0C25K3YKQTQY6fsr/sEGsJGpQ9exmPxluHxKBc0mLKU1lQ=="
    },
    "node_modules/source-map": {
      "version": "0.6.1",
      "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/source-map-js": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/ssf": {
      "version": "0.11.2",
      "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
      "dependencies": {
        "frac": "~1.1.2"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/string-width": {
      "version": "4.2.3",
      "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
      "dependencies": {
        "emoji-regex": "^8.0.0",
        "is-fullwidth-code-point": "^3.0.0",
        "strip-ansi": "^6.0.1"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/strip-ansi": {
      "version": "6.0.1",
      "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
      "dependencies": {
        "ansi-regex": "^5.0.1"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/strip-literal": {
      "version": "2.1.0",
      "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-2.1.0.tgz",
      "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==",
      "dev": true,
      "dependencies": {
        "js-tokens": "^9.0.0"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/sweetalert2": {
      "version": "11.10.7",
      "resolved": "https://registry.npmmirror.com/sweetalert2/-/sweetalert2-11.10.7.tgz",
      "integrity": "sha512-5Jlzrmaitay6KzU+2+LhYu9q+L4v/dZ8oZyEDH14ep0C/QilCnFLHmqAyD/Lhq/lm5DiwsOs6Tr58iv8k3wyGg=="
    },
    "node_modules/to-fast-properties": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
      "engines": {
        "node": ">=4"
      }
    },
    "node_modules/to-regex-range": {
      "version": "5.0.1",
      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
      "dependencies": {
        "is-number": "^7.0.0"
      },
      "engines": {
        "node": ">=8.0"
      }
    },
    "node_modules/tslib": {
      "version": "2.3.0",
      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
      "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
    },
    "node_modules/ufo": {
      "version": "1.5.3",
      "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.5.3.tgz",
      "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==",
      "dev": true
    },
    "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/unimport": {
      "version": "3.7.2",
      "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.7.2.tgz",
      "integrity": "sha512-91mxcZTadgXyj3lFWmrGT8GyoRHWuE5fqPOjg5RVtF6vj+OfM5G6WCzXjuYtSgELE5ggB34RY4oiCSEP8I3AHw==",
      "dev": true,
      "dependencies": {
        "@rollup/pluginutils": "^5.1.0",
        "acorn": "^8.11.3",
        "escape-string-regexp": "^5.0.0",
        "estree-walker": "^3.0.3",
        "fast-glob": "^3.3.2",
        "local-pkg": "^0.5.0",
        "magic-string": "^0.30.10",
        "mlly": "^1.7.0",
        "pathe": "^1.1.2",
        "pkg-types": "^1.1.1",
        "scule": "^1.3.0",
        "strip-literal": "^2.1.0",
        "unplugin": "^1.10.1"
      }
    },
    "node_modules/unimport/node_modules/estree-walker": {
      "version": "3.0.3",
      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz",
      "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
      "dev": true,
      "dependencies": {
        "@types/estree": "^1.0.0"
      }
    },
    "node_modules/unimport/node_modules/local-pkg": {
      "version": "0.5.0",
      "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz",
      "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==",
      "dev": true,
      "dependencies": {
        "mlly": "^1.4.2",
        "pkg-types": "^1.0.3"
      },
      "engines": {
        "node": ">=14"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/unplugin": {
      "version": "1.10.1",
      "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.10.1.tgz",
      "integrity": "sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==",
      "dependencies": {
        "acorn": "^8.11.3",
        "chokidar": "^3.6.0",
        "webpack-sources": "^3.2.3",
        "webpack-virtual-modules": "^0.6.1"
      },
      "engines": {
        "node": ">=14.0.0"
      }
    },
    "node_modules/unplugin-auto-import": {
      "version": "0.17.6",
      "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.17.6.tgz",
      "integrity": "sha512-dmX0Pex5DzMzVuALkexboOZvh51fL/BD6aoPO7qHoTYGlQp0GRKsREv2KMF1lzYI9SXKQiRxAjwzbQnrFFNydQ==",
      "dev": true,
      "dependencies": {
        "@antfu/utils": "^0.7.8",
        "@rollup/pluginutils": "^5.1.0",
        "fast-glob": "^3.3.2",
        "local-pkg": "^0.5.0",
        "magic-string": "^0.30.10",
        "minimatch": "^9.0.4",
        "unimport": "^3.7.1",
        "unplugin": "^1.10.1"
      },
      "engines": {
        "node": ">=14"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      },
      "peerDependencies": {
        "@nuxt/kit": "^3.2.2",
        "@vueuse/core": "*"
      },
      "peerDependenciesMeta": {
        "@nuxt/kit": {
          "optional": true
        },
        "@vueuse/core": {
          "optional": true
        }
      }
    },
    "node_modules/unplugin-auto-import/node_modules/local-pkg": {
      "version": "0.5.0",
      "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz",
      "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==",
      "dev": true,
      "dependencies": {
        "mlly": "^1.4.2",
        "pkg-types": "^1.0.3"
      },
      "engines": {
        "node": ">=14"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/vite": {
      "version": "4.4.11",
      "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz",
      "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==",
      "dev": true,
      "dependencies": {
        "esbuild": "^0.18.10",
        "postcss": "^8.4.27",
        "rollup": "^3.27.1"
      },
      "bin": {
        "vite": "bin/vite.js"
      },
      "engines": {
        "node": "^14.18.0 || >=16.0.0"
      },
      "funding": {
        "url": "https://github.com/vitejs/vite?sponsor=1"
      },
      "optionalDependencies": {
        "fsevents": "~2.3.2"
      },
      "peerDependencies": {
        "@types/node": ">= 14",
        "less": "*",
        "lightningcss": "^1.21.0",
        "sass": "*",
        "stylus": "*",
        "sugarss": "*",
        "terser": "^5.4.0"
      },
      "peerDependenciesMeta": {
        "@types/node": {
          "optional": true
        },
        "less": {
          "optional": true
        },
        "lightningcss": {
          "optional": true
        },
        "sass": {
          "optional": true
        },
        "stylus": {
          "optional": true
        },
        "sugarss": {
          "optional": true
        },
        "terser": {
          "optional": true
        }
      }
    },
    "node_modules/vue": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
      "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
      "dependencies": {
        "@vue/compiler-dom": "3.3.4",
        "@vue/compiler-sfc": "3.3.4",
        "@vue/runtime-dom": "3.3.4",
        "@vue/server-renderer": "3.3.4",
        "@vue/shared": "3.3.4"
      }
    },
    "node_modules/vue-draggable-plus": {
      "version": "0.5.0",
      "resolved": "https://registry.npmmirror.com/vue-draggable-plus/-/vue-draggable-plus-0.5.0.tgz",
      "integrity": "sha512-A5TT5+M5JceROSjPO9aDZTsrSN1TetEs419czPlboomarSiGIBIxTp2WD7XH53EHMrbO7Qo+leRiHWV/rMlyjA==",
      "dependencies": {
        "@types/sortablejs": "^1.15.8"
      },
      "peerDependencies": {
        "@types/sortablejs": "^1.15.0"
      },
      "peerDependenciesMeta": {
        "@vue/composition-api": {
          "optional": true
        }
      }
    },
    "node_modules/vue-echarts": {
      "version": "6.7.3",
      "resolved": "https://registry.npmmirror.com/vue-echarts/-/vue-echarts-6.7.3.tgz",
      "integrity": "sha512-vXLKpALFjbPphW9IfQPOVfb1KjGZ/f8qa/FZHi9lZIWzAnQC1DgnmEK3pJgEkyo6EP7UnX6Bv/V3Ke7p+qCNXA==",
      "hasInstallScript": true,
      "dependencies": {
        "resize-detector": "^0.3.0",
        "vue-demi": "^0.13.11"
      },
      "peerDependencies": {
        "@vue/composition-api": "^1.0.5",
        "@vue/runtime-core": "^3.0.0",
        "echarts": "^5.4.1",
        "vue": "^2.6.12 || ^3.1.1"
      },
      "peerDependenciesMeta": {
        "@vue/composition-api": {
          "optional": true
        },
        "@vue/runtime-core": {
          "optional": true
        }
      }
    },
    "node_modules/vue-echarts/node_modules/vue-demi": {
      "version": "0.13.11",
      "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz",
      "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
      "hasInstallScript": true,
      "bin": {
        "vue-demi-fix": "bin/vue-demi-fix.js",
        "vue-demi-switch": "bin/vue-demi-switch.js"
      },
      "engines": {
        "node": ">=12"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      },
      "peerDependencies": {
        "@vue/composition-api": "^1.0.0-rc.1",
        "vue": "^3.0.0-0 || ^2.6.0"
      },
      "peerDependenciesMeta": {
        "@vue/composition-api": {
          "optional": true
        }
      }
    },
    "node_modules/vue-i18n": {
      "version": "9.13.1",
      "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.13.1.tgz",
      "integrity": "sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==",
      "dependencies": {
        "@intlify/core-base": "9.13.1",
        "@intlify/shared": "9.13.1",
        "@vue/devtools-api": "^6.5.0"
      },
      "engines": {
        "node": ">= 16"
      },
      "funding": {
        "url": "https://github.com/sponsors/kazupon"
      },
      "peerDependencies": {
        "vue": "^3.0.0"
      }
    },
    "node_modules/vue-print-nb": {
      "version": "1.7.5",
      "resolved": "https://registry.npmmirror.com/vue-print-nb/-/vue-print-nb-1.7.5.tgz",
      "integrity": "sha512-iNbNyUVRWz0Ha1UTiCKxMPtHLUDGgNI8e8xmD3xqm9RlXIUeX9bT7DgNAfY8vPzqyFRHqGjxLI1rycKH366ziQ==",
      "dependencies": {
        "vue": "^2.6.11"
      }
    },
    "node_modules/vue-print-nb/node_modules/@vue/compiler-sfc": {
      "version": "2.7.16",
      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz",
      "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==",
      "dependencies": {
        "@babel/parser": "^7.23.5",
        "postcss": "^8.4.14",
        "source-map": "^0.6.1"
      },
      "optionalDependencies": {
        "prettier": "^1.18.2 || ^2.0.0"
      }
    },
    "node_modules/vue-print-nb/node_modules/vue": {
      "version": "2.7.16",
      "resolved": "https://registry.npmmirror.com/vue/-/vue-2.7.16.tgz",
      "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==",
      "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.",
      "dependencies": {
        "@vue/compiler-sfc": "2.7.16",
        "csstype": "^3.1.0"
      }
    },
    "node_modules/vue-router": {
      "version": "4.2.5",
      "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz",
      "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==",
      "dependencies": {
        "@vue/devtools-api": "^6.5.0"
      },
      "funding": {
        "url": "https://github.com/sponsors/posva"
      },
      "peerDependencies": {
        "vue": "^3.2.0"
      }
    },
    "node_modules/vue3-print-nb": {
      "version": "0.1.4",
      "resolved": "https://registry.npmmirror.com/vue3-print-nb/-/vue3-print-nb-0.1.4.tgz",
      "integrity": "sha512-LExI7viEzplR6ZKQ2b+V4U0cwGYbVD4fut/XHvk3UPGlT5CcvIGs6VlwGp107aKgk6P8Pgx4rco3Rehv2lti3A==",
      "dependencies": {
        "vue": "^3.0.5"
      }
    },
    "node_modules/vxe-table": {
      "version": "4.5.15",
      "resolved": "https://registry.npmjs.org/vxe-table/-/vxe-table-4.5.15.tgz",
      "integrity": "sha512-1QuM27wjTZConQX55u2YbyIA69u9/ny83x1cqyrmkoK622GKrY324wuOO/nsjfnbxXV5C+IDzL/MfdrvKQbznQ==",
      "dependencies": {
        "dom-zindex": "^1.0.1",
        "xe-utils": "^3.5.14"
      },
      "peerDependencies": {
        "vue": "^3.2.28",
        "xe-utils": "^3.5.0"
      }
    },
    "node_modules/webpack-sources": {
      "version": "3.2.3",
      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
      "engines": {
        "node": ">=10.13.0"
      }
    },
    "node_modules/webpack-virtual-modules": {
      "version": "0.6.2",
      "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
      "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="
    },
    "node_modules/which-module": {
      "version": "2.0.1",
      "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz",
      "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="
    },
    "node_modules/wmf": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/word": {
      "version": "0.3.0",
      "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/wrap-ansi": {
      "version": "6.2.0",
      "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
      "dependencies": {
        "ansi-styles": "^4.0.0",
        "string-width": "^4.1.0",
        "strip-ansi": "^6.0.0"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/xe-utils": {
      "version": "3.5.14",
      "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz",
      "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A=="
    },
    "node_modules/xlsx": {
      "version": "0.18.5",
      "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz",
      "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
      "dependencies": {
        "adler-32": "~1.3.0",
        "cfb": "~1.2.1",
        "codepage": "~1.15.0",
        "crc-32": "~1.2.1",
        "ssf": "~0.11.2",
        "wmf": "~1.0.1",
        "word": "~0.3.0"
      },
      "bin": {
        "xlsx": "bin/xlsx.njs"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/y18n": {
      "version": "4.0.3",
      "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz",
      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
    },
    "node_modules/yargs": {
      "version": "15.4.1",
      "resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz",
      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
      "dependencies": {
        "cliui": "^6.0.0",
        "decamelize": "^1.2.0",
        "find-up": "^4.1.0",
        "get-caller-file": "^2.0.1",
        "require-directory": "^2.1.1",
        "require-main-filename": "^2.0.0",
        "set-blocking": "^2.0.0",
        "string-width": "^4.2.0",
        "which-module": "^2.0.0",
        "y18n": "^4.0.0",
        "yargs-parser": "^18.1.2"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/yargs-parser": {
      "version": "18.1.3",
      "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz",
      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
      "dependencies": {
        "camelcase": "^5.0.0",
        "decamelize": "^1.2.0"
      },
      "engines": {
        "node": ">=6"
      }
    },
    "node_modules/zrender": {
      "version": "5.6.0",
      "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz",
      "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
      "dependencies": {
        "tslib": "2.3.0"
      }
    }
  },
  "dependencies": {
    "@antfu/utils": {
      "version": "0.7.8",
      "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.8.tgz",
      "integrity": "sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==",
      "dev": true
    },
    "@babel/helper-string-parser": {
      "version": "7.24.8",
      "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
      "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ=="
    },
    "@babel/helper-validator-identifier": {
      "version": "7.24.7",
      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
      "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w=="
    },
    "@babel/parser": {
      "version": "7.25.3",
      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.25.3.tgz",
      "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==",
      "requires": {
        "@babel/types": "^7.25.2"
      }
    },
    "@babel/types": {
      "version": "7.25.2",
      "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.25.2.tgz",
      "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==",
      "requires": {
        "@babel/helper-string-parser": "^7.24.8",
        "@babel/helper-validator-identifier": "^7.24.7",
        "to-fast-properties": "^2.0.0"
      }
    },
    "@ctrl/tinycolor": {
      "version": "3.6.1",
      "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
      "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA=="
    },
    "@element-plus/icons-vue": {
      "version": "2.3.1",
      "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
      "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
      "requires": {}
    },
    "@esbuild/win32-ia32": {
      "version": "0.18.20",
      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
      "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
      "dev": true,
      "optional": true
    },
    "@floating-ui/core": {
      "version": "1.5.0",
      "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz",
      "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==",
      "requires": {
        "@floating-ui/utils": "^0.1.3"
      }
    },
    "@floating-ui/dom": {
      "version": "1.5.3",
      "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz",
      "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==",
      "requires": {
        "@floating-ui/core": "^1.4.2",
        "@floating-ui/utils": "^0.1.3"
      }
    },
    "@floating-ui/utils": {
      "version": "0.1.6",
      "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz",
      "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A=="
    },
    "@intlify/core-base": {
      "version": "9.13.1",
      "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.13.1.tgz",
      "integrity": "sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==",
      "requires": {
        "@intlify/message-compiler": "9.13.1",
        "@intlify/shared": "9.13.1"
      }
    },
    "@intlify/message-compiler": {
      "version": "9.13.1",
      "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.13.1.tgz",
      "integrity": "sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==",
      "requires": {
        "@intlify/shared": "9.13.1",
        "source-map-js": "^1.0.2"
      }
    },
    "@intlify/shared": {
      "version": "9.13.1",
      "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.13.1.tgz",
      "integrity": "sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ=="
    },
    "@jridgewell/sourcemap-codec": {
      "version": "1.4.15",
      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
    },
    "@kurkle/color": {
      "version": "0.3.2",
      "resolved": "https://registry.npmmirror.com/@kurkle/color/-/color-0.3.2.tgz",
      "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
    },
    "@nodelib/fs.scandir": {
      "version": "2.1.5",
      "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
      "dev": true,
      "requires": {
        "@nodelib/fs.stat": "2.0.5",
        "run-parallel": "^1.1.9"
      }
    },
    "@nodelib/fs.stat": {
      "version": "2.0.5",
      "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
      "dev": true
    },
    "@nodelib/fs.walk": {
      "version": "1.2.8",
      "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
      "dev": true,
      "requires": {
        "@nodelib/fs.scandir": "2.1.5",
        "fastq": "^1.6.0"
      }
    },
    "@popperjs/core": {
      "version": "npm:@sxzz/popperjs-es@2.11.7",
      "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
      "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
    },
    "@rollup/pluginutils": {
      "version": "5.1.0",
      "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
      "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==",
      "requires": {
        "@types/estree": "^1.0.0",
        "estree-walker": "^2.0.2",
        "picomatch": "^2.3.1"
      }
    },
    "@types/estree": {
      "version": "1.0.2",
      "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",
      "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg=="
    },
    "@types/lodash-es": {
      "version": "4.17.9",
      "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.9.tgz",
      "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": {
      "version": "1.15.8",
      "resolved": "https://registry.npmmirror.com/@types/sortablejs/-/sortablejs-1.15.8.tgz",
      "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg=="
    },
    "@types/web-bluetooth": {
      "version": "0.0.16",
      "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
      "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
    },
    "@vitejs/plugin-vue": {
      "version": "4.6.2",
      "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz",
      "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==",
      "dev": true,
      "requires": {}
    },
    "@vue-macros/common": {
      "version": "1.8.0",
      "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-1.8.0.tgz",
      "integrity": "sha512-auDJJzE0z3uRe3867e0DsqcseKImktNf5ojCZgUKqiVxb2yTlwlgOVAYCgoep9oITqxkXQymSvFeKhedi8PhaA==",
      "requires": {
        "@babel/types": "^7.22.17",
        "@rollup/pluginutils": "^5.0.4",
        "@vue/compiler-sfc": "^3.3.4",
        "ast-kit": "^0.11.2",
        "local-pkg": "^0.4.3",
        "magic-string-ast": "^0.3.0"
      }
    },
    "@vue-macros/reactivity-transform": {
      "version": "0.3.23",
      "resolved": "https://registry.npmjs.org/@vue-macros/reactivity-transform/-/reactivity-transform-0.3.23.tgz",
      "integrity": "sha512-SubIg1GsNpQdIDJusrcA2FWBgwSY+4jmL0j6SJ6PU85r3rlS+uDhn6AUkqxeZRAdmJnrbGHXDyWUdygOZmWrSg==",
      "requires": {
        "@babel/parser": "^7.22.16",
        "@vue-macros/common": "1.8.0",
        "@vue/compiler-core": "^3.3.4",
        "@vue/shared": "^3.3.4",
        "magic-string": "^0.30.3",
        "unplugin": "^1.4.0"
      }
    },
    "@vue/compiler-core": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
      "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
      "requires": {
        "@babel/parser": "^7.21.3",
        "@vue/shared": "3.3.4",
        "estree-walker": "^2.0.2",
        "source-map-js": "^1.0.2"
      }
    },
    "@vue/compiler-dom": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
      "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
      "requires": {
        "@vue/compiler-core": "3.3.4",
        "@vue/shared": "3.3.4"
      }
    },
    "@vue/compiler-sfc": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
      "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
      "requires": {
        "@babel/parser": "^7.20.15",
        "@vue/compiler-core": "3.3.4",
        "@vue/compiler-dom": "3.3.4",
        "@vue/compiler-ssr": "3.3.4",
        "@vue/reactivity-transform": "3.3.4",
        "@vue/shared": "3.3.4",
        "estree-walker": "^2.0.2",
        "magic-string": "^0.30.0",
        "postcss": "^8.1.10",
        "source-map-js": "^1.0.2"
      }
    },
    "@vue/compiler-ssr": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
      "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
      "requires": {
        "@vue/compiler-dom": "3.3.4",
        "@vue/shared": "3.3.4"
      }
    },
    "@vue/devtools-api": {
      "version": "6.5.1",
      "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz",
      "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA=="
    },
    "@vue/reactivity": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
      "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
      "requires": {
        "@vue/shared": "3.3.4"
      }
    },
    "@vue/reactivity-transform": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
      "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
      "requires": {
        "@babel/parser": "^7.20.15",
        "@vue/compiler-core": "3.3.4",
        "@vue/shared": "3.3.4",
        "estree-walker": "^2.0.2",
        "magic-string": "^0.30.0"
      }
    },
    "@vue/runtime-core": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
      "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
      "requires": {
        "@vue/reactivity": "3.3.4",
        "@vue/shared": "3.3.4"
      }
    },
    "@vue/runtime-dom": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
      "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
      "requires": {
        "@vue/runtime-core": "3.3.4",
        "@vue/shared": "3.3.4",
        "csstype": "^3.1.1"
      }
    },
    "@vue/server-renderer": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
      "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
      "requires": {
        "@vue/compiler-ssr": "3.3.4",
        "@vue/shared": "3.3.4"
      }
    },
    "@vue/shared": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
      "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
    },
    "@vueuse/core": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz",
      "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
      "requires": {
        "@types/web-bluetooth": "^0.0.16",
        "@vueuse/metadata": "9.13.0",
        "@vueuse/shared": "9.13.0",
        "vue-demi": "*"
      },
      "dependencies": {
        "vue-demi": {
          "version": "0.14.6",
          "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
          "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
          "requires": {}
        }
      }
    },
    "@vueuse/metadata": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz",
      "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ=="
    },
    "@vueuse/shared": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz",
      "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
      "requires": {
        "vue-demi": "*"
      },
      "dependencies": {
        "vue-demi": {
          "version": "0.14.6",
          "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
          "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
          "requires": {}
        }
      }
    },
    "acorn": {
      "version": "8.12.0",
      "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.0.tgz",
      "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw=="
    },
    "adler-32": {
      "version": "1.3.1",
      "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
      "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A=="
    },
    "ansi-regex": {
      "version": "5.0.1",
      "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
    },
    "ansi-styles": {
      "version": "4.3.0",
      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
      "requires": {
        "color-convert": "^2.0.1"
      }
    },
    "anymatch": {
      "version": "3.1.3",
      "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
      "requires": {
        "normalize-path": "^3.0.0",
        "picomatch": "^2.0.4"
      }
    },
    "ast-kit": {
      "version": "0.11.2",
      "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-0.11.2.tgz",
      "integrity": "sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==",
      "requires": {
        "@babel/parser": "^7.22.14",
        "@rollup/pluginutils": "^5.0.4",
        "pathe": "^1.1.1"
      }
    },
    "async-validator": {
      "version": "4.2.5",
      "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
      "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
    },
    "asynckit": {
      "version": "0.4.0",
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
    },
    "axios": {
      "version": "1.6.8",
      "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.8.tgz",
      "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
      "requires": {
        "follow-redirects": "^1.15.6",
        "form-data": "^4.0.0",
        "proxy-from-env": "^1.1.0"
      }
    },
    "balanced-match": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
      "dev": true
    },
    "binary-extensions": {
      "version": "2.3.0",
      "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz",
      "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="
    },
    "brace-expansion": {
      "version": "2.0.1",
      "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
      "dev": true,
      "requires": {
        "balanced-match": "^1.0.0"
      }
    },
    "braces": {
      "version": "3.0.2",
      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
      "requires": {
        "fill-range": "^7.0.1"
      }
    },
    "camelcase": {
      "version": "5.3.1",
      "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
    },
    "cfb": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
      "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
      "requires": {
        "adler-32": "~1.3.0",
        "crc-32": "~1.2.0"
      }
    },
    "chart.js": {
      "version": "4.4.3",
      "resolved": "https://registry.npmmirror.com/chart.js/-/chart.js-4.4.3.tgz",
      "integrity": "sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==",
      "requires": {
        "@kurkle/color": "^0.3.0"
      }
    },
    "chokidar": {
      "version": "3.6.0",
      "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz",
      "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
      "requires": {
        "anymatch": "~3.1.2",
        "braces": "~3.0.2",
        "fsevents": "~2.3.2",
        "glob-parent": "~5.1.2",
        "is-binary-path": "~2.1.0",
        "is-glob": "~4.0.1",
        "normalize-path": "~3.0.0",
        "readdirp": "~3.6.0"
      }
    },
    "cliui": {
      "version": "6.0.0",
      "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz",
      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
      "requires": {
        "string-width": "^4.2.0",
        "strip-ansi": "^6.0.0",
        "wrap-ansi": "^6.2.0"
      }
    },
    "codepage": {
      "version": "1.15.0",
      "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
      "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA=="
    },
    "color-convert": {
      "version": "2.0.1",
      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
      "requires": {
        "color-name": "~1.1.4"
      }
    },
    "color-name": {
      "version": "1.1.4",
      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
    },
    "combined-stream": {
      "version": "1.0.8",
      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
      "requires": {
        "delayed-stream": "~1.0.0"
      }
    },
    "confbox": {
      "version": "0.1.7",
      "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.7.tgz",
      "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==",
      "dev": true
    },
    "crc-32": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="
    },
    "csstype": {
      "version": "3.1.2",
      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
      "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
    },
    "dayjs": {
      "version": "1.11.10",
      "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"
      }
    },
    "decamelize": {
      "version": "1.2.0",
      "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz",
      "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
    },
    "delayed-stream": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
    },
    "dijkstrajs": {
      "version": "1.0.3",
      "resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
      "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
    },
    "dom-zindex": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/dom-zindex/-/dom-zindex-1.0.1.tgz",
      "integrity": "sha512-M/MERVDZ8hguvjl6MAlLWSLYLS7PzEyXaTb5gEeJ+SF+e9iUC0sdvlzqe91MMDHBoy+nqw7wKcUOrDSyvMCrRg=="
    },
    "echarts": {
      "version": "5.5.1",
      "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz",
      "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
      "requires": {
        "tslib": "2.3.0",
        "zrender": "5.6.0"
      }
    },
    "element-plus": {
      "version": "2.4.0",
      "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.0.tgz",
      "integrity": "sha512-yJEa8LXkGOOgkfkeqMMEdeX/Dc8EH9qPcRuX91dlhSXxgCKKbp9tH3QFTOG99ibZsrN/Em62nh7ddvbc7I1frw==",
      "requires": {
        "@ctrl/tinycolor": "^3.4.1",
        "@element-plus/icons-vue": "^2.0.6",
        "@floating-ui/dom": "^1.0.1",
        "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
        "@types/lodash": "^4.14.182",
        "@types/lodash-es": "^4.17.6",
        "@vueuse/core": "^9.1.0",
        "async-validator": "^4.2.5",
        "dayjs": "^1.11.3",
        "escape-html": "^1.0.3",
        "lodash": "^4.17.21",
        "lodash-es": "^4.17.21",
        "lodash-unified": "^1.0.2",
        "memoize-one": "^6.0.0",
        "normalize-wheel-es": "^1.2.0"
      }
    },
    "emoji-regex": {
      "version": "8.0.0",
      "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
    },
    "esbuild": {
      "version": "0.18.20",
      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
      "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
      "dev": true,
      "requires": {
        "@esbuild/android-arm": "0.18.20",
        "@esbuild/android-arm64": "0.18.20",
        "@esbuild/android-x64": "0.18.20",
        "@esbuild/darwin-arm64": "0.18.20",
        "@esbuild/darwin-x64": "0.18.20",
        "@esbuild/freebsd-arm64": "0.18.20",
        "@esbuild/freebsd-x64": "0.18.20",
        "@esbuild/linux-arm": "0.18.20",
        "@esbuild/linux-arm64": "0.18.20",
        "@esbuild/linux-ia32": "0.18.20",
        "@esbuild/linux-loong64": "0.18.20",
        "@esbuild/linux-mips64el": "0.18.20",
        "@esbuild/linux-ppc64": "0.18.20",
        "@esbuild/linux-riscv64": "0.18.20",
        "@esbuild/linux-s390x": "0.18.20",
        "@esbuild/linux-x64": "0.18.20",
        "@esbuild/netbsd-x64": "0.18.20",
        "@esbuild/openbsd-x64": "0.18.20",
        "@esbuild/sunos-x64": "0.18.20",
        "@esbuild/win32-arm64": "0.18.20",
        "@esbuild/win32-ia32": "0.18.20",
        "@esbuild/win32-x64": "0.18.20"
      }
    },
    "escape-html": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
    },
    "escape-string-regexp": {
      "version": "5.0.0",
      "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
      "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
      "dev": true
    },
    "estree-walker": {
      "version": "2.0.2",
      "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
    },
    "fast-glob": {
      "version": "3.3.2",
      "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz",
      "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
      "dev": true,
      "requires": {
        "@nodelib/fs.stat": "^2.0.2",
        "@nodelib/fs.walk": "^1.2.3",
        "glob-parent": "^5.1.2",
        "merge2": "^1.3.0",
        "micromatch": "^4.0.4"
      }
    },
    "fastq": {
      "version": "1.17.1",
      "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz",
      "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
      "dev": true,
      "requires": {
        "reusify": "^1.0.4"
      }
    },
    "fill-range": {
      "version": "7.0.1",
      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
      "requires": {
        "to-regex-range": "^5.0.1"
      }
    },
    "find-up": {
      "version": "4.1.0",
      "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz",
      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
      "requires": {
        "locate-path": "^5.0.0",
        "path-exists": "^4.0.0"
      }
    },
    "follow-redirects": {
      "version": "1.15.6",
      "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz",
      "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA=="
    },
    "form-data": {
      "version": "4.0.0",
      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
      "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
      "requires": {
        "asynckit": "^0.4.0",
        "combined-stream": "^1.0.8",
        "mime-types": "^2.1.12"
      }
    },
    "frac": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
      "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA=="
    },
    "get-caller-file": {
      "version": "2.0.5",
      "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
    },
    "glob-parent": {
      "version": "5.1.2",
      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
      "requires": {
        "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.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
      "requires": {
        "binary-extensions": "^2.0.0"
      }
    },
    "is-extglob": {
      "version": "2.1.1",
      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
    },
    "is-fullwidth-code-point": {
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
    },
    "is-glob": {
      "version": "4.0.3",
      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
      "requires": {
        "is-extglob": "^2.1.1"
      }
    },
    "is-number": {
      "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
    },
    "js-tokens": {
      "version": "9.0.0",
      "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.0.tgz",
      "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==",
      "dev": true
    },
    "local-pkg": {
      "version": "0.4.3",
      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
      "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g=="
    },
    "locate-path": {
      "version": "5.0.0",
      "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz",
      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
      "requires": {
        "p-locate": "^4.1.0"
      }
    },
    "lodash": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
    },
    "lodash-es": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
    },
    "lodash-unified": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz",
      "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
      "requires": {}
    },
    "magic-string": {
      "version": "0.30.10",
      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.10.tgz",
      "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
      "requires": {
        "@jridgewell/sourcemap-codec": "^1.4.15"
      }
    },
    "magic-string-ast": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-0.3.0.tgz",
      "integrity": "sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==",
      "requires": {
        "magic-string": "^0.30.2"
      }
    },
    "memoize-one": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
      "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
    },
    "merge2": {
      "version": "1.4.1",
      "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz",
      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
      "dev": true
    },
    "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",
      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
    },
    "mime-types": {
      "version": "2.1.35",
      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
      "requires": {
        "mime-db": "1.52.0"
      }
    },
    "minimatch": {
      "version": "9.0.4",
      "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.4.tgz",
      "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
      "dev": true,
      "requires": {
        "brace-expansion": "^2.0.1"
      }
    },
    "mlly": {
      "version": "1.7.1",
      "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.7.1.tgz",
      "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==",
      "dev": true,
      "requires": {
        "acorn": "^8.11.3",
        "pathe": "^1.1.2",
        "pkg-types": "^1.1.1",
        "ufo": "^1.5.3"
      }
    },
    "moment": {
      "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",
      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
      "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
    },
    "normalize-path": {
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
    },
    "normalize-wheel-es": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
      "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
    },
    "p-limit": {
      "version": "2.3.0",
      "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz",
      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
      "requires": {
        "p-try": "^2.0.0"
      }
    },
    "p-locate": {
      "version": "4.1.0",
      "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz",
      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
      "requires": {
        "p-limit": "^2.2.0"
      }
    },
    "p-try": {
      "version": "2.2.0",
      "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
    },
    "path-exists": {
      "version": "4.0.0",
      "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz",
      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
    },
    "pathe": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/pathe/-/pathe-1.1.2.tgz",
      "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="
    },
    "picocolors": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
    },
    "picomatch": {
      "version": "2.3.1",
      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
    },
    "pinia": {
      "version": "2.1.7",
      "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.7.tgz",
      "integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==",
      "requires": {
        "@vue/devtools-api": "^6.5.0",
        "vue-demi": ">=0.14.5"
      },
      "dependencies": {
        "vue-demi": {
          "version": "0.14.6",
          "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
          "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
          "requires": {}
        }
      }
    },
    "pinia-plugin-persistedstate": {
      "version": "3.2.0",
      "resolved": "https://registry.npmmirror.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.0.tgz",
      "integrity": "sha512-tZbNGf2vjAQcIm7alK40sE51Qu/m9oWr+rEgNm/2AWr1huFxj72CjvpQcIQzMknDBJEkQznCLAGtJTIcLKrKdw==",
      "requires": {}
    },
    "pkg-types": {
      "version": "1.1.1",
      "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.1.1.tgz",
      "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==",
      "dev": true,
      "requires": {
        "confbox": "^0.1.7",
        "mlly": "^1.7.0",
        "pathe": "^1.1.2"
      }
    },
    "pngjs": {
      "version": "5.0.0",
      "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz",
      "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="
    },
    "postcss": {
      "version": "8.4.31",
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
      "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
      "requires": {
        "nanoid": "^3.3.6",
        "picocolors": "^1.0.0",
        "source-map-js": "^1.0.2"
      }
    },
    "prettier": {
      "version": "2.8.8",
      "resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz",
      "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
      "optional": true
    },
    "proxy-from-env": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
    },
    "qrcode": {
      "version": "1.5.4",
      "resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.4.tgz",
      "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==",
      "requires": {
        "dijkstrajs": "^1.0.1",
        "pngjs": "^5.0.0",
        "yargs": "^15.3.1"
      }
    },
    "queue-microtask": {
      "version": "1.2.3",
      "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz",
      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
      "dev": true
    },
    "readdirp": {
      "version": "3.6.0",
      "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
      "requires": {
        "picomatch": "^2.2.1"
      }
    },
    "require-directory": {
      "version": "2.1.1",
      "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz",
      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
    },
    "require-main-filename": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz",
      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
    },
    "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
    },
    "resize-detector": {
      "version": "0.3.0",
      "resolved": "https://registry.npmmirror.com/resize-detector/-/resize-detector-0.3.0.tgz",
      "integrity": "sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ=="
    },
    "reusify": {
      "version": "1.0.4",
      "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz",
      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
      "dev": true
    },
    "rollup": {
      "version": "3.29.4",
      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
      "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
      "devOptional": true,
      "requires": {
        "fsevents": "~2.3.2"
      }
    },
    "run-parallel": {
      "version": "1.2.0",
      "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz",
      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
      "dev": true,
      "requires": {
        "queue-microtask": "^1.2.2"
      }
    },
    "scule": {
      "version": "1.3.0",
      "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz",
      "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==",
      "dev": true
    },
    "set-blocking": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz",
      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
    },
    "sortablejs": {
      "version": "1.15.1",
      "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.1.tgz",
      "integrity": "sha512-P5Cjvb0UG1ZVNiDPj/n4V+DinttXG6K8n7vM/HQf0C25K3YKQTQY6fsr/sEGsJGpQ9exmPxluHxKBc0mLKU1lQ=="
    },
    "source-map": {
      "version": "0.6.1",
      "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
    },
    "source-map-js": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
    },
    "ssf": {
      "version": "0.11.2",
      "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
      "requires": {
        "frac": "~1.1.2"
      }
    },
    "string-width": {
      "version": "4.2.3",
      "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
      "requires": {
        "emoji-regex": "^8.0.0",
        "is-fullwidth-code-point": "^3.0.0",
        "strip-ansi": "^6.0.1"
      }
    },
    "strip-ansi": {
      "version": "6.0.1",
      "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
      "requires": {
        "ansi-regex": "^5.0.1"
      }
    },
    "strip-literal": {
      "version": "2.1.0",
      "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-2.1.0.tgz",
      "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==",
      "dev": true,
      "requires": {
        "js-tokens": "^9.0.0"
      }
    },
    "sweetalert2": {
      "version": "11.10.7",
      "resolved": "https://registry.npmmirror.com/sweetalert2/-/sweetalert2-11.10.7.tgz",
      "integrity": "sha512-5Jlzrmaitay6KzU+2+LhYu9q+L4v/dZ8oZyEDH14ep0C/QilCnFLHmqAyD/Lhq/lm5DiwsOs6Tr58iv8k3wyGg=="
    },
    "to-fast-properties": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
    },
    "to-regex-range": {
      "version": "5.0.1",
      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
      "requires": {
        "is-number": "^7.0.0"
      }
    },
    "tslib": {
      "version": "2.3.0",
      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
      "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
    },
    "ufo": {
      "version": "1.5.3",
      "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.5.3.tgz",
      "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==",
      "dev": true
    },
    "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
    },
    "unimport": {
      "version": "3.7.2",
      "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.7.2.tgz",
      "integrity": "sha512-91mxcZTadgXyj3lFWmrGT8GyoRHWuE5fqPOjg5RVtF6vj+OfM5G6WCzXjuYtSgELE5ggB34RY4oiCSEP8I3AHw==",
      "dev": true,
      "requires": {
        "@rollup/pluginutils": "^5.1.0",
        "acorn": "^8.11.3",
        "escape-string-regexp": "^5.0.0",
        "estree-walker": "^3.0.3",
        "fast-glob": "^3.3.2",
        "local-pkg": "^0.5.0",
        "magic-string": "^0.30.10",
        "mlly": "^1.7.0",
        "pathe": "^1.1.2",
        "pkg-types": "^1.1.1",
        "scule": "^1.3.0",
        "strip-literal": "^2.1.0",
        "unplugin": "^1.10.1"
      },
      "dependencies": {
        "estree-walker": {
          "version": "3.0.3",
          "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz",
          "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
          "dev": true,
          "requires": {
            "@types/estree": "^1.0.0"
          }
        },
        "local-pkg": {
          "version": "0.5.0",
          "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz",
          "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==",
          "dev": true,
          "requires": {
            "mlly": "^1.4.2",
            "pkg-types": "^1.0.3"
          }
        }
      }
    },
    "unplugin": {
      "version": "1.10.1",
      "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.10.1.tgz",
      "integrity": "sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==",
      "requires": {
        "acorn": "^8.11.3",
        "chokidar": "^3.6.0",
        "webpack-sources": "^3.2.3",
        "webpack-virtual-modules": "^0.6.1"
      }
    },
    "unplugin-auto-import": {
      "version": "0.17.6",
      "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.17.6.tgz",
      "integrity": "sha512-dmX0Pex5DzMzVuALkexboOZvh51fL/BD6aoPO7qHoTYGlQp0GRKsREv2KMF1lzYI9SXKQiRxAjwzbQnrFFNydQ==",
      "dev": true,
      "requires": {
        "@antfu/utils": "^0.7.8",
        "@rollup/pluginutils": "^5.1.0",
        "fast-glob": "^3.3.2",
        "local-pkg": "^0.5.0",
        "magic-string": "^0.30.10",
        "minimatch": "^9.0.4",
        "unimport": "^3.7.1",
        "unplugin": "^1.10.1"
      },
      "dependencies": {
        "local-pkg": {
          "version": "0.5.0",
          "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz",
          "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==",
          "dev": true,
          "requires": {
            "mlly": "^1.4.2",
            "pkg-types": "^1.0.3"
          }
        }
      }
    },
    "vite": {
      "version": "4.4.11",
      "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz",
      "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==",
      "dev": true,
      "requires": {
        "esbuild": "^0.18.10",
        "fsevents": "~2.3.2",
        "postcss": "^8.4.27",
        "rollup": "^3.27.1"
      }
    },
    "vue": {
      "version": "3.3.4",
      "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
      "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
      "requires": {
        "@vue/compiler-dom": "3.3.4",
        "@vue/compiler-sfc": "3.3.4",
        "@vue/runtime-dom": "3.3.4",
        "@vue/server-renderer": "3.3.4",
        "@vue/shared": "3.3.4"
      }
    },
    "vue-draggable-plus": {
      "version": "0.5.0",
      "resolved": "https://registry.npmmirror.com/vue-draggable-plus/-/vue-draggable-plus-0.5.0.tgz",
      "integrity": "sha512-A5TT5+M5JceROSjPO9aDZTsrSN1TetEs419czPlboomarSiGIBIxTp2WD7XH53EHMrbO7Qo+leRiHWV/rMlyjA==",
      "requires": {
        "@types/sortablejs": "^1.15.8"
      }
    },
    "vue-echarts": {
      "version": "6.7.3",
      "resolved": "https://registry.npmmirror.com/vue-echarts/-/vue-echarts-6.7.3.tgz",
      "integrity": "sha512-vXLKpALFjbPphW9IfQPOVfb1KjGZ/f8qa/FZHi9lZIWzAnQC1DgnmEK3pJgEkyo6EP7UnX6Bv/V3Ke7p+qCNXA==",
      "requires": {
        "resize-detector": "^0.3.0",
        "vue-demi": "^0.13.11"
      },
      "dependencies": {
        "vue-demi": {
          "version": "0.13.11",
          "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz",
          "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
          "requires": {}
        }
      }
    },
    "vue-i18n": {
      "version": "9.13.1",
      "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.13.1.tgz",
      "integrity": "sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==",
      "requires": {
        "@intlify/core-base": "9.13.1",
        "@intlify/shared": "9.13.1",
        "@vue/devtools-api": "^6.5.0"
      }
    },
    "vue-print-nb": {
      "version": "1.7.5",
      "resolved": "https://registry.npmmirror.com/vue-print-nb/-/vue-print-nb-1.7.5.tgz",
      "integrity": "sha512-iNbNyUVRWz0Ha1UTiCKxMPtHLUDGgNI8e8xmD3xqm9RlXIUeX9bT7DgNAfY8vPzqyFRHqGjxLI1rycKH366ziQ==",
      "requires": {
        "vue": "^2.6.11"
      },
      "dependencies": {
        "@vue/compiler-sfc": {
          "version": "2.7.16",
          "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz",
          "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==",
          "requires": {
            "@babel/parser": "^7.23.5",
            "postcss": "^8.4.14",
            "prettier": "^1.18.2 || ^2.0.0",
            "source-map": "^0.6.1"
          }
        },
        "vue": {
          "version": "2.7.16",
          "resolved": "https://registry.npmmirror.com/vue/-/vue-2.7.16.tgz",
          "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==",
          "requires": {
            "@vue/compiler-sfc": "2.7.16",
            "csstype": "^3.1.0"
          }
        }
      }
    },
    "vue-router": {
      "version": "4.2.5",
      "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz",
      "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==",
      "requires": {
        "@vue/devtools-api": "^6.5.0"
      }
    },
    "vue3-print-nb": {
      "version": "0.1.4",
      "resolved": "https://registry.npmmirror.com/vue3-print-nb/-/vue3-print-nb-0.1.4.tgz",
      "integrity": "sha512-LExI7viEzplR6ZKQ2b+V4U0cwGYbVD4fut/XHvk3UPGlT5CcvIGs6VlwGp107aKgk6P8Pgx4rco3Rehv2lti3A==",
      "requires": {
        "vue": "^3.0.5"
      }
    },
    "vxe-table": {
      "version": "4.5.15",
      "resolved": "https://registry.npmjs.org/vxe-table/-/vxe-table-4.5.15.tgz",
      "integrity": "sha512-1QuM27wjTZConQX55u2YbyIA69u9/ny83x1cqyrmkoK622GKrY324wuOO/nsjfnbxXV5C+IDzL/MfdrvKQbznQ==",
      "requires": {
        "dom-zindex": "^1.0.1",
        "xe-utils": "^3.5.14"
      }
    },
    "webpack-sources": {
      "version": "3.2.3",
      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
    },
    "webpack-virtual-modules": {
      "version": "0.6.2",
      "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
      "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="
    },
    "which-module": {
      "version": "2.0.1",
      "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz",
      "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="
    },
    "wmf": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
    },
    "word": {
      "version": "0.3.0",
      "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
    },
    "wrap-ansi": {
      "version": "6.2.0",
      "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
      "requires": {
        "ansi-styles": "^4.0.0",
        "string-width": "^4.1.0",
        "strip-ansi": "^6.0.0"
      }
    },
    "xe-utils": {
      "version": "3.5.14",
      "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz",
      "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A=="
    },
    "xlsx": {
      "version": "0.18.5",
      "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz",
      "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
      "requires": {
        "adler-32": "~1.3.0",
        "cfb": "~1.2.1",
        "codepage": "~1.15.0",
        "crc-32": "~1.2.1",
        "ssf": "~0.11.2",
        "wmf": "~1.0.1",
        "word": "~0.3.0"
      }
    },
    "y18n": {
      "version": "4.0.3",
      "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz",
      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
    },
    "yargs": {
      "version": "15.4.1",
      "resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz",
      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
      "requires": {
        "cliui": "^6.0.0",
        "decamelize": "^1.2.0",
        "find-up": "^4.1.0",
        "get-caller-file": "^2.0.1",
        "require-directory": "^2.1.1",
        "require-main-filename": "^2.0.0",
        "set-blocking": "^2.0.0",
        "string-width": "^4.2.0",
        "which-module": "^2.0.0",
        "y18n": "^4.0.0",
        "yargs-parser": "^18.1.2"
      }
    },
    "yargs-parser": {
      "version": "18.1.3",
      "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz",
      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
      "requires": {
        "camelcase": "^5.0.0",
        "decamelize": "^1.2.0"
      }
    },
    "zrender": {
      "version": "5.6.0",
      "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz",
      "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
      "requires": {
        "tslib": "2.3.0"
      }
    }
  }
}
UI-Project/package.json
New file
@@ -0,0 +1,41 @@
{
  "name": "northglass-mes",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "@element-plus/icons-vue": "^2.3.1",
    "@vue-macros/reactivity-transform": "^0.3.23",
    "axios": "^1.6.8",
    "chart.js": "^4.4.3",
    "echarts": "^5.5.1",
    "element-plus": "^2.4.0",
    "moment": "^2.30.1",
    "pinia": "^2.1.6",
    "pinia-plugin-persistedstate": "^3.2.0",
    "qrcode": "^1.5.4",
    "sortablejs": "^1.15.1",
    "sweetalert2": "^11.10.7",
    "vue": "^3.3.4",
    "vue-draggable-plus": "^0.5.0",
    "vue-echarts": "^6.7.3",
    "vue-i18n": "^9.10.1",
    "vue-print-nb": "^1.7.5",
    "vue-router": "^4.2.4",
    "vue3-print-nb": "^0.1.4",
    "vxe-table": "^4.5.15",
    "xe-utils": "^3.5.14",
    "xlsx": "^0.18.5"
  },
  "devDependencies": {
    "@types/sortablejs": "^1.15.7",
    "@vitejs/plugin-vue": "^4.6.2",
    "http-proxy-middleware": "^3.0.0",
    "unplugin-auto-import": "^0.17.6",
    "vite": "^4.4.9"
  }
}
UI-Project/public/favicon.ico
UI-Project/public/vuefavicon.ico
UI-Project/src/App.vue
New file
@@ -0,0 +1,14 @@
<template>
  <router-view></router-view>
</template>
<script setup>
import {ref} from 'vue'
import { RouterView } from 'vue-router'
</script>
<style scoped>
</style>
UI-Project/src/assets/1.png
UI-Project/src/assets/11.png
UI-Project/src/assets/2.png
UI-Project/src/assets/3.png
UI-Project/src/assets/88.png
UI-Project/src/assets/9.png
UI-Project/src/assets/aaa.png
UI-Project/src/assets/background.jpg
UI-Project/src/assets/base.css
New file
@@ -0,0 +1,119 @@
/* color palette from <https://github.com/vuejs/theme> */
:root {
  --vt-c-white: #ffffff;
  --vt-c-white-soft: #f8f8f8;
  --vt-c-white-mute: #f2f2f2;
  --vt-c-black: #181818;
  --vt-c-black-soft: #222222;
  --vt-c-black-mute: #282828;
  --vt-c-indigo: #2c3e50;
  --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
  --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
  --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
  --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
  --vt-c-text-light-1: var(--vt-c-indigo);
  --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
  --vt-c-text-dark-1: var(--vt-c-white);
  --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
}
/* semantic color variables for this project */
:root {
  --color-background: var(--vt-c-white);
  --color-background-soft: var(--vt-c-white-soft);
  --color-background-mute: var(--vt-c-white-mute);
  --color-border: var(--vt-c-divider-light-2);
  --color-border-hover: var(--vt-c-divider-light-1);
  --color-heading: var(--vt-c-text-light-1);
  --color-text: var(--vt-c-text-light-1);
  --section-gap: 160px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --color-background: var(--vt-c-black);
    --color-background-soft: var(--vt-c-black-soft);
    --color-background-mute: var(--vt-c-black-mute);
    --color-border: var(--vt-c-divider-dark-2);
    --color-border-hover: var(--vt-c-divider-dark-1);
    --color-heading: var(--vt-c-text-dark-1);
    --color-text: var(--vt-c-text-dark-2);
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  font-weight: normal;
}
body {
  min-height: 100vh;
  color: var(--color-text);
  background: var(--color-background);
  transition:
    color 0.5s,
    background-color 0.5s;
  line-height: 1.6;
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    'Fira Sans',
    'Droid Sans',
    'Helvetica Neue',
    sans-serif;
  font-size: 15px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/*滚动条整体部分*/
.mytable-scrollbar ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
/*滚动条的轨道*/
.mytable-scrollbar ::-webkit-scrollbar-track {
  background-color: #FFFFFF;
}
/*滚动条里面的小方块,能向上向下移动*/
.mytable-scrollbar ::-webkit-scrollbar-thumb {
  background-color: transparent;
  border-radius: 5px;
  border: 0 solid #F1F1F1;
  /*box-shadow: inset 0 0 6px rgba(0,0,0,.3);*/
}
.mytable-scrollbar ::-webkit-scrollbar-thumb:hover {
  background-color: #ffffff;
  box-shadow: inset 0 0 6px rgba(0,0,0,.3);
}
.mytable-scrollbar ::-webkit-scrollbar-thumb:active {
  background-color: white;
}
/*边角,即两个滚动条的交汇处*/
.mytable-scrollbar ::-webkit-scrollbar-corner {
  background-color: #FFFFFF;
}
.vxe-grid{
  background-color: white;
}
UI-Project/src/assets/bigcar01.png
UI-Project/src/assets/cp.png
UI-Project/src/assets/d1.png
UI-Project/src/assets/d1a.png
UI-Project/src/assets/d2.png
UI-Project/src/assets/d3.png
UI-Project/src/assets/dipan.png
UI-Project/src/assets/dlpl.png
UI-Project/src/assets/dlpl9.png
UI-Project/src/assets/dlpla.png
UI-Project/src/assets/dpxsa.png
UI-Project/src/assets/emi.png
UI-Project/src/assets/img.png
UI-Project/src/assets/logo.svg
New file
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.76 226.69"><path d="M161.096.001l-30.225 52.351L100.647.001H-.005l130.877 226.688L261.749.001z" fill="#41b883"/><path d="M161.096.001l-30.225 52.351L100.647.001H52.346l78.526 136.01L209.398.001z" fill="#34495e"/></svg>
UI-Project/src/assets/lp.png
UI-Project/src/assets/lp9.png
UI-Project/src/assets/lpa.png
UI-Project/src/assets/lpa9.png
UI-Project/src/assets/lpl.jpg
UI-Project/src/assets/lpla.jpg
UI-Project/src/assets/main.css
New file
@@ -0,0 +1,54 @@
@import './base.css';
#app {
  margin: 0 auto;
  padding: 0;
  /* background-color: #D5EAFF; */
  font-weight: normal;
  height: 100%;
  width: 100%;
  /* min-width: 1536px; */
  /* min-height: 730px; */
  /* background-image: url("../../src/assets/background.jpg"); */
}
a,
.green {
  text-decoration: none;
  color: hsla(160, 100%, 37%, 1);
  transition: 0.4s;
}
@media (hover: hover) {
  a:hover {
    background-color: hsla(160, 100%, 37%, 0.2);
  }
}
@media (min-width: 1024px) {
  body {
    display: flex;
    place-items: center;
  }
  #app {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
*{
  margin: 0;
  padding: 0;
}
.mainDiv{
  height: 100vh;
  width: 100vw;
}
html,body{
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}
UI-Project/src/assets/northGlass.ico
UI-Project/src/assets/s.png
UI-Project/src/assets/shangpian.png
UI-Project/src/assets/shangpianji.png
UI-Project/src/assets/sz.png
UI-Project/src/assets/taimian.png
UI-Project/src/assets/user.png
UI-Project/src/assets/woshihuancun.png
UI-Project/src/assets/xmjc.png
UI-Project/src/assets/xmjclzh.png
UI-Project/src/assets/ypcc.png
UI-Project/src/assets/ypccche.png
UI-Project/src/hook/index.js
UI-Project/src/lang/companyInfo.js
New file
@@ -0,0 +1,85 @@
import {defineStore} from "pinia";
export default defineStore('companyInfo', {
    state: () => ({
        companyName: '常州市吉利玻璃有限公司',
        address:'常州市天宁区郑陆镇大明南路8号',
        telephone:'022-59280088',
        fax:'022-59280066',
        widHeiLength:{//订单宽高长度
            regexp:/^(\d{1,4})$/,//正则四位整数
            //regexp:/^(0|[1-9][0-9]{0,3}([.][0-9]{1,2})?)$/,//正则0.00-9999.99
            msg:'basicData.msg.range9999Dec'
        },
        orderIdType:'month',//后端生成订单号类型,day:每天生成,month:每月生成
        deliveryIdType:'month',//后端生成发货单号类型,day:每天生成,month:每月生成
        columnName:'异形参数',
        selectOrderReviewShow:false, //订单首页加工单审核按钮是否显示
        productName:"product_abbreviation", //产品创建查重字段
        decValue:2,//订单保存面积位数
        label:2,//标签类型
        calculateType:2,//订单计算方式
        //天津
        printLabel: {
            custom: (item1) => {
                return `<div class="row3" style="text-align: center;font-weight: bolder;">
                  <label style="font-weight: bolder;font-size: 22px;margin-top: 28px;">W:${item1.width}</label>
                  &nbsp;&nbsp;&nbsp;
                  <label style="font-weight: bolder;font-size: 22px;margin-top: 28px;">H:${item1.height}</label>
                </div>`
            },
            customSemi: (item1) => {
                return `<div class="row3" style="text-align: center;font-weight: bolder;">
                  <label style="font-weight: bolder;font-size: 10px;margin-top: 28px;">W:${item1.width}</label>
                  &nbsp;&nbsp;&nbsp;
                  <label style="font-weight: bolder;font-size: 10px;margin-top: 28px;">H:${item1.height}</label>
                </div>`
            },
            labelType: '成品标签2',
            labelValue:2,
            labelType3: '成品标签3',
            labelValue3:3,
            printFlowCard: {
                patch:'正',
                lackOf:'次',
                processingNote: (itemtextarea) => {
                    return  `${itemtextarea.processing_note}`
                },
            },
            hideButton:'false',
            getSelectFlowCard:2,//打印流程卡查询状态
            className:{
                custom:{
                    printFlowCardName: () => {
                        return `printFlowCard_finished`
                    },
                    entiretyName: () => {
                        return `entirety_finished`
                    },
                    contentRowName: () => {
                        return `contentRow`
                    }
                },
                semi:{
                    printFlowCardName: () => {
                        return `printFlowCard_semi`
                    },
                    entiretyName: () => {
                        return `entirety_semi`
                    },
                    contentRowName: () => {
                        return `contentRow`
                    }
                }
            }
        }
    }),
    actions: {
        //
    }
})
UI-Project/src/lang/en.js
New file
@@ -0,0 +1,302 @@
export  default {
    "northglassMESsystem": 'Система "NorthGlass MES"' ,
      login:{
          userErr:'Введите номер счета.',
          pwErr:'Введите пароль.',
          user:'Аккаунт',
          password:'Код',
          login:'Залогин',
          loginSuccessful:'Вход в систему выполнен успешно!',
          register:'Зарегистрирова',
          namea:'Имя не может быть пустым',
          len:'Длина не должна превышать 16',
          passnull:'Пароль не может быть пустым',
          leng:'Длина пароля не должна быть меньше 6 или больше 16.',
          spwn:'Пароль подтверждения не может быть пустым',
          depass:'Два разных пароля.',
      },
      register:{
          registerSuccessful:'Регистрация успешно',
          newuserregister:'Новый реестр пользователей',
          name:'Имя:',
          inputname:'Введите имя',
          password:'Код:',
          pwErr:'Введите пароль.',
          passwordation:'Подтвердите пароль:',
          pwErration:'Пожалуйста, подтвертите пароль',
          registration:'Подтверждение о регистрации',
          false:'Отмена',
      },
      main:{
          connectErr:'Необычное подключение к серверу, попробуйте позже',
          titleFirst:"Добро пожаловать ",
          titleLast:' в систему NorthGlass MES!',
          quit:"Выход",
      },
      basicData:{
          deletemessage:'Удалить эту информацию или нет?',
          laserprinting:'Машина лазерной маркировки готова:',
          cuttingmachine:'Машина для резки готова:',
          machine:'Состояние станок загрузки в режиме онлайн:',
          machineaa:'Ручное состояние станок загрузки:',
          selectproject:"Выберите проект",
          startloading:'Начало загрузки',
          stop:'Пауза',
          yes:'подтверд',
          change:'переключа',
          projectnumber:'Номер проекта',
          glasswidth:'Ширина стекла',
          glassheight:'Высота стекла',
          coatingtypes:'Типы покрытий',
          coatingtypesa:'Типы покрытий:',
          quantity:'Количество',
          quantitya:'Количество:',
          thickness:'Толщина',
          thicknessa:'Толщина:',
          startstatus:'Статус начала операции',
          pass:'Через',
          waiting:'Ждем.',
          up:'Загрузка',
          finish:'Завершено',
          project:'инженерия',
          plselectproject:'Пожалуйста, выберите проект.',
          confirm:'подтверд',
          cancel:'Отмена',
          startfilm:'Начинать или нет?',
          whetherpause:'Пауза или нет?',
          station:'Рабочее место',
          width:'Ширина',
          widtha:'Ширина:',
          height:'Высота',
          heighta:'Высота:',
          operate:'Операция',
          add:'Добавля',
          delete:'Удал',
          addglass:'Добавить стекло',
          selectwidth:'Выбирите ширину',
          selectheight:'Выбирите высоту',
          selectcoatingtypes:'Выберите типы покрытий',
          selectthickness:'Выберите толщину',
          selectquantity:'Введите кольчество.',
          pause:'Вторая и четвертая строки должны быть выше 2700 для сохранения!',
          pausea:'Пожалуйста, убедитесь, что маркировочная и режущая машины готовы!',
          infonull:'Номер проекта не может быть пустым!',
          updatanull:'Проект не сохранились на листе загрузки!',
          glassnull:'Ошибка при обновлении стекла',
      },
      sorter:{
          gridnumber:'Ячеек сеткла',
          glassnumber:'Номер стакла',
          width:'Ширина',
          height:'Высота',
          startstatus:'Статус начала операции',
          disable:'Отключ',
          start:'Начало',
          deficiencieste:'Недостатки в отчетности',
          operate:'Операция',
          prompt:'Подсказк',
          information:'Следует ли сообщать недостающую информацию?',
          yes:'Да',
          cancel:'Отмена',
      },
      order:{
          dilapidation:'Повреждение',
          Takeaway:'Взять вручную',
      },
      searchOrder:{
        cageinformation:'Информация буфера',
        productionqueue:'Производственная очередь',
        outputglassID:'Выходное стекло ID',
        startposition:'Занять позиции',
        targetlocation:'Позиция цели',
        trips:'№ поезда',
        number:'Серийн номер',
        taskstatus:'Состояние задачи',
        filmenter:'Ожидание стеклянной вход',
        infilm:'В настоящее время',
        endtask:'Задача на конец',
        completetask:'Выполнение задания',
        intoglassid:'Входной стеклянный ID',
        line:'Линия',
        Usage:'Скорость использования',
        free:'Бесплатно (ячеек)',
        addcage:'Добавить информацию о буфере',
        glassIDa:'Стеклянный ID:',
        glassID:'Стеклянный ID',
        inglassID:'Введите стекло ID',
        pieceingrid:'Порядок расположения маленьких стеклянных пластин в клетке',
        pieceingrida:'Порядок расположения маленьких стеклянных пластин в клетке:',
        inpieceingrid:'Введите порядок расположения стеклянных листов в ячееке',
        cardnumber:'Номер карточки процесса',
        cardnumbera:'Номер карточки процесса:',
        incardnumber:'Введите номер процесса .',
        typeglass:'Тип стекла',
        typeglassa:'Тип стекла:',
        intypeglass:'Введите тип стекла',
        coatingtypes:'Типы покрытий',
        width:'Ширина',
        widtha:'Ширина:',
        inwidth:'Введите ширину',
        height:'Высота',
        heighta:'Высота:',
        inheight:'Введите высоту',
        thickness:'Толщина',
        thicknessa:'Толщина:',
        inthickness:'Введите толщину.',
        layoutID:'Чертеж ID загрузки печи для закалки',
        layoutIDa:'Чертеж ID загрузки печи для закалки:',
        inlayoutID:'Введите чертеж закалки ID',
        picturesequence:'Чертеж серийн номер загрузки печи для закалки',
        picturesequencea:'Чертеж серийн номер загрузки печи для закалки:',
        inpicturesequence:'Введите порядок чертежи закалки стекла.',
        startstatus:'Статус начала операции',
        startstatusa:'Статус начала операции:',
        instartstatus:'Введите состояние активации',
        glassgaps:'Стеклянный зазор',
        glassgapsa:'Стеклянный зазор:',
        inglassgaps:'Введите стекло зазор',
        sure:'подтверд',
        cancel:'Отмена',
        glassID:'Стеклянный ID',
        operate:'Операция',
        breakage:'Повреждение',
        delete:'Удал',
        outfilm:'Выпуск стекла',
        cagetableID:'ID буферной таблицы',
        cagenumber:'Буфер номера',
        gridnumber:'Ячеек сеткла',
        enable:'Начало',
        disable:'Отключ',
        remainingwidth:'Остаточная ширина',
        add:'Добавля',
        sheetID:'Закалка маленький стеклянный ID таблицы информации',
        processcards:'Карточка процесса',
        processcardtype:'Тип стекла карточки процесса',
        acceptshorizontal:'Умеренное принятие горизонтали',
        xcoordinates:'X-координаты',
        ycoordinates:'Y-координаты',
        rotationangle:'Угол вращения (против часовой стрелки)',
        state:'Состояние',
        takeout:'Взять',
        deletemessage:'Удалить эту информацию или нет?',
        prompt:'Подсказк',
        yes:'Да',
        accept:'Принять',
        noaccept:'Не принимать',
        filmcomplete:'Стекло готово',
        waiting:'Ждем.',
    },
    workOrder:{
        glassID:'Стеклянный ID',
        height:'Высота',
        width:'Ширина',
        thickness:'Толщина',
        coatingtypes:'Типы покрытий',
        productionsequence:'Последовательность производства',
        cardnumber:'Номер карточки процесса',
        operate:'Операция',
        messagedamaged:'Повреждено ли сообщение?',
        prompt:'Подсказк',
        yes:'Да',
        cancel:'Отмена',
        takemessage:'Следует ли удалять сообщение?',
        breakage:'Повреждение',
        takeout:'Взять',
    },
    processCard:{
        intofurnace:'В печь',
        beforefurnace:'До печки.',
        outfurnace:'Окончено стекло из печи для закалки',
    },
    reportWork:{
        lowerbit:'Станция разгрузки',
        shelfnumber:'Номер стойки регистрации',
        cardnumber:'Номер карточки процесса',
        totalquantity:'Общее количество',
        beendropped:'Количество стекла разгрузки',
        state:'Состояние',
        devicenumber:'Номер оборудования.',
        startstatus:'Статус начала операции',
        enable:'Начало',
        unenable:'Не начат',
        operate:'Операция',
        bindingshelves:'Назначенная стеллажка',
        clear:'Чисто.',
        workstation:'Станция номер',
        shelfnumber:'Номер стойки регистрации:',
        cardnumbera:'Номер карточки процесса:',
        incardnumber:'Пожалуйста, выберите номер программы',
        clearglass:'Очистить стекло с полки',
        sure:'подтверд',
        cancel:'Отмена',
        glassinformation:'Информация стекла',
        glassID:'Стеклянный ID',
        coatingtypes:'Типы покрытий',
        thickness:'Толщина',
        width:'Ширина',
        height:'Высота',
    },
    productStock:{
        addusers:'Добавьте пользователей.',
        username:'Имя пользователя.',
        usernamea:'Имя пользователя.:',
        inusername:'Введите имя пользователя',
        role:'Роль',
        rolea:'Роль:',
        inrole:'Выберите роль',
        test:'Тест',
        admin:'Администратор.',
        operate:'Операция',
        resetpassword:'Сбросить пароль',
        exit:'Редактор',
        delete:'Удал',
        prompt:'Подсказк',
        repassword:'Перезагрузка пользовательского пароля или нет?',
        yes:'Да',
        cancel:'Отмена',
        reusername:'Изменение пользователя',
        addusername:'Добавьте пользователей.',
        password:'Код:',
        sure:'подтверд',
        inpassword:'Введите пароль.',
        deusername:'Удаление пользователя или нет?',
    },
    customer:{
        addmenu:'Добавьте меню.',
        firstmenu:'Таблица меню первой степени',
        link:'Ссылк',
        linka:'Ссылк:',
        inlink:'Введите ссылку',
        sort:'Сортировк',
        sorta:'Сортировк:',
        insort:'Введите сортировку',
        operate:'Операция',
        exit:'Редактор',
        inmenu:'Введите меню',
        delete:'Удал',
        semenu:'Таблица меню второй степени',
        menu:'Меню.:',
        sure:'подтверд',
        cancel:'Отмена',
        exmene:'Изменение меню.',
        yes:'Да',
        demenu:'Удалить меню или нет?',
        prompt:'Подсказк',
    },
    delivery:{
        addrole:'Добавьте роли.',
        editrole:'Изменение роли.',
        role :'Роль',
        rolea :'Роль:',
        inrole :'Введите роли.',
        operate :'Операция',
        edit :'Редактор',
        delete :'Удал',
        sure :'подтверд',
        cancel :'Отмена',
        yes:'Да',
        derole :'Удалить персонаж или нет?',
        prompt:'Подсказк',
    },
  }
UI-Project/src/lang/index.js
New file
@@ -0,0 +1,18 @@
import { createI18n}  from 'vue-i18n'
import zh from "./zh"
import en from "./en"
let messages = {
    zh:zh,
    en: en
}
const i18n = createI18n({
    locale: localStorage.getItem('lang') || 'zh', // 设置当前语言类型
    legacy: false, // 如果要支持compositionAPI,此项必须设置为false;
    globalInjection: true, // 全局注册$t方法
    messages
})
export default i18n
Diff truncated after the above file
UI-Project/src/lang/zh.js UI-Project/src/layout/MainErpView.vue UI-Project/src/main.js UI-Project/src/router/index.js UI-Project/src/stores/counter.js UI-Project/src/stores/sd/product/productGlassType.js UI-Project/src/stores/tableData.js UI-Project/src/stores/userInfo.js UI-Project/src/utils/WebSocketService.js UI-Project/src/utils/api.js UI-Project/src/utils/constants.js UI-Project/src/utils/deepClone.js UI-Project/src/utils/request.js UI-Project/src/utils/unloadrequest.js UI-Project/src/views/HomeView.vue UI-Project/src/views/LoginView.vue UI-Project/src/views/Permissions/permissionslist.vue UI-Project/src/views/RegisterView.vue UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue UI-Project/src/views/UnLoadGlass.rar UI-Project/src/views/UnLoadGlass.zip UI-Project/src/views/User/menu.vue UI-Project/src/views/User/page.vue UI-Project/src/views/User/permissions.vue UI-Project/src/views/User/user.vue UI-Project/src/views/User/userlist.vue UI-Project/src/views/mm/purchaseOrder/Create.vue UI-Project/src/views/mm/purchaseOrder/CreateHeader.vue UI-Project/src/views/mm/purchaseOrder/Details.vue UI-Project/src/views/mm/purchaseOrder/Payment.vue UI-Project/src/views/mm/purchaseOrder/PurchaseOrder.vue UI-Project/src/views/mm/purchaseOrder/Return.vue UI-Project/src/views/mm/purchaseOrder/Select.vue UI-Project/src/views/mm/purchaseOrder/Storage.vue UI-Project/vite.config.js UI-Project/vue.config.js logs/deviceInteraction/web-error-2024-09-04.0.log logs/deviceInteraction/web-info-2024-09-04.0.log logs/deviceInteraction/web-warn-2024-09-04.0.log logs/deviceInteraction/web_debug.log logs/deviceInteraction/web_error.log logs/deviceInteraction/web_info.log logs/deviceInteraction/web_warn.log