From e208aa1ef8e861dba168e8d83ab3066fc9f1e02d Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期二, 16 四月 2024 13:30:45 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java | 76
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingMapper.java | 35
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java | 25
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/LoginUser.java | 94
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java | 20
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserService.java | 20
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java | 10
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java | 23
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java | 54
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java | 6
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java | 4
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java | 3
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 136
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/MyCorsConfig.java | 46
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java | 21
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeProject.java | 205 +
UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java | 2
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java | 16
apache-maven-3.6.3/lib/jansi-native/README.txt | 7
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java | 14
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/GlassInfo.java | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java | 2
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java | 44
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUserRole.java | 36
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java | 3
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java | 247 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/JwtUtil.java | 120
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 10
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/LoadGlassMapper.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java | 4
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java | 53
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMapper.xml | 5
UI-Project/config.js | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 18
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java | 5
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/controller/SysUserController.java | 36
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeLayoutController.java | 20
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeDetailService.java | 16
hangzhoumesParent/common/springsecurity/pom.xml | 17
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java | 89
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java | 63
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java | 20
apache-maven-3.6.3/bin/mvn.cmd | 205 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserRoleMapper.xml | 5
apache-maven-3.6.3/lib/cdi-api.license | 202 +
LoadGlassModule/target/classes/application.yml | 21
apache-maven-3.6.3/lib/guice.license | 202 +
apache-maven-3.6.3/lib/plexus-component-annotations.license | 202 +
apache-maven-3.6.3/lib/plexus-cipher.license | 202 +
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java | 8
apache-maven-3.6.3/lib/guava.license | 202 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java | 6
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java | 2
apache-maven-3.6.3/conf/settings.xml | 257 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java | 19
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java | 2
UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java | 0
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java | 1
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java | 54
hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java | 88
apache-maven-3.6.3/lib/jansi-native/freebsd64/libjansi.so | 0
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/WebUtils.java | 30
apache-maven-3.6.3/bin/m2.conf | 8
apache-maven-3.6.3/settings.xml | 279 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeLayout.java | 106
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java | 31
hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java | 0
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml | 8
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java | 13
apache-maven-3.6.3/lib/jansi-native/windows32/jansi.dll | 0
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java | 39
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java | 15
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java | 22
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleMenuServiceImpl.java | 20
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java | 4
apache-maven-3.6.3/lib/jsoup.license | 23
apache-maven-3.6.3/conf/toolchains.xml | 103
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java | 19
apache-maven-3.6.3/boot/plexus-classworlds.license | 202 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/FastJsonRedisSerializer.java | 55
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java | 16
hangzhoumesParent/common/springsecurity/src/main/resources/application.yml | 25
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java | 36
apache-maven-3.6.3/lib/commons-lang3.license | 202 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java | 23
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleMenuService.java | 16
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java | 256
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java | 6
UI-Project/src/utils/request.js | 13
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java | 20
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java | 45
apache-maven-3.6.3/bin/mvnyjp | 35
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java | 37
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java | 16
apache-maven-3.6.3/lib/jansi-native/freebsd32/libjansi.so | 0
hangzhoumesParent/common/pom.xml | 58
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java | 28
apache-maven-3.6.3/lib/javax.inject.license | 202 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/entity/SysMenu.java | 82
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMenuMapper.xml | 5
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java | 9
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/controller/SysUserRoleController.java | 20
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java | 29
UI-Project/vite.config.js | 8
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java | 7
apache-maven-3.6.3/lib/plexus-interpolation.license | 202 +
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java | 5
UI-Project/src/views/LoginView.vue | 207
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java | 4
CacheGlassModule.zip | 0
apache-maven-3.6.3/lib/plexus-utils.license | 202 +
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java | 7
apache-maven-3.6.3/lib/org.eclipse.sisu.inject.license | 210 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java | 0
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeDetailServiceImpl.java | 22
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/AuthenticationEntryPointImpl.java | 29
LoadGlassModule/src/main/resources/application.yml | 21
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java | 13
apache-maven-3.6.3/lib/commons-cli.license | 202 +
apache-maven-3.6.3/lib/jsr250-api.license | 384 ++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java | 18
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/AccessDeniedHandlerImpl.java | 30
apache-maven-3.6.3/lib/ext/README.txt | 2
hangzhoumesParent/moduleService/pom.xml | 11
UI-Project/src/views/Identify/identify.vue | 12
apache-maven-3.6.3/lib/jansi-native/osx/libjansi.jnilib | 0
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml | 18
hangzhoumesParent/common/springsecurity/src/main/resources/mapper/SysMenuMapper.xml | 15
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java | 113
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java | 31
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java | 22
apache-maven-3.6.3/NOTICE | 106
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeDetailController.java | 20
apache-maven-3.6.3/lib/commons-io.license | 202 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java | 18
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java | 57
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java | 5
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java | 22
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java | 16
apache-maven-3.6.3/conf/logging/simplelogger.properties | 32
apache-maven-3.6.3/bin/mvn | 199 +
UI-Project/src/views/Returns/returns.vue | 117
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/InterceptorConfig.java | 26
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleService.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java | 28
hangzhoumesParent/moduleService/LoadGlassModule/pom.xml | 2
apache-maven-3.6.3/lib/plexus-sec-dispatcher.license | 202 +
apache-maven-3.6.3/bin/mvnDebug | 34
apache-maven-3.6.3/lib/org.eclipse.sisu.plexus.license | 210 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleMenuController.java | 20
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java | 8
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkSequence.java | 15
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/RedisUtil.java | 220 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java | 18
UI-Project/package.json | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java | 14
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java | 16
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java | 30
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java | 68
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java | 5
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java | 56
apache-maven-3.6.3/lib/jansi-native/linux64/libjansi.so | 0
apache-maven-3.6.3/lib/jansi-native/linux32/libjansi.so | 0
apache-maven-3.6.3/bin/mvnDebug.cmd | 33
apache-maven-3.6.3/lib/jansi-native/windows64/jansi.dll | 0
apache-maven-3.6.3/lib/jcl-over-slf4j.license | 202 +
apache-maven-3.6.3/README.txt | 79
apache-maven-3.6.3/lib/jansi.license | 202 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRole.java | 50
hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml | 24
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java | 6
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java | 19
UI-Project/src/layout/MainErpView.vue | 193
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java | 23
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java | 67
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java | 59
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java | 470 ++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java | 0
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUser.java | 66
hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java | 3
apache-maven-3.6.3/lib/slf4j-api.license | 23
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserMapper.xml | 5
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java | 4
apache-maven-3.6.3/LICENSE | 327 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserRoleServiceImpl.java | 20
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserRoleService.java | 16
/dev/null | 21
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java | 1
UI-Project/package-lock.json | 36
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeDetail.java | 123
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java | 1
LoadGlassModule.zip | 0
201 files changed, 10,265 insertions(+), 933 deletions(-)
diff --git a/CacheGlassModule.zip b/CacheGlassModule.zip
new file mode 100644
index 0000000..c625ef8
--- /dev/null
+++ b/CacheGlassModule.zip
Binary files differ
diff --git a/CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java b/CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java
deleted file mode 100644
index cc29839..0000000
--- a/CacheGlassModule/src/main/java/com/mes/service/hangzhoumes/hangzhoumesService.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.mes.service.hangzhoumes;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.mes.entity.EdgStorageCageDetails;
-import com.mes.entity.GlassInfo;
-import com.mes.entity.Tempered;
-import com.mes.mapper.HangzhouMesMapper;
-import com.mes.mapper.PpMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Map;
-
-@Service
-public class HangzhoumesService {
-
- @Autowired
- private HangzhouMesMapper hangzhouMesMapper;
- //鏍规嵁缂栧彿 鏌ユ壘鐜荤拑灏忕墖淇℃伅
- public GlassInfo getUserInfo(String process_id){
- return hangzhouMesMapper.selectGlassId(process_id);
- }
-
- //鐞嗙墖缂撳瓨 绗煎唴淇℃伅
- public List<Map> SelectCageInfo(){
- return hangzhouMesMapper.selectCachInfo();
- }
-
- //纾ㄨ竟灏忕墖淇℃伅
- public List<Map> SelectEdgInfo(String line){
- return hangzhouMesMapper.selectEdgInfo(line);
- }
-
-
-}
-
diff --git a/LoadGlassModule.zip b/LoadGlassModule.zip
new file mode 100644
index 0000000..2859aa0
--- /dev/null
+++ b/LoadGlassModule.zip
Binary files differ
diff --git a/LoadGlassModule/src/main/resources/application.yml b/LoadGlassModule/src/main/resources/application.yml
index d74069d..67844c9 100644
--- a/LoadGlassModule/src/main/resources/application.yml
+++ b/LoadGlassModule/src/main/resources/application.yml
@@ -7,26 +7,11 @@
spring:
datasource:
dynamic:
- primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
+ primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
datasource:
- user_info:
- url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8
+ hangzhoumes:
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
- sd:
- url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8
- username: root
- password: beibo.123/
- driver-class-name: com.mysql.cj.jdbc.Driver
- mm:
- url: jdbc:mysql://10.153.19.150:3306/mm?serverTimezone=GMT%2b8
- username: root
- password: beibo.123/
- driver-class-name: com.mysql.cj.jdbc.Driver
- pp:
- url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
- username: root
- password: beibo.123/
- driver-class-name: com.mysql.cj.jdbc.Driver
\ No newline at end of file
diff --git a/LoadGlassModule/target/classes/application.yml b/LoadGlassModule/target/classes/application.yml
index d74069d..67844c9 100644
--- a/LoadGlassModule/target/classes/application.yml
+++ b/LoadGlassModule/target/classes/application.yml
@@ -7,26 +7,11 @@
spring:
datasource:
dynamic:
- primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
+ primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
datasource:
- user_info:
- url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8
+ hangzhoumes:
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
- sd:
- url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8
- username: root
- password: beibo.123/
- driver-class-name: com.mysql.cj.jdbc.Driver
- mm:
- url: jdbc:mysql://10.153.19.150:3306/mm?serverTimezone=GMT%2b8
- username: root
- password: beibo.123/
- driver-class-name: com.mysql.cj.jdbc.Driver
- pp:
- url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
- username: root
- password: beibo.123/
- driver-class-name: com.mysql.cj.jdbc.Driver
\ No newline at end of file
diff --git a/UI-Project/config.js b/UI-Project/config.js
index ac9f2b1..dc510d3 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,5 +1,5 @@
export default {
- serverUrl:"localhost:8080/mesModuleTools",
- serverUrl2:"localhost:8081/mesModuleTools"
+ serverUrl: "localhost:8085",
+ serverUrl2: "localhost:8085"
//serverUrl:"res.abeim.cn"
}
\ No newline at end of file
diff --git a/UI-Project/package-lock.json b/UI-Project/package-lock.json
index 282cdfa..3a65897 100644
--- a/UI-Project/package-lock.json
+++ b/UI-Project/package-lock.json
@@ -10,7 +10,7 @@
"dependencies": {
"@element-plus/icons-vue": "^2.1.0",
"@vue-macros/reactivity-transform": "^0.3.23",
- "axios": "^1.5.1",
+ "axios": "^1.6.8",
"element-plus": "^2.4.0",
"moment": "^2.30.1",
"pinia": "^2.1.6",
@@ -877,11 +877,11 @@
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz",
- "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==",
+ "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.0",
+ "follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
@@ -1103,15 +1103,9 @@
}
},
"node_modules/follow-redirects": {
- "version": "1.15.3",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
- "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
+ "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"
},
@@ -2272,11 +2266,11 @@
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"axios": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz",
- "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==",
+ "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.0",
+ "follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
@@ -2442,9 +2436,9 @@
}
},
"follow-redirects": {
- "version": "1.15.3",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
- "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q=="
+ "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",
diff --git a/UI-Project/package.json b/UI-Project/package.json
index afef130..b816c15 100644
--- a/UI-Project/package.json
+++ b/UI-Project/package.json
@@ -10,7 +10,7 @@
"dependencies": {
"@element-plus/icons-vue": "^2.1.0",
"@vue-macros/reactivity-transform": "^0.3.23",
- "axios": "^1.5.1",
+ "axios": "^1.6.8",
"element-plus": "^2.4.0",
"moment": "^2.30.1",
"pinia": "^2.1.6",
diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue
index 6c2e09c..4638722 100644
--- a/UI-Project/src/layout/MainErpView.vue
+++ b/UI-Project/src/layout/MainErpView.vue
@@ -1,66 +1,69 @@
<script setup>
-import { RouterLink,useRouter} from 'vue-router'
-import useUserInfoStore from '@/stores/userInfo'
+import {useRouter} from 'vue-router'
+import useUserInfoStore from '@/stores/userInfo'
+import userInfo from '@/stores/userInfo'
import request from "@/utils/request";
import {ElMessage} from "element-plus";
-import {onMounted, reactive, ref, watch} from "vue"
+import {ref, watch} from "vue"
import deepClone from "@/utils/deepClone"
-import userInfo from '@/stores/userInfo'
-import {Close, Grid, Histogram, MessageBox, SwitchButton} from "@element-plus/icons-vue";
-const store=userInfo()
-
+
+const store = userInfo()
+
const router = useRouter()
const userStore = useUserInfoStore()
const user = userStore.user.userName
+
// store.createWebSocket();
-function quit(){
+function quit() {
userStore.$patch({
- user:null
+ user: null
})
router.push("/login")
}
-
-
+
+
//鎻愬彇妯″潡鍒楄〃
-let menuList=$ref([])
-request.get("/menu").then((res) => {
- if(res.code==200){
- menuList= deepClone(res.data)
- }else{
+let menuList = $ref([])
+request.get('/menu/sysMenu/list').then((res) => {
+ if (res.code == 200) {
+ menuList = deepClone(res.data)
+ } else {
ElMessage.warning(res.msg)
- router.push("/login")
+ router.push('/login')
}
})
-
+
//鑾峰彇鑿滃崟鍒楄〃
-let menuItemList=$ref([])
-request.get("/menuItem").then((res) => {
- if(res.code==200){
- menuItemList= deepClone(res.data)
- }else{
- ElMessage.warning(res.msg)
- router.push("/login")
- }
-})
-
+// let menuItemList = $ref([])
+// request.get('/menuItem').then((res) => {
+// if (res.code == 200) {
+// menuItemList = deepClone(res.data)
+// } else {
+// ElMessage.warning(res.msg)
+// router.push('/login')
+// }
+// })
+
const menu = ref(null)
let indexKey = ref(null)
+
function handleOpen(key) {
- indexKey.value=key
+ indexKey.value = key
}
-watch(indexKey,(newVal,oldVal) => {
- if(oldVal !== newVal && oldVal !== null){
- menu.value.close(oldVal)
- }
+
+watch(indexKey, (newVal, oldVal) => {
+ if (oldVal !== newVal && oldVal !== null) {
+ menu.value.close(oldVal)
+ }
},
{deep:true}
)
-
+
router.beforeEach((to, from) => {
//return false
})
-
-
+
+
let openFlag = $ref(null)
//鍘熷鑿滃崟鎵撳紑
const openMenu = (menuID) => {
@@ -70,10 +73,10 @@
openFlag = menuID
}
}
-
-
+
+
</script>
-
+
<template>
<div id="all">
<el-container>
@@ -81,53 +84,53 @@
<div style="height: 100%;width: 100%;display: flex;background-color: #fff;">
<img src="../assets/northGlass.ico" alt="" style="max-width: 100%;max-height: 100%">
<h3 style="margin: 1rem ;font-weight: bold;width: 20vw;"> 娆㈣繋{{ user }}浣跨敤鍖楃幓MES绯荤粺锛�</h3>
- <span style="height: 70%;width: 78vw;margin-top: 1rem;" >
- <el-button class="sys-quit" @click="quit" round>
- <el-icon size="large"><SwitchButton size=""/></el-icon>
+ <span style="height: 70%;width: 78vw;margin-top: 1rem;">
+ <el-button class="sys-quit" @click="quit" round>
+ <el-icon size="large"><SwitchButton size=""/></el-icon>
</el-button>
</span>
</div>
</el-header>
<div id="line"></div>
- <el-container >
- <el-aside width="160px" style="height: 99%; background-color: #fff;" >
- <div class="menu" >
- <div v-for="items in menuList">
- <div class='menu_title' @click="openMenu(items.id)" >
- <!-- <span class='indicator' >鈱�</span> -->
- <!-- <span class='indicator' >鈮�</span> -->
- <!-- <img src="../assets/9.png" alt="" style="max-width: 50%;max-height: 50%;"> -->
- <span>鈽�</span>
- {{items.menuName}}
- </div>
- <ul class='enter-x-left' v-show="openFlag==items.id">
-
- <li v-for="menuItem in menuItemList"
- v-show="items.id==menuItem.menuID"
- style="margin-bottom: 2px"
- >
- <router-link
- :to="{path:menuItem.url}">
- {{ menuItem.itemName}}
- </router-link>
-
- </li>
- </ul>
+ <el-container>
+ <el-aside width="160px"
+ style="height: 99%; background-color: #fff;">
+ <div class="menu">
+ <div v-for="items in menuList">
+ <div class='menu_title'
+ @click="openMenu(items.id)">
+ <!-- <span class='indicator' >鈱�</span> -->
+ <!-- <span class='indicator' >鈮�</span> -->
+ <!-- <img src="../assets/9.png" alt="" style="max-width: 50%;max-height: 50%;"> -->
+ <span>鈽�</span>
+ {{ items.menuName }}
</div>
+ <ul class='enter-x-left'
+ v-show="openFlag==items.id">
+
+ <li v-for="menuItem in items.children"
+ style="margin-bottom:2px">
+ <router-link :to="{path:menuItem.url}">
+ {{ menuItem.menuName }}
+ </router-link>
+
+ </li>
+ </ul>
+ </div>
</div>
</el-aside>
-
+
<el-main>
<div id="main">
<router-view></router-view>
</div>
</el-main>
-
+
</el-container>
</el-container>
</div>
</template>
-
+
<style scoped>
#all{
background-color: #eee;
@@ -137,7 +140,7 @@
height: 100vh;
width: 99vw
}
-
+
*{
padding: 0;
margin: 0;
@@ -160,7 +163,7 @@
}
:deep(span){
margin-right: 0;
-
+
}
.el-collapse{
font-size: 16px;
@@ -173,9 +176,9 @@
background-color: #fff;
}
/*------------*/
-
+
/* .menu div div{
-
+
width: 138px;
height: 35px;
line-height: 35px;
@@ -197,29 +200,29 @@
/* background-color:#5CADFE; */
/* box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19); */
/* } */
-
+
.menu {
width: 138px;
height: 33px;
line-height: 25px;
-
+
color: #000000;
font-size: 16px;
padding-left: 15px;
padding-right: 2px;
-
-
-
+
+
+
}
-
+
ul {
height: auto;
margin: 1px auto;
text-align: center;
}
-
+
ul li {
-
+
height: 28px;
line-height: 30px;
/* background: rgb(128, 128, 128); */
@@ -230,26 +233,26 @@
text-align: left;
/* border-radius:8px; */
/* outline: none; */
-
+
/* background: #5CADFE; */
/* box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19); */
}
-
+
ul li:hover {
/* background:#5CADFE ; */
color: #ffffff;
}
-
+
ul li a {
text-decoration: none;
color: #000000;
font-size: 14px;
}
ul li a:hover {
-
+
color: #1087ff;
}
-
+
.item_divider {
width: 118px;
height: 0px;
@@ -267,7 +270,7 @@
font-size: 14px;
text-decoration: none;
}
-
+
.menu_title {
width: 140px;
height: 45px;
@@ -281,14 +284,14 @@
position: relative;
font-weight: bold;
overflow: hidden;
-
+
}
-
+
.menu_title:hover {
/* background: #dedede; */
color: #3b9af9;
}
-
+
.indicator {
display: block;
width: 40px;
@@ -300,9 +303,9 @@
transition: all 0.3s ease;
text-align: center;
}
-
-
-
+
+
+
/* 鍔ㄧ敾鏁堟灉 */
.enter-x-left {
z-index: 9;
@@ -330,6 +333,6 @@
transform: translateX(0);
}
}
-
-
+
+
</style>
\ No newline at end of file
diff --git a/UI-Project/src/utils/request.js b/UI-Project/src/utils/request.js
index e7abe99..2159de6 100644
--- a/UI-Project/src/utils/request.js
+++ b/UI-Project/src/utils/request.js
@@ -6,9 +6,9 @@
baseURL: `http://${config.serverUrl}`, // 娉ㄦ剰锛侊紒 杩欓噷鏄叏灞�缁熶竴鍔犱笂浜� 鍚庣鎺ュ彛鍓嶇紑 鍓嶇紑锛屽悗绔繀椤昏繘琛岃法鍩熼厤缃紒
timeout: 5000
})
-
+
//
-
+
// request 鎷︽埅鍣�
// 鍙互鑷姹傚彂閫佸墠瀵硅姹傚仛涓�浜涘鐞�
// 姣斿缁熶竴鍔爐oken锛屽璇锋眰鍙傛暟缁熶竴鍔犲瘑
@@ -22,7 +22,7 @@
}, error => {
return Promise.reject(error)
});
-
+
// response 鎷︽埅鍣�
// 鍙互鍦ㄦ帴鍙e搷搴斿悗缁熶竴澶勭悊缁撴灉
request.interceptors.response.use(
@@ -43,7 +43,6 @@
return Promise.reject(error)
}
)
-
-
-export default request
-
+
+
+export default request
\ No newline at end of file
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index 92ec074..be0e99f 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -59,6 +59,18 @@
<script>
import Swal from 'sweetalert2'
+import request from "@/utils/request";
+
+
+request.get("/TidyUpGlassModule/CurrentCutTerritory").then((res) => {
+ if (res.code == 200) {
+ console.log(res.data);
+ } else {
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ });
+
export default {
data() {
return {
diff --git a/UI-Project/src/views/LoginView.vue b/UI-Project/src/views/LoginView.vue
index c1515b9..43eea2f 100644
--- a/UI-Project/src/views/LoginView.vue
+++ b/UI-Project/src/views/LoginView.vue
@@ -1,24 +1,22 @@
<script lang="ts" setup>
-import {onMounted, onUnmounted, reactive, ref} from "vue"
-import {useRouter,useRoute } from 'vue-router'
+import {onMounted, onUnmounted, reactive, ref} from 'vue'
+import {useRoute, useRouter} from 'vue-router'
import type {FormInstance, FormRules} from 'element-plus'
-import { ElMessage } from "element-plus";
-import { Lock,Avatar } from '@element-plus/icons-vue'
+import {ElMessage} from 'element-plus'
import request from '@/utils/request'
import userInfo from '@/stores/userInfo'
-
-const store=userInfo()
-let ruleFormRef = ref<FormInstance>()
+const store = userInfo()
+let ruleFormRef = ref<FormInstance>()
const router = useRouter()
const route = useRoute()
const userForm = reactive({
- userId: '',
- pass: ''
+ userName: '',
+ password: '',
})
-if (typeof(route.query.id) != "undefined"){
+if (typeof route.query.id != 'undefined') {
userForm.userId = <string>route.query.id
}
@@ -39,8 +37,8 @@
}
const rules = reactive<FormRules<typeof userForm>>({
- userId: [{ validator: validateUser, trigger: 'blur' }],
- pass: [{ validator: validatePass, trigger: 'blur' }]
+ userId: [{validator: validateUser, trigger: 'blur'}],
+ pass: [{validator: validatePass, trigger: 'blur'}],
})
//鐧婚檰鏂规硶
@@ -48,37 +46,39 @@
if (!formEl) return
formEl.validate((valid) => {
if (valid) {
- loginLoadings.value=true
- request.post('/user/login',
- userForm).then((res) => {
- if(res['code']==200){
- store.$patch({user:res.data})
+ loginLoadings.value = true
+ request
+ .post('/userinfo/login', userForm)
+ .then((res) => {
+ if (res['code'] == 200) {
+ store.$patch({user: res.data})
+ console.log(res.data)
- router.push('/main')
- ElMessage.success(`鐧诲綍鎴愬姛`)
- } else {
- ElMessage.error(res['msg'])
- loginLoadings.value=false
- return false
- }
- }).catch(error => {
- ElMessage.error("鏈嶅姟鍣ㄨ繛鎺ュけ璐�")
- loginLoadings.value=false
- return false
- })
+ router.push('/main')
+ ElMessage.success(`鐧诲綍鎴愬姛`)
+ } else {
+ ElMessage.error(res['msg'])
+ loginLoadings.value = false
+ return false
+ }
+ })
+ .catch((error) => {
+ ElMessage.error('鏈嶅姟鍣ㄨ繛鎺ュけ璐�')
+ loginLoadings.value = false
+ return false
+ })
}
})
}
function register() {
-
router.push({
- path:'/register',
+ path: '/register',
})
}
-let loginLoadings= ref(false)
-let registerLoadings= ref(false)
+let loginLoadings = ref(false)
+let registerLoadings = ref(false)
const keyDown = (e) => {
// 鍥炶溅鍒欐墽琛岀櫥褰曟柟娉� enter閿殑ASCII鏄�13
@@ -86,82 +86,71 @@
submitForm(ruleFormRef.value)
}
}
-onMounted(()=>{
+onMounted(() => {
window.addEventListener('keydown', keyDown)
})
onUnmounted(() => {
window.removeEventListener('keydown', keyDown)
})
-
</script>
<template>
- <div class="mainDiv" >
+ <div class="mainDiv">
<div id="main-login">
<!-- <img
style="width: 100%; height: 99vh"
src="../../src/assets/background.jpg"
/> -->
<div>
- <div style="position: absolute; left: 8vw; top: 6vw; ">
- <img src="../../src/assets/3.png">
- </div>
- <div style="position: absolute; left: 15vw; top: 22vw; font-size: 55px;color: rgba(29, 33, 41, 1);">
- 鍖楃幓MES绯荤粺
- </div>
- </div>
- <div id="div-login">
- <el-form
- @submit.native.prevent
- ref="ruleFormRef"
- :model="userForm"
- status-icon
- :rules="rules"
- >
- <div id="center">
- <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">璐﹀彿</div>
- <el-form-item prop="userId">
- <el-input
- style="width: 340px;"
- v-model="userForm.userId"
- type="text"
- autocomplete="off"
- :prefix-icon="Avatar"
- placeholder="璇疯緭鍏ヨ处鍙�"
- />
- </el-form-item>
- <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">瀵嗙爜</div>
- <el-form-item prop="pass">
- <el-input
- style="width: 340px;"
- v-model="userForm.pass"
- type="password"
- autocomplete="off"
- :prefix-icon="Lock"
- show-password
- placeholder="璇疯緭鍏ュ瘑鐮�"
- />
- </el-form-item>
- <el-form-item id="submitForm">
- <el-button
- :loading="loginLoadings"
- type="primary"
- native-type="submit"
- @click="submitForm(ruleFormRef)"
- @keyup.enter.native="keyDown(e)"
- plain
- >鐧诲綍
- </el-button>
- <el-button
- :loading="registerLoadings"
- type="primary"
- @click="register"
- plain
- >娉ㄥ唽
- </el-button>
-
- </el-form-item>
+ <div style="position: absolute; left: 8vw; top: 6vw; ">
+ <img src="../../src/assets/3.png">
</div>
+ <div style="position: absolute; left: 15vw; top: 22vw; font-size: 55px;color: rgba(29, 33, 41, 1);">
+ 鍖楃幓MES绯荤粺
+ </div>
+ </div>
+ <div id="div-login">
+ <el-form @submit.native.prevent
+ ref="ruleFormRef"
+ :model="userForm"
+ status-icon
+ :rules="rules">
+ <div id="center">
+ <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">璐﹀彿</div>
+ <el-form-item prop="userId">
+ <el-input style="width: 340px;"
+ v-model="userForm.userName"
+ type="text"
+ autocomplete="off"
+ :prefix-icon="Avatar"
+ placeholder="璇疯緭鍏ヨ处鍙�"/>
+ </el-form-item>
+ <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">瀵嗙爜</div>
+ <el-form-item prop="pass">
+ <el-input style="width: 340px;"
+ v-model="userForm.password"
+ type="password"
+ autocomplete="off"
+ :prefix-icon="Lock"
+ show-password
+ placeholder="璇疯緭鍏ュ瘑鐮�"/>
+ </el-form-item>
+ <el-form-item id="submitForm">
+ <el-button :loading="loginLoadings"
+ type="primary"
+ native-type="submit"
+ @click="submitForm(ruleFormRef)"
+ @keyup.enter.native="keyDown(e)"
+ plain>鐧诲綍
+ </el-button>
+ <el-button :loading="registerLoadings"
+ type="primary"
+ @click="register"
+ plain>娉ㄥ唽
+ </el-button>
+
+ </el-form-item>
+ </div>
</el-form>
</div>
</div>
@@ -170,18 +159,19 @@
</template>
<style scoped>
-.mainDiv{
+.mainDiv {
overflow: hidden;
min-width: 718px;
- background-image: url("../../src/assets/background.jpg");
-
+ background-image: url('../../src/assets/background.jpg');
}
-#main-login{
+
+#main-login {
margin: 150px auto 0 auto;
height: 70vh;
width: 80vw;
}
-#img-div{
+
+#img-div {
width: 55%;
height: 100%;
display: flex;
@@ -189,11 +179,13 @@
align-items: center;
float: left;
}
-#img-pic{
+
+#img-pic {
max-height: 90%;
max-width: 100%;
}
-#div-login{
+
+#div-login {
margin-top: 5%;
/* margin-top: 20%; */
/* margin-left: 650px; */
@@ -203,22 +195,25 @@
height: 60%;
min-width: 318px;
border-radius: 4px;
- box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19);
+ box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0), 0 6px 5px 0 rgba(0, 0, 0, 0.19);
}
-#center{
+
+#center {
margin-top: -30px;
}
-.el-form{
+
+.el-form {
width: 60%;
margin: 20% auto auto;
}
+
#submitForm {
display: flex;
justify-content: space-evenly;
margin-top: 2rem;
}
-:deep(.el-form-item__content){
- flex: unset
+:deep(.el-form-item__content) {
+ flex: unset;
}
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index dacd22f..a8e0996 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -5,14 +5,50 @@
const router = useRouter()
import type { TableColumnCtx } from 'element-plus'
-import { ref } from 'vue'
+// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
const dialogFormVisible = ref(false)
const add = ref(false)
const adda = ref(false)
+// const value = ref('')
+import request from "@/utils/request"
-const value = ref('')
-
+import { ref, onMounted } from "vue";
+// import http from "@/http/index";
+const tableData = ref([])
+// request.post(`/LoadGlass/list`).then((res) => {
+// if (res.code == 200) {
+// console.log(res.data);
+// } else {
+// ElMessage.warning(res.msg)
+// router.push("/login")
+// }
+// });
+// request.get("/LoadGlass/list").then((res) => {
+// if (res.code == 200) {
+// console.log(res.data);
+// tableData.value = res
+// } else {
+// ElMessage.warning(res.msg)
+// router.push("/login")
+// }
+// });
+onMounted(() => {
+ request
+ .get("/LoadGlass/list")
+ .then((res: any) => {
+ tableData.value = res.data;
+ })
+ .catch((err: any) => {});
+});
+onMounted(() => {
+ request
+ .post("/LoadGlass/selectPriority")
+ .then((res: any) => {
+ tableData.value = res.data;
+ })
+ .catch((err: any) => {});
+});
interface User {
id: string
name: string
@@ -71,21 +107,21 @@
label: 'P202561456',
},
]
-const tableData: User[] = [
+// const tableData: User[] = [
- {
- id: 'P202561456',
- long: '1005',
- wide: '183.6',
- thick: '1991',
- },
- {
- id: 'P202561456',
- long: '105',
- wide: '183',
- thick: '191',
- }
-]
+// {
+// id: 'P202561456',
+// long: '1005',
+// wide: '183.6',
+// thick: '1991',
+// },
+// {
+// id: 'P202561456',
+// long: '105',
+// wide: '183',
+// thick: '191',
+// }
+// ]
const tableDataa = [
{
long: '1005',
@@ -215,19 +251,20 @@
:data="tableData"
:span-method="objectSpanMethod"
>
- <el-table-column prop="id" label="宸ョ▼鍙�" width="200" align="center"/>
- <el-table-column prop="long" label="鍘熺墖瀹�" align="center"/>
- <el-table-column prop="wide" label="鍘熺墖闀�" align="center"/>
- <el-table-column prop="thick" label="鑶滅郴" align="center"/>
- <el-table-column prop="thick" label="鏁伴噺" align="center"/>
- <el-table-column prop="wide" label="鍘氬害" align="center"/>
+ <el-table-column prop="workstationId" label="宸ョ▼鍙�" width="200" align="center"/>
+ <el-table-column prop="patternWidth" label="鍘熺墖瀹�" align="center"/>
+ <el-table-column prop="patternHeigth" label="鍘熺墖闀�" align="center"/>
+ <el-table-column prop="filmsId" label="鑶滅郴" align="center"/>
+ <el-table-column prop="number" label="鏁伴噺" align="center"/>
+ <el-table-column prop="patternThickness" label="鍘氬害" align="center"/>
<el-table-column
align="center"
label="鐘舵��"
min-width="80"
+ prop="enableState"
>
<el-tag type="success">灏辩华</el-tag>
- <!-- <el-tag type="danger">鏈氨缁�</el-tag> -->
+ <!-- <el-tag type="danger" v-if="row.enableState==2">鏈氨缁�</el-tag> -->
</el-table-column>
</el-table>
</div>
@@ -246,18 +283,25 @@
<div style="margin-left: 50px;margin-bottom: 10px;">
<el-form-item label="宸ョ▼鍙凤細" :required="true">
<el-select
- v-model="value"
- clearable
- placeholder="璇烽�夋嫨宸ョ▼"
- style="width: 300px"
- >
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
+ v-model="form.workstationId"
+ clearable
+ placeholder="璇烽�夋嫨宸ョ▼"
+ style="width: 300px"
+ >
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ <!-- <el-select clearable filterable size="mini" v-model="form.fvId"
+ style="margin-right: 50px;width: 200px" placeholder="璇烽�夋嫨鏋滆敩绉嶇被">
+ <el-option v-for="item in billall"
+ :key="item.id"
+ :label="item.fruitVagetableCate"
+ :value="item.id"></el-option>
+ </el-select> -->
</el-form-item>
</div>
<template #footer>
@@ -404,6 +448,7 @@
}
#parent{
position: relative;
+ width: 1500px;
}
#overlay{
position: absolute;
diff --git a/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue b/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
index 9a6c97a..e1edb80 100644
--- a/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
+++ b/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
@@ -60,7 +60,7 @@
CanvaDraws(id,Datas,StoveCount) {
//var StoveCount=43;//鐐夋暟
var ArrangementMode='linefeed';//鎺掑竷鏂瑰紡锛歭inefeed(鎹㈣) /Wholeline 鏁磋
- var RowMaxCount=4;//姣忚鏈�澶氭樉绀虹殑鍥炬暟
+ var RowMaxCount=3;//姣忚鏈�澶氭樉绀虹殑鍥炬暟
var StoveWidth=3000; //瀹為檯鐐夊 2850
var StoveLength=5500;//瀹為檯鐐夐暱 5000
var StoveColor='#CFC8C5';//鐐夊瓙鑳屾櫙棰滆壊
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index 04dc378..1bcac06 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -99,7 +99,7 @@
//鑾峰彇娴佺▼鍗″彿
const fetchFlowCardId = async () => {
try {
- const response = await unloadrequest.get('/api/downWorkstation/getflowCardId');
+ const response = await unloadrequest.get('/api/unLoadGlass/getflowCardId');
console.log(response)
if (response.code === 200) {
flowCardOptions.value = response.data.map(item => ({ flowcard_id: item.flowcard_id }));
@@ -113,7 +113,7 @@
//纭
const handleConfirm = async () => {
try {
- const response = await unloadrequest.post('/api/downWorkstation/updateFlowCardId', {
+ const response = await unloadrequest.post('/api/unLoadGlass/updateFlowCardId', {
workstationId: workstationId.value,
flowCardId: flowCardId.value
});
@@ -147,7 +147,7 @@
//娓呴櫎鍐呭
const handleclear = async () => {
try {
- const response = await unloadrequest.post('/api/downWorkstation/clear', {
+ const response = await unloadrequest.post('/api/unLoadGlass/clear', {
workstationId: workstationId.value,
});
@@ -180,7 +180,7 @@
const fetchTableData = async () => {
try {
// 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲
- const response = await unloadrequest.get('/api/downWorkstation/getone');
+ const response = await unloadrequest.get('/api/unLoadGlass/getone');
// 妫�鏌ュ搷搴旂姸鎬�
if (response.code === 200) {
@@ -202,7 +202,7 @@
initWebSocket();
onMounted(fetchTableData);
-//setInterval(fetchTableData, 2000)
+setInterval(fetchTableData, 2000)
const open = () => {
ElMessageBox.confirm(
diff --git a/UI-Project/vite.config.js b/UI-Project/vite.config.js
index d4d6ee2..c0255a0 100644
--- a/UI-Project/vite.config.js
+++ b/UI-Project/vite.config.js
@@ -1,6 +1,6 @@
-import { fileURLToPath, URL } from 'node:url'
+import {fileURLToPath, URL} from 'node:url'
-import { defineConfig } from 'vite'
+import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import ReactivityTransform from '@vue-macros/reactivity-transform/vite'
@@ -24,10 +24,10 @@
'/api': {
target: 'http://localhost:8080/mesModuleTools',
changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api/, '/mesModuleTools'),
+ rewrite: (path) => path.replace(/^\/api/, '/'),
},
'/api2': {
- target: 'http://localhost:8081/mesModuleTools',
+ target: 'http://localhost:8085/mesModuleTools',
changeOrigin: true,
pathRewrite: {
'^/api2': '',
diff --git a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
index beb867d..3d00318 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
@@ -1,6 +1,5 @@
package com.mes.mapper;
-import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.entity.DownGlassInfo;
@@ -16,7 +15,6 @@
@Component
@Repository
@InterceptorIgnore(tenantLine = "true")
-@DS("hangzhoumes") // 鎸囧畾浣跨敤 hangzhoumes 鏁版嵁婧�
public interface DownWorkstationMapper extends BaseMapper<DownWorkstation> {
//鏍规嵁宸ヤ綅ID鍜岃澶嘔D鏇存柊宸ヤ綅鐘舵��
@Update("UPDATE down_workstation SET work_state = #{workState} " +
diff --git a/apache-maven-3.6.3/LICENSE b/apache-maven-3.6.3/LICENSE
new file mode 100644
index 0000000..a6bd090
--- /dev/null
+++ b/apache-maven-3.6.3/LICENSE
@@ -0,0 +1,327 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+Apache Maven includes a number of components and libraries with separate
+copyright notices and license terms. Your use of those components are
+subject to the terms and conditions of the following licenses:
+
+- lib/guava-25.1-android.jar: com.google.guava:guava:bundle:25.1-android
+ Guava: Google Core Libraries for Java
+ Project URL: https://github.com/google/guava/
+ License: The Apache Software License, Version 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0.txt (lib/guava.license)
+
+
+- lib/guice-4.2.1.jar: com.google.inject:guice:jar:4.2.1
+ Google Guice - Core Library
+ Project URL: https://github.com/google/guice/
+ License: The Apache Software License, Version 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0.txt (lib/guice.license)
+
+
+- lib/commons-cli-1.4.jar: commons-cli:commons-cli:jar:1.4
+ Apache Commons CLI
+ Project URL: http://commons.apache.org/proper/commons-cli/
+ License: Apache License, Version 2.0 (ASL-2.0) https://www.apache.org/licenses/LICENSE-2.0.txt (lib/commons-cli.license)
+
+
+- lib/commons-io-2.5.jar: commons-io:commons-io:jar:2.5
+ Apache Commons IO
+ Project URL: http://commons.apache.org/proper/commons-io/
+ License: Apache License, Version 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0.txt (lib/commons-io.license)
+
+
+- lib/jsr250-api-1.0.jar: javax.annotation:jsr250-api:jar:1.0
+ JSR-250 Common Annotations for the JavaTM Platform
+ Project URL: http://jcp.org/aboutJava/communityprocess/final/jsr250/index.html
+ License: COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 (CDDL-1.0) https://glassfish.dev.java.net/public/CDDLv1.0.html (lib/jsr250-api.license)
+
+
+- lib/cdi-api-1.0.jar: javax.enterprise:cdi-api:jar:1.0
+ CDI APIs
+ Project URL: http://www.seamframework.org/Weld/cdi-api
+ License: Apache License, Version 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0 (lib/cdi-api.license)
+
+
+- lib/javax.inject-1.jar: javax.inject:javax.inject:jar:1
+ javax.inject
+ Project URL: http://code.google.com/p/atinject/
+ License: The Apache Software License, Version 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0.txt (lib/javax.inject.license)
+
+
+- lib/commons-lang3-3.8.1.jar: org.apache.commons:commons-lang3:jar:3.8.1
+ Apache Commons Lang
+ Project URL: http://commons.apache.org/proper/commons-lang/
+ License: Apache License, Version 2.0 (ASL-2.0) https://www.apache.org/licenses/LICENSE-2.0.txt (lib/commons-lang3.license)
+
+
+- boot/plexus-classworlds-2.6.0.jar: org.codehaus.plexus:plexus-classworlds:bundle:2.6.0
+ Plexus Classworlds
+ Project URL: http://codehaus-plexus.github.io/plexus-classworlds/
+ License: Apache License, Version 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0.txt (boot/plexus-classworlds.license)
+
+
+- lib/plexus-component-annotations-2.1.0.jar: org.codehaus.plexus:plexus-component-annotations:jar:2.1.0
+ Plexus :: Component Annotations
+ Project URL: http://codehaus-plexus.github.io/plexus-containers/plexus-component-annotations/
+ License: Apache License, Version 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-component-annotations.license)
+
+
+- lib/plexus-interpolation-1.25.jar: org.codehaus.plexus:plexus-interpolation:bundle:1.25
+ Plexus Interpolation API
+ Project URL: http://codehaus-plexus.github.io/plexus-interpolation/
+ License: Apache License, Version 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-interpolation.license)
+
+
+- lib/plexus-utils-3.2.1.jar: org.codehaus.plexus:plexus-utils:jar:3.2.1
+ Plexus Common Utilities
+ Project URL: http://codehaus-plexus.github.io/plexus-utils/
+ License: Apache License, Version 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0.txt (lib/plexus-utils.license)
+
+
+- lib/org.eclipse.sisu.inject-0.3.4.jar: org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.3.4
+ org.eclipse.sisu.inject
+ Project URL: https://www.eclipse.org/sisu/
+ License: Eclipse Public License, Version 1.0 (EPL-1.0) http://www.eclipse.org/legal/epl-v10.html (lib/org.eclipse.sisu.inject.license)
+
+
+- lib/org.eclipse.sisu.plexus-0.3.4.jar: org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.3.4
+ org.eclipse.sisu.plexus
+ Project URL: https://www.eclipse.org/sisu/
+ License: Eclipse Public License, Version 1.0 (EPL-1.0) http://www.eclipse.org/legal/epl-v10.html (lib/org.eclipse.sisu.plexus.license)
+
+
+- lib/jansi-1.17.1.jar: org.fusesource.jansi:jansi:jar:1.17.1
+ jansi
+ Project URL: http://fusesource.github.io/jansi/jansi
+ License: The Apache Software License, Version 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0.txt (lib/jansi.license)
+
+
+- lib/jsoup-1.12.1.jar: org.jsoup:jsoup:jar:1.12.1
+ jsoup Java HTML Parser
+ Project URL: https://jsoup.org/
+ License: The MIT License (MIT) https://jsoup.org/license (lib/jsoup.license)
+
+
+- lib/jcl-over-slf4j-1.7.29.jar: org.slf4j:jcl-over-slf4j:jar:1.7.29
+ JCL 1.2 implemented over SLF4J
+ Project URL: http://www.slf4j.org
+ License: Apache License, Version 2.0 (ASL-2.0) https://www.apache.org/licenses/LICENSE-2.0.txt (lib/jcl-over-slf4j.license)
+
+
+- lib/slf4j-api-1.7.29.jar: org.slf4j:slf4j-api:jar:1.7.29
+ SLF4J API Module
+ Project URL: http://www.slf4j.org
+ License: MIT License (MIT) http://www.opensource.org/licenses/mit-license.php (lib/slf4j-api.license)
+
+
+- lib/plexus-cipher-1.7.jar: org.sonatype.plexus:plexus-cipher:jar:1.7
+ Plexus Cipher: encryption/decryption Component
+ Project URL: http://spice.sonatype.org/plexus-cipher
+ License: Apache Public License 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0 (lib/plexus-cipher.license)
+
+
+- lib/plexus-sec-dispatcher-1.4.jar: org.sonatype.plexus:plexus-sec-dispatcher:jar:1.4
+ Plexus Security Dispatcher Component
+ Project URL: http://spice.sonatype.org/plexus-sec-dispatcher
+ License: Apache Public License 2.0 (ASL-2.0) http://www.apache.org/licenses/LICENSE-2.0 (lib/plexus-sec-dispatcher.license)
+
diff --git a/apache-maven-3.6.3/NOTICE b/apache-maven-3.6.3/NOTICE
new file mode 100644
index 0000000..c76d78a
--- /dev/null
+++ b/apache-maven-3.6.3/NOTICE
@@ -0,0 +1,106 @@
+
+Apache Maven Distribution
+Copyright 2001-2019 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
+This software bundles the following NOTICE files from third party library providers:
+
+META-INF/NOTICE in archive lib/guice-4.2.1-no_aop.jar
+Google Guice - Core Library
+Copyright 2006-2018 Google, Inc.
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+META-INF/NOTICE in archive lib/plexus-utils-3.2.1.jar
+This product includes software developed by the Indiana University
+ Extreme! Lab (http://www.extreme.indiana.edu/).
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+This product includes software developed by
+ThoughtWorks (http://www.thoughtworks.com).
+This product includes software developed by
+javolution (http://javolution.org/).
+This product includes software developed by
+Rome (https://rome.dev.java.net/).
+
+about.html in archive lib/org.eclipse.sisu.inject-0.3.4.jar
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About org.eclipse.sisu.inject</title>
+</head>
+<body lang="EN-US">
+<h2>About org.eclipse.sisu.inject</h2>
+
+<p>November 5, 2013</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+<h3>Third Party Content</h3>
+<p>The Content includes items that have been sourced from third parties as set
+out below. If you did not receive this Content directly from the Eclipse Foundation,
+the following is provided for informational purposes only, and you should look
+to the Redistributor's license for terms and conditions of use.</p>
+
+<h4>ASM 4.1</h4>
+<p>The plug-in includes software developed by the ObjectWeb consortium as part
+of the ASM project at <a href="http://asm.ow2.org/">http://asm.ow2.org/</a>.</p>
+
+<p>A subset of ASM is re-packaged within the source and binary of the plug-in (org.eclipse.sisu.space.asm.*)
+to avoid version collisions with other usage and is also available from the plug-in's github repository.</p>
+
+<p>Your use of the ASM code is subject to the terms and conditions of the ASM License
+below which is also available at <a href="http://asm.ow2.org/license.html">http://asm.ow2.org/license.html</a>.</p>
+
+<blockquote><pre>
+Copyright (c) 2000-2011 INRIA, France Telecom
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holders nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
+</pre></blockquote>
+
+</body>
+</html>
diff --git a/apache-maven-3.6.3/README.txt b/apache-maven-3.6.3/README.txt
new file mode 100644
index 0000000..3e93a84
--- /dev/null
+++ b/apache-maven-3.6.3/README.txt
@@ -0,0 +1,79 @@
+
+ Apache Maven
+
+ What is it?
+ -----------
+
+ Maven is a software project management and comprehension tool. Based on
+ the concept of a Project Object Model (POM), Maven can manage a project's
+ build, reporting and documentation from a central piece of information.
+
+ Documentation
+ -------------
+
+ The most up-to-date documentation can be found at https://maven.apache.org/.
+
+ Release Notes
+ -------------
+
+ The full list of changes can be found at https://maven.apache.org/docs/history.html.
+
+ System Requirements
+ -------------------
+
+ JDK:
+ 1.7 or above (this is to execute Maven - it still allows you to build against 1.3
+ and prior JDK's).
+ Memory:
+ No minimum requirement.
+ Disk:
+ Approximately 10MB is required for the Maven installation itself. In addition to
+ that, additional disk space will be used for your local Maven repository. The size
+ of your local repository will vary depending on usage but expect at least 500MB.
+ Operating System:
+ Windows:
+ Windows 2000 or above.
+ Unix based systems (Linux, Solaris and Mac OS X) and others:
+ No minimum requirement.
+
+ Installing Maven
+ ----------------
+
+ 1) Unpack the archive where you would like to store the binaries, e.g.:
+
+ Unix-based operating systems (Linux, Solaris and Mac OS X)
+ tar zxvf apache-maven-3.x.y.tar.gz
+ Windows
+ unzip apache-maven-3.x.y.zip
+
+ 2) A directory called "apache-maven-3.x.y" will be created.
+
+ 3) Add the bin directory to your PATH, e.g.:
+
+ Unix-based operating systems (Linux, Solaris and Mac OS X)
+ export PATH=/usr/local/apache-maven-3.x.y/bin:$PATH
+ Windows
+ set PATH="c:\program files\apache-maven-3.x.y\bin";%PATH%
+
+ 4) Make sure JAVA_HOME is set to the location of your JDK
+
+ 5) Run "mvn --version" to verify that it is correctly installed.
+
+ For complete documentation, see https://maven.apache.org/download.html#Installation
+
+ Licensing
+ ---------
+
+ Please see the file called LICENSE.
+
+ Maven URLS
+ ----------
+
+ Home Page: https://maven.apache.org/
+ Downloads: https://maven.apache.org/download.html
+ Release Notes: https://maven.apache.org/docs/history.html
+ Mailing Lists: https://maven.apache.org/mailing-lists.html
+ Source Code: https://gitbox.apache.org/repos/asf/maven.git
+ Issue Tracking: https://issues.apache.org/jira/browse/MNG
+ Wiki: https://cwiki.apache.org/confluence/display/MAVEN/
+ Available Plugins: https://maven.apache.org/plugins/
diff --git a/apache-maven-3.6.3/bin/m2.conf b/apache-maven-3.6.3/bin/m2.conf
new file mode 100644
index 0000000..2235f82
--- /dev/null
+++ b/apache-maven-3.6.3/bin/m2.conf
@@ -0,0 +1,8 @@
+main is org.apache.maven.cli.MavenCli from plexus.core
+
+set maven.conf default ${maven.home}/conf
+
+[plexus.core]
+load ${maven.conf}/logging
+optionally ${maven.home}/lib/ext/*.jar
+load ${maven.home}/lib/*.jar
diff --git a/apache-maven-3.6.3/bin/mvn b/apache-maven-3.6.3/bin/mvn
new file mode 100644
index 0000000..a554c66
--- /dev/null
+++ b/apache-maven-3.6.3/bin/mvn
@@ -0,0 +1,199 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# -----------------------------------------------------------------------------
+# Apache Maven Startup Script
+#
+# Environment Variable Prerequisites
+#
+# JAVA_HOME Must point at your Java Development Kit installation.
+# MAVEN_OPTS (Optional) Java runtime options used when Maven is executed.
+# MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files.
+# -----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+ if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+mingw=false;
+case "`uname`" in
+ CYGWIN*) cygwin=true;;
+ MINGW*) mingw=true;;
+esac
+
+## resolve links - $0 may be a link to Maven's home
+PRG="$0"
+
+# need this for relative symlinks
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG="`dirname "$PRG"`/$link"
+ fi
+done
+
+saveddir=`pwd`
+
+MAVEN_HOME=`dirname "$PRG"`/..
+
+# make it fully qualified
+MAVEN_HOME=`cd "$MAVEN_HOME" && pwd`
+
+cd "$saveddir"
+
+# For Cygwin, ensure paths are in Unix format before anything is touched
+if $cygwin ; then
+ [ -n "$MAVEN_HOME" ] &&
+ MAVEN_HOME=`cygpath --unix "$MAVEN_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For MinGW, ensure paths are in Unix format before anything is touched
+if $mingw ; then
+ [ -n "$MAVEN_HOME" ] &&
+ MAVEN_HOME=`(cd "$MAVEN_HOME"; pwd)`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`(cd "$JAVA_HOME"; pwd)`
+ # TODO classpath?
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ JAVACMD=`which java`
+else
+ JAVACMD="$JAVA_HOME/bin/java"
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "The JAVA_HOME environment variable is not defined correctly" >&2
+ echo "This environment variable is needed to run this program" >&2
+ echo "NB: JAVA_HOME should point to a JDK not a JRE" >&2
+ exit 1
+fi
+
+CLASSWORLDS_JAR=`echo "${MAVEN_HOME}"/boot/plexus-classworlds-*.jar`
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ [ -n "$MAVEN_HOME" ] &&
+ MAVEN_HOME=`cygpath --path --windows "$MAVEN_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+ [ -n "$CLASSWORLDS_JAR" ] &&
+ CLASSWORLDS_JAR=`cygpath --path --windows "$CLASSWORLDS_JAR"`
+fi
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+(
+ basedir=`find_file_argument_basedir "$@"`
+ wdir="${basedir}"
+ while [ "$wdir" != '/' ] ; do
+ if [ -d "$wdir"/.mvn ] ; then
+ basedir=$wdir
+ break
+ fi
+ wdir=`cd "$wdir/.."; pwd`
+ done
+ echo "${basedir}"
+)
+}
+
+find_file_argument_basedir() {
+(
+ basedir=`pwd`
+
+ found_file_switch=0
+ for arg in "$@"; do
+ if [ ${found_file_switch} -eq 1 ]; then
+ if [ -d "${arg}" ]; then
+ basedir=`cd "${arg}" && pwd -P`
+ elif [ -f "${arg}" ]; then
+ basedir=`dirname "${arg}"`
+ basedir=`cd "${basedir}" && pwd -P`
+ if [ ! -d "${basedir}" ]; then
+ echo "Directory ${basedir} extracted from the -f/--file command-line argument ${arg} does not exist" >&2
+ exit 1
+ fi
+ else
+ echo "POM file ${arg} specified with the -f/--file command line argument does not exist" >&2
+ exit 1
+ fi
+ break
+ fi
+ if [ "$arg" = "-f" -o "$arg" = "--file" ]; then
+ found_file_switch=1
+ fi
+ done
+ echo "${basedir}"
+)
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "`tr -s '\r\n' ' ' < "$1"`"
+ fi
+}
+
+MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-`find_maven_basedir "$@"`}"
+MAVEN_OPTS="`concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config"` $MAVEN_OPTS"
+
+# For Cygwin, switch project base directory path to Windows format before
+# executing Maven otherwise this will cause Maven not to consider it.
+if $cygwin ; then
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
+fi
+
+export MAVEN_PROJECTBASEDIR
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ $MAVEN_DEBUG_OPTS \
+ -classpath "${CLASSWORLDS_JAR}" \
+ "-Dclassworlds.conf=${MAVEN_HOME}/bin/m2.conf" \
+ "-Dmaven.home=${MAVEN_HOME}" \
+ "-Dlibrary.jansi.path=${MAVEN_HOME}/lib/jansi-native" \
+ "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${CLASSWORLDS_LAUNCHER} "$@"
diff --git a/apache-maven-3.6.3/bin/mvn.cmd b/apache-maven-3.6.3/bin/mvn.cmd
new file mode 100644
index 0000000..fd1b21e
--- /dev/null
+++ b/apache-maven-3.6.3/bin/mvn.cmd
@@ -0,0 +1,205 @@
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+
+@REM -----------------------------------------------------------------------------
+@REM Apache Maven Startup Script
+@REM
+@REM Environment Variable Prerequisites
+@REM
+@REM JAVA_HOME Must point at your Java Development Kit installation.
+@REM MAVEN_BATCH_ECHO (Optional) Set to 'on' to enable the echoing of the batch commands.
+@REM MAVEN_BATCH_PAUSE (Optional) set to 'on' to wait for a key stroke before ending.
+@REM MAVEN_OPTS (Optional) Java runtime options used when Maven is executed.
+@REM MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files.
+@REM -----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%"=="on" echo %MAVEN_BATCH_ECHO%
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%"=="" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat"
+if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%"=="" goto OkJHome
+for %%i in (java.exe) do set "JAVACMD=%%~$PATH:i"
+goto checkJCmd
+
+:OkJHome
+set "JAVACMD=%JAVA_HOME%\bin\java.exe"
+
+:checkJCmd
+if exist "%JAVACMD%" goto chkMHome
+
+echo The JAVA_HOME environment variable is not defined correctly >&2
+echo This environment variable is needed to run this program >&2
+echo NB: JAVA_HOME should point to a JDK not a JRE >&2
+goto error
+
+:chkMHome
+set "MAVEN_HOME=%~dp0.."
+if not "%MAVEN_HOME%"=="" goto stripMHome
+goto error
+
+:stripMHome
+if not "_%MAVEN_HOME:~-1%"=="_\" goto checkMCmd
+set "MAVEN_HOME=%MAVEN_HOME:~0,-1%"
+goto stripMHome
+
+:checkMCmd
+if exist "%MAVEN_HOME%\bin\mvn.cmd" goto init
+goto error
+@REM ==== END VALIDATION ====
+
+:init
+
+set MAVEN_CMD_LINE_ARGS=%*
+
+@REM Find the project basedir, i.e., the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set "MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%"
+if not "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set "EXEC_DIR=%CD%"
+set "WDIR=%EXEC_DIR%"
+
+@REM Look for the --file switch and start the search for the .mvn directory from the specified
+@REM POM location, if supplied.
+
+set FILE_ARG=
+:arg_loop
+if "%~1" == "-f" (
+ set "FILE_ARG=%~2"
+ shift
+ goto process_file_arg
+)
+if "%~1" == "--file" (
+ set "FILE_ARG=%~2"
+ shift
+ goto process_file_arg
+)
+@REM If none of the above, skip the argument
+shift
+if not "%~1" == "" (
+ goto arg_loop
+) else (
+ goto findBaseDir
+)
+
+:process_file_arg
+if "%FILE_ARG%" == "" (
+ goto findBaseDir
+)
+if not exist "%FILE_ARG%" (
+ echo POM file "%FILE_ARG%" specified the -f/--file command-line argument does not exist >&2
+ goto error
+)
+if exist "%FILE_ARG%\*" (
+ set "POM_DIR=%FILE_ARG%"
+) else (
+ call :get_directory_from_file "%FILE_ARG%"
+)
+if not exist "%POM_DIR%" (
+ echo Directory "%POM_DIR%" extracted from the -f/--file command-line argument "%FILE_ARG%" does not exist >&2
+ goto error
+)
+set "WDIR=%POM_DIR%"
+goto findBaseDir
+
+:get_directory_from_file
+set "POM_DIR=%~dp1"
+:stripPomDir
+if not "_%POM_DIR:~-1%"=="_\" goto pomDirStripped
+set "POM_DIR=%POM_DIR:~0,-1%"
+goto stripPomDir
+:pomDirStripped
+exit /b
+
+:findBaseDir
+cd /d "%WDIR%"
+:findBaseDirLoop
+if exist "%WDIR%\.mvn" goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set "WDIR=%CD%"
+goto findBaseDirLoop
+
+:baseDirFound
+set "MAVEN_PROJECTBASEDIR=%WDIR%"
+cd /d "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+if "_%EXEC_DIR:~-1%"=="_\" set "EXEC_DIR=%EXEC_DIR:~0,-1%"
+set "MAVEN_PROJECTBASEDIR=%EXEC_DIR%"
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+set "jvmConfig=\.mvn\jvm.config"
+if not exist "%MAVEN_PROJECTBASEDIR%%jvmConfig%" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+for %%i in ("%MAVEN_HOME%"\boot\plexus-classworlds-*) do set CLASSWORLDS_JAR="%%i"
+set CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+"%JAVACMD%" ^
+ %JVM_CONFIG_MAVEN_PROPS% ^
+ %MAVEN_OPTS% ^
+ %MAVEN_DEBUG_OPTS% ^
+ -classpath %CLASSWORLDS_JAR% ^
+ "-Dclassworlds.conf=%MAVEN_HOME%\bin\m2.conf" ^
+ "-Dmaven.home=%MAVEN_HOME%" ^
+ "-Dlibrary.jansi.path=%MAVEN_HOME%\lib\jansi-native" ^
+ "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
+ %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
+if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%"=="on" pause
+
+if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
+
+cmd /C exit /B %ERROR_CODE%
diff --git a/apache-maven-3.6.3/bin/mvnDebug b/apache-maven-3.6.3/bin/mvnDebug
new file mode 100644
index 0000000..be495ff
--- /dev/null
+++ b/apache-maven-3.6.3/bin/mvnDebug
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# -----------------------------------------------------------------------------
+# Apache Maven Debug Script
+#
+# Environment Variable Prerequisites
+#
+# JAVA_HOME Must point at your Java Development Kit installation.
+# MAVEN_OPTS (Optional) Java runtime options used when Maven is executed.
+# MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files.
+# -----------------------------------------------------------------------------
+
+MAVEN_DEBUG_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"
+
+echo Preparing to execute Maven in debug mode
+
+env MAVEN_OPTS="$MAVEN_OPTS" MAVEN_DEBUG_OPTS="$MAVEN_DEBUG_OPTS" "`dirname "$0"`/mvn" "$@"
diff --git a/apache-maven-3.6.3/bin/mvnDebug.cmd b/apache-maven-3.6.3/bin/mvnDebug.cmd
new file mode 100644
index 0000000..5f9a20a
--- /dev/null
+++ b/apache-maven-3.6.3/bin/mvnDebug.cmd
@@ -0,0 +1,33 @@
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+
+@REM -----------------------------------------------------------------------------
+@REM Apache Maven Debug Script
+@REM
+@REM Environment Variable Prerequisites
+@REM
+@REM JAVA_HOME Must point at your Java Development Kit installation.
+@REM MAVEN_BATCH_ECHO (Optional) Set to 'on' to enable the echoing of the batch commands.
+@REM MAVEN_BATCH_PAUSE (Optional) set to 'on' to wait for a key stroke before ending.
+@REM MAVEN_OPTS (Optional) Java runtime options used when Maven is executed.
+@REM MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files.
+@REM -----------------------------------------------------------------------------
+
+@setlocal
+@set MAVEN_DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+
+@call "%~dp0"mvn.cmd %*
diff --git a/apache-maven-3.6.3/bin/mvnyjp b/apache-maven-3.6.3/bin/mvnyjp
new file mode 100644
index 0000000..a35eabf
--- /dev/null
+++ b/apache-maven-3.6.3/bin/mvnyjp
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# -----------------------------------------------------------------------------
+# Apache Maven YourKit Profiler Startup Script
+#
+# Environment Variable Prerequisites
+#
+# JAVA_HOME Must point at your Java Development Kit installation.
+# MAVEN_OPTS (Optional) Java runtime options used when Maven is executed.
+# MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files.
+# -----------------------------------------------------------------------------
+
+if [ ! -f "$YJPLIB" ]; then
+ echo "Error: Unable to autodetect the YJP library location. Please set YJPLIB variable" >&2
+ exit 1
+fi
+
+env MAVEN_OPTS="-agentpath:$YJPLIB=onexit=snapshot,onexit=memory,tracing,onlylocal $MAVEN_OPTS" "`dirname "$0"`/mvn" "$@"
diff --git a/apache-maven-3.6.3/boot/plexus-classworlds.license b/apache-maven-3.6.3/boot/plexus-classworlds.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/boot/plexus-classworlds.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/conf/logging/simplelogger.properties b/apache-maven-3.6.3/conf/logging/simplelogger.properties
new file mode 100644
index 0000000..64b331b
--- /dev/null
+++ b/apache-maven-3.6.3/conf/logging/simplelogger.properties
@@ -0,0 +1,32 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+org.slf4j.simpleLogger.defaultLogLevel=info
+org.slf4j.simpleLogger.showDateTime=false
+org.slf4j.simpleLogger.showThreadName=false
+org.slf4j.simpleLogger.showLogName=false
+org.slf4j.simpleLogger.logFile=System.out
+org.slf4j.simpleLogger.cacheOutputStream=true
+org.slf4j.simpleLogger.levelInBrackets=true
+org.slf4j.simpleLogger.log.Sisu=info
+org.slf4j.simpleLogger.warnLevelString=WARNING
+
+# MNG-6181: mvn -X also prints all debug logging from HttpClient
+# Be aware that the shaded packages are used
+# org.apache.http -> org.apache.maven.wagon.providers.http.httpclient
+org.slf4j.simpleLogger.log.org.apache.maven.wagon.providers.http.httpclient=off
+org.slf4j.simpleLogger.log.org.apache.maven.wagon.providers.http.httpclient.wire=off
diff --git a/apache-maven-3.6.3/conf/settings.xml b/apache-maven-3.6.3/conf/settings.xml
new file mode 100644
index 0000000..e27c579
--- /dev/null
+++ b/apache-maven-3.6.3/conf/settings.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!--
+ | This is the configuration file for Maven. It can be specified at two levels:
+ |
+ | 1. User Level. This settings.xml file provides configuration for a single user,
+ | and is normally provided in ${user.home}/.m2/settings.xml.
+ |
+ | NOTE: This location can be overridden with the CLI option:
+ |
+ | -s /path/to/user/settings.xml
+ |
+ | 2. Global Level. This settings.xml file provides configuration for all Maven
+ | users on a machine (assuming they're all using the same Maven
+ | installation). It's normally provided in
+ | ${maven.conf}/settings.xml.
+ |
+ | NOTE: This location can be overridden with the CLI option:
+ |
+ | -gs /path/to/global/settings.xml
+ |
+ | The sections in this sample file are intended to give you a running start at
+ | getting the most out of your Maven installation. Where appropriate, the default
+ | values (values used when the setting is not specified) are provided.
+ |
+ |-->
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+ <!-- localRepository
+ | The path to the local repository maven will use to store artifacts.
+ |
+ | Default: ${user.home}/.m2/repository
+ <localRepository>/path/to/local/repo</localRepository>
+ -->
+
+ <!-- interactiveMode
+ | This will determine whether maven prompts you when it needs input. If set to false,
+ | maven will use a sensible default value, perhaps based on some other setting, for
+ | the parameter in question.
+ |
+ | Default: true
+ <interactiveMode>true</interactiveMode>
+ -->
+
+ <!-- offline
+ | Determines whether maven should attempt to connect to the network when executing a build.
+ | This will have an effect on artifact downloads, artifact deployment, and others.
+ |
+ | Default: false
+ <offline>false</offline>
+ -->
+
+ <!-- pluginGroups
+ | This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.
+ | when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers
+ | "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.
+ |-->
+ <pluginGroups>
+ <!-- pluginGroup
+ | Specifies a further group identifier to use for plugin lookup.
+ <pluginGroup>com.your.plugins</pluginGroup>
+ -->
+ </pluginGroups>
+
+ <!-- proxies
+ | This is a list of proxies which can be used on this machine to connect to the network.
+ | Unless otherwise specified (by system property or command-line switch), the first proxy
+ | specification in this list marked as active will be used.
+ |-->
+ <proxies>
+ <!-- proxy
+ | Specification for one proxy, to be used in connecting to the network.
+ |
+ <proxy>
+ <id>optional</id>
+ <active>true</active>
+ <protocol>http</protocol>
+ <username>proxyuser</username>
+ <password>proxypass</password>
+ <host>proxy.host.net</host>
+ <port>80</port>
+ <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
+ </proxy>
+ -->
+ </proxies>
+
+ <!-- servers
+ | This is a list of authentication profiles, keyed by the server-id used within the system.
+ | Authentication profiles can be used whenever maven must make a connection to a remote server.
+ |-->
+ <servers>
+ <!-- server
+ | Specifies the authentication information to use when connecting to a particular server, identified by
+ | a unique name within the system (referred to by the 'id' attribute below).
+ |
+ | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
+ | used together.
+ |
+ <server>
+ <id>deploymentRepo</id>
+ <username>repouser</username>
+ <password>repopwd</password>
+ </server>
+ -->
+
+ <!-- Another sample, using keys to authenticate.
+ <server>
+ <id>siteServer</id>
+ <privateKey>/path/to/private/key</privateKey>
+ <passphrase>optional; leave empty if not used.</passphrase>
+ </server>
+ -->
+ </servers>
+
+ <!-- mirrors
+ | This is a list of mirrors to be used in downloading artifacts from remote repositories.
+ |
+ | It works like this: a POM may declare a repository to use in resolving certain artifacts.
+ | However, this repository may have problems with heavy traffic at times, so people have mirrored
+ | it to several places.
+ |
+ | That repository definition will have a unique id, so we can create a mirror reference for that
+ | repository, to be used as an alternate download site. The mirror site will be the preferred
+ | server for that repository.
+ |-->
+ <mirrors>
+ <!-- mirror
+ | Specifies a repository mirror site to use instead of a given repository. The repository that
+ | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
+ | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
+ |
+ <mirror>
+ <id>mirrorId</id>
+ <mirrorOf>repositoryId</mirrorOf>
+ <name>Human Readable Name for this Mirror.</name>
+ <url>http://my.repository.com/repo/path</url>
+ </mirror>
+ -->
+ </mirrors>
+
+ <!-- profiles
+ | This is a list of profiles which can be activated in a variety of ways, and which can modify
+ | the build process. Profiles provided in the settings.xml are intended to provide local machine-
+ | specific paths and repository locations which allow the build to work in the local environment.
+ |
+ | For example, if you have an integration testing plugin - like cactus - that needs to know where
+ | your Tomcat instance is installed, you can provide a variable here such that the variable is
+ | dereferenced during the build process to configure the cactus plugin.
+ |
+ | As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
+ | section of this document (settings.xml) - will be discussed later. Another way essentially
+ | relies on the detection of a system property, either matching a particular value for the property,
+ | or merely testing its existence. Profiles can also be activated by JDK version prefix, where a
+ | value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
+ | Finally, the list of active profiles can be specified directly from the command line.
+ |
+ | NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
+ | repositories, plugin repositories, and free-form properties to be used as configuration
+ | variables for plugins in the POM.
+ |
+ |-->
+ <profiles>
+ <!-- profile
+ | Specifies a set of introductions to the build process, to be activated using one or more of the
+ | mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
+ | or the command line, profiles have to have an ID that is unique.
+ |
+ | An encouraged best practice for profile identification is to use a consistent naming convention
+ | for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
+ | This will make it more intuitive to understand what the set of introduced profiles is attempting
+ | to accomplish, particularly when you only have a list of profile id's for debug.
+ |
+ | This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
+ <profile>
+ <id>jdk-1.4</id>
+
+ <activation>
+ <jdk>1.4</jdk>
+ </activation>
+
+ <repositories>
+ <repository>
+ <id>jdk14</id>
+ <name>Repository for JDK 1.4 builds</name>
+ <url>http://www.myhost.com/maven/jdk14</url>
+ <layout>default</layout>
+ <snapshotPolicy>always</snapshotPolicy>
+ </repository>
+ </repositories>
+ </profile>
+ -->
+
+ <!--
+ | Here is another profile, activated by the system property 'target-env' with a value of 'dev',
+ | which provides a specific path to the Tomcat instance. To use this, your plugin configuration
+ | might hypothetically look like:
+ |
+ | ...
+ | <plugin>
+ | <groupId>org.myco.myplugins</groupId>
+ | <artifactId>myplugin</artifactId>
+ |
+ | <configuration>
+ | <tomcatLocation>${tomcatPath}</tomcatLocation>
+ | </configuration>
+ | </plugin>
+ | ...
+ |
+ | NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
+ | anything, you could just leave off the <value/> inside the activation-property.
+ |
+ <profile>
+ <id>env-dev</id>
+
+ <activation>
+ <property>
+ <name>target-env</name>
+ <value>dev</value>
+ </property>
+ </activation>
+
+ <properties>
+ <tomcatPath>/path/to/tomcat/instance</tomcatPath>
+ </properties>
+ </profile>
+ -->
+ </profiles>
+
+ <!-- activeProfiles
+ | List of profiles that are active for all builds.
+ |
+ <activeProfiles>
+ <activeProfile>alwaysActiveProfile</activeProfile>
+ <activeProfile>anotherAlwaysActiveProfile</activeProfile>
+ </activeProfiles>
+ -->
+</settings>
diff --git a/apache-maven-3.6.3/conf/toolchains.xml b/apache-maven-3.6.3/conf/toolchains.xml
new file mode 100644
index 0000000..b263072
--- /dev/null
+++ b/apache-maven-3.6.3/conf/toolchains.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!--
+ | This is the toolchains file for Maven. It can be specified at two levels:
+ |
+ | 1. User Level. This toolchains.xml file provides configuration for a single user,
+ | and is normally provided in ${user.home}/.m2/toolchains.xml.
+ |
+ | NOTE: This location can be overridden with the CLI option:
+ |
+ | -t /path/to/user/toolchains.xml
+ |
+ | 2. Global Level. This toolchains.xml file provides configuration for all Maven
+ | users on a machine (assuming they're all using the same Maven
+ | installation). It's normally provided in
+ | ${maven.conf}/toolchains.xml.
+ |
+ | NOTE: This location can be overridden with the CLI option:
+ |
+ | -gt /path/to/global/toolchains.xml
+ |
+ | The sections in this sample file are intended to give you a running start at
+ | getting the most out of your Maven installation.
+ |-->
+<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 http://maven.apache.org/xsd/toolchains-1.1.0.xsd">
+
+ <!--
+ | With toolchains you can refer to installations on your system. This
+ | way you don't have to hardcode paths in your pom.xml.
+ |
+ | Every toolchain consist of 3 elements:
+ | * type: the type of tool. An often used value is 'jdk'. Toolchains-aware
+ | plugins should document which type you must use.
+ |
+ | * provides: A list of key/value-pairs.
+ | Based on the toolchain-configuration in the pom.xml Maven will search for
+ | matching <provides/> configuration. You can decide for yourself which key-value
+ | pairs to use. Often used keys are 'version', 'vendor' and 'arch'. By default
+ | the version has a special meaning. If you configured in the pom.xml '1.5'
+ | Maven will search for 1.5 and above.
+ |
+ | * configuration: Additional configuration for this tool.
+ | Look for documentation of the toolchains-aware plugin which configuration elements
+ | can be used.
+ |
+ | See also https://maven.apache.org/guides/mini/guide-using-toolchains.html
+ |
+ | General example
+
+ <toolchain>
+ <type/>
+ <provides>
+ <version>1.0</version>
+ </provides>
+ <configuration/>
+ </toolchain>
+
+ | JDK examples
+
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>1.5</version>
+ <vendor>sun</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>/path/to/jdk/1.5</jdkHome>
+ </configuration>
+ </toolchain>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>1.6</version>
+ <vendor>sun</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>/path/to/jdk/1.6</jdkHome>
+ </configuration>
+ </toolchain>
+
+ -->
+
+</toolchains>
\ No newline at end of file
diff --git a/apache-maven-3.6.3/lib/cdi-api.license b/apache-maven-3.6.3/lib/cdi-api.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/cdi-api.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/commons-cli.license b/apache-maven-3.6.3/lib/commons-cli.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/commons-cli.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/commons-io.license b/apache-maven-3.6.3/lib/commons-io.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/commons-io.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/commons-lang3.license b/apache-maven-3.6.3/lib/commons-lang3.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/commons-lang3.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/ext/README.txt b/apache-maven-3.6.3/lib/ext/README.txt
new file mode 100644
index 0000000..5ebe59e
--- /dev/null
+++ b/apache-maven-3.6.3/lib/ext/README.txt
@@ -0,0 +1,2 @@
+Use this directory to contribute 3rd-party extensions to the Maven core. These extensions can either extend or override
+Maven's default implementation.
diff --git a/apache-maven-3.6.3/lib/guava.license b/apache-maven-3.6.3/lib/guava.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/guava.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/guice.license b/apache-maven-3.6.3/lib/guice.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/guice.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/jansi-native/README.txt b/apache-maven-3.6.3/lib/jansi-native/README.txt
new file mode 100644
index 0000000..22857a6
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jansi-native/README.txt
@@ -0,0 +1,7 @@
+This directory contains Jansi native libraries, extracted from Jansi jar.
+
+You can add your own extensions for platforms not natively supported by
+Jansi: the libraries follow HawtJNI directory and filename conventions.
+See http://fusesource.github.io/hawtjni/documentation/api/org/fusesource/hawtjni/runtime/Library.html
+
+See https://github.com/fusesource/jansi-native for native lib source.
diff --git a/apache-maven-3.6.3/lib/jansi-native/freebsd32/libjansi.so b/apache-maven-3.6.3/lib/jansi-native/freebsd32/libjansi.so
new file mode 100644
index 0000000..c56b19d
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jansi-native/freebsd32/libjansi.so
Binary files differ
diff --git a/apache-maven-3.6.3/lib/jansi-native/freebsd64/libjansi.so b/apache-maven-3.6.3/lib/jansi-native/freebsd64/libjansi.so
new file mode 100644
index 0000000..fe6c05f
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jansi-native/freebsd64/libjansi.so
Binary files differ
diff --git a/apache-maven-3.6.3/lib/jansi-native/linux32/libjansi.so b/apache-maven-3.6.3/lib/jansi-native/linux32/libjansi.so
new file mode 100644
index 0000000..25bec3a
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jansi-native/linux32/libjansi.so
Binary files differ
diff --git a/apache-maven-3.6.3/lib/jansi-native/linux64/libjansi.so b/apache-maven-3.6.3/lib/jansi-native/linux64/libjansi.so
new file mode 100644
index 0000000..b684f04
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jansi-native/linux64/libjansi.so
Binary files differ
diff --git a/apache-maven-3.6.3/lib/jansi-native/osx/libjansi.jnilib b/apache-maven-3.6.3/lib/jansi-native/osx/libjansi.jnilib
new file mode 100644
index 0000000..d5293bc
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jansi-native/osx/libjansi.jnilib
Binary files differ
diff --git a/apache-maven-3.6.3/lib/jansi-native/windows32/jansi.dll b/apache-maven-3.6.3/lib/jansi-native/windows32/jansi.dll
new file mode 100644
index 0000000..29cfd15
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jansi-native/windows32/jansi.dll
Binary files differ
diff --git a/apache-maven-3.6.3/lib/jansi-native/windows64/jansi.dll b/apache-maven-3.6.3/lib/jansi-native/windows64/jansi.dll
new file mode 100644
index 0000000..cfe23c9
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jansi-native/windows64/jansi.dll
Binary files differ
diff --git a/apache-maven-3.6.3/lib/jansi.license b/apache-maven-3.6.3/lib/jansi.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jansi.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/javax.inject.license b/apache-maven-3.6.3/lib/javax.inject.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/javax.inject.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/jcl-over-slf4j.license b/apache-maven-3.6.3/lib/jcl-over-slf4j.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jcl-over-slf4j.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/jsoup.license b/apache-maven-3.6.3/lib/jsoup.license
new file mode 100644
index 0000000..fa8a44e
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jsoup.license
@@ -0,0 +1,23 @@
+https://raw.githubusercontent.com/jhy/jsoup/jsoup-1.12.1/LICENSE
+
+The MIT License
+
+Copyright (c) 2009-2019 Jonathan Hedley <jonathan@hedley.net>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/apache-maven-3.6.3/lib/jsr250-api.license b/apache-maven-3.6.3/lib/jsr250-api.license
new file mode 100644
index 0000000..9bc6342
--- /dev/null
+++ b/apache-maven-3.6.3/lib/jsr250-api.license
@@ -0,0 +1,384 @@
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+
+
+ 1. Definitions.
+
+ 1.1. "Contributor" means each individual or entity that
+ creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the
+ Original Software, prior Modifications used by a
+ Contributor (if any), and the Modifications made by that
+ particular Contributor.
+
+ 1.3. "Covered Software" means (a) the Original Software, or
+ (b) Modifications, or (c) the combination of files
+ containing Original Software with files containing
+ Modifications, in each case including portions thereof.
+
+ 1.4. "Executable" means the Covered Software in any form
+ other than Source Code.
+
+ 1.5. "Initial Developer" means the individual or entity
+ that first makes Original Software available under this
+ License.
+
+ 1.6. "Larger Work" means a work which combines Covered
+ Software or portions thereof with code not governed by the
+ terms of this License.
+
+ 1.7. "License" means this document.
+
+ 1.8. "Licensable" means having the right to grant, to the
+ maximum extent possible, whether at the time of the initial
+ grant or subsequently acquired, any and all of the rights
+ conveyed herein.
+
+ 1.9. "Modifications" means the Source Code and Executable
+ form of any of the following:
+
+ A. Any file that results from an addition to,
+ deletion from or modification of the contents of a
+ file containing Original Software or previous
+ Modifications;
+
+ B. Any new file that contains any part of the
+ Original Software or previous Modification; or
+
+ C. Any new file that is contributed or otherwise made
+ available under the terms of this License.
+
+ 1.10. "Original Software" means the Source Code and
+ Executable form of computer software code that is
+ originally released under this License.
+
+ 1.11. "Patent Claims" means any patent claim(s), now owned
+ or hereafter acquired, including without limitation,
+ method, process, and apparatus claims, in any patent
+ Licensable by grantor.
+
+ 1.12. "Source Code" means (a) the common form of computer
+ software code in which modifications are made and (b)
+ associated documentation included in or with such code.
+
+ 1.13. "You" (or "Your") means an individual or a legal
+ entity exercising rights under, and complying with all of
+ the terms of, this License. For legal entities, "You"
+ includes any entity which controls, is controlled by, or is
+ under common control with You. For purposes of this
+ definition, "control" means (a) the power, direct or
+ indirect, to cause the direction or management of such
+ entity, whether by contract or otherwise, or (b) ownership
+ of more than fifty percent (50%) of the outstanding shares
+ or beneficial ownership of such entity.
+
+ 2. License Grants.
+
+ 2.1. The Initial Developer Grant.
+
+ Conditioned upon Your compliance with Section 3.1 below and
+ subject to third party intellectual property claims, the
+ Initial Developer hereby grants You a world-wide,
+ royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than
+ patent or trademark) Licensable by Initial Developer,
+ to use, reproduce, modify, display, perform,
+ sublicense and distribute the Original Software (or
+ portions thereof), with or without Modifications,
+ and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making,
+ using or selling of Original Software, to make, have
+ made, use, practice, sell, and offer for sale, and/or
+ otherwise dispose of the Original Software (or
+ portions thereof).
+
+ (c) The licenses granted in Sections 2.1(a) and (b)
+ are effective on the date Initial Developer first
+ distributes or otherwise makes the Original Software
+ available to a third party under the terms of this
+ License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent
+ license is granted: (1) for code that You delete from
+ the Original Software, or (2) for infringements
+ caused by: (i) the modification of the Original
+ Software, or (ii) the combination of the Original
+ Software with other software or devices.
+
+ 2.2. Contributor Grant.
+
+ Conditioned upon Your compliance with Section 3.1 below and
+ subject to third party intellectual property claims, each
+ Contributor hereby grants You a world-wide, royalty-free,
+ non-exclusive license:
+
+ (a) under intellectual property rights (other than
+ patent or trademark) Licensable by Contributor to
+ use, reproduce, modify, display, perform, sublicense
+ and distribute the Modifications created by such
+ Contributor (or portions thereof), either on an
+ unmodified basis, with other Modifications, as
+ Covered Software and/or as part of a Larger Work; and
+
+
+ (b) under Patent Claims infringed by the making,
+ using, or selling of Modifications made by that
+ Contributor either alone and/or in combination with
+ its Contributor Version (or portions of such
+ combination), to make, use, sell, offer for sale,
+ have made, and/or otherwise dispose of: (1)
+ Modifications made by that Contributor (or portions
+ thereof); and (2) the combination of Modifications
+ made by that Contributor with its Contributor Version
+ (or portions of such combination).
+
+ (c) The licenses granted in Sections 2.2(a) and
+ 2.2(b) are effective on the date Contributor first
+ distributes or otherwise makes the Modifications
+ available to a third party.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent
+ license is granted: (1) for any code that Contributor
+ has deleted from the Contributor Version; (2) for
+ infringements caused by: (i) third party
+ modifications of Contributor Version, or (ii) the
+ combination of Modifications made by that Contributor
+ with other software (except as part of the
+ Contributor Version) or other devices; or (3) under
+ Patent Claims infringed by Covered Software in the
+ absence of Modifications made by that Contributor.
+
+ 3. Distribution Obligations.
+
+ 3.1. Availability of Source Code.
+
+ Any Covered Software that You distribute or otherwise make
+ available in Executable form must also be made available in
+ Source Code form and that Source Code form must be
+ distributed only under the terms of this License. You must
+ include a copy of this License with every copy of the
+ Source Code form of the Covered Software You distribute or
+ otherwise make available. You must inform recipients of any
+ such Covered Software in Executable form as to how they can
+ obtain such Covered Software in Source Code form in a
+ reasonable manner on or through a medium customarily used
+ for software exchange.
+
+ 3.2. Modifications.
+
+ The Modifications that You create or to which You
+ contribute are governed by the terms of this License. You
+ represent that You believe Your Modifications are Your
+ original creation(s) and/or You have sufficient rights to
+ grant the rights conveyed by this License.
+
+ 3.3. Required Notices.
+
+ You must include a notice in each of Your Modifications
+ that identifies You as the Contributor of the Modification.
+ You may not remove or alter any copyright, patent or
+ trademark notices contained within the Covered Software, or
+ any notices of licensing or any descriptive text giving
+ attribution to any Contributor or the Initial Developer.
+
+ 3.4. Application of Additional Terms.
+
+ You may not offer or impose any terms on any Covered
+ Software in Source Code form that alters or restricts the
+ applicable version of this License or the recipients"
+ rights hereunder. You may choose to offer, and to charge a
+ fee for, warranty, support, indemnity or liability
+ obligations to one or more recipients of Covered Software.
+ However, you may do so only on Your own behalf, and not on
+ behalf of the Initial Developer or any Contributor. You
+ must make it absolutely clear that any such warranty,
+ support, indemnity or liability obligation is offered by
+ You alone, and You hereby agree to indemnify the Initial
+ Developer and every Contributor for any liability incurred
+ by the Initial Developer or such Contributor as a result of
+ warranty, support, indemnity or liability terms You offer.
+
+
+ 3.5. Distribution of Executable Versions.
+
+ You may distribute the Executable form of the Covered
+ Software under the terms of this License or under the terms
+ of a license of Your choice, which may contain terms
+ different from this License, provided that You are in
+ compliance with the terms of this License and that the
+ license for the Executable form does not attempt to limit
+ or alter the recipient"s rights in the Source Code form
+ from the rights set forth in this License. If You
+ distribute the Covered Software in Executable form under a
+ different license, You must make it absolutely clear that
+ any terms which differ from this License are offered by You
+ alone, not by the Initial Developer or Contributor. You
+ hereby agree to indemnify the Initial Developer and every
+ Contributor for any liability incurred by the Initial
+ Developer or such Contributor as a result of any such terms
+ You offer.
+
+ 3.6. Larger Works.
+
+ You may create a Larger Work by combining Covered Software
+ with other code not governed by the terms of this License
+ and distribute the Larger Work as a single product. In such
+ a case, You must make sure the requirements of this License
+ are fulfilled for the Covered Software.
+
+ 4. Versions of the License.
+
+ 4.1. New Versions.
+
+ Sun Microsystems, Inc. is the initial license steward and
+ may publish revised and/or new versions of this License
+ from time to time. Each version will be given a
+ distinguishing version number. Except as provided in
+ Section 4.3, no one other than the license steward has the
+ right to modify this License.
+
+ 4.2. Effect of New Versions.
+
+ You may always continue to use, distribute or otherwise
+ make the Covered Software available under the terms of the
+ version of the License under which You originally received
+ the Covered Software. If the Initial Developer includes a
+ notice in the Original Software prohibiting it from being
+ distributed or otherwise made available under any
+ subsequent version of the License, You must distribute and
+ make the Covered Software available under the terms of the
+ version of the License under which You originally received
+ the Covered Software. Otherwise, You may also choose to
+ use, distribute or otherwise make the Covered Software
+ available under the terms of any subsequent version of the
+ License published by the license steward.
+
+ 4.3. Modified Versions.
+
+ When You are an Initial Developer and You want to create a
+ new license for Your Original Software, You may create and
+ use a modified version of this License if You: (a) rename
+ the license and remove any references to the name of the
+ license steward (except to note that the license differs
+ from this License); and (b) otherwise make it clear that
+ the license contains terms which differ from this License.
+
+
+ 5. DISCLAIMER OF WARRANTY.
+
+ COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
+ BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+ INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
+ SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
+ PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
+ PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
+ COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
+ INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
+ ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
+ WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+ ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
+ DISCLAIMER.
+
+ 6. TERMINATION.
+
+ 6.1. This License and the rights granted hereunder will
+ terminate automatically if You fail to comply with terms
+ herein and fail to cure such breach within 30 days of
+ becoming aware of the breach. Provisions which, by their
+ nature, must remain in effect beyond the termination of
+ this License shall survive.
+
+ 6.2. If You assert a patent infringement claim (excluding
+ declaratory judgment actions) against Initial Developer or
+ a Contributor (the Initial Developer or Contributor against
+ whom You assert such claim is referred to as "Participant")
+ alleging that the Participant Software (meaning the
+ Contributor Version where the Participant is a Contributor
+ or the Original Software where the Participant is the
+ Initial Developer) directly or indirectly infringes any
+ patent, then any and all rights granted directly or
+ indirectly to You by such Participant, the Initial
+ Developer (if the Initial Developer is not the Participant)
+ and all Contributors under Sections 2.1 and/or 2.2 of this
+ License shall, upon 60 days notice from Participant
+ terminate prospectively and automatically at the expiration
+ of such 60 day notice period, unless if within such 60 day
+ period You withdraw Your claim with respect to the
+ Participant Software against such Participant either
+ unilaterally or pursuant to a written agreement with
+ Participant.
+
+ 6.3. In the event of termination under Sections 6.1 or 6.2
+ above, all end user licenses that have been validly granted
+ by You or any distributor hereunder prior to termination
+ (excluding licenses granted to You by any distributor)
+ shall survive termination.
+
+ 7. LIMITATION OF LIABILITY.
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+ (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
+ INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
+ COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
+ LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
+ CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+ LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
+ STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+ COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+ INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+ LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
+ INJURY RESULTING FROM SUCH PARTY"S NEGLIGENCE TO THE EXTENT
+ APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+ NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
+ CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
+ APPLY TO YOU.
+
+ 8. U.S. GOVERNMENT END USERS.
+
+ The Covered Software is a "commercial item," as that term is
+ defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
+ computer software" (as that term is defined at 48 C.F.R. "
+ 252.227-7014(a)(1)) and "commercial computer software
+ documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
+ 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
+ through 227.7202-4 (June 1995), all U.S. Government End Users
+ acquire Covered Software with only those rights set forth herein.
+ This U.S. Government Rights clause is in lieu of, and supersedes,
+ any other FAR, DFAR, or other clause or provision that addresses
+ Government rights in computer software under this License.
+
+ 9. MISCELLANEOUS.
+
+ This License represents the complete agreement concerning subject
+ matter hereof. If any provision of this License is held to be
+ unenforceable, such provision shall be reformed only to the
+ extent necessary to make it enforceable. This License shall be
+ governed by the law of the jurisdiction specified in a notice
+ contained within the Original Software (except to the extent
+ applicable law, if any, provides otherwise), excluding such
+ jurisdiction"s conflict-of-law provisions. Any litigation
+ relating to this License shall be subject to the jurisdiction of
+ the courts located in the jurisdiction and venue specified in a
+ notice contained within the Original Software, with the losing
+ party responsible for costs, including, without limitation, court
+ costs and reasonable attorneys" fees and expenses. The
+ application of the United Nations Convention on Contracts for the
+ International Sale of Goods is expressly excluded. Any law or
+ regulation which provides that the language of a contract shall
+ be construed against the drafter shall not apply to this License.
+ You agree that You alone are responsible for compliance with the
+ United States export administration regulations (and the export
+ control laws and regulation of any other countries) when You use,
+ distribute or otherwise make available any Covered Software.
+
+ 10. RESPONSIBILITY FOR CLAIMS.
+
+ As between Initial Developer and the Contributors, each party is
+ responsible for claims and damages arising, directly or
+ indirectly, out of its utilization of rights under this License
+ and You agree to work with Initial Developer and Contributors to
+ distribute such responsibility on an equitable basis. Nothing
+ herein is intended or shall be deemed to constitute any admission
+ of liability.
diff --git a/apache-maven-3.6.3/lib/org.eclipse.sisu.inject.license b/apache-maven-3.6.3/lib/org.eclipse.sisu.inject.license
new file mode 100644
index 0000000..6a200a1
--- /dev/null
+++ b/apache-maven-3.6.3/lib/org.eclipse.sisu.inject.license
@@ -0,0 +1,210 @@
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+ 1. DEFINITIONS
+
+ "Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+
+ i) changes to the Program, and
+
+ ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from
+a Contributor if it was added to the Program by such Contributor itself or
+anyone acting on such Contributor's behalf. Contributions do not include additions
+to the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are
+not derivative works of the Program.
+
+ "Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including
+all Contributors.
+
+ 2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce,
+prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative
+works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
+Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form.
+This patent license shall apply to the combination of the Contribution and
+the Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered by
+the Licensed Patents. The patent license shall not apply to any other combinations
+which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses
+to its Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth
+in this Agreement.
+
+ 3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under
+its own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages,
+such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered
+by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor,
+and informs licensees how to obtain it in a reasonable manner on or through
+a medium customarily used for software exchange.
+
+ When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within
+the Program.
+
+Each Contributor must identify itself as the originator of its Contribution,
+if any, in a manner that reasonably allows subsequent Recipients to identify
+the originator of the Contribution.
+
+ 4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor
+who includes the Program in a commercial product offering should do so in
+a manner which does not create potential liability for other Contributors.
+Therefore, if a Contributor includes the Program in a commercial product offering,
+such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor
+to the extent caused by the acts or omissions of such Commercial Contributor
+in connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense
+and any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If
+that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial
+Contributor's responsibility alone. Under this section, the Commercial Contributor
+would have to defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other Contributor
+to pay any damages as a result, the Commercial Contributor must pay those
+damages.
+
+ 5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
+AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS
+OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
+TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+Each Recipient is solely responsible for determining the appropriateness of
+using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement, including but not limited to the
+risks and costs of program errors, compliance with applicable laws, damage
+to or loss of data, programs or equipment, and unavailability or interruption
+of operations.
+
+ 6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
+LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+ 7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable
+law, it shall not affect the validity or enforceability of the remainder of
+the terms of this Agreement, and without further action by the parties hereto,
+such provision shall be reformed to the minimum extent necessary to make such
+provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+(excluding combinations of the Program with other software or hardware) infringes
+such Recipient's patent(s), then such Recipient's rights granted under Section
+2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and
+does not cure such failure in a reasonable period of time after becoming aware
+of such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as reasonably
+practicable. However, Recipient's obligations under this Agreement and any
+licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but
+in order to avoid inconsistency the Agreement is copyrighted and may only
+be modified in the following manner. The Agreement Steward reserves the right
+to publish new versions (including revisions) of this Agreement from time
+to time. No one other than the Agreement Steward has the right to modify this
+Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse
+Foundation may assign the responsibility to serve as the Agreement Steward
+to a suitable separate entity. Each new version of the Agreement will be given
+a distinguishing version number. The Program (including Contributions) may
+always be distributed subject to the version of the Agreement under which
+it was received. In addition, after a new version of the Agreement is published,
+Contributor may elect to distribute the Program (including its Contributions)
+under the new version. Except as expressly stated in Sections 2(a) and 2(b)
+above, Recipient receives no rights or licenses to the intellectual property
+of any Contributor under this Agreement, whether expressly, by implication,
+estoppel or otherwise. All rights in the Program not expressly granted under
+this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual
+property laws of the United States of America. No party to this Agreement
+will bring a legal action under this Agreement more than one year after the
+cause of action arose. Each party waives its rights to a jury trial in any
+resulting litigation.
diff --git a/apache-maven-3.6.3/lib/org.eclipse.sisu.plexus.license b/apache-maven-3.6.3/lib/org.eclipse.sisu.plexus.license
new file mode 100644
index 0000000..6a200a1
--- /dev/null
+++ b/apache-maven-3.6.3/lib/org.eclipse.sisu.plexus.license
@@ -0,0 +1,210 @@
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+ 1. DEFINITIONS
+
+ "Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+
+ i) changes to the Program, and
+
+ ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from
+a Contributor if it was added to the Program by such Contributor itself or
+anyone acting on such Contributor's behalf. Contributions do not include additions
+to the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are
+not derivative works of the Program.
+
+ "Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including
+all Contributors.
+
+ 2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce,
+prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative
+works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
+Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form.
+This patent license shall apply to the combination of the Contribution and
+the Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered by
+the Licensed Patents. The patent license shall not apply to any other combinations
+which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses
+to its Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth
+in this Agreement.
+
+ 3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under
+its own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages,
+such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered
+by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor,
+and informs licensees how to obtain it in a reasonable manner on or through
+a medium customarily used for software exchange.
+
+ When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within
+the Program.
+
+Each Contributor must identify itself as the originator of its Contribution,
+if any, in a manner that reasonably allows subsequent Recipients to identify
+the originator of the Contribution.
+
+ 4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor
+who includes the Program in a commercial product offering should do so in
+a manner which does not create potential liability for other Contributors.
+Therefore, if a Contributor includes the Program in a commercial product offering,
+such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor
+to the extent caused by the acts or omissions of such Commercial Contributor
+in connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense
+and any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If
+that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial
+Contributor's responsibility alone. Under this section, the Commercial Contributor
+would have to defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other Contributor
+to pay any damages as a result, the Commercial Contributor must pay those
+damages.
+
+ 5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
+AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS
+OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
+TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+Each Recipient is solely responsible for determining the appropriateness of
+using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement, including but not limited to the
+risks and costs of program errors, compliance with applicable laws, damage
+to or loss of data, programs or equipment, and unavailability or interruption
+of operations.
+
+ 6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
+LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+ 7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable
+law, it shall not affect the validity or enforceability of the remainder of
+the terms of this Agreement, and without further action by the parties hereto,
+such provision shall be reformed to the minimum extent necessary to make such
+provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+(excluding combinations of the Program with other software or hardware) infringes
+such Recipient's patent(s), then such Recipient's rights granted under Section
+2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and
+does not cure such failure in a reasonable period of time after becoming aware
+of such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as reasonably
+practicable. However, Recipient's obligations under this Agreement and any
+licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but
+in order to avoid inconsistency the Agreement is copyrighted and may only
+be modified in the following manner. The Agreement Steward reserves the right
+to publish new versions (including revisions) of this Agreement from time
+to time. No one other than the Agreement Steward has the right to modify this
+Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse
+Foundation may assign the responsibility to serve as the Agreement Steward
+to a suitable separate entity. Each new version of the Agreement will be given
+a distinguishing version number. The Program (including Contributions) may
+always be distributed subject to the version of the Agreement under which
+it was received. In addition, after a new version of the Agreement is published,
+Contributor may elect to distribute the Program (including its Contributions)
+under the new version. Except as expressly stated in Sections 2(a) and 2(b)
+above, Recipient receives no rights or licenses to the intellectual property
+of any Contributor under this Agreement, whether expressly, by implication,
+estoppel or otherwise. All rights in the Program not expressly granted under
+this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual
+property laws of the United States of America. No party to this Agreement
+will bring a legal action under this Agreement more than one year after the
+cause of action arose. Each party waives its rights to a jury trial in any
+resulting litigation.
diff --git a/apache-maven-3.6.3/lib/plexus-cipher.license b/apache-maven-3.6.3/lib/plexus-cipher.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/plexus-cipher.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/plexus-component-annotations.license b/apache-maven-3.6.3/lib/plexus-component-annotations.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/plexus-component-annotations.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/plexus-interpolation.license b/apache-maven-3.6.3/lib/plexus-interpolation.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/plexus-interpolation.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/plexus-sec-dispatcher.license b/apache-maven-3.6.3/lib/plexus-sec-dispatcher.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/plexus-sec-dispatcher.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/plexus-utils.license b/apache-maven-3.6.3/lib/plexus-utils.license
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/apache-maven-3.6.3/lib/plexus-utils.license
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apache-maven-3.6.3/lib/slf4j-api.license b/apache-maven-3.6.3/lib/slf4j-api.license
new file mode 100644
index 0000000..5a09409
--- /dev/null
+++ b/apache-maven-3.6.3/lib/slf4j-api.license
@@ -0,0 +1,23 @@
+https://raw.githubusercontent.com/qos-ch/slf4j/v_1.7.29/LICENSE.txt
+
+Copyright (c) 2004-2017 QOS.ch
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/apache-maven-3.6.3/settings.xml b/apache-maven-3.6.3/settings.xml
new file mode 100644
index 0000000..62ef781
--- /dev/null
+++ b/apache-maven-3.6.3/settings.xml
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!--
+ | This is the configuration file for Maven. It can be specified at two levels:
+ |
+ | 1. User Level. This settings.xml file provides configuration for a single user,
+ | and is normally provided in ${user.home}/.m2/settings.xml.
+ |
+ | NOTE: This location can be overridden with the CLI option:
+ |
+ | -s /path/to/user/settings.xml
+ |
+ | 2. Global Level. This settings.xml file provides configuration for all Maven
+ | users on a machine (assuming they're all using the same Maven
+ | installation). It's normally provided in
+ | ${maven.conf}/settings.xml.
+ |
+ | NOTE: This location can be overridden with the CLI option:
+ |
+ | -gs /path/to/global/settings.xml
+ |
+ | The sections in this sample file are intended to give you a running start at
+ | getting the most out of your Maven installation. Where appropriate, the default
+ | values (values used when the setting is not specified) are provided.
+ |
+ |-->
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+ <!-- localRepository
+ | The path to the local repository maven will use to store artifacts.
+ |
+ | Default: ${user.home}/.m2/repository
+ -->
+ <localRepository>D:\tools\repository</localRepository>
+
+
+ <!-- interactiveMode
+ | This will determine whether maven prompts you when it needs input. If set to false,
+ | maven will use a sensible default value, perhaps based on some other setting, for
+ | the parameter in question.
+ |
+ | Default: true
+ <interactiveMode>true</interactiveMode>
+ -->
+
+ <!-- offline
+ | Determines whether maven should attempt to connect to the network when executing a build.
+ | This will have an effect on artifact downloads, artifact deployment, and others.
+ |
+ | Default: false
+ <offline>false</offline>
+ -->
+
+ <!-- pluginGroups
+ | This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.
+ | when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers
+ | "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.
+ |-->
+ <pluginGroups>
+ <!-- pluginGroup
+ | Specifies a further group identifier to use for plugin lookup.
+ <pluginGroup>com.your.plugins</pluginGroup>
+ -->
+ </pluginGroups>
+
+ <!-- proxies
+ | This is a list of proxies which can be used on this machine to connect to the network.
+ | Unless otherwise specified (by system property or command-line switch), the first proxy
+ | specification in this list marked as active will be used.
+ |-->
+ <proxies>
+ <!-- proxy
+ | Specification for one proxy, to be used in connecting to the network.
+ |
+ <proxy>
+ <id>optional</id>
+ <active>true</active>
+ <protocol>http</protocol>
+ <username>proxyuser</username>
+ <password>proxypass</password>
+ <host>proxy.host.net</host>
+ <port>80</port>
+ <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
+ </proxy>
+ -->
+ </proxies>
+
+ <!-- servers
+ | This is a list of authentication profiles, keyed by the server-id used within the system.
+ | Authentication profiles can be used whenever maven must make a connection to a remote server.
+ |-->
+ <servers>
+ <!-- server
+ | Specifies the authentication information to use when connecting to a particular server, identified by
+ | a unique name within the system (referred to by the 'id' attribute below).
+ |
+ | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
+ | used together.
+ |
+ <server>
+ <id>deploymentRepo</id>
+ <username>repouser</username>
+ <password>repopwd</password>
+ </server>
+ -->
+
+ <!-- Another sample, using keys to authenticate.
+ <server>
+ <id>siteServer</id>
+ <privateKey>/path/to/private/key</privateKey>
+ <passphrase>optional; leave empty if not used.</passphrase>
+ </server>
+ -->
+ </servers>
+
+ <!-- mirrors
+ | This is a list of mirrors to be used in downloading artifacts from remote repositories.
+ |
+ | It works like this: a POM may declare a repository to use in resolving certain artifacts.
+ | However, this repository may have problems with heavy traffic at times, so people have mirrored
+ | it to several places.
+ |
+ | That repository definition will have a unique id, so we can create a mirror reference for that
+ | repository, to be used as an alternate download site. The mirror site will be the preferred
+ | server for that repository.
+ |-->
+ <mirrors>
+ <!-- mirror
+ | Specifies a repository mirror site to use instead of a given repository. The repository that
+ | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
+ | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
+ |
+ <mirror>
+ <id>mirrorId</id>
+ <mirrorOf>repositoryId</mirrorOf>
+ <name>Human Readable Name for this Mirror.</name>
+ <url>http://my.repository.com/repo/path</url>
+ </mirror>
+ -->
+
+ <mirror>
+ <id>nexus-aliyun</id>
+ <name>nexus-aliyun</name>
+ <url>http://maven.aliyun.com/nexus/content/groups/public</url>
+ <mirrorOf>central</mirrorOf>
+ </mirror>
+ </mirrors>
+
+ <!-- profiles
+ | This is a list of profiles which can be activated in a variety of ways, and which can modify
+ | the build process. Profiles provided in the settings.xml are intended to provide local machine-
+ | specific paths and repository locations which allow the build to work in the local environment.
+ |
+ | For example, if you have an integration testing plugin - like cactus - that needs to know where
+ | your Tomcat instance is installed, you can provide a variable here such that the variable is
+ | dereferenced during the build process to configure the cactus plugin.
+ |
+ | As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
+ | section of this document (settings.xml) - will be discussed later. Another way essentially
+ | relies on the detection of a system property, either matching a particular value for the property,
+ | or merely testing its existence. Profiles can also be activated by JDK version prefix, where a
+ | value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
+ | Finally, the list of active profiles can be specified directly from the command line.
+ |
+ | NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
+ | repositories, plugin repositories, and free-form properties to be used as configuration
+ | variables for plugins in the POM.
+ |
+ |-->
+ <profiles>
+ <!-- profile
+ | Specifies a set of introductions to the build process, to be activated using one or more of the
+ | mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
+ | or the command line, profiles have to have an ID that is unique.
+ |
+ | An encouraged best practice for profile identification is to use a consistent naming convention
+ | for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
+ | This will make it more intuitive to understand what the set of introduced profiles is attempting
+ | to accomplish, particularly when you only have a list of profile id's for debug.
+ |
+ | This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
+ <profile>
+ <id>jdk-1.4</id>
+
+ <activation>
+ <jdk>1.4</jdk>
+ </activation>
+
+ <repositories>
+ <repository>
+ <id>jdk14</id>
+ <name>Repository for JDK 1.4 builds</name>
+ <url>http://www.myhost.com/maven/jdk14</url>
+ <layout>default</layout>
+ <snapshotPolicy>always</snapshotPolicy>
+ </repository>
+ </repositories>
+ </profile>
+ -->
+
+ <!--
+ | Here is another profile, activated by the system property 'target-env' with a value of 'dev',
+ | which provides a specific path to the Tomcat instance. To use this, your plugin configuration
+ | might hypothetically look like:
+ |
+ | ...
+ | <plugin>
+ | <groupId>org.myco.myplugins</groupId>
+ | <artifactId>myplugin</artifactId>
+ |
+ | <configuration>
+ | <tomcatLocation>${tomcatPath}</tomcatLocation>
+ | </configuration>
+ | </plugin>
+ | ...
+ |
+ | NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
+ | anything, you could just leave off the <value/> inside the activation-property.
+ |
+ <profile>
+ <id>env-dev</id>
+
+ <activation>
+ <property>
+ <name>target-env</name>
+ <value>dev</value>
+ </property>
+ </activation>
+
+ <properties>
+ <tomcatPath>/path/to/tomcat/instance</tomcatPath>
+ </properties>
+ </profile>
+ -->
+
+
+ <profile>
+ <id>jdk-1.8</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ <jdk>1.8</jdk>
+ </activation>
+ <properties>
+ <maven.compiler.source>1.8</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
+ </properties>
+ </profile>
+ </profiles>
+
+ <!-- activeProfiles
+ | List of profiles that are active for all builds.
+ |
+ <activeProfiles>
+ <activeProfile>alwaysActiveProfile</activeProfile>
+ <activeProfile>anotherAlwaysActiveProfile</activeProfile>
+ </activeProfiles>
+ -->
+</settings>
diff --git a/hangzhoumesParent/common/pom.xml b/hangzhoumesParent/common/pom.xml
index 874e97e..82e9685 100644
--- a/hangzhoumesParent/common/pom.xml
+++ b/hangzhoumesParent/common/pom.xml
@@ -13,7 +13,7 @@
<packaging>pom</packaging>
<modules>
<module>servicebase</module>
-<!-- <module>springsecurity</module>-->
+ <module>springsecurity</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -43,6 +43,12 @@
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
+ <version>3.2.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.baomidou</groupId>
+ <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
@@ -98,6 +104,12 @@
<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>
@@ -105,28 +117,17 @@
<version>1.1.8</version>
</dependency>
- <!-- 鏁版嵁搴撴枃妗�-->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>fastjson</artifactId>
- <version>1.2.60</version>
- </dependency>
- <dependency>
- <groupId>org.apache.poi</groupId>
- <artifactId>poi</artifactId>
- <version>3.17</version>
- </dependency>
- <dependency>
- <groupId>org.apache.poi</groupId>
- <artifactId>poi-ooxml</artifactId>
- <version>3.17</version>
- </dependency>
-
<!-- 鏁版嵁搴撹璁℃枃妗g敓鎴愬伐鍏�-->
<dependency>
<groupId>cn.smallbun.screw</groupId>
<artifactId>screw-core</artifactId>
<version>1.0.5</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.alibaba</groupId>
+ <artifactId>fastjson</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- 2.0~2.2 Knife4j 2.0.0 ~ 2.0.6-->
<!-- <dependency>-->
@@ -146,17 +147,6 @@
<version>2.7.0</version>
</dependency>
-
- <!--jwt 椤圭洰鐢熸垚token-->
- <dependency>
- <groupId>com.auth0</groupId>
- <artifactId>java-jwt</artifactId>
- <version>3.10.3</version>
- </dependency>
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- </dependency>
<!--hutool java楠岃瘉鏂规硶绫�-->
<dependency>
<groupId>cn.hutool</groupId>
@@ -174,15 +164,13 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
- <dependency>
- <groupId>org.springframework.session</groupId>
- <artifactId>spring-session-data-redis</artifactId>
- </dependency>
<dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-security</artifactId>
+ <groupId>com.alibaba</groupId>
+ <artifactId>fastjson</artifactId>
+ <version>1.2.33</version>
</dependency>
+
</dependencies>
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/InterceptorConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/InterceptorConfig.java
index 39ffa21..a5ad9af 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/InterceptorConfig.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/InterceptorConfig.java
@@ -2,16 +2,17 @@
import com.mes.common.interceptor.JwtInterceptor;
import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.Resource;
@Configuration
-
public class InterceptorConfig implements WebMvcConfigurer {
@Resource
private JwtInterceptor jwtInterceptor;
+
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(jwtInterceptor)
@@ -19,11 +20,26 @@
.excludePathPatterns("/user/login",
"/user/register",
"/swagger-resources/**"
- ,"/webjars/**"
- ,"/v2/**"
- ,"/swagger-ui.html/**"
- ,"/swagger-ui.html#/**");
+ , "/webjars/**"
+ , "/v2/**"
+ , "/swagger-ui.html/**"
+ , "/swagger-ui.html#/**");
}
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ // 璁剧疆鍏佽璺ㄥ煙鐨勮矾寰�
+ registry.addMapping("/**")
+ // 璁剧疆鍏佽璺ㄥ煙璇锋眰鐨勫煙鍚�
+// .allowedOriginPatterns("*")
+ // 鏄惁鍏佽cookie
+ .allowCredentials(true)
+ // 璁剧疆鍏佽鐨勮姹傛柟寮�
+ .allowedMethods("GET", "POST", "DELETE", "PUT")
+ // 璁剧疆鍏佽鐨刪eader灞炴��
+ .allowedHeaders("*")
+ // 璺ㄥ煙鍏佽鏃堕棿
+ .maxAge(3600);
+ }
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java
index 440d02b..94e02f0 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/MybatisPlusConfig.java
@@ -1,19 +1,11 @@
package com.mes.common.config;
-import com.alibaba.druid.pool.DruidDataSource;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-
-import javax.annotation.Resource;
-import javax.sql.DataSource;
/**
@@ -33,29 +25,6 @@
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
- }
-
- @Resource
- private DataSourceProperties dataSourceProperties;
-
-
- @Bean(name = "dataSource")
- public DataSource dataSource() {
-
- DruidDataSource dataSource = new DruidDataSource();
- dataSource.setUrl(dataSourceProperties.getUrl());
- dataSource.setDriverClassName(dataSourceProperties.getDriverClassName());
- dataSource.setUsername(dataSourceProperties.getUsername());
- dataSource.setPassword(dataSourceProperties.getPassword());
-
- return dataSource;
-
- }
-
- public SqlSessionFactory sqlSessionFactory() throws Exception {
- SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
- sqlSessionFactoryBean.setDataSource(dataSource());
- return sqlSessionFactoryBean.getObject();
}
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/RedisTemplateConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/RedisTemplateConfig.java
deleted file mode 100644
index d5d4756..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/RedisTemplateConfig.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.mes.common.config;
-
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
-import org.springframework.data.redis.serializer.RedisSerializer;
-import org.springframework.data.redis.serializer.StringRedisSerializer;
-
-/**
- * @Author : zhoush
- * @Date: 2024/4/8 16:04
- * @Description:
- */
-@Configuration
-public class RedisTemplateConfig {
- @Bean
- public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
- RedisTemplate<String, Object> template = new RedisTemplate<>();
- RedisSerializer<String> redisSerializer = new StringRedisSerializer();
- Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
- ObjectMapper om = new ObjectMapper();
- om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
- om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
- jackson2JsonRedisSerializer.setObjectMapper(om);
- template.setConnectionFactory(factory);
- //key搴忓垪鍖栨柟寮�
- template.setKeySerializer(redisSerializer);
- //value搴忓垪鍖�
- template.setValueSerializer(jackson2JsonRedisSerializer);
- //value hashmap搴忓垪鍖�
- template.setHashValueSerializer(jackson2JsonRedisSerializer);
- return template;
- }
-}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/SessionConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/SessionConfig.java
deleted file mode 100644
index 84bb05c..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/SessionConfig.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mes.common.config;
-
-import com.alibaba.fastjson.support.spring.GenericFastJsonRedisSerializer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.redis.serializer.RedisSerializer;
-
-/**
- * @Author : zhoush
- * @Date: 2024/4/1 13:16
- * @Description:spring session 浣跨敤 json 搴忓垪鍖栨満鍒�
- */
-@Configuration
-public class SessionConfig {
- @Bean
- public RedisSerializer<Object> springSessionDefaultRedisSerializer() {
- return new GenericFastJsonRedisSerializer();
- }
-}
-
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java
new file mode 100644
index 0000000..cd418c5
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java
@@ -0,0 +1,88 @@
+package com.mes.device;
+
+import com.mes.tools.InitUtil;
+import org.springframework.context.annotation.Configuration;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+public class PLCAutoMes extends Thread {
+
+ // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
+ private Configuration config;
+ private static InitUtil initUtil;
+
+
+ // 鍗曚緥瀹炰緥
+ private static PLCAutoMes instance;
+ private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
+ private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
+ private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
+// private static String PlcParameter = PLCAutomaticParameterSettingReview2.class
+// .getResource("/JsonFile/PlcParameter.json").getPath();
+// private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json")
+// .getPath();
+// private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json")
+// .getPath();
+ private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
+ // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
+
+ // 璋冪敤initword鏂规硶
+
+//
+ // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
+ public static PlcParameterObject PlcMesObject = initUtil.initword(PlcMes);
+ public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
+ public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
+
+ // 绉佹湁鏋勯�犲嚱鏁�
+ public PLCAutoMes() throws IOException {
+
+ initUtil = new InitUtil();
+ }
+
+ // 鑾峰彇鍗曚緥瀹炰緥
+ public static synchronized PLCAutoMes getInstance() throws IOException {
+ if (instance == null) {
+ instance = new PLCAutoMes();
+ }
+ return instance;
+ }
+
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(100);
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ // System.out.println(jsonFilePath);
+
+ // readAndUpdateWordValues(PlcReadObject);
+ InitUtil.readAndUpdateWordValues(PlcMesObject);
+// readAndUpdateWordValues(PlcframeObject);
+ // readAndUpdateWordValues(PlcframeObject);
+
+ // readAndUpdateWordValues(plcStateObject);
+ // int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
+ // System.out.println(index);
+ // PlcMesObject.getPlcParameter("AddStart").getAddress(index);
+ // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
+ List<String> addresses = new ArrayList<>();
+ addresses.add("FeedID");
+ addresses.add("AddStart");
+ // System.out.println(addresses);
+ // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
+ List<String> addresses2 = new ArrayList<>();
+ addresses2.add("FeedID");
+ addresses2.add("FeedCarStatus");
+
+ // System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
+
+ }
+ }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/device/PlcBitInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java
similarity index 100%
rename from hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/device/PlcBitInfo.java
rename to hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/device/PlcBitObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java
similarity index 100%
rename from hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/device/PlcBitObject.java
rename to hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/device/PlcParameterInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java
similarity index 100%
rename from hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/device/PlcParameterInfo.java
rename to hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/device/PlcParameterObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
similarity index 100%
rename from hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/device/PlcParameterObject.java
rename to hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeDetailController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeDetailController.java
new file mode 100644
index 0000000..c1d3a8e
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeDetailController.java
@@ -0,0 +1,20 @@
+package com.mes.pp.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@RestController
+@RequestMapping("/userinfo/optimize-detail")
+public class OptimizeDetailController {
+
+}
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeLayoutController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeLayoutController.java
new file mode 100644
index 0000000..65b9a8b
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeLayoutController.java
@@ -0,0 +1,20 @@
+package com.mes.pp.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@RestController
+@RequestMapping("/userinfo/optimize-layout")
+public class OptimizeLayoutController {
+
+}
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java
new file mode 100644
index 0000000..48631bf
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java
@@ -0,0 +1,20 @@
+package com.mes.pp.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@RestController
+@RequestMapping("/userinfo/optimize-project")
+public class OptimizeProjectController {
+
+}
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeDetail.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeDetail.java
new file mode 100644
index 0000000..ba5ea47
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeDetail.java
@@ -0,0 +1,123 @@
+package com.mes.pp.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-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OptimizeDetail implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 宸ョ▼鍙�
+ */
+ private String projectNo;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String processId;
+
+ /**
+ * 灞�
+ */
+ private Integer layer;
+
+ /**
+ * 搴忓彿
+ */
+ private Integer orderSort;
+
+ /**
+ * 鐗堝浘id
+ */
+ private Integer stockId;
+
+ /**
+ * 鐗堝浘搴�
+ */
+ private Integer stockNumber;
+
+ /**
+ * 鍥惧彿
+ */
+ private Integer graphNo;
+
+ /**
+ * 灏忕墖缂栧彿
+ */
+ private String glassId;
+
+ /**
+ * 灏忕墖ID
+ */
+ private Integer polysId;
+
+ /**
+ * 灏忕墖瀹斤紙鍔犵(閲忥級
+ */
+ private Double pWidth;
+
+ /**
+ * 灏忕墖楂橈紙鍔犵(閲忥級
+ */
+ private Double pHeight;
+
+ /**
+ * 灏忕墖瀹�
+ */
+ private Double width;
+
+ /**
+ * 灏忕墖楂�
+ */
+ private Double height;
+
+ /**
+ * x鍧愭爣
+ */
+ private Double xAxis;
+
+ /**
+ * y鍧愭爣
+ */
+ private Double yAxis;
+
+ /**
+ * 閽㈠寲鐗堝浘缂栧彿(鏋跺彿)
+ */
+ private Integer heatLayoutId;
+
+ private String h;
+
+ private String g;
+
+ private String r;
+
+ private String glassPoint;
+
+ @TableField("intRemark")
+ private Integer intremark;
+
+ @TableField("strRemark")
+ private String strremark;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeLayout.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeLayout.java
new file mode 100644
index 0000000..f9a85ec
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeLayout.java
@@ -0,0 +1,106 @@
+package com.mes.pp.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;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OptimizeLayout implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 宸ョ▼鍙�
+ */
+ private String projectNo;
+
+ /**
+ * 鍘熺墖ID
+ */
+ private Integer stockId;
+
+ private Double width;
+
+ private Double height;
+
+ private Double realwidth;
+
+ private Double realheight;
+
+ /**
+ * 鍒囪鐜�
+ */
+ private String usageRate;
+
+ /**
+ * 鐗╂枡缂栫爜
+ */
+ private String stockCode;
+
+ /**
+ * 涓婁慨杈�
+ */
+ private String upTrim;
+
+ /**
+ * 涓�
+ */
+ private String downTrim;
+
+ /**
+ * 宸�
+ */
+ private String leftTrim;
+
+ /**
+ * 鍙�
+ */
+ private String rightTrim;
+
+ /**
+ * 鏁伴噺
+ */
+ private Integer count;
+
+ /**
+ * 灏忕墖鏁�
+ */
+ private String glassCount;
+
+ /**
+ * 灏忕墖闈㈢Н
+ */
+ private String glassArea;
+
+ /**
+ * 鍒涘缓浜�
+ */
+ private Integer creater;
+
+ private LocalDateTime createTime;
+
+ @TableField("intRemark")
+ private Integer intremark;
+
+ @TableField("strRemark")
+ private String strremark;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeProject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeProject.java
new file mode 100644
index 0000000..30eab79
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeProject.java
@@ -0,0 +1,205 @@
+package com.mes.pp.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;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OptimizeProject implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鑷锛�<浼樺寲-宸ョ▼>
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 宸ョ▼缂栧彿
+ */
+ private String projectNo;
+
+ /**
+ * 宸ョ▼椤圭洰鍚�
+ */
+ private String projectName;
+
+ /**
+ * 鐜荤拑鑶滅郴
+ */
+ private String glassType;
+
+ /**
+ * 鐜荤拑鍘氬害
+ */
+ private String glassThickness;
+
+ /**
+ * 宸ョ▼绉嶇被
+ */
+ private Integer type;
+
+ /**
+ * 鐘舵�侊細 -2鍒犻櫎锛� -1榛樿锛� 1娴佺▼鍗″垱寤猴紱 2绗竴娆′紭鍖栦繚瀛�; 10閽㈠寲鎺ㄨ崘鍒涘缓淇濆瓨锛� 20浼樺寲缁撴灉淇濆瓨
+ */
+ private Integer state;
+
+ /**
+ * 鎬绘暟
+ */
+ private Integer glassTotal;
+
+ /**
+ * 鎬婚潰绉�
+ */
+ private Double glassTotalArea;
+
+ /**
+ * 娴佺▼鍗℃暟閲�
+ */
+ private Integer processQty;
+
+ /**
+ * 寰幆钀芥灦鏁�
+ */
+ private Integer guidance;
+
+ /**
+ * 绗竴娆′娇鐢ㄥ師鏂欐暟
+ */
+ private Integer fristStockQty;
+
+ /**
+ * 绗竴娆″钩鍧囧垏瑁佺巼
+ */
+ private String fristCutPct;
+
+ /**
+ * 浣跨敤鐨勫師鏂欐暟
+ */
+ private Integer rawStockQty;
+
+ /**
+ * 浣跨敤鐨勫師鏂欓潰绉�
+ */
+ private String rawStockArea;
+
+ /**
+ * 骞冲潎鍒囪鐜�
+ */
+ private String avgCutPct;
+
+ /**
+ * 鏈夋晥鍒囪鐜�
+ */
+ private String validCutPct;
+
+ /**
+ * 灏剧墖鍒囪鐜�
+ */
+ private String lastCutPct;
+
+ /**
+ * g娣锋帓绋嬪害
+ */
+ private String chaosPct;
+
+ /**
+ * g鏈�澶ц杞界巼
+ */
+ private String maxLoadPct;
+
+ /**
+ * g鏈�澶ч潰绉�
+ */
+ private String maxArea;
+
+ /**
+ * g鏈�澶ф暟閲�
+ */
+ private Integer maxQty;
+
+ /**
+ * g涓婄墖瀹�
+ */
+ private Float loadWidth;
+
+ /**
+ * g涓婄墖闀�
+ */
+ private Float loadLength;
+
+ /**
+ * x闂撮殧
+ */
+ private Float xSpace;
+
+ /**
+ * y闂撮殧
+ */
+ private Float ySpace;
+
+ /**
+ * g骞冲潎瑁呰浇鐜�
+ */
+ private Float loadRate;
+
+ /**
+ * 娴佺▼鍗¢泦鍚�
+ */
+ private String processCards;
+
+ /**
+ * g鎬荤倝鏁�
+ */
+ private Integer furnacesQty;
+
+ /**
+ * 澶囨敞
+ */
+ private String remark;
+
+ /**
+ * 鍒涘缓浜�
+ */
+ private String creater;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private LocalDateTime createTime;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ private LocalDateTime updateTime;
+
+ /**
+ * 棰勭暀锛屼娇鐢ㄩ渶娉ㄦ槑
+ */
+ @TableField("intRemark")
+ private Integer intremark;
+
+ /**
+ * 棰勭暀锛屼娇鐢ㄩ渶娉ㄦ槑
+ */
+ @TableField("strRemark")
+ private String strremark;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java
new file mode 100644
index 0000000..b73f34e
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java
@@ -0,0 +1,18 @@
+package com.mes.pp.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.pp.entity.OptimizeDetail;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Mapper
+public interface OptimizeDetailMapper extends BaseMapper<OptimizeDetail> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java
new file mode 100644
index 0000000..1cef895
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java
@@ -0,0 +1,18 @@
+package com.mes.pp.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.pp.entity.OptimizeLayout;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Mapper
+public interface OptimizeLayoutMapper extends BaseMapper<OptimizeLayout> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
new file mode 100644
index 0000000..be5eec9
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
@@ -0,0 +1,18 @@
+package com.mes.pp.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.pp.entity.OptimizeProject;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Mapper
+public interface OptimizeProjectMapper extends BaseMapper<OptimizeProject> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeDetailService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeDetailService.java
new file mode 100644
index 0000000..3cd12bc
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeDetailService.java
@@ -0,0 +1,16 @@
+package com.mes.pp.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.pp.entity.OptimizeDetail;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+public interface OptimizeDetailService extends IService<OptimizeDetail> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java
new file mode 100644
index 0000000..ec7dc25
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java
@@ -0,0 +1,16 @@
+package com.mes.pp.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.pp.entity.OptimizeLayout;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+public interface OptimizeLayoutService extends IService<OptimizeLayout> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
new file mode 100644
index 0000000..b8b4cc6
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
@@ -0,0 +1,16 @@
+package com.mes.pp.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.pp.entity.OptimizeProject;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+public interface OptimizeProjectService extends IService<OptimizeProject> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeDetailServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeDetailServiceImpl.java
new file mode 100644
index 0000000..81df3f4
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeDetailServiceImpl.java
@@ -0,0 +1,22 @@
+package com.mes.pp.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.pp.entity.OptimizeDetail;
+import com.mes.pp.mapper.OptimizeDetailMapper;
+import com.mes.pp.service.OptimizeDetailService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Service
+@DS("pp")
+public class OptimizeDetailServiceImpl extends ServiceImpl<OptimizeDetailMapper, OptimizeDetail> implements OptimizeDetailService {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java
new file mode 100644
index 0000000..4881d52
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java
@@ -0,0 +1,23 @@
+package com.mes.pp.service.impl;
+
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.pp.entity.OptimizeLayout;
+import com.mes.pp.mapper.OptimizeLayoutMapper;
+import com.mes.pp.service.OptimizeLayoutService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Service
+@DS("pp")
+public class OptimizeLayoutServiceImpl extends ServiceImpl<OptimizeLayoutMapper, OptimizeLayout> implements OptimizeLayoutService {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
new file mode 100644
index 0000000..d09f0a9
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
@@ -0,0 +1,22 @@
+package com.mes.pp.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.mapper.OptimizeProjectMapper;
+import com.mes.pp.service.OptimizeProjectService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Service
+@DS("pp")
+public class OptimizeProjectServiceImpl extends ServiceImpl<OptimizeProjectMapper, OptimizeProject> implements OptimizeProjectService {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/ExportToWord.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/ExportToWord.java
deleted file mode 100644
index e380bcc..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/ExportToWord.java
+++ /dev/null
@@ -1,313 +0,0 @@
-package com.mes.tools;
-
-/**
- * @Author : zhoush
- * @Date: 2024/3/26 8:16
- * @Description:
- */
-import com.alibaba.fastjson.JSONObject;
-import org.apache.poi.xwpf.usermodel.XWPFDocument;
-import org.apache.poi.xwpf.usermodel.XWPFParagraph;
-import org.apache.poi.xwpf.usermodel.XWPFRun;
-import org.apache.poi.xwpf.usermodel.XWPFTable;
-
-import java.io.FileOutputStream;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-/**
- * @Method: 鏁版嵁搴撹〃缁撴瀯word瀵煎嚭
- * @Description: 鏁版嵁搴撹〃缁撴瀯word瀵煎嚭
- **/
-public class ExportToWord {
-
- // private final String DRIVER = "com.mysql.jdbc.Driver"; //MySQL5.0
- private final String DRIVER = "com.mysql.cj.jdbc.Driver";
- private final String URL = "jdbc:mysql://10.153.19.150:3306/hangzhoumes"+"?serverTimezone=GMT%2B8";
- //鏁版嵁搴撹处鍙�
- private final String USER_NAME = "root";
- //鏁版嵁搴撳瘑鐮�
- private final String PASS_WORD = "beibo.123/";
- //瀵瑰簲鏁版嵁搴� 姝ゅ鏄綘鏈湴瀵瑰簲鐨勬暟鎹簱鍚嶇О
- private final String database = "hangzhoumes";
- //瀵瑰簲杈撳嚭鍦板潃
- private final String reportPath = "E:\\椤圭洰\\椤圭洰鏂囨。\\鏉窞鍒╂潵\\";
-
- // 鍚姩鏂规硶
- public static void main(String[] args) {
-
- try {
- ExportToWord rd = new ExportToWord ();
- rd.report();
- }catch (Exception e){
- System.out.println("寮傚父锛氳嚜琛屽鐞嗘垨鑰呰仈绯绘垜閮介様浠�.");
- e.printStackTrace();
- }
-
- }
-
-
- Connection conn = null;
- PreparedStatement pst = null;
- ResultSet rs = null;
-
- // 鑾峰彇鏌ヨ鏁版嵁
- public Map<String,List<TableColumn>> getData() throws Exception{
-
- System.out.println("鏁版嵁鐢熸垚涓紝璇风◢绛�...");
- Map<String,List<TableColumn>> map = new HashMap<>();
-
- List<Table> tables = getTables(database);
-
- for (Table table : tables) {
- List<TableColumn> columns = getColumns(database,table.getTableName());
- map.put(table.getTableName(),columns);
- }
-
- return map;
-
- }
-
-
- // 鑾峰彇琛ㄥ瓧娈典俊鎭�
- public List<TableColumn> getColumns(String database,String tableName) throws Exception{
-
- String sql = "select column_name,column_comment,column_type,is_nullable, column_key from information_schema.columns where table_schema=? and table_name=? ";// group by column_name
- ResultSet rs = getConn(database,tableName,sql);
-
- List<TableColumn> tableColumns = new ArrayList<>();
-
- while (rs.next()){
-
- TableColumn tc = new TableColumn();
- tc.setTableName(tableName);
- tc.setColumnName(rs.getString("column_name"));
- tc.setColumnType(rs.getString("column_type"));
- tc.setColumnKey(rs.getString("column_key"));
- tc.setIsNullable(rs.getString("is_nullable"));
- tc.setColumnComment(rs.getString("column_comment"));
- tableColumns.add(tc);
-
- }
-
- releaseConn();
-
- return tableColumns;
-
- }
-
-
- // 鑾峰彇鎵�鏈夎〃
- public List<Table> getTables(String database) throws Exception{
-
- String sql = "select table_name,table_comment from information_schema.tables where table_schema=?";
- ResultSet rs = getConn(database, "",sql);
-
- List<Table> tables = new ArrayList<>();
- while(rs.next()){
- Table table = new Table();
- table.setTableName(rs.getString( "table_name"));
- table.setTableCommont(rs.getString("table_comment"));
- tables.add(table);
- }
-
- releaseConn();
- return tables;
-
- }
-
- // 杩炴帴鏁版嵁搴�
- private ResultSet getConn(String dataBase,String tableName,String sql){
-
- try{
-
- Class.forName(DRIVER);
- conn = DriverManager.getConnection(URL,USER_NAME,PASS_WORD);
- pst = conn.prepareStatement(sql);
- pst.setString(1,dataBase);
- if(!"".equals(tableName)){
- pst.setString(2,tableName);
- }
- rs = pst.executeQuery();
- return rs;
-
- }catch (Exception e){
- e.printStackTrace();
- }
-
- return null;
-
- }
-
- // 閲婃斁杩炴帴
- private void releaseConn(){
- try{
- if(rs != null ){
- rs.close();
- }
- if(pst != null){
- pst.close();
- }
- if(conn != null){
- conn.close();
- }
- }catch (Exception e){
- e.printStackTrace();
- }
- }
-
-
- // 瀵煎嚭鏁版嵁
- public void report() throws Exception{
-
- Map<String, List<TableColumn>> data = this.getData(); // 琛ㄥ悕锛氳〃浣�
- List<Table> tables = this.getTables(this.database); // 琛ㄤ綋(鍒楀悕銆佺被鍨嬨�佹敞閲�)
- Map<String,String> tableMap = new HashMap<>(); // 琛ㄥ悕:涓枃鍚�
-
- JSONObject json = new JSONObject((HashMap)data);
-
- for (Table table : tables) {
- tableMap.put(table.getTableName(),table.getTableCommont());
- }
-
- // 鏋勫缓琛ㄦ牸鏁版嵁
- XWPFDocument document = new XWPFDocument();
-
- Integer i = 1;
- for (String tableName : data.keySet()) {
-
- XWPFParagraph paragraph = document.createParagraph(); // 鍒涘缓鏍囬瀵硅薄
- XWPFRun run = paragraph.createRun(); // 鍒涘缓鏂囨湰瀵硅薄
- run.setText((i+"銆�"+tableName+" "+tableMap.get(tableName))); // 鏍囬鍚嶇О
- run.setFontSize(14); // 瀛椾綋澶у皬
- run.setBold(true); // 瀛椾綋鍔犵矖
-
- int j = 0;
- XWPFTable table = document.createTable(data.get(tableName).size()+1,5);
- // 绗竴琛�
- table.setCellMargins(50,400,50,400);
- table.getRow(j).getCell(0).setText("瀛楁鍚嶇О");
- table.getRow(j).getCell(1).setText("瀛楁绫诲瀷");
- table.getRow(j).getCell(2).setText("绾︽潫");
- table.getRow(j).getCell(3).setText("涓虹┖");
- table.getRow(j).getCell(4).setText("瀛楁鍚箟");
- j++;
-
- for (TableColumn tableColumn : data.get(tableName)) {
-
- table.getRow(j).getCell(0).setText(tableColumn.getColumnName());
- table.getRow(j).getCell(1).setText(tableColumn.getColumnType());
- table.getRow(j).getCell(2).setText(tableColumn.getColumnKey());
- table.getRow(j).getCell(3).setText(tableColumn.getIsNullable());
- table.getRow(j).getCell(4).setText(tableColumn.getColumnComment());
- j++;
-
- }
- i++;
- }
-
- // 鏂囨。杈撳嚭
- FileOutputStream out = new FileOutputStream(reportPath + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()).toString()+"_"+database +".docx");
- document.write(out);
- out.close();
- System.out.println("Word鐢熸垚瀹屾垚!!!");
-
- }
-
- // 琛�
- class Table{
-
- private String tableName;
-
- private String tableCommont;
-
- public String getTableName() {
- return tableName;
- }
-
- public void setTableName(String tableName) {
- this.tableName = tableName;
- }
-
- public String getTableCommont() {
- return tableCommont;
- }
-
- public void setTableCommont(String tableCommont) {
- this.tableCommont = tableCommont;
- }
-
- }
-
- // 琛ㄥ垪淇℃伅
- class TableColumn{
- // 琛ㄥ悕
- private String tableName;
- // 瀛楁鍚�
- private String columnName;
- // 瀛楁绫诲瀷
- private String columnType;
- // 瀛楁娉ㄩ噴
- private String columnComment;
- // 鍙惁涓虹┖
- private String isNullable;
- // 绾︽潫
- private String columnKey;
-
- public String getTableName() {
- return tableName;
- }
-
- public void setTableName(String tableName) {
- this.tableName = tableName;
- }
-
- public String getColumnName() {
- return columnName;
- }
-
- public void setColumnName(String columnName) {
- this.columnName = columnName;
- }
-
- public String getColumnType() {
- return columnType;
- }
-
- public void setColumnType(String columnType) {
- this.columnType = columnType;
- }
-
- public String getColumnComment() {
- return columnComment;
- }
-
- public void setColumnComment(String columnComment) {
- this.columnComment = columnComment;
- }
-
- public String getIsNullable() {
- return isNullable;
- }
-
- public void setIsNullable(String isNullable) {
- this.isNullable = isNullable;
- }
-
- public String getColumnKey() {
- return columnKey;
- }
-
- public void setColumnKey(String columnKey) {
- this.columnKey = columnKey;
- }
-
- }
-
-
-}
-
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/InitUtil.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java
similarity index 99%
rename from hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/InitUtil.java
rename to hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java
index 7cd4205..8888513 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/InitUtil.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java
@@ -1,128 +1,128 @@
-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 {
- //鍒濆鍖杦ord
- public static PlcParameterObject initword(String jsonFilePath) {
- try {
- FileReader fileReader = new FileReader(jsonFilePath);
- BufferedReader bufferedReader = new BufferedReader(fileReader);
-
- StringBuilder content = new StringBuilder();
- String line;
-
- while ((line = bufferedReader.readLine()) != null) {
- content.append(line);
- }
-
- bufferedReader.close();
- fileReader.close();
-
- JSONObject jsonfileobj = new JSONObject(content.toString());
- JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
- PlcParameterObject plcParameterObject = new PlcParameterObject();
- plcParameterObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//璁剧疆璧峰浣嶅湴鍧�
- plcParameterObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//璁剧疆鍦板潃闀垮害
-
- for (int i = 0; i < jsonArray.size(); i++) {
- JSONObject parameterObj = jsonArray.getJSONObject(i);
- PlcParameterInfo plcParameterInfo = new PlcParameterInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
- String codeid = parameterObj.getStr("codeId");
- plcParameterInfo.setCodeId(codeid);
- plcParameterInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
- //plcParameterInfo.setRatio(Integer.valueOf(parameterObj.getStr("ratio")));
- plcParameterInfo.setAddressLength(Integer.valueOf(parameterObj.getStr("addressLenght")));
- plcParameterInfo.setUnit(parameterObj.getStr("unit"));
- plcParameterObject.addPlcParameter(plcParameterInfo);
- }
- // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
- // byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
- // plcParameterObject.setPlcParameterList(getplcvlues);
-
- return plcParameterObject;
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- //鍒濆鍖朾it
- public static PlcBitObject initbit(String jsonFilePath) {
- PlcBitObject plcBitObject = new PlcBitObject();
-
- try {
- FileReader fileReader = new FileReader(jsonFilePath);
- BufferedReader bufferedReader = new BufferedReader(fileReader);
-
- StringBuilder content = new StringBuilder();
- String line;
-
- while ((line = bufferedReader.readLine()) != null) {
- content.append(line);
- }
-
- bufferedReader.close();
- fileReader.close();
-
- JSONObject jsonfileobj = new JSONObject(content.toString());
- JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
- plcBitObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//璁剧疆璧峰浣嶅湴鍧�
- plcBitObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//璁剧疆鍦板潃闀垮害
-
- for (int i = 0; i < jsonArray.size(); i++) {
- JSONObject parameterObj = jsonArray.getJSONObject(i);
-
- PlcBitInfo plcBitInfo = new PlcBitInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
- String codeid = parameterObj.getStr("codeId");
- plcBitInfo.setCodeId(codeid);
- plcBitInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
-
- plcBitObject.addPlcBit(plcBitInfo);
- }
- System.out.println("");
- } catch (IOException e) {
- e.printStackTrace();
- }
- //Boolean[] values1 = { false, true, true, true, false, false, true, false,
- // false, true ,true };
- // List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
-
-// List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
-// plcBitObject.setPlcBitList(getplcvlues);
- return plcBitObject;
- }
-
-//
- public static void readAndUpdateBitValues(PlcBitObject plcBitObject) {
-
- Boolean[] values1 = { false, true, true, true, false, false, true, false,
- false, true ,true };
- List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
- //List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
- plcBitObject.setPlcBitList(getplcvlues);
- }
-
-
- public static void readAndUpdateWordValues(PlcParameterObject plcParameterObject) {
-
- byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03,0x03};
- // byte[] getplcvlues = MockS7PLC.getInstance().readByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
- plcParameterObject.setPlcParameterList(getplcvlues);
- }
-
-
-
-}
+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 {
+ //鍒濆鍖杦ord
+ public static PlcParameterObject initword(String jsonFilePath) {
+ try {
+ FileReader fileReader = new FileReader(jsonFilePath);
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+
+ StringBuilder content = new StringBuilder();
+ String line;
+
+ while ((line = bufferedReader.readLine()) != null) {
+ content.append(line);
+ }
+
+ bufferedReader.close();
+ fileReader.close();
+
+ JSONObject jsonfileobj = new JSONObject(content.toString());
+ JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
+ PlcParameterObject plcParameterObject = new PlcParameterObject();
+ plcParameterObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//璁剧疆璧峰浣嶅湴鍧�
+ plcParameterObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//璁剧疆鍦板潃闀垮害
+
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject parameterObj = jsonArray.getJSONObject(i);
+ PlcParameterInfo plcParameterInfo = new PlcParameterInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
+ String codeid = parameterObj.getStr("codeId");
+ plcParameterInfo.setCodeId(codeid);
+ plcParameterInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
+ //plcParameterInfo.setRatio(Integer.valueOf(parameterObj.getStr("ratio")));
+ plcParameterInfo.setAddressLength(Integer.valueOf(parameterObj.getStr("addressLenght")));
+ plcParameterInfo.setUnit(parameterObj.getStr("unit"));
+ plcParameterObject.addPlcParameter(plcParameterInfo);
+ }
+ // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
+ // byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
+ // plcParameterObject.setPlcParameterList(getplcvlues);
+
+ return plcParameterObject;
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ //鍒濆鍖朾it
+ public static PlcBitObject initbit(String jsonFilePath) {
+ PlcBitObject plcBitObject = new PlcBitObject();
+
+ try {
+ FileReader fileReader = new FileReader(jsonFilePath);
+ BufferedReader bufferedReader = new BufferedReader(fileReader);
+
+ StringBuilder content = new StringBuilder();
+ String line;
+
+ while ((line = bufferedReader.readLine()) != null) {
+ content.append(line);
+ }
+
+ bufferedReader.close();
+ fileReader.close();
+
+ JSONObject jsonfileobj = new JSONObject(content.toString());
+ JSONArray jsonArray = jsonfileobj.getJSONArray("parameteInfor");
+ plcBitObject.setPlcAddressBegin(jsonfileobj.getStr("plcAddressBegin"));//璁剧疆璧峰浣嶅湴鍧�
+ plcBitObject.setPlcAddressLength(Integer.valueOf(jsonfileobj.getStr("plcAddressLenght")));//璁剧疆鍦板潃闀垮害
+
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject parameterObj = jsonArray.getJSONObject(i);
+
+ PlcBitInfo plcBitInfo = new PlcBitInfo(jsonfileobj.getStr("plcAddressBegin")); //鍙傛暟瀹炰緥
+ String codeid = parameterObj.getStr("codeId");
+ plcBitInfo.setCodeId(codeid);
+ plcBitInfo.setAddressIndex(Integer.valueOf(parameterObj.getStr("addressIndex")));
+
+ plcBitObject.addPlcBit(plcBitInfo);
+ }
+ System.out.println("");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ //Boolean[] values1 = { false, true, true, true, false, false, true, false,
+ // false, true ,true };
+ // List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
+
+// List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
+// plcBitObject.setPlcBitList(getplcvlues);
+ return plcBitObject;
+ }
+
+//
+ public static void readAndUpdateBitValues(PlcBitObject plcBitObject) {
+
+ Boolean[] values1 = { false, true, true, true, false, false, true, false,
+ false, true ,true };
+ List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
+ //List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
+ plcBitObject.setPlcBitList(getplcvlues);
+ }
+
+
+ public static void readAndUpdateWordValues(PlcParameterObject plcParameterObject) {
+
+ byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03,0x03};
+ // byte[] getplcvlues = MockS7PLC.getInstance().readByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
+ plcParameterObject.setPlcParameterList(getplcvlues);
+ }
+
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/TokenTools.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/TokenTools.java
deleted file mode 100644
index bb35843..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/TokenTools.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.mes.tools;
-
-import cn.hutool.core.date.DateUtil;
-import com.auth0.jwt.JWT;
-import com.auth0.jwt.algorithms.Algorithm;
-
-import java.util.Date;
-
-public class TokenTools {
-
- /**
- * 鐢熸垚token
- *
- * @return
- */
- public static String getToken(String userid, String sign) {
- return JWT.create().withAudience(userid) // 灏� user id 淇濆瓨鍒� token 閲岄潰,浣滀负杞借嵎
- .withExpiresAt(DateUtil.offsetHour(new Date(), 24)) // 2灏忔椂鍚巘oken杩囨湡
- .sign(Algorithm.HMAC256(sign)); // 浠� password 浣滀负 token 鐨勫瘑閽�
-
- }
-}
diff --git a/hangzhoumesParent/common/springsecurity/pom.xml b/hangzhoumesParent/common/springsecurity/pom.xml
index cca1425..f4e6eed 100644
--- a/hangzhoumesParent/common/springsecurity/pom.xml
+++ b/hangzhoumesParent/common/springsecurity/pom.xml
@@ -23,15 +23,16 @@
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- Spring Security渚濊禆 -->
-<!-- <dependency>-->
-<!-- <groupId>org.springframework.boot</groupId>-->
-<!-- <artifactId>spring-boot-starter-security</artifactId>-->
-<!-- </dependency>-->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-security</artifactId>
+ </dependency>
-<!-- <dependency>-->
-<!-- <groupId>io.jsonwebtoken</groupId>-->
-<!-- <artifactId>jjwt</artifactId>-->
-<!-- </dependency>-->
+ <dependency>
+ <groupId>io.jsonwebtoken</groupId>
+ <artifactId>jjwt</artifactId>
+ <version>0.9.0</version>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/MyCorsConfig.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/MyCorsConfig.java
new file mode 100644
index 0000000..521c147
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/MyCorsConfig.java
@@ -0,0 +1,46 @@
+package com.mes.common.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;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/25 14:13
+ * @Description:
+ */
+@Configuration
+public class MyCorsConfig {
+
+ @Bean
+ public WebMvcConfigurer corsConfigurer() {
+ return new WebMvcConfigurer() {
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**");
+ }
+ };
+ }
+
+ @Bean
+ public CorsWebFilter corsWebFilter() {
+ UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+
+ CorsConfiguration corsConfiguration = new CorsConfiguration();
+
+ //1銆侀厤缃法鍩�
+ corsConfiguration.addAllowedHeader("*");
+ corsConfiguration.addAllowedMethod("*");
+ corsConfiguration.addAllowedOrigin("*");
+ corsConfiguration.setAllowCredentials(true);
+
+ source.registerCorsConfiguration("/**", corsConfiguration);
+ return new CorsWebFilter(source);
+ }
+
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java
new file mode 100644
index 0000000..e469272
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java
@@ -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鏉ュ簭鍒楀寲鍜屽弽搴忓垪鍖杛edis鐨刱ey鍊�
+ template.setKeySerializer(new StringRedisSerializer());
+ template.setValueSerializer(serializer);
+
+ // Hash鐨刱ey涔熼噰鐢⊿tringRedisSerializer鐨勫簭鍒楀寲鏂瑰紡
+ template.setHashKeySerializer(new StringRedisSerializer());
+ template.setHashValueSerializer(serializer);
+
+ template.afterPropertiesSet();
+ return template;
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java
new file mode 100644
index 0000000..e4a543e
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java
@@ -0,0 +1,53 @@
+package com.mes.common.config;
+
+
+import com.mes.common.filter.JwtAuthenticationTokenFilter;
+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.WebSecurityConfigurerAdapter;
+import org.springframework.security.config.http.SessionCreationPolicy;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+
+@Configuration
+//@EnableWebSecurity
+@EnableGlobalMethodSecurity(prePostEnabled = true)
+public class TokenWebSecurityConfig extends WebSecurityConfigurerAdapter {
+ @Autowired
+ private JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter;
+
+ @Bean
+ public PasswordEncoder passwordEncoder() {
+ return new BCryptPasswordEncoder();
+ }
+
+ /**
+ * 閰嶇疆杩囨护瑙勫垯
+ */
+ @Override
+ protected void configure(HttpSecurity http) throws Exception {
+ http
+ //鍏抽棴csrf
+ .csrf().disable()
+ //涓嶉�氳繃Session鑾峰彇SecurityContext
+ .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
+ .and()
+ .authorizeRequests()
+ // 瀵逛簬鐧诲綍鎺ュ彛 鍏佽鍖垮悕璁块棶
+ .antMatchers("/userinfo/login").anonymous()
+ .antMatchers("/hello").permitAll()
+ // 闄や笂闈㈠鐨勬墍鏈夎姹傚叏閮ㄩ渶瑕侀壌鏉冭璇�
+ .anyRequest().permitAll();
+// http.addFilterBefore(jwtAuthenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
+ }
+
+ @Bean
+ @Override
+ public AuthenticationManager authenticationManagerBean() throws Exception {
+ return super.authenticationManagerBean();
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java
new file mode 100644
index 0000000..5be6d66
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java
@@ -0,0 +1,76 @@
+package com.mes.common.filter;
+
+import com.mes.common.utils.JwtUtil;
+import com.mes.common.utils.RedisUtil;
+import com.mes.menu.mapper.SysMenuMapper;
+import com.mes.userinfo.entity.LoginUser;
+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 {
+ // 姝ゅ瑙i噴涓轰粈涔堜笉鍘诲疄鐜癋ilter鎺ュ彛锛屽洜涓哄湪鏌愪簺鎯呭喌涓嬩細杩囨护涓ゆ锛屾墽琛屼袱娆ilter閲岄潰鐨勬柟娉曪紝鎵�浠ユ垜浠�夋嫨缁ф壙SpringSecurity涓殑OncePerRequestFilter
+ @Autowired
+ private RedisUtil redisUtil;
+
+ @Resource
+ private SysMenuMapper menuMapper;
+
+ @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濂藉鏄悗闈㈢粨鏋滆繑鍥炵殑鏃跺�欏氨涓嶄細鍐嶈蛋涓�閬嶆杩囨护鍣ㄧ殑鏂规硶浜�
+ }
+ //瑙f瀽token
+ String userid;
+ try {
+ Claims claims = JwtUtil.parseJWT(token);
+ userid = claims.getSubject();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("token闈炴硶");
+ }
+ //浠巖edis涓幏鍙栫敤鎴蜂俊鎭�
+ String redisKey = "login:" + userid;
+ LoginUser loginUser = redisUtil.getCacheObject(redisKey);
+ if (Objects.isNull(loginUser)) {
+ throw new RuntimeException("鐢ㄦ埛鏈櫥褰�");
+ }
+ //瀛樺叆SecurityContextHolder锛屼互渚涘悗闈㈢殑杩囨护鍣ㄤ娇鐢�
+ List<String> permissionKeyList = menuMapper.selectPermsByUserId(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);
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/AccessDeniedHandlerImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/AccessDeniedHandlerImpl.java
new file mode 100644
index 0000000..302ff52
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/AccessDeniedHandlerImpl.java
@@ -0,0 +1,30 @@
+package com.mes.common.handler;
+
+import com.alibaba.fastjson.JSON;
+import com.mes.common.utils.WebUtils;
+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.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/12 10:38
+ * @Description:
+ */
+@Component
+public class AccessDeniedHandlerImpl implements AccessDeniedHandler {
+ @Override
+ public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException accessDeniedException) throws IOException, ServletException {
+ Result result = Result.error(HttpStatus.FORBIDDEN.value(), "鏉冮檺涓嶈冻");
+ String json = JSON.toJSONString(result);
+ WebUtils.renderString(response, json);
+
+ }
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/AuthenticationEntryPointImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/AuthenticationEntryPointImpl.java
new file mode 100644
index 0000000..6cf146f
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/AuthenticationEntryPointImpl.java
@@ -0,0 +1,29 @@
+package com.mes.common.handler;
+
+import com.alibaba.fastjson.JSON;
+import com.mes.common.utils.WebUtils;
+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.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/12 10:38
+ * @Description:
+ */
+@Component
+public class AuthenticationEntryPointImpl implements AuthenticationEntryPoint {
+ @Override
+ public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
+ Result result = Result.error(HttpStatus.UNAUTHORIZED.value(), "璁よ瘉澶辫触璇烽噸鏂扮櫥褰�");
+ String json = JSON.toJSONString(result);
+ WebUtils.renderString(response, json);
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/FastJsonRedisSerializer.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/FastJsonRedisSerializer.java
new file mode 100644
index 0000000..f8ab417
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/FastJsonRedisSerializer.java
@@ -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);
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/JwtUtil.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/JwtUtil.java
new file mode 100644
index 0000000..8c8f0d9
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/JwtUtil.java
@@ -0,0 +1,120 @@
+package com.mes.common.utils;
+
+
+import io.jsonwebtoken.Claims;
+import io.jsonwebtoken.JwtBuilder;
+import io.jsonwebtoken.Jwts;
+import io.jsonwebtoken.SignatureAlgorithm;
+
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+import java.util.Base64;
+import java.util.Date;
+import java.util.UUID;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/9 19:15
+ * @Description:
+ */
+public class JwtUtil {
+
+ //鏈夋晥鏈熶负
+ public static final Long JWT_TTL = 60 * 60 * 1000L;// 60 * 60 *1000 涓�涓皬鏃�
+ //璁剧疆绉橀挜鏄庢枃
+ public static final String JWT_KEY = "sangeng";
+
+ public static String getUUID() {
+ String token = UUID.randomUUID().toString().replaceAll("-", "");
+ return token;
+ }
+
+ /**
+ * 鐢熸垚jtw
+ *
+ * @param subject token涓瀛樻斁鐨勬暟鎹紙json鏍煎紡锛�
+ * @return
+ */
+ public static String createJWT(String subject) {
+ JwtBuilder builder = getJwtBuilder(subject, null, getUUID());// 璁剧疆杩囨湡鏃堕棿
+ return builder.compact();
+ }
+
+ /**
+ * 鐢熸垚jtw
+ *
+ * @param subject token涓瀛樻斁鐨勬暟鎹紙json鏍煎紡锛�
+ * @param ttlMillis token瓒呮椂鏃堕棿
+ * @return
+ */
+ public static String createJWT(String subject, Long ttlMillis) {
+ JwtBuilder builder = getJwtBuilder(subject, ttlMillis, getUUID());// 璁剧疆杩囨湡鏃堕棿
+ return builder.compact();
+ }
+
+ private static JwtBuilder getJwtBuilder(String subject, Long ttlMillis, String uuid) {
+ SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;
+ SecretKey secretKey = generalKey();
+ long nowMillis = System.currentTimeMillis();
+ Date now = new Date(nowMillis);
+ if (ttlMillis == null) {
+ ttlMillis = JwtUtil.JWT_TTL;
+ }
+ long expMillis = nowMillis + ttlMillis;
+ Date expDate = new Date(expMillis);
+ return Jwts.builder()
+ .setId(uuid) //鍞竴鐨処D
+ .setSubject(subject) // 涓婚 鍙互鏄疛SON鏁版嵁
+ .setIssuer("sg") // 绛惧彂鑰�
+ .setIssuedAt(now) // 绛惧彂鏃堕棿
+ .signWith(signatureAlgorithm, secretKey) //浣跨敤HS256瀵圭О鍔犲瘑绠楁硶绛惧悕, 绗簩涓弬鏁颁负绉橀挜
+ .setExpiration(expDate);
+ }
+
+ /**
+ * 鍒涘缓token
+ *
+ * @param id
+ * @param subject
+ * @param ttlMillis
+ * @return
+ */
+ public static String createJWT(String id, String subject, Long ttlMillis) {
+ JwtBuilder builder = getJwtBuilder(subject, ttlMillis, id);// 璁剧疆杩囨湡鏃堕棿
+ return builder.compact();
+ }
+
+ public static void main(String[] args) throws Exception {
+ String token = "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJjYWM2ZDVhZi1mNjVlLTQ0MDAtYjcxMi0zYWEwOGIyOTIwYjQiLCJzdWIiOiJzZyIsImlzcyI6InNnIiwiaWF0IjoxNjM4MTA2NzEyLCJleHAiOjE2MzgxMTAzMTJ9.JVsSbkP94wuczb4QryQbAke3ysBDIL5ou8fWsbt_ebg";
+ Claims claims = parseJWT(token);
+ System.out.println(claims);
+ }
+
+ /**
+ * 鐢熸垚鍔犲瘑鍚庣殑绉橀挜 secretKey
+ *
+ * @return
+ */
+ public static SecretKey generalKey() {
+ byte[] encodedKey = Base64.getDecoder().decode(JwtUtil.JWT_KEY);
+ SecretKey key = new SecretKeySpec(encodedKey, 0, encodedKey.length, "AES");
+ return key;
+ }
+
+ /**
+ * 瑙f瀽
+ *
+ * @param jwt
+ * @return
+ * @throws Exception
+ */
+ public static Claims parseJWT(String jwt) throws Exception {
+ SecretKey secretKey = generalKey();
+ return Jwts.parser()
+ .setSigningKey(secretKey)
+ .parseClaimsJws(jwt)
+ .getBody();
+ }
+
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/RedisUtil.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/RedisUtil.java
new file mode 100644
index 0000000..e097010
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/RedisUtil.java
@@ -0,0 +1,220 @@
+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銆丼tring銆佸疄浣撶被绛�
+ *
+ * @param key 缂撳瓨鐨勯敭鍊�
+ * @param value 缂撳瓨鐨勫��
+ */
+ public <T> void setCacheObject(final String key, final T value) {
+ redisTemplate.opsForValue().set(key, value);
+ }
+
+ /**
+ * 缂撳瓨鍩烘湰鐨勫璞★紝Integer銆丼tring銆佸疄浣撶被绛�
+ *
+ * @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=璁剧疆鎴愬姛锛沠alse=璁剧疆澶辫触
+ */
+ public boolean expire(final String key, final long timeout) {
+ return expire(key, timeout, TimeUnit.SECONDS);
+ }
+
+ /**
+ * 璁剧疆鏈夋晥鏃堕棿
+ *
+ * @param key Redis閿�
+ * @param timeout 瓒呮椂鏃堕棿
+ * @param unit 鏃堕棿鍗曚綅
+ * @return true=璁剧疆鎴愬姛锛沠alse=璁剧疆澶辫触
+ */
+ 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;
+ }
+
+ /**
+ * 鑾峰緱缂撳瓨鐨刲ist瀵硅薄
+ *
+ * @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;
+ }
+
+ /**
+ * 鑾峰緱缂撳瓨鐨剆et
+ *
+ * @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);
+ }
+ }
+
+ /**
+ * 鑾峰緱缂撳瓨鐨凪ap
+ *
+ * @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);
+ }
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/WebUtils.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/WebUtils.java
new file mode 100644
index 0000000..618144d
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/WebUtils.java
@@ -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;
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java
new file mode 100644
index 0000000..131b179
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java
@@ -0,0 +1,39 @@
+package com.mes.menu.controller;
+
+
+import com.mes.menu.entity.SysMenu;
+import com.mes.menu.service.SysMenuService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鑿滃崟琛�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@ApiModel("鑾峰彇鑿滃崟淇℃伅")
+@RestController
+@RequestMapping("/menu/sysMenu")
+public class SysMenuController {
+
+ @Autowired
+ SysMenuService sysMenuService;
+
+ @ApiOperation("鑾峰彇鐢ㄦ埛鏈夋潈闄愮殑鎵�鏈夎彍鍗�")
+ @GetMapping("/list")
+ public Result<List<SysMenu>> getMenuTree() {
+ return Result.success(sysMenuService.getMenuTree());
+ }
+
+}
+
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/entity/SysMenu.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/entity/SysMenu.java
new file mode 100644
index 0000000..9ae6597
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/entity/SysMenu.java
@@ -0,0 +1,82 @@
+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 Integer id;
+
+ /**
+ * 鐖秈d
+ */
+ private Integer parentId;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ private String menuName;
+
+ /**
+ * 鍥炬爣
+ */
+ private String icon;
+
+ /**
+ * 鍦板潃
+ */
+ private String url;
+
+ /**
+ * 璇█绫诲瀷
+ */
+ private String languageType;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer status;
+
+ /**
+ * 鎺掑簭
+ */
+ private String listSort;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private Date createTime;
+
+ /**
+ * 瀛愯彍鍗�
+ */
+ @TableField(exist = false)
+ private List<SysMenu> children;
+
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java
new file mode 100644
index 0000000..c2fcea5
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java
@@ -0,0 +1,19 @@
+package com.mes.menu.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.menu.entity.SysMenu;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鑿滃崟琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysMenuMapper extends BaseMapper<SysMenu> {
+
+ List<String> selectPermsByUserId(long parseLong);
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java
new file mode 100644
index 0000000..3b77a2e
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java
@@ -0,0 +1,19 @@
+package com.mes.menu.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.menu.entity.SysMenu;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鑿滃崟琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysMenuService extends IService<SysMenu> {
+
+ List<SysMenu> getMenuTree();
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
new file mode 100644
index 0000000..8527a36
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
@@ -0,0 +1,67 @@
+package com.mes.menu.service.impl;
+
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.menu.entity.SysMenu;
+import com.mes.menu.mapper.SysMenuMapper;
+import com.mes.menu.service.SysMenuService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 鑿滃崟琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Service
+@Slf4j
+public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService {
+
+ @Override
+ public List<SysMenu> getMenuTree() {
+ List<SysMenu> menuList = this.baseMapper.selectList(null);
+ return create(menuList);
+ }
+
+
+ /**
+ * 灏嗘暟鎹簱涓煡璇㈠嚭鏉ョ殑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()))
+ .map(item -> {
+ item.setChildren(getChildren(item, menus));
+ return item;
+ }).collect(Collectors.toList());
+ log.info("鑿滃崟鏍�:{}", JSONUtil.toJsonStr(res));
+ return res;
+ }
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java
new file mode 100644
index 0000000..943ff7d
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java
@@ -0,0 +1,20 @@
+package com.mes.role.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 瑙掕壊琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@RestController
+@RequestMapping("/role/sys-role")
+public class SysRoleController {
+
+}
+
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleMenuController.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleMenuController.java
new file mode 100644
index 0000000..77b3175
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleMenuController.java
@@ -0,0 +1,20 @@
+package com.mes.role.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@RestController
+@RequestMapping("/role/sys-role-menu")
+public class SysRoleMenuController {
+
+}
+
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRole.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRole.java
new file mode 100644
index 0000000..14fd4a3
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRole.java
@@ -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姝e父 1鍋滅敤锛�
+ */
+ private String status;
+
+ /**
+ * 鍒犻櫎鏍囧織
+ */
+ private Integer delFlag;
+
+ /**
+ * 澶囨敞
+ */
+ private String remark;
+
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java
new file mode 100644
index 0000000..e69af40
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java
@@ -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(value = "role_id", type = IdType.AUTO)
+ private Long roleId;
+
+ /**
+ * 鑿滃崟id
+ */
+ private Long menuId;
+
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java
new file mode 100644
index 0000000..f90596c
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java
@@ -0,0 +1,16 @@
+package com.mes.role.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.role.entity.SysRole;
+
+/**
+ * <p>
+ * 瑙掕壊琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysRoleMapper extends BaseMapper<SysRole> {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java
new file mode 100644
index 0000000..747f5ac
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java
@@ -0,0 +1,16 @@
+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> {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMapper.xml b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMapper.xml
new file mode 100644
index 0000000..9a0cd27
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.role.mapper.SysRoleMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMenuMapper.xml b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMenuMapper.xml
new file mode 100644
index 0000000..af0749b
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMenuMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.role.mapper.SysRoleMenuMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleMenuService.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleMenuService.java
new file mode 100644
index 0000000..e4d23dc
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleMenuService.java
@@ -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> {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleService.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleService.java
new file mode 100644
index 0000000..6f89b19
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleService.java
@@ -0,0 +1,16 @@
+package com.mes.role.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.role.entity.SysRole;
+
+/**
+ * <p>
+ * 瑙掕壊琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysRoleService extends IService<SysRole> {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleMenuServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleMenuServiceImpl.java
new file mode 100644
index 0000000..4c8a475
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleMenuServiceImpl.java
@@ -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 {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
new file mode 100644
index 0000000..5b78836
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.role.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.role.entity.SysRole;
+import com.mes.role.mapper.SysRoleMapper;
+import com.mes.role.service.SysRoleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 瑙掕壊琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Service
+public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/controller/SysUserController.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/controller/SysUserController.java
new file mode 100644
index 0000000..aa99f77
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/controller/SysUserController.java
@@ -0,0 +1,36 @@
+package com.mes.userinfo.controller;
+
+
+import com.mes.userinfo.entity.SysUser;
+import com.mes.userinfo.service.SysUserService;
+import com.mes.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 鐢ㄦ埛琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@RestController
+@CrossOrigin
+@RequestMapping("/userinfo")
+public class SysUserController {
+
+ @Autowired
+ private SysUserService sysUserService;
+
+ @PostMapping("/login")
+ public Result login(@RequestBody SysUser user) {
+ return sysUserService.login(user);
+ }
+
+ @GetMapping("/hello")
+ public Result hello() {
+ return Result.success("eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJlZjMyMjQ4NDcyODE0ZWFlYWRlOTBkYmZjYWFlZmNmZSIsInN1YiI6IjEiLCJpc3MiOiJzZyIsImlhdCI6MTcxMjkwMjI0NCwiZXhwIjoxNzEyOTA1ODQ0fQ.DlJkhkiwjZSqprdLzKaTB3yuyxGukerKeF0FbJK_6HY");
+ }
+}
+
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/controller/SysUserRoleController.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/controller/SysUserRoleController.java
new file mode 100644
index 0000000..8d6e6a7
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/controller/SysUserRoleController.java
@@ -0,0 +1,20 @@
+package com.mes.userinfo.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@RestController
+@RequestMapping("/userinfo/sys-user-role")
+public class SysUserRoleController {
+
+}
+
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/LoginUser.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/LoginUser.java
new file mode 100644
index 0000000..d60a05f
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/LoginUser.java
@@ -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() {
+
+ // 浼樺寲涓哄彧闇�瑕佺涓�娆¤幏鍙栫殑鏃跺�欒繘琛岄亶鍘嗭紝鍚庨潰鍐嶇敤灏变細浠巃uthorities杩欎釜鎴愬憳鍙橀噺涓幏鍙栦簡锛屼笉浼氬啀杩涜Stream寰幆閬嶅巻浜�
+ if (authorities != null) {
+ return authorities;
+ }
+ //鎶妏ermissions涓瓧绗︿覆绫诲瀷鐨勬潈闄愪俊鎭浆鎹㈡垚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;
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUser.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUser.java
new file mode 100644
index 0000000..dcb8384
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUser.java
@@ -0,0 +1,66 @@
+package com.mes.userinfo.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 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姝e父 1鍋滅敤锛�
+ */
+ private String status;
+
+ /**
+ * 澶村儚
+ */
+ private String avatar;
+
+ /**
+ * 鐢ㄦ埛绫诲瀷锛�0绠$悊鍛橈紝1鏅�氱敤鎴凤級
+ */
+ private String userType;
+
+ /**
+ * 鍒犻櫎鏍囧織
+ */
+ private Integer delFlag;
+
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUserRole.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUserRole.java
new file mode 100644
index 0000000..4d76c57
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/SysUserRole.java
@@ -0,0 +1,36 @@
+package com.mes.userinfo.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 SysUserRole implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鐢ㄦ埛id
+ */
+ @TableId(value = "user_id", type = IdType.AUTO)
+ private Long userId;
+
+ /**
+ * 瑙掕壊id
+ */
+ private Long roleId;
+
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java
new file mode 100644
index 0000000..ca3ef72
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserMapper.java
@@ -0,0 +1,16 @@
+package com.mes.userinfo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.userinfo.entity.SysUser;
+
+/**
+ * <p>
+ * 鐢ㄦ埛琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysUserMapper extends BaseMapper<SysUser> {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java
new file mode 100644
index 0000000..d00106d
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/SysUserRoleMapper.java
@@ -0,0 +1,16 @@
+package com.mes.userinfo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.userinfo.entity.SysUserRole;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserMapper.xml b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserMapper.xml
new file mode 100644
index 0000000..300e913
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.userinfo.mapper.SysUserMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserRoleMapper.xml b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserRoleMapper.xml
new file mode 100644
index 0000000..0fd2be9
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/mapper/xml/SysUserRoleMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.userinfo.mapper.SysUserRoleMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserRoleService.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserRoleService.java
new file mode 100644
index 0000000..0992b6c
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserRoleService.java
@@ -0,0 +1,16 @@
+package com.mes.userinfo.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.userinfo.entity.SysUserRole;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysUserRoleService extends IService<SysUserRole> {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserService.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserService.java
new file mode 100644
index 0000000..ca49aa0
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/SysUserService.java
@@ -0,0 +1,20 @@
+package com.mes.userinfo.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.userinfo.entity.SysUser;
+import com.mes.utils.Result;
+
+/**
+ * <p>
+ * 鐢ㄦ埛琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysUserService extends IService<SysUser> {
+
+ Result login(SysUser user);
+
+ Result logout();
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserRoleServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserRoleServiceImpl.java
new file mode 100644
index 0000000..baa93c2
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserRoleServiceImpl.java
@@ -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 {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java
new file mode 100644
index 0000000..f6207b7
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java
@@ -0,0 +1,89 @@
+package com.mes.userinfo.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.common.utils.JwtUtil;
+import com.mes.common.utils.RedisUtil;
+import com.mes.menu.mapper.SysMenuMapper;
+import com.mes.userinfo.entity.LoginUser;
+import com.mes.userinfo.entity.SysUser;
+import com.mes.userinfo.mapper.SysUserMapper;
+import com.mes.userinfo.service.SysUserService;
+import com.mes.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 鐢ㄦ埛琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Service
+public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService, UserDetailsService {
+
+ @Autowired
+ private AuthenticationManager authenticationManager;
+ @Autowired
+ private RedisUtil redisUtil;
+
+ @Resource
+ private SysMenuMapper sysMenuMapper;
+
+ @Override
+ public Result 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.createJWT(userId);
+ //authenticate瀛樺叆redis
+ redisUtil.setCacheObject("login:" + userId, loginUser);
+ //鎶妕oken鍝嶅簲缁欏墠绔�
+ HashMap<String, String> map = new HashMap<>();
+ map.put("token", jwt);
+ return Result.success(map);
+ }
+
+ @Override
+ public Result logout() {
+ Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
+ LoginUser loginUser = (LoginUser) authentication.getPrincipal();
+ Long userid = loginUser.getUser().getId();
+ redisUtil.deleteObject("login:" + userid);
+ return Result.success("閫�鍑烘垚鍔�");
+ }
+
+ @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);
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/resources/application.yml b/hangzhoumesParent/common/springsecurity/src/main/resources/application.yml
new file mode 100644
index 0000000..d5978be
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/resources/application.yml
@@ -0,0 +1,25 @@
+server:
+ port: 8089
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
+ username: root
+ password: beibo.123/
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 10.153.19.150:8848
+ application:
+ name: security
+ redis:
+ database: 0
+ host: 10.153.19.150
+ port: 6379
+ password:
+ session:
+ store-type: redis
+mybatis-plus:
+ mapper-locations: classpath*:mapper/*.xml
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
diff --git a/hangzhoumesParent/common/springsecurity/src/main/resources/mapper/SysMenuMapper.xml b/hangzhoumesParent/common/springsecurity/src/main/resources/mapper/SysMenuMapper.xml
new file mode 100644
index 0000000..38607e4
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/resources/mapper/SysMenuMapper.xml
@@ -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>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java
index b559502..bd96580 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java
@@ -18,7 +18,6 @@
@EnableDiscoveryClient
@MapperScan(basePackages = "com.mes.*.mapper")
public class CacheVerticalClassModuleApplication {
-
public static void main(String[] args) {
try {
SpringApplication.run(CacheVerticalClassModuleApplication.class, args);
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
index 7b778e5..25bac7b 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
@@ -1,61 +1,48 @@
package com.mes.bigstorage.controller;
-
import com.mes.bigstorage.entity.BigStorageCage;
-import com.mes.bigstorage.entity.BigStorageCageDetails;
-import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
-
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 澶х悊鐗囩淇℃伅
* </p>
*
* @author zhoush
* @since 2024-03-27
*/
+@ApiModel("澶х悊鐗囩淇℃伅")
@RestController
@RequestMapping("/bigStorageCage")
public class BigStorageCageController {
+ @Autowired
private BigStorageCageService bigStorageCageService;
- private BigStorageCageDetailsService bigStorageCageDetailsService;
- //todo: 瀹炰緥浠g爜 寰呭垹闄�
- @ApiOperation("娴嬭瘯")
- @GetMapping("/index")
- public String index() {
- return "hello world";
- }
+// public Result<BigStorageCageDetails> feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails){
+//
+// }
@ApiOperation("鐞嗙墖绗间俊鎭�")
- @GetMapping("/BigStorageCage")
- public List<BigStorageCage> BigStorageCage() {
- return bigStorageCageService.list();
- }
-
- @ApiOperation("鐞嗙墖绗艰鎯�")
- @GetMapping("/BigStorageCageDetails")
- public List<BigStorageCageDetails> BigStorageCageDetails() {
- return bigStorageCageDetailsService.list();
- }
-
- @ApiOperation("灏忚溅瀹炴椂浣嶇疆")
- @GetMapping("/CarPosition")
- public List<Integer> CarPosition() {
- return bigStorageCageDetailsService.getCarposition();
+ @GetMapping("/bigStorageCage")
+ public Result<List<BigStorageCage>> querybigStorageCageDetail() {
+ return Result.success(bigStorageCageService.querybigStorageCageDetail());
}
@ApiOperation("鎵嬪姩瀹屾垚浠诲姟")
- @GetMapping("/FinishTask")
- public void FinishTask(int type, int id) {
+ @PostMapping("/finishTask")
+ public Result<String> finishTask(int type, int id) {
// bigStorageCageDetailsService.FinishTask();
+ return Result.success("success");
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
index 2dfc440..4ba8dde 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -1,21 +1,39 @@
package com.mes.bigstorage.controller;
+import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.bigstorage.service.BigStorageCageDetailsService;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
-
import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
* </p>
*
* @author zhoush
* @since 2024-03-27
*/
+@ApiModel(description = "鐞嗙墖绗艰鎯�")
@RestController
@RequestMapping("/bigStorageCageDetails")
public class BigStorageCageDetailsController {
+ @Autowired
+ private BigStorageCageDetailsService bigStorageCageDetailsService;
+
+ @ApiOperation("鐞嗙墖绗艰鎯�")
+ @GetMapping("/bigStorageCageDetails")
+ public List<BigStorageCageDetails> bigStorageCageDetails() {
+ return bigStorageCageDetailsService.list();
+ }
+
+
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
index 76fcb26..f145de5 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
@@ -1,14 +1,17 @@
package com.mes.bigstorage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.util.List;
+
/**
* <p>
- *
+ *
* </p>
*
* @author zhoush
@@ -46,5 +49,8 @@
*/
private Integer remainWidth;
+ @TableField(exist = false)
+ private List<BigStorageCageDetails> bigStorageCageDetails;
+
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
index a27e26f..493a805 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
@@ -2,12 +2,11 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.bigstorage.entity.BigStorageCageDetails;
-import feign.Param;
/**
* <p>
- * Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
* </p>
*
* @author zhoush
@@ -15,7 +14,4 @@
*/
public interface BigStorageCageDetailsMapper extends BaseMapper<BigStorageCageDetails> {
- BigStorageCageDetails SelectTemperingFeedSlot(@Param("bigStorageCageDetails") BigStorageCageDetails bigStorageCageDetails);
-
- BigStorageCageDetails SelectEmptyFeedSlot();
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
index 220ccab..67f4cad 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
@@ -3,14 +3,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
-import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
* <p>
- * Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
* </p>
*
* @author zhoush
@@ -18,15 +18,4 @@
*/
public interface BigStorageCageMapper extends BaseMapper<BigStorageCage> {
-
- BigStorageCageDetails SelectEmptyFeedSlot();
-
- @Update("update big_storage_cage set remain_width = #{width} where slot=#{slot}")
- public void UpdateRemainWidth(int slot,int width);
-
- BigStorageCageDetails SelectTemperingFeedSlot(GlassInfo glassInfo);
-
- BigStorageCageDetails SelectOtherFeedSlot();
-
- List<String> selectTemperingId();
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
index 4d4527c..ef46c59 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -2,9 +2,6 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.bigstorage.entity.BigStorageCageDetails;
-import com.mes.bigstorage.mapper.BigStorageCageMapper;
-
-import java.util.List;
/**
* <p>
@@ -16,7 +13,4 @@
*/
public interface BigStorageCageDetailsService extends IService<BigStorageCageDetails> {
- public boolean getTemperingGlass();
-
- List<Integer> getCarposition();
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
index 0f0c840..d8bb16e 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
@@ -3,24 +3,28 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
-import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
-import com.mes.bigstorage.mapper.BigStorageCageMapper;
-import com.mes.uppattenusage.entity.GlassInfo;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
/**
* <p>
- * 鏈嶅姟绫�
+ * 鏈嶅姟绫�
* </p>
*
* @author zhoush
* @since 2024-03-27
*/
public interface BigStorageCageService extends IService<BigStorageCage> {
- public void updateRemainWidth(int Slot);
- public BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails);
+
+ void updateRemainWidth(int Slot);
+
+ BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails);
+
+ boolean outGlass();
+
+ List<BigStorageCage> querybigStorageCageDetail();
+
+
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index c1adf50..42739ac 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -8,11 +8,12 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.List;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author zhoush
@@ -20,20 +21,17 @@
*/
@Service
public class BigStorageCageDetailsServiceImpl extends ServiceImpl<BigStorageCageDetailsMapper, BigStorageCageDetails> implements BigStorageCageDetailsService {
- @Autowired
+ @Resource
private BigStorageCageMapper bigStorageCageMapper;
+
@Override
- public boolean getTemperingGlass(){
+ public boolean getTemperingGlass() {
//鑾峰彇绗煎瓙鍐呮墍鏈夌増鍥惧彿
- List<String> temperingIdList=bigStorageCageMapper.selectTemperingId();
- for (String temperingId:temperingIdList
- ) {
+ List<String> temperingIdList = bigStorageCageMapper.selectTemperingId();
+ for (String temperingId : temperingIdList
+ ) {
}
return true;
- }
- @Override
- public List<Integer> getCarposition(){
- return null;
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
index ac3ee85..00f8430 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -1,75 +1,151 @@
package com.mes.bigstorage.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
import com.mes.bigstorage.mapper.BigStorageCageMapper;
import com.mes.bigstorage.service.BigStorageCageService;
-import com.mes.uppattenusage.entity.GlassInfo;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.mes.glassinfo.entity.GlassInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
+import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author zhoush
* @since 2024-03-27
*/
@Service
+@Slf4j
public class BigStorageCageServiceImpl extends ServiceImpl<BigStorageCageMapper, BigStorageCage> implements BigStorageCageService {
- @Autowired
- private BigStorageCageMapper bigStorageCageMapper;
- @Autowired
+
+ @Resource
private BigStorageCageDetailsMapper bigStorageCageDetailsMapper;
+
@Override
- public BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) {
+ public BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) {
+ //1銆佹煡璇㈢悊鐗囩鍐呯幓鐠冪墖搴忕瓑浜庡綋鍓嶇幓鐠冪墖搴�-1鐨勭幓鐠�
+ LambdaQueryWrapper<BigStorageCageDetails> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
+ .eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() + 1);
- //鑾峰彇鍚岄挗鍖栫増鍥緄d鍙繘鐗囩殑鏍煎瓙
- BigStorageCageDetails layoutSlotInfo =bigStorageCageMapper.SelectTemperingFeedSlot(glassInfo);
- //鏈夌鍚堟潯浠剁殑鏍煎瓙鏃�
- if (layoutSlotInfo!=null) {
- //灏嗙幓鐠冧俊鎭~鍏ョ悊鐗囩璇︽儏琛�
+ BigStorageCageDetails layoutSlotInfo = bigStorageCageDetailsMapper.selectOne(wrapper);
+ BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
+ bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot());
+
+ //2銆佹湁绗﹀悎鏉′欢鐨勬牸瀛愭椿鐗囧簭涓�1鏃�
+ log.info("鏈夌鍚堟潯浠剁殑鏍煎瓙娲荤墖搴忎负1鏃�");
+ if (layoutSlotInfo.getSlot() != null) {
bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot());
- }else{
+ } else {
//鑾峰彇涓嶅埌鏃讹細
+// LambdaQueryWrapper<BigStorageCageDetails> BigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>();
+// BigStorageCageDetailslambdaQueryWrapper
+// .select(BigStorageCageDetails::getTemperingLayoutId)
+// .groupBy(BigStorageCageDetails::getTemperingLayoutId);
+// List<Map<String, Object>> temperingLayoutIdList= bigStorageCageDetailsMapper.selectMaps(BigStorageCageDetailslambdaQueryWrapper);
+// for (Map<String, Object> map : temperingLayoutIdList) {
+// for (Map.Entry<String, Object> entry : map.entrySet()) {
+// String prefix = entry.getKey().substring(0, entry.getKey().indexOf('-'));
+// String suffix = entry.getKey().substring(entry.getKey().indexOf('-') + 1);
+// if(suffix.equals(entry.getValue())){
+//
+// }
+// }
+// }
+
//鑾峰彇鍙繘鐗囨牸瀛愪俊鎭�
- BigStorageCageDetails EmptySlotInfo=bigStorageCageMapper.SelectEmptyFeedSlot();
- if (EmptySlotInfo!=null){
- bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot());
- }else{
- //鑾峰彇鍏朵粬绗兼牸瀛�-
- BigStorageCageDetails OtherSlotInfo=bigStorageCageMapper.SelectOtherFeedSlot();
- bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot());
- }
+// BigStorageCageDetails EmptySlotInfo = bigStorageCageMapper.selectEmptyFeedSlot();
+// if (EmptySlotInfo != null) {
+// bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot());
+// } else {
+// //鑾峰彇鍏朵粬绗兼牸瀛�-
+// BigStorageCageDetails OtherSlotInfo = bigStorageCageMapper.selectOtherFeedSlot();
+// bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot());
+// }
//灏嗙幓鐠冧俊鎭斁鍏ヨ鏍煎瓙
}
-
- updateRemainWidth(bigStorageCageDetails.getSlot());
+ if (bigStorageCageDetails.getSlot() != null) {
+ bigStorageCageDetailsMapper.insert(bigStorageCageDetails);
+ updateRemainWidth(bigStorageCageDetails.getSlot());
+ }
return bigStorageCageDetails;
+ }
+
+ @Override
+ public boolean outGlass() {
+// // 1銆佹煡璇㈤挗鍖栧皬鐗囦换鍔¤〃鏄惁鏈夊緟鍑虹幓鐠�
+// List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.SelectTemperingGlassInfo();
+// //娌℃湁鍙嚭鐨勭幓鐠冩椂
+// if (temperingGlassInfoList != null) {
+// //鏌ヨ鏄惁鏈夊皬鐗囧叏閮ㄥ埌榻愮殑閽㈠寲鐗堝浘
+// } else {
+// //缁х画褰撳墠閽㈠寲鐗堝浘鐨勪换鍔�
+// }
+ LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>();
+ bigStorageCageDetailslambdaQueryWrapper
+ .select(BigStorageCageDetails::getTemperingLayoutId)
+ .groupBy(BigStorageCageDetails::getTemperingLayoutId);
+ List<Map<String, Object>> temperingLayoutIdList = bigStorageCageDetailsMapper.selectMaps(bigStorageCageDetailslambdaQueryWrapper);
+ for (Map<String, Object> map : temperingLayoutIdList) {
+ for (Map.Entry<String, Object> entry : map.entrySet()) {
+ String prefix = entry.getKey().substring(0, entry.getKey().indexOf('-'));
+ String suffix = entry.getKey().substring(entry.getKey().indexOf('-') + 1);
+ if (suffix.equals(entry.getValue())) {
+
+ }
+ }
+ }
+ return true;
}
//淇敼鏍煎瓙鍓╀綑瀹藉害
@Override
- public void updateRemainWidth(int Slot){
+ public void updateRemainWidth(int slot) {
//鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅
- int width=5000;
- List<BigStorageCageDetails> bigStorageCageDetailsList= Collections.singletonList(bigStorageCageDetailsMapper.selectById(Slot));
- for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList
+ Integer width = 5000;
+ List<BigStorageCageDetails> bigStorageCageDetailsList = Collections.singletonList(bigStorageCageDetailsMapper.selectById(slot));
+ for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
) {
- width-=Integer.parseInt(bigStorageCageDetails.getWidth().toString())+bigStorageCageDetails.getGap();
+ width -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap();
}
//淇敼鏍煎瓙鍓╀綑瀹藉害
- bigStorageCageMapper.UpdateRemainWidth(Slot,width);
+ BigStorageCage bigStorageCage = new BigStorageCage();
+ bigStorageCage.setRemainWidth(width);
+ UpdateWrapper<BigStorageCage> bigStorageCageWrapper = new UpdateWrapper<>();
+ bigStorageCageWrapper.eq("remain_width", width);
+ baseMapper.update(bigStorageCage, bigStorageCageWrapper);
+ }
+
+ @Override
+ public List<BigStorageCage> querybigStorageCageDetail() {
+ //1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭�
+ List<BigStorageCage> bigStorageCages = baseMapper.selectList(null);
+ log.info("1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭畬鎴愶紝鑾峰彇鍒扮殑鏁版嵁{}", bigStorageCages.size());
+ //2鑾峰彇鐞嗙墖绗兼墍鏈変俊鎭�
+ List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(null);
+ Map<Integer, List<BigStorageCageDetails>> listMap = bigStorageCageDetailsList.stream().collect(Collectors.groupingBy(BigStorageCageDetails::getSlot));
+ for (BigStorageCage bigStorageCage : bigStorageCages) {
+ List<BigStorageCageDetails> bigStorageCageDetails = listMap.get(bigStorageCage.getSlot());
+ bigStorageCage.setBigStorageCageDetails(bigStorageCageDetails);
+ }
+ return bigStorageCages;
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java
index 203bcb8..5a238b9 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java
@@ -3,13 +3,10 @@
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
-import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
import com.mes.temperingglass.service.TemperingGlassInfoService;
-import com.mes.uppattenusage.entity.GlassInfo;
-import com.mes.uppattenusage.service.GlassInfoService;
import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.List;
public class PlcStorageCage extends Thread {
@@ -21,48 +18,37 @@
private TemperingGlassInfoService temperingGlassInfoService;
@Autowired
private GlassInfoService glassInfoService;
+
@Override
public void run() {
while (this != null) {
try {
-
Thread.sleep(500);
- String plcFeedReq ="0";
- String plcFeedGlassid ="111";
+ String plcFeedReq = "0";
+ String plcFeedGlassid = "111";
//Plc杩涚墖璇锋眰鏃�
- if("1".equals(plcFeedReq)){
- BigStorageCageDetails bigStorageCageDetails=new BigStorageCageDetails();
+ if ("1".equals(plcFeedReq)) {
+ BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
//浼犲叆鐜荤拑id
- GlassInfo glassInfo=glassInfoService.getById(plcFeedGlassid);
+ GlassInfo glassInfo = glassInfoService.getById(plcFeedGlassid);
- BigStorageCageDetails SlotInfo=bigStorageCageService.FeedGlass(glassInfo,bigStorageCageDetails);
- if(SlotInfo!=null){
+ BigStorageCageDetails SlotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails);
+ if (SlotInfo != null) {
//plc浠诲姟鍙戦�佸瓧
}
}
//鍑虹墖璇锋眰
- String plcOutReq ="0";
- boolean result=false;
- if("1".equals(plcOutReq)){
+ String plcOutReq = "0";
+ boolean result = false;
+ if ("1".equals(plcOutReq)) {
//鑾峰彇閽㈠寲灏忕墖琛ㄦ湭鍑虹淇℃伅
- List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.SelectTemperingGlassInfo();
- //娌℃湁鍙嚭鐨勭幓鐠冩椂
- if(temperingGlassInfoList!=null){
- //鏌ヨ鏄惁鏈夊皬鐗囧叏閮ㄥ埌榻愮殑閽㈠寲鐗堝浘
- result = bigStorageCageDetailsService.getTemperingGlass();
- }else{
- //缁х画褰撳墠閽㈠寲鐗堝浘鐨勪换鍔�
- temperingGlassInfoService.addOutTask(temperingGlassInfoList);
- result=true;
- }
- if(result==true){
+
+ if (result == true) {
//plc浠诲姟鍙戦�佸瓧
}
}
-
-
} catch (Exception e) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
similarity index 87%
copy from hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
copy to hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
index fe7ec7c..1eaae48 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
@@ -1,4 +1,4 @@
-package com.mes.uppattenusage.controller;
+package com.mes.glassinfo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
similarity index 97%
rename from hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
rename to hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
index 3c6eb37..28effe7 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -1,11 +1,10 @@
-package com.mes.uppattenusage.entity;
+package com.mes.glassinfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
-
-import java.io.Serializable;
/**
* <p>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
similarity index 71%
rename from hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
rename to hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
index 6acb270..f2595d8 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
@@ -1,7 +1,7 @@
-package com.mes.uppattenusage.mapper;
+package com.mes.glassinfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
/**
* <p>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
similarity index 70%
rename from hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
rename to hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
index 8e380d7..981b2b7 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -1,7 +1,7 @@
-package com.mes.uppattenusage.service;
+package com.mes.glassinfo.service;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
/**
* <p>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
similarity index 62%
rename from hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
rename to hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index 7bab2ad..a30866a 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -1,9 +1,9 @@
-package com.mes.uppattenusage.service.impl;
+package com.mes.glassinfo.service.impl;
-import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.uppattenusage.mapper.GlassInfoMapper;
-import com.mes.uppattenusage.service.GlassInfoService;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.glassinfo.service.GlassInfoService;
import org.springframework.stereotype.Service;
/**
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
index 1a737e4..709c05d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
@@ -7,7 +7,7 @@
/**
* <p>
- * 鏈嶅姟绫�
+ * 鏈嶅姟绫�
* </p>
*
* @author zhoush
@@ -15,5 +15,6 @@
*/
public interface TemperingGlassInfoService extends IService<TemperingGlassInfo> {
public void addOutTask(List<TemperingGlassInfo> temperingGlassInfoList);
+
public List<TemperingGlassInfo> SelectTemperingGlassInfo();
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
deleted file mode 100644
index 948b3a4..0000000
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.mes.uppattenusage.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-/**
- * <p>
- *
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-public class GlassInfo implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 鐜荤拑淇℃伅琛╥d
- */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
-
- /**
- * 娴佺▼鍗�
- */
- private String flowcardId;
-
- /**
- * 娴佺▼鍗$幓鐠冪被鍨�
- */
- private Integer glassType;
-
- /**
- * 瀹�
- */
- private Double width;
-
- /**
- * 楂�
- */
- private Double height;
-
- /**
- * 鍘氬害
- */
- private Double thickness;
-
- /**
- * 鑶滅郴
- */
- private Integer filmsid;
-
- /**
- * 纾ㄥ墠瀹�
- */
- private Double edgWidth;
-
- /**
- * 纾ㄥ墠楂�
- */
- private Double edgHeight;
-
- /**
- * 鏄惁閰嶇墖
- */
- private Integer ismultiple;
-
- /**
- * 閰嶇墖鏈�澶у
- */
- private Double maxWidth;
-
- /**
- * 閰嶇墖鏈�澶ч珮
- */
- private Double maxHeight;
-
- /**
- * 閽㈠寲鏄惁鎺ュ彈妯斁
- */
- private Integer ishorizontal;
-
- /**
- * 鍘熺墖椤哄簭
- */
- private Integer patternSequence;
-
- /**
- * 閽㈠寲鐗堝浘id
- */
- private Integer temperingLayoutId;
-
- /**
- * 閽㈠寲鐗堝浘鐗囧簭
- */
- private Integer temperingFeedSequence;
-
- /**
- * x鍧愭爣
- */
- private Integer xCoordinate;
-
- /**
- * y鍧愭爣
- */
- private Integer yCoordinate;
-
- /**
- * 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
- */
- private Integer angle;
-
- /**
- * 宸ョ▼鍙�
- */
- private Integer engineerId;
-
- /**
- * 鐢熶骇瑙勫垯id
- */
- private Integer ruleId;
-
-
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/pom.xml b/hangzhoumesParent/moduleService/LoadGlassModule/pom.xml
index e1ec70c..0f8bb2e 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/pom.xml
@@ -9,7 +9,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>cacheGlass</artifactId>
+ <artifactId>loadGlass</artifactId>
<dependencies>
<dependency>
<groupId>junit</groupId>
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
index b47e3e7..2634690 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
@@ -19,11 +19,6 @@
@MapperScan(basePackages = "com.mes.*.mapper")
public class LoadGlassModuleApplication {
public static void main(String[] args) {
- try {
- SpringApplication.run(LoadGlassModuleApplication.class, args);
- } catch (Exception e) {
- log.error(e.getMessage());
- }
-
+ SpringApplication.run(LoadGlassModuleApplication.class, args);
}
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java
similarity index 87%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java
index 49e6d15..a988198 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java
@@ -1,4 +1,4 @@
-package com.mes.uppattenusage.controller;
+package com.mes.glassinfo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java
similarity index 95%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java
index 8cb7a31..bde85bb 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java
@@ -1,4 +1,4 @@
-package com.mes.uppattenusage.entity;
+package com.mes.glassinfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java
similarity index 70%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java
index fda84e4..6e7b58b 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java
@@ -1,7 +1,7 @@
-package com.mes.uppattenusage.mapper;
+package com.mes.glassinfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.glassinfo.entity.UpPattenUsage;
/**
* <p>
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java
similarity index 70%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java
index 55fb773..56f3fa2 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java
@@ -1,7 +1,7 @@
-package com.mes.uppattenusage.service;
+package com.mes.glassinfo.service;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.glassinfo.entity.UpPattenUsage;
/**
* <p>
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java
similarity index 61%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java
index 008b424..fade915 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java
@@ -1,9 +1,9 @@
-package com.mes.uppattenusage.service.impl;
+package com.mes.glassinfo.service.impl;
-import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.glassinfo.entity.UpPattenUsage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
-import com.mes.uppattenusage.service.UpPattenUsageService;
+import com.mes.glassinfo.mapper.UpPattenUsageMapper;
+import com.mes.glassinfo.service.UpPattenUsageService;
import org.springframework.stereotype.Service;
/**
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/LoadGlassController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/LoadGlassController.java
deleted file mode 100644
index 3988b80..0000000
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/LoadGlassController.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.mes.upworkstation.controller;
-import java.util.List;
-import java.util.Map;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import com.mes.upworkstation.entity.UpWorkstation;
-import com.mes.upworkstation.service.LoadGlassService;
-import com.mes.utils.Result;
-
-@RestController
-@RequestMapping("/LoadGlass")
-
-// TidyUpGlassModule 閽㈠寲妯″潡
-public class LoadGlassController {
-
- @Autowired
- private LoadGlassService loadGlassService;
-
- @PostMapping("/SelectAll") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
- @ResponseBody
- public Result SelectGlassInfo() {
- List<UpWorkstation> glass = loadGlassService.selectAll();
- System.out.println(glass);
- return Result.build(200,"", glass);
- }
-
- @PostMapping("/insertGlass") //淇敼涓�鏉″伐浣嶄俊鎭�,鎺ユ敹瀹炰緥绫诲瓧娈典负瀹介珮鍘氳啘绯绘暟閲忓伐浣峣d
- @ResponseBody
- public void insertGlassinfo(@RequestBody UpWorkstation upwork) {
- loadGlassService.insertGlass(upwork);
-
- }
-
- @PostMapping("/deleteGlass") //淇敼涓�鏉″伐浣嶇殑鐜荤拑淇℃伅锛屼紶杈撳伐浣峣d灏嗙幓鐠冧俊鎭浉鍏冲瓧娈垫洿鏀逛负null
- @ResponseBody
- public void SelectCutTerritory(int upworkid) {
- loadGlassService.deleteGlass(upworkid);
- }
-
- @PostMapping("/selectPriority") //寮�濮嬩笂鐗囦换鍔�
- @ResponseBody
- public void selectPriority() {
- boolean result = loadGlassService.isCanLoadGlass();
- if(result==true){
- loadGlassService.selectPriority();
- }
- }
-
-
-
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/UpWorkstationController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/UpWorkstationController.java
deleted file mode 100644
index 9a41288..0000000
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/UpWorkstationController.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mes.upworkstation.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author zhoush
- * @since 2024-04-07
- */
-@RestController
-@RequestMapping("/upWorkstation")
-public class UpWorkstationController {
-
-}
-
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/LoadGlassMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/LoadGlassMapper.java
deleted file mode 100644
index 8a47dfa..0000000
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/LoadGlassMapper.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.mes.upworkstation.mapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import java.util.List;
-import org.apache.ibatis.annotations.*;
-import com.mes.upworkstation.entity.UpWorkstation;
-@Mapper
-public interface LoadGlassMapper extends BaseMapper<UpWorkstation> {
- //鏄剧ず鐩墠宸ヤ綅鐜荤拑淇℃伅
- @Select("SELECT * FROM up_workstation")
- List<UpWorkstation> selectALL();
- //鍒犻櫎宸ヤ綅鐨勭幓鐠冧俊鎭�
- @Update("UPDATE `hangzhoumes`.`up_workstation` SET `pattern_width` =NULL, `pattern_heigth` = NULL, `pattern_thickness` = NULL, `films_id` = NULL, `number` = NULL WHERE `workstation_id`=#{id}")
- void deleteGlass(int id );
- //澧炲姞涓婄墖淇℃伅
- @Update ("UPDATE `hangzhoumes`.`up_workstation` SET `pattern_width` = #{upwork.patternwidth}, `pattern_heigth` = #{upwork.patternheigth}, `pattern_thickness` =#{upwork.patternthickness}, `films_id` =#{upwork.filmsid}, `number` = #{upwork.number} WHERE `id` = #{upwork.workstationid}; ")
- void insertGlass(UpWorkstation upwork);
- //鏄惁鍙戣捣鍚哥墖
- @Select("SELECT * FROM up_workstation where workstation_id=#{id}")
- UpWorkstation selectAdd(int id);
- //鍒ゆ柇浼樺厛宸ヤ綅鍚哥墖
- @Select("select b.layout_sequence from up_workstation a left join up_patten_usage b on a.pattern_width=b.width and a.pattern_heigth=b.width and a.pattern_thickness=b.thickness where a.workstation_id=#{id}")
- int selectPriority(int id);
-
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/UpWorkstationMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/UpWorkstationMapper.java
deleted file mode 100644
index 333d195..0000000
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/UpWorkstationMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.mes.upworkstation.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.upworkstation.entity.UpWorkstation;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author zhoush
- * @since 2024-04-07
- */
-public interface UpWorkstationMapper extends BaseMapper<UpWorkstation> {
-
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/LoadGlassService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/LoadGlassService.java
deleted file mode 100644
index ae34d3d..0000000
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/LoadGlassService.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.mes.upworkstation.service;
-import java.util.List;
-import org.springframework.stereotype.Service;
-import com.mes.common.PLCAutoMes;
-import com.mes.common.PlcParameterObject;
-import com.mes.upworkstation.entity.UpWorkstation;
-import com.mes.upworkstation.mapper.LoadGlassMapper;
-
-@Service
-public class LoadGlassService {
-
-
- private LoadGlassMapper LoadGlassMapper;
- PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
- //鏄剧ず宸ヤ綅涓婄殑鐜荤拑淇℃伅
- public List<UpWorkstation> selectAll() {
- List<UpWorkstation> glassInfo= LoadGlassMapper.selectALL();
- return glassInfo;
- }
- //澧炲姞浜哄伐杈撳叆鐨勫伐浣嶇幓鐠冧俊鎭�
- public void insertGlass(UpWorkstation upwork) {
- LoadGlassMapper.insertGlass(upwork);
- }
- //鍒犻櫎浜哄伐鎼蛋鐨勭幓鐠冧俊鎭�
- public void deleteGlass(int id) {
- LoadGlassMapper.deleteGlass(id);
- }
- //鍒ゆ柇鏄惁鍙互鍚哥墖杩涜浠诲姟
- public boolean isCanLoadGlass() {
- String loadstate=plcmes.getPlcParameter("鍚哥墖淇″彿").getValue();
- if(loadstate.equals("1")) {
- return true;
- }else{
- return false;
- }
-
- }
- //鍒ゆ柇浼樺厛鍚哥墖浣嶇疆鍚庡彂閫佸嚭鐗囦换鍔�
- public void selectPriority() {
- int loadid1=LoadGlassMapper.selectPriority(1);
- int loadid2=LoadGlassMapper.selectPriority(2);
- //鍒ゆ柇涓�浜屽彿宸ヤ綅鍝竟鐨勯『搴忔洿鍏�
- if(loadid1>loadid2) {
- //s7control.WriteWord("DB100.10", (short)2);
- }else if(loadid1==loadid2){
- //褰撲袱涓伐浣嶄笂鐨勭幓鐠冩暟鐩稿悓鏃讹紝鍒ゆ柇鍝釜宸ヤ綅涓婄殑鐜荤拑鏁版洿灏�,浼樺厛娓呯┖涓�涓灦瀛�
- int glassnum1=Integer.parseInt(plcmes.getPlcParameter("鐜荤拑鏁�").getValue());
- int glassnum2=Integer.parseInt(plcmes.getPlcParameter("鐜荤拑鏁�").getValue());
- if(glassnum1>glassnum2){
- // s7control.WriteWord("DB100.10", (short)2);
- }else{
- //s7control.WriteWord("DB100.10", (short)1);
- }
- }else{
- //s7control.WriteWord("DB100.10", (short)1);
- }
- }
-
-
-
-
-
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/UpWorkstationService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/UpWorkstationService.java
deleted file mode 100644
index 369db83..0000000
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/UpWorkstationService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.mes.upworkstation.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.mes.upworkstation.entity.UpWorkstation;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-04-07
- */
-public interface UpWorkstationService extends IService<UpWorkstation> {
-
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/impl/UpWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/impl/UpWorkstationServiceImpl.java
deleted file mode 100644
index 22ed61b..0000000
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/impl/UpWorkstationServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mes.upworkstation.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.upworkstation.entity.UpWorkstation;
-import com.mes.upworkstation.mapper.UpWorkstationMapper;
-import com.mes.upworkstation.service.UpWorkstationService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-04-07
- */
-@Service
-public class UpWorkstationServiceImpl extends ServiceImpl<UpWorkstationMapper, UpWorkstation> implements UpWorkstationService {
-
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java
new file mode 100644
index 0000000..34ea858
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java
@@ -0,0 +1,56 @@
+package com.mes.workstation.controller;
+
+
+import com.mes.workstation.entity.UpWorkstation;
+import com.mes.workstation.service.UpWorkstationService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/LoadGlass")
+@Slf4j
+public class UpWorkstationController {
+ @Autowired
+ private UpWorkstationService upWorkstationService;
+
+ @ApiOperation("鏄剧ず宸ヤ綅涓婄殑鐜荤拑淇℃伅")
+ @GetMapping("/list") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
+ public Result<List<UpWorkstation>> list() {
+ List<UpWorkstation> glass = upWorkstationService.list();
+ log.info("鏄剧ず宸ヤ綅涓婄殑鐜荤拑淇℃伅:{}", glass);
+ return Result.build(200, "", glass);
+ }
+
+ @PostMapping("/updateGlassMessage") //淇敼涓�鏉″伐浣嶄俊鎭�,鎺ユ敹瀹炰緥绫诲瓧娈典负瀹介珮鍘氳啘绯绘暟閲忓伐浣峣d
+ @ResponseBody
+ public void updateGlassMessage(@RequestBody UpWorkstation upwork) {
+ upWorkstationService.updateGlassMessage(upwork);
+ }
+
+ //todo: 鍜寀pdateGlassMessage绫讳技
+// @PostMapping("/deleteGlass") //淇敼涓�鏉″伐浣嶇殑鐜荤拑淇℃伅锛屼紶杈撳伐浣峣d灏嗙幓鐠冧俊鎭浉鍏冲瓧娈垫洿鏀逛负null
+// @ResponseBody
+// public void selectCutTerritory(int upworkid) {
+// loadGlassService.deleteGlass(upworkid);
+// }
+
+ @PostMapping("/selectPriority") //寮�濮嬩笂鐗囦换鍔�
+ @ResponseBody
+ public void selectPriority() {
+ upWorkstationService.selectPriority();
+ }
+}
+
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/GlassInfo.java
similarity index 96%
copy from hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
copy to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/GlassInfo.java
index 3c6eb37..3e0b335 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/GlassInfo.java
@@ -1,4 +1,4 @@
-package com.mes.uppattenusage.entity;
+package com.mes.workstation.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -13,7 +13,7 @@
* </p>
*
* @author zhoush
- * @since 2024-03-27
+ * @since 2024-04-07
*/
@Data
@EqualsAndHashCode(callSuper = false)
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkSequence.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkSequence.java
new file mode 100644
index 0000000..ca1d3a2
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkSequence.java
@@ -0,0 +1,15 @@
+package com.mes.workstation.entity;
+
+import lombok.Data;
+
+/**
+ * @author wu
+ */
+@Data
+public class UpWorkSequence {
+
+ private int sequence;
+
+ private int number;
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/entity/UpWorkstation.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
similarity index 96%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/entity/UpWorkstation.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
index 88e5523..66a5c48 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/entity/UpWorkstation.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
@@ -1,4 +1,4 @@
-package com.mes.upworkstation.entity;
+package com.mes.workstation.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/LoadGlassMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/LoadGlassMapper.java
new file mode 100644
index 0000000..83bc50b
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/LoadGlassMapper.java
@@ -0,0 +1,16 @@
+package com.mes.workstation.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.Map;
+
+import org.apache.ibatis.annotations.*;
+import com.mes.workstation.entity.UpWorkstation;
+@Mapper
+public interface LoadGlassMapper extends BaseMapper<UpWorkstation> {
+ //鍒ゆ柇浼樺厛宸ヤ綅鍚哥墖
+ @Select("select b.layout_sequence,a.number from up_workstation a left join up_patten_usage b " +
+ "on a.pattern_width=b.width and a.pattern_heigth=b.width " +
+ "and a.pattern_thickness=b.thickness where a.workstation_id=#{id}")
+ Map<String,Object> selectPriority(int id);
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
new file mode 100644
index 0000000..5731173
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
@@ -0,0 +1,21 @@
+package com.mes.workstation.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.workstation.entity.UpWorkSequence;
+import com.mes.workstation.entity.UpWorkstation;
+import io.lettuce.core.dynamic.annotation.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface UpWorkstationMapper extends BaseMapper<UpWorkstation> {
+
+ List<UpWorkSequence> selectPriority(@Param("id") int id);
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java
new file mode 100644
index 0000000..7a03568
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java
@@ -0,0 +1,30 @@
+package com.mes.workstation.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.workstation.entity.UpWorkstation;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface UpWorkstationService extends IService<UpWorkstation> {
+ //PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+
+ //鍒犻櫎浜哄伐鎼蛋鐨勭幓鐠冧俊鎭�
+// public void deleteGlass(int id);
+ //鍒ゆ柇鏄惁鍙互鍚哥墖杩涜浠诲姟
+
+ //鍒ゆ柇浼樺厛鍚哥墖浣嶇疆鍚庡彂閫佸嚭鐗囦换鍔�
+ public void selectPriority() ;
+
+
+ /**
+ * 澧炲姞浜哄伐杈撳叆鐨勫伐浣嶇幓鐠冧俊鎭�
+ * @param upwork
+ */
+ void updateGlassMessage(UpWorkstation upwork);
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
new file mode 100644
index 0000000..7e891f6
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
@@ -0,0 +1,68 @@
+package com.mes.workstation.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.common.S7object;
+import com.mes.workstation.entity.UpWorkSequence;
+import com.mes.workstation.entity.UpWorkstation;
+import com.mes.workstation.mapper.UpWorkstationMapper;
+import com.mes.workstation.service.UpWorkstationService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class UpWorkstationServiceImpl extends ServiceImpl<UpWorkstationMapper, UpWorkstation> implements UpWorkstationService {
+
+ public static final String DB_100_10 = "DB_100_10";
+
+ //鍒ゆ柇鏄惁鍙互鍚哥墖杩涜浠诲姟
+ public boolean isCanLoadGlass() {
+ String loadstart="鍚哥墖淇″彿";//plcmes.getPlcParameter("鍚哥墖淇″彿").getValue();
+ return "1".equals(loadstart);
+
+ }
+ //鍒ゆ柇浼樺厛鍚哥墖浣嶇疆鍚庡彂閫佸嚭鐗囦换鍔�
+ public void selectPriority() {
+ //todo:鍒ゆ柇鏄惁鍙互鍚哥墖杩涜浠诲姟
+// String loadstart="鍚哥墖淇″彿";//plcmes.getPlcParameter("鍚哥墖淇″彿").getValue();
+// if (!"1".equals(loadstart)) {
+// return;
+// }
+ UpWorkSequence loadid1 = this.baseMapper.selectPriority(1).get(0);
+ UpWorkSequence loadid2 = this.baseMapper.selectPriority(2).get(0);
+ //鍒ゆ柇涓�浜屽彿宸ヤ綅鍝竟鐨勯『搴忔洿鍏�
+ if(loadid1.getSequence()>loadid2.getSequence()) {
+ S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)2);
+ }else if(loadid1.getSequence()==loadid2.getSequence()){
+ //褰撲袱涓伐浣嶄笂鐨勭幓鐠冩暟鐩稿悓鏃讹紝鍒ゆ柇鍝釜宸ヤ綅涓婄殑鐜荤拑鏁版洿灏�,浼樺厛娓呯┖涓�涓灦瀛�
+ int glassnum1=loadid1.getNumber();//Integer.parseInt(plcmes.getPlcParameter("鐜荤拑鏁�").getValue());
+ int glassnum2=loadid2.getNumber();//Integer.parseInt(plcmes.getPlcParameter("鐜荤拑鏁�").getValue());
+ if(glassnum1>glassnum2){
+ S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)2);
+ }else{
+ S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)1);
+ }
+ }else{
+ S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)1);
+ }
+ }
+
+ /**
+ * 澧炲姞浜哄伐杈撳叆鐨勫伐浣嶇幓鐠冧俊鎭�/鍒犻櫎浜哄伐鎼蛋鐨勭幓鐠冧俊鎭�
+ * @param upwork
+ */
+ @Override
+ public void updateGlassMessage(UpWorkstation upwork) {
+ UpdateWrapper<UpWorkstation> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("workstation_id", upwork.getWorkstationId());
+ int update = this.baseMapper.update(upwork, updateWrapper);
+ }
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
index 84a3bd6..ae352b3 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
@@ -3,10 +3,20 @@
spring:
datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
- username: root
- password: beibo.123/
+ dynamic:
+ primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
+ strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
+ datasource:
+ hangzhoumes:
+ url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
+ username: root
+ password: beibo.123/
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ pp:
+ url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
+ username: root
+ password: beibo.123/
+ driver-class-name: com.mysql.cj.jdbc.Driver
cloud:
nacos:
discovery:
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml b/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml
index 3de91ab..2c23116 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml
@@ -9,7 +9,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>cacheGlass</artifactId>
+ <artifactId>temperingGlass</artifactId>
<dependencies>
<dependency>
<groupId>junit</groupId>
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingMapper.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingMapper.java
index 6461969..3b66b46 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingMapper.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingMapper.java
@@ -1,33 +1,34 @@
package com.mes.temperingglass.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.temperingglass.entity.GlassInfo;
import com.mes.temperingglass.entity.TemperingGlassInfo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
import java.util.List;
-
-import org.apache.ibatis.annotations.*;
@Mapper
public interface TemperingMapper extends BaseMapper<TemperingGlassInfo> {
-//鏌ヨ璇ョ幓鐠冪殑灏哄鍜屽潗鏍�
-@Select("select *from glass_info where id=#{glassid};")
-GlassInfo SelectGlass(String glassid);
+ //鏌ヨ璇ョ幓鐠冪殑灏哄鍜屽潗鏍�
+//@Select("select *from glass_info where id=#{glassid};")
+//GlassInfo SelectGlass(String glassid);
//鏄惁鍙互鍙戦�佽繘鐐変俊鍙�
-@Select("select count(*) from glass_info where id=#{glassid};")
-int SelectTempering(String glassid);
-//鏌ヨ绛夊緟涓殑閽㈠寲鐗堝浘鐜荤拑淇℃伅
-@Select("select*from tempering_glass_info a left join (select flowcard_id,count(state)state from tempering_glass_info GROUP BY flowcard_id,state)b on a.flowcard_id=b.flowcard_id where b.state=2")
-List<TemperingGlassInfo> SelectWaitingGlass();
-//鏌ヨ杩涚倝涓殑閽㈠寲鐗堝浘鐜荤拑淇℃伅
-@Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=1)b on a.flowcard_id=b.flowcard_id where b.state1=1")
-List<TemperingGlassInfo> SelectInGlass();
-//鏌ヨ閽㈠寲鍚庣殑閽㈠寲鐗堝浘淇℃伅
-@Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=2)b on a.flowcard_id=b.flowcard_id where b.state1=2")
-List <TemperingGlassInfo> SelectOutGlass();
+ @Select("select count(*) from glass_info where id=#{glassid};")
+ int SelectTempering(String glassid);
+ //鏌ヨ绛夊緟涓殑閽㈠寲鐗堝浘鐜荤拑淇℃伅
+ @Select("select*from tempering_glass_info a left join (select flowcard_id,count(state)state from tempering_glass_info GROUP BY flowcard_id,state)b on a.flowcard_id=b.flowcard_id where b.state=2")
+ List<TemperingGlassInfo> SelectWaitingGlass();
+
+ //鏌ヨ杩涚倝涓殑閽㈠寲鐗堝浘鐜荤拑淇℃伅
+ @Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=1)b on a.flowcard_id=b.flowcard_id where b.state1=1")
+ List<TemperingGlassInfo> SelectInGlass();
+
+ //鏌ヨ閽㈠寲鍚庣殑閽㈠寲鐗堝浘淇℃伅
+ @Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=2)b on a.flowcard_id=b.flowcard_id where b.state1=2")
+ List<TemperingGlassInfo> SelectOutGlass();
}
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java
index e4b89aa..bac2fa6 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java
@@ -1,32 +1,36 @@
package com.mes.temperingglass.service;
-import com.mes.temperingglass.entity.GlassInfo;
+//import com.mes.temperingglass.entity.GlassInfo;
+
import com.mes.temperingglass.entity.TemperingGlassInfo;
-import com.mes.tools.S7control;
import com.mes.temperingglass.mapper.TemperingMapper;
-import java.util.List;
+import com.mes.tools.S7control;
import org.springframework.stereotype.Service;
+
+import java.util.List;
@Service
public class TemperingService {
-
+
private final TemperingMapper temperingMapper;
private S7control s7control;
public TemperingService(TemperingMapper temperingMapper) {
- this.temperingMapper =temperingMapper;
+ this.temperingMapper = temperingMapper;
}
- //鎺ユ敹id杩斿洖鍧愭爣鍜屾暟鎹�
- public GlassInfo SelectOutGlass (String glassid) {
- GlassInfo GlassInfo = temperingMapper.SelectGlass(glassid);
- return GlassInfo;
- }
+
+ // //鎺ユ敹id杩斿洖鍧愭爣鍜屾暟鎹�
+// public GlassInfo SelectOutGlass (String glassid) {
+// GlassInfo GlassInfo = temperingMapper.SelectGlass(glassid);
+// return GlassInfo;
+// }
//鍙戦�佸潗鏍囦俊鎭�
- public void SendCoordinate (short glassX,short glassY) {
+ public void SendCoordinate(short glassX, short glassY) {
s7control.WriteWord("DB100.10", glassX);
s7control.WriteWord("DB100.10", glassY);
}
+
//鍒ゆ柇鏄惁鍙互鍙戦�佽繘鐐変俊鍙�
- public int SelectTempering (String glassid) {
+ public int SelectTempering(String glassid) {
int tempering = temperingMapper.SelectTempering(glassid);
if (tempering == 1) {
return 1;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
index 2c49e6f..2bafe07 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
@@ -12,15 +12,27 @@
<artifactId>unLoadGlass</artifactId>
<dependencies>
<dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>2.9.0</version>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi-ooxml</artifactId>
+ <version>5.2.4</version>
+ <scope>compile</scope>
</dependency>
<dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
- <version>3.5.2</version>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>2.8.9</version>
+ <scope>compile</scope>
</dependency>
+
+
+
+
+ <dependency>
+ <groupId>com.github.yulichang</groupId>
+ <artifactId>mybatis-plus-join</artifactId>
+ <version>1.2.4</version>
+ </dependency>
+
</dependencies>
<properties>
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
index b909d67..cd7139c 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
@@ -1,18 +1,22 @@
package com.mes;
import com.mes.tools.WebSocketServer;
+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.context.ConfigurableApplicationContext;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @Author : zhoush
- * @Date: 2024/4/7 14:36
+ * @Date: 2024/4/7 14:36RRRR
* @Description:
*/
+@Slf4j
@SpringBootApplication
+@EnableSwagger2
@EnableDiscoveryClient
@MapperScan(basePackages = "com.mes.*.mapper")
public class UnLoadGlassApplication {
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
new file mode 100644
index 0000000..26d30b5
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
@@ -0,0 +1,470 @@
+package com.mes.common;
+
+import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
+import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
+import com.google.common.primitives.Bytes;
+
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+
+public class S7control {
+
+ S7PLC s7PLC; // PLC閫氳绫诲疄渚�
+ private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+ private String ip = "192.168.10.1"; // plc ip鍦板潃
+ private int port = 102; // plc 绔彛鍙�
+
+ private static volatile S7control instance = null;
+
+ private S7control() {
+ if (s7PLC == null)
+ s7PLC = new S7PLC(plcType, ip, port,0,0);
+ }
+
+ // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+ public static S7control getinstance() {
+ if (instance == null) {
+ synchronized (S7control.class) {
+ if (instance == null) {
+ instance = new S7control();
+ }
+ }
+ }
+ return instance;
+ }
+
+ /**
+ * 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
+ */
+ public void CloseS7client() {
+ if (s7PLC == null)
+ s7PLC.close();
+ s7PLC.checkConnected();
+ }
+
+ /**
+ * s7閫氳杩炴帴鐘舵��
+ */
+ public boolean CheckConnected() {
+ return s7PLC.checkConnected();
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
+ *
+ * @param address 鍦板潃
+ * @param data word鐨勫��
+ */
+ public void WriteWord(String address, short data) {
+ if (s7PLC==null)
+ {
+ return;
+ }
+ s7PLC.writeInt16(address, data);
+ }
+
+ /**
+ * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜word
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+ public void WriteWord(String address, List<Short> datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+ List<String> addresslist = GetAddressList(address, datas.size(), 16);
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < datas.size(); i++) {
+ addressWrite.addInt16(addresslist.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜word
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+
+
+
+
+
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓狟it
+ *
+ * @param address 鍦板潃
+ * @param data Bit鐨勫��
+ */
+ public void WriteBit(String address, Boolean data) {
+ if (s7PLC==null)
+ return;
+ s7PLC.writeBoolean(address, data);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜bit
+ *
+ * @param address 鍦板潃
+ * @param datas bit鐨勫��
+ */
+ public void WriteBit(List<String> address, List<Boolean> datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < address.size(); i++) {
+ addressWrite.addBoolean(address.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+
+ /**
+ * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜bit
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+ public void WriteBit(String address, List<Boolean> datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+ List<String> addresslist = GetAddressList(address, datas.size(), 1);
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < datas.size(); i++) {
+ addressWrite.addBoolean(addresslist.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜byte
+ *
+ * @param address 鍦板潃
+ * @param datas byte鐨勫��
+ */
+ public void WriteByte(String address, byte[] datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+ s7PLC.writeByte(address, datas);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @return 缁撴灉
+ */
+ public List<Short> ReadWord(List<String> address) {
+ if (s7PLC == null)
+ return null;
+
+ try {
+ return s7PLC.readInt16(address);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+ }
+
+
+
+
+ private int getIndexFromAddress(String address) {
+
+ // 鍙互瑙f瀽鍑哄湴鍧�涓殑鏁板瓧閮ㄥ垎锛屽苟杞崲涓烘暣鏁�
+ return 0;
+ }
+
+ private String getAddressFromIndex(int index) {
+
+ // 鏁存暟杞崲涓哄湴鍧�鏍煎紡鐨勫瓧绗︿覆
+ return "";
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @param count 杩炵画璇诲灏戜釜word
+ * @return 缁撴灉
+ */
+ public List<Short> ReadWord(String address, int count) {
+ if (s7PLC == null)
+ return null;
+
+ List<String> addresslist = GetAddressList(address, count, 16);
+ try {
+ return s7PLC.readInt16(addresslist);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+
+ return null;
+ }
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇byte缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @param count 杩炵画璇诲灏戜釜byte
+ * @return 缁撴灉
+ */
+ public byte[] ReadByte(String address, int count) {
+ if (s7PLC==null)
+ return null;
+ // List<String> addresslist = GetAddressList(address, count, 16);
+
+ try {
+ return s7PLC.readByte(address, count);
+ }catch (Exception e) {
+ // 澶勭悊寮傚父
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鎸塨it浣� 0 flase 1 true 璇诲彇缁撴灉
+ *
+ * @param addresslist 鍦板潃闆�
+ * @return Boolean缁撴灉
+ */
+ public List<Boolean> ReadBits(List<String> addresslist) {
+ if (s7PLC==null)
+ return null;
+ return s7PLC.readBoolean(addresslist);
+ }
+//璇诲彇涓嶈繛缁湴鍧�bit
+public List<Boolean> readBits(List<String> addressList) {
+ if (s7PLC == null || addressList.isEmpty()) {
+ return null;
+ }
+
+ List<Boolean> values = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ boolean value = s7PLC.readBoolean(address);
+ values.add(value);
+ } catch (Exception e) {
+ // 澶勭悊寮傚父
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ }
+ }
+
+ return values;
+}
+
+
+//璇诲彇String
+public List<String> readStrings(List<String> addressList) {
+ if (s7PLC == null) {
+ return null;
+ }
+ List<String> result = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ byte[] bytes = s7PLC.readByte(address, 14);
+ if (bytes != null) {
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ result.add(str);
+ }
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ result.add(null);
+ }
+ }
+
+ return result;
+}
+
+
+
+
+
+ public List<String> readStringsandword(List<String> addressList) {
+ if (s7PLC == null) {
+ return null;
+ }
+ List<String> result = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ if (address.contains("-")) {
+ address = address.substring(0, address.indexOf("-"));
+
+ byte[] bytes = s7PLC.readByte(address, 14);
+ if (bytes != null) {
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ result.add(str);
+ }
+
+ } else {
+ Short value = s7PLC.readInt16(address);
+ result.add(value.toString());
+
+ }
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ result.add(null);
+ }
+ }
+
+ return result;
+ }
+
+
+
+//涓嶈繛缁湴鍧�鍐欏叆Word
+ public void WriteWord(List<String> address, List<Short> datas) {
+ if (s7PLC == null)
+ return;
+
+ for (int i = 0; i < address.size(); i++) {
+ String addr = address.get(i);
+ short data = datas.get(i);
+
+ if (addr.contains("-")) {
+ outmesid(String.valueOf(data),addr); // 鍗曠嫭澶勭悊甯︾牬鎶樺彿鐨勫湴鍧�
+ } else {
+ s7PLC.writeInt16(addr, data); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
+ }
+ }
+ }
+
+
+
+//瀛楃涓插啓鍏�
+ public void outmesid(String data, String addr) {
+// System.out.println("outmesid: " + data);
+ List<Byte> glassidlist = new ArrayList<>();
+ String[] parts = addr.split("-");
+ if (parts.length == 2) {
+ addr = parts[0]; // 鍙繚鐣� "-" 鍓嶉潰鐨勯儴鍒�
+ }
+ for (char iditem : data.toCharArray()) {
+ glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
+ }
+ byte[] bytes = Bytes.toArray(glassidlist);
+ S7control.getinstance().WriteByte(addr, bytes);
+ }
+
+//璇诲彇涓嶈繛缁瓀ord
+ public List<Short> readWords(List<String> addresses) {
+ if (s7PLC == null) {
+ return null;
+ }
+
+ List<Short> data = new ArrayList<>();
+
+ for (String address : addresses) {
+ try {
+
+ // 鍗曚釜鍦板潃
+ Short value = s7PLC.readInt16(address);
+ data.add(value);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+
+ }
+
+ }
+ return data;
+ }
+
+//璇诲彇鏃堕棿
+public Long readtime(String address) {
+ if (s7PLC == null)
+ return null;
+ try {
+ return s7PLC.readTime(address);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+}
+
+
+ public void writetime(String address, long datas) {
+ if (s7PLC == null)
+ return;
+
+
+ s7PLC.writeTime(address, datas); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
+ }
+
+
+
+
+
+ private int extractAddressNumber(String address) {
+ String numberStr = address.replaceAll("\\D+", ""); // 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒�
+ return Integer.parseInt(numberStr);
+ }
+
+
+ /**
+ * 浠庢寚瀹氱殑鍦板潃寮�濮� 杩炵画鎸塨it浣嶈鍙�
+ *
+ * @param address 鍦板潃
+ * @param count 闀垮害
+ * @return Boolean缁撴灉
+ */
+ public List<Boolean> ReadBits(String address, int count) {
+ if (s7PLC == null)
+ return null;
+ List<String> addresslist = GetAddressList(address, count, 1);
+ try {
+ return s7PLC.readBoolean(addresslist);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+
+ };
+
+
+ public void writeString(String addr,String data) {
+ s7PLC.writeString(addr,data);
+ }
+
+
+
+ private List<String> GetAddressList(String address, int count, int addedbit) {
+ List<String> addresslist = new ArrayList<String>();
+
+ String[] stringdatas = address.trim().split("\\.");
+ if (stringdatas.length < 2 || !address.startsWith("DB"))
+ return null;
+ int dbwindex = 0;
+ int bitindex = 0;
+ if (stringdatas.length == 2) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ } else if (stringdatas.length == 3) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ bitindex = Integer.parseInt(stringdatas[2]);
+ } else
+ return null;
+
+ addresslist.add(address);
+ for (int i = 0; i < count-1; i++) {
+
+ int bitcurrent = bitindex + addedbit;
+ if (bitcurrent > 7) {
+ dbwindex += bitcurrent / 8;
+ bitindex = 0;
+ } else
+ bitindex = bitcurrent;
+
+ String endstr=stringdatas.length==3?"." + bitindex:"";
+ addresslist.add(stringdatas[0] + "." + dbwindex + endstr);
+ }
+ return addresslist;
+ }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
index a99b8ab..4fdb170 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
@@ -1,8 +1,7 @@
package com.mes.config;
-import com.mes.common.PLCAutoMes;
import com.mes.common.Plchome;
-
+import com.mes.device.PLCAutoMes;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
index b678660..d8bde4a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
@@ -1,30 +1,21 @@
package com.mes.downglassinfo.controller;
-
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.service.DownGlassInfoService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-@Api(tags = "涓嬫枡淇℃伅")
@RestController
@RequestMapping("/downGlassInfo")
public class DownGlassInfoController {
-}
+
+
+
+
+ // Other endpoints can be added for CRUD operations
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
index b96214d..5919edf 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
@@ -1,16 +1,9 @@
package com.mes.downglassinfo.controller;
-import com.mes.downworkstation.entity.DownWorkstation;
-import com.mes.downworkstation.service.DownWorkstationService;
-import com.mes.uppattenusage.service.GlassInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-import java.util.Map;
/**
* <p>
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
index cbabf74..b871250 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
@@ -51,7 +51,7 @@
private Double thickness;
- private int Filmsid;
+ private String Filmsid;
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
index ede1a18..7fd31e5 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
@@ -2,7 +2,10 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.downglassinfo.entity.DownGlassInfo;
+import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -10,12 +13,11 @@
@Repository
public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo> {
- // 鏌ヨ涓嬬墖浠诲姟琛ㄤ腑鐘舵�佷负1鐨勪笅鐗囦俊鎭�
- List<DownGlassInfo> selectunloadingtaskstate();
+// @Select("SELECT MAX(sequence) FROM down_glass_info WHERE flow_card_id = #{flowCardId} LIMIT 1")
+// Integer getMaxSequenceByFlowCardId(@Param("flowCardId") String flowCardId);
+////
+// @Delete("delete from down_glass_task where flow_card_id = #{flowCardId}")
+// void deletetask(@Param("flowCardId") String flowCardId);
- void updateTaskStateToZero(@Param("flowCardId") String flowCardId);
- Integer getMaxSequenceByFlowCardId(@Param("flowCardId") String flowCardId);
-
- void deletetask(@Param("flowCardId") String flowCardId);
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
index 159421b..7fdfb20 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
@@ -1,7 +1,11 @@
package com.mes.downglassinfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.entity.DownGlassTask;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
* <p>
@@ -13,4 +17,5 @@
*/
public interface DownGlassTaskMapper extends BaseMapper<DownGlassTask> {
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
index 656f504..e3368d3 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
@@ -2,18 +2,16 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.downglassinfo.entity.DownGlassInfo;
-import org.springframework.beans.factory.annotation.Autowired;
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
public interface DownGlassInfoService extends IService<DownGlassInfo> {
+
+ Integer getMaxSequenceByFlowCardId(String flowCardId);
+ void insertDownGlassInfo(DownGlassInfo downGlassInfo);
+
+
+
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
index db99ff9..cfa1764 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.downglassinfo.entity.DownGlassTask;
+import java.util.List;
+
/**
* <p>
* 鏈嶅姟绫�
@@ -13,4 +15,11 @@
*/
public interface DownGlassTaskService extends IService<DownGlassTask> {
+ List<DownGlassTask> getUnloadingTaskState();
+
+ void updateTaskStateToZero(String flowCardId);
+ void deleteTask(String flowCardId);
+
+ DownGlassTask selectLastOutCacheInfo(String endCell);
+ Integer insertCacheTask(int id, String start, String end, String type, double width, double height, String filmsId, double thickness, String flowCardId);
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index a141494..8138eab 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -1,22 +1,35 @@
package com.mes.downglassinfo.service.impl;
-
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
import com.mes.downglassinfo.service.DownGlassInfoService;
import org.springframework.stereotype.Service;
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
@Service
public class DownGlassInfoServiceImpl extends ServiceImpl<DownGlassInfoMapper, DownGlassInfo> implements DownGlassInfoService {
+ // 鏍规嵁娴佺▼鍗″彿鏌ヨ鏈�澶у簭鍙�
+ @Override
+ public Integer getMaxSequenceByFlowCardId(String flowCardId) {
+ QueryWrapper<DownGlassInfo> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("flow_card_id", flowCardId);
+ queryWrapper.orderByDesc("sequence"); // 鎸夌収搴忓彿鍊掑簭鎺掑簭
+ queryWrapper.select("sequence").last("LIMIT 1"); // 閫夋嫨鏈�澶у簭鍙峰苟闄愬埗缁撴灉涓�1鏉¤褰�
+ DownGlassInfo downGlassInfo = baseMapper.selectOne(queryWrapper);
+ if (downGlassInfo != null) {
+ return downGlassInfo.getSequence();
+ }
+ return 0;
+ }
+
+ @Override
+ public void insertDownGlassInfo(DownGlassInfo downGlassInfo) {
+ baseMapper.insert(downGlassInfo);
+ }
+
+
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
index 1fb724b..9087138 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
@@ -1,11 +1,17 @@
package com.mes.downglassinfo.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downglassinfo.mapper.DownGlassTaskMapper;
import com.mes.downglassinfo.service.DownGlassTaskService;
import org.springframework.stereotype.Service;
+
+import java.util.List;
/**
* <p>
@@ -18,4 +24,55 @@
@Service
public class DownGlassTaskServiceImpl extends ServiceImpl<DownGlassTaskMapper, DownGlassTask> implements DownGlassTaskService {
+
+
+ @Override
+ public List<DownGlassTask> getUnloadingTaskState() {
+ QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("task_stauts", 1);
+ return baseMapper.selectList(queryWrapper);
+ }
+
+ @Override
+ public void updateTaskStateToZero(String flowCardId) {
+ UpdateWrapper<DownGlassTask> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.set("task_stauts", 0).eq("flow_card_id", flowCardId);
+ baseMapper.update(null, updateWrapper);
+ }
+ @Override
+ public void deleteTask(String flowCardId) {
+ LambdaQueryWrapper<DownGlassTask> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(DownGlassTask::getFlowCardId, flowCardId);
+
+ baseMapper.delete(queryWrapper);
+ }
+ @Override
+ public DownGlassTask selectLastOutCacheInfo(String endCell) {
+ QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("task_type", "2")
+ .eq("task_status", "2")
+ .eq("end_cell", endCell)
+ .last("LIMIT 1");
+
+ return baseMapper.selectOne(queryWrapper);
+ }
+ @Override
+ public Integer insertCacheTask(int id, String start, String end, String type, double width, double height, String filmsId, double thickness, String flowCardId) {
+ DownGlassTask glassInfo = new DownGlassTask();
+ glassInfo.setId(id);
+ glassInfo.setStartCell(start);
+ glassInfo.setEndCell(end);
+ glassInfo.setTaskType(type);
+ glassInfo.setWidth(width);
+ glassInfo.setHeight(height);
+ glassInfo.setFilmsid(filmsId);
+ glassInfo.setThickness(thickness);
+ glassInfo.setFlowCardId(flowCardId);
+ glassInfo.setTaskStauts(0); // 榛樿浠诲姟鐘舵�佷负0
+
+ int rows = baseMapper.insert(glassInfo);
+ return rows > 0 ? rows : null;
+ }
+
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java
index 4f8253b..6e666e2 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java
@@ -17,5 +17,6 @@
@RequestMapping("/downStorageCage")
public class DownStorageCageController {
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
index bf31d83..f78f833 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
@@ -1,21 +1,22 @@
package com.mes.downstorage.controller;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.service.DownStorageCageDetailsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
@RestController
-@RequestMapping("/downStorageCageDetails")
+@RequestMapping("/down-storage-cage-details")
public class DownStorageCageDetailsController {
-}
+ @Autowired
+ private DownStorageCageDetailsService downStorageCageDetailsService;
+ @PostMapping("/add")
+ public String addDownStorageCageDetails(@RequestBody DownStorageCageDetails details) {
+ downStorageCageDetailsService.addDownStorageCageDetails(details);
+ return "Details added successfully";
+ }
+
+ // Other CRUD operations can be defined here
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
index a24f392..8bd7830 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
@@ -81,6 +81,11 @@
*/
private Integer temperingFeedSequence;
+
+ /**
+ * 鑶滅郴id
+ */
+ private int filmsid;
/**
* 鐘舵��
*/
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
index e8c5d15..9c8a595 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
@@ -1,7 +1,12 @@
package com.mes.downstorage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.glassinfo.entity.GlassInfo;
+import org.apache.ibatis.annotations.*;
+
+import java.util.List;
/**
* <p>
@@ -11,6 +16,55 @@
* @author zhoush
* @since 2024-03-27
*/
+@Mapper
public interface DownStorageCageDetailsMapper extends BaseMapper<DownStorageCageDetails> {
+//
+// @Select("select * from `glass_info` where id=#{id}")
+// GlassInfo SelectGlassId(String id);
+ // 鏌ヨ绗煎瓙鍐呯┖闂�
+ @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is null order by escd.slot")
+ List<DownStorageCageDetails> SelectCacheLeisure();
+
+ // 鏌ヨ绗﹀悎宸ヤ綅鐨勫嚭鐗囩幓鐠�
+ @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot left join down_workstation as dw on escd.flow_card_id=dw.flow_card_id WHERE escd.slot IS NOT NULL and dw.workstation_id BETWEEN #{start} and #{end} order by escd.tempering_layout_id,escd.tempering_feed_sequence")
+ List<DownStorageCageDetails> SelectCacheOut(int start,int end);
+
+ // 鏌ヨ绗煎瓙鍐呬俊鎭�
+ @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot order by esc.slot")
+ List<DownStorageCageDetails> SelectCachInfo();
+
+ // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+ @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null and escd.tempering_layout_id=#{tempering_layout_id} and escd.tempering_feed_sequence<#{tempering_feed_sequence} and esc.remain_width-#{width}>0 order by escd.tempering_feed_sequence")
+ List<DownStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, Integer tempering_feed_sequence,
+ double width);
+
+ // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+ @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id<#{tempering_layout_id} and esc.remain_width-#{width}>0 order by escd.tempering_layout_id desc,escd.tempering_feed_sequence")
+ List<DownStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, double width);
+
+// // 鏌ヨ鍏ㄩ儴浠诲姟
+// @Select("select * from down_glass_task")
+// List<DownGlassTask> SelectCacheInfoAll();
+//
+// // 鏌ヨ杩涚墖浠诲姟
+// @Select("select * from down_glass_task where task_type='1' and task_stauts='0'")
+// List<DownGlassTask> SelectInputCacheInfo();
+//
+// // 鏌ヨ鍑虹墖浠诲姟
+// @Select("select * from down_glass_task where task_type='2' and task_stauts='0'")
+// List<DownGlassTask> SelectOutCacheInfo();
+
+ // 鏌ヨ A06 鎴� A11 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
+// @Select("select * from down_glass_task where task_type='2' and task_stauts='2' and end_cell=#{EndCell} limit 1")
+// GlassInfo SelectLastOutCacheInfo(String EndCell);
+
+ // 淇敼绗煎瓙鍐呬俊鎭�
+// @Update("update")
+// Integer UpdateCache(@Param("id") Integer id, @Param("order_id") String order_id);
+
+ // 娣诲姞涓嬬墖浠诲姟
+ @Insert("INSERT into down_glass_task VALUES(#{id},#{start},#{end},#{type},0,)")
+ Integer insertCacheTask(String id, String start, String end, String type,double width,double height,Integer filmsId,double thickness,String flowCardId);
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
new file mode 100644
index 0000000..8a505fa
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
@@ -0,0 +1,247 @@
+package com.mes.downstorage.service;
+
+import com.mes.common.PLCAutoMes;
+import com.mes.common.S7control;
+import com.mes.device.PlcParameterObject;
+
+import com.mes.downglassinfo.entity.DownGlassTask;
+import com.mes.downglassinfo.service.DownGlassTaskService;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
+import com.mes.downworkstation.mapper.DownWorkstationMapper;
+import com.mes.tools.WebSocketServer;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Data
+@Service
+public class DownGlassCacheLogic {
+ @Autowired
+ private DownStorageCageDetailsMapper selectInfo;
+ private GlassInfoService GlassInfoService;
+ private DownStorageCageDetailsService downStorageCageDetailsService;
+ private DownGlassTaskService downGlassTaskService;
+
+ /**
+ * @param Number
+ * //璇嗗埆閫昏緫 涓嶄氦浜�
+ */
+
+ public void identify(String Number){
+ //鏌ヨ浠诲姟
+ PlcParameterObject plcmes= PLCAutoMes.PlcMesObject;
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+ String s=S7control.getinstance().ReadWord("DB14.26", 1).get(0)+"";
+ boolean isexist=isExist(Number);
+ if (isexist) {
+ //瀛樺湪閫昏緫 1.娣诲姞淇℃伅 2.鍥炲PLC瀛樺湪
+ //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+ }else {
+ //涓嶅瓨鍦ㄩ�昏緫 1.鍥炲PLC涓嶅瓨鍦�
+ //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 2);
+ }
+ }
+ //涓嬬墖鍓嶇悊鐗�
+ public static final String RESULT_IN = "1";
+ public static final String RESULT_OUT = "2";
+ public static final String RESULT_IN_OUT = "3";
+
+ public void process() {
+ String result = S7control.getinstance().ReadWord("DB14.0", 1).get(0) + "";
+ String number = S7control.getinstance().ReadWord("DB14.2", 1).get(0) + "";
+
+ // 杩涚墖璇锋眰
+ if (RESULT_IN.equals(result)) {
+ processInto(number);
+ }
+ // 鍑虹墖璇锋眰
+ else if (RESULT_OUT.equals(result)) {
+ processOut();
+ }
+ // 杩涘嚭鐗囪姹�
+ else if (RESULT_IN_OUT.equals(result)) {
+ // 鍏堝嚭鍚庤繘
+ if (!processOut()) {
+ processInto(number);
+ }
+ }
+ }
+
+
+ /**
+ * @param Number
+ * @return
+ * //涓嬬墖鍓嶇悊鐗� 杩�
+ */
+
+ public boolean processInto(String Number){
+ GlassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class);
+ //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
+ GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ //瀛樺湪姝ょ幓鐠冪紪鍙�
+ if(GlassInfo!=null){
+ //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
+ List<DownStorageCageDetails> list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getTemperingFeedSequence(),GlassInfo.getWidth());
+ //绌烘爡鏍煎彿
+ if (list.size()==0) {
+ list=selectInfo.SelectCacheLeisure();
+ }
+ //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
+ if(list.size()==0){
+ list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getWidth());
+ }
+ if(list.size()>0){
+ //瀛樺湪绌烘牸
+ //1.鐢熸垚浠诲姟锛� 璧峰浣嶇疆0 缁撴潫浣嶇疆this.slot 浠诲姟绫诲瀷 1 锛堣繘鐗囦换鍔★級
+ //2.鍥炲 1杩涚墖
+ DownStorageCageDetails item=list.get(0);
+ selectInfo.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1",GlassInfo.getWidth(),GlassInfo.getHeight(),GlassInfo.getFilmsid(),GlassInfo.getThickness(),GlassInfo.getFlowcardId());
+
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+ return true;
+ }
+
+ }else{
+ // ID缂栧彿涓嶅瓨鍦� 涓嶅鐞�/鍥炲PLC 杩涜鎶ヨ鎻愮ず
+ }
+ //杩斿洖缁撴灉
+ return false;
+ }
+ //鐞嗙墖 鍑�
+ public boolean processOut() {
+ // 鏌ヨ浠诲姟
+ String G06 = S7control.getinstance().ReadWord("DB14.56", 1).get(0) + "";
+ String G11 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + "";
+ String G13 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + "";
+ PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+ List<DownStorageCageDetails> list = selectInfo.SelectCacheOut(1, 5);
+ List<DownStorageCageDetails> list2 = selectInfo.SelectCacheOut(6, 10);
+ List<DownStorageCageDetails> list3 = selectInfo.SelectCacheOut(1, 10);
+
+ // 鎸夌収椤哄簭绗﹀悎鍓嶇鍑虹墖
+ if (!list.isEmpty()) {
+ DownStorageCageDetails item = list.get(0);
+ if (G06.equals("0") && G11.equals("1")) {
+ // 鍑哄埌 G06
+ selectInfo.insertCacheTask(item.getGlassId() + "", "0", "06", "2", item.getWidth(), item.getHeight(), item.getFilmsid(), item.getThickness(), item.getFlowCardId());
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+ }
+ // 鎸夌収椤哄簭绗﹀悎鍚庣鍑虹墖
+ } else if (!list2.isEmpty()) {
+ DownStorageCageDetails item2 = list2.get(0);
+ if (G06.equals("1") && G11.equals("0")) {
+ // 鍑哄埌 G11
+ selectInfo.insertCacheTask(item2.getGlassId() + "", "0", "11", "2", item2.getWidth(), item2.getHeight(), item2.getFilmsid(), item2.getThickness(), item2.getFlowCardId());
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+ }
+ // 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊
+ } else if (!list3.isEmpty()) {
+ DownStorageCageDetails item3 = list3.get(0);
+ if (item3.getHeight() >= 3440 && item3.getWidth() >= 1440) {
+
+ String endcell = "06";
+ String SendEndcell = "1";
+
+ selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+ }
+ }
+
+ // 杩斿洖缁撴灉
+ return false;
+ }
+
+//鏌ヨ鏄惁缁戝畾鏋跺瓙
+// public boolean selectFlowCardId(String FlowCardId){
+//
+// }
+
+ /**
+ * @param Number
+ * //纾ㄨ竟 涓嶄氦浜� 鐞嗙墖鍜岀(杈规満鑷繁浜や簰
+ */
+
+ public void processMb(String Number){
+ //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
+ GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ if(GlassInfo!=null){
+ //鍙戦�佷换鍔� ID 闀� 瀹� 鍘� 鍊掕 宸ヨ壓鍔熻兘绛�
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.22").getAddress(),"N10000");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.24").getAddress(), "1000");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.26").getAddress(),"800");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(),"60");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.30").getAddress(), "2");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ }
+ //杩斿洖缁撴灉
+ }
+
+
+ /**
+ * @param Number
+ * @return
+ * 鏌ヨ娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
+ */
+ public boolean selectMessageId(String Number){
+ //鏌ヨ鏄惁瀛樺湪
+
+ GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
+ if(GlassInfo==null){
+ //杩斿洖 涓嶅瓨鍦�
+ return false;
+
+ }
+ //杩斿洖 瀛樺湪
+ return true;
+ }
+
+ /**
+ * @param Number
+ * @return
+ * 鍒犻櫎娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
+ */
+
+ public boolean deleteMessageId(String Number){
+ //鏌ヨ鏄惁瀛樺湪
+ GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
+ if(GlassInfo==null){
+ //杩斿洖 涓嶅瓨鍦�
+ return false;
+ }
+ //杩斿洖 瀛樺湪
+ return true;
+ }
+
+
+
+ /**
+ * @param Number
+ * @return
+ * //鏄惁瀛樺湪姝ょ紪鍙风幓鐠�
+ */
+ public boolean isExist(String Number){
+ //鏌ヨ鏄惁瀛樺湪
+ GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
+ if(GlassInfo==null){
+ //杩斿洖 涓嶅瓨鍦�
+ return false;
+ }
+ //杩斿洖 瀛樺湪
+ return true;
+ }
+
+}
+
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
index 1dfaec9..a5c57bc 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
@@ -1,16 +1,12 @@
package com.mes.downstorage.service;
-import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.downstorage.entity.DownStorageCageDetails;
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-public interface DownStorageCageDetailsService extends IService<DownStorageCageDetails> {
+public interface DownStorageCageDetailsService {
+
+ void addDownStorageCageDetails(DownStorageCageDetails details);
+
+
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
index 588071f..87595f5 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
@@ -3,6 +3,9 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.downstorage.entity.DownStorageCage;
+import java.util.List;
+import java.util.Map;
+
/**
* <p>
* 鏈嶅姟绫�
@@ -12,5 +15,5 @@
* @since 2024-03-27
*/
public interface DownStorageCageService extends IService<DownStorageCage> {
-
+ public List<Map> gettask();
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
index b28c67a..cb8604a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -1,20 +1,21 @@
package com.mes.downstorage.service.impl;
-import com.mes.downstorage.entity.DownStorageCageDetails;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downstorage.entity.DownStorageCageDetails;
import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
import com.mes.downstorage.service.DownStorageCageDetailsService;
import org.springframework.stereotype.Service;
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
@Service
public class DownStorageCageDetailsServiceImpl extends ServiceImpl<DownStorageCageDetailsMapper, DownStorageCageDetails> implements DownStorageCageDetailsService {
+ @Override
+ public void addDownStorageCageDetails(DownStorageCageDetails details) {
+ this.save(details);
+ }
+
+
+
+
+ // Other business methods can be implemented here
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
index 1ace668..618c2b1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -4,7 +4,11 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.downstorage.mapper.DownStorageCageMapper;
import com.mes.downstorage.service.DownStorageCageService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -16,5 +20,12 @@
*/
@Service
public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
-
+ @Autowired
+ private DownStorageCageMapper downStorageCageMapper;
+ @Override
+ public List<Map> gettask(){
+ downStorageCageMapper.selectList(null);
+// downStorageCageMapper.selectJoin();
+ return null;
+ };
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
index 1483cac..8788d0e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
@@ -3,7 +3,7 @@
import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.service.DownWorkstationService;
-import com.mes.uppattenusage.service.GlassInfoService;
+import com.mes.glassinfo.service.GlassInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -23,7 +23,7 @@
*/
@RestController
-@RequestMapping("/api/downWorkstation")
+@RequestMapping("/api/unLoadGlass")
public class DownWorkstationController {
@Autowired
@@ -34,7 +34,7 @@
@GetMapping("/getone")
public ResponseEntity<?> getOneDownWorkstations() {
try {
- List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations();
+ List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations(1,5);
// 鏋勫缓绗﹀悎棰勬湡鏍煎紡鐨勫搷搴旀暟鎹�
Map<String, Object> responseData = new HashMap<>();
responseData.put("code", 200);
@@ -54,13 +54,13 @@
@GetMapping("/gettwo")
public List<DownWorkstation> gettwoDownWorkstations() {
- return downWorkstationService.gettwoDownWorkstations();
+ return downWorkstationService.getoneDownWorkstations(6,10);
}
@GetMapping("/getflowCardId")
public ResponseEntity<Map<String, Object>> getflowCardId() {
Map<String, Object> responseData = new HashMap<>();
try {
- List<Map<String, Object>> data = downWorkstationService.getflowCardId();
+ List<Map<String, Object>> data = glassInfoService.getFlowCardId();
responseData.put("code", 200);
responseData.put("msg", "鎴愬姛");
responseData.put("data", data);
@@ -75,7 +75,7 @@
-
+//缁戝畾鏋跺瓙
@PostMapping("/updateFlowCardId")
public ResponseEntity<Map<String, Object>> updateFlowCardId(@RequestBody Map<String, Object> requestData) {
// 浠� requestData 涓幏鍙栦紶鍏ョ殑 flowCardId
@@ -86,7 +86,7 @@
int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId);
// 鏇存柊 down_workstation 琛ㄤ腑鐨勬�绘暟閲�
- glassInfoService.updateFlowCardIdAndCount(flowCardId, glassInfoCount, workstationId);
+ downWorkstationService.updateFlowCardIdAndCount(flowCardId, glassInfoCount, workstationId);
// 鏋勫缓鍝嶅簲鏁版嵁
Map<String, Object> responseData = new HashMap<>();
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
index 713d8db..9e83179 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
@@ -1,6 +1,5 @@
package com.mes.downworkstation.controller;
-
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
index 802dd59..c0b4824 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
@@ -1,6 +1,7 @@
package com.mes.downworkstation.entity;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
@@ -52,6 +53,10 @@
private Integer workState;
+ @TableField("total_quantity")
+ private Integer totalquantity;
+
+ @TableField("racks_number")
private Integer Racksnumber;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
index 0ebb1bd..8607c8d 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
@@ -4,9 +4,9 @@
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downworkstation.entity.DownWorkstation;
import org.apache.ibatis.annotations.*;
-import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -21,64 +21,63 @@
* @since 2024-03-27
*/
@Mapper
+
@Repository
@InterceptorIgnore(tenantLine = "true")
@DS("hangzhoumes") // 鎸囧畾浣跨敤 hangzhoumes 鏁版嵁婧�
+
public interface DownWorkstationMapper extends BaseMapper<DownWorkstation> {
//鏌ヨ宸ヤ綅琛ㄥ拰浠诲姟琛ㄤ腑鐘舵�佷负1鐨勬祦绋嬪崱鍙峰拰宸茶惤鏋舵暟閲�
@Select("SELECT dwt.flow_card_id,dw.id,dw.racks_number FROM down_workstation_task dwt JOIN down_workstation dw ON dwt.flow_card_id = dw.flow_card_id WHERE dwt.state = 1 LIMIT 1")
List<DownWorkstation> selectdownWorkstationstate();
+
+
+// @Select("SELECT flow_card_id,filmsid,width,height,thickness FROM down_glass_task WHERE task_stauts = 1;")
+// List<DownGlassTask> selectunloadingtaskstate();
//鏇存柊钀芥灦鏁伴噺
- @Update("UPDATE down_workstation SET racks_number = #{racksNumber} " +
- "WHERE flow_card_id = #{flowCardId}")
- void update_racks_number(@Param("flowCardId") String flowCardId,
- @Param("racksNumber") Integer racksNumber);
+// @Update("UPDATE down_workstation SET racks_number = #{racksNumber} " +
+// "WHERE flow_card_id = #{flowCardId}")
+// void update_racks_number(@Param("flowCardId") String flowCardId,
+// @Param("racksNumber") Integer racksNumber);
//鎻掑叆鏈烘浠诲姟琛�
- @Insert("INSERT INTO down_workstation_task (flow_card_id, width, height, thickness, filmsid,state) " +
- "VALUES (#{flowCardId}, #{width}, #{height}, #{thickness}, #{filmsid},1)")
- void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
+// @Insert("INSERT INTO down_workstation_task (flow_card_id, width, height, thickness, filmsid,state) " +
+// "VALUES (#{flowCardId}, #{width}, #{height}, #{thickness}, #{filmsid},1)")
+// void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
//鏍规嵁宸ヤ綅id鏇存柊瀹炰綋绫绘帴鏀剁殑鏁版嵁
- @Update("UPDATE down_workstation SET width = #{width}, height = #{height}, flow_card_id = #{flowCardId} WHERE workstation_id = #{workstationId}")
- void updateFlowCardId(DownWorkstation downWorkstation);
+// @Update("UPDATE down_workstation SET width = #{width}, height = #{height}, flow_card_id = #{flowCardId} WHERE workstation_id = #{workstationId}")
+// void updateFlowCardId(DownWorkstation downWorkstation);
- //婊℃灦鎷夎蛋锛屾竻绌轰俊鎭�
- @Update("UPDATE down_workstation SET width = null, height = null, flow_card_id = null WHERE workstation_id = #{workstationId}")
- void clearFlowCardId(DownWorkstation downWorkstation);
- @Update("UPDATE down_workstation_task SET state = 0 WHERE flow_card_id = #{flowCardId}")
- void update_task_state_to_zero(@Param("flowCardId") String flowCardId);
+// @Update("UPDATE down_workstation_task SET state = 0 WHERE flow_card_id = #{flowCardId}")
+// void update_task_state_to_zero(@Param("flowCardId") String flowCardId);
- @Select(" SELECT * FROM down_workstation WHERE workstation_id >= 1 AND workstation_id <= 5")
- List<DownWorkstation> getoneDownWorkstations();
-
-
- @Select(" SELECT * FROM down_workstation WHERE workstation_id >= 6 AND workstation_id <= 10")
- List<DownWorkstation> gettwoDownWorkstations();
+// @Select("SELECT * FROM down_workstation WHERE workstation_id BETWEEN #{startId} AND #{endId}")
+// List<DownWorkstation> getDownWorkstationsInRange(@Param("startId") int startId, @Param("endId") int endId);
- @Select("SELECT DISTINCT flowcard_id from glass_info")
- @ResultType(Map.class)
- List<Map<String, Object>> getflowCardId();
+// @Select("SELECT DISTINCT flowcard_id from glass_info")
+// @ResultType(Map.class)
+// List<Map<String, Object>> getflowCardId();
- @Update("UPDATE down_workstation SET flow_card_id = NULL, total_quantity = 0, racks_number = 0 WHERE workstation_id = #{workstationId}")
- void clearFlowCardInfoByWorkstationId(@Param("workstationId") int workstationId);
+// @Update("UPDATE down_workstation SET flow_card_id = NULL, total_quantity = 0, racks_number = 0 WHERE workstation_id = #{workstationId}")
+// void clearFlowCardInfoByWorkstationId(@Param("workstationId") int workstationId);
// 鑾峰彇鎬绘暟閲�
- @Select("SELECT total_quantity FROM down_workstation WHERE workstation_id = #{workstationId}")
- int getTotalQuantity(@Param("workstationId") int workstationId);
+// @Select("SELECT total_quantity FROM down_workstation WHERE workstation_id = #{workstationId}")
+// int getTotalQuantity(@Param("workstationId") int workstationId);
// 鑾峰彇钀芥灦鏁伴噺
- @Select("SELECT racks_number FROM down_workstation WHERE workstation_id = #{workstationId}")
- int getRacksNumber(@Param("workstationId") int workstationId);
+// @Select("SELECT racks_number FROM down_workstation WHERE workstation_id = #{workstationId}")
+// int getRacksNumber(@Param("workstationId") int workstationId);
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
index 076b258..1183e63 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
@@ -1,7 +1,10 @@
package com.mes.downworkstation.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.entity.DownWorkstationTask;
+
+import java.util.List;
/**
* <p>
@@ -13,4 +16,7 @@
*/
public interface DownWorkstationTaskMapper extends BaseMapper<DownWorkstationTask> {
+ List<DownWorkstationTask> selectList();
+
+ DownWorkstation selectdownWorkstationstate();
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
index b7cd761..150a27a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
@@ -2,7 +2,9 @@
import com.mes.common.PLCAutoMes;
import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downglassinfo.service.DownGlassInfoService;
+import com.mes.downglassinfo.service.DownGlassTaskService;
import com.mes.downstorage.entity.DownStorageCageDetails;
import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.device.PlcParameterObject;
@@ -23,7 +25,10 @@
private DownWorkstation downWorkstation;
private DownGlassInfoMapper downGlassInfoMapper;
private DownGlassInfoService downGlassInfoService;
+ private DownGlassTaskService downGlassTaskService;
private DownWorkstationMapper downWorkstationMapper;
+ private DownWorkstationService downWorkstationService;
+ private DownWorkstationTaskService downWorkstationTaskService;
PlcParameterObject plcread = PLCAutoMes.PlcReadObject;
/**
* // 鏈烘鎵�1PLC璇锋眰瀛�
@@ -59,22 +64,26 @@
public void insertdownglassinfo() {
- downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
+ downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
+ downWorkstationService = WebSocketServer.applicationContext.getBean(DownWorkstationService.class);
+ downWorkstationTaskService = WebSocketServer.applicationContext.getBean(DownWorkstationTaskService.class);
downGlassInfoService = WebSocketServer.applicationContext.getBean(DownGlassInfoService.class);
- downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
- List<DownGlassInfo> taskdownGlassInf = downGlassInfoMapper.selectunloadingtaskstate();
+ downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
+ downGlassTaskService = WebSocketServer.applicationContext.getBean(DownGlassTaskService.class);
+ List<DownGlassTask> taskdownGlassInf = downGlassTaskService.getUnloadingTaskState();
//
+
+
if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
//
-
- for (DownGlassInfo downGlassInfo : taskdownGlassInf) {
+ for (DownGlassTask downGlassInfo : taskdownGlassInf) {
// 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
DownGlassInfo newdownGlassInfo = new DownGlassInfo();
newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
- Integer maxSequence = downGlassInfoMapper.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
+ Integer maxSequence = downGlassInfoService.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
// 鍒濆鍖栭『搴忓瓧娈靛��
int sequence = maxSequence != null ? maxSequence + 1 : 1;
@@ -86,11 +95,12 @@
newdownGlassInfo.setSequence(sequence);
// 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
- downGlassInfoMapper.insert(newdownGlassInfo);
+ downGlassInfoService.insertDownGlassInfo(newdownGlassInfo);
//鎻掑叆鏁版嵁鍒版満姊版墜浠诲姟琛�
- downWorkstationMapper.insertdownWorkstationtask(newdownGlassInfo);
+
+ downWorkstationTaskService.insertdownWorkstationtask(newdownGlassInfo);
//鏇存柊涓嬬墖浠诲姟琛ㄧ姸鎬佷负0
- downGlassInfoMapper.updateTaskStateToZero(downGlassInfo.getFlowCardId());
+ downGlassTaskService.updateTaskStateToZero(downGlassInfo.getFlowCardId());
sequence++; // 閫掑椤哄簭瀛楁鍊�
@@ -113,14 +123,12 @@
if (taskdownWorkstation != null && !taskdownWorkstation.isEmpty()) {
//锛屽鏋滃凡缁忕粦瀹氬垯鏇存柊宸茶惤鏋舵暟閲�,骞朵笖鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
for (DownWorkstation downWorkstation : taskdownWorkstation) {
-
//鏇存柊涓嬬墖宸ヤ綅琛ㄤ腑宸茶惤鏋舵暟閲�
- downWorkstationMapper.update_racks_number(downWorkstation.getFlowCardId(), downWorkstation.getRacksnumber() + 1);
-
+ downWorkstationService.updateracksnumber(downWorkstation.getFlowCardId(), downWorkstation.getRacksnumber() + 1);
//鏇存柊鏈烘浠诲姟琛ㄤ腑鐘舵�佷负0
- downWorkstationMapper.update_task_state_to_zero(downWorkstation.getFlowCardId());
+ downWorkstationTaskService.updateTaskStateToZero(downWorkstation.getFlowCardId());
//鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
- downGlassInfoMapper.deletetask(downWorkstation.getFlowCardId());
+ downGlassTaskService.deleteTask(downWorkstation.getFlowCardId());
}
}
@@ -134,23 +142,19 @@
}
- /**
- * @param downWorkstation // 缁戝畾娴佺▼鍗″彿鏋跺瓙
- */
- public void bindingshelf(DownWorkstation downWorkstation) {
- downWorkstationMapper.updateFlowCardId(downWorkstation);
- }
+
+
/**
* @param downWorkstation // 婊℃灦鎷夎蛋 娓呴櫎娴佺▼鍗′俊鎭�
*/
- public void clearFlowCardId(DownWorkstation downWorkstation) {
-
- downWorkstationMapper.clearFlowCardId(downWorkstation);
- }
+// public void clearFlowCardId(DownWorkstation downWorkstation) {
+//
+// downWorkstationMapper.clearFlowCardId(downWorkstation);
+// }
-}
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
index e26331f..04f8dc2 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
@@ -16,15 +16,18 @@
*/
public interface DownWorkstationService extends IService<DownWorkstation> {
- List<DownWorkstation> getoneDownWorkstations();
-
- List<DownWorkstation> gettwoDownWorkstations();
-
- List<Map<String, Object>> getflowCardId();
+ List<DownWorkstation> getoneDownWorkstations(int startId, int endId);
int getTotalQuantity(int workstationId);
int getRacksNumber(int workstationId);
void clearFlowCardId(int workstationId);
+
+ void updateracksnumber( String flowCardId, int racksnumber);
+
+
+ int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId);
+
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
index a60ce62..3ba5fe1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
@@ -1,6 +1,7 @@
package com.mes.downworkstation.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downworkstation.entity.DownWorkstationTask;
/**
@@ -12,5 +13,6 @@
* @since 2024-04-07
*/
public interface DownWorkstationTaskService extends IService<DownWorkstationTask> {
-
+ void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
+ void updateTaskStateToZero(String flowCardId);
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
index 865c54c..2752c15 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -1,11 +1,17 @@
package com.mes.downworkstation.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.downworkstation.entity.DownWorkstationTask;
import com.mes.downworkstation.mapper.DownWorkstationMapper;
+import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
import com.mes.downworkstation.service.DownWorkstationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
@@ -15,36 +21,107 @@
@Autowired
private DownWorkstationMapper downWorkstationMapper;
+ private DownWorkstationTaskMapper downWorkstationTaskMapper;
- @Override
- public List<DownWorkstation> getoneDownWorkstations() {
- return downWorkstationMapper.getoneDownWorkstations();
- }
- @Override
- public List<DownWorkstation> gettwoDownWorkstations() {
- return downWorkstationMapper.gettwoDownWorkstations();
- }
- @Override
- public List<Map<String, Object>> getflowCardId() {
- return downWorkstationMapper.getflowCardId();
- }
-
+// @Override
+// public List<DownWorkstation> gettwoDownWorkstations() {
+// return downWorkstationMapper.getDownWorkstationsInRange(6,10);
+// }
+//鑾峰彇鎬绘暟閲�
@Override
public int getTotalQuantity(int workstationId) {
- Integer totalQuantity = downWorkstationMapper.getTotalQuantity(workstationId);
- return totalQuantity != null ? totalQuantity : 0;
+ QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
+ queryWrapper.select("total_quantity")
+ .eq("workstation_id", workstationId);
+
+ DownWorkstation result = baseMapper.selectOne(queryWrapper);
+ return result != null ? result.getTotalquantity() : 0;
}
+// @Override
+// public int getTotalQuantity(int workstationId) {
+// Integer totalQuantity = downWorkstationMapper.getTotalQuantity(workstationId);
+// return totalQuantity != null ? totalQuantity : 0;
+// }
+
+// @Override
+// public int getRacksNumber(int workstationId) {
+// Integer racksNumber = downWorkstationMapper.getRacksNumber(workstationId);
+// return racksNumber != null ? racksNumber : 0;
+// }
+ //鏍规嵁鏉′欢鑾峰彇钀芥灦鏁伴噺
@Override
public int getRacksNumber(int workstationId) {
- Integer racksNumber = downWorkstationMapper.getRacksNumber(workstationId);
- return racksNumber != null ? racksNumber : 0;
+ QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
+ queryWrapper.select("racks_number")
+ .eq("workstation_id", workstationId);
+
+ DownWorkstation result = baseMapper.selectOne(queryWrapper);
+ return result != null ? result.getRacksnumber() : 0;
+ }
+//鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅
+ @Override
+ public List<DownWorkstation> getoneDownWorkstations(int startId, int endId) {
+ QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
+ queryWrapper.between("workstation_id", startId, endId);
+
+ return baseMapper.selectList(queryWrapper);
+ }
+
+
+//
+
+
+ @Override
+ public void updateracksnumber(String flowCardId, int racksNumber) {
+ UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.set("racks_number",racksNumber).eq("flow_card_id", flowCardId);
+ baseMapper.update(null, updateWrapper);
+ }
+
+
+
+ @Override
+ public int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
+ UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.set("total_quantity", glassInfoCount)
+ .set("flow_card_id", flowCardId)
+ .eq("workstation_id", workstationId);
+
+ return baseMapper.update(null, updateWrapper);
}
@Override
public void clearFlowCardId(int workstationId) {
- downWorkstationMapper.clearFlowCardInfoByWorkstationId(workstationId);
+ UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.set("flow_card_id", null)
+ .set("total_quantity", 0)
+ .set("racks_number", 0)
+ .eq("workstation_id", workstationId);
+
+ baseMapper.update(null, updateWrapper);
}
+
+
+
+
+
+
+
+
+
+ @Transactional
+ public void crossDatabaseQuery() {
+ // 浠� MySQL 鏁版嵁搴撲腑鏌ヨ鏁版嵁锛屽彧杩斿洖涓�鏉$鍚堟潯浠剁殑鏁版嵁
+ DownWorkstation downWorkstation = downWorkstationTaskMapper.selectdownWorkstationstate();
+
+ // 浠� SQL Server 鏁版嵁搴撲腑鏌ヨ鏁版嵁
+ List<DownWorkstationTask> downWorkstationTasks = downWorkstationTaskMapper.selectList();
+
+
+
+ }
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
index 5814861..1b35075 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
@@ -1,6 +1,8 @@
package com.mes.downworkstation.service.impl;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downworkstation.entity.DownWorkstationTask;
import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
import com.mes.downworkstation.service.DownWorkstationTaskService;
@@ -17,4 +19,25 @@
@Service
public class DownWorkstationTaskServiceImpl extends ServiceImpl<DownWorkstationTaskMapper, DownWorkstationTask> implements DownWorkstationTaskService {
+
+
+ public void insertdownWorkstationtask(DownGlassInfo downGlassInfo) {
+ DownWorkstationTask entity = new DownWorkstationTask();
+ entity.setFlowCardId(downGlassInfo.getFlowCardId());
+ entity.setWidth(downGlassInfo.getWidth());
+ entity.setHeight(downGlassInfo.getHeight());
+ entity.setThickness(downGlassInfo.getThickness());
+ entity.setFilmsid(downGlassInfo.getFilmsid());
+ entity.setState(1);
+
+ baseMapper.insert(entity);
+ }
+
+ @Override
+ public void updateTaskStateToZero(String flowCardId) {
+ UpdateWrapper<DownWorkstationTask> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.set("state", 0).eq("flow_card_id", flowCardId);
+
+ baseMapper.update(null, updateWrapper);
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
similarity index 87%
rename from hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
rename to hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
index fe7ec7c..c8b2e3b 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
@@ -1,8 +1,7 @@
-package com.mes.uppattenusage.controller;
+package com.mes.glassinfo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
-
import org.springframework.web.bind.annotation.RestController;
/**
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
similarity index 97%
copy from hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
copy to hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
index 3c6eb37..6ab4929 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -1,4 +1,4 @@
-package com.mes.uppattenusage.entity;
+package com.mes.glassinfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
new file mode 100644
index 0000000..a8efa7c
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
@@ -0,0 +1,28 @@
+package com.mes.glassinfo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.glassinfo.entity.GlassInfo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+import org.mapstruct.Mapper;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Mapper
+public interface GlassInfoMapper extends BaseMapper<GlassInfo> {
+
+
+// @Select("SELECT COUNT(*) FROM glass_info WHERE flowcard_id = #{flowCardId}")
+// int getGlassInfoCountByFlowCardId(@Param("flowCardId") String flowCardId);
+
+// @Update("UPDATE down_workstation SET total_quantity = #{glassInfoCount},flow_card_id=#{flowCardId} WHERE workstation_id = #{workstationId}")
+// int updateFlowCardIdAndCount(@Param("flowCardId") String flowCardId, @Param("glassInfoCount") int glassInfoCount,@Param("workstationId")int workstationId);
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
new file mode 100644
index 0000000..672b60f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -0,0 +1,23 @@
+package com.mes.glassinfo.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.glassinfo.entity.GlassInfo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface GlassInfoService extends IService<GlassInfo> {
+
+ int getGlassInfoCountByFlowCardId(String flowCardId);
+
+ List<Map<String, Object>> getFlowCardId();
+ GlassInfo selectGlassId(String id);
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
new file mode 100644
index 0000000..fcf4605
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -0,0 +1,63 @@
+package com.mes.uppattenusage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.glassinfo.service.GlassInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class GlassInfoServiceImpl extends ServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
+
+ private GlassInfoMapper glassInfoMapper;
+
+ @Autowired
+ public GlassInfoServiceImpl(GlassInfoMapper glassInfoMapper) {
+ this.glassInfoMapper = glassInfoMapper;
+ }
+
+ @Override
+ public int getGlassInfoCountByFlowCardId(String flowCardId) {
+ QueryWrapper<GlassInfo> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("flowcard_id", flowCardId);
+
+ return baseMapper.selectCount(queryWrapper);
+ }
+ @Override
+ public List<Map<String, Object>> getFlowCardId() {
+ return baseMapper.selectMaps(new QueryWrapper<GlassInfo>().select("DISTINCT flowcard_id"));
+ }
+ @Override
+ public GlassInfo selectGlassId(String id) {
+ QueryWrapper<GlassInfo> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("id", id);
+
+ return baseMapper.selectOne(queryWrapper);
+ }
+
+
+
+// public void updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
+// int rowsAffected = glassInfoMapper.updateFlowCardIdAndCount(flowCardId, glassInfoCount, workstationId);
+// if (rowsAffected > 0) {
+// System.out.println("鏇存柊鏋跺瓙涓婃祦绋嬪崱 ID 鍜屾暟閲忔垚鍔�");
+// } else {
+// System.out.println("鏇存柊鏋跺瓙涓婃祦绋嬪崱 ID 鍜屾暟閲忓け璐�");
+// }
+// }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/TokenTools.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/TokenTools.java
deleted file mode 100644
index 1cb6dc2..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/TokenTools.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mes.tools;
-
-import cn.hutool.core.date.DateUtil;
-import com.auth0.jwt.JWT;
-import com.auth0.jwt.algorithms.Algorithm;
-
-import java.util.Date;
-
-public class TokenTools {
-
- /**
- * 鐢熸垚token
- * @return
- */
- public static String getToken(String userid,String sign){
- return JWT.create().withAudience(userid) // 灏� user id 淇濆瓨鍒� token 閲岄潰,浣滀负杞借嵎
- .withExpiresAt(DateUtil.offsetHour(new Date(), 24)) // 2灏忔椂鍚巘oken杩囨湡
- .sign(Algorithm.HMAC256(sign)); // 浠� password 浣滀负 token 鐨勫瘑閽�
-
- }
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
deleted file mode 100644
index 66adb58..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mes.uppattenusage.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-@RestController
-@RequestMapping("/glassInfo")
-public class GlassInfoController {
-
-}
-
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
deleted file mode 100644
index f47d7bc..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.mes.uppattenusage.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.downglassinfo.entity.DownGlassInfo;
-import com.mes.uppattenusage.entity.GlassInfo;
-import org.apache.ibatis.annotations.Delete;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-public interface GlassInfoMapper extends BaseMapper<GlassInfo> {
-
-
- @Select("SELECT COUNT(*) FROM glass_info WHERE flowcard_id = #{flowCardId}")
- int getGlassInfoCountByFlowCardId(@Param("flowCardId") String flowCardId);
-
- @Update("UPDATE down_workstation SET total_quantity = #{glassInfoCount},flow_card_id=#{flowCardId} WHERE workstation_id = #{workstationId}")
- int updateFlowCardIdAndCount(@Param("flowCardId") String flowCardId, @Param("glassInfoCount") int glassInfoCount,@Param("workstationId")int workstationId);
-
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
deleted file mode 100644
index 57215a7..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.uppattenusage.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.mes.uppattenusage.entity.GlassInfo;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-public interface GlassInfoService extends IService<GlassInfo> {
-
- int getGlassInfoCountByFlowCardId(String flowCardId);
-
- void updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId);
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
deleted file mode 100644
index 5c1a9b6..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.mes.uppattenusage.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.uppattenusage.entity.GlassInfo;
-import com.mes.uppattenusage.mapper.GlassInfoMapper;
-import com.mes.uppattenusage.service.GlassInfoService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-@Service
-public class GlassInfoServiceImpl extends ServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
-
- private GlassInfoMapper glassInfoMapper;
-
- @Autowired
- public GlassInfoServiceImpl(GlassInfoMapper glassInfoMapper) {
- this.glassInfoMapper = glassInfoMapper;
- }
-
- @Override
- public int getGlassInfoCountByFlowCardId(String flowCardId) {
- return glassInfoMapper.getGlassInfoCountByFlowCardId(flowCardId);
- }
-
- @Override
- public void updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
- int rowsAffected = glassInfoMapper.updateFlowCardIdAndCount(flowCardId, glassInfoCount, workstationId);
- if (rowsAffected > 0) {
- System.out.println("鏇存柊鏋跺瓙涓婃祦绋嬪崱 ID 鍜屾暟閲忔垚鍔�");
- } else {
- System.out.println("鏇存柊鏋跺瓙涓婃祦绋嬪崱 ID 鍜屾暟閲忓け璐�");
- }
- }
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
index b42ad64..a11fc50 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
@@ -12,6 +12,8 @@
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
+
+
cloud:
nacos:
discovery:
@@ -24,10 +26,10 @@
port: 6379
password: 123456
mybatis-plus:
- mapper-locations: classpath*:mapper/*.xml
+ mapper-locations: classpath*:mapper/**/*.xml
-# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
- # 璁剧疆 MyBatis 鏃ュ織绾у埆涓� ERROR
+ # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+ # 璁剧疆 MyBatis 鏃ュ織绾у埆涓� ERROR
logging:
level:
com:
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
deleted file mode 100644
index 59e29ae..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?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.downglassinfo.mapper.DownGlassInfoMapper">
-
- <select id="selectunloadingtaskstate" resultType="com.mes.downglassinfo.entity.DownGlassInfo">
- SELECT flow_card_id, filmsid, width, height, thickness FROM down_glass_task WHERE task_stauts = 1
- </select>
-
- <update id="updateTaskStateToZero">
- UPDATE down_glass_task SET task_stauts = 0 WHERE flow_card_id = #{flowCardId}
- </update>
-
- <select id="getMaxSequenceByFlowCardId" resultType="java.lang.Integer">
- SELECT MAX(sequence) FROM down_glass_info WHERE flow_card_id = #{flowCardId}
- </select>
-
- <delete id="deletetask">
- DELETE FROM down_glass_task WHERE flow_card_id = #{flowCardId}
- </delete>
-
-</mapper>
diff --git a/hangzhoumesParent/moduleService/pom.xml b/hangzhoumesParent/moduleService/pom.xml
index c5d8ab6..1ae04ab 100644
--- a/hangzhoumesParent/moduleService/pom.xml
+++ b/hangzhoumesParent/moduleService/pom.xml
@@ -43,6 +43,17 @@
<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>
--
Gitblit v1.8.0