fujunling
2023-05-29 24fab86e819834e06406900a05cf25958faad0ce
Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs
已修改36个文件
已删除14个文件
已重命名61个文件
已添加46个文件
60651 ■■■■ 文件已修改
Source/UBCS-WEB/src/api/GetItem.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/code/codeReferConfig.js 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Crud/Crud.vue 100 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue 431 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue 679 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/code/code.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/modeling/originalAdd.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/vue.config.js 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeReferConfigDTO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeShowFieldConfig.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeButtonClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyTemplateAttrClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeOsbtmtypeClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodePhaseAttrClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeSynonymClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeTempButtonClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeTempphaseClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeWupinClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/lCodeClassifyTemplateClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/lCodeKeyAttrRepeatClient.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeReferConfigVO.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeSrchCondConfigVO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/group/ResultDataVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/group/result/DataObjectVO.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/BtmTypeCache.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/enumpack/NewAppConstantEnum.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/MdmBtmTypeConstant.java 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/pom.xml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreApplyFormDTO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreAttrMappingDTO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreAttrRangeDTO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreMetaAttrDTO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreViewModelDTO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreApplyForm.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreAttrMapping.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreAttrRange.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreMetaAttr.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreViewModel.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/IMdmInterJtClient.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/MdmApplyGroupCodeProvider.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/BaseModelVO.java 333 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyMainVO.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyMetaAttrVO.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyModelAttrVO.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyVO.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyViewVO.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifysVO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingDataVO.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingGroupDataVO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingMainData.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingMainDataVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingModelQueryVO.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreApplyFormVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreAttrMappingVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreAttrRangeVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreMetaAttrVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreViewModelVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingQueryClassModelVO.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingQueryModelVO.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingResultDataVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingResultVO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingReturnStoreVO.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingViewVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/MainData.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/data/data.json 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/data/pl_code_jconfig.json 1159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/data/pl_code_jrange.json 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/pom.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmBtmTypeConstant.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeReferConfigController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeShowFieldConfigController.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSrchCondConfigController.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeReferConfigFieldTypeEnum.java 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeReferConfigFilterTypeEnum.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeReferConfigFixedEnum.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeReferConfigTypeEnum.java 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/IMdmInterJtClient.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmInterJtClient.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeReferConfigMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeShowFieldConfigMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSrchCondConfigMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreApplyFormMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreAttrMappingMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreAttrRangeMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreMetaAttrMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreViewModelMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeReferConfigService.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeShowFieldConfigService.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeSrchCondConfigService.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyProcessTempServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java 199 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeShowFieldConfigServiceImpl.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSrchCondConfigServiceImpl.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreApplyFormServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java 589 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrRangeServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/gennerAttrMapUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/WsClientUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/annotation/VciWebservice.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/AttributeMapConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/VciCxfPublishConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeReferConfigWraper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeShowFieldConfigWraper.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeSrchCondConfigWraper.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/application-dev.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeReferConfigMapper.xml 231 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/pom.xml 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/GroupCodeApplyApplication.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java 398 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreApplyFormMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreAttrMappingMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreAttrRangeMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreClassifyMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreMetaAttrMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreViewModelMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreApplyFormService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrMappingService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrRangeService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreClassifyService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreMetaAttrService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreViewModelService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IGroupMdmInterService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreApplyFormServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrRangeServiceImpl.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreMetaAttrServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreViewModelServiceImpl.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java 921 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreApplyFormWrapper.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreAttrMappingWrapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreAttrRangeWrapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreClassifyWrapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreMetaAttrWrapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreViewWrapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/application-dev.yml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/application-prod.yml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/application-test.yml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreApplyFormMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreAttrMappingMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreAttrRangeMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreMetaAttrMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreViewMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/data/applogs/xxl-job/xxl-job-admin.log 50343 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/data/applogs/xxl-job/xxl-job-admin.log.2023-05-20.zip 补丁 | 查看 | 原始文档 | blame | 历史
Source/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log 1549 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log.2023-05-20.zip 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/GetItem.js
@@ -12,10 +12,11 @@
export const TableData =(params)=>{
  return request({
    url: 'api/ubcs-code/ubcs-code//mdmEngineController/gridTableDataByClassifyOid',
    url: 'api/ubcs-code/ubcs-code/mdmEngineController/gridTableDataByClassifyOid',
    method: 'get',
    params:{
      ...params
    }
  })
}
Source/UBCS-WEB/src/api/code/codeReferConfig.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
import request from '@/router/axios';
export const getReferConfigPage = (page, limit, params) => {
  return request({
    url: '/api/ubcs-code/codeReferConfig/getReferConfigPage',
    method: 'get',
    params: {
      ...params,
      page,
      limit,
    }
  })
}
export const getReferConfigList = (params) => {
  return request({
    url: '/api/ubcs-code/codeReferConfig/getReferConfigList',
    method: 'get',
    params: {
      ...params
    }
  })
}
export const editCodeReferConfig = (CodeReferConfigVO) => {
  return request({
    url: '/api/ubcs-code/codeReferConfig/edit',
    method: 'put',
    data: CodeReferConfigVO,
  })
}
export const addSaveCodeReferConfig = (data) => {
  return request({
    url: '/api/ubcs-code/codeReferConfig/addSave',
    method: 'post',
    data: data
  })
}
export const deleteCodeReferConfig = (codeReferConfigDTO) => {
  return request({
    url: '/api/ubcs-code/codeReferConfig/del',
    method: 'delete',
    data: codeReferConfigDTO,
  })
}
Source/UBCS-WEB/src/components/Crud/Crud.vue
@@ -1,6 +1,17 @@
<template>
<basic-container style="height: 750px">
  <avue-crud ref="crud" :data="data" :option="option" style="height: 750px" @sort-change="sortChange"></avue-crud>
<basic-container>
  <avue-crud ref="crud"
             :data="data"
             :option="option"
             @sort-change="sortChange"
             v-loading="loading"
             :page="page"
             @selection-change="selectionChange"
             @on-load="onLoad">
      <template slot="menu">
        <el-button type="text">文字按钮</el-button>
      </template>
  </avue-crud>
</basic-container>
</template>
@@ -10,18 +21,17 @@
  name: "Crud.vue",
  data(){
    return{
      data:[
        {
          zhiliangbz:"111",
        },
        {
          xinghaoguige:"1121",
        },
      ],
      loading:false,
      data:[],
      option:{
        //默认高度,
        align:'center',
        menuAlign:'center',
        addBtn:false,
        editBtn:false,
        selection:true,
        selectionFixed:false,
        index:true,
        column:[]
      },
      List:[],
@@ -30,13 +40,19 @@
        combox: "select",
        truefalse: "switch",
        number: "number",
        datetime: "datetime",
        datetime:"datetime",
      },
      page:{
        total: 0,
        currentPage: 1,
        pageSize: 10,
        pageSizes: [10, 30, 50, 100, 200],
      },
    }
  },
  created() {
   this.CrudHeaderRend();
   this.CrudRend()
      this.CrudHeaderRend();
      this.CrudRend()
  },
  activated() {
    this.doLayout()
@@ -47,11 +63,11 @@
        this.$refs.crud.doLayout();
      });
    },
    //表格头渲染
    CrudHeaderRend(){
      MasterTable({codeClassifyOid:"D9CF223F-317D-71EB-BD11-433A94CAD9F3",functionId: 5,_: 1685067339479}).then(res=>{
        this.List=res.data.tableDefineVO.cols[0];
        this.List.forEach(item=>{
          console.log(item)
          let columnItem={
            label:item.title,
            prop:item.field,
@@ -64,31 +80,57 @@
        })
      })
    },
    //表格数据
    CrudRend(){
      TableData({templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
        codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
        page: 1,
        limit: 9,
        page: this.page.currentPage,
        limit: this.page.pageSize,
        _: 1685089123575
      }).then(res=>{
        console.log(res)
        this.data=res.data.data
        this.page.total=res.data.total;
        this.data=res.data.data;
      })
    },
    // æŽ’序
    sortChange(val){
      console.log(val)
      // TableData(  {
      //   templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
      //   codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
      //   order:"desc",
      //   sort:val.prop
      // }).then(res=>{
      //   console.log(res.data.data)
      //   this.data=res.data.data
      // })
      this.loading=true;
      let order=""
      if(val.order == "ascending"){
        order="asc";
      }else {
        order="desc";
      }
      TableData(  {
        templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
        codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
        order:order,
        sort:val.prop,
        page: this.page.currentPage,
        limit: this.page.pageSize,
      }).then(res=>{
        setTimeout(() => {
          this.data=res.data.data;
          this.loading=false;
        }, 100);
      })
    },
    //分页刷新
    async onLoad(val){
      console.log(val)
     await TableData({templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
        codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
        page: val.currentPage,
        limit: val.pageSize,
        _: 1685089123575
      }).then(res=>{
       this.data=res.data.data;
      })
    },
    //多选
    selectionChange(row){
      console.log(row)
    }
  }
}
</script>
Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue
@@ -3,13 +3,13 @@
        title="选择参照配置"
        append-to-body
        :visible.sync="isShowReferConfigCrud"
        width="94%"
        width="95%"
        id="refer-config-dialog"
        style="height: 115vh; margin-top: -14vh; overflow-y: hidden">
        <div style="width: 100%; overflow-y: auto; height: 70vh">
            <el-row style="width: 100%; height:70%">
                <el-col style="width: 70%; height: 100%;">
                    <basic-container style="width: 100%; ">
                <el-col :style="toggleCrudWidth">
                    <basic-container style="width: 100%;">
                        <avue-crud :option="referConfigCrudOption"
                            class="refer-config-crud"
                            :page.sync="referConfigParams.referConfigPage"
@@ -17,9 +17,11 @@
                            :data="referConfigParams.referConfigData"
                            :ref= "referConfigParams.ref"
                            @row-click="referConfigRowClick"
                            @selection-change="referConfigDataChange"
                            @search-change="referConfigSearchChange"
                            @search-reset="referConfigSearchReset">
                            @search-reset="referConfigSearchReset"
                            @current-change="referConfigCurrentChange"
                            @size-change="referConfigSizeChange"
                            @on-load="referConfigOnload">
                            <template #radio="{row}">
                                <el-radio v-model="referConfigParams.referConfigSelectedRow"
                                    :label="row.$index">
@@ -29,26 +31,38 @@
                        </avue-crud>
                    </basic-container>
                </el-col>
                <el-col v-show="true" style="width: 30%; height: 100%;">
                    <basic-container style="width: 100%;">
                <el-col v-show="isShowForm" style="height: 100%; width: 30%;">
                    <basic-container style="width: 100%; height: 100vh; overflow-y: hidden">
                        <avue-form ref="refereConfigForm" 
                        style="height: 65vh;"
                        :option="formOption"
                        class="refer-confg-form"
                        ></avue-form>
                            style="height: 65vh; overflow-y: auto;"
                            :option="formOption"
                            v-model="referConfigForm"
                            class="refer-confg-form">
                        </avue-form>
                    </basic-container>
                </el-col>
            </el-row>
            <el-row style="width: 100%; height:30%; margin-top: 130px">
                <basic-container style="width: 100%; height:100%;">
                    <avue-crud :option="attrAndSrchCondOption"
                        class="refer-attrorsrchcond-crud"
                        :table-loading="attrAndSrchCondParams.attrAndSrchCondLoading"
                        :data="attrAndSrchCondParams.attrAndSrchCondData"
                        :ref= "attrAndSrchCondParams.ref"
                        @row-click="attrAndSrchCondRowClick">
                    </avue-crud>
                </basic-container>
            <el-row style="width: 100%; height:30%; margin-top: 130px" v-show="srchCondParams.isShow && showAttrParams.isShow">
                <el-col v-show="srchCondParams.isShow" style="width: 40%;">
                    <basic-container style="width: 100%; height:100%;">
                        <avue-crud :option="srchCondOption"
                            class="refer-srchcond-crud"
                            :table-loading="srchCondParams.srchCondLoading"
                            :data="srchCondParams.srchCondData"
                            :ref= "srchCondParams.ref">
                        </avue-crud>
                    </basic-container>
                </el-col>
                <el-col v-show="showAttrParams.isShow" style="width: 60%;">
                    <basic-container style="width: 100%; height:100%;">
                        <avue-crud :option="showAttrOption"
                            class="refer-attr-crud"
                            :table-loading="showAttrParams.showAttrLoading"
                            :data="showAttrParams.showAttrData"
                            :ref= "showAttrParams.ref">
                        </avue-crud>
                    </basic-container>
                </el-col>
            </el-row>
        </div>
        <div slot="footer" class="dialog-footer">
@@ -60,6 +74,7 @@
<script>
//import func from "@/util/func";
import { getReferConfigPage } from "@/api/code/codeReferConfig";
export default {
    name: "referConfigDialog",
        props: {
@@ -69,7 +84,7 @@
                isShowReferConfigCrud:false,
                referConfigCrudOption: {
                    border: true,
                    height: '56vh',
                    height: '45vh',
                    tip: false,
                    searchShow: true,
                    searchMenuSpan: 6,
@@ -118,7 +133,7 @@
                        },{
                            label: '参照窗口类型',
                            search: false,
                            prop: 'typeText'
                            prop: 'typeText',
                        }
                    ],
                },
@@ -139,37 +154,72 @@
                formOption: {
                    submitBtn: false,
                    emptyBtn: false,
                    labelWidth: '110', //默认标签宽度
                    column: [{
                            label: '每页显示条数',
                            prop: 'limit',
                            span: 24,
                            disabled: true,
                            row: true,
                            placeholder: ' ',
                        },{
                            label: '排序字段',
                            prop: 'sortField',
                            span: 24,
                            disabled: true,
                            row: true,
                            placeholder: ' ',
                        },{
                            label: '排序类型',
                            prop: 'sortType',
                            span: 24,
                            dicData: [{
                                label: '升序', value: 'asc'
                            }, {
                                label: '降序', value: 'desc'
                            }],
                            type: 'select',
                            disabled: true,
                            row: true,
                            placeholder: ' ',
                        }
                    ]
                    labelWidth: '150', //默认标签宽度
                    // é»˜è®¤é…ç½®å°±ä¸ºæ ‘形类型,改了会出现问题
                    column: [{
                        label: '树形的上级属性',
                        prop: 'parentFieldName',
                        span: 24,
                        disabled: true,
                        row: true,
                        placeholder: ' ',
                    },{
                        label: '上级属性值对应属性',
                        prop: 'parentUsedField',
                        span: 24,
                        disabled: true,
                        row: true,
                        placeholder: ' ',
                    },{
                        label: '根节点的值',
                        prop: 'parentValue',
                        span: 24,
                        disabled: true,
                        row: true,
                        placeholder: ' ',
                    },
                    {
                        label: '树加载方式',
                        prop: 'loadType',
                        span: 24,
                        disabled: true,
                        row: true,
                        placeholder: ' ',
                        dicData: [{
                            label: '全部', value: 'all'
                        }, {
                            label: '逐级加载', value: 'node'
                        }],
                    },{
                        label: '是否只能选择叶子节点',
                        prop: 'onlyLeaf',
                        span: 24,
                        disabled: true,
                        row: true,
                        placeholder: ' ',
                    },{
                        label: '排序字段',
                        prop: 'sortField',
                        span: 24,
                        disabled: true,
                        row: true,
                        placeholder: ' ',
                    },{
                        label: '排序类型',
                        prop: 'sortType',
                        span: 24,
                        disabled: true,
                        row: true,
                        placeholder: ' ',
                        dicData: [{
                            label: '升序', value: 'asc'
                        }, {
                            label: '降序', value: 'desc'
                        }],
                    },
                    ],
                },
                referConfigForm:{},
                // æŽ’序类型的表单配置
                sortColumn:[{            
                    label: '每页显示条数',
@@ -189,95 +239,98 @@
                    label: '排序类型',
                    prop: 'sortType',
                    span: 24,
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                    dicData: [{
                        label: '升序', value: 'asc'
                    }, {
                        label: '降序', value: 'desc'
                    }],
                    type: 'select',
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                }],
                // æ ‘形类型的表单配置
                treeColumn:[{
                    label: '树形的上级属性',
                    prop: 'parentFieldName',
                    span: 7,
                    tip: '树形展示的时候,上下级关系查找的属性。',
                    tipPlacement: 'right',
                    rules: [{
                        required: true,
                        message: "(树形的上级属性)必填项不能为空",
                        trigger: "blur",
                    }],
                    span: 24,
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                },{
                    label: '上级属性值对应属性',
                    prop: 'parentUsedField',
                    span: 7,
                    tip: '上级属性存储的值,是上级数据的什么属性。一般都是oid。',
                    value: 'oid',
                    tipPlacement: 'right',
                    span: 24,
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                },{
                    label: '根节点的值',
                    prop: 'parentValue',
                    span: 7,
                    tip: '树形展示的时候,上级的值。',
                    tipPlacement: 'right',
                },{
                    span: 24,
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                },
                {
                    label: '树加载方式',
                    prop: 'loadType',
                    span: 7,
                    value: 'all',
                    span: 24,
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                    dicData: [{
                        label: '全部', value: 'all'
                    }, {
                        label: '逐级加载', value: 'node'
                    }],
                    type: 'select',
                },{
                    label: '是否只能选择叶子节点',
                    prop: 'onlyLeaf',
                    span: 7,
                    value: false,
                    type: 'switch',
                    span: 24,
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                },{
                    label: '排序字段',
                    prop: 'sortField',
                    span: 7,
                    //type: 'table',
                    tip: '查询数据时的排序字段',
                    tipPlacement: 'right',
                    span: 24,
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                },{
                    label: '排序类型',
                    prop: 'sortType',
                    span: 7,
                    type: 'select',
                    value: 'asc',
                    span: 24,
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                    dicData: [{
                        label: '升序', value: 'asc'
                    }, {
                        label: '降序', value: 'desc'
                    }],
                },],
                },
                ],
                // å¹³å°ç±»åž‹çš„表单配置
                standColumn:[{
                    label: '参考的UI上下文',
                    prop: 'referContent',
                    span: 7,
                    tip: '只有参照窗口类型是stand时才必须设置,且在stand类型下才能生效',
                    tipPlacement: 'right',
                    span: 24,
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                },
                {
                    label: '平台的表格编号',
                    prop: 'displayTable',
                    span: 7,
                    tip: '与参照的UI上下文互斥,只有参照窗口类型是stand时才必须设置,且在stand类型下才能生效',
                    tipPlacement: 'right',
                    span: 24,
                    disabled: true,
                    row: true,
                    placeholder: ' ',
                }],
                // æ˜¾ç¤ºçš„属性和查询条件表格区域
                attrAndSrchCondOption: {
                // æŸ¥è¯¢æ¡ä»¶è¡¨æ ¼åŒºåŸŸ
                srchCondOption: {
                    border: true,
                    height: '40vh',
                    tip: false,
@@ -309,7 +362,36 @@
                                    prop: 'filterValue',
                                }
                            ],
                        },{
                        },
                    ],
                },
                srchCondParams: {
                    ref: "srchCondCrud",
                    srchCondLoading: false,
                    srchCondData: [],
                    isShow: true,
                },
                //显示的属性表格配置区域
                showAttrOption: {
                    border: true,
                    height: '40vh',
                    tip: false,
                    searchShow: false,
                    searchMenuSpan: 6,
                    index: true,
                    selection: false,
                    menu: false,
                    addBtn: false,
                    refreshBtn: false,
                    searchShowBtn: false,
                    columnBtn: false,
                    dialogClickModal: false,
                    highlightCurrentRow: true,
                    align: 'center',
                    menuAlign: 'center',
                    column: [
                        {
                            label: '显示的属性',
                            children: [
                                {
@@ -343,20 +425,42 @@
                                },{
                                    label: 'js显示代码',
                                    prop: 'templet' 
                                },{
                                    label: '是否快速查询',
                                    prop: 'isQuery'
                                }
                            ]
                        }, 
                    ],
                },
                attrAndSrchCondParams: {
                    ref: "attrOrSrchCondCrud",
                    attrAndSrchCondLoading: false,
                    attrAndSrchCondData: [],
                showAttrParams: {
                    ref: "showAttrCrud",
                    showAttrLoading: false,
                    showAttrData: [],
                    isShow: true,
                },
                // æ˜¯å¦æ˜¾ç¤ºå˜åŠ¨çš„è¡¨å•åŒºåŸŸ
                isShowForm: true,
                toggleCrudWidth: {
                    height: '100%',
                    width: '70%',
                },
                defaultOrGridForm: ['limit','sortField','sortType'],
                standForm: ['referContent','displayTable'],
                treeForm: [
                    'parentFieldName',
                    'parentUsedField',
                    'parentValue',
                    'loadType',
                    'onlyLeaf',
                    'sortField',
                    'sortType'
                ],
            }
        },
        methods: {
            // ä¸‹ä¸€æ­¥è¦è¿›è¡Œçš„æ“ä½œé€‰æ‹©å¹¶ä¿å­˜æˆ–选择并修改
            selectedreferConfig(condition) {
                // å½“前选中的参照配置行
@@ -366,34 +470,41 @@
                    return;
                }
                if(condition == "selectedSave"){
                    console.log(currentSeletedRow);
                    //console.log(currentSeletedRow);
                }else {
                    console.log(currentSeletedRow);
                    //console.log(currentSeletedRow);
                }
            },
            referConfigOnload(page, params = {}){
                this.referConfigParams.referConfigLoading = true;
                this.referConfigParams.referConfigData = [
                    {
                        id: 'test',
                        name: '测试',
                        referType: 'test',
                        textField: 'test',
                        valueField: 'test',
                        typeText:'默认配置',
                    },{
                        id: 'test1',
                        name: '测试1',
                        referType: 'test1',
                        textField: 'test1',
                        valueField: 'test1',
                        typeText:'平台配置',
            referConfigOnload(){
                let refer = this.referConfigParams;
                refer.referConfigLoading = true;
                let param = {};
                // å¤šä¸ªconditionMap这样传参
                if(refer.referConfigQuery){
                    Object.keys(refer.referConfigQuery).forEach(key=>{
                        param['conditionMap['+key+']'] = refer.referConfigQuery[key];
                    });
                }
                getReferConfigPage(
                    refer.referConfigPage.currentPage,
                    refer.referConfigPage.pageSize,
                    param
                ).then(res=>{
                    const data = res.data.data;
                    this.referConfigParams.referConfigPage.total = data.total;
                    this.referConfigParams.referConfigData = data.records;
                    this.referConfigParams.referConfigLoading = false;
                    //console.log(this.referConfigParams.referConfigData.length > 0);
                    if(this.referConfigParams.referConfigData.length > 0) {
                        this.$nextTick(() => {
                            this.$refs[this.referConfigParams.ref].doLayout()
                            this.referConfigParams.referConfigSelectedRow = 0;
                            this.$refs[this.referConfigParams.ref].setCurrentRow(this.referConfigParams.referConfigData[0]);
                            this.attrAndSrchCondOnload(this.referConfigParams.referConfigData[0]);
                            this.loadDefaultOrGridOrStandOrTreeForm(this.referConfigParams.referConfigData[0]);
                        })
                    }
                ];
                this.$nextTick(() => {
                    this.$refs[this.referConfigParams.ref].doLayout()
                })
                this.referConfigParams.referConfigLoading = false;
                });
            },
            referBtmTypeSizeChange(pageSize){
                this.referConfigParams.referConfigPage.pageSize = pageSize;
@@ -402,27 +513,82 @@
                this.referConfigParams.referConfigPage.currentPage = currentPage;
            },
            referConfigRowClick(row){
                // å¯¹å½“前选中行进行记录
                this.referConfigParams.referConfigSelectedRowData = row;
                // å•选框选中
                this.referConfigParams.referConfigSelectedRow = row.$index
                this.attrAndSrchCondOnload(row);
                this.loadDefaultOrGridOrStandOrTreeForm(row);
            },
            referConfigDataChange(params, done){
            referConfigSearchChange(params, done){
                this.referConfigParams.referConfigQuery = params;
                this.referConfigParams.referConfigPage.currentPage = 1;
                this.referConfigOnload(this.referConfigParams.referConfigPage, params);
                this.referConfigOnload();
                done();
            },
            referConfigSearchReset(){
                this.referConfigParams.referConfigQuery = {};
                this.referConfigOnload(this.referConfigParams.referConfigPage);
            },
            referConfigCurrentChange(currentPage){
                this.referConfigParams.referConfigPage.currentPage = currentPage;
            },
            referConfigSizeChange(pageSize){
                this.referConfigParams.referConfigPage.pageSize = pageSize;
            },
            // åŠ è½½è¡¨å•æ˜¾ç¤ºå†…å®¹
            loadDefaultOrGridOrStandOrTreeForm(currentFormData){
                if(currentFormData.type != 'tree' &
                   currentFormData.type != 'stand' &
                   currentFormData.type != 'default'&
                   currentFormData.type != 'grid') {
                    //控制参照配置表格和表单显示比例
                    this.isShowForm = false;
                    this.toggleCrudWidth.width = '100%';
                }else {
                    this.isShowForm = true;
                    this.toggleCrudWidth.width = '70%';
                    this.toggleFormOption(currentFormData);
                }
                //console.log(this.isShowForm);
                //console.log(this.toggleCrudWidth.width);
            },
            // æ ¹æ®type的变动切换表单的配置option
            toggleFormOption(data){
                //console.log(data);
                let currentForm = '';
                if(data.type=='default' || data.type=='grid'){
                    this.formOption.column = this.sortColumn;
                    currentForm = 'defaultOrGridForm'
                }else if(data.type == 'stand'){
                    this.formOption.column = this.standColumn;
                    currentForm = 'standForm';
                }else if(data.type == 'tree'){
                    this.formOption.column = this.treeColumn;
                    currentForm = 'treeForm'
                }
                this.referConfigForm = {},
                console.log( this.formOption);
                this[currentForm].forEach(item=>{
                    Vue.set(this.referConfigForm, item, data[item])
                    //this.referConfigForm = Object.assign(this.referConfigForm,{[item]:data[item]})
                })
                console.log(this.referConfigForm);
            },
            // æ˜¾ç¤ºçš„属性和查询条件相关方法
            attrAndSrchCondOnload(row){
                this.attrAndSrchCondParams.attrAndSrchCondLoading = true;
                this.attrAndSrchCondParams.attrAndSrchCondParams = row.attrAndSrchCondParams
                this.attrAndSrchCondParams.attrAndSrchCondLoading = false;
                this.srchCondParams.srchCondLoading = true;
                this.showAttrParams.showAttrLoading = true;
                this.$nextTick(() => {
                    this.$refs[this.srchCondParams.ref].doLayout()
                    this.$refs[this.showAttrParams.ref].doLayout()
                });
                this.srchCondParams.srchCondData = row.codeSrchCondConfigVOS
                this.showAttrParams.showAttrData = row.codeShowFieldConfigVOS
                this.srchCondParams.srchCondLoading = false;
                this.showAttrParams.showAttrLoading = false;
            },
        },
@@ -434,7 +600,10 @@
    .refer-config-crud > .el-card > .el-card__body > .avue-crud__menu {
        display: none!important;
    }
    .refer-attrorsrchcond-crud > .el-card > .el-card__body > .avue-crud__menu {
    .refer-srchcond-crud > .el-card > .el-card__body > .avue-crud__menu  {
        display: none!important;
    }
    .refer-attr-crud > .el-card > .el-card__body > .avue-crud__menu {
        display: none!important;
    }
Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
@@ -10,7 +10,7 @@
      style="height: 115vh; margin-top: -14vh; overflow-y: hidden">
        <div style="width: 100%; overflow-y: auto; height: 70vh">
            <el-row>
                <avue-form ref="form" :option="formOption" v-model="form" class="referTypeForm">
                <avue-form :ref="formRefs[0]" :option="formOption" v-model="form" class="referTypeForm">
                    <template #referTypeName="{disabled,size}">
                        <el-input :disabled="disabled"
                            :size="size"
@@ -37,76 +37,101 @@
                    </template>
                </avue-form>
            </el-row>
            <el-row v-show="form.type=='default' || form.type=='grid'">
                <avue-crud
                    ref="crudAttr"
                    class="crud-attr"
                    :option="attrOption"
                    @cell-click="clickAttrEdit"
                    :data="attrData">
                    <!-- è¡¨æ ¼å†…操作按钮 -->
                    <template slot="menu" slot-scope="scope">
                        <el-button type="text"
                            size="small"
                            icon="el-icon-search"
                            plain
                            @click="scope.row.isquery=!scope.row.isquery">
                            {{scope.row.isquery ? "取消快速查询":"快速查询"}}
                        </el-button>
                        <el-button type="text"
                            size="small"
                            icon="el-icon-minus"
                            plain
                            @click="removeCurrentRow(scope.row,'removeAttr')">移除
                        </el-button>
                    </template>
                    <!-- è¡¨æ ¼å·¦ä¸Šæ–¹æŒ‰é’®åŒºåŸŸ -->
                    <template slot="menuLeft" slot-scope="scope">
                        <el-button type="primary"
                            size="small"
                            icon="el-icon-plus"
                            @click="openSelectionTable('selectAttr')">选择属性
                        </el-button>
                        <div class="tag-group" style="display: inline">
                            <el-tag
                                v-for="item in attrData"
                                v-show="item.isquery && item.title!=''"
                                style="margin-left: 3px"
                                :key="item.title"
                                type="info"
                                size="small"
                                effect="dark">
                                {{ item.title }}
                            </el-tag>
                        </div>
                    </template>
                </avue-crud>
            </el-row>
            <el-row style="margin-top: 10px">
                <avue-crud
                    ref="crudAddCondition"
                    :option="addSearchCondtionOption"
                    @cell-click="clickAddSearchCondtionEdit"
                    :data="addSearchCondtionData">
                    <!-- è¡¨æ ¼å†…操作按钮 -->
                    <template slot="menu" slot-scope="scope">
                        <el-button type="text"
                            size="small"
                            icon="el-icon-minus"
                            plain
                            @click="removeCurrentRow(scope.row,'removeaddSearchCondtion')">移除
                        </el-button>
                    </template>
                    <!-- è¡¨æ ¼å·¦ä¸Šæ–¹æŒ‰é’®åŒºåŸŸ -->
                    <template slot="menuLeft" slot-scope="scope">
                        <el-button type="primary"
                            size="small"
                            icon="el-icon-plus"
                            @click="openSelectionTable('addSearchCondition')">
                            æ·»åŠ æŸ¥è¯¢æ¡ä»¶
                        </el-button>
                    </template>
                </avue-crud>
            <el-row>
                <el-tabs type="border-card" v-model="activeName">
                    <el-tab-pane name="first" :disabled="isDisabledTabs">
                        <span slot="label"><i class="el-icon-monitor"></i>显示的属性与其他配置</span>
                        <el-row>
                            <avue-form :ref="formRefs[1]" :option="formOtherOption" v-model="form" class="referTypeForm">
                                <template #sortField="{disabled,size}">
                                    <el-input :disabled="disabled"
                                        :size="size"
                                        v-model="form.sortField"
                                        ref="sortField"
                                        placeholder="请选择 æŽ’序字段"
                                        prefix-icon="el-icon-search"
                                        readonly="true"
                                        @focus="openSelectionTable('sortField')">
                                        <i slot="suffix" class="el-icon-circle-close" @click="clearSelectionTable('sortField')" style="margin-right: 5px;cursor: pointer;"></i>
                                    </el-input>
                                </template>
                            </avue-form>
                        </el-row>
                        <el-row v-show="form.type=='default' || form.type=='grid'">
                            <el-divider content-position="left" style="margin-bottom: -40px;">配置显示的属性</el-divider>
                            <avue-crud
                                ref="crudAttr"
                                class="crud-attr"
                                :option="attrOption"
                                @cell-click="clickAttrEdit"
                                :data="attrData">
                                <!-- è¡¨æ ¼å†…操作按钮 -->
                                <template slot="menu" slot-scope="scope">
                                    <el-button type="text"
                                        size="small"
                                        icon="el-icon-search"
                                        plain
                                        @click="scope.row.isquery=!scope.row.isquery">
                                        {{scope.row.isquery ? "取消快速查询":"快速查询"}}
                                    </el-button>
                                    <el-button type="text"
                                        size="small"
                                        icon="el-icon-minus"
                                        plain
                                        @click="removeCurrentRow(scope.row,'removeAttr')">移除
                                    </el-button>
                                </template>
                                <!-- è¡¨æ ¼å·¦ä¸Šæ–¹æŒ‰é’®åŒºåŸŸ -->
                                <template slot="menuLeft" slot-scope="scope">
                                    <el-button type="primary"
                                        size="small"
                                        icon="el-icon-plus"
                                        @click="openSelectionTable('selectAttr')">选择属性
                                    </el-button>
                                    <div class="tag-group" style="display: inline">
                                        <el-tag
                                            v-for="item in attrData"
                                            v-show="item.isquery && item.title!=''"
                                            style="margin-left: 3px"
                                            :key="item.title"
                                            type="info"
                                            size="small"
                                            effect="dark">
                                            {{ item.title }}
                                        </el-tag>
                                    </div>
                                </template>
                            </avue-crud>
                        </el-row>
                    </el-tab-pane>
                    <el-tab-pane name="second">
                        <span slot="label"><i class="el-icon-search"></i>查询条件添加</span>
                        <avue-crud
                            ref="crudAddCondition"
                            :option="addSearchCondtionOption"
                            @cell-click="clickAddSearchCondtionEdit"
                            :data="addSearchCondtionData">
                            <!-- è¡¨æ ¼å†…操作按钮 -->
                            <template slot="menu" slot-scope="scope">
                                <el-button type="text"
                                    size="small"
                                    icon="el-icon-minus"
                                    plain
                                    @click="removeCurrentRow(scope.row,'removeaddSearchCondtion')">移除
                                </el-button>
                            </template>
                            <!-- è¡¨æ ¼å·¦ä¸Šæ–¹æŒ‰é’®åŒºåŸŸ -->
                            <template slot="menuLeft" slot-scope="scope">
                                <el-button type="primary"
                                    size="small"
                                    icon="el-icon-plus"
                                    @click="openSelectionTable('addSearchCondition')">
                                    æ·»åŠ æŸ¥è¯¢æ¡ä»¶
                                </el-button>
                            </template>
                        </avue-crud>
                    </el-tab-pane>
                </el-tabs>
            </el-row>
        </div>
@@ -233,7 +258,6 @@
            let element = '';
            return {
                activeName: 'first', //当前活动的tabs
                labelWidth: '150',   // æ ‡é¢˜å®½åº¦
                isShowReferConfigForm: false,  // ç¬¬ä¸€å±‚对话框显示隐藏控制
                referTypeIsReadOnly: false,
@@ -282,6 +306,8 @@
                    columnBtn: false,
                    dialogClickModal: false,
                    highlightCurrentRow: true,
                    indexFixed: false,
                    menuFixed: false,
                    column: [
                        {
                            label: "列字段(*)",
@@ -408,6 +434,12 @@
                        }
                    ]
                },
                formRefs: ['form','otherForm'],
                // tabs控制
                isDisabledTabs: false,
                activeName: 'first', //当前活动的tabs
                //为【参照的业务类型】选取值对话框
                selectionReferBtmTypeOption: {
@@ -638,205 +670,256 @@
                    submitBtn: false,
                    emptyBtn: false,
                    labelWidth: '145', //默认标签宽度
                    // åŸºç¡€è¡¨å•信息展示区域
                    column: [
                        {
                            label: '参照的业务类型',
                            prop: 'referTypeName',
                            span: 7,
                            disabled: this.referTypeIsReadOnly,
                            clearable: !this.referTypeIsReadOnly,
                            tip: '参照数据查询的业务类型。',
                            tipPlacement: 'right',
                            rules: [{
                                required: true,
                                message: "(参照的业务类型)必填项不能为空",
                                trigger: ["blur","change"],
                            }],
                        },{
                            label: '显示的属性',
                            prop: 'textField',
                            tip: '选择数据后,显示到字段上的信息所属的属性,一般都是name,如果是多个属性使用逗号分割,如id,name。',
                            tipPlacement: 'right',
                            span: 7,
                            value: 'name',
                            rules: [{
                                required: true,
                                message: "(显示的属性)必填项不能为空",
                                trigger: "blur",
                            }],
                        },{
                            label: '存储值的属性',
                            prop: 'valueField',
                            tip: '选择数据后,保存到数据库里的属性,一般都是oid或者id,如果是多个属性使用逗号分割,如oid ,id',
                            value: 'oid',
                            tipPlacement: 'right',
                            span: 7,
                            rules: [{
                                required: true,
                                message: "(存储值的属性)必填项不能为空",
                                trigger: "blur",
                            }],
                        },{
                            label: '参照窗口类型',
                            prop: 'type',
                            tip: 'default:默认的参照窗口样式; stand:UI上下文配置的方式; classify:分类+档案的显示; è‡ªå®šä¹‰çš„参照直接写js的组件路径;tree:树形展示;grid:列表展示',
                            tipPlacement: 'right',
                            span: 7,
                            value: 'default',
                            type: 'select',
                            dicData: [{
                                label: '默认样式',
                                value: 'default'
                            }, {
                                label: '平台配置',
                                value: 'stand'
                            }, {
                                label: '树形',
                                value: 'tree'
                            }, {
                                label: '列表',
                                value: 'grid'
                            }, {
                                label: '部门树',
                                value: 'refer/OrgDepartmentRefer'
                            }, {
                                label: '部门列表',
                                value: 'refer/OrgDepartmentGridRefers'
                            }, {
                                label: '用户',
                                value: 'refer/SmUserRefer'
                            }, {
                                label: '用户列表',
                                value: 'refer/SmUserGridRefer'
                            }, {
                                label: '角色列表',
                                value: 'refer/SmRoleRefer'
                            }, {
                                label: '职务',
                                value: 'refer/OrgDutyRefer'
                            }, {
                                label: '工种',
                                value: 'refer/SmWorkTypeRefer'
                            }, {
                                label: '流程模板',
                                value: 'refer/WfProcessTemplateRefer'
                            }],
                            rules: [{
                                required: true,
                                message: "(参照窗口类型)必填项不能为空",
                                trigger: "blur",
                            }],
                            change: ({ value, column }) => {
                                // å¤åŽŸè¡¨å•,因为其他分组中如果存在值,在切换时,会保留输入的字段值所以需要还原
                                let oldForm = this.form;
                                this.form = {};  // è¡¨å•对象赋空
                                this.form.referType = oldForm.referType
                                this.form.textField = oldForm.textField
                                this.form.valueField = oldForm.valueField
                                this.form.type = oldForm.type //参照窗口类型
                                this.form.url =  oldForm.url
                                this.form.backPath =  oldForm.backPath
                                this.form.method =  oldForm.method
                                this.form.height =  oldForm.height
                                this.form.useFormKey =  oldForm.useFormKey
                                this.form.paramForFormKey =  oldForm.paramForFormKey
                                this.form.isMuti =  oldForm.isMuti
                                this.form.mapFields =  oldForm.mapFields
                                let addFrom = {};  //根据类型需要添加的不同属性
                                if(value == 'stand'){
                                    addFrom = {
                                        referContent: '',
                                        displayTable: '',
                                    }
                                } else if(value == 'default' || value == 'grid'){
                                    addFrom = {
                                        limit: '15',
                                        sortField: '',
                                        sortType: 'asc',
                                    }
                                } else if(value == 'tree'){
                                    addFrom = {
                                        parentFieldName: '',
                                        parentUsedField: 'oid',
                                        parentValue: '',
                                        loadType: 'all',
                                        onlyLeaf: false,
                                        sortField: '',
                                        sortType: 'asc',
                                    }
                    group: [
                        {
                            // åŸºç¡€è¡¨å•信息展示区域
                            //display: this.form.type=='default'||this.form.type=='grid',
                            icon: 'el-icon-info',
                            label: '必填的参照配置',
                            collapse: true,
                            labelWidth: '110',
                            prop: 'groupDdefaultOrGrid',
                            column: [
                                {
                                    label: '参照的业务类型',
                                    prop: 'referTypeName',
                                    span: 6,
                                    labelWidth: '130',
                                    disabled: this.referTypeIsReadOnly,
                                    clearable: !this.referTypeIsReadOnly,
                                    tip: '参照数据查询的业务类型。',
                                    tipPlacement: 'bottom',
                                    rules: [{
                                        required: true,
                                        message: "(参照的业务类型)必填项不能为空",
                                        trigger: ["blur","change"],
                                    }],
                                },{
                                    label: '显示的属性',
                                    prop: 'textField',
                                    tip: '选择数据后,显示到字段上的信息所属的属性,一般都是name,如果是多个属性使用逗号分割,如id,name。',
                                    tipPlacement: 'bottom',
                                    span: 6,
                                    value: 'name',
                                    rules: [{
                                        required: true,
                                        message: "(显示的属性)必填项不能为空",
                                        trigger: "blur",
                                    }],
                                },{
                                    label: '存储值的属性',
                                    prop: 'valueField',
                                    tip: '选择数据后,保存到数据库里的属性,一般都是oid或者id,如果是多个属性使用逗号分割,如oid ,id',
                                    value: 'oid',
                                    tipPlacement: 'bottom',
                                    span: 6,
                                    rules: [{
                                        required: true,
                                        message: "(存储值的属性)必填项不能为空",
                                        trigger: "blur",
                                    }],
                                },{
                                    label: '参照窗口类型',
                                    prop: 'type',
                                    tip: 'default:默认的参照窗口样式; stand:UI上下文配置的方式; classify:分类+档案的显示; è‡ªå®šä¹‰çš„参照直接写js的组件路径;tree:树形展示;grid:列表展示',
                                    tipPlacement: 'bottom',
                                    span: 6,
                                    value: 'default',
                                    type: 'select',
                                    dicData: [{
                                        label: '默认样式',
                                        value: 'default'
                                    }, {
                                        label: '平台配置',
                                        value: 'stand'
                                    }, {
                                        label: '树形',
                                        value: 'tree'
                                    }, {
                                        label: '列表',
                                        value: 'grid'
                                    }, {
                                        label: '部门树',
                                        value: 'refer/OrgDepartmentRefer'
                                    }, {
                                        label: '部门列表',
                                        value: 'refer/OrgDepartmentGridRefers'
                                    }, {
                                        label: '用户',
                                        value: 'refer/SmUserRefer'
                                    }, {
                                        label: '用户列表',
                                        value: 'refer/SmUserGridRefer'
                                    }, {
                                        label: '角色列表',
                                        value: 'refer/SmRoleRefer'
                                    }, {
                                        label: '职务',
                                        value: 'refer/OrgDutyRefer'
                                    }, {
                                        label: '工种',
                                        value: 'refer/SmWorkTypeRefer'
                                    }, {
                                        label: '流程模板',
                                        value: 'refer/WfProcessTemplateRefer'
                                    }],
                                    rules: [{
                                        required: true,
                                        message: "(参照窗口类型)必填项不能为空",
                                        trigger: "blur",
                                    }],
                                    change: ({ value, column }) => {
                                        // å¤åŽŸè¡¨å•,因为其他分组中如果存在值,在切换时,会保留输入的字段值所以需要还原
                                        let oldForm = this.form;
                                        this.form = {};  // è¡¨å•对象赋空
                                        this.form.referType = oldForm.referType
                                        this.form.textField = oldForm.textField
                                        this.form.valueField = oldForm.valueField
                                        this.form.type = oldForm.type //参照窗口类型
                                        this.form.url =  oldForm.url
                                        this.form.backPath =  oldForm.backPath
                                        this.form.method =  oldForm.method
                                        this.form.height =  oldForm.height
                                        this.form.useFormKey =  oldForm.useFormKey
                                        this.form.paramForFormKey =  oldForm.paramForFormKey
                                        this.form.isMuti =  oldForm.isMuti
                                        this.form.mapFields =  oldForm.mapFields
                                        let addFrom = {};  //根据类型需要添加的不同属性
                                        this.activeName = 'first';
                                        if(value == 'stand'){
                                            addFrom = {
                                                referContent: '',
                                                displayTable: '',
                                            };
                                            this.isDisabledTabs = false;
                                        } else if(value == 'default' || value == 'grid'){
                                            addFrom = {
                                                limit: '15',
                                                sortField: '',
                                                sortType: 'asc',
                                            };
                                            this.isDisabledTabs = false;
                                        } else if(value == 'tree'){
                                            addFrom = {
                                                parentFieldName: '',
                                                parentUsedField: 'oid',
                                                parentValue: '',
                                                loadType: 'all',
                                                onlyLeaf: false,
                                                sortField: '',
                                                sortType: 'asc',
                                            };
                                            console.log('tree');
                                            this.isDisabledTabs = false;
                                        }else {
                                            this.isDisabledTabs = true;
                                            this.activeName = 'second';
                                        }
                                        // åˆå¹¶ä¸¤ä¸ªè¡¨å•
                                        this.form = Object.assign(addFrom,this.form);
                                        //console.log(this.form);
                                    },
                                }
                                // åˆå¹¶ä¸¤ä¸ªè¡¨å•
                                this.form = Object.assign(addFrom,this.form);
                                //console.log(this.form);
                            },
                        },{
                            label: '自定义的后台路径',
                            prop: 'url',
                            tip: '通常为空;如果是列表,后台必须返回DataGrid,如果是树,后台必须返回List<Tree>',
                            tipPlacement: 'right',
                            span: 7,
                        },{
                            label: '服务的地址',
                            prop: 'backPath',
                            tip: '通常为空,在支持微服务或者分布式部署的时候才配置',
                            tipPlacement: 'right',
                            span: 7,
                        },{
                            label: '请求后台的协议方式',
                            prop: 'method',
                            tip: 'HTTP的协议方式,支持POST,PUT,GET,一般都是GET',
                            tipPlacement: 'right',
                            span: 7,
                            value: 'GET',
                            type: 'select',
                            dicData: [{
                                label:'GET',value: "GET"
                            ]
                        },
                        {
                            //display: this.form.type=='default'||this.form.type=='grid',
                            icon: 'el-icon-info',
                            label: '页面参数配置',
                            collapse: false,
                            prop: 'webConfig',
                            column: [{
                                label: '窗口显示的高度',
                                prop: 'height',
                                tip: '默认空着,设置后表示强制显示这样的高度',
                                tipPlacement: 'right',
                                span: 7,
                                rules:[{
                                    validator: validateNumber,
                                    message: "窗口显示的高度必须为数值类型",
                                    trigger: "blur",
                                }]
                            },{
                                label:'PUT',value: "PUT"
                            },
                            {
                                label:'POST',value: "POST"
                            }],
                        },{
                            label: '窗口显示的高度',
                            prop: 'height',
                            tip: '默认空着,设置后表示强制显示这样的高度',
                            tipPlacement: 'right',
                            span: 7,
                            rules:[{
                                validator: validateNumber,
                                message: "窗口显示的高度必须为数值类型",
                                trigger: "blur",
                                label: '过滤(级联)属性',
                                prop: 'useFormKey',
                                tip: '获取表单上的其他属性的属性的值来过滤,或者使用某个属性来级联选择',
                                tipPlacement: 'right',
                                span: 7,
                            },{
                                label: '过滤属性请求参数',
                                prop: 'paramForFormKey',
                                tip: '使用过滤属性时,发送给后台的请求参数',
                                tipPlacement: 'right',
                                span: 7,
                            },{
                                label: '映射其他属性',
                                prop: 'mapFields',
                                tip: '选择数据后,将选择的数据拷贝到表单里的其他属性,书写格式为{当前表单上的属性:选择数据里的属性,XXXXx:yyyy}',
                                tipPlacement: 'right',
                                span: 7,
                            },{
                                label: '是否开启全局',
                                prop: 'isOpenGlobal',
                                tip: '开启全局之后对全部参照配置数据进行查询,默认根据租户进行查询。',
                                tipPlacement: 'right',
                                type: 'switch',
                                span: 7,
                            },{
                                label: '是否多选',
                                type: 'switch',
                                prop: 'isMuti',
                                value: false,
                                span: 7,
                                row: true,
                            }]
                        },{
                            label: '过滤(级联)属性',
                            prop: 'useFormKey',
                            tip: '获取表单上的其他属性的属性的值来过滤,或者使用某个属性来级联选择',
                            tipPlacement: 'right',
                            span: 7,
                        },{
                            label: '过滤属性请求参数',
                            prop: 'paramForFormKey',
                            tip: '使用过滤属性时,发送给后台的请求参数',
                            tipPlacement: 'right',
                            span: 7,
                        },{
                            label: '是否多选',
                            type: 'switch',
                            prop: 'isMuti',
                            value: false,
                            span: 7,
                            row: true,
                        },{
                            label: '映射其他属性',
                            prop: 'mapFields',
                            tip: '选择数据后,将选择的数据拷贝到表单里的其他属性,书写格式为{当前表单上的属性:选择数据里的属性,XXXXx:yyyy}',
                            tipPlacement: 'right',
                            span: 18,
                        }
                    ],
                        },
                        {
                            //display: this.form.type=='default'||this.form.type=='grid',
                            icon: 'el-icon-info',
                            label: '后台参数配置',
                            collapse: false,
                            prop: 'backstageConfig',
                            column: [
                                {
                                label: '自定义的后台路径',
                                prop: 'url',
                                tip: '通常为空;如果是列表,后台必须返回DataGrid,如果是树,后台必须返回List<Tree>',
                                tipPlacement: 'right',
                                span: 7,
                            },{
                                label: '服务的地址',
                                prop: 'backPath',
                                tip: '通常为空,在支持微服务或者分布式部署的时候才配置',
                                tipPlacement: 'right',
                                span: 7,
                            },{
                                label: '请求后台的协议方式',
                                prop: 'method',
                                tip: 'HTTP的协议方式,支持POST,PUT,GET,一般都是GET',
                                tipPlacement: 'right',
                                span: 7,
                                value: 'GET',
                                type: 'select',
                                dicData: [{
                                    label:'GET',value: "GET"
                                },{
                                    label:'PUT',value: "PUT"
                                },
                                {
                                    label:'POST',value: "POST"
                                }],
                            },
                            ]
                        },
                    ]
                }
            },
            formOtherOption(){
                return {
                    // å˜åŠ¨çš„è¡¨å•åŒºåŸŸ
                    submitBtn: false,
                    emptyBtn: false,
                    labelWidth: '145', //默认标签宽度
                    group: [
                        {   
                            display: this.form.type=='default'||this.form.type=='grid',
@@ -942,12 +1025,6 @@
                                    }],
                                    type: 'select',
                                },{
                                    label: '是否只能选择叶子节点',
                                    prop: 'onlyLeaf',
                                    span: 7,
                                    value: false,
                                    type: 'switch',
                                },{
                                    label: '排序字段',
                                    prop: 'sortField',
                                    span: 7,
@@ -965,10 +1042,16 @@
                                    }, {
                                        label: '降序', value: 'desc'
                                    }],
                                },
                                },{
                                    label: '是否只能选择叶子节点',
                                    prop: 'onlyLeaf',
                                    span: 7,
                                    value: false,
                                    type: 'switch',
                                }
                            ]
                        },
                    ]
                    ],
                }
            },
        },
@@ -1025,7 +1108,7 @@
            },
            //上一个页面已经选中参照应用的业务类型的情况,和上一次已经配置过参照配置的情况下进行页面初始化渲染
            initPageData(val){
                //console.log(val);
                console.log(val);
                if(func.notEmpty(val.referConfig)){
                    this.form = JSON.parse(val.referConfig);
                    //console.log(val);
@@ -1041,25 +1124,33 @@
                //console.log(localStorage.getItem("userId"));
            },
            // é€‰æ‹©å®Œå‚照配置之后点击保存按钮触发
            selectedListReferConfig(){
                //表单验证
                this.$refs.form.validate((valid, done, msg) => {
                    if (valid) {
                        // æ ¹æ®ç±»åž‹å¯¹form表单中的参数进行过滤,只保留非空且需要的属性
                        let submitForm = this.filterForm();
                        //console.log(submitForm);
                        this.$emit('echoReferConfig', submitForm) // è§¦å‘update:data将子组件值传递给父组件
                        this.isShowReferConfigForm = false;
                        done()
                    } else {
                        for(let attr in msg) {
                            //console.log(msg[attr][0].message);
                            this.$message.warning(msg[attr][0].message);
                            break;
                        }
                        return false;
                    }
            async selectedListReferConfig(){
                // æ ‡è®°æ‰€æœ‰è¡¨å•是否通过校验的变量
                let isValid = true;
                // éåŽ†è¡¨å•æ•°ç»„ï¼Œä¾æ¬¡å¯¹æ¯ä¸ªè¡¨å•è¿›è¡Œæ ¡éªŒ
                await this.formRefs.forEach(ref => {
                    this.$refs[ref].validate((valid, done, msg) => {
                        if (!valid) {
                            for(let attr in msg) {
                                this.$message.warning(msg[attr][0].message);
                                break;
                            }
                            isValid = false;
                            //console.log(valid);
                        }
                        done();
                    })
                })
                // å¦‚果所有表单都校验通过,执行提交操作
                if (isValid) {
                    // æ ¹æ®ç±»åž‹å¯¹form表单中的参数进行过滤,只保留非空且需要的属性
                    let submitForm = this.filterForm();
                    //console.log(submitForm);
                    this.$emit('echoReferConfig', submitForm) // è§¦å‘update:data将子组件值传递给父组件
                    this.isShowReferConfigForm = false;
                }
            },
            /** å…¶å®žé€‰å–属性表格的默认数据不需要加载,
             ä½†æ˜¯å¼¹çª—打开会有表格错行问题所以需要在这调用doLayout方法*/
Source/UBCS-WEB/src/views/code/code.vue
@@ -2389,7 +2389,7 @@
            this.refreshReferBtmDataChange();
          }else if(condition === 'referConfig'){
            if(func.notEmpty(this.form.referConfig) || func.notEmpty(this.form.referBtmName)){
              this.$refs.referConfigFormDialog.isShowReferConfig = true;
              this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
              let value = {
                referTypeName: this.form.referBtmName,
                referType: this.form.referBtmId,
@@ -2441,6 +2441,7 @@
            this.form.parentClassifySecOid = '';
          }else if(condition === 'referBtmId'){
            this.form.referBtmId = '';
            this.form.referBtmName = '';
            this.form.referConfig = '';
          }else if(condition === 'referConfig'){
            this.form.referConfig = '';
Source/UBCS-WEB/src/views/modeling/originalAdd.vue
@@ -1,6 +1,6 @@
<template>
    <el-container>
        <el-dialog title="元数据" :visible.sync="showSubmitDialog" append-to-body @close="closeSubmitDialog" width="50%"
        <el-dialog title="元数据" :visible.sync="showSubmitDialog" append-to-body @close="closeSubmitDialog" width="700px"
            style="height: 115vh;">
            <!-- å…ƒæ•°æ®çš„增改弹窗 -->
            <el-form ref="form" :model="attribute" show-message="true" inline size="medium" label-suffix=":"
@@ -449,4 +449,8 @@
.attributeForm>.el-form-item>.el-form-item__content>.el-input>.el-input__inner {
    width: 200px;
}
.attributeForm>.el-form-item>.el-form-item__content> .el-select>.el-input>.el-input__inner {
    width: 200px;
}
</style>
Source/UBCS-WEB/vue.config.js
@@ -26,10 +26,17 @@
    proxy: {
      '/api': {
        //本地服务接口地址
<<<<<<< HEAD
        // target: 'http://localhost:37000',
        //target: 'http://192.168.3.7:37000',
        target: 'http://dev.vci-tech.com:37000',
        // target: 'http://192.168.1.51:37000/',
=======
         target: 'http://localhost:37000',
        // target: 'http://192.168.3.7:37000',
        // target: 'http://dev.vci-tech.com:37000',
        target: 'http://192.168.1.51:37000/',
        //target: 'http://192.168.1.51:37000/',
>>>>>>> 1a5351f560e5833cc10127f8188c627b54146478
        //远程演示服务地址,可用于直接启动项目
        // target: 'https://saber.bladex.vip/api',
        ws: true,
Source/UBCS/ubcs-service-api/pom.xml
@@ -25,6 +25,7 @@
        <module>ubcs-omd-api</module>
        <module>ubcs-util-api</module>
        <module>ubcs-ddl-api</module>
        <module>ubcs-webservice-api</module>
    </modules>
    <dependencies>
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeReferConfigDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package com.vci.ubcs.code.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.github.yulichang.annotation.EntityMapping;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.entity.CodeShowFieldConfig;
import com.vci.ubcs.code.entity.CodeSrchCondConfig;
import java.util.List;
/**
 * @author ludc
 * @date 2023/5/24 11:31
 */
public class CodeReferConfigDTO extends CodeReferConfig {
    /**
     * æ˜¾ç¤ºçš„属性-显示对象
     */
    private List<CodeShowFieldConfig> codeShowFieldConfigs;
    /**
     * æŸ¥è¯¢æ¡ä»¶æ˜¾ç¤ºå¯¹è±¡
     */
    private List<CodeSrchCondConfig> codeSrchCondConfigs;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java
@@ -1,7 +1,11 @@
package com.vci.ubcs.code.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.github.yulichang.annotation.EntityMapping;
import com.vci.ubcs.code.vo.CodeShowFieldConfigVO;
import com.vci.ubcs.code.vo.CodeSrchCondConfigVO;
import com.vci.ubcs.starter.revision.model.BaseModel;
@@ -22,6 +26,7 @@
@Data
@TableName("PL_CODE_REFERCONFIG")
@ApiModel(value = "CodeReferConfig对象", description = "编码规则管理-引用码段-参照配置")
@JsonInclude(JsonInclude.Include.NON_EMPTY)  //不输出掉空字段
public class CodeReferConfig extends BaseModel {
    /**
@@ -32,6 +37,7 @@
    /**
     * ç§Ÿæˆ·ID
     */
    @JSONField()
    private String tenantId;
    /**
@@ -140,6 +146,16 @@
    private String onlyLeaf;
    /**
     * å‚照的业务类型-显示文本
     */
    private String referTypeName;
    /**
     * æ‰€å±žé¢†åŸŸ
     */
    private String doMain;
    /**
     * æŽ’序
     */
    private Integer orderNum;
@@ -148,12 +164,16 @@
     * æ˜¾ç¤ºçš„属性-显示对象
     */
    @TableField(exist = false)
    @EntityMapping(thisField = "oid", joinField = "referConfigOid")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private List<CodeShowFieldConfig> codeShowFieldConfigs;
    /**
     * æŸ¥è¯¢æ¡ä»¶æ˜¾ç¤ºå¯¹è±¡
     */
    @TableField(exist = false)
    @EntityMapping(thisField = "oid", joinField = "referConfigOid")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private List<CodeSrchCondConfig> codeSrchCondConfigs;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeShowFieldConfig.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.yulichang.annotation.EntityMapping;
import com.vci.ubcs.starter.revision.model.BaseModel;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@@ -39,9 +40,9 @@
    private String sort;
    /**
     * æŽ’序字段
     * æ˜¾ç¤ºçš„属性中的-排序字段
     */
    private String sortField;
    private String attrSortField;
    /**
     * å­—段宽度
@@ -59,6 +60,11 @@
    private String templet;
    /**
     * æ˜¯å¦å¿«é€ŸæŸ¥è¯¢
     */
    private String isQuery;
    /**
     * å…³è”的参照配置主键
     */
    private String referConfigOid;
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeButtonClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyTemplateAttrClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeOsbtmtypeClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodePhaseAttrClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeSynonymClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeTempButtonClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeTempphaseClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeWupinClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/lCodeClassifyTemplateClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/lCodeKeyAttrRepeatClient.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeReferConfigVO.java
@@ -27,70 +27,9 @@
    private static final long serialVersionUID = 957685333614390234L;
    /**
     * å‚照的业务类型-显示文本
     */
    private String referTypeText;
    /**
     * å‚照窗口类型-显示文本
     * å‚照窗口类型-显示属性
     */
    private String typeText;
    /**
     * è¯·æ±‚后台的协议方式
     */
    private String method;
    /**
     * å‚考的UI上下文
     */
    private String referContent;
    /**
     * å¹³å°çš„表格编号
     */
    private String displayTable;
    /**
     * æ¯é¡µæ˜¾ç¤ºæ¡æ•°
     */
    private String limit;
    /**
     * æŽ’序字段
     */
    private String sortField;
    /**
     * æŽ’序类型
     */
    private String sortType;
    /**
     * æ ‘形的上级属性
     */
    private String parentFieldName;
    /**
     * ä¸Šçº§å±žæ€§å€¼å¯¹åº”属性
     */
    private String parentUsedField;
    /**
     * æ ¹èŠ‚ç‚¹çš„å€¼
     */
    private String parentValue;
    /**
     * æ ‘加载方式
     */
    private String loadType;
    /**
     * æ˜¯å¦åªèƒ½é€‰æ‹©å¶å­èŠ‚ç‚¹
     */
    private String onlyLeaf;
    /**
     * æ˜¾ç¤ºçš„属性-显示对象
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeSrchCondConfigVO.java
@@ -20,11 +20,6 @@
    private static final long serialVersionUID = -51655155561881523L;
    /**
     * å…³è”的参照配置id
     */
    private String configOid;
    /**
     * ç­›é€‰ç±»åž‹
     */
    private String filterTypeText;
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/group/ResultDataVO.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/group/result/DataObjectVO.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/BtmTypeCache.java
@@ -8,7 +8,6 @@
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.core.tool.utils.StringPool;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/enumpack/NewAppConstantEnum.java
@@ -7,7 +7,7 @@
    /**
     * ç¼–码规则,服务启动名
     */
    APPLICATION_NAME_CODE(AppConstant.APPLICATION_NAME_CODE,"编码规则服务"),
    APPLICATION_NAME_CODE(AppConstant.APPLICATION_NAME_CODE,"主数据"),
    ;
    /**
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/MdmBtmTypeConstant.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,201 @@
package com.vci.ubcs.starter.util;
/**
 * ä¸»æ•°æ®ç›¸å…³çš„业务类型编号
 */
public class MdmBtmTypeConstant {
    /**
     * çŠ¶æ€
     */
    public static final String CODE_STATUS_FILED = "lcstatus";
    /**
     * é›†å›¢ç çš„字段
     */
    public static final String CODE_GROUP_FIELD = "groupcode";
    /**
     * åˆ†ç±»çš„主键字段
     */
    public static final String CODE_CLASSIFY_OID_FIELD = "codeclsfid";
    /**
     * ä¸»é¢˜åº“分类
     */
    public static final String CODE_CLASSIFY = "codeclassify";
    /**
     * ä¸»é¢˜åº“分类包含的模板
     */
    public static final String CODE_CLASSIFY_TEMPLATE = "codeclstemplate";
    /**
     * ä¸»é¢˜åº“分类模板 åŒ…含的属性
     */
    public static final String CODE_CLASSIFY_TEMPLATE_ATTR = "codeclstempattr";
    /**
     * ä¸»æ•°æ®ä¸­çš„æŒ‰é’®æ‰©å±•
     */
    public static final String CODE_BUTTON = "codebutton";
    /**
     * ä¸»æ•°æ®ä¸­çš„æ¨¡æ¿å…³è”的按钮
     */
    public static final String CODE_TEMPLATE_BUTTON = "codetempbutton";
    /**
     * ä¸»æ•°æ®ä¸­çš„编码规则
     */
    public static final String CODE_RULE = "coderule";
    /**
     * å…³é”®å±žæ€§åˆ¤æ–­é‡å¤
     */
    public static final String CODE_KEY_ATTR_REPEAT_RULE = "codekeyattrrepeat";
    /**
     * ç›¸ä¼¼æŸ¥è¯¢è§„则
     */
    public static final String CODE_RESEMBLE_RULE = "coderesemblerule";
    /**
     * æ¨¡æ¿é˜¶æ®µ
     */
    public static final String CODE_TEMPLATE_PHASE = "codetempphase";
    /**
     * é˜¶æ®µçš„属性
     */
    public static final String CODE_PHASE_ATTR = "codephaseattr";
    /**
     * é˜¶æ®µçš„属性
     */
    public static final String CODE_PHASE_ATTR_TABLENAME = "code_phaseattr";
    /**
     * ä¸»æ•°æ®åˆ†ç±»ä½¿ç”¨çš„æµç¨‹æ¨¡æ¿
     */
    public static final String CODE_CLASSIFY_PROCESS_TEMPLATE = "codeclsflowtemp";
    /**
     *分类的模板对应流程中的阶段配置
     */
    public static final String CODE_CLASSIFY_PROCESS_PHASE = "codeclsflowphase" ;
    /**
     * å›ºå®šç çš„码值
     */
    public static final String CODE_FIXED_VALUE = "codefixedvalue";
    /**
     * åˆ†ç±»ç çš„码值
     */
    public static final String CODE_CLASSIFY_VALUE = "codeclassifyvalue";
    /**
     * æ˜ å°„规则
     */
    public static final String CODE_TEMPLATE_MAP = "codetempmap";
    /**
     * æ˜ å°„规则明细
     */
    public static final String CODE_TEMPLATE_MAP_ITEM = "codetempmapitem";
    /**
     * ç æ®µåŸºç¡€ä¿¡æ¯
     */
    public static final String CODE_BASIC_SEC = "codebasicsec";
    /**
     * åŒä¹‰è¯é…ç½®
     */
    public static final String CODE_SYNONYM = "codesynonym";
    /**
     * å…¨éƒ¨çš„码值
     */
    public static final String CODE_ALL_CODE = "codeallcode";
    /**
     * ç¼–码规则的流水值
     */
    public static final String CODE_SERIAL_VALUE = "codeserialvalue" ;
    /**
     * èµ„源对接通知、查询接口日志
     */
    public static final String DOCKING_LOGE = "codedockinglog";
    /**
     * èµ„源对接触发器插入要推送的数据
     */
    public static final String DOCKING_DATA = "codedockingdata";
    /**
     * èµ„源对接触发器插入要推送的数据和系统信息
     */
    public static final String DOCKING_TASK = "codedockingtask";
    /**
     * é¢„申请数据
     */
    public static final String DOCKING_PRE_APPLY_DATA = "dockingpadata";
    /**
     * é¢„申请数据信息
     */
    public static final String DOCKING_PRE_APPLY_DATA_INFO = "dockingpadatainfo";
    /**
     * ç³»ç»Ÿé›†æˆçš„系统
     */
    public static final String SYS_INT_BASE = "sysintbase";
    /**
     * ç³»ç»Ÿé›†æˆæŽ¥å£çš„基础信息
     */
    public static final String SYS_INT_INFO = "sysintinfo";
    /**
     * ç³»ç»Ÿé›†æˆæŽ¥å£çš„认证方式
     */
    public static final String SYS_INT_AUTHORITY = "sysintauthority";
    /**
     * ç³»ç»Ÿé›†æˆæŽ¥å£çš„参数,http对应的paramter
     */
    public static final String SYS_INT_PARAMTERY = "sysintparemter";
    /**
     * ç³»ç»Ÿé›†æˆæŽ¥å£çš„认证信息,http对应的header,webserver对应的账号密码等信息
     */
    public static final String SYS_INT_HEADER = "sysintheader";
    /**
     * é›†æˆå±žæ€§æ˜ å°„关系业务类型
     */
    public static final String DOCKING_PRE_JINTEGMAPCONFIG = "jintegmapconfig";
    /**
     * é›†æˆé›†å›¢åˆ†ç±»ä¸šåŠ¡ç±»åž‹
     */
    public static final String DOCKING_PRE_JCLASSIFY = "jclassify";
    /**
     * é›†æˆé›†å›¢æ¨¡åž‹å±žæ€§ä¸šåŠ¡ç±»åž‹
     */
    public static final String DOCKING_PRE_JMETAATRR = "jmetaattr";
    /**
     * é›†æˆå±žæ€§å–值范围关系业务类型
     */
    public static final String DOCKING_PRE_JRANGE = "jrange";
    /**
     * é›†æˆé›†å›¢ç”³è¯·å•业务类型
     */
    public static final String DOCKING_PRE_JAPPLYFORM = "japplyform";
    /**
     * é›†æˆé›†å›¢æ¨¡åž‹å±žæ€§ä¸šåŠ¡ç±»åž‹
     */
    public static final String DOCKING_PRE_JVIEWMODEL = "jviewmodel";
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ubcs-service-api</artifactId>
        <groupId>com.vci.ubcs</groupId>
        <version>3.0.1.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>ubcs-webservice-api</artifactId>
    <name>${project.artifactId}</name>
    <version>3.0.1.RELEASE</version>
    <packaging>jar</packaging>
    <dependencies>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-util-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-util-api</artifactId>
            <version>3.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
        </dependency>
    </dependencies>
</project>
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreApplyFormDTO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingPreApplyFormDTO.java ÐÞ¸Ä
@@ -1,7 +1,7 @@
package com.vci.ubcs.code.dto;
package com.vci.ubcs.code.webservice.dto;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import io.swagger.annotations.ApiModelProperty;
import com.vci.ubcs.code.webservice.vo.BaseModelVO;
/**
 * è®°å½•集成属数据申请id
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreAttrMappingDTO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingPreAttrMappingDTO.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.vci.ubcs.code.dto;
package com.vci.ubcs.code.webservice.dto;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO;
import com.vci.ubcs.code.webservice.vo.BaseModelVO;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrRangeVO;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreAttrRangeDTO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingPreAttrRangeDTO.java ÐÞ¸Ä
@@ -1,6 +1,6 @@
package com.vci.ubcs.code.dto;
package com.vci.ubcs.code.webservice.dto;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import com.vci.ubcs.code.webservice.vo.BaseModelVO;
/**
 * è®°å½•集成属性取值范围配置
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingPreClassifyDTO.java ÐÞ¸Ä
@@ -1,6 +1,6 @@
package com.vci.ubcs.code.dto;
package com.vci.ubcs.code.webservice.dto;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import com.vci.ubcs.code.webservice.vo.BaseModelVO;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreMetaAttrDTO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingPreMetaAttrDTO.java ÐÞ¸Ä
@@ -1,7 +1,6 @@
package com.vci.ubcs.code.dto;
package com.vci.ubcs.code.webservice.dto;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import com.vci.ubcs.code.webservice.vo.BaseModelVO;
public class DockingPreMetaAttrDTO extends BaseModelVO {
    /**
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreViewModelDTO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingPreViewModelDTO.java ÐÞ¸Ä
@@ -1,7 +1,6 @@
package com.vci.ubcs.code.dto;
package com.vci.ubcs.code.webservice.dto;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import com.vci.ubcs.code.vo.pagemodel.DockingPreMetaAttrVO;
import com.vci.ubcs.code.webservice.vo.BaseModelVO;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreApplyForm.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreApplyForm.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.code.entity;
package com.vci.ubcs.code.webservice.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.vci.ubcs.starter.revision.model.BaseModel;
@@ -6,13 +6,14 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * é›†å›¢ç¼–码申请单记录对象
 * @author xiejun
 * @date  2023-05-22
 */
@Data
@TableName("PL_CODE_JINTEGMAPCONFIG")
@TableName("PL_CODE_JAPPLYCODEFORM")
@ApiModel(value = "DockingPreApplyForm", description = "集团编码申请单记录对象")
@EqualsAndHashCode
public class DockingPreApplyForm extends BaseModel {
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreAttrMapping.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreAttrMapping.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.code.entity;
package com.vci.ubcs.code.webservice.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -7,8 +7,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
 * è®°å½•集成属性与主数据属性映射关系对象
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreAttrRange.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreAttrRange.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.code.entity;
package com.vci.ubcs.code.webservice.entity;
import com.baomidou.mybatisplus.annotation.TableName;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreClassify.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.code.entity;
package com.vci.ubcs.code.webservice.entity;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -7,13 +7,14 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * è®°å½•集成集团分类信息
 * @author xiejun
 * @date 2023-05-22
 */
@Data
@TableName("PL_CODE_CLASSIFY")
@TableName("PL_CODE_JCLASSIFY")
@ApiModel(value = "DockingPreClassify", description = "集成集团分类信息")
@EqualsAndHashCode
public class DockingPreClassify extends BaseModel {
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreMetaAttr.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreMetaAttr.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.code.entity;
package com.vci.ubcs.code.webservice.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -9,7 +9,7 @@
import lombok.EqualsAndHashCode;
@Data
@TableName("PL_CODE_JVIEWMODE")
@TableName("PL_CODE_JMETAATTR")
@ApiModel(value = "DockingPreViewModel", description = "集团分类模型视图信息")
@EqualsAndHashCode
public class DockingPreMetaAttr extends BaseModel {
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreViewModel.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreViewModel.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.code.entity;
package com.vci.ubcs.code.webservice.entity;
import com.baomidou.mybatisplus.annotation.TableField;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/IMdmInterJtClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
package com.vci.ubcs.code.webservice.feign;
import com.vci.ubcs.code.webservice.vo.DockingClassifyModelAttrVO;
import com.vci.ubcs.code.webservice.vo.DockingResultVO;
import com.vci.ubcs.code.webservice.vo.DockingReturnStoreVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotNull;
/****
 * é›†å›¢ç ç”³è¯·æä¾›ç»™å¤–部调用接口
 * @author xiejun
 * @date 2023-05-26
 */
@FeignClient(
    value = "ubcs-code"
)
public interface IMdmInterJtClient {
    String API_PREFIX = "/mdmInterService";
    String RETURNGROUPCODE = API_PREFIX + "/getApplyGroupCode";
    String PUBMDMMODEL = API_PREFIX + "/pubMdmModel";
    /***
     * å°†é›†å›¢ç”³è¯·æˆåŠŸçš„ç¼–ç å­˜å…¥ç›¸å…³æ•°æ®ä¹‹ä¸­
     * @param dockingResultVO
     * @return è¿”回存储是否成功信息
     */
    @GetMapping(RETURNGROUPCODE)
    public R getApplyGroupCode( @RequestParam("dockingResultVO") DockingReturnStoreVO dockingResultVO);
    @PostMapping(PUBMDMMODEL)
    R pubMdmModel(@RequestParam("dockingClassifyModelAttrVO") DockingClassifyModelAttrVO dockingClassifyModelAttrVO);
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/MdmApplyGroupCodeProvider.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
package com.vci.ubcs.code.webservice.feign;
/***
 * @author xiejun
 * @date 2023-05-26
 */
import com.vci.ubcs.code.webservice.vo.*;
import com.vci.ubcs.starter.exception.VciBaseException;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.validation.constraints.NotNull;
/****
 * é›†å›¢ç ç”³è¯·æä¾›ç»™å¤–部调用接口
 * @author xiejun
 * @date 2023-05-26
 */
@FeignClient(name = "qmsIntegration",
    url = "${docking.apply.jtInterUrl:http://116.205.176.185:8099}",
    path = "")
public interface MdmApplyGroupCodeProvider {
    /**
     * mdm向集团申请集团码接口
     * @param dockingGroupDataVO AO/TO的信息
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/externalMainData/receiveAddApply")
    DockingResultVO receiveAddApply(@NotNull @RequestBody DockingGroupDataVO dockingGroupDataVO)throws VciBaseException;
    /**
     * mdm向集团更新集团码接口
     * @param dockingGroupDataVO AO/TO的信息
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/externalMainData/receiveAddApply")
    DockingResultVO receiveEditApply(@NotNull @RequestBody DockingGroupDataVO dockingGroupDataVO)throws VciBaseException;
    /***
     * æŸ¥è¯¢ä¸»åˆ†ç±»æ¨¡åž‹
     * @param dockingModelQueryVO
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/externalMainData/queryMdmModel")
    DockingQueryModelVO queryMdmModel(@NotNull @RequestBody DockingModelQueryVO dockingModelQueryVO);
    /***
     * æŸ¥è¯¢åˆ†ç±»è¯¦ç»†æ¨¡åž‹è§†å›¾
     * @param dockingModelQueryVO
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/externalMainData/queryClassModel")
    DockingQueryClassModelVO queryClassModel(@NotNull @RequestBody DockingModelQueryVO dockingModelQueryVO);
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/BaseModelVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,333 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.vci.ubcs.code.webservice.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.data.annotation.Transient;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
public class BaseModelVO implements Serializable {
    private String oid;
    private String id;
    private String name;
    private String description;
    private String revisionOid;
    private String nameOid;
    private String btmname;
    private String lastR;
    private String firstR;
    private String lastV;
    private String firstV;
    private String creator;
    private Date createTime;
    private String lastModifier;
    private Date lastModifyTime;
    private String revisionRule;
    private Integer revisionSeq;
    private String revisionValue;
    private String versionRule;
    private Integer versionSeq;
    private String versionValue;
    private String lcStatus;
    private String lcStatusText;
    @JsonFormat(
        pattern = "yyyy-MM-dd HH:mm:ss.SSS"
    )
    private Date ts;
    private String owner;
//    private String checkInBy;
//    private Date checkInTime;
//    private String checkOutBy;
//    private Date checkOutTime;
    private String copyFromVersion;
    private Integer secretGrade;
    private String secretGradeText;
    private String lctid;
    @Transient
    private Map<String, String> data;
    public BaseModelVO() {
    }
    public String getOid() {
        return this.oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getId() {
        return this.id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return this.name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return this.description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getRevisionOid() {
        return this.revisionOid;
    }
    public void setRevisionOid(String revisionOid) {
        this.revisionOid = revisionOid;
    }
    public String getNameOid() {
        return this.nameOid;
    }
    public void setNameOid(String nameOid) {
        this.nameOid = nameOid;
    }
    public String getBtmname() {
        return this.btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getLastR() {
        return this.lastR;
    }
    public void setLastR(String lastR) {
        this.lastR = lastR;
    }
    public String getFirstR() {
        return this.firstR;
    }
    public void setFirstR(String firstR) {
        this.firstR = firstR;
    }
    public String getLastV() {
        return this.lastV;
    }
    public void setLastV(String lastV) {
        this.lastV = lastV;
    }
    public String getFirstV() {
        return this.firstV;
    }
    public void setFirstV(String firstV) {
        this.firstV = firstV;
    }
    public String getCreator() {
        return this.creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public String getLastModifier() {
        return this.lastModifier;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public Date getLastModifyTime() {
        return this.lastModifyTime;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public String getRevisionRule() {
        return this.revisionRule;
    }
    public void setRevisionRule(String revisionRule) {
        this.revisionRule = revisionRule;
    }
    public String getVersionRule() {
        return this.versionRule;
    }
    public void setVersionRule(String versionRule) {
        this.versionRule = versionRule;
    }
    public Integer getRevisionSeq() {
        return this.revisionSeq;
    }
    public void setRevisionSeq(Integer revisionSeq) {
        this.revisionSeq = revisionSeq;
    }
    public String getRevisionValue() {
        return this.revisionValue;
    }
    public void setRevisionValue(String revisionValue) {
        this.revisionValue = revisionValue;
    }
    public Integer getVersionSeq() {
        return this.versionSeq;
    }
    public void setVersionSeq(Integer versionSeq) {
        this.versionSeq = versionSeq;
    }
    public String getVersionValue() {
        return this.versionValue;
    }
    public void setVersionValue(String versionValue) {
        this.versionValue = versionValue;
    }
    public String getLcStatus() {
        return this.lcStatus;
    }
    public void setLcStatus(String lcStatus) {
        this.lcStatus = lcStatus;
    }
    public Date getTs() {
        return this.ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public String getOwner() {
        return this.owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    /*public String getCheckInBy() {
        return this.checkInBy;
    }
    public void setCheckInBy(String checkInBy) {
        this.checkInBy = checkInBy;
    }
    public Date getCheckInTime() {
        return this.checkInTime;
    }
    public void setCheckInTime(Date checkInTime) {
        this.checkInTime = checkInTime;
    }
    public String getCheckOutBy() {
        return this.checkOutBy;
    }
    public void setCheckOutBy(String checkOutBy) {
        this.checkOutBy = checkOutBy;
    }
    public Date getCheckOutTime() {
        return this.checkOutTime;
    }
    public void setCheckOutTime(Date checkOutTime) {
        this.checkOutTime = checkOutTime;
    }*/
    public String getCopyFromVersion() {
        return this.copyFromVersion;
    }
    public void setCopyFromVersion(String copyFromVersion) {
        this.copyFromVersion = copyFromVersion;
    }
    public String getLcStatusText() {
        return this.lcStatusText;
    }
    public void setLcStatusText(String lcStatusText) {
        this.lcStatusText = lcStatusText;
    }
    public Date getCreateTime() {
        return this.createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Integer getSecretGrade() {
        return this.secretGrade;
    }
    public void setSecretGrade(Integer secretGrade) {
        this.secretGrade = secretGrade;
    }
    public String getSecretGradeText() {
        return this.secretGradeText;
    }
    public void setSecretGradeText(String secretGradeText) {
        this.secretGradeText = secretGradeText;
    }
    public String getLctid() {
        return this.lctid;
    }
    public void setLctid(String lctid) {
        this.lctid = lctid;
    }
    public Map<String, String> getData() {
        return this.data;
    }
    public void setData(Map<String, String> data) {
        this.data = data;
    }
    @Override
    public String toString() {
        return "BaseModelVO{oid='" + this.oid + '\'' + ", id='" + this.id + '\'' + ", name='" + this.name + '\'' + ", description='" + this.description + '\'' + ", revisionOid='" + this.revisionOid + '\'' + ", nameOid='" + this.nameOid + '\'' + ", btmname='" + this.btmname + '\'' + ", lastR='" + this.lastR + '\'' + ", firstR='" + this.firstR + '\'' + ", lastV='" + this.lastV + '\'' + ", firstV='" + this.firstV + '\'' + ", creator='" + this.creator + '\'' + ", createTime=" + this.createTime + ", lastModifier='" + this.lastModifier + '\'' + ", lastModifyTime=" + this.lastModifyTime + ", revisionRule='" + this.revisionRule + '\'' + ", revisionSeq=" + this.revisionSeq + ", revisionValue='" + this.revisionValue + '\'' + ", versionRule='" + this.versionRule + '\'' + ", versionSeq=" + this.versionSeq + ", versionValue='" + this.versionValue + '\'' + ", lcStatus='" + this.lcStatus + '\'' + ", lcStatusText='" + this.lcStatusText + '\'' + ", ts=" + this.ts + ", owner='" + this.owner + '\'' + ", checkInBy='" + ", copyFromVersion='" + this.copyFromVersion + '\'' + ", secretGrade=" + this.secretGrade + ", secretGradeText='" + this.secretGradeText + '\'' + ", lctid='" + this.lctid + '\'' + ", data=" + this.data + '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyMainVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
import java.util.Map;
/***
 * åˆ†ç±»ä¿¡æ¯ï¼ŒåŠå…¶æ¨¡åž‹è§†å›¾å¯¹è±¡
 * @author xiejun
 * @date 2023-05-26
 */
public class DockingClassifyMainVO {
    /**
     * åˆ†ç±»å¯¹è±¡çš„æ¨¡åž‹è§†å›¾
     */
    private Map<String,List<DockingClassifyViewVO>>classInfos;
    /***
     * åˆ†ç±»é›†åˆ
     */
    private List<DockingClassifyVO> classList;
    public Map<String, List<DockingClassifyViewVO>> getClassInfos() {
        return classInfos;
    }
    public void setClassInfos(Map<String, List<DockingClassifyViewVO>> classInfos) {
        this.classInfos = classInfos;
    }
    public List<DockingClassifyVO> getClassList() {
        return classList;
    }
    public void setClassList(List<DockingClassifyVO> classList) {
        this.classList = classList;
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyMetaAttrVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,112 @@
package com.vci.ubcs.code.webservice.vo;
import java.util.Map;
/***
 * é›†å›¢åˆ†ç±»å±žæ€§ä¿¡æ¯
 * @author xiejun
 * @date 2023-05-26
 */
public class DockingClassifyMetaAttrVO {
    /***
     * ä¸­æ–‡åç§°
     */
    private String chineseName;
    /***
     * è‹±æ–‡åç§°
     */
    private String englishName;
    /***
     * ç±»åž‹
     */
    private Integer metadataType;
    /***
     * æ˜¯å¦å¿…å¡«
     */
    private Integer necessaryConf;
    /**
     * é»˜è®¤å€¼
     */
    private String defaultValue;
    /***
     * ä¸‹å±žå¯¹è±¡
     */
    private DockingClassifyMetaAttrVO compositeMeta;
    /**
     * å€¼åŸŸ
     */
    private Map<String,String> range;
    public String getChineseName() {
        return chineseName;
    }
    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }
    public String getEnglishName() {
        return englishName;
    }
    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }
    public Integer getMetadataType() {
        return metadataType;
    }
    public void setMetadataType(Integer metadataType) {
        this.metadataType = metadataType;
    }
    public Integer getNecessaryConf() {
        return necessaryConf;
    }
    public void setNecessaryConf(Integer necessaryConf) {
        this.necessaryConf = necessaryConf;
    }
    public String getDefaultValue() {
        return defaultValue;
    }
    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }
    public Map<String, String> getRange() {
        return range;
    }
    public void setRange(Map<String, String> range) {
        this.range = range;
    }
    public DockingClassifyMetaAttrVO getCompositeMeta() {
        return compositeMeta;
    }
    public void setCompositeMeta(DockingClassifyMetaAttrVO compositeMeta) {
        this.compositeMeta = compositeMeta;
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyModelAttrVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
package com.vci.ubcs.code.webservice.vo;
/***
 * æŽ¥å£ä¼ é€’对象
 * @author xiejun
 * @date 2023-05-26
 */
public class DockingClassifyModelAttrVO {
    /***
     * ç³»ç»Ÿæ ‡è¯†
     */
    private String sysName;
    /***
     * æ•°æ®é›†
     */
    private DockingClassifyMainVO mainData;
    private String applyEntId;
    /***
     * æ•°æ®é›†
     */
    private DockingClassifyMainVO dataStructure;
    public String getSysName() {
        return sysName;
    }
    public void setSysName(String sysName) {
        this.sysName = sysName;
    }
    public String getApplyEntId() {
        return applyEntId;
    }
    public void setApplyEntId(String applyEntId) {
        this.applyEntId = applyEntId;
    }
    public DockingClassifyMainVO getDataStructure() {
        return dataStructure;
    }
    public void setDataStructure(DockingClassifyMainVO dataStructure) {
        this.dataStructure = dataStructure;
    }
    public DockingClassifyMainVO getMainData() {
        return mainData;
    }
    public void setMainData(DockingClassifyMainVO mainData) {
        this.mainData = mainData;
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
package com.vci.ubcs.code.webservice.vo;
/***
 * é›†å›¢åˆ†ç±»ä¿¡æ¯
 * @author xiejun
 * @date 2023-05-26
 */
public class DockingClassifyVO {
    /**
     * ä¸»é”®ID
     */
    private String id;
    /**
     * åˆ†ç±»åç§°
     */
    private String className;
    /***
     * åˆ†ç±»ä»£å·
     */
    private String classNumber;
    private String version;
    /**
     * çˆ¶ID
     */
    private String pid ;
    /***
     * èŠ‚ç‚¹åˆ†ç±»é“¾è·¯
     */
    private String nodeLink;
    /**
     * èŠ‚ç‚¹åˆ†ç±»é“¾è·¯
     */
    private String nodeLinkName;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getClassName() {
        return className;
    }
    public void setClassName(String className) {
        this.className = className;
    }
    public String getPid() {
        return pid;
    }
    public void setPid(String pid) {
        this.pid = pid;
    }
    public String getNodeLink() {
        return nodeLink;
    }
    public void setNodeLink(String nodeLink) {
        this.nodeLink = nodeLink;
    }
    public String getNodeLinkName() {
        return nodeLinkName;
    }
    public void setNodeLinkName(String nodeLinkName) {
        this.nodeLinkName = nodeLinkName;
    }
    public String getClassNumber() {
        return classNumber;
    }
    public void setClassNumber(String classNumber) {
        this.classNumber = classNumber;
    }
    public String getVersion() {
        return version;
    }
    public void setVersion(String version) {
        this.version = version;
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyViewVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
/***
 * è§†å›¾æ¨¡åž‹å¯¹è±¡
 * @author xj
 * @date 2023-05-26
 */
public class DockingClassifyViewVO {
    /**
     * æ¨¡åž‹è§†å›¾åç§°
     */
    private String viewName;
    /***
     * å½±å“ç¼–码项的数据
     */
    private String impactList;
    /**
     * æ¨¡åž‹è§†å›¾å±žæ€§é›†åˆ
     */
    private List<DockingClassifyMetaAttrVO> metaList;
    public String getViewName() {
        return viewName;
    }
    public void setViewName(String viewName) {
        this.viewName = viewName;
    }
    public List<DockingClassifyMetaAttrVO> getMetaList() {
        return metaList;
    }
    public void setMetaList(List<DockingClassifyMetaAttrVO> metaList) {
        this.metaList = metaList;
    }
    public String getImpactList() {
        return impactList;
    }
    public void setImpactList(String impactList) {
        this.impactList = impactList;
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifysVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
import java.util.Map;
/***
 * é›†å›¢åˆ†ç±»ä¿¡æ¯
 * @author xiejun
 * @date 2023-05-26
 */
public class DockingClassifysVO {
    private Map<String,List<DockingClassifyViewVO>> classInfos;
    public Map<String, List<DockingClassifyViewVO>> getClassInfos() {
        return classInfos;
    }
    public void setClassInfos(Map<String, List<DockingClassifyViewVO>> classInfos) {
        this.classInfos = classInfos;
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingDataVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package com.vci.ubcs.code.webservice.vo;
/***
 * è¿”回对象信息
 * @author xiejun
 * @date 2023-05-26
 */
public class DockingDataVO {
    private String msg;
    private String code;
    private DockingMainDataVO data;
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public DockingMainDataVO getData() {
        return data;
    }
    public void setData(DockingMainDataVO data) {
        this.data = data;
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingGroupDataVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/group/DockingGroupDataVO.java ÐÞ¸Ä
@@ -1,8 +1,7 @@
package com.vci.ubcs.code.vo.webserviceModel.group;
package com.vci.ubcs.code.webservice.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/***
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingMainData.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/group/DockingMainData.java ÐÞ¸Ä
@@ -1,6 +1,5 @@
package com.vci.ubcs.code.vo.webserviceModel.group;
package com.vci.ubcs.code.webservice.vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingMainDataVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/group/result/DataVO.java ÐÞ¸Ä
@@ -1,6 +1,6 @@
package com.vci.ubcs.code.vo.webserviceModel.group.result;
package com.vci.ubcs.code.webservice.vo;
public class DataVO {
public class DockingMainDataVO {
    private String applyId;
    private String customCoding;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingModelQueryVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.vci.ubcs.code.webservice.vo;
public class DockingModelQueryVO {
    private  String sysName;
    private String classId;
    public String getSysName() {
        return sysName;
    }
    public void setSysName(String sysName) {
        this.sysName = sysName;
    }
    public String getClassId() {
        return classId;
    }
    public void setClassId(String classId) {
        this.classId = classId;
    }
    @Override
    public String toString() {
        return "DockingModelQueryVO{" +
            "sysName='" + sysName + '\'' +
            ", classId='" + classId + '\'' +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreApplyFormVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingPreApplyFormVO.java ÐÞ¸Ä
@@ -1,8 +1,4 @@
package com.vci.ubcs.code.vo.pagemodel;
import io.swagger.annotations.ApiModelProperty;
import javax.xml.soap.SAAJResult;
package com.vci.ubcs.code.webservice.vo;
/**
 * è®°å½•集成属数据申请id
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreAttrMappingVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingPreAttrMappingVO.java ÐÞ¸Ä
@@ -1,8 +1,4 @@
package com.vci.ubcs.code.vo.pagemodel;
import com.vci.ubcs.code.dto.DockingPreAttrRangeDTO;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreAttrRangeVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingPreAttrRangeVO.java ÐÞ¸Ä
@@ -1,6 +1,4 @@
package com.vci.ubcs.code.vo.pagemodel;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
package com.vci.ubcs.code.webservice.vo;
/**
 * è®°å½•集成属性取值范围配置
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingPreClassifyVO.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.code.vo.pagemodel;
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreMetaAttrVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingPreMetaAttrVO.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.code.vo.pagemodel;
package com.vci.ubcs.code.webservice.vo;
/**
 * è®°å½•集成集团分类信息
 * @author xiejun
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreViewModelVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingPreViewModelVO.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.code.vo.pagemodel;
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingQueryClassModelVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,109 @@
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
/***
 * é›†å›¢åˆ†ç±»ä¿¡æ¯
 * @author xiejun
 * @date 2023-05-26
 */
public class DockingQueryClassModelVO {
    /***
     * è¿”回编码
     */
    private int code=1;
    /***
     * è¿”回信息
     */
    private String msg="接口调用成功";
    /***
     * ç³»ç»Ÿæ ‡è¯†
     */
    private String sysName;
    /***
     * æ•°æ®é›†
     */
    private DockingClassifyMainVO mainData;
    /***
     * æ•°æ®é›†
     */
    private DockingClassifyMainVO data;
    private String applyEntId;
    /***
     * æ•°æ®é›†
     */
    private DockingClassifyMainVO dataStructure;
    public String getSysName() {
        return sysName;
    }
    public void setSysName(String sysName) {
        this.sysName = sysName;
    }
    public String getApplyEntId() {
        return applyEntId;
    }
    public void setApplyEntId(String applyEntId) {
        this.applyEntId = applyEntId;
    }
    public void setMainData(DockingClassifyMainVO mainData) {
        this.mainData = mainData;
    }
    public DockingClassifyMainVO getDataStructure() {
        return dataStructure;
    }
    public DockingClassifyMainVO getMainData() {
        return mainData;
    }
    public DockingClassifyMainVO getData() {
        return data;
    }
    public void setData(DockingClassifyMainVO data) {
        this.data = data;
    }
    public void setDataStructure(DockingClassifyMainVO dataStructure) {
        this.dataStructure = dataStructure;
    }
    public int getCode() {
        return code;
    }
    public void setCode(int code) {
        this.code = code;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    @Override
    public String toString() {
        return "DockingQueryClassModelVO{" +
            "code=" + code +
            ", msg='" + msg + '\'' +
            ", sysName='" + sysName + '\'' +
            ", mainData=" + mainData +
            ", data=" + data +
            ", applyEntId='" + applyEntId + '\'' +
            ", dataStructure=" + dataStructure +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingQueryModelVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
public class DockingQueryModelVO {
    private int code;
    private String msg;
    private List<DockingClassifyVO> data;
    public int getCode() {
        return code;
    }
    public void setCode(int code) {
        this.code = code;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public List<DockingClassifyVO> getData() {
        return data;
    }
    public void setData(List<DockingClassifyVO> data) {
        this.data = data;
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingResultDataVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
package com.vci.ubcs.code.webservice.vo;
import lombok.Data;
@Data
public class DockingResultDataVO<T> {
    /***
     * æ¶ˆæ¯
     */
    private String code;
    private String msg;
    private T data;
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingResultVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/group/result/ResultDataObject.java ÐÞ¸Ä
@@ -1,9 +1,15 @@
package com.vci.ubcs.code.vo.webserviceModel.group.result;
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
public class ResultDataObject {
/***
 * è¿”回对象信息
 * @author xiejun
 * @date 2023-05-26
 */
public class DockingResultVO {
    /**
     * çŠ¶æ€ç     1:成功;2:失败
     */
@@ -15,7 +21,7 @@
    /***
     * æ•°æ®å¯¹è±¡
     */
    private List<DataObjectVO> data;
    private List<DockingDataVO> data;
    public String getCode() {
        return code;
    }
@@ -29,11 +35,11 @@
        this.msg = msg;
    }
    public List<DataObjectVO> getData() {
    public List<DockingDataVO> getData() {
        return data;
    }
    public void setData(List<DataObjectVO> data) {
    public void setData(List<DockingDataVO> data) {
        this.data = data;
    }
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingReturnStoreVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
/***
 * é›†å›¢ç ç”³è¯·è¿”回集团码对象
 * @author xiejun
 * @date 2023-5-26
 */
public class DockingReturnStoreVO {
    /**
     * åˆ†ç±»id
     */
    private String classId;
    /**
     * æºç³»ç»Ÿåç§°
     */
    private String sysName;
    /***
     * ç”³è¯·å•赋码结果
     */
    private List<MainData>mainData;
    public String getClassId() {
        return classId;
    }
    public void setClassId(String classId) {
        this.classId = classId;
    }
    public String getSysName() {
        return sysName;
    }
    public void setSysName(String sysName) {
        this.sysName = sysName;
    }
    public List<MainData> getMainData() {
        return mainData;
    }
    public void setMainData(List<MainData> mainData) {
        this.mainData = mainData;
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingViewVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/group/DockingViewVO.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.code.vo.webserviceModel.group;
package com.vci.ubcs.code.webservice.vo;
import lombok.Data;
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/MainData.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
package com.vci.ubcs.code.webservice.vo;
import java.util.List;
public class MainData {
    /**
     * ç”³è¯·å•号
     */
    private String applyId;
    /**
     * ç”³è¯·å•状态(1 é›†å›¢å®¡æ ¸ä¸­,2集团审核中, 3 é›†å›¢å®¡æ ¸ä¸­,4 å®¡æ ¸ç»“束,赋码失败,5审核结束,赋码成功 6:待301赋码 7:已赋码 8:已赋码(沿用)9:审核中)
     */
    private String formState;
    /**
     * ä¸»æ•°æ®ç¼–码
     */
    private String customCoding;
    /**
     * ç”³è¯·å•中编码视图信息
     */
    private List<DockingViewVO> viewInfos;
    public String getApplyId() {
        return applyId;
    }
    public void setApplyId(String applyId) {
        this.applyId = applyId;
    }
    public String getFormState() {
        return formState;
    }
    public void setFormState(String formState) {
        this.formState = formState;
    }
    public String getCustomCoding() {
        return customCoding;
    }
    public void setCustomCoding(String customCoding) {
        this.customCoding = customCoding;
    }
    public List<DockingViewVO> getViewInfos() {
        return viewInfos;
    }
    public void setViewInfos(List<DockingViewVO> viewInfos) {
        this.viewInfos = viewInfos;
    }
    @Override
    public String toString() {
        return "MainData{" +
            "applyId='" + applyId + '\'' +
            ", formState='" + formState + '\'' +
            ", customCoding='" + customCoding + '\'' +
            ", viewInfos=" + viewInfos +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/data/data.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
{
  "parentOid":"XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
  "parentBtmName":"jclass",
  "valueField":"oid",
  "textField":"name",
  "parentFieldName":"id",
  "conditionMap":[{
    "codeclsfid": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B"
  }]
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/data/pl_code_jconfig.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1159 @@
{
  "code": 200,
  "success": true,
  "data": [
    {
      "oid": "2023022114229",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "C73079D0-3BEB-E887-5210-87D8A792D3ED",
      "nameOid": "98669FD3-AE76-659B-1583-7F5C28519B89",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-B5416-4928-CFB8-84F5-1955AA890762",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "8EAB5416-4928-CFB8-84F5-1955AA890762",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890762",
      "viewModeName": "",
      "targetAttrKey": "lastmodifytime",
      "targetAttrName": "最后修改时间",
      "sourceAttrKey": "lastmodifytime",
      "sourceAttrName": "最后修改时间",
      "viewModelName": "基本视图",
      "viewName": "基本视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114230",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "E46AA8DD-FFC7-BCA0-76F2-AA959AEE8D0A",
      "nameOid": "FBE012CC-0CBE-5D86-9685-BDF01F086342",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-0FED7-90B6-BAF8-B558-2A4693CAAD83",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "2810FED7-90B6-BAF8-B558-2A4693CAAD83",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890762",
      "viewModeName": "",
      "targetAttrKey": "createcompany",
      "targetAttrName": "创建公司",
      "sourceAttrKey": "createcompany",
      "sourceAttrName": "创建公司",
      "viewModelName": "基本视图",
      "viewName": "基本视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114231",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "8A71CDE9-11A7-1095-4603-A7E9D1FB66B6",
      "nameOid": "9F59B1E2-2268-885B-07AC-F34C4972FE86",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-1469D-F1E9-6A31-21B9-E5FF7A03BBEA",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "0131469D-F1E9-6A31-21B9-E5FF7A03BBEA",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890762",
      "viewModeName": "",
      "targetAttrKey": "kucunwl",
      "targetAttrName": "库存物料",
      "sourceAttrKey": "kucunwl",
      "sourceAttrName": "库存物料",
      "viewModelName": "基本视图",
      "viewName": "基本视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114204",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "5F17F832-DAE2-08D5-792D-0B6CBF0199F4",
      "nameOid": "85F86261-18E4-4978-BFAE-BBFF0C75F7C1",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-07512-3fff-4ff0-bf25-f13fcd2a4acf",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "a2307512-3fff-4ff0-bf25-f13fcd2a4acf",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890762",
      "viewModeName": "",
      "targetAttrKey": "id",
      "targetAttrName": "编码",
      "sourceAttrKey": "id",
      "sourceAttrName": "编码",
      "viewModelName": "基本视图",
      "viewName": "基本视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114206",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "D9D48ED4-4481-60B6-582E-6A9910F3D907",
      "nameOid": "0BAF9BDA-A707-DC18-96A0-FEA0D68D9036",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-1fe09-da6f-4412-b92f-f411d341e92d",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "3b11fe09-da6f-4412-b92f-f411d341e92d",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890762",
      "viewModeName": "",
      "targetAttrKey": "lcstatus",
      "targetAttrName": "状态",
      "sourceAttrKey": "lcstatus",
      "sourceAttrName": "状态",
      "viewModelName": "基本视图",
      "viewName": "基本视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114208",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "2A28E3E8-BB25-9652-804E-A1185F52E1D9",
      "nameOid": "F385803E-8EA2-7F2B-B22D-63FF527FCB1C",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.342",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-F8C09-A123-391B-E119-748B70028952",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "264F8C09-A123-391B-E119-748B70028952",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890762",
      "viewModeName": "",
      "targetAttrKey": "oldcode",
      "targetAttrName": "历史编号",
      "sourceAttrKey": "oldcode",
      "sourceAttrName": "历史编号",
      "viewModelName": "基本视图",
      "viewName": "基本视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114210",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "3C3ACABB-E692-FED2-ADD9-F04532A43D00",
      "nameOid": "1AB942E6-E956-E44B-B140-AA75222FAF4F",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.342",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-9ab10-a3bf-4b51-b8c5-337132018f1d",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "5469ab10-a3bf-4b51-b8c5-337132018f1d",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890762",
      "viewModeName": "",
      "targetAttrKey": "name",
      "targetAttrName": "物料名称",
      "sourceAttrKey": "name",
      "sourceAttrName": "物料名称",
      "viewModelName": "基本视图",
      "viewName": "基本视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114212",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "CAF4CC4C-D2BD-CE2C-7BB1-30799A124EBB",
      "nameOid": "939A13F3-814A-1CD3-0896-429C1D2F803D",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.342",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-F0DDF-C5DB-8616-D752-20360970AFB6",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "0FAF0DDF-C5DB-8616-D752-20360970AFB6",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890763",
      "viewModeName": "",
      "targetAttrKey": "materialclassify",
      "targetAttrName": "物料分类",
      "sourceAttrKey": "materialclassify",
      "sourceAttrName": "物料分类",
      "viewModelName": "采购视图",
      "viewName": "采购视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114213",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "43AFA453-AD02-958C-413D-EDC58EFF27B3",
      "nameOid": "E41F372D-60FD-2462-E6B1-DF33D5C787E2",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.342",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-329e5-b881-4128-aea4-f1b8f67eb5e7",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "3d7329e5-b881-4128-aea4-f1b8f67eb5e7",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890763",
      "viewModeName": "",
      "targetAttrKey": "firstfl",
      "targetAttrName": "一级管理分类",
      "sourceAttrKey": "firstfl",
      "sourceAttrName": "一级管理分类",
      "viewModelName": "采购视图",
      "viewName": "采购视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114214",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "BCBAE106-DD94-5B6C-C4AF-3AD50F513E93",
      "nameOid": "B52551C4-E35F-9E18-AD63-AD42FC89A15A",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.338",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-43fc3-a604-4fd8-a2c9-482712301285",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "00a43fc3-a604-4fd8-a2c9-482712301285",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890763",
      "viewModeName": "",
      "targetAttrKey": "secondfl",
      "targetAttrName": "二级管理分类",
      "sourceAttrKey": "secondfl",
      "sourceAttrName": "二级管理分类",
      "viewModelName": "采购视图",
      "viewName": "采购视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114215",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "1E5B2974-DEAF-7489-0EEA-1E6EB5AEC7E8",
      "nameOid": "CC456D46-7D32-1E39-05EE-2CF8F9D3754E",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.342",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-8e06b-b297-4738-ad6d-0b1b0064ae3e",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "53d8e06b-b297-4738-ad6d-0b1b0064ae3e",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890763",
      "viewModeName": "",
      "targetAttrKey": "thrifl",
      "targetAttrName": "三级管理分类",
      "sourceAttrKey": "thrifl",
      "sourceAttrName": "三级管理分类",
      "viewModelName": "采购视图",
      "viewName": "采购视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114216",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "14C8547F-B31A-E007-170F-9953B57AC003",
      "nameOid": "C3C87FAB-5F9F-3E6E-F433-5DAA335A35DB",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.342",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-618cd-475b-4235-8783-20fd3e19e397",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "e7b618cd-475b-4235-8783-20fd3e19e397",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890763",
      "viewModeName": "",
      "targetAttrKey": "xiaoshouwl",
      "targetAttrName": "销售物料",
      "sourceAttrKey": "xiaoshouwl",
      "sourceAttrName": "销售物料",
      "viewModelName": "采购视图",
      "viewName": "采购视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114217",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "880DCB14-8FA6-26FE-796F-1896A8DEFD63",
      "nameOid": "F40FB67E-ED46-F375-F302-EE991F98FAEC",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.342",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-3de12-01e3-4a96-9323-ee025f57fe75",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "4ad3de12-01e3-4a96-9323-ee025f57fe75",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890763",
      "viewModeName": "",
      "targetAttrKey": "xinghaoguige",
      "targetAttrName": "规格型号",
      "sourceAttrKey": "xinghaoguige",
      "sourceAttrName": "规格型号",
      "viewModelName": "采购视图",
      "viewName": "采购视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114218",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "1F491FBC-B16C-A715-231D-57825F3FDBBF",
      "nameOid": "63DD90E9-716C-DB3C-E4B3-3CB59425228F",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.342",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-059FA-B513-114A-318C-9D7FB3E06736",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "894059FA-B513-114A-318C-9D7FB3E06736",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890763",
      "viewModeName": "",
      "targetAttrKey": "jiliangdw",
      "targetAttrName": "计量单位",
      "sourceAttrKey": "jiliangdw",
      "sourceAttrName": "计量单位",
      "viewModelName": "采购视图",
      "viewName": "采购视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114219",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "E1EAE8B0-2C14-3E39-87F2-D2139D116446",
      "nameOid": "DA491C02-DB3E-1FCA-9896-D9BF8D60699F",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-4C611-FC2A-C4EB-D85E-74B008515EAB",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "1894C611-FC2A-C4EB-D85E-74B008515EAB",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890763",
      "viewModeName": "",
      "targetAttrKey": "chukufangshi",
      "targetAttrName": "出库方式",
      "sourceAttrKey": "chukufangshi",
      "sourceAttrName": "出库方式",
      "viewModelName": "采购视图",
      "viewName": "采购视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114220",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "6295A1BB-95B4-8D25-B508-663CDE89C6B8",
      "nameOid": "0246385E-5435-3859-F5E1-BC1C6B4246F9",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.342",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-43953-2216-4171-b1a6-139244e63a95",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "e3d43953-2216-4171-b1a6-139244e63a95",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890763",
      "viewModeName": "",
      "targetAttrKey": "description",
      "targetAttrName": "备注说明",
      "sourceAttrKey": "description",
      "sourceAttrName": "备注说明",
      "viewModelName": "采购视图",
      "viewName": "采购视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114221",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "3E0811EF-B738-27DD-AA77-FBA44CE55A01",
      "nameOid": "113BB469-ECED-8393-D6F2-7F9B85B4060F",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.342",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-D6882-1BA9-BBA6-2344-B433A6FDCA39",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "902D6882-1BA9-BBA6-2344-B433A6FDCA39",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890763",
      "viewModeName": "",
      "targetAttrKey": "hesuanfenlei",
      "targetAttrName": "核算分类",
      "sourceAttrKey": "hesuanfenlei",
      "sourceAttrName": "核算分类",
      "viewModelName": "采购视图",
      "viewName": "采购视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114222",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "E2CF6A7E-AFEA-5474-A8E7-EAD9C6BEE06C",
      "nameOid": "DE77BF7D-DC65-7E3F-C369-2E17217ADE96",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-E34DA-ABF6-9813-8AB0-7651E4B2D54B",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "01CE34DA-ABF6-9813-8AB0-7651E4B2D54B",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890764",
      "viewModeName": "",
      "targetAttrKey": "materialtype",
      "targetAttrName": "物料类型",
      "sourceAttrKey": "materialtype",
      "sourceAttrName": "物料类型",
      "viewModelName": "销售视图",
      "viewName": "销售视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114223",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "84F730D2-EEA9-DFC4-FFED-10457C35FB0E",
      "nameOid": "4285DCED-27F9-5CF9-3965-8D2EBF4F6328",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-38D7E-E51A-81B3-558D-FF1212DFC757",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "2FA38D7E-E51A-81B3-558D-FF1212DFC757",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890764",
      "viewModeName": "",
      "targetAttrKey": "tuhao",
      "targetAttrName": "图号",
      "sourceAttrKey": "tuhao",
      "sourceAttrName": "图号",
      "viewModelName": "销售视图",
      "viewName": "销售视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114224",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "48381EB2-4674-6B49-79FF-191BFB17B855",
      "nameOid": "613951FA-9935-4FEB-E729-4F3CCD884515",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-BF978-7354-CE66-415B-16ABD3ED036D",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "B23BF978-7354-CE66-415B-16ABD3ED036D",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890764",
      "viewModeName": "",
      "targetAttrKey": "zhibaoqi",
      "targetAttrName": "质保期",
      "sourceAttrKey": "zhibaoqi",
      "sourceAttrName": "质保期",
      "viewModelName": "销售视图",
      "viewName": "销售视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114225",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "0A731F1F-B033-A068-CE37-4BB00BF222EE",
      "nameOid": "4D08AE69-BFF1-71E9-0532-D76A2DD30BAF",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-46119-D74B-4818-9A89-6235E2234395",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "26D46119-D74B-4818-9A89-6235E2234395",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890764",
      "viewModeName": "",
      "targetAttrKey": "revisionvalue",
      "targetAttrName": "版本",
      "sourceAttrKey": "revisionvalue",
      "sourceAttrName": "版本",
      "viewModelName": "销售视图",
      "viewName": "销售视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114226",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "1B4C043F-E464-5DDC-5BCD-2FCC9D3C1EBF",
      "nameOid": "655623AA-9BAA-ECED-2366-C3AEDAC5CAE5",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-752FC-DC6E-361E-B960-607D7FF908E6",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "52A752FC-DC6E-361E-B960-607D7FF908E6",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890764",
      "viewModeName": "",
      "targetAttrKey": "creator",
      "targetAttrName": "创建人",
      "sourceAttrKey": "creator",
      "sourceAttrName": "创建人",
      "viewModelName": "销售视图",
      "viewName": "销售视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114227",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "14672EF9-7686-8FF6-2ACB-C45ECC0B49E9",
      "nameOid": "2D575115-E4E0-A68B-5463-E8D416AF1CF6",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-799D8-6721-3D79-8EE3-75DAF0680B7E",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "518799D8-6721-3D79-8EE3-75DAF0680B7E",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890764",
      "viewModeName": "",
      "targetAttrKey": "createtime",
      "targetAttrName": "创建时间",
      "sourceAttrKey": "createtime",
      "sourceAttrName": "创建时间",
      "viewModelName": "销售视图",
      "viewName": "销售视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    },
    {
      "oid": "2023022114228",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "F5C2A81C-1105-7DB7-574F-EF46C8199F4A",
      "nameOid": "390CEE14-E838-3496-7B7C-336A0912BF79",
      "btmname": "jintegmapconifg",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-04-01 15:08:55",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-04-01 15:08:55.343",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "defaultValue": "",
      "metaListId": "XJ-9368E-9BA8-38E8-73F3-7D0531A22009",
      "sourceClassifyId": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "sourceClassifyName": "产品",
      "targetAttrId": "4049368E-9BA8-38E8-73F3-7D0531A22009",
      "targetClassifyId": "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      "viewModeId": "XJ-B5416-4928-CFB8-84F5-1955AA890764",
      "viewModeName": "",
      "targetAttrKey": "lastmodifier",
      "targetAttrName": "最后修改人",
      "sourceAttrKey": "lastmodifier",
      "sourceAttrName": "最后修改人",
      "viewModelName": "销售视图",
      "viewName": "销售视图",
      "targetClassifyName": "产品",
      "dockingPreAttrRangeVoList": []
    }
  ],
  "msg": "操作成功"
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/data/pl_code_jrange.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,192 @@
{
  "code": 200,
  "success": true,
  "data": [
    {
      "oid": "2023022114232",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "097DC30F-CC8F-595D-0530-7C86C176FC61",
      "nameOid": "D3FB491C-0571-3BB2-604E-563CC579CCAC",
      "btmname": "jrange",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-03-30 23:35:13",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-03-30 23:35:13.027",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "metaListId": "XJ-E34DA-ABF6-9813-8AB0-7651E4B2D54B",
      "numText": "材料",
      "numTextValue": "1001",
      "targetNumText": "材料",
      "targetNumTextValue": "7"
    },
    {
      "oid": "2023022114233",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "ABFFA8CA-2BD0-D894-1B2C-2294CBADCBAD",
      "nameOid": "667D8ACC-FA79-521D-9B37-9EFAB338E06A",
      "btmname": "jrange",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-03-30 23:35:13",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-03-30 23:35:13.027",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "metaListId": "XJ-E34DA-ABF6-9813-8AB0-7651E4B2D54B",
      "numText": "成品",
      "numTextValue": "1002",
      "targetNumText": "成品",
      "targetNumTextValue": "5"
    },
    {
      "oid": "2023022114234",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "471212E1-CF4D-1899-C692-FBC3183F2A84",
      "nameOid": "A886A5B0-8617-7FB7-562C-AE3DBBF373EA",
      "btmname": "jrange",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-03-30 23:35:13",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-03-30 23:35:13.027",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "metaListId": "XJ-E34DA-ABF6-9813-8AB0-7651E4B2D54B",
      "numText": "机物料",
      "numTextValue": "1003",
      "targetNumText": "机物料",
      "targetNumTextValue": "6"
    },
    {
      "oid": "2023022114235",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "E08263A0-A7C8-8DBB-3CF0-63EE863A669A",
      "nameOid": "B8CC570A-0448-3E54-9686-0A4EB0004638",
      "btmname": "jrange",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-03-30 23:35:13",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-03-30 23:35:13.027",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "metaListId": "XJ-E34DA-ABF6-9813-8AB0-7651E4B2D54B",
      "numText": "综保",
      "numTextValue": "1004",
      "targetNumText": "综保",
      "targetNumTextValue": "2"
    },
    {
      "oid": "2023022114236",
      "id": "",
      "name": "",
      "description": "",
      "revisionOid": "C641A4DE-9675-2172-A5AF-C313E6C2A36D",
      "nameOid": "DBB71651-D31D-C8BC-15FB-23A9D28A1325",
      "btmname": "jrange",
      "lastR": "1",
      "firstR": "1",
      "lastV": "1",
      "firstV": "1",
      "creator": "1",
      "createTime": "2023-03-30 23:35:13",
      "lastModifier": "1",
      "lastModifyTime": "2023-03-30 23:35:13",
      "revisionRule": "",
      "revisionSeq": 1,
      "revisionValue": "",
      "versionRule": "0",
      "versionSeq": 1,
      "versionValue": "1",
      "lcStatus": "Exist",
      "lcStatusText": "",
      "ts": "2023-03-30 23:35:13.027",
      "owner": "1",
      "copyFromVersion": "",
      "secretGrade": -1,
      "secretGradeText": "",
      "lctid": "defaultLC",
      "data": {},
      "metaListId": "XJ-E34DA-ABF6-9813-8AB0-7651E4B2D54B",
      "numText": "资产",
      "numTextValue": "1005",
      "targetNumText": "资产",
      "targetNumTextValue": "4"
    }
  ],
  "msg": "操作成功"
}
Source/UBCS/ubcs-service/ubcs-code/pom.xml
@@ -51,11 +51,34 @@
            <version>${mybatisplus.join.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
            <version>3.3.1</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.validation</groupId>
                    <artifactId>validation-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-web</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--<dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-webservice</artifactId>
            <version>3.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
        </dependency>-->
    </dependencies>
    <build>
        <plugins>
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmBtmTypeConstant.java
@@ -166,24 +166,24 @@
    public static final String SYS_INT_HEADER = "sysintheader";
    /**
     * é›†æˆå±žæ€§æ˜ å°„关系业务类型
     */
    public static final String DOCKING_PRE_JINTEGMAPCONFIG = "jintegmapconifg";
    /**
     * é›†æˆå±žæ€§æ˜ å°„关系业务类型
     */
    public static final String DOCKING_PRE_JINTEGMAPCONFIG = "jintegmapconfig";
    /**
     * é›†æˆé›†å›¢åˆ†ç±»ä¸šåŠ¡ç±»åž‹
     */
    public static final String DOCKING_PRE_JCLASS = "jclass";
    /**
     * é›†æˆé›†å›¢æ¨¡åž‹å±žæ€§ä¸šåŠ¡ç±»åž‹
     */
    public static final String DOCKING_PRE_JMETAATRR = "jmetaattr";
    /**
     * é›†æˆé›†å›¢åˆ†ç±»ä¸šåŠ¡ç±»åž‹
     */
    public static final String DOCKING_PRE_JCLASSIFY = "jclassify";
    /**
     * é›†æˆé›†å›¢æ¨¡åž‹å±žæ€§ä¸šåŠ¡ç±»åž‹
     */
    public static final String DOCKING_PRE_JMETAATRR = "jmetaattr";
    /**
     * é›†æˆå±žæ€§å–值范围关系业务类型
     */
    public static final String DOCKING_PRE_JRANGE = "jrange";
    /**
     * é›†æˆå±žæ€§å–值范围关系业务类型
     */
    public static final String DOCKING_PRE_JRANGE = "jrange";
    /**
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeReferConfigController.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.code.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vci.ubcs.code.dto.CodeReferConfigDTO;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.service.CodeReferConfigService;
import com.vci.ubcs.code.vo.CodeReferConfigVO;
@@ -15,6 +16,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
 * å‚照配置表(CodeReferConfig)表控制层
@@ -39,8 +42,18 @@
     */
    @GetMapping("getReferConfigPage")
    public R<IPage<CodeReferConfigVO>> queryByPage(BladeQueryObject bladeQueryObject) {
        return R.data(this.codeReferconfigService.queryByPage(bladeQueryObject));
        return R.data(this.codeReferconfigService.queryByJoinPage(bladeQueryObject));
    }
    /**
     * æŸ¥è¯¢åˆ—表
     * @param codeReferConfigVO ç­›é€‰æ¡ä»¶
     * @return æŸ¥è¯¢ç»“æžœ
     */
    @GetMapping("getReferConfigList")
    public R<List<CodeReferConfigVO>> queryByList(CodeReferConfigVO codeReferConfigVO) {
        return R.data(this.codeReferconfigService.queryByList(codeReferConfigVO));
    }
    /**
     * é€šè¿‡ä¸»é”®æŸ¥è¯¢å•条数据
@@ -49,41 +62,41 @@
     * @return å•条数据
     */
    @GetMapping("getByOid")
    public R<CodeReferConfig> queryById(@RequestParam("oid") String oid) {
    public R<CodeReferConfigVO> queryById(@RequestParam("oid") String oid) {
        return R.data(this.codeReferconfigService.queryById(oid));
    }
    /**
     * æ–°å¢žæ•°æ®
     *
     * @param codeReferConfig å®žä½“
     * @param codeReferConfigVO å®žä½“
     * @return æ–°å¢žç»“æžœ
     */
    @PostMapping("/save")
    public R<CodeReferConfig> add(CodeReferConfig codeReferConfig) {
        return R.data(this.codeReferconfigService.insert(codeReferConfig));
    @PostMapping("/addSave")
    public R<CodeReferConfigVO> add(CodeReferConfigVO codeReferConfigVO) {
        return this.codeReferconfigService.insert(codeReferConfigVO);
    }
    /**
     * ç¼–辑数据
     *
     * @param codeReferConfig å®žä½“
     * @param codeReferConfigVO å®žä½“
     * @return ç¼–辑结果
     */
    @PutMapping("/edit")
    public R<CodeReferConfig> edit(CodeReferConfig codeReferConfig) {
        return R.data(this.codeReferconfigService.update(codeReferConfig));
    public R<CodeReferConfigVO> edit(CodeReferConfigVO codeReferConfigVO) {
        return this.codeReferconfigService.update(codeReferConfigVO);
    }
    /**
     * åˆ é™¤æ•°æ®
     *
     * @param id ä¸»é”®
     * @param codeReferConfigDTO ä¸»é”®
     * @return åˆ é™¤æ˜¯å¦æˆåŠŸ
     */
    @DeleteMapping("/del")
    public R<Boolean> deleteById(String id) {
        return R.data(this.codeReferconfigService.deleteById(id));
    public R<Boolean> deleteById(CodeReferConfigDTO codeReferConfigDTO) {
        return this.codeReferconfigService.deleteById(codeReferConfigDTO);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeShowFieldConfigController.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSrchCondConfigController.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeReferConfigFieldTypeEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,146 @@
package com.vci.ubcs.code.enumpack;
import com.vci.ubcs.starter.web.enumpck.BaseEnum;
/**
 * å‚照配置中用到的——字段类型
 * @author ludc
 * @date 2023/5/24 14:09
 */
public enum CodeReferConfigFieldTypeEnum implements BaseEnum {
    /**
     * æ–‡æœ¬æ¡†
     */
    TEXT("text","文本框"),
    /**
     * ä¸‹æ‹‰èœå•
     */
    MODIFY("combox","下拉菜单"),
    /**
     * å•选
     */
    RADIO("radio","单选"),
    /**
     * å¼€å…³
     */
    SWTICH("swtich","开关"),
    /**
     * æ—¶é—´
     */
    DATE("date","时间"),
    /**
     * æ–‡æœ¬åŸŸ
     */
    TEXTAREA("textarea","文本域");
    /**
     * æžšä¸¾çš„值
     */
    private String value;
    /**
     * æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * èŽ·å–æžšä¸¾å€¼
     *
     * @return æžšä¸¾å€¼
     */
    @Override
    public String getValue() {
        return value;
    }
    /**
     * è®¾ç½®æžšä¸¾å€¼
     *
     * @param value æžšä¸¾å€¼
     */
    public void setValue(String value) {
        this.value = value;
    }
    /**
     * èŽ·å–æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     *
     * @return æ˜¾ç¤ºæ–‡æœ¬
     */
    @Override
    public String getText() {
        return text;
    }
    /**
     * è®¾ç½®æ˜¾ç¤ºæ–‡æœ¬
     *
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    public void setText(String text) {
        this.text = text;
    }
    /**
     * æž„造函数
     *
     * @param value å€¼
     * @param text  æ˜¾ç¤ºæ–‡æœ¬
     */
    private CodeReferConfigFieldTypeEnum(String value, String text) {
        this.value = value;
        this.text = text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     *
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text) {
        for (CodeReferConfigFieldTypeEnum wenum : CodeReferConfigFieldTypeEnum.values()) {
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value) {
        for (CodeReferConfigFieldTypeEnum wenum : CodeReferConfigFieldTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–æžšä¸¾å¯¹è±¡
     *
     * @param value æžšä¸¾å€¼
     * @return æžšä¸¾å¯¹è±¡ï¼Œä¸å­˜åœ¨æ—¶å€™è¿”回null
     */
    public static CodeReferConfigFieldTypeEnum forValue(String value) {
        for (CodeReferConfigFieldTypeEnum wenum : CodeReferConfigFieldTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return null;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeReferConfigFilterTypeEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,151 @@
package com.vci.ubcs.code.enumpack;
import com.vci.ubcs.starter.web.enumpck.BaseEnum;
/**
 * ç­›é€‰ç±»åž‹
 * @author ludc
 * @date 2023/5/24 15:01
 */
public enum CodeReferConfigFilterTypeEnum implements BaseEnum {
    /**
     * å‡åº
     */
    LIKE("like","包含"),
    /**
     * é™åº
     */
    EQUAL("=","等于"),
    /**
     * é™åº
     */
    GREATER(">","大于"),
    /**
     * é™åº
     */
    LESS("<","小于"),
    /**
     * é™åº
     */
    NOTEQUAL("!=","不等于"),
    /**
     * é™åº
     */
    GREATEREQUAL(">=","大于等于"),
    /**
     * é™åº
     */
    LESSEQUAL("<=","小于等于");
    /**
     * æžšä¸¾çš„值
     */
    private String value;
    /**
     * æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * èŽ·å–æžšä¸¾å€¼
     *
     * @return æžšä¸¾å€¼
     */
    @Override
    public String getValue() {
        return value;
    }
    /**
     * è®¾ç½®æžšä¸¾å€¼
     *
     * @param value æžšä¸¾å€¼
     */
    public void setValue(String value) {
        this.value = value;
    }
    /**
     * èŽ·å–æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     *
     * @return æ˜¾ç¤ºæ–‡æœ¬
     */
    @Override
    public String getText() {
        return text;
    }
    /**
     * è®¾ç½®æ˜¾ç¤ºæ–‡æœ¬
     *
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    public void setText(String text) {
        this.text = text;
    }
    /**
     * æž„造函数
     *
     * @param value å€¼
     * @param text  æ˜¾ç¤ºæ–‡æœ¬
     */
    private CodeReferConfigFilterTypeEnum(String value, String text) {
        this.value = value;
        this.text = text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     *
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text) {
        for (CodeReferConfigFilterTypeEnum wenum : CodeReferConfigFilterTypeEnum.values()) {
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value) {
        for (CodeReferConfigFilterTypeEnum wenum : CodeReferConfigFilterTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–æžšä¸¾å¯¹è±¡
     *
     * @param value æžšä¸¾å€¼
     * @return æžšä¸¾å¯¹è±¡ï¼Œä¸å­˜åœ¨æ—¶å€™è¿”回null
     */
    public static CodeReferConfigFilterTypeEnum forValue(String value) {
        for (CodeReferConfigFilterTypeEnum wenum : CodeReferConfigFilterTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return null;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeReferConfigFixedEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
package com.vci.ubcs.code.enumpack;
import com.vci.ubcs.starter.web.enumpck.BaseEnum;
/**
 * å‚照配置中用到的——列固定位置
 * @author ludc
 * @date 2023/5/24 14:38
 */
public enum CodeReferConfigFixedEnum implements BaseEnum{
    /**
     * ä¸å›ºå®š
     */
    NOFIXED("noFixed","不固定"),
    /**
     * ä¸‹æ‹‰èœå•
     */
    LEFT("left","左边"),
    /**
     * å•选
     */
    RIGHT("right","右边");
    /**
     * æžšä¸¾çš„值
     */
    private String value;
    /**
     * æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * èŽ·å–æžšä¸¾å€¼
     *
     * @return æžšä¸¾å€¼
     */
    @Override
    public String getValue() {
        return value;
    }
    /**
     * è®¾ç½®æžšä¸¾å€¼
     *
     * @param value æžšä¸¾å€¼
     */
    public void setValue(String value) {
        this.value = value;
    }
    /**
     * èŽ·å–æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     *
     * @return æ˜¾ç¤ºæ–‡æœ¬
     */
    @Override
    public String getText() {
        return text;
    }
    /**
     * è®¾ç½®æ˜¾ç¤ºæ–‡æœ¬
     *
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    public void setText(String text) {
        this.text = text;
    }
    /**
     * æž„造函数
     *
     * @param value å€¼
     * @param text  æ˜¾ç¤ºæ–‡æœ¬
     */
    private CodeReferConfigFixedEnum(String value, String text) {
        this.value = value;
        this.text = text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     *
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text) {
        for (CodeReferConfigFixedEnum wenum : CodeReferConfigFixedEnum.values()) {
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value) {
        for (CodeReferConfigFixedEnum wenum : CodeReferConfigFixedEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–æžšä¸¾å¯¹è±¡
     *
     * @param value æžšä¸¾å€¼
     * @return æžšä¸¾å¯¹è±¡ï¼Œä¸å­˜åœ¨æ—¶å€™è¿”回null
     */
    public static CodeReferConfigFixedEnum forValue(String value) {
        for (CodeReferConfigFixedEnum wenum : CodeReferConfigFixedEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return null;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeReferConfigTypeEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,176 @@
package com.vci.ubcs.code.enumpack;
import com.vci.ubcs.starter.web.enumpck.BaseEnum;
/**
 * å‚照配置中用到的——窗口类型
 * @author ludc
 * @date 2023/5/24 14:09
 */
public enum CodeReferConfigTypeEnum implements BaseEnum {
    /**
     * é»˜è®¤æ ·å¼
     */
    DEFAULT("default","默认样式"),
    /**
     * å¹³å°é…ç½®
     */
    STAND("stand","平台配置"),
    /**
     * æ ‘å½¢
     */
    TREE("tree","树形"),
    /**
     * æ ‘å½¢
     */
    GRID("grid","列表"),
    /**
     * éƒ¨é—¨æ ‘
     */
    ORGDEPARTMENTREFER("refer/OrgDepartmentRefer","部门树"),
    /**
     * éƒ¨é—¨åˆ—表
     */
    ORGDEPARTMENTGRIDREFERS("refer/OrgDepartmentGridRefers","部门列表"),
    /**
     * ç”¨æˆ·
     */
    SMUSERREFER("refer/SmUserRefer","用户"),
    /**
     * ç”¨æˆ·åˆ—表
     */
    SMUSERGRIDREFER("refer/SmUserGridRefer","用户列表"),
    /**
     * è§’色列表
     */
    SMROLEREFER("refer/SmRoleRefer","角色列表"),
    /**
     * èŒåŠ¡
     */
    ORGDUTYREFER("refer/OrgDutyRefer","职务"),
    /**
     * å·¥ç§
     */
    SMWORKTYPEREFER("refer/SmWorkTypeRefer","工种"),
    /**
     * æµç¨‹æ¨¡æ¿
     */
    WFPROCESSTEMPLATEREFER("refer/WfProcessTemplateRefer","流程模板");
    /**
     * æžšä¸¾çš„值
     */
    private String value;
    /**
     * æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * èŽ·å–æžšä¸¾å€¼
     *
     * @return æžšä¸¾å€¼
     */
    @Override
    public String getValue() {
        return value;
    }
    /**
     * è®¾ç½®æžšä¸¾å€¼
     *
     * @param value æžšä¸¾å€¼
     */
    public void setValue(String value) {
        this.value = value;
    }
    /**
     * èŽ·å–æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     *
     * @return æ˜¾ç¤ºæ–‡æœ¬
     */
    @Override
    public String getText() {
        return text;
    }
    /**
     * è®¾ç½®æ˜¾ç¤ºæ–‡æœ¬
     *
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    public void setText(String text) {
        this.text = text;
    }
    /**
     * æž„造函数
     *
     * @param value å€¼
     * @param text  æ˜¾ç¤ºæ–‡æœ¬
     */
    private CodeReferConfigTypeEnum(String value, String text) {
        this.value = value;
        this.text = text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     *
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text) {
        for (CodeReferConfigTypeEnum wenum : CodeReferConfigTypeEnum.values()) {
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value) {
        for (CodeReferConfigTypeEnum wenum : CodeReferConfigTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–æžšä¸¾å¯¹è±¡
     *
     * @param value æžšä¸¾å€¼
     * @return æžšä¸¾å¯¹è±¡ï¼Œä¸å­˜åœ¨æ—¶å€™è¿”回null
     */
    public static CodeReferConfigTypeEnum forValue(String value) {
        for (CodeReferConfigTypeEnum wenum : CodeReferConfigTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return null;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/IMdmInterJtClient.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmInterJtClient.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeReferConfigMapper.java
@@ -1,6 +1,10 @@
package com.vci.ubcs.code.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper;
import com.vci.ubcs.code.dto.CodeReferConfigDTO;
import com.vci.ubcs.code.entity.CodeReferConfig;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
@@ -9,10 +13,10 @@
/**
 * å‚照配置表(CodeReferConfig)表数据库访问层
 *
 * @author makejava
 * @author ludc
 * @since 2023-05-19 17:47:51
 */
public interface CodeReferConfigMapper extends BaseMapper<CodeReferConfig> {
public interface CodeReferConfigMapper extends MPJBaseMapper<CodeReferConfig> {
    /**
     * é€šè¿‡ID查询单条数据
@@ -26,10 +30,10 @@
     * æŸ¥è¯¢æŒ‡å®šè¡Œæ•°æ®
     *
     * @param codeReferConfig æŸ¥è¯¢æ¡ä»¶
     * @param pageable         åˆ†é¡µå¯¹è±¡
     * @param page         åˆ†é¡µå¯¹è±¡
     * @return å¯¹è±¡åˆ—表
     */
    List<CodeReferConfig> queryAllByPage(CodeReferConfig codeReferConfig, @Param("pageable") Pageable pageable);
    IPage<CodeReferConfig> selectJoinPage(@Param("codeReferConfig") CodeReferConfig codeReferConfig, IPage page);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeShowFieldConfigMapper.java
@@ -10,7 +10,7 @@
/**
 * å¼•用码段,参照配置界面,显示的属性配置表(CodeShowFieldConfig)表数据库访问层
 *
 * @author makejava
 * @author ludc
 * @since 2023-05-19 17:58:55
 */
public interface CodeShowFieldConfigMapper extends BaseMapper<CodeShowFieldConfig> {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSrchCondConfigMapper.java
@@ -9,7 +9,7 @@
/**
 * å¼•用码段,参照配置界面,查询条件配置表(CodeSrchCondConfig)表数据库访问层
 *
 * @author makejava
 * @author ludc
 * @since 2023-05-19 17:58:56
 */
public interface CodeSrchCondConfigMapper extends BaseMapper<CodeSrchCondConfig> {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreApplyFormMapper.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreAttrMappingMapper.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreAttrRangeMapper.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreMetaAttrMapper.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreViewModelMapper.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeReferConfigService.java
@@ -1,14 +1,20 @@
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.yulichang.base.MPJBaseService;
import com.vci.ubcs.code.dto.CodeReferConfigDTO;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import java.util.List;
/**
 * å‚照配置表(CodeReferConfig)表服务接口
@@ -16,7 +22,7 @@
 * @author ludc
 * @since 2023-05-19 17:47:59
 */
public interface CodeReferConfigService extends IService<CodeReferConfig> {
public interface CodeReferConfigService extends MPJBaseService<CodeReferConfig> {
    /**
     * é€šè¿‡ID查询单条数据
@@ -24,7 +30,7 @@
     * @param oid ä¸»é”®
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeReferConfig queryById(String oid);
    CodeReferConfigVO queryById(String oid);
    /**
     * åˆ†é¡µæŸ¥è¯¢
@@ -32,30 +38,38 @@
     * @param bladeQueryObject ç­›é€‰æ¡ä»¶
     * @return æŸ¥è¯¢ç»“æžœ
     */
    IPage<CodeReferConfigVO> queryByPage(BladeQueryObject bladeQueryObject);
    IPage<CodeReferConfigVO> queryByJoinPage(BladeQueryObject bladeQueryObject);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param codeReferConfigVO ç­›é€‰æ¡ä»¶
     * @return æŸ¥è¯¢ç»“æžœ
     */
    List<CodeReferConfigVO> queryByList(CodeReferConfigVO codeReferConfigVO);
    /**
     * æ–°å¢žæ•°æ®
     *
     * @param codeReferconfig å®žä¾‹å¯¹è±¡
     * @param codeReferConfigVO å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeReferConfig insert(CodeReferConfig codeReferconfig);
    R insert(CodeReferConfigVO codeReferConfigVO);
    /**
     * ä¿®æ”¹æ•°æ®
     *
     * @param codeReferconfig å®žä¾‹å¯¹è±¡
     * @param codeReferConfigVO å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeReferConfig update(CodeReferConfig codeReferconfig);
    R update(CodeReferConfigVO codeReferConfigVO);
    /**
     * é€šè¿‡ä¸»é”®åˆ é™¤æ•°æ®
     *
     * @param oid ä¸»é”®
     * @param codeReferConfigDTO
     * @return æ˜¯å¦æˆåŠŸ
     */
    boolean deleteById(String oid);
    R deleteById(CodeReferConfigDTO codeReferConfigDTO);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeShowFieldConfigService.java
@@ -1,8 +1,13 @@
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.CodeShowFieldConfig;
import com.vci.ubcs.code.vo.CodeShowFieldConfigVO;
import jdk.internal.dynalink.linker.LinkerServices;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import java.util.List;
/**
 * å¼•用码段,参照配置界面,显示的属性配置表(CodeShowFieldConfig)表服务接口
@@ -10,7 +15,7 @@
 * @author ludc
 * @since 2023-05-19 17:58:56
 */
public interface CodeShowFieldConfigService {
public interface CodeShowFieldConfigService extends IService<CodeShowFieldConfig> {
    /**
     * é€šè¿‡ID查询单条数据
@@ -21,21 +26,20 @@
    CodeShowFieldConfig queryById(String oid);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param codeShowFieldConfig ç­›é€‰æ¡ä»¶
     * @param pageRequest      åˆ†é¡µå¯¹è±¡
     * @return æŸ¥è¯¢ç»“æžœ
     */
    Page<CodeShowFieldConfig> queryByPage(CodeShowFieldConfig codeShowFieldConfig, PageRequest pageRequest);
    /**
     * æ–°å¢žæ•°æ®
     *
     * @param codeShowFieldConfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeShowFieldConfig insert(CodeShowFieldConfig codeShowFieldConfig);
    boolean insert(CodeShowFieldConfig codeShowFieldConfig);
    /**
     * æ‰¹é‡æ–°å¢žæ•°æ®
     *
     * @param codeShowFieldConfigVOS å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    boolean insertBatch(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS);
    /**
     * ä¿®æ”¹æ•°æ®
@@ -43,14 +47,30 @@
     * @param codeShowFieldConfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeShowFieldConfig update(CodeShowFieldConfig codeShowFieldConfig);
    boolean update(CodeShowFieldConfig codeShowFieldConfig);
    /**
     * æ‰¹é‡ä¿®æ”¹æ•°æ®
     *
     * @param codeShowFieldConfigVOS å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    boolean updateBatch(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS);
    /**
     * é€šè¿‡ä¸»é”®åˆ é™¤æ•°æ®
     *
     * @param oid ä¸»é”®
     * @return æ˜¯å¦æˆåŠŸ
     */
    boolean deleteById(String oid);
    /**
     * é€šè¿‡ä¸»é”®åˆ é™¤æ•°æ®
     * é€šè¿‡å…³è”的参照配置主键删除数据
     *
     * @param oid ä¸»é”®
     * @param oid
     * @return æ˜¯å¦æˆåŠŸ
     */
    boolean deleteById(String oid);
    boolean deleteByReferConfigOid(String oid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeSrchCondConfigService.java
@@ -1,10 +1,15 @@
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.CodeShowFieldConfig;
import com.vci.ubcs.code.entity.CodeSrchCondConfig;
import com.vci.ubcs.code.entity.CodeSrchCondConfig;
import com.vci.ubcs.code.service.impl.CodeSrchCondConfigServiceImpl;
import com.vci.ubcs.code.vo.CodeSrchCondConfigVO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import java.util.List;
/**
 * å¼•用码段,参照配置界面,查询条件配置表(CodeSrchCondConfig)表服务接口
@@ -12,7 +17,7 @@
 * @author ludc
 * @since 2023-05-19 17:58:56
 */
public interface CodeSrchCondConfigService {
public interface CodeSrchCondConfigService extends IService<CodeSrchCondConfig> {
    /**
     * é€šè¿‡ID查询单条数据
@@ -37,7 +42,15 @@
     * @param codeSrchCondConfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeSrchCondConfig insert(CodeSrchCondConfig codeSrchCondConfig);
    boolean insert(CodeSrchCondConfig codeSrchCondConfig);
    /**
     * æ‰¹é‡æ–°å¢žæ•°æ®
     *
     * @param codeSrchCondConfigVOS å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    boolean insertBatch(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS);
    /**
     * ä¿®æ”¹æ•°æ®
@@ -45,7 +58,15 @@
     * @param codeSrchCondConfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeSrchCondConfig update(CodeSrchCondConfig codeSrchCondConfig);
    boolean update(CodeSrchCondConfig codeSrchCondConfig);
    /**
     * æ‰¹é‡â€”—修改数据
     *
     * @param codeSrchCondConfigVOS å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    boolean updateBatch(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS);
    /**
     * é€šè¿‡ä¸»é”®åˆ é™¤æ•°æ®
@@ -55,4 +76,12 @@
     */
    boolean deleteById(String oid);
    /**
     * é€šè¿‡å…³è”的参照配置id删除数据
     *
     * @param oid å‚照配置主键
     * @return æ˜¯å¦æˆåŠŸ
     */
    boolean deleteByReferConfigOid(String oid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyProcessTempServiceImpl.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.dto.CodeClassifyProcessTempDTO;
import com.vci.ubcs.code.entity.CodeClassifyProcessTemp;
@@ -34,6 +35,7 @@
import java.util.stream.Collectors;
import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*;
import static jodd.util.StringUtil.isBlank;
/**
 * åˆ†ç±»ä½¿ç”¨çš„æµç¨‹æ¨¡æ¿æœåŠ¡æŽ¥å£
@@ -324,6 +326,7 @@
        return false;
    }
    /**
     * ä¸»é”®æŸ¥è¯¢æ•°æ®å¯¹è±¡
     * @param oid ä¸»é”®
@@ -366,7 +369,7 @@
    @Override
    public int codeTemplateDeleteTrigger(String classifyTemplateOid) {
        int updateCount = 0;
        if(com.alibaba.nacos.api.utils.StringUtils.isBlank(classifyTemplateOid)){
        if(isBlank(classifyTemplateOid)){
            Map<String,Object> conditionMap = new HashMap<>();
            conditionMap.put("classifyTemplateOid",classifyTemplateOid);
            List<CodeClassifyProcessTemp> codeClsflowtempEntities = baseMapper.selectByMap(conditionMap);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -25,7 +25,6 @@
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.core.log.exception.ServiceException;
import com.vci.ubcs.starter.bo.WriteExcelData;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.poi.bo.ReadExcelOption;
@@ -35,6 +34,7 @@
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.BladeTreeQueryObject;
import com.vci.ubcs.starter.util.LocalFileUtil;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import com.vci.ubcs.starter.web.pagemodel.DataGrid;
@@ -46,9 +46,11 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -74,10 +76,14 @@
    @Resource
    private CodeOsbtmtypeMapper codeOsbtmtypeMapper;
    @Resource
    CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper;
    private CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper;
    @Resource
    ICodeRuleService ICodeRuleService;
    private IBtmTypeClient btmTypeClient;
    /**
     * æ—¥å¿—
@@ -508,8 +514,7 @@
        return null;
    }
//    /**
    //    /**
//     * æ ¹æ®æ ‘形查询对象来查询数据对象
//     *
//     * @param treeQueryObject æ ‘形查询对象
@@ -1000,7 +1005,7 @@
     * @throws VciBaseException å‚数为空,数据不存在时会抛出异常
     */
    @Override
    public  CodeClassifyVO getObjectByOid(String oid) throws VciBaseException{
    public CodeClassifyVO getObjectByOid(String oid) throws VciBaseException{
        return codeClassifyDO2VO(selectByOid(oid));
    }
@@ -1021,7 +1026,7 @@
    }
    /**
     * ä¸»é¢˜åº“的树
     * ä¸»é¢˜åº“的树,已经联调业务类型查询
     *
     * @param treeQueryObject æ ‘形查询对象
     * @return ä¸»é¢˜åº“显示树
@@ -1032,10 +1037,20 @@
            treeQueryObject = new TreeQueryObject();
        }
        if(treeQueryObject.getConditionMap() == null){
            treeQueryObject.setConditionMap(new HashMap<>());
            treeQueryObject.setConditionMap(new HashMap<String,String>());
        }
        treeQueryObject.getConditionMap().put(PARENT_FIELD_NAME, "=null");
        return treeCodeClassify(treeQueryObject);
        List<Tree> trees = treeCodeClassify(treeQueryObject);
        treeQueryObject.getConditionMap().put("domain", AppConstant.APPLICATION_NAME_CODE);
        BaseQueryObject baseQueryObject = new BaseQueryObject();
        baseQueryObject.setConditionMap(treeQueryObject.getConditionMap());
        List<BtmTypeVO> btmTypeVOS = btmTypeClient.getRef(baseQueryObject).getData();
        if(Func.isEmpty(btmTypeVOS) || Func.isEmpty(trees)){
            return null;
        }
        List<Tree> treeList = trees.stream().filter(tree -> btmTypeVOS.stream().
            anyMatch(btmType -> Objects.equals(tree.getAttributes().get("id"), btmType.getId()))).collect(Collectors.toList());
        return treeList;
    }
    /**
@@ -1121,4 +1136,5 @@
        wrapper.eq("parentCodeClassifyOid",codeClassifyOid);
        return codeClassifyMapper.selectCount(wrapper).intValue();
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
@@ -1,28 +1,55 @@
package com.vci.ubcs.code.service.impl;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.entity.CodeShowFieldConfig;
import com.vci.ubcs.code.entity.CodeSrchCondConfig;
import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.dto.CodeClassifyProcessTempDTO;
import com.vci.ubcs.code.dto.CodeReferConfigDTO;
import com.vci.ubcs.code.entity.*;
import com.vci.ubcs.code.mapper.CodeReferConfigMapper;
import com.vci.ubcs.code.mapper.CodeShowFieldConfigMapper;
import com.vci.ubcs.code.service.CodeReferConfigService;
import com.vci.ubcs.code.service.CodeShowFieldConfigService;
import com.vci.ubcs.code.service.CodeSrchCondConfigService;
import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.code.wrapper.CodeClassifyProcessTempWrapper;
import com.vci.ubcs.code.wrapper.CodeReferConfigWraper;
import com.vci.ubcs.code.wrapper.CodeShowFieldConfigWraper;
import com.vci.ubcs.code.wrapper.CodeSrchCondConfigWraper;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.Map2MPJLambdaUtil;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springframework.cglib.beans.BeanMap;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.TS_NOT_PROCESS;
/**
 * å‚照配置表(CodeReferconfig)表服务实现类
@@ -31,9 +58,16 @@
 * @since 2023-05-19 17:48:02
 */
@Service("CodeReferconfigService")
public class CodeReferConfigServiceImpl extends ServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements CodeReferConfigService {
public class CodeReferConfigServiceImpl extends MPJBaseServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements CodeReferConfigService {
    @Resource
    private CodeReferConfigMapper codeReferconfigMapper;
    @Resource
    private CodeShowFieldConfigService codeShowFieldConfigService;
    @Resource
    private CodeSrchCondConfigService codeSrchCondConfigService;
    /**
     * é€šè¿‡ID查询单条数据
@@ -42,61 +76,170 @@
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    public CodeReferConfig queryById(String oid) {
        return this.codeReferconfigMapper.queryById(oid);
    public CodeReferConfigVO queryById(String oid) {
        CodeReferConfig codeReferConfig = this.codeReferconfigMapper.selectJoinOne(CodeReferConfig.class, this.getMPJLambdaWrapper().eq(CodeReferConfig::getOid, oid));
        return CodeReferConfigWraper.build().entityVO(codeReferConfig);
    }
    /**
    @Override
    public IPage<CodeReferConfigVO> queryByJoinPage(BladeQueryObject bladeQueryObject) {
        CodeReferConfig codeReferConfig = new CodeReferConfig();
        // æ ¹æ®ç§Ÿæˆ·è¿›è¡ŒåŒºåˆ†å¯¹åº”的参照配置
        Map<String, Object> conditionMap = bladeQueryObject.getConditionMap();
        conditionMap.put("tenantId",AuthUtil.getTenantId());
        BeanMap beanMap = BeanMap.create(codeReferConfig);
        beanMap.putAll(conditionMap);
        // æ·»åŠ é»˜è®¤æŽ’åºå­—æ®µ,根据时间进行排序
        Query query = bladeQueryObject.getQuery();
        query.setAscs("CREATETIME");
        IPage<CodeReferConfig> codeReferConfigs = codeReferconfigMapper.selectJoinPage(codeReferConfig, Condition.getPage(query));
        return CodeReferConfigWraper.build().pageVO(codeReferConfigs);
    }
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param bladeQueryObject ç­›é€‰æ¡ä»¶
     * @param codeReferConfigVO ç­›é€‰æ¡ä»¶
     * @return æŸ¥è¯¢ç»“æžœ
     */
    @Override
    public IPage<CodeReferConfigVO> queryByPage(BladeQueryObject bladeQueryObject) {
        MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = Map2MPJLambdaUtil.getMPJLambdaWrapper(bladeQueryObject.getConditionMap(), CodeReferConfig.class)
            .selectAll(CodeReferConfig.class)
            .selectCollection("PCS",CodeShowFieldConfig.class, CodeReferConfig::getCodeShowFieldConfigs)
            .selectCollection("PCSR",CodeSrchCondConfig.class, CodeReferConfig::getCodeSrchCondConfigs)
            .leftJoin(CodeShowFieldConfig.class, CodeShowFieldConfig::getReferConfigOid,CodeReferConfig::getOid)
            .leftJoin(CodeSrchCondConfig.class, CodeSrchCondConfig::getReferConfigOid, CodeReferConfig::getOid)
    public List<CodeReferConfigVO> queryByList(CodeReferConfigVO codeReferConfigVO) {
        codeReferConfigVO.setTenantId(AuthUtil.getTenantId());
        //MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = Map2MPJLambdaUtil.getMPJLambdaWrapper(bladeQueryObject.getConditionMap(), CodeReferConfig.class)
        MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = getMPJLambdaWrapper()
            .setEntity(codeReferConfigVO)
            .orderBy(true, true, CodeReferConfig::getCreateTime);
        IPage<CodeReferConfig> codeReferConfigIPage = this.codeReferconfigMapper.selectPage(Condition.getPage(bladeQueryObject.getQuery()), mpjLambdaWrapper);
        return CodeReferConfigWraper.build().pageVO(codeReferConfigIPage);
        List<CodeReferConfig> codeReferConfigList = codeReferconfigMapper.selectJoinList(CodeReferConfig.class, mpjLambdaWrapper);
        return CodeReferConfigWraper.build().listVO(codeReferConfigList);
    }
    /**
     * æ–°å¢žæ•°æ®
     *
     * @param codeReferConfig å®žä¾‹å¯¹è±¡
     * @param codeReferConfigVO å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    public CodeReferConfig insert(CodeReferConfig codeReferConfig) {
        this.codeReferconfigMapper.insert(codeReferConfig);
        return codeReferConfig;
    @Transactional(rollbackFor = Exception.class)
    public R insert(CodeReferConfigVO codeReferConfigVO) {
        VciBaseUtil.alertNotNull(codeReferConfigVO,"需要添加的数据对象");
        if (StringUtils.isBlank(codeReferConfigVO.getReferType())){
            throw new VciBaseException("参照配置不能为空");
        }
        Long count = countCodeReferConfig(codeReferConfigVO);
        if(count > 0){
            throw new VciBaseException("已存在相同的参照配置");
        }
        CodeReferConfig CodeReferConfig = Objects.requireNonNull(BeanUtil.copy(codeReferConfigVO, CodeReferConfig.class));
        boolean resInsertReferConfig = this.codeReferconfigMapper.insert(CodeReferConfig) > 0;
        if (!resInsertReferConfig) {
            return R.fail("新增参照配置失败!");
        }
        codeShowFieldConfigService.insertBatch(codeReferConfigVO.getCodeShowFieldConfigVOS());
        codeSrchCondConfigService.insertBatch(codeReferConfigVO.getCodeSrchCondConfigVOS());
        return R.data(codeReferConfigVO);
    }
    /**
     * èŽ·å–å·²å­˜åœ¨çš„å‚ç…§é…ç½®
     * @param codeReferConfigVO
     * @return ä¸ªæ•°
     */
    private Long countCodeReferConfig(CodeReferConfigVO codeReferConfigVO) {
        String templateName = codeReferConfigVO.getName();
        if (StringUtils.isBlank(templateName)){
            throw new VciBaseException("参照配置名称不能为空");
        }
        LambdaQueryWrapper<CodeReferConfig> wrapper = Wrappers.<CodeReferConfig>query()
            .lambda().eq(CodeReferConfig::getId, codeReferConfigVO.getId())
            .eq(CodeReferConfig::getTenantId, codeReferConfigVO.getTenantId());
        Long count = codeReferconfigMapper.selectCount(wrapper);
        return count;
    }
    /**
     * è¿žè¡¨æŸ¥è¯¢Wrapper对象获取
     * @return
     */
    private MPJLambdaWrapper<CodeReferConfig> getMPJLambdaWrapper(){
        MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = new MPJLambdaWrapper<>(CodeReferConfig.class)
            .selectAll(CodeReferConfig.class)
            //            .select(CodeShowFieldConfig::getField
//                ,CodeShowFieldConfig::getTitle
//                ,CodeShowFieldConfig::getFieldType
//                ,CodeShowFieldConfig::getSort
//                ,CodeShowFieldConfig::getAttrSortField
//                ,CodeShowFieldConfig::getWidth
//                ,CodeShowFieldConfig::getFixedPosition
//                ,CodeShowFieldConfig::getTemplet)
//            .select(
//                CodeSrchCondConfig::getFilterType,
//                CodeSrchCondConfig::getFilterField,
//                CodeSrchCondConfig::getFilterValue)
            .selectCollection(CodeShowFieldConfig.class, CodeReferConfig::getCodeShowFieldConfigs)
            .selectCollection(CodeSrchCondConfig.class, CodeReferConfig::getCodeSrchCondConfigs)
            .leftJoin(CodeShowFieldConfig.class, CodeShowFieldConfig::getReferConfigOid,CodeReferConfig::getOid)
            .leftJoin(CodeSrchCondConfig.class, CodeSrchCondConfig::getReferConfigOid, CodeReferConfig::getOid);
        return mpjLambdaWrapper;
    }
    /**
     * ä¿®æ”¹æ•°æ®
     *
     * @param codeReferConfig å®žä¾‹å¯¹è±¡
     * @param codeReferConfigVO å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    public CodeReferConfig update(CodeReferConfig codeReferConfig) {
        this.codeReferconfigMapper.updateById(codeReferConfig);
        return this.queryById(codeReferConfig.getOid());
    @Transactional(rollbackFor = Exception.class)
    public R update(CodeReferConfigVO codeReferConfigVO) {
        boolean resUpdateReferConfig = this.codeReferconfigMapper.updateById(codeReferConfigVO) > 0;
        if (!resUpdateReferConfig) {
            return R.fail("参照配置修改失败!");
        }
        this.codeShowFieldConfigService.updateBatch(codeReferConfigVO.getCodeShowFieldConfigVOS());
        this.codeSrchCondConfigService.updateBatch(codeReferConfigVO.getCodeSrchCondConfigVOS());
        return R.data(codeReferConfigVO);
    }
    /**
     * é€šè¿‡ä¸»é”®åˆ é™¤æ•°æ®
     *
     * @param oid ä¸»é”®
     * @param codeReferConfigDTO
     * @return æ˜¯å¦æˆåŠŸ
     */
    @Override
    public boolean deleteById(String oid) {
        return this.codeReferconfigMapper.deleteById(oid) > 0;
    @Transactional(rollbackFor = Exception.class)
    public R deleteById(CodeReferConfigDTO codeReferConfigDTO) {
        CodeReferConfig tsDO = new CodeReferConfig();
        BeanUtil.copyProperties(tsDO,codeReferConfigDTO);
        CodeReferConfig codeReferConfig = codeReferconfigMapper.queryById(codeReferConfigDTO.getOid());
        // æ£€æŸ¥ts字段是否一致
        if (!checkTs(tsDO,codeReferConfig)) {
            return R.fail(TS_NOT_PROCESS);
        }
        boolean resDeleteReferConfig = this.codeReferconfigMapper.deleteById(codeReferConfigDTO.getOid()) > 0;
        if (!resDeleteReferConfig) {
            return R.fail("参照配置删除失败!");
        }
        this.codeShowFieldConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
        this.codeSrchCondConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
        return  R.status(resDeleteReferConfig);
    }
    /**
     * æ£€æŸ¥ts
     * @param tempDO
     * @param codeReferConfig
     * @return
     */
    private boolean checkTs(CodeReferConfig tempDO, CodeReferConfig codeReferConfig){
        Date dbTs = codeReferConfig.getTs();
        Date currentTs = tempDO.getTs();
        if(currentTs == null ?  dbTs == null:currentTs.compareTo(dbTs)==0){
            return true;
        }
        return false;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeShowFieldConfigServiceImpl.java
@@ -1,14 +1,23 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.CodeShowFieldConfig;
import com.vci.ubcs.code.mapper.CodeShowFieldConfigMapper;
import com.vci.ubcs.code.service.CodeShowFieldConfigService;
import com.vci.ubcs.code.vo.CodeShowFieldConfigVO;
import com.vci.ubcs.code.wrapper.CodeShowFieldConfigWraper;
import org.springblade.core.mp.support.Query;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
 * å¼•用码段,参照配置界面,显示的属性配置表(CodeShowFieldConfigService)表服务实现类
@@ -17,7 +26,7 @@
 * @since 2023-05-19 17:58:56
 */
@Service("CodeShowFieldConfigService")
public class CodeShowFieldConfigServiceImpl implements CodeShowFieldConfigService {
public class CodeShowFieldConfigServiceImpl extends ServiceImpl<CodeShowFieldConfigMapper,CodeShowFieldConfig> implements CodeShowFieldConfigService {
    @Resource
    private CodeShowFieldConfigMapper codeShowFieldConfigMapper;
@@ -34,43 +43,43 @@
    }
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param codeShowFieldConfig ç­›é€‰æ¡ä»¶
     * @param pageRequest      åˆ†é¡µå¯¹è±¡
     * @return æŸ¥è¯¢ç»“æžœ
     */
    @Override
    public Page<CodeShowFieldConfig> queryByPage(CodeShowFieldConfig codeShowFieldConfig, PageRequest pageRequest) {
        long total = this.codeShowFieldConfigMapper.count(codeShowFieldConfig);
        return new PageImpl<>(this.codeShowFieldConfigMapper.queryAllByLimit(codeShowFieldConfig, pageRequest), pageRequest, total);
    }
    /**
     * æ–°å¢žæ•°æ®
     *
     * @param codeShowFieldConfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    public CodeShowFieldConfig insert(CodeShowFieldConfig codeShowFieldConfig) {
        this.codeShowFieldConfigMapper.insert(codeShowFieldConfig);
        return codeShowFieldConfig;
    public boolean insert(CodeShowFieldConfig codeShowFieldConfig) {
        return this.codeShowFieldConfigMapper.insert(codeShowFieldConfig)>0;
    }
    /**
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean insertBatch(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS) {
        List<CodeShowFieldConfig> codeShowFieldConfigs = CodeShowFieldConfigWraper.build().listDO(codeShowFieldConfigVOS);
        boolean b = this.saveOrUpdateBatch(codeShowFieldConfigs);
        return b;
    }
    /**
     * ä¿®æ”¹æ•°æ®
     *
     * @param codeShowFieldConfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    public CodeShowFieldConfig update(CodeShowFieldConfig codeShowFieldConfig) {
        this.codeShowFieldConfigMapper.update(codeShowFieldConfig);
        return this.queryById(codeShowFieldConfig.getOid());
    @Transactional(rollbackFor = Exception.class)
    public boolean update(CodeShowFieldConfig codeShowFieldConfig) {
        return this.codeShowFieldConfigMapper.update(codeShowFieldConfig)>0;
    }
    /**
    @Override
    public boolean updateBatch(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS) {
        List<CodeShowFieldConfig> codeShowFieldConfigs = CodeShowFieldConfigWraper.build().listDO(codeShowFieldConfigVOS);
        return this.saveOrUpdateBatch(codeShowFieldConfigs);
    }
    /**
     * é€šè¿‡ä¸»é”®åˆ é™¤æ•°æ®
     *
     * @param oid ä¸»é”®
@@ -80,4 +89,13 @@
    public boolean deleteById(String oid) {
        return this.codeShowFieldConfigMapper.deleteById(oid) > 0;
    }
    @Override
    public boolean deleteByReferConfigOid(String oid) {
        LambdaQueryWrapper<CodeShowFieldConfig> lambdaQueryWrapper = Wrappers.<CodeShowFieldConfig>query()
            .lambda()
            .eq(CodeShowFieldConfig::getReferConfigOid, oid);
        return this.codeShowFieldConfigMapper.delete(lambdaQueryWrapper) > 0;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSrchCondConfigServiceImpl.java
@@ -1,14 +1,28 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.CodeShowFieldConfig;
import com.vci.ubcs.code.entity.CodeSrchCondConfig;
import com.vci.ubcs.code.mapper.CodeShowFieldConfigMapper;
import com.vci.ubcs.code.mapper.CodeSrchCondConfigMapper;
import com.vci.ubcs.code.service.CodeSrchCondConfigService;
import com.vci.ubcs.code.vo.CodeSrchCondConfigVO;
import com.vci.ubcs.code.wrapper.CodeSrchCondConfigWraper;
import org.apache.cxf.endpoint.ServerImpl;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
/**
 * å¼•用码段,参照配置界面,查询条件配置表(CodeSrchCondConfigService)表服务实现类
@@ -17,7 +31,7 @@
 * @since 2023-05-19 17:58:56
 */
@Service("CodeSrchCondConfigService")
public class CodeSrchCondConfigServiceImpl implements CodeSrchCondConfigService {
public class CodeSrchCondConfigServiceImpl extends ServiceImpl<CodeSrchCondConfigMapper, CodeSrchCondConfig> implements CodeSrchCondConfigService {
    @Resource
    private CodeSrchCondConfigMapper codeSrchcondconfigMapper;
@@ -53,24 +67,34 @@
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    public CodeSrchCondConfig insert(CodeSrchCondConfig codeSrchcondconfig) {
        this.codeSrchcondconfigMapper.insert(codeSrchcondconfig);
        return codeSrchcondconfig;
    public boolean insert(CodeSrchCondConfig codeSrchcondconfig) {
        return this.codeSrchcondconfigMapper.insert(codeSrchcondconfig)>0;
    }
    /**
    @Override
    public boolean insertBatch(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS) {
        List<CodeSrchCondConfig> codeSrchCondConfigs = CodeSrchCondConfigWraper.build().listDO(codeSrchCondConfigVOS);
        return this.saveOrUpdateBatch(codeSrchCondConfigs);
    }
    /**
     * ä¿®æ”¹æ•°æ®
     *
     * @param codeSrchcondconfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    public CodeSrchCondConfig update(CodeSrchCondConfig codeSrchcondconfig) {
        this.codeSrchcondconfigMapper.update(codeSrchcondconfig);
        return this.queryById(codeSrchcondconfig.getOid());
    public boolean update(CodeSrchCondConfig codeSrchcondconfig) {
        return this.codeSrchcondconfigMapper.update(codeSrchcondconfig)>0;
    }
    /**
    @Override
    public boolean updateBatch(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS) {
        List<CodeSrchCondConfig> codeSrchCondConfigs = CodeSrchCondConfigWraper.build().listDO(codeSrchCondConfigVOS);
        return this.saveOrUpdateBatch(codeSrchCondConfigs);
    }
    /**
     * é€šè¿‡ä¸»é”®åˆ é™¤æ•°æ®
     *
     * @param oid ä¸»é”®
@@ -80,4 +104,13 @@
    public boolean deleteById(String oid) {
        return this.codeSrchcondconfigMapper.deleteById(oid) > 0;
    }
    @Override
    public boolean deleteByReferConfigOid(String oid) {
        LambdaQueryWrapper<CodeSrchCondConfig> lambdaQueryWrapper = Wrappers.<CodeSrchCondConfig>query()
            .lambda()
            .eq(CodeSrchCondConfig::getReferConfigOid, oid);
        return this.codeSrchcondconfigMapper.delete(lambdaQueryWrapper) > 0;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreApplyFormServiceImpl.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrRangeServiceImpl.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -20,12 +20,12 @@
import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultClassfyVO;
import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO;
import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultSystemVO;
import com.vci.ubcs.code.webService.annotation.VciWebservice;
import com.vci.ubcs.code.webService.config.AttributeMapConfig;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.web.pagemodel.SessionInfo;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.webservice.annotation.VciWebservice;
import com.vci.ubcs.webservice.config.AttributeMapConfig;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/gennerAttrMapUtil.java
@@ -4,8 +4,8 @@
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.vci.ubcs.code.vo.webserviceModel.attrmap.LibraryDO;
import com.vci.ubcs.code.webService.config.AttributeMapConfig;
import com.vci.ubcs.starter.util.LocalFileUtil;
import com.vci.ubcs.webservice.config.AttributeMapConfig;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Map;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/WsClientUtil.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/webservice/WsClientUtil.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
/*
package com.vci.ubcs.code.webService;/*
package com.vci.ubcs.webservice;
import org.apache.axiom.om.OMAbstractFactory;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/annotation/VciWebservice.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/webservice/annotation/VciWebservice.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.webservice.annotation;
package com.vci.ubcs.code.webService.annotation;
import org.springframework.core.annotation.AliasFor;
import org.springframework.stereotype.Component;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/AttributeMapConfig.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/webservice/config/AttributeMapConfig.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.webservice.config;
package com.vci.ubcs.code.webService.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/VciCxfPublishConfig.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/webservice/config/VciCxfPublishConfig.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
package com.vci.ubcs.webservice.config;
package com.vci.ubcs.code.webService.config;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.vci.ubcs.code.webService.annotation.VciWebservice;
import com.vci.ubcs.starter.web.util.ApplicationContextProvider;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.webservice.annotation.VciWebservice;
import lombok.extern.slf4j.Slf4j;
import org.apache.cxf.Bus;
import org.apache.cxf.jaxws.EndpointImpl;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeReferConfigWraper.java
@@ -1,12 +1,13 @@
package com.vci.ubcs.code.wrapper;
import com.vci.ubcs.code.entity.CodePhaseAttr;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.enumpack.CodeReferConfigTypeEnum;
import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.code.vo.pagemodel.CodePhaseAttrVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import java.util.List;
import java.util.Objects;
/**
@@ -17,7 +18,6 @@
 */
public class CodeReferConfigWraper extends BaseEntityWrapper<CodeReferConfig, CodeReferConfigVO> {
    public static CodeReferConfigWraper build() {
        return new CodeReferConfigWraper();
    }
@@ -25,11 +25,16 @@
    @Override
    public CodeReferConfigVO entityVO(CodeReferConfig codeReferConfig) {
        CodeReferConfigVO codeReferConfigVO = Objects.requireNonNull(BeanUtil.copy(codeReferConfig, CodeReferConfigVO.class));
        codeReferConfigVO.setTypeText(CodeReferConfigTypeEnum.getTextByValue(codeReferConfig.getType()));
        if(Func.isNotEmpty(codeReferConfig.getCodeSrchCondConfigs())){
            codeReferConfigVO.setCodeSrchCondConfigVOS(CodeSrchCondConfigWraper.build().listVO(codeReferConfig.getCodeSrchCondConfigs()));
        }
        if(Func.isNotEmpty(codeReferConfig.getCodeShowFieldConfigs())){
            codeReferConfigVO.setCodeShowFieldConfigVOS(CodeShowFieldConfigWraper.build().listVO(codeReferConfig.getCodeShowFieldConfigs()));
        }
        codeReferConfigVO.setCodeShowFieldConfigs(null);
        codeReferConfigVO.setCodeSrchCondConfigs(null);
        return codeReferConfigVO;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeShowFieldConfigWraper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
package com.vci.ubcs.code.wrapper;
import com.vci.ubcs.code.entity.CodeShowFieldConfig;
import com.vci.ubcs.code.entity.CodeSrchCondConfig;
import com.vci.ubcs.code.enumpack.CodeReferConfigFieldTypeEnum;
import com.vci.ubcs.code.enumpack.CodeReferConfigFixedEnum;
import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.code.vo.CodeShowFieldConfigVO;
import com.vci.ubcs.code.vo.CodeSrchCondConfigVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * @author ludc
 * @date 2023/5/24 13:13
 */
public class CodeShowFieldConfigWraper extends BaseEntityWrapper<CodeShowFieldConfig, CodeShowFieldConfigVO>{
    public static CodeShowFieldConfigWraper build() {
        return new CodeShowFieldConfigWraper();
    }
    @Override
    public CodeShowFieldConfigVO entityVO(CodeShowFieldConfig codeShowFieldConfig) {
        CodeShowFieldConfigVO codeShowFieldConfigVO = Objects.requireNonNull(BeanUtil.copy(codeShowFieldConfig, CodeShowFieldConfigVO.class));
        codeShowFieldConfigVO.setFieldTypeText(CodeReferConfigFieldTypeEnum.getTextByValue(codeShowFieldConfig.getField()));
        codeShowFieldConfigVO.setFixedPositionText(CodeReferConfigFixedEnum.getTextByValue(codeShowFieldConfig.getFixedPosition()));
        return codeShowFieldConfigVO;
    }
    public CodeShowFieldConfig entityDO(CodeShowFieldConfigVO codeShowFieldConfigVO) {
        CodeShowFieldConfig codeShowFieldConfig = Objects.requireNonNull(BeanUtil.copy(codeShowFieldConfigVO, CodeShowFieldConfig.class));
        codeShowFieldConfig.setFieldType(CodeReferConfigFieldTypeEnum.getTextByValue(codeShowFieldConfigVO.getFieldTypeText()));
        codeShowFieldConfig.setFixedPosition(CodeReferConfigFieldTypeEnum.getTextByValue(codeShowFieldConfigVO.getFixedPositionText()));
        return codeShowFieldConfig;
    }
    public List<CodeShowFieldConfig> listDO(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS) {
        return (List)codeShowFieldConfigVOS.stream().map(this::entityDO).collect(Collectors.toList());
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeSrchCondConfigWraper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package com.vci.ubcs.code.wrapper;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.entity.CodeShowFieldConfig;
import com.vci.ubcs.code.entity.CodeSrchCondConfig;
import com.vci.ubcs.code.enumpack.CodeReferConfigFieldTypeEnum;
import com.vci.ubcs.code.enumpack.CodeReferConfigFilterTypeEnum;
import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.code.vo.CodeShowFieldConfigVO;
import com.vci.ubcs.code.vo.CodeSrchCondConfigVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * @author ludc
 * @date 2023/5/24 13:13
 */
public class CodeSrchCondConfigWraper extends BaseEntityWrapper<CodeSrchCondConfig, CodeSrchCondConfigVO> {
    public static CodeSrchCondConfigWraper build() {
        return new CodeSrchCondConfigWraper();
    }
    @Override
    public CodeSrchCondConfigVO entityVO(CodeSrchCondConfig codeSrchCondConfig) {
        CodeSrchCondConfigVO codeSrchCondConfigVO = Objects.requireNonNull(BeanUtil.copy(codeSrchCondConfig, CodeSrchCondConfigVO.class));
        codeSrchCondConfigVO.setFilterTypeText(CodeReferConfigFilterTypeEnum.getTextByValue(codeSrchCondConfig.getFilterType()));
        return codeSrchCondConfigVO;
    }
    public CodeSrchCondConfig entityDO(CodeSrchCondConfigVO codeSrchCondConfigVO) {
        CodeSrchCondConfig codeSrchCondConfig = Objects.requireNonNull(BeanUtil.copy(codeSrchCondConfigVO, CodeSrchCondConfig.class));
        codeSrchCondConfig.setFilterType(CodeReferConfigFieldTypeEnum.getTextByValue(codeSrchCondConfigVO.getFilterTypeText()));
        return codeSrchCondConfig;
    }
    public List<CodeSrchCondConfig> listDO(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS) {
        return (List)codeSrchCondConfigVOS.stream().map(this::entityDO).collect(Collectors.toList());
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/application-dev.yml
@@ -12,10 +12,6 @@
mybatis-plus:
  configuration:
    map-underscore-to-camel-case: false
docking:
  apply:
    jtInterUrl: http://116.205.176.185:8099
    unitCode: 410-MDM
######应用基本配置
#app:
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeReferConfigMapper.xml
@@ -46,153 +46,118 @@
        <result property="parentValue" column="PARENTVALUE" jdbcType="VARCHAR"/>
        <result property="loadType" column="LOADTYPE" jdbcType="VARCHAR"/>
        <result property="onlyLeaf" column="ONLYLEAF" jdbcType="VARCHAR"/>
        <collection property="codeShowFieldConfigs" select="selectShowFieldByReferConfigOid" column="OID" javaType="java.util.ArrayList" ofType="com.vci.ubcs.code.entity.CodeShowFieldConfig">
            <result property="field" column="FIELD"/>
            <result property="title" column="TITLE"/>
            <result property="fieldType" column="FIELDTYPE"/>
            <result property="sort" column="SORT"/>
            <result property="attrSortField" column="ATTRSORTFIELD"/>
            <result property="width" column="WIDTH"/>
            <result property="fixedPosition" column="FIXEDPOSITION"/>
            <result property="templet" column="TEMPLET"/>
        </collection>
        <collection property="codeSrchCondConfigs" select="selectSrchCondByReferConfigOid" column="OID" javaType="java.util.ArrayList" ofType="com.vci.ubcs.code.entity.CodeSrchCondConfig">
            <result property="filterField" column="FILTERFIELD"/>
            <result property="filterType" column="FILTERTYPE"/>
            <result property="filterValue" column="FILTERVALUE"/>
        </collection>
    </resultMap>
    <!--查询单个-->
    <select id="queryById" resultMap="CodeReferconfigMap">
        select
          OID, REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, REFERTYPE, TEXTFIELD, VALUEFIELD, TYPE, URL, BACKPATH, METHOD, HEIGHT, PARAMFORFORMKEY, ISMUTI, MAPFIELDS, REFERCONTENT, DISPLAYTABLE, LIMIT, SORTFIELD, SORTTYPE, PARENTFIELDNAME, PARENTUSEDFIELD, PARENTVALUE, LOADTYPE, ONLYLEAF
        select OID,
               REVISIONOID,
               NAMEOID,
               BTMNAME,
               LASTR,
               FIRSTR,
               LASTV,
               FIRSTV,
               CREATOR,
               CREATETIME,
               REVISIONSEQ,
               REVISIONVALUE,
               VERSIONSEQ,
               VERSIONVALUE,
               LCTID,
               LCSTATUS,
               TS,
               NAME,
               DESCRIPTION,
               OWNER,
               COPYFROMVERSION,
               ORDERNUM,
               REFERTYPE,
               TEXTFIELD,
               VALUEFIELD,
               TYPE,
               URL,
               BACKPATH,
               METHOD,
               HEIGHT,
               PARAMFORFORMKEY,
               ISMUTI,
               MAPFIELDS,
               REFERCONTENT,
               DISPLAYTABLE,
               LIMIT,
               SORTFIELD,
               SORTTYPE,
               PARENTFIELDNAME,
               PARENTUSEDFIELD,
               PARENTVALUE,
               LOADTYPE,
               ONLYLEAF
        from PL_CODE_REFERCONFIG
        where OID = #{oid}
    </select>
    <!--查询指定行数据-->
    <select id="queryAllByPage" resultMap="CodeReferconfigMap">
        select
          OID, REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, REFERTYPE, TEXTFIELD, VALUEFIELD, TYPE, URL, BACKPATH, METHOD, HEIGHT, PARAMFORFORMKEY, ISMUTI, MAPFIELDS, REFERCONTENT, DISPLAYTABLE, LIMIT, SORTFIELD, SORTTYPE, PARENTFIELDNAME, PARENTUSEDFIELD, PARENTVALUE, LOADTYPE, ONLYLEAF
        from PL_CODE_REFERCONFIG
    <select id="selectJoinPage" resultMap="CodeReferconfigMap">
        SELECT
            PCR.*
        FROM PL_CODE_REFERCONFIG PCR
        <where>
            <if test="oid != null and oid != ''">
                and OID = #{oid}
            <if test="codeReferConfig.tenantId != null and codeReferConfig.tenantId != ''">
                PCR.TENANTID = #{codeReferConfig.tenantId}
            </if>
            <if test="revisionoid != null and revisionoid != ''">
                and REVISIONOID = #{revisionoid}
            <if test="codeReferConfig.name != null and codeReferConfig.name != ''">
                and NAME like CONCAT(CONCAT('%', #{codeReferConfig.name}), '%')
            </if>
            <if test="nameoid != null and nameoid != ''">
                and NAMEOID = #{nameoid}
            </if>
            <if test="btmname != null and btmname != ''">
                and BTMNAME = #{btmname}
            </if>
            <if test="lastr != null and lastr != ''">
                and LASTR = #{lastr}
            </if>
            <if test="firstr != null and firstr != ''">
                and FIRSTR = #{firstr}
            </if>
            <if test="lastv != null and lastv != ''">
                and LASTV = #{lastv}
            </if>
            <if test="firstv != null and firstv != ''">
                and FIRSTV = #{firstv}
            </if>
            <if test="creator != null and creator != ''">
                and CREATOR = #{creator}
            </if>
            <if test="createtime != null and createtime != ''">
                and CREATETIME = #{createtime}
            </if>
            <if test="revisionseq != null">
                and REVISIONSEQ = #{revisionseq}
            </if>
            <if test="revisionvalue != null and revisionvalue != ''">
                and REVISIONVALUE = #{revisionvalue}
            </if>
            <if test="versionseq != null">
                and VERSIONSEQ = #{versionseq}
            </if>
            <if test="versionvalue != null and versionvalue != ''">
                and VERSIONVALUE = #{versionvalue}
            </if>
            <if test="lctid != null and lctid != ''">
                and LCTID = #{lctid}
            </if>
            <if test="lcstatus != null and lcstatus != ''">
                and LCSTATUS = #{lcstatus}
            </if>
            <if test="ts != null and ts != ''">
                and TS = #{ts}
            </if>
            <if test="name != null and name != ''">
                and NAME = #{name}
            </if>
            <if test="description != null and description != ''">
                and DESCRIPTION = #{description}
            </if>
            <if test="owner != null and owner != ''">
                and OWNER = #{owner}
            </if>
            <if test="copyfromversion != null and copyfromversion != ''">
                and COPYFROMVERSION = #{copyfromversion}
            </if>
            <if test="ordernum != null">
                and ORDERNUM = #{ordernum}
            </if>
            <if test="refertype != null and refertype != ''">
                and REFERTYPE = #{refertype}
            </if>
            <if test="textfield != null and textfield != ''">
                and TEXTFIELD = #{textfield}
            </if>
            <if test="valuefield != null and valuefield != ''">
                and VALUEFIELD = #{valuefield}
            </if>
            <if test="type != null and type != ''">
                and TYPE = #{type}
            </if>
            <if test="url != null and url != ''">
                and URL = #{url}
            </if>
            <if test="backpath != null and backpath != ''">
                and BACKPATH = #{backpath}
            </if>
            <if test="method != null and method != ''">
                and METHOD = #{method}
            </if>
            <if test="height != null">
                and HEIGHT = #{height}
            </if>
            <if test="paramforformkey != null and paramforformkey != ''">
                and PARAMFORFORMKEY = #{paramforformkey}
            </if>
            <if test="ismuti != null and ismuti != ''">
                and ISMUTI = #{ismuti}
            </if>
            <if test="mapfields != null and mapfields != ''">
                and MAPFIELDS = #{mapfields}
            </if>
            <if test="refercontent != null and refercontent != ''">
                and REFERCONTENT = #{refercontent}
            </if>
            <if test="displaytable != null and displaytable != ''">
                and DISPLAYTABLE = #{displaytable}
            </if>
            <if test="limit != null and limit != ''">
                and LIMIT = #{limit}
            </if>
            <if test="sortfield != null and sortfield != ''">
                and SORTFIELD = #{sortfield}
            </if>
            <if test="sorttype != null and sorttype != ''">
                and SORTTYPE = #{sorttype}
            </if>
            <if test="parentfieldname != null and parentfieldname != ''">
                and PARENTFIELDNAME = #{parentfieldname}
            </if>
            <if test="parentusedfield != null and parentusedfield != ''">
                and PARENTUSEDFIELD = #{parentusedfield}
            </if>
            <if test="parentvalue != null and parentvalue != ''">
                and PARENTVALUE = #{parentvalue}
            </if>
            <if test="loadtype != null and loadtype != ''">
                and LOADTYPE = #{loadtype}
            </if>
            <if test="onlyleaf != null and onlyleaf != ''">
                and ONLYLEAF = #{onlyleaf}
            <if test="codeReferConfig.id != null and codeReferConfig.id != ''">
                and ID like CONCAT(CONCAT('%', #{codeReferConfig.id}), '%')
            </if>
        </where>
        limit #{pageable.offset}, #{pageable.pageSize}
    </select>
    <select id="selectShowFieldByReferConfigOid" resultType="com.vci.ubcs.code.entity.CodeShowFieldConfig">
        SELECT temp.* FROM (
            SELECT
                PCS.REFERCONFIGOID,
                PCS.FIELD,
                PCS.TITLE,
                PCS.FIELDTYPE,
                PCS.SORT,
                PCS.ATTRSORTFIELD,
                PCS.WIDTH,
                PCS.FIXEDPOSITION,
                PCS.TEMPLET
            FROM PL_CODE_REFERCONFIG PCR
                LEFT JOIN PL_CODE_SHOWFIELDCONFIG PCS ON PCS.REFERCONFIGOID = PCR.OID)
            temp WHERE temp.REFERCONFIGOID = #{oid}
    </select>
    <select id="selectSrchCondByReferConfigOid" resultType="com.vci.ubcs.code.entity.CodeSrchCondConfig">
        SELECT temp.*
            FROM
            (SELECT
                PCSR.FILTERFIELD,
                PCSR.FILTERTYPE,
                PCSR.FILTERVALUE,
                PCSR.REFERCONFIGOID
            FROM PL_CODE_REFERCONFIG PCR
                     LEFT JOIN PL_CODE_SRCHCONDCONFIG PCSR ON PCSR.REFERCONFIGOID = PCR.OID)
            temp WHERE temp.REFERCONFIGOID = #{oid}
    </select>
</mapper>
Source/UBCS/ubcs-service/ubcs-webservice/pom.xml
@@ -15,31 +15,33 @@
    <modelVersion>4.0.0</modelVersion>
    <dependencies>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
            <version>3.3.1</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.validation</groupId>
                    <artifactId>validation-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-web</artifactId>
                </exclusion>
            </exclusions>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-util-api</artifactId>
            <version>3.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>cn.easyproject</groupId>
            <artifactId>orai18n</artifactId>
            <version>${orai18n.version}</version>
        </dependency>
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springblade</groupId>
            <artifactId>blade-core-boot</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-annotations</artifactId>
            <version>2.0.9</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-util-api</artifactId>
            <artifactId>ubcs-webservice-api</artifactId>
            <version>3.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/GroupCodeApplyApplication.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
import org.springblade.core.cloud.client.UbcsCloudApplication;
import org.springblade.core.launch.UbcsApplication;
import org.springblade.core.launch.constant.AppConstant;
import org.springframework.context.annotation.ComponentScan;
/**
 * é›†å›¢ç ç”³è¯·æŽ¥å£å¯åЍ噍
 *
 * @author
 * ludc
 */
@UbcsCloudApplication
public class GroupCodeApplyApplication {
    public static void main(String[] args) {
        UbcsApplication.run(AppConstant.APPLICATION_NAME_PREFIX+"applyjtcodeservice", GroupCodeApplyApplication.class, args);
    }
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingPreApplyCodeController.java ÐÞ¸Ä
@@ -1,22 +1,17 @@
package com.vci.ubcs.code.controller;
package com.vci.ubcs.code.webservice.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.entity.DockingPreApplyForm;
import com.vci.ubcs.code.feign.IMdmInterJtClient;
import com.vci.ubcs.code.service.IDockingPreApplyFormService;
import com.vci.ubcs.code.service.IDockingPreAttrMappingService;
import com.vci.ubcs.code.service.IDockingPreAttrRangeService;
import com.vci.ubcs.code.service.IDockingPreClassifyService;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import com.vci.ubcs.code.vo.pagemodel.DockingPreApplyFormVO;
import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrMappingVO;
import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO;
import com.vci.ubcs.code.wrapper.DockingPreApplyFormWrapper;
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.code.webservice.service.*;
import com.vci.ubcs.code.webservice.wrapper.DockingPreApplyFormWrapper;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.code.webservice.entity.DockingPreApplyForm;
import com.vci.ubcs.code.webservice.vo.BaseModelVO;
import com.vci.ubcs.code.webservice.vo.DockingPreApplyFormVO;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrMappingVO;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrRangeVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@@ -24,7 +19,6 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
@@ -44,6 +38,12 @@
     * é›†å›¢å±žæ€§æ˜ å°„配置属性
     */
    private final IDockingPreAttrMappingService dockingPreAttrMappingService;
/**
 * é›†å›¢å±žæ€§æ˜ å°„配置属性
 */
    private final IGroupMdmInterService groupMdmInterService;
    /***
     * å±žæ€§æžšä¸¾èŒƒå›´æœåŠ¡
     */
@@ -125,7 +125,7 @@
     * @return ä¸»é¢˜åº“分类显示树
     */
    @GetMapping("/referTree")
    public List<Tree> referTree(@RequestBody TreeQueryObject treeQueryObject)  {
    public List<Tree> referTree(TreeQueryObject treeQueryObject)  {
        return dockingPreClassifyService.treeCompanyGroupClassify(treeQueryObject);
    }
@@ -139,7 +139,7 @@
    public R applyGroupCode(String oids,String btmName){
        List<BaseModelVO> BaseModelVOs=new ArrayList<>();
        try {
            return dockingPreAttrMappingService.applyGroupCode(oids,btmName);
            return groupMdmInterService.applyGroupCode(oids,btmName);
        }catch (Throwable e){
            return R.fail("集团码申请失败:"+e.getMessage());
        }
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,398 @@
package com.vci.ubcs.code.webservice.feigh;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.webservice.entity.*;
import com.vci.ubcs.code.webservice.feign.IMdmInterJtClient;
import com.vci.ubcs.code.webservice.service.*;
import com.vci.ubcs.code.webservice.vo.*;
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.web.constant.MdmEnumIdConstant;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.*;
import java.util.stream.Collectors;
/***
 * æä¾›ä¸Žé›†å›¢ç”³è¯·feigh
 */
@NonDS
@ApiIgnore
@RestController
@AllArgsConstructor
@Slf4j
public class MdmInterJtClient implements IMdmInterJtClient {
    /**
     * é›†å›¢ç”³è¯·å•服务
     */
    private final IDockingPreApplyFormService dockingPreApplyFormService;
    /**
     * é›†å›¢åˆ†ç±»æ¨¡åž‹è§†å›¾æœåŠ¡
     */
    private final IDockingPreViewModelService dockingPreViewModelService;
    /**
     * é›†å›¢åˆ†ç±»å±žæ€§æœåŠ¡
     */
    private final IDockingPreMetaAttrService dockingPreMetaAttrService;
    /**
     * é›†å›¢ç”³è¯·å•服务
     */
    private final IDockingPreClassifyService dockingPreClassifyService;
    /**
     * é›†å›¢ç”³è¯·å•服务
     */
    private final IDockingPreAttrRangeService dockingPreAttrRangeService;
    /*
     * ä¸»æ•°æ®ä¸šåŠ¡æœåŠ¡
     */
    /**
     * èŽ·å–é›†å›¢é›†å›¢ç ï¼Œèµ‹å€¼åˆ°ä¸»æ•°æ®
     * @param dockingReturnStoreVO
     * @return è¿”回集成结果信息
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R getApplyGroupCode(DockingReturnStoreVO dockingReturnStoreVO) {
        log.info("获取集团集团码,赋值到主数据 start");
        try {
            List<BaseModel> editObjectList = new ArrayList();
            List<DockingPreApplyForm> dockingPreApplyFormList = new ArrayList();
            //String classId = javaObject.getClassId();
            //String sysName = javaObject.getSysName();
            List<MainData> mainDataList = dockingReturnStoreVO.getMainData();
            for (MainData mainData : mainDataList) {
                JSONObject jcontent = new JSONObject();
                //编码状态
                String formState = mainData.getFormState();
                //申请单
                String applyId = mainData.getApplyId();
                String customCoding = StringUtils.isBlank(mainData.getCustomCoding()) ? "" : mainData.getCustomCoding();//集团码
                String msg = "";
                log.info("申请单:"+applyId+",集团码:"+customCoding);
                boolean res = false;
                if ("1".equals(formState)) {
                    msg = "集团审核中";
                } else if ("2".equals(formState)) {
                    msg = "驳回";
                } else if ("3".equals(formState)) {
                    msg = "集团审核中";
                } else if ("4".equals(formState)) {
                    msg = "审核结束,赋码失败";
                } else if ("5".equals(formState)) {
                    res = true;
                    msg = "审核结束,赋码成功";
                } else if ("6".equals(formState)) {
                    msg = "待301赋码";
                } else if ("7".equals(formState)) {
                    res = true;
                    msg = "已赋码";
                } else if ("8".equals(formState)) {
                    res = true;
                    msg = "已赋码(沿用)";
                } else if ("9".equals(formState)) {
                    msg = "审核中";
                }
                jcontent.put("applyId", applyId);
                jcontent.put("formState", formState);
                jcontent.put("customCoding", customCoding);
                jcontent.put("msg", msg);
                List<DockingPreApplyForm> oldDockingPreApplyFormList = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda()
                    .eq(DockingPreApplyForm::getId, applyId));
                if (CollectionUtils.isEmpty(oldDockingPreApplyFormList)) {
                    continue; //// return false;
                }
                DockingPreApplyForm dockingPreApplyForm = oldDockingPreApplyFormList.get(0);
                dockingPreApplyForm.setMsg(msg);
                dockingPreApplyForm.setCode("1");
                if (res) {
                    dockingPreApplyForm.setGroupCode(customCoding);
                }
                //返回结果信息
                dockingPreApplyForm.setContent(jcontent.toJSONString());
                dockingPreApplyFormList.add(dockingPreApplyForm);
                if (res) {
                    String jdataid = dockingPreApplyForm.getDataOid();
                    String jdatabtmname = dockingPreApplyForm.getDataBtmName();
                    //此处需要查询业务数据,去更改
                    BaseModel baseModel = new BaseModel();
                    baseModel.setId(customCoding);
                    log.info("申请单:"+applyId+",集团码:"+customCoding+"编码:"+baseModel.getId());
                    editObjectList.add(baseModel);
                }
            }
            dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
            //调用主数据服务批量保存接口
        }catch (Throwable e){
            e.printStackTrace();
            return R.fail("集团码集成赋值失败"+e);
        }
        log.info("获取集团集团码,赋值到主数据 end");
        return R.success("集团码赋值成功");
    }
    /***
     * æŽ¥å—集团分类主模型数据
     * @param dockingClassifyModelAttrVO
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R pubMdmModel(DockingClassifyModelAttrVO dockingClassifyModelAttrVO) {
        log.info("");
        try {
            this.saveDatas(dockingClassifyModelAttrVO);
        }catch (Throwable e){
            e.printStackTrace();
            return R.fail("接受集团分类主模型数据失败"+e);
        }
        log.info("接受集团分类主模型数据 end");
        return R.success("接受集团分类主模型数据成功");
    }
    /***
     * ç»„织 ä¿å­˜æ•°æ®æ–¹æ³•
     * @param dockingClassifyModelAttrVO
     * @throws Throwable
     */
    private boolean saveDatas(DockingClassifyModelAttrVO dockingClassifyModelAttrVO) throws Throwable {
        List<DockingPreClassify> dockingPreClassifyArrayList=new ArrayList<>();
        try {
            DockingClassifyMainVO mainData = dockingClassifyModelAttrVO.getDataStructure();
            List<DockingClassifyVO> classList = mainData.getClassList();
            Map<String, List<DockingClassifyViewVO>> classInfoMap = mainData.getClassInfos();
            for (DockingClassifyVO jclassObject : classList) {
                String id =StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId();
                String className = StringUtils.isBlank(jclassObject.getClassName())?"":jclassObject.getClassName();
                String pid = StringUtils.isBlank(jclassObject.getPid())?"":jclassObject.getPid();
                String nodeLink = StringUtils.isBlank(jclassObject.getNodeLink())?"":jclassObject.getNodeLink();
                String nodeLinkName = StringUtils.isBlank(jclassObject.getNodeLinkName())?"":jclassObject.getNodeLinkName();
                String classNumber = StringUtils.isBlank(jclassObject.getClassNumber())?"":jclassObject.getClassNumber();
                //ClientBusinessObject classObject = objectOperation.readBusinessObjectById(id, "jclass");// èŽ·å–åˆ†ç±»ä¿¡æ¯
                 DockingPreClassify dockingPreClassify=dockingPreClassifyService.getById(id);
                log.info("classify:-------------->集团分类主机:"+id);
                log.info("classify:-------------->集团分类名称:"+className);
                log.info("classify:--------------> é›†å›¢åˆ†ç±»çˆ¶èŠ‚ç‚¹:"+pid);
                log.info("classify:-------------->链接:"+nodeLink);
                log.info("classify:-------------->链接名称:"+nodeLinkName);
                if (dockingPreClassify == null|| StringUtils.isBlank(dockingPreClassify.getOid())) {
                    dockingPreClassify = new DockingPreClassify();
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify, MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
                } else {
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
                }
                dockingPreClassify.setOid(id);
                dockingPreClassify.setName(className);
                dockingPreClassify.setPid(pid);
                dockingPreClassify.setId(classNumber);
                dockingPreClassify.setNodeLink(nodeLink);
                dockingPreClassify.setGetNodeLinkName(nodeLinkName);
                dockingPreClassify.setClassName(className);
                dockingPreClassifyArrayList.add(dockingPreClassify);
                // èŽ·å–å¯¹åº”çš„åˆ†ç±»è§†å›¾æ¨¡åž‹
                if (classInfoMap.containsKey(id)) {
                    List<DockingClassifyViewVO> list = classInfoMap.get(id);
                    getVilewMode(jclassObject, list);
                }
            }
            boolean res= dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyArrayList);
            return res;
        } catch (Throwable e) {
            e.printStackTrace();
            throw new Throwable("存储视图模型出现问题");
        }
    }
    /***
     * èŽ·å–åˆ†ç±»è§†å›¾
     *
     * @param jclassObject
     * @throws Throwable
     */
    private void getVilewMode(DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list)
        throws Throwable {
        String nodeLinkName = jclassObject.getNodeLinkName();
        try {
            String jclassId =StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId();
            Map<String, DockingPreViewModel> jviewmodelMap = new HashMap<String, DockingPreViewModel>();
            //Map<String, String> condtionMa = new HashMap<String, String>();
        //    condtionMa.put("jsourceclsfid", jclassId);
            List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,false));// æ ¹æ®åˆ†ç±»æŸ¥è¯¢æ¨¡åž‹è§†å›¾å¯¹è±¡
            for (DockingPreViewModel dockingPreViewModel : dockingPreViewModelList) {
                jviewmodelMap.put(dockingPreViewModel.getViewName(),dockingPreViewModel);
            }
            for (DockingClassifyViewVO viewInfo : list) {
                String viewName =StringUtils.isBlank(viewInfo.getViewName())?"":viewInfo.getViewName();
                String impactList = StringUtils.isBlank(viewInfo.getImpactList())?"":viewInfo.getImpactList();
                log.info("VilewMode:-------------->视图名称:"+viewName);
                log.info("VilewMode:-------------->影响编码项:"+impactList);
                log.info("VilewMode:--------------> é›†å›¢åˆ†ç±»ä¸»é”®:"+jclassId);
                List<DockingClassifyMetaAttrVO> metaList = viewInfo.getMetaList();
                DockingPreViewModel jviewModelObject = null;
                if (jviewmodelMap.containsKey(viewName)) {
                    jviewModelObject = jviewmodelMap.get(viewName);
                    //影响编码项的数据
                    jviewModelObject.setImpactList(impactList);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject);
                } else {
                    jviewModelObject =new DockingPreViewModel();
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL);
                    jviewModelObject.setSourceClassifyId(jclassId);// é›†å›¢åˆ†ç±»id
                    jviewModelObject.setViewName(viewName);// é›†å›¢è§†å›¾åç§°
                    //影响编码项的数据
                    jviewModelObject.setImpactList(impactList);
                    dockingPreViewModelList.add(jviewModelObject);
                }
                // èŽ·å–æ¨¡åž‹è§†å›¾ä¸‹çš„å±žæ€§é›†
                // String oid = jviewModelObject.getOid();
                List<DockingPreMetaAttr>allDockingPreMetaAttrList=new ArrayList<>();
                getMetaAttrObject(metaList, jclassId, jviewModelObject, "root",allDockingPreMetaAttrList);
                //保存模型视图属性
                dockingPreMetaAttrService.saveOrUpdateBatch(allDockingPreMetaAttrList);
                //保存模型视图
                dockingPreViewModelService.saveOrUpdateBatch(dockingPreViewModelList);
            }
        } catch (Throwable e) {
            e.printStackTrace();
            throw new Throwable("组织分类" + nodeLinkName + "模型视图存储出现问题");
        }
    }
    /***
     * èŽ·å–æ¨¡åž‹è§†å›¾å±žæ€§
     * @throws Throwable
     */
    private void getMetaAttrObject(List<DockingClassifyMetaAttrVO> metaList,
                                   String jclassId, DockingPreViewModel jviewModelObject, String pid,List<DockingPreMetaAttr>allDockingPreMetaAttrList)throws Throwable {
        try {
            //// æ ¹æ®åˆ†ç±»æŸ¥è¯¢æ¨¡åž‹è§†å›¾å¯¹è±¡
            List<DockingPreMetaAttr> dockingPreMetaAttrList = dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda()
                .eq(DockingPreMetaAttr::getSourceClassifyId,jclassId).eq(DockingPreMetaAttr::getViewModelId,jviewModelObject.getOid())
                .eq(DockingPreMetaAttr:: getPid,pid));
                Map<String,DockingPreMetaAttr> jmetaattrMap = dockingPreMetaAttrList.stream().filter(
                s -> StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName().toLowerCase(Locale.ROOT), t -> t));
            for (DockingClassifyMetaAttrVO dockingClassifyMetaAttrVO : metaList) {
                String chineseName =StringUtils.isBlank(dockingClassifyMetaAttrVO.getChineseName())?"":dockingClassifyMetaAttrVO.getChineseName();// å±žæ€§åç§°
                String englishName = StringUtils.isBlank(dockingClassifyMetaAttrVO.getEnglishName())?"":dockingClassifyMetaAttrVO.getEnglishName();// è‹±æ–‡åç§°
                String defaultValue = StringUtils.isBlank(dockingClassifyMetaAttrVO.getDefaultValue())?"":dockingClassifyMetaAttrVO.getDefaultValue();
                Integer metadataType =dockingClassifyMetaAttrVO.getMetadataType();// ç±»åž‹
                Integer necessaryConf = dockingClassifyMetaAttrVO.getNecessaryConf();// æ˜¯å¦å¿…å¡«
                Map<String, String> range = dockingClassifyMetaAttrVO.getRange()==null?new HashMap<String, String>():dockingClassifyMetaAttrVO.getRange();// å–值范围
                log.info("metaAttr:-------------->属性名称:"+chineseName);
                log.info("metaAttr:-------------->英文名称:"+englishName);
                log.info("metaAttr:-------------->默认值:"+defaultValue);
                log.info("metaAttr:--------------> ç±»åž‹:"+metadataType);
                log.info("metaAttr:-------------->  æ˜¯å¦å¿…å¡«:"+necessaryConf);
                DockingPreMetaAttr dockingPreMetaAttr = new DockingPreMetaAttr();
                if (jmetaattrMap.containsKey(englishName)) {
                    dockingPreMetaAttr = jmetaattrMap.get(englishName);
                    dockingPreMetaAttr.setChineseName(chineseName);
                    dockingPreMetaAttr.setDefaultValue(defaultValue);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr);
                } else {
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR);
                    dockingPreMetaAttr.setSourceClassifyId(jclassId);// é›†å›¢åˆ†ç±»id
                    dockingPreMetaAttr.setViewModelId(jviewModelObject.getOid());// é›†å›¢è§†å›¾æ¨¡åž‹id
                    dockingPreMetaAttr.setChineseName(chineseName);// å±žæ€§åç§°
                    dockingPreMetaAttr.setEnglishName(englishName);// å±žæ€§å­—段
                    dockingPreMetaAttr.setDefaultValue(defaultValue);// å±žæ€§åç§°
                    dockingPreMetaAttr.setMetaDataType(metadataType);// å±žæ€§ç±»åž‹
                    dockingPreMetaAttr.setNecesSaryConf(necessaryConf);// å±žæ€§å¿…填项
                    dockingPreMetaAttr.setPid(pid);// çˆ¶èŠ‚ç‚¹id
                }
                if(range!=null&&range.size()>0){
                    // èŽ·å–å±žæ€§å€¼åŸŸ
                    getRange(dockingPreMetaAttr, range);
                }
                /***
                 * èŽ·å–å­èŠ‚ç‚¹
                 */
                DockingClassifyMetaAttrVO compositeMeta = dockingClassifyMetaAttrVO.getCompositeMeta();
                if (compositeMeta != null) {
                    pid = StringUtils.isBlank(dockingPreMetaAttr.getOid())?"":dockingPreMetaAttr.getOid();// å½“前oid
                    List<DockingClassifyMetaAttrVO> childMetaList = new ArrayList<>();
                    childMetaList.add(compositeMeta);
                    getMetaAttrObject(childMetaList, jclassId,jviewModelObject, pid,allDockingPreMetaAttrList);
                }
            }
        } catch (Throwable e) {
            e.printStackTrace();
            log.error("组织模型视图"+ jviewModelObject.getViewName()
                + "属性存储出现问题" + e);
            throw new Throwable("组织模型视图"+ jviewModelObject.getViewName()
                + "属性存储出现问题" + e);
        }
    }
    /**
     * @throws Throwable
     *             * èŽ·å–å€¼åŸŸ
     * @param metaAttrObject
     * @param range
     * @throws
     */
    private void getRange(DockingPreMetaAttr metaAttrObject,Map<String, String> range) throws Throwable {
        String metaAttrOid =StringUtils.isBlank(metaAttrObject.getOid())?"":metaAttrObject.getOid();// å±žæ€§çš„oid
        String jchinesename = StringUtils.isBlank(metaAttrObject.getChineseName())?"":metaAttrObject.getChineseName();
        Map<String, DockingPreAttrRange> rangeMap = new HashMap<>();
        try {
            Map<String, String> condtionMa = new HashMap<String, String>();
            condtionMa.put("jmetalistid", metaAttrOid);
            List<DockingPreAttrRange> jmetaattrList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda()
                .eq(DockingPreAttrRange::getMetaListId,metaAttrOid));// æ ¹æ®åˆ†ç±»æŸ¥è¯¢æ¨¡åž‹è§†å›¾å¯¹è±¡
            rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s -> StringUtils.isNotBlank(s.getNumText().toLowerCase(Locale.ROOT))?"":s.getNumText().toLowerCase(Locale.ROOT), t -> t));
            for (String rangeKey : range.keySet()) {
                DockingPreAttrRange rangeObject = new DockingPreAttrRange();
                String keyValue = StringUtils.isBlank(range.get(rangeKey))?"":range.get(rangeKey);
                log.info("range:-------------->显示值"+rangeKey+",内部值"+keyValue);
                if (rangeMap.containsKey(rangeKey)) {
                    rangeObject = rangeMap.get(rangeKey);
                    rangeObject.setNumTextValue(keyValue);
                    rangeObject.setNumText(rangeKey);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject);
                } else {
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE);
                    rangeObject.setNumTextValue(keyValue);
                    rangeObject.setNumText(rangeKey);
                    rangeObject.setTs(rangeObject.getLastModifyTime());
                    rangeObject.setMetaListId(metaAttrOid);
                    log.info("range:-------------->属性内部值:"+metaAttrOid);
                    log.info("range:-------------->时间:"+rangeObject.getLastModifyTime());
                    jmetaattrList.add(rangeObject);
                }
            }
            dockingPreAttrRangeService.saveOrUpdateBatch(jmetaattrList);
        } catch (Throwable e) {
            e.printStackTrace();
            log.info("组织属性:【" + jchinesename + "】值域出现问题"+ e);
            throw new Throwable("组织属性:【" + jchinesename + "】值域出现问题"+ e);
        }
    }
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreApplyFormMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.webservice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.webservice.entity.DockingPreApplyForm;
public interface DockingPreApplyFormMapper extends BaseMapper<DockingPreApplyForm> {
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreAttrMappingMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.webservice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrMapping;
public interface DockingPreAttrMappingMapper extends BaseMapper<DockingPreAttrMapping> {
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreAttrRangeMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.webservice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrRange;
public interface DockingPreAttrRangeMapper  extends BaseMapper<DockingPreAttrRange> {
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreClassifyMapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingPreClassifyMapper.java ÐÞ¸Ä
@@ -1,8 +1,7 @@
package com.vci.ubcs.code.mapper;
package com.vci.ubcs.code.webservice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.entity.CodeClassify;
import com.vci.ubcs.code.entity.DockingPreClassify;
import com.vci.ubcs.code.webservice.entity.DockingPreClassify;
import org.apache.ibatis.annotations.Param;
import java.util.List;
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreMetaAttrMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.webservice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.webservice.entity.DockingPreMetaAttr;
public interface DockingPreMetaAttrMapper  extends BaseMapper<DockingPreMetaAttr> {
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/mapper/DockingPreViewModelMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.webservice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.webservice.entity.DockingPreViewModel;
public interface DockingPreViewModelMapper extends BaseMapper<DockingPreViewModel> {
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreApplyFormService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreApplyFormService.java ÐÞ¸Ä
@@ -1,7 +1,7 @@
package com.vci.ubcs.code.service;
package com.vci.ubcs.code.webservice.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.DockingPreApplyForm;
import com.vci.ubcs.code.webservice.entity.DockingPreApplyForm;
/***
 * é›†å›¢ç”³è¯·å•服务
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrMappingService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrMappingService.java ÐÞ¸Ä
@@ -1,11 +1,9 @@
package com.vci.ubcs.code.service;
package com.vci.ubcs.code.webservice.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.DockingPreAttrMapping;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrMappingVO;
import org.springblade.core.tool.api.R;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrMapping;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrMappingVO;
import java.util.List;
@@ -21,7 +19,7 @@
     * @param codeClassifyId
     * @return
     */
    List<DockingPreAttrMappingVO> getDockingAttrMappingsByCodeClassifyId(String codeClassifyId,String sourceClassifyId);
    List<DockingPreAttrMappingVO> getDockingAttrMappingsByCodeClassifyId(String codeClassifyId, String sourceClassifyId);
    /**
     * ä½¿ç”¨æŸ¥è¯¢å°è£…器来查询
@@ -37,12 +35,7 @@
     */
    public  List<DockingPreAttrMappingVO> batchAddSave(List<DockingPreAttrMappingVO> dockingPreAttrMappingDTOS)throws Exception;
    /***
     * ä¸»æ•°æ®åƒé›†å›¢ç”³è¯·ç¼–码
     * @param oids
     * @param btmName
     * @return
     * @throws Exception
     */
    public R applyGroupCode(String oids, String btmName)throws Throwable;
    boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId);
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrRangeService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrRangeService.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
package com.vci.ubcs.code.service;
package com.vci.ubcs.code.webservice.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.DockingPreAttrRange;
import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrRange;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrRangeVO;
import java.util.List;
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreClassifyService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreClassifyService.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
package com.vci.ubcs.code.service;
package com.vci.ubcs.code.webservice.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.DockingPreClassify;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.code.webservice.entity.DockingPreClassify;
import java.util.List;
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreMetaAttrService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreMetaAttrService.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
package com.vci.ubcs.code.service;
package com.vci.ubcs.code.webservice.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.vo.pagemodel.DockingPreMetaAttrVO;
import com.vci.ubcs.code.webservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.webservice.vo.DockingPreMetaAttrVO;
import java.util.List;
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreViewModelService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreViewModelService.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.vci.ubcs.code.service;
package com.vci.ubcs.code.webservice.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.DockingPreViewModel;
import com.vci.ubcs.code.vo.pagemodel.DockingPreViewModelVO;
import com.vci.ubcs.code.webservice.entity.DockingPreViewModel;
import com.vci.ubcs.code.webservice.vo.DockingPreViewModelVO;
import java.util.List;
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IGroupMdmInterService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
package com.vci.ubcs.code.webservice.service;
import org.springblade.core.tool.api.R;
/***
 * ä¸Žé›†å›¢é›†æˆæœåŠ¡
 * @author xiejun
 */
public interface IGroupMdmInterService {
    /***
     * ä¸»æ•°æ®åƒé›†å›¢ç”³è¯·ç¼–码
     * @param oids
     * @param btmName
     * @return è¿”回结果信息
     * @throws Exception
     */
    public R applyGroupCode(String oids, String btmName)throws Throwable;
    /***
     * ä¸»æ•°æ®åƒé›†å›¢æ›´æ”¹ç¼–码
     * @param oids éœ€è¦ä¿®æ”¹çš„æ•°æ®ä¸»é”®æ•°ç»„
     * @param btmName ä¸šåŠ¡ç±»åž‹
     * @return è¿”回结果信息
     * @throws Throwable
     */
    public R receiveEditApply(String oids, String btmName)throws Throwable;
    /***
     * æŸ¥è¯¢åˆ†ç±»è¯¦ç»†æ¨¡åž‹è§†å›¾
     * @param jtclsfId:集团分类oid
     * @return è¿”回结果信息
     * @throws Throwable
     */
    public R queryClassModel(String jtclsfId)throws Throwable;
    /***
     * æŸ¥è¯¢åˆ†ç±»è¯¦ç»†æ¨¡åž‹è§†å›¾
     * @param jtclsfId:集团分类oid
     * @return è¿”回结果信息
     * @throws Throwable
     */
    public R queryMdmModel()throws Throwable;
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreApplyFormServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.vci.ubcs.code.webservice.service.impl;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.webservice.mapper.DockingPreApplyFormMapper;
import com.vci.ubcs.code.webservice.entity.DockingPreApplyForm;
import com.vci.ubcs.code.webservice.service.IDockingPreApplyFormService;
import org.springframework.stereotype.Service;
/***
 *集团属性映射服务
 * @author xiejun
 * @date 2023-05-22
 */
@Service
public class DockingPreApplyFormServiceImpl extends ServiceImpl<DockingPreApplyFormMapper, DockingPreApplyForm> implements IDockingPreApplyFormService {
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,229 @@
package com.vci.ubcs.code.webservice.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.webservice.mapper.DockingPreAttrMappingMapper;
import com.vci.ubcs.code.webservice.service.IDockingPreAttrMappingService;
import com.vci.ubcs.code.webservice.service.IDockingPreAttrRangeService;
import com.vci.ubcs.code.webservice.service.IDockingPreMetaAttrService;
import com.vci.ubcs.code.webservice.wrapper.DockingPreAttrMappingWrapper;
import com.vci.ubcs.code.webservice.wrapper.DockingPreAttrRangeWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrMapping;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrRange;
import com.vci.ubcs.code.webservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrMappingVO;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrRangeVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/***
 *集团属性映射服务
 * @author xiejun
 * @date 2023-05-22
 */
@Service
public class DockingPreAttrMappingServiceImpl extends ServiceImpl<DockingPreAttrMappingMapper, DockingPreAttrMapping> implements IDockingPreAttrMappingService {
    /***
     * é›†å›¢åˆ†ç±»å±žæ€§å±žæ€§æ˜ å°„配置服务
     */
    @Autowired(required = false)
    private DockingPreAttrMappingMapper dockingPreAttrMappingMapper;
    /***
     * ä¸šåŠ¡æ•°æ®å±žæ€§æœåŠ¡
     */
    //@Autowired(required = false)
    //private  MdmEngineService mdmEngineService;
    /***
     * é›†å›¢å±žæ€§æœåŠ¡
     */
    @Autowired(required = false)
    private IDockingPreMetaAttrService dockingPreMetaAttrService;
    /***
     * å±žæ€§å–值范围服务
     */
    @Autowired(required = false)
    private IDockingPreAttrRangeService dockingPreAttrRangeService;
    /***
     * æ ¹æ®ä¸»æ•°æ®åˆ†ç±»ä¸»é”®èŽ·å–åˆ†ç±»ä¿¡æ¯é…ç½®
     * @param codeClassifyId
     * @return
     */
    @Override
    public List<DockingPreAttrMappingVO> getDockingAttrMappingsByCodeClassifyId(String codeClassifyId,String sourceClassifyId) {
        VciBaseUtil.alertNotNull(codeClassifyId,"主数据分类主键");
        VciBaseUtil.alertNotNull(sourceClassifyId,"集团分类主键");
        //首先获取分类模板属性,然后与属性配置坐比较,以防被有增删属性的可能
        List<DockingPreMetaAttr> dockingPreMetaAttrList=    dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getSourceClassifyId,sourceClassifyId));
        List<DockingPreAttrMapping> dockingPreAttrMappings=this.selectByWrapper(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getSourceClassifyId, sourceClassifyId).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId));
        Map<String/**属性主键**/, DockingPreAttrMapping> dockingPreAttrMappingMap = dockingPreAttrMappings.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getMetaListId(), t -> t));
        List<DockingPreAttrMapping> newDockingPreAttrMappingList=new ArrayList<>();
        dockingPreMetaAttrList.stream().forEach(dockingPreMetaAttr -> {
            String attrOid=dockingPreMetaAttr.getOid();
            DockingPreAttrMapping dockingPreAttrMapping=new DockingPreAttrMapping();
            if(dockingPreAttrMappingMap.containsKey(attrOid)){
                dockingPreAttrMapping=    dockingPreAttrMappingMap.get(attrOid);
            }else{
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreAttrMapping, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                dockingPreAttrMapping.setMetaListId(dockingPreMetaAttr.getOid());//属性主键
                dockingPreAttrMapping.setSourceAttrKey(dockingPreMetaAttr.getEnglishName());//英文名称
                dockingPreAttrMapping.setSourceAttrName(dockingPreMetaAttr.getChineseName());//中文名称
                dockingPreAttrMapping.setSourceClassifyId(dockingPreMetaAttr.getSourceClassifyId());//集团分类oid
                dockingPreAttrMapping.setSourceClassifyName("");//分类名称
                dockingPreAttrMapping.setViewModeId(dockingPreMetaAttr.getViewModelId());//模型视图id
                dockingPreAttrMapping.setViewModelName("");//分类模型名称
                dockingPreAttrMapping.setViewName("");//分类模型名称
            }
            newDockingPreAttrMappingList.add(dockingPreAttrMapping);
        });
        return     dockingPreAttrMappingDO2VOS(dockingPreAttrMappings,false);
    }
    /***
     * æž„造器查询方式
     * @param wrapper æŸ¥è¯¢å°è£…器
     * @return
     */
    @Override
    public List<DockingPreAttrMapping> selectByWrapper(Wrapper wrapper) {
        return dockingPreAttrMappingMapper.selectList(wrapper);
    }
    /****
     * é›†å›¢å±žæ€§æ˜ å°„配置保存
     * @param dockingPreAttrMappingVOList
     * @return
     * @throws VciBaseException
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public List<DockingPreAttrMappingVO> batchAddSave(List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList) throws Exception {
        if(org.springframework.util.CollectionUtils.isEmpty(dockingPreAttrMappingVOList)){
            return new ArrayList<>();
        }
        /**
         * 1.传递过来的有可能主数据模板新增属性,这样的需要添加,也有可能删除的属性,这样的映射需要删除
         * ä¹Ÿæœ‰æ›´æ–°çš„这样则更新
         */
        List<DockingPreAttrMapping> newDockingPreAttrMapping=new ArrayList<>();
        List<String>appingConfigOidList=new ArrayList<>();
        List<String>attrIdList=new ArrayList<>();
        List<String> attributeOidList=new ArrayList<>();
        List<DockingPreAttrRange> newDockingPreAttrRangeList=new ArrayList<>();
        List<DockingPreAttrRangeVO> newDockingPreAttrRangeVOList=new ArrayList<>();
        dockingPreAttrMappingVOList.stream().forEach(dockingPreAttrMappingVO -> {
            List<DockingPreAttrRangeVO>dockingPreAttrRangeVOList=dockingPreAttrMappingVO.getDockingPreAttrRangeVoList();
            appingConfigOidList.add(dockingPreAttrMappingVO.getOid());
            if(!CollectionUtils.isEmpty(dockingPreAttrRangeVOList)) {
                attrIdList.add(dockingPreAttrMappingVO.getMetaListId());
                newDockingPreAttrRangeVOList.addAll(dockingPreAttrRangeVOList);
            }
        });
        //将属性取值范围转成数据持久层对象
        newDockingPreAttrRangeList= DockingPreAttrRangeWrapper.build().voentitys(newDockingPreAttrRangeVOList);
        //将属性映射配置信息转换为需要数据持久层保存的对象
        newDockingPreAttrMapping= DockingPreAttrMappingWrapper.build().voentitys(dockingPreAttrMappingVOList);
        List<DockingPreAttrRange> oldDockingPreAttrRangeList=new ArrayList<>();
        if(!org.springframework.util.CollectionUtils.isEmpty(attrIdList)) {
            //获取存在的属性取值范围.
            oldDockingPreAttrRangeList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda().in(DockingPreAttrRange::getMetaListId,attrIdList));
        }
        //获取存在的属性映射.
        List<DockingPreAttrMapping> oldDataAttrMapping = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda().in(DockingPreAttrMapping::getOid,appingConfigOidList));
        Map<String/**oid**/,DockingPreAttrMapping/**属性对象**/> allSaveAttrMappingMap = newDockingPreAttrMapping.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t,(o1, o2)->o2));
        Map<String/**oid**/,DockingPreAttrMapping/**对象**/> oldAttrMappingMap =oldDataAttrMapping.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t,(o1, o2)->o2));
        //需要删除的属性映射
        List<String> deleteIdList=new ArrayList<>();
        oldDataAttrMapping.stream().forEach(cbo -> {
            String oid =cbo.getOid();
            if(!allSaveAttrMappingMap.containsKey(oid)){
                deleteIdList.add(oid);
            }
        });
        this.removeBatchByIds(deleteIdList);//删除已经丢掉的
        this.saveOrUpdateBatch(newDockingPreAttrMapping);//添加更新新的配置信息
        //取值范围处理
        if(!CollectionUtils.isEmpty(newDockingPreAttrRangeList)) {
            Map<String/**oid**/, DockingPreAttrRange/**属性对象**/> allSaveAttrAttrRangeDOMap =newDockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t, (o1, o2) -> o2));
            Map<String/**oid**/, DockingPreAttrRange/**对象**/> oldSaveAttrAttrRangeDOMap = oldDockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t, (o1, o2) -> o2));
            //需要删除的属性取值范围
            List<String> deleteRangeIdList = new ArrayList<>();
            oldDockingPreAttrRangeList.stream().forEach(cbo -> {
                String oid = cbo.getOid();
                if (!allSaveAttrAttrRangeDOMap.containsKey(oid)) {
                    deleteRangeIdList.add(oid);
                }
            });
            dockingPreAttrRangeService.removeBatchByIds(deleteIdList);//删除已经丢掉的
            dockingPreAttrRangeService.saveOrUpdateBatch(newDockingPreAttrRangeList);//添加更新新的配置信息
        }
        return dockingPreAttrMappingVOList;
    }
    /***
     * æ ¹æ®ä¸»æ•°æ®oid检测是否属性映射配置
     * @param targetClassifyId
     * @return
     * @throws Exception
     */
    @Override
    public boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId){
        Long count =0L;
        try {
            count = dockingPreAttrMappingMapper.selectCount(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, targetClassifyId));
        }catch (Throwable e){
            e.printStackTrace();;
        } finally {
            return  count>0?true:false;
        }
    }
    /***
     * å¯¹è±¡è½¬æ¢
     * @param dockingPreAttrMappings
     * @return
     */
    private List<DockingPreAttrMappingVO> dockingPreAttrMappingDO2VOS(Collection<DockingPreAttrMapping> dockingPreAttrMappings,boolean contain) {
        List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList=new ArrayList<>();
            dockingPreAttrMappingVOList=DockingPreAttrMappingWrapper.build().entityVOs(dockingPreAttrMappings);
            if(CollectionUtils.isEmpty(dockingPreAttrMappingVOList)){
                dockingPreAttrMappingVOList.stream().distinct().forEach(dockingPreAttrMappingVO -> {
                    if(contain) {
                        List<DockingPreAttrRangeVO>  dockingPreAttrRangeVOList=    dockingPreAttrRangeService.getDockingPreAttrRangesByMetaId(dockingPreAttrMappingVO.getMetaListId());
                        dockingPreAttrMappingVO.setDockingPreAttrRangeVoList(dockingPreAttrRangeVOList);
                    }
                });
            }
            return dockingPreAttrMappingVOList;
        }
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrRangeServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
package com.vci.ubcs.code.webservice.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.webservice.mapper.DockingPreAttrRangeMapper;
import com.vci.ubcs.code.webservice.service.IDockingPreAttrRangeService;
import com.vci.ubcs.code.webservice.wrapper.DockingPreAttrRangeWrapper;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrRange;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrRangeVO;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/***
 *集团属性取值范围服务
 * @author xiejun
 * @date 2023-05-22
 */
@Service
@Slf4j
public class DockingPreAttrRangeServiceImpl extends ServiceImpl<DockingPreAttrRangeMapper, DockingPreAttrRange> implements IDockingPreAttrRangeService {
    @Autowired(required = false)
    DockingPreAttrRangeMapper dockingPreAttrRangeMapper;
    /***
     * æ ¹æ®é›†å›¢å±žæ€§ä¸»é”®æŸ¥è¯¢å…¶å–值范围
     * @param meatId
     * @return
     */
    @Override
    public List<DockingPreAttrRangeVO> getDockingPreAttrRangesByMetaId(String meatId) {
        log.info("查询集团属性->"+meatId+"取值范围start");
        VciBaseUtil.alertNotNull(meatId,"属性主键");
        List<DockingPreAttrRange> dockingPreAttrMappings=this.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda().eq(DockingPreAttrRange::getMetaListId, meatId));
        log.info("查询集团属性->"+meatId+"取值范围end");
        return DockingPreAttrRangeWrapper.build().entityVOs(dockingPreAttrMappings);
    }
    /****
     * æž„造器查询方式
     * @param wrapper æŸ¥è¯¢å°è£…器
     * @return
     */
    @Override
    public List<DockingPreAttrRange> selectByWrapper(Wrapper wrapper) {
        return dockingPreAttrRangeMapper.selectList(wrapper);
    }
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreClassifyServiceImpl.java ÐÞ¸Ä
@@ -1,26 +1,29 @@
package com.vci.ubcs.code.service.impl;
package com.vci.ubcs.code.webservice.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.DockingPreClassify;
import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
import com.vci.ubcs.code.mapper.DockingPreClassifyMapper;
import com.vci.ubcs.code.service.IDockingPreClassifyService;
import com.vci.ubcs.code.service.IDockingPreViewModelService;
import com.vci.ubcs.code.vo.pagemodel.DockingPreClassifyVO;
import com.vci.ubcs.code.vo.pagemodel.DockingPreViewModelVO;
import com.vci.ubcs.code.wrapper.DockingPreClassifyWrapper;
import com.vci.ubcs.code.webservice.mapper.DockingPreClassifyMapper;
import com.vci.ubcs.code.webservice.service.IDockingPreApplyFormService;
import com.vci.ubcs.code.webservice.service.IDockingPreAttrMappingService;
import com.vci.ubcs.code.webservice.service.IDockingPreClassifyService;
import com.vci.ubcs.code.webservice.service.IDockingPreViewModelService;
import com.vci.ubcs.code.webservice.wrapper.DockingPreClassifyWrapper;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.code.webservice.entity.DockingPreClassify;
import com.vci.ubcs.code.webservice.vo.DockingPreClassifyVO;
import com.vci.ubcs.code.webservice.vo.DockingPreViewModelVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import static com.vci.ubcs.code.constant.MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD;
import static com.vci.ubcs.code.service.impl.CodeClassifyServiceImpl.PARENT_FIELD_NAME;
/**
 * é›†å›¢åˆ†ç±»ä¸šåŠ¡æœåŠ¡
@@ -30,6 +33,10 @@
@Service
@Slf4j
public class DockingPreClassifyServiceImpl extends ServiceImpl<DockingPreClassifyMapper, DockingPreClassify> implements IDockingPreClassifyService {
    /**
     * ä¸Šçº§èŠ‚ç‚¹çš„å±žæ€§åç§°
     */
    public static  final String PARENT_FIELD_NAME = "parentCodeClassifyOid";
    /***
     * é›†å›¢åˆ†ç±»å±žæ€§
     */
@@ -41,6 +48,14 @@
     */
    @Resource
    private IDockingPreViewModelService dockingPreViewModelService;
    /***
     *集团集成配置服务
     */
    @Resource
    private IDockingPreAttrMappingService dockingPreAttrMappingService;
    /**
     * å¯¹è±¡çš„æ“ä½œ
@@ -61,16 +76,19 @@
        List<DockingPreClassifyVO> dockingPreClassifyVOS= getCompanyGourpClassByParentId(treeQueryObject.getParentOid(),true);
        List<Tree> tree= revisionModelUtil.doList2Trees(dockingPreClassifyVOS,treeWrapperOptions,(DockingPreClassifyVO s) ->{
            //可以在这里处理树节点的显示
            return s.getId() + " " + s.getName() + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s
                .getLcStatus()) ? (" ã€åœç”¨ã€‘ ") : "");
            return s.getId() + " " + s.getName();//(FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s.getLcStatus()) ? (" ã€åœç”¨ã€‘ ") : "");
        });
        Iterator var6 =  tree.listIterator();
        while(var6.hasNext()){
            Tree trees = (Tree) var6.next();
            boolean checkHasChild=dockingPreClassifyMapper.checkHasChild(trees.getOid());
            //如果与条件传过来的值匹配的上则设置为选中
            if(conditionMap.containsKey(CODE_CLASSIFY_OID_FIELD)){
                trees.setChecked(true);
            if(conditionMap.containsKey(MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD)){
                String codeClassifyId=conditionMap.get(MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD);
                boolean checkHas=dockingPreAttrMappingService.checkHasConfigByTragetCodeclassifyId(codeClassifyId);
                if(checkHas) {
                    trees.setChecked(true);
                }
            }
            ;
            if(checkHasChild){
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreMetaAttrServiceImpl.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreMetaAttrServiceImpl.java ÐÞ¸Ä
@@ -1,14 +1,13 @@
package com.vci.ubcs.code.service.impl;
package com.vci.ubcs.code.webservice.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.DockingPreAttrMapping;
import com.vci.ubcs.code.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.mapper.DockingPreMetaAttrMapper;
import com.vci.ubcs.code.service.IDockingPreMetaAttrService;
import com.vci.ubcs.code.vo.pagemodel.DockingPreMetaAttrVO;
import com.vci.ubcs.code.wrapper.DockingPreMetaAttrWrapper;
import com.vci.ubcs.code.webservice.mapper.DockingPreMetaAttrMapper;
import com.vci.ubcs.code.webservice.service.IDockingPreMetaAttrService;
import com.vci.ubcs.code.webservice.wrapper.DockingPreMetaAttrWrapper;
import com.vci.ubcs.code.webservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.webservice.vo.DockingPreMetaAttrVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -41,7 +40,7 @@
    public List<DockingPreMetaAttrVO> selectDockingPreMetaAttrByViewModelId(String viewModelId) {
        log.info("根据模型视图oid"+viewModelId+"查询数据 star");
        List<DockingPreMetaAttr> dockingPreMetaAttrList= selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getViewModelId,viewModelId));
        List<DockingPreMetaAttrVO> dockingPreMetaAttrVOList=DockingPreMetaAttrWrapper.build().entityVOs(dockingPreMetaAttrList);
        List<DockingPreMetaAttrVO> dockingPreMetaAttrVOList= DockingPreMetaAttrWrapper.build().entityVOs(dockingPreMetaAttrList);
        log.info("根据模型视图oid"+viewModelId+"查询数据 end");
        return dockingPreMetaAttrVOList;
    }
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreViewModelServiceImpl.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreViewModelServiceImpl.java ÐÞ¸Ä
@@ -1,18 +1,18 @@
package com.vci.ubcs.code.service.impl;
package com.vci.ubcs.code.webservice.service.impl;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.entity.DockingPreViewModel;
import com.vci.ubcs.code.mapper.DockingPreViewModelMapper;
import com.vci.ubcs.code.service.IDockingPreMetaAttrService;
import com.vci.ubcs.code.service.IDockingPreViewModelService;
import com.vci.ubcs.code.vo.pagemodel.DockingPreMetaAttrVO;
import com.vci.ubcs.code.vo.pagemodel.DockingPreViewModelVO;
import com.vci.ubcs.code.wrapper.DockingPreMetaAttrWrapper;
import com.vci.ubcs.code.wrapper.DockingPreViewWrapper;
import com.vci.ubcs.code.webservice.mapper.DockingPreViewModelMapper;
import com.vci.ubcs.code.webservice.service.IDockingPreMetaAttrService;
import com.vci.ubcs.code.webservice.service.IDockingPreViewModelService;
import com.vci.ubcs.code.webservice.wrapper.DockingPreMetaAttrWrapper;
import com.vci.ubcs.code.webservice.wrapper.DockingPreViewWrapper;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.code.webservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.webservice.entity.DockingPreViewModel;
import com.vci.ubcs.code.webservice.vo.DockingPreMetaAttrVO;
import com.vci.ubcs.code.webservice.vo.DockingPreViewModelVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -32,7 +32,7 @@
     * é›†å›¢åˆ†ç±»å±žæ€§
     */
    @Resource
    private  DockingPreViewModelMapper dockingPreViewModelMapper;
    private DockingPreViewModelMapper dockingPreViewModelMapper;
    /***
@@ -52,7 +52,7 @@
        log.info("根据分类id->"+classifyId+",查询分类视图statr");
        VciBaseUtil.alertNotNull(classifyId,"集团分类主键");
        List<DockingPreViewModel> dockingPreViewModels= dockingPreViewModelMapper.selectList(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,classifyId));
        List<DockingPreViewModelVO> dockingPreViewModelVOS=DockingPreViewWrapper.build().entityVOs(dockingPreViewModels);
        List<DockingPreViewModelVO> dockingPreViewModelVOS= DockingPreViewWrapper.build().entityVOs(dockingPreViewModels);
        if(isContainAttr) {
            dockingPreViewModelVOS.stream().forEach(dockingPreViewModelVO -> {
                String viewModelVOOid=dockingPreViewModelVO.getOid();
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,921 @@
package com.vci.ubcs.code.webservice.service.impl;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.vci.ubcs.code.webservice.entity.*;
import com.vci.ubcs.code.webservice.vo.*;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.code.webservice.feign.MdmApplyGroupCodeProvider;
import com.vci.ubcs.code.webservice.mapper.DockingPreAttrMappingMapper;
import com.vci.ubcs.code.webservice.service.*;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/***
 * ä¸Žé›†å›¢é›†æˆæœåŠ¡
 * @author xiejun
 * @date 2023-05-26
 */
@Service
@Slf4j
public class GroupMdmInterServiceImpl implements IGroupMdmInterService {
    private String code="";
    private String msg="";
    @Value("${docking.apply.unitCode:41000}")
    public String dockingApplyUnitCode;
    @Value("${docking.apply.sysName:410-MDM}")
    public String dockingApplySysName;
    @Autowired(required = false)
    private MdmApplyGroupCodeProvider mdmApplyGroupCodeProvider;
    /***
     * é›†å›¢åˆ†ç±»æœåŠ¡
     */
    @Autowired(required = false)
    private IDockingPreClassifyService dockingPreClassifyService;
    /***
     * ç”³è¯·å•服务
     */
    @Autowired(required = false)
    private IDockingPreApplyFormService dockingPreApplyFormService;
    /***
     * æ¨¡åž‹è§†å›¾å•服务
     */
    @Autowired(required = false)
    private IDockingPreViewModelService dockingPreViewModelService;
    /***
     * é›†å›¢åˆ†ç±»å±žæ€§å±žæ€§æ˜ å°„配置服务
     */
    @Autowired(required = false)
    private DockingPreAttrMappingMapper dockingPreAttrMappingMapper;
    /***
     * å±žæ€§å–值范围服务
     */
    @Autowired(required = false)
    private IDockingPreAttrRangeService dockingPreAttrRangeService;
    /***
     * é›†å›¢å±žæ€§æœåŠ¡
     */
    @Autowired(required = false)
    private IDockingPreMetaAttrService dockingPreMetaAttrService;
    /***
     * ä¸»æ•°æ®åƒé›†å›¢ç”³è¯·ç¼–码
     * @param oids éœ€è¦ç”³è¯·çš„æ•°æ®ä¸»é”®æ•°ç»„
     * @param btmName ä¸šåŠ¡ç±»åž‹
     * @return è¿”回结果信息
     * @throws Exception
     */
    @Transactional(rollbackFor = VciBaseException.class)
    @Override
    public R applyGroupCode(String oids, String btmName) throws VciBaseException {
        try {
            List<BaseModel> updateCbos = new ArrayList<BaseModel>();
            List<DockingPreApplyForm> dockingPreAttrMappings = new ArrayList<>();
            VciBaseUtil.alertNotNull(oids, "选择的数据");
            VciBaseUtil.alertNotNull(btmName, "业务类型");
            //List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids));
            List<BaseModelVO> dataModelList = new ArrayList<>();
            if (!CollectionUtils.isEmpty(dataModelList)) {
                DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO();
                //申请单和申请单对象关系
                Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
                Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
                Map<String, BaseModelVO> baseModelVOMap = new HashMap<String, BaseModelVO>();
                //组织数据
                dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap);
                DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO);
                code = resultDataObject.getCode();
                msg = resultDataObject.getMsg();
                if ("1".equals(resultDataObject.getCode())) {//结果正确的情况
                    List<DockingDataVO> dataObjectVOList = resultDataObject.getData();
                    dataObjectVOList.stream().forEach(dataObject -> {
                        boolean isEditDatas = false;
                        String code2 = dataObject.getCode();
                        DockingMainDataVO data2 = dataObject.getData();
                        String applyId = data2.getApplyId();//申请单id
                        String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//集团码段
                        msg = dataObject.getMsg();
                        if (code2.equals("1")) {//结果正确的情况
                            if (!"".equals(customCoding)) {
                                isEditDatas = true;
                            }
                        }
                        //需要修改的申请单数据
                        if (editDockingPreApplyFormMap.containsKey(applyId)) {
                            DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId);
                            dockingPreApplyForm.setCode(code2);
                            dockingPreApplyForm.setMsg("申请:" + msg);
                            dockingPreApplyForm.setGroupCode(customCoding);
                            ObjectMapper mp = new ObjectMapper();
                            String writeValueAsString = null;
                            try {
                                writeValueAsString = mp.writeValueAsString(dataObject);
                                dockingPreApplyForm.setContent(writeValueAsString);
                            } catch (JsonProcessingException e) {
                            }
                        }
                        //新增的申请单数据
                        if (addDockingPreApplyFormMap.containsKey(applyId)) {
                            DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId);
                            dockingPreApplyForm.setCode(code2);
                            dockingPreApplyForm.setMsg("申请:" + msg);
                            dockingPreApplyForm.setGroupCode(customCoding);
                            ObjectMapper mp = new ObjectMapper();
                            String writeValueAsString = null;
                            try {
                                writeValueAsString = mp.writeValueAsString(dataObject);
                                dockingPreApplyForm.setContent(writeValueAsString);
                            } catch (JsonProcessingException e) {
                            }
                        }
                        //如果有集团码则更新数据
                        if (isEditDatas) {
                            if (baseModelVOMap.containsKey(applyId)) {
                                BaseModelVO baseModelVO = baseModelVOMap.get(applyId);
                                BaseModel baseModel = new BaseModel();
                                BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                baseModelVO.setId(customCoding);
                                updateCbos.add(baseModel);//更新数据集团code
                            }
                        }
                    });
                } else {
                    editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                        dockingPreApplyForm.setCode("2");
                        dockingPreApplyForm.setMsg("申请:" + msg);
                        dockingPreApplyForm.setContent("");
                        dockingPreApplyForm.setGroupCode("");
                        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
                    });
                    addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                        dockingPreApplyForm.setCode("2");
                        dockingPreApplyForm.setMsg("申请:" + msg);
                        dockingPreApplyForm.setContent("");
                        dockingPreApplyForm.setGroupCode("");
                        DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                    });
                }
                if (editDockingPreApplyFormMap.size() > 0) {
                    dockingPreAttrMappings.addAll(editDockingPreApplyFormMap.values());//添加申请单数据
                }
                if (addDockingPreApplyFormMap.size() > 0) {
                    dockingPreAttrMappings.addAll(addDockingPreApplyFormMap.values());//需要修改的申请单数据
                }
                //保存表单数据
                dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
                //mdmEngineService.saveBatch(updateCbos);//保存数据
            }
            return R.success("申请接口调用成功");
        }catch (VciBaseException e){
            return R.success("申请接口调用成功"+e);
        }
    }
    /***
     * ä¸»æ•°æ®åƒé›†å›¢æ›´æ”¹ç¼–码
     * @param oids éœ€è¦ä¿®æ”¹çš„æ•°æ®ä¸»é”®æ•°ç»„
     * @param btmName ä¸šåŠ¡ç±»åž‹
     * @return è¿”回结果信息
     * @throws Throwable
     */
    @Transactional(rollbackFor = VciBaseException.class)
    @Override
    public R receiveEditApply(String oids, String btmName) throws VciBaseException {
        List<BaseModel> updateCbos=new ArrayList<BaseModel>();
        List<DockingPreApplyForm> dockingPreAttrMappings=new ArrayList<>();
        VciBaseUtil.alertNotNull(oids,"选择的数据");
        VciBaseUtil.alertNotNull(btmName,"业务类型");
        //List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids));
        List<BaseModelVO> dataModelList = new ArrayList<>();
        try {
            if (!CollectionUtils.isEmpty(dataModelList)) {
                DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO();
                //申请单和申请单对象关系
                Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
                Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
                Map<String, BaseModelVO> baseModelVOMap = new HashMap<String, BaseModelVO>();
                //组织数据
                dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap);
                DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveEditApply(dockingGroupDataVO);
                code = resultDataObject.getCode();
                msg = resultDataObject.getMsg();
                if ("1".equals(resultDataObject.getCode())) {//结果正确的情况
                    List<DockingDataVO> dataObjectVOList = resultDataObject.getData();
                    dataObjectVOList.stream().forEach(dataObject -> {
                        boolean isEditDatas = false;
                        String code2 = dataObject.getCode();
                        DockingMainDataVO data2 = dataObject.getData();
                        String applyId = data2.getApplyId();//申请单id
                        String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//集团码段
                        msg = dataObject.getMsg();
                        if (code2.equals("1")) {//结果正确的情况
                            if (!"".equals(customCoding)) {
                                isEditDatas = true;
                            }
                        }
                        //需要修改的申请单数据
                        if (editDockingPreApplyFormMap.containsKey(applyId)) {
                            DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId);
                            dockingPreApplyForm.setCode(code2);
                            dockingPreApplyForm.setMsg("修改:" + msg);
                            dockingPreApplyForm.setGroupCode(customCoding);
                            ObjectMapper mp = new ObjectMapper();
                            String writeValueAsString = null;
                            try {
                                writeValueAsString = mp.writeValueAsString(dataObject);
                                dockingPreApplyForm.setContent(writeValueAsString);
                            } catch (JsonProcessingException e) {
                            }
                        }
                        //新增的申请单数据
                        if (addDockingPreApplyFormMap.containsKey(applyId)) {
                            DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId);
                            dockingPreApplyForm.setCode(code2);
                            dockingPreApplyForm.setMsg("修改:" + msg);
                            dockingPreApplyForm.setGroupCode(customCoding);
                            ObjectMapper mp = new ObjectMapper();
                            String writeValueAsString = null;
                            try {
                                writeValueAsString = mp.writeValueAsString(dataObject);
                                dockingPreApplyForm.setContent(writeValueAsString);
                            } catch (JsonProcessingException e) {
                            }
                        }
                        //如果有集团码则更新数据
                        if (isEditDatas) {
                            if (baseModelVOMap.containsKey(applyId)) {
                                BaseModelVO baseModelVO = baseModelVOMap.get(applyId);
                                BaseModel baseModel = new BaseModel();
                                BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                baseModelVO.setId(customCoding);
                                updateCbos.add(baseModel);//更新数据集团code
                            }
                        }
                    });
                } else {
                    editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                        dockingPreApplyForm.setCode("2");
                        dockingPreApplyForm.setMsg("修改:" + msg);
                        dockingPreApplyForm.setContent("");
                        dockingPreApplyForm.setGroupCode("");
                        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
                    });
                    addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                        dockingPreApplyForm.setCode("2");
                        dockingPreApplyForm.setMsg("修改:" + msg);
                        dockingPreApplyForm.setContent("");
                        dockingPreApplyForm.setGroupCode("");
                        DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                    });
                }
                if (editDockingPreApplyFormMap.size() > 0) {
                    dockingPreAttrMappings.addAll(editDockingPreApplyFormMap.values());//添加申请单数据
                }
                if (addDockingPreApplyFormMap.size() > 0) {
                    dockingPreAttrMappings.addAll(addDockingPreApplyFormMap.values());//需要修改的申请单数据
                }
                //保存表单数据
                dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
                //mdmEngineService.saveBatch(updateCbos);//保存数据
            }
            return R.success("申请接口调用成功");
        }catch (VciBaseException e){
            return R.fail("申请接口调用失败"+e.getMessage());
        }
    }
    /***
     * èŽ·å–é›†å›¢æ¨¡åž‹è¯¦ç»†ä¿¡æ¯æ‰§è¡Œä¿å­˜
     * @param groupClassifyId
     * @return
     * @throws VciBaseException
     */
    @Override
    public R queryClassModel(String groupClassifyId) throws VciBaseException {
        log.info("获取集团模型详细信息执行保存start");
        String message="执行成功!";
        try {
            if (StringUtils.isBlank(groupClassifyId)) {
                message = "参数:集团分类主键,为空!";
                log.info(message);
                throw new Throwable(message);
            }
            if (StringUtils.isBlank(dockingApplySysName)) {
                message = "获取系统标识" + dockingApplySysName + "为空,请查看配置!";
                log.info(message);
                throw new Throwable(message);
            }
            DockingModelQueryVO dockingModelQueryVO = new DockingModelQueryVO();
            dockingModelQueryVO.setClassId(groupClassifyId);
            dockingModelQueryVO.setSysName(dockingApplySysName);
            DockingQueryClassModelVO dockingQueryClassifyModelVO = mdmApplyGroupCodeProvider.queryClassModel(dockingModelQueryVO);
            if (dockingQueryClassifyModelVO != null) {
                int code = dockingQueryClassifyModelVO.getCode();
                message = dockingQueryClassifyModelVO.getMsg();
                if (code == 1) {
                    this.saveDatas(dockingQueryClassifyModelVO);
                } else {
                    log.info(message);
                    throw new Throwable(message);
                }
            }else{
                message="未获从集团获取到任何模型信息";
                log.info(message);
                throw new Throwable(message);
            }
            return R.success(message);
        }catch (Throwable e){
            e.printStackTrace();;
            log.error("获取数据模型详细信息失败"+e);
            R.fail(message);
        }
        log.info("获取集团模型详细信息执行保存end");
        return R.success(message);
    }
    /***
     * ä»Žé›†å›¢èŽ·å–ä¸»æ¨¡åž‹ä¿¡æ¯æ‰§è¡Œä¿å­˜
     * @return
     * @throws Throwable
     */
    @Override
    public R queryMdmModel() throws Throwable {
        String message="执行成功!";
        log.info("从集团获取主模型信息执行保存接口statr");
        try {
            if (StringUtils.isBlank(dockingApplySysName)) {
                message = "获取系统标识" + dockingApplySysName + "为空,请查看配置!";
                log.info(message);
                throw new Throwable(message);
            }
            DockingModelQueryVO dockingModelQueryVO = new DockingModelQueryVO();
            dockingModelQueryVO.setSysName(dockingApplySysName);
            DockingQueryModelVO dockingQueryModelVO=  mdmApplyGroupCodeProvider.queryMdmModel(dockingModelQueryVO);
            if (dockingQueryModelVO != null) {
                int code = dockingQueryModelVO.getCode();
                message = dockingQueryModelVO.getMsg();
                if (code == 1) {
                    List<DockingClassifyVO> dockingClassifyVOList=dockingQueryModelVO.getData();
                    List<DockingPreClassify>dockingPreClassifyList=new ArrayList<>();
                    dockingClassifyVOList.stream().forEach(dockingClassifyVO -> {
                        String id = StringUtils.isBlank(dockingClassifyVO.getId())?"":dockingClassifyVO.getId();
                        String className = StringUtils.isBlank(dockingClassifyVO.getClassName())?"":dockingClassifyVO.getClassName();
                        String classNumber = StringUtils.isBlank(dockingClassifyVO.getClassNumber())?"":dockingClassifyVO.getClassNumber();
                        String nodeLink = StringUtils.isBlank(dockingClassifyVO.getNodeLink())?"":dockingClassifyVO.getNodeLink();
                        String nodeLinkName = StringUtils.isBlank(dockingClassifyVO.getNodeLinkName())?"":dockingClassifyVO.getNodeLinkName();
                        String pid = StringUtils.isBlank(dockingClassifyVO.getPid())?"":dockingClassifyVO.getPid();
                        String version = StringUtils.isBlank(dockingClassifyVO.getVersion())?"":dockingClassifyVO.getVersion();
                        DockingPreClassify dockingPreClassify=    this.dockingPreClassifyService.getById(id);
                        log.info("classify:-------------->集团分类主机:"+id);
                        log.info("classify:-------------->集团分类名称:"+className);
                        log.info("classify:--------------> é›†å›¢åˆ†ç±»çˆ¶èŠ‚ç‚¹:"+pid);
                        log.info("classify:-------------->链接:"+nodeLink);
                        log.info("classify:-------------->集团分类代号:"+classNumber);
                        log.info("classify:-------------->链接名称:"+nodeLinkName);
                        log.info("classify:-------------->链接版本:"+version);
                        if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) {
                            DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
                        } else {
                            DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
                        }
                        dockingPreClassify.setOid(id);
                        dockingPreClassify.setName(className);
                        dockingPreClassify.setPid(pid);
                        dockingPreClassify.setId(classNumber);
                        dockingPreClassify.setNodeLink(nodeLink);
                        dockingPreClassify.setGetNodeLinkName(nodeLinkName);
                        dockingPreClassify.setClassName(className);
                        dockingPreClassify.setVersionValue(version);
                        dockingPreClassifyList.add(dockingPreClassify);
                    });
                    boolean res=    dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyList);
                    if(res){
                        R.success(message);
                    }else{
                        message="保存分类主模型失败";
                        throw new Throwable(message);
                    }
                } else {
                    log.info(message);
                    throw new Throwable(message);
                }
            }else{
                message="未获从集团获取到任何模型信息";
                log.info(message);
                throw new Throwable(message);
            }
            return R.success(message);
        }catch (Throwable e){
            e.printStackTrace();;
            log.error("获取数据模型失败"+e);
            R.fail(message);
        }
        log.info("从集团获取主模型信息执行保存接口end");
        return R.success(message);
    }
    /***
     * ç»„织 ä¿å­˜æ•°æ®æ–¹æ³•
     *
     * @param dockingQueryClassifyModelVO
     * @return
     * @throws Throwable
     * @throws
     * @throws Throwable
     */
    private boolean saveDatas(DockingQueryClassModelVO dockingQueryClassifyModelVO) throws Throwable {
        try {
            DockingClassifyMainVO mainData = dockingQueryClassifyModelVO.getMainData();
            List<DockingClassifyVO> classList = mainData.getClassList();
            Map<String,List<DockingClassifyViewVO>>classInfoMap = mainData.getClassInfos();
            ////initVCIInvocationInfo("1");
            List<DockingPreClassify> dockingPreClassifyArrayList=new ArrayList<>();
            for (DockingClassifyVO jclassObject : classList) {
                String id =StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId();
                String className = StringUtils.isBlank(jclassObject.getClassName())?"":jclassObject.getClassName();
                String pid = StringUtils.isBlank(jclassObject.getPid())?"":jclassObject.getPid();
                String nodeLink = StringUtils.isBlank(jclassObject.getNodeLink())?"":jclassObject.getNodeLink();
                String nodeLinkName = StringUtils.isBlank(jclassObject.getNodeLinkName())?"":jclassObject.getNodeLinkName();
                String classNumber = StringUtils.isBlank(jclassObject.getClassNumber())?"":jclassObject.getClassNumber();
                //根据分类查询模型视图对象
                DockingPreClassify dockingPreClassify = dockingPreClassifyService.getById(id);
                log.info("classify:-------------->集团分类主机:"+id);
                log.info("classify:-------------->集团分类名称:"+className);
                log.info("classify:--------------> é›†å›¢åˆ†ç±»çˆ¶èŠ‚ç‚¹:"+pid);
                log.info("classify:-------------->链接:"+nodeLink);
                log.info("classify:-------------->链接名称:"+nodeLinkName);
                if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) {
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
                } else {
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
                }
                dockingPreClassify.setOid(id);
                dockingPreClassify.setName(className);
                dockingPreClassify.setPid(pid);
                dockingPreClassify.setId(classNumber);
                dockingPreClassify.setNodeLink(nodeLink);
                dockingPreClassify.setGetNodeLinkName(nodeLinkName);
                dockingPreClassify.setClassName(className);
                dockingPreClassifyArrayList.add(dockingPreClassify);
                // èŽ·å–å¯¹åº”çš„åˆ†ç±»è§†å›¾æ¨¡åž‹
                if (classInfoMap.containsKey(id)) {
                    List<DockingClassifyViewVO> list = classInfoMap.get(id);
                    getVilewMode(jclassObject,list);
                }
            }
            boolean res= dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyArrayList);
            return res;
        } catch (Throwable e) {
            e.printStackTrace();
            throw new Throwable("存储视图模型出现问题");
        }
    }
    /***
     * èŽ·å–åˆ†ç±»è§†å›¾
     *
     * @param jclassObject
     * @throws Throwable
     */
    private void getVilewMode(DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list)
        throws Throwable {
        String nodeLinkName = jclassObject.getNodeLinkName();
        try {
            String jclassId = com.alibaba.cloud.commons.lang.StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId();
            Map<String, DockingPreViewModel> jviewmodelMap = new HashMap<String, DockingPreViewModel>();
            //Map<String, String> condtionMa = new HashMap<String, String>();
            //    condtionMa.put("jsourceclsfid", jclassId);
            List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,false));// æ ¹æ®åˆ†ç±»æŸ¥è¯¢æ¨¡åž‹è§†å›¾å¯¹è±¡
            for (DockingPreViewModel dockingPreViewModel : dockingPreViewModelList) {
                jviewmodelMap.put(dockingPreViewModel.getViewName(),dockingPreViewModel);
            }
            for (DockingClassifyViewVO viewInfo : list) {
                String viewName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(viewInfo.getViewName())?"":viewInfo.getViewName();
                String impactList = com.alibaba.cloud.commons.lang.StringUtils.isBlank(viewInfo.getImpactList())?"":viewInfo.getImpactList();
                log.info("VilewMode:-------------->视图名称:"+viewName);
                log.info("VilewMode:-------------->影响编码项:"+impactList);
                log.info("VilewMode:--------------> é›†å›¢åˆ†ç±»ä¸»é”®:"+jclassId);
                List<DockingClassifyMetaAttrVO> metaList = viewInfo.getMetaList();
                DockingPreViewModel jviewModelObject = null;
                if (jviewmodelMap.containsKey(viewName)) {
                    jviewModelObject = jviewmodelMap.get(viewName);
                    //影响编码项的数据
                    jviewModelObject.setImpactList(impactList);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject);
                } else {
                    jviewModelObject =new DockingPreViewModel();
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL);
                    jviewModelObject.setSourceClassifyId(jclassId);// é›†å›¢åˆ†ç±»id
                    jviewModelObject.setViewName(viewName);// é›†å›¢è§†å›¾åç§°
                    //影响编码项的数据
                    jviewModelObject.setImpactList(impactList);
                    dockingPreViewModelList.add(jviewModelObject);
                }
                // èŽ·å–æ¨¡åž‹è§†å›¾ä¸‹çš„å±žæ€§é›†
                // String oid = jviewModelObject.getOid();
                List<DockingPreMetaAttr>allDockingPreMetaAttrList=new ArrayList<>();
                getMetaAttrObject(metaList, jclassId, jviewModelObject, "root",allDockingPreMetaAttrList);
                //保存模型视图属性
                dockingPreMetaAttrService.saveOrUpdateBatch(allDockingPreMetaAttrList);
                //保存模型视图
                dockingPreViewModelService.saveOrUpdateBatch(dockingPreViewModelList);
            }
        } catch (Throwable e) {
            e.printStackTrace();
            throw new Throwable("组织分类" + nodeLinkName + "模型视图存储出现问题");
        }
    }
    /***
     * èŽ·å–æ¨¡åž‹è§†å›¾å±žæ€§
     * @throws Throwable
     */
    private void getMetaAttrObject(List<DockingClassifyMetaAttrVO> metaList,
                                   String jclassId, DockingPreViewModel jviewModelObject, String pid,List<DockingPreMetaAttr>allDockingPreMetaAttrList)throws Throwable {
        try {
            //// æ ¹æ®åˆ†ç±»æŸ¥è¯¢æ¨¡åž‹è§†å›¾å¯¹è±¡
            List<DockingPreMetaAttr> dockingPreMetaAttrList = dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda()
                .eq(DockingPreMetaAttr::getSourceClassifyId,jclassId).eq(DockingPreMetaAttr::getViewModelId,jviewModelObject.getOid())
                .eq(DockingPreMetaAttr:: getPid,pid));
            Map<String,DockingPreMetaAttr> jmetaattrMap = dockingPreMetaAttrList.stream().filter(
                s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName().toLowerCase(Locale.ROOT), t -> t));
            for (DockingClassifyMetaAttrVO dockingClassifyMetaAttrVO : metaList) {
                String chineseName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getChineseName())?"":dockingClassifyMetaAttrVO.getChineseName();// å±žæ€§åç§°
                String englishName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getEnglishName())?"":dockingClassifyMetaAttrVO.getEnglishName();// è‹±æ–‡åç§°
                String defaultValue = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getDefaultValue())?"":dockingClassifyMetaAttrVO.getDefaultValue();
                Integer metadataType =dockingClassifyMetaAttrVO.getMetadataType();// ç±»åž‹
                Integer necessaryConf = dockingClassifyMetaAttrVO.getNecessaryConf();// æ˜¯å¦å¿…å¡«
                Map<String, String> range = dockingClassifyMetaAttrVO.getRange()==null?new HashMap<String, String>():dockingClassifyMetaAttrVO.getRange();// å–值范围
                log.info("metaAttr:-------------->属性名称:"+chineseName);
                log.info("metaAttr:-------------->英文名称:"+englishName);
                log.info("metaAttr:-------------->默认值:"+defaultValue);
                log.info("metaAttr:--------------> ç±»åž‹:"+metadataType);
                log.info("metaAttr:-------------->  æ˜¯å¦å¿…å¡«:"+necessaryConf);
                DockingPreMetaAttr dockingPreMetaAttr = new DockingPreMetaAttr();
                if (jmetaattrMap.containsKey(englishName)) {
                    dockingPreMetaAttr = jmetaattrMap.get(englishName);
                    dockingPreMetaAttr.setChineseName(chineseName);
                    dockingPreMetaAttr.setDefaultValue(defaultValue);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr);
                } else {
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR);
                    dockingPreMetaAttr.setSourceClassifyId(jclassId);// é›†å›¢åˆ†ç±»id
                    dockingPreMetaAttr.setViewModelId(jviewModelObject.getOid());// é›†å›¢è§†å›¾æ¨¡åž‹id
                    dockingPreMetaAttr.setChineseName(chineseName);// å±žæ€§åç§°
                    dockingPreMetaAttr.setEnglishName(englishName);// å±žæ€§å­—段
                    dockingPreMetaAttr.setDefaultValue(defaultValue);// å±žæ€§åç§°
                    dockingPreMetaAttr.setMetaDataType(metadataType);// å±žæ€§ç±»åž‹
                    dockingPreMetaAttr.setNecesSaryConf(necessaryConf);// å±žæ€§å¿…填项
                    dockingPreMetaAttr.setPid(pid);// çˆ¶èŠ‚ç‚¹id
                }
                if(range!=null&&range.size()>0){
                    // èŽ·å–å±žæ€§å€¼åŸŸ
                    getRange(dockingPreMetaAttr, range);
                }
                /***
                 * èŽ·å–å­èŠ‚ç‚¹
                 */
                DockingClassifyMetaAttrVO compositeMeta = dockingClassifyMetaAttrVO.getCompositeMeta();
                if (compositeMeta != null) {
                    pid = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingPreMetaAttr.getOid())?"":dockingPreMetaAttr.getOid();// å½“前oid
                    List<DockingClassifyMetaAttrVO> childMetaList = new ArrayList<>();
                    childMetaList.add(compositeMeta);
                    getMetaAttrObject(childMetaList, jclassId,jviewModelObject, pid,allDockingPreMetaAttrList);
                }
            }
        } catch (Throwable e) {
            e.printStackTrace();
            log.error("组织模型视图"+ jviewModelObject.getViewName()
                + "属性存储出现问题" + e);
            throw new Throwable("组织模型视图"+ jviewModelObject.getViewName()
                + "属性存储出现问题" + e);
        }
    }
    /**
     * @throws Throwable
     *             * èŽ·å–å€¼åŸŸ
     * @param metaAttrObject
     * @param range
     * @throws
     */
    private void getRange(DockingPreMetaAttr metaAttrObject,Map<String, String> range) throws Throwable {
        String metaAttrOid = com.alibaba.cloud.commons.lang.StringUtils.isBlank(metaAttrObject.getOid())?"":metaAttrObject.getOid();// å±žæ€§çš„oid
        String jchinesename = com.alibaba.cloud.commons.lang.StringUtils.isBlank(metaAttrObject.getChineseName())?"":metaAttrObject.getChineseName();
        Map<String, DockingPreAttrRange> rangeMap = new HashMap<>();
        try {
            Map<String, String> condtionMa = new HashMap<String, String>();
            condtionMa.put("jmetalistid", metaAttrOid);
            List<DockingPreAttrRange> jmetaattrList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda()
                .eq(DockingPreAttrRange::getMetaListId,metaAttrOid));// æ ¹æ®åˆ†ç±»æŸ¥è¯¢æ¨¡åž‹è§†å›¾å¯¹è±¡
            rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getNumText().toLowerCase(Locale.ROOT))?"":s.getNumText().toLowerCase(Locale.ROOT), t -> t));
            for (String rangeKey : range.keySet()) {
                DockingPreAttrRange rangeObject = new DockingPreAttrRange();
                String keyValue = com.alibaba.cloud.commons.lang.StringUtils.isBlank(range.get(rangeKey))?"":range.get(rangeKey);
                log.info("range:-------------->显示值"+rangeKey+",内部值"+keyValue);
                if (rangeMap.containsKey(rangeKey)) {
                    rangeObject = rangeMap.get(rangeKey);
                    rangeObject.setNumTextValue(keyValue);
                    rangeObject.setNumText(rangeKey);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject);
                } else {
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE);
                    rangeObject.setNumTextValue(keyValue);
                    rangeObject.setNumText(rangeKey);
                    rangeObject.setTs(rangeObject.getLastModifyTime());
                    rangeObject.setMetaListId(metaAttrOid);
                    log.info("range:-------------->属性内部值:"+metaAttrOid);
                    log.info("range:-------------->时间:"+rangeObject.getLastModifyTime());
                    jmetaattrList.add(rangeObject);
                }
            }
            dockingPreAttrRangeService.saveOrUpdateBatch(jmetaattrList);
        } catch (Throwable e) {
            e.printStackTrace();
            log.info("组织属性:【" + jchinesename + "】值域出现问题"+ e);
            throw new Throwable("组织属性:【" + jchinesename + "】值域出现问题"+ e);
        }
    }
    /**
     * ç»„织数据
     * */
    private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModelVO> codeWupins,Map<String,DockingPreApplyForm>   addDockingPreApplyFormMap,Map<String,DockingPreApplyForm>  editDockingPreApplyFormMap,Map<String,BaseModelVO>  codeWupinMap) throws VciBaseException{
        try {
            String curUserName = AuthUtil.getUser().getUserName();
            //申请的数据
            List<DockingMainData> mainDataList=new ArrayList<DockingMainData>();
            for (BaseModelVO dataBusinessObject : codeWupins) {
                String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
                String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid","");
                String btmName = dataBusinessObject.getBtmname();
                String oid = dataBusinessObject.getOid();
                DockingPreApplyForm dockingPreApplyForm = new DockingPreApplyForm();
                String dataOid = dataBusinessObject.getOid();
                Map<String, String> conditionsMap = new HashMap<String, String>();
                List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype));
                String apllyCode = "";
                if (!CollectionUtils.isEmpty(applyFormObjects)) {
                    dockingPreApplyForm = applyFormObjects.get(0);
                    apllyCode = dockingPreApplyForm.getId();
                    editDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//申请单和申请单对象关系
                } else {
                    apllyCode = dockingApplyUnitCode + "-" + format;
                    dockingPreApplyForm.setId(apllyCode);
                    dockingPreApplyForm.setName("");
                    dockingPreApplyForm.setOperationType(optationtype+"");
                    dockingPreApplyForm.setDescription(dataBusinessObject.getDescription());//获取数据描述信息
                    dockingPreApplyForm.setDataOid(oid);
                    dockingPreApplyForm.setDataBtmName(btmName);
                    addDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//申请单和申请单对象关系
                }
                codeWupinMap.put(apllyCode, dataBusinessObject);//申请单和对应数据关系
                conditionsMap = new HashMap<String, String>();
                conditionsMap.put("jtargetclsfid", codeclsfid);//视图oid
                List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, codeclsfid));
                if (CollectionUtils.isEmpty(dockingPreAttrMappingList)) {
                    throw new Exception("根据所选的数据,没有找到对应的集团分类设置,请核对!");
                }
                String jsourceclsfid = dockingPreAttrMappingList.get(0).getSourceClassifyId();
                //获取数据模型分类信息
                DockingPreClassify dockingPreClassify = dockingPreClassifyService.getById(jsourceclsfid);
                DockingMainData mainData = new DockingMainData();
                mainData.setApplyEntId(dockingApplyUnitCode);//申请单位代码
                mainData.setApplyId(apllyCode);//申请单号
                mainData.setClassName(dockingPreClassify.getGetNodeLinkName());//分类名称
                mainData.setCreateBy(curUserName);//
                mainData.setSecretLevel("内部");//密级,默认为内部
                mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//获取视图模型
                mainDataList.add(mainData);
            }
            //根据数据模型,组织所需要数据
            DockingGroupDataVO postParameters=new DockingGroupDataVO();
            postParameters.setSysName(dockingApplySysName);//系统标识
            postParameters.setMainData(mainDataList);//
            return postParameters;
        } catch (Throwable e) {
            // TODO Auto-generated catch block
            throw new VciBaseException("查询数据出错"+e);
        }
    }
    /**
     * èŽ·å–æ¨¡åž‹è§†å›¾
     * @param dockingPreClassify
     * @param dataBusinessObject
     * @throws VciBaseException
     */
    private List<DockingViewVO>getviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModelVO dataBusinessObject) throws Throwable{
        List<DockingViewVO> viewInfoList=new ArrayList<>();
        String jclassOid=    dockingPreClassify.getOid();
        List<DockingPreViewModel> dockingPreViewModels=new ArrayList<>();
        if(type==1) {
            //根据分类查询模型视图对象
            dockingPreViewModels= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,jclassOid).eq(DockingPreViewModel::getViewName,"编码视图"));
        }else{
            //根据分类查询模型视图对象
            dockingPreViewModels= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,jclassOid));
        }
        for (DockingPreViewModel dockingPreViewModel : dockingPreViewModels) {
            //组织数据属性信息
            DockingViewVO viewInfo=new DockingViewVO();
            viewInfo.setViewName(dockingPreViewModel.getViewName());//视图名称
            viewInfo.setViewValue(getViewValueList(dockingPreViewModel,jclassOid,dataBusinessObject));//视图
            viewInfoList.add(viewInfo);
        }
        return viewInfoList;
    }
    /***
     * èŽ·å–é…ç½®ä¿¡æ¯
     * @param dockingPreViewModel
     * @param jclassOid
     * @param dataBusinessObject
     * @return
     * @throws VciBaseException
     */
    private List<Map<String, Object>> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModelVO dataBusinessObject) throws Throwable{
        //构造模型视图数据
        List<Map<String, Object>> viewValueList=new ArrayList<Map<String,Object>>();
        String oid = dockingPreViewModel.getOid();
        Map<String,String> dataValueMap=dataBusinessObject.getData();
        String codeClassifyId=dataValueMap.get("codeclsfid");
        Map<String,String>conditionsMap=new HashMap<String, String>();
        List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda()
            .eq(DockingPreAttrMapping::getSourceClassifyId, jclassOid).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId));
        if(CollectionUtils.isEmpty(dockingPreAttrMappingList)) {
            return viewValueList;
        }
        Map<String,DockingPreAttrMapping> jintegmappconfigMap=new HashMap<String, DockingPreAttrMapping>();
        for (DockingPreAttrMapping businessObject : dockingPreAttrMappingList) {
            jintegmappconfigMap.put(businessObject.getSourceAttrKey(), businessObject);
        }
        List<DockingPreMetaAttr> dockingPreMetaAttrList= dockingPreMetaAttrService.selectByWrapper(
            Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getViewModelId,dockingPreViewModel.getOid())
                .eq(DockingPreMetaAttr::getSourceClassifyId,dockingPreViewModel.getSourceClassifyId()));
        Map<String,Object> viewValueMap=new HashMap<String,Object>();
        for (DockingPreMetaAttr dockingPreMetaAttr : dockingPreMetaAttrList) {
            String jenglishname=dockingPreMetaAttr.getEnglishName();////集团配置属性
            if(jintegmappconfigMap.containsKey(jenglishname)){
                DockingPreAttrMapping dockingPreAttrMapping=jintegmappconfigMap.get(jenglishname);
                String attrId = dockingPreAttrMapping.getTargetAttrId();//编码属性id
                String jtargetattrkey = dockingPreAttrMapping.getTargetAttrKey();//编码属性id
                Object newVaue=null;
                if(StringUtils.isNotBlank(jtargetattrkey)){
                    getAttrRange(dockingPreMetaAttr);//获取字段取值范围
                    String value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,"");
                    newVaue = getVaue(dockingPreMetaAttr, value);
                }else{
                    newVaue = getVaue(dockingPreMetaAttr, "");
                }
                if(newVaue==null||"".equals(newVaue)){
                    newVaue= dockingPreMetaAttr.getDefaultValue();
                }
                viewValueMap.put(jenglishname, newVaue);
            }
        }
        viewValueList.add(viewValueMap);
        return viewValueList;
    }
    /***
     * èŽ·å–å±žæ€§æžšä¸¾æ˜ å°„é…ç½®
     */
    Map<String,Map<String, DockingPreAttrRange>> attrRangeMap=new HashMap<String, Map<String,DockingPreAttrRange>>();
    private void getAttrRange(DockingPreMetaAttr jmetaatter) throws Throwable{
        String jmetalistoid = jmetaatter.getOid();
        if(attrRangeMap.containsKey(jmetalistoid)) {
            return;
        }
        Map<String,String>conditionsMap=new HashMap<String, String>();
        conditionsMap.put("jmetalistid", jmetalistoid);//视图oid
        List<DockingPreAttrRange> dockingPreAttrRangeList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda().eq(DockingPreAttrRange::getMetaListId, jmetalistoid));
        if (CollectionUtils.isEmpty(dockingPreAttrRangeList)) {
            return;
        }
        Map<String, DockingPreAttrRange> rangeMap = new HashMap<String, DockingPreAttrRange>();
        rangeMap = dockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getNumTextValue(), t -> t, (o1, o2) -> o2));
        attrRangeMap.put(jmetalistoid, rangeMap);
    }
    /****
     * å€¼ç±»åž‹è½¬æ¢
     * @param jmetaatter
     * @param value
     * @return
     * @throws Throwable
     */
    private Object getVaue(DockingPreMetaAttr jmetaatter,String value) throws Throwable{
        //jmetadatatype    å…ƒæ•°æ®ç±»åž‹ï¼ˆ1 å­—符型, 2 æ•´åž‹, 3 é•¿æ•´åž‹, 4 å•精度, 5 åŒç²¾åº¦,6 æ—¥æœŸåž‹, 7 æ—¶é—´åž‹, 8 å¸ƒå°”åž‹, 9 æ–‡ä»¶, 10复合型)
        int jmetadatatype = jmetaatter.getMetaDataType();
        String jmetalistoid = jmetaatter.getOid();
        Map<String, DockingPreAttrRange> rangeMap=new HashMap<String, DockingPreAttrRange>();
        if(attrRangeMap.containsKey(jmetalistoid)){
            rangeMap = attrRangeMap.get(jmetalistoid);
            if(rangeMap.containsKey(value)){
                DockingPreAttrRange dockingPreAttrRange = rangeMap.get(value);
                value=dockingPreAttrRange.getNumText();//将编码属性域值转换成集团对应的域值
            }
        }
        if(jmetadatatype==1){//1 å­—符型
            return StringUtils.isBlank(value)?"":value;
        }else if(jmetadatatype==2){//2 æ•´åž‹
            return StringUtils.isBlank(value)?null:Integer.parseInt(value);
        }else if(jmetadatatype==3){//3 é•¿æ•´åž‹
            return StringUtils.isBlank(value)?null:Long.parseLong(value);
        }else if(jmetadatatype==4){//4 å•精度,
            return StringUtils.isBlank(value)?null:Float.parseFloat(value);
        }else if(jmetadatatype==5){// 5 åŒç²¾åº¦
            return StringUtils.isBlank(value)?null:Double.parseDouble(value);
        }else if(jmetadatatype==6){//6 æ—¥æœŸåž‹
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd");
            if(StringUtils.isBlank(value)) {
                return null;
            }else {
                try {
                    return simpleDateFormat.parse(value);
                } catch (ParseException e) {
                    throw new VciBaseException("date", new String[]{"日期格式转换错误"});
                }
            }
        }else if(jmetadatatype==7){//7 æ—¶é—´åž‹
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
            if(StringUtils.isBlank(value)) {
                return null;
            }else{
                try {
                    return simpleDateFormat.parse(value);
                } catch (ParseException e) {
                    throw new VciBaseException("date", new String[]{"日期格式转换错误"});
                }
            }
        }else    if(jmetadatatype==8){//8 å¸ƒå°”åž‹
            return value;
        }else if(jmetadatatype==9){//9 æ–‡ä»¶,
            return value;
        }else if(jmetadatatype==10){//10复合型
            return value;//符合型是什么东东如何处理
        }
        return value;
    }
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreApplyFormWrapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreApplyFormWrapper.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.vci.ubcs.code.wrapper;
package com.vci.ubcs.code.webservice.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingPreApplyForm;
import com.vci.ubcs.code.vo.pagemodel.DockingPreApplyFormVO;
import com.vci.ubcs.code.webservice.entity.DockingPreApplyForm;
import com.vci.ubcs.code.webservice.vo.DockingPreApplyFormVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreAttrMappingWrapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrMappingWrapper.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.vci.ubcs.code.wrapper;
package com.vci.ubcs.code.webservice.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingPreAttrMapping;
import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrMappingVO;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrMapping;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrMappingVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -10,6 +10,7 @@
import java.util.Collection;
import java.util.List;
import java.util.Objects;
/**
 *集团编码集成属性映射配置包装类
 *
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreAttrRangeWrapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrRangeWrapper.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.vci.ubcs.code.wrapper;
package com.vci.ubcs.code.webservice.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingPreAttrRange;
import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrRange;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrRangeVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -10,6 +10,7 @@
import java.util.Collection;
import java.util.List;
import java.util.Objects;
/**
 *集团编码分类模型视图属性取值范围包装类
 *
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreClassifyWrapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreClassifyWrapper.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.vci.ubcs.code.wrapper;
package com.vci.ubcs.code.webservice.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingPreClassify;
import com.vci.ubcs.code.vo.pagemodel.DockingPreClassifyVO;
import com.vci.ubcs.code.webservice.entity.DockingPreClassify;
import com.vci.ubcs.code.webservice.vo.DockingPreClassifyVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -10,6 +10,7 @@
import java.util.Collection;
import java.util.List;
import java.util.Objects;
/**
 *集团编码分类包装类
 *
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreMetaAttrWrapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreMetaAttrWrapper.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.vci.ubcs.code.wrapper;
package com.vci.ubcs.code.webservice.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.vo.pagemodel.DockingPreMetaAttrVO;
import com.vci.ubcs.code.webservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.webservice.vo.DockingPreMetaAttrVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -10,6 +10,7 @@
import java.util.Collection;
import java.util.List;
import java.util.Objects;
/**
 *集团编码申请模型属性包装类
 *
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/wrapper/DockingPreViewWrapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreViewWrapper.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.vci.ubcs.code.wrapper;
package com.vci.ubcs.code.webservice.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingPreViewModel;
import com.vci.ubcs.code.vo.pagemodel.DockingPreViewModelVO;
import com.vci.ubcs.code.webservice.entity.DockingPreViewModel;
import com.vci.ubcs.code.webservice.vo.DockingPreViewModelVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -10,6 +10,7 @@
import java.util.Collection;
import java.util.List;
import java.util.Objects;
/**
 *集团编码申请视图包装类
 *
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/application-dev.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
#服务器端口
server:
  port: 36016
#数据源配置
spring:
  datasource:
    url: ${ubcs.datasource.mdm.dev.url}
    username: ${ubcs.datasource.mdm.dev.username}
    password: ${ubcs.datasource.mdm.dev.password}
#关闭驼峰命名映射
mybatis-plus:
  configuration:
    map-underscore-to-camel-case: false
  #集团集成配置信息
docking:
  apply:
    #集团提供的接口地址
    jtInterUrl: http://116.205.176.185:8099
    #系统厂家单位代码
    unitCode: 131460
    #系统标识
    sysName:  410-MDM
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/application-prod.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
#服务器端口
server:
  port: 8107
#数据源配置
spring:
  datasource:
    url: ${ubcs.datasource.mdm.dev.url}
    username: ${ubcs.datasource.mdm.dev.username}
    password: ${ubcs.datasource.mdm.dev.password}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/application-test.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
#服务器端口
server:
  port: 8107
#数据源配置
spring:
  datasource:
    url: ${ubcs.datasource.mdm.dev.url}
    username: ${ubcs.datasource.mdm.dev.username}
    password: ${ubcs.datasource.mdm.dev.password}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreApplyFormMapper.xml
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingPreApplyFormMapper.xml ÐÞ¸Ä
@@ -1,8 +1,8 @@
<?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.vci.ubcs.code.mapper.DockingPreApplyFormMapper">
<mapper namespace="com.vci.ubcs.code.webservice.mapper.DockingPreApplyFormMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="DockingPreAttrMappingResultMap" type="com.vci.ubcs.code.entity.DockingPreApplyForm">
    <resultMap id="DockingPreAttrMappingResultMap" type="com.vci.ubcs.code.webservice.entity.DockingPreApplyForm">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreAttrMappingMapper.xml
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingPreAttrMappingMapper.xml ÐÞ¸Ä
@@ -1,8 +1,8 @@
<?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.vci.ubcs.code.mapper.DockingPreAttrMappingMapper">
<mapper namespace="com.vci.ubcs.code.webservice.mapper.DockingPreAttrMappingMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="plDockingPreAttrMappingResultMap" type="com.vci.ubcs.code.entity.DockingPreAttrMapping">
    <resultMap id="plDockingPreAttrMappingResultMap" type="com.vci.ubcs.code.webservice.entity.DockingPreAttrMapping">
            <result column="OID" property="oid"/>
            <result column="REVISIONOID" property="revisionOid"/>
            <result column="NAMEOID" property="nameOid"/>
@@ -36,7 +36,7 @@
            <result column="TARGETATTRID" property="targetAttrId"/>
            <result column="TARGETCLSFID" property="targetClassifyId"/>
            <result column="VIEWMODEID" property="viewModeId"/>
            <result column="VIEWMODENAME" property="viewModeName"/>
            <result column="VIEWMODENAME" property="viewModelName"/>
            <result column="TARGETATTRKEY" property="targetAttrKey"/>
            <result column="TARGETATTRNAME" property="targetAttrName"/>
            <result column="SOURCEATTRKEY" property="sourceAttrKey"/>
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreAttrRangeMapper.xml
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingPreAttrRangeMapper.xml ÐÞ¸Ä
@@ -1,8 +1,8 @@
<?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.vci.ubcs.code.mapper.DockingPreAttrRangeMapper">
<mapper namespace="com.vci.ubcs.code.webservice.mapper.DockingPreAttrRangeMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="plDockingPreAttrRangeResultMap" type="com.vci.ubcs.code.entity.DockingPreAttrRange">
    <resultMap id="plDockingPreAttrRangeResultMap" type="com.vci.ubcs.code.webservice.entity.DockingPreAttrRange">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingPreClassifyMapper.xml ÐÞ¸Ä
@@ -1,8 +1,8 @@
<?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.vci.ubcs.code.mapper.DockingPreClassifyMapper">
<mapper namespace="com.vci.ubcs.code.webservice.mapper.DockingPreClassifyMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="plDockingClassifyResultMap" type="com.vci.ubcs.code.entity.DockingPreClassify">
    <resultMap id="plDockingClassifyResultMap" type="com.vci.ubcs.code.webservice.entity.DockingPreClassify">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreMetaAttrMapper.xml
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingPreMetaAttrMapper.xml ÐÞ¸Ä
@@ -1,8 +1,8 @@
<?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.vci.ubcs.code.mapper.DockingPreMetaAttrMapper">
<mapper namespace="com.vci.ubcs.code.webservice.mapper.DockingPreMetaAttrMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="plDockingPreMetaAttrResultMap" type="com.vci.ubcs.code.entity.DockingPreMetaAttr">
    <resultMap id="plDockingPreMetaAttrResultMap" type="com.vci.ubcs.code.webservice.entity.DockingPreMetaAttr">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreViewMapper.xml
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingPreViewMapper.xml ÐÞ¸Ä
@@ -1,8 +1,8 @@
<?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.vci.ubcs.code.mapper.DockingPreViewModelMapper">
<mapper namespace="com.vci.ubcs.code.webservice.mapper.DockingPreViewModelMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="plDockingPreViewModelResultMap" type="com.vci.ubcs.code.entity.DockingPreViewModel">
    <resultMap id="plDockingPreViewModelResultMap" type="com.vci.ubcs.code.webservice.entity.DockingPreViewModel">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
Source/data/applogs/xxl-job/xxl-job-admin.log
ÎļþÌ«´ó
Source/data/applogs/xxl-job/xxl-job-admin.log.2023-05-20.zip
Binary files differ
Source/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log
@@ -1,13 +1,96 @@
2023-05-20 00:08:12,304 INFO [nacos-grpc-client-executor-localhost-1081] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [3e635850-c2bd-4d08-b6fd-e5343c60783f] Receive server push request, request = ClientDetectionRequest, requestId = 140
2023-05-20 00:08:12,403 INFO [nacos-grpc-client-executor-localhost-1081] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [3e635850-c2bd-4d08-b6fd-e5343c60783f] Ack server push request, request = ClientDetectionRequest, requestId = 140
2023-05-20 00:48:54,086 WARN [XNIO-1 task-2] o.s.b.a.health.HealthEndpointSupport [HealthEndpointSupport.java : 181] Health contributor org.springframework.boot.actuate.autoconfigure.health.HealthEndpointConfiguration$AdaptedReactiveHealthContributors$1 (redis) took 336256ms to respond
2023-05-20 00:48:54,145 INFO [lettuce-eventExecutorLoop-1-15] i.l.core.protocol.ConnectionWatchdog [AbstractInternalLogger.java : 171] Reconnecting, last destination was /1.12.225.193:6379
2023-05-20 00:48:54,382 INFO [lettuce-nioEventLoop-6-3] i.l.c.protocol.ReconnectionHandler [ReconnectionHandler.java : 174] Reconnected to 1.12.225.193:6379
2023-05-20 00:48:56,127 INFO [nacos-grpc-client-executor-localhost-1093] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [c279855f-5634-4159-84ec-09347150fd37_config-0] Receive server push request, request = ClientDetectionRequest, requestId = 172
2023-05-20 00:48:56,130 INFO [nacos-grpc-client-executor-localhost-1084] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [3e635850-c2bd-4d08-b6fd-e5343c60783f] Receive server push request, request = ClientDetectionRequest, requestId = 176
2023-05-20 00:48:56,130 INFO [nacos-grpc-client-executor-localhost-1084] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [3e635850-c2bd-4d08-b6fd-e5343c60783f] Ack server push request, request = ClientDetectionRequest, requestId = 176
2023-05-20 00:48:56,131 INFO [nacos-grpc-client-executor-localhost-1093] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [c279855f-5634-4159-84ec-09347150fd37_config-0] Ack server push request, request = ClientDetectionRequest, requestId = 172
2023-05-20 00:49:14,980 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:48:40,905 INFO [background-preinit] o.h.validator.internal.util.Version [Version.java : 21] HV000001: Hibernate Validator 6.2.3.Final
2023-05-25 14:48:42,225 INFO [main] c.a.n.p.a.s.c.ClientAuthPluginManager [ClientAuthPluginManager.java : 56] [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success.
2023-05-25 14:48:42,226 INFO [main] c.a.n.p.a.s.c.ClientAuthPluginManager [ClientAuthPluginManager.java : 56] [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success.
2023-05-25 14:48:46,150 WARN [main] c.a.c.n.c.NacosPropertySourceBuilder [NacosPropertySourceBuilder.java : 87] Ignore the empty nacos configuration and get it based on dataId[ubcs-xxljob] & group[DEFAULT_GROUP]
2023-05-25 14:48:46,155 WARN [main] c.a.c.n.c.NacosPropertySourceBuilder [NacosPropertySourceBuilder.java : 87] Ignore the empty nacos configuration and get it based on dataId[ubcs-xxljob.yaml] & group[DEFAULT_GROUP]
2023-05-25 14:48:46,162 WARN [main] c.a.c.n.c.NacosPropertySourceBuilder [NacosPropertySourceBuilder.java : 87] Ignore the empty nacos configuration and get it based on dataId[ubcs-xxljob-dev.yaml] & group[DEFAULT_GROUP]
2023-05-25 14:48:46,164 INFO [main] o.s.c.b.c.PropertySourceBootstrapConfiguration [PropertySourceBootstrapConfiguration.java : 109] Located property source: [BootstrapPropertySource {name='bootstrapProperties-ubcs-xxljob-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-ubcs-xxljob.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-ubcs-xxljob,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-ubcs-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-ubcs.yaml,DEFAULT_GROUP'}]
2023-05-25 14:48:46,188 INFO [main] c.v.ubcs.job.executor.JobApplication [SpringApplication.java : 640] The following 1 profile is active: "dev"
2023-05-25 14:48:49,436 INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java : 262] Multiple Spring Data modules found, entering strict repository configuration mode
2023-05-25 14:48:49,446 INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java : 132] Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2023-05-25 14:48:49,535 INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java : 201] Finished Spring Data repository scanning in 24 ms. Found 0 Redis repository interfaces.
2023-05-25 14:48:50,125 INFO [main] o.s.cloud.context.scope.GenericScope [GenericScope.java : 283] BeanFactory id=8a87525c-4e09-336f-9e65-667cebc7cd92
2023-05-25 14:48:50,129 INFO [main] o.s.c.l.p.BladePropertySourcePostProcessor [BladePropertySourcePostProcessor.java : 150] BladePropertySourcePostProcessor init.
2023-05-25 14:48:50,143 INFO [main] o.s.c.l.p.BladePropertySourcePostProcessor [BladePropertySourcePostProcessor.java : 62] BladePropertySourcePostProcessor process @BladePropertySource bean.
2023-05-25 14:48:50,197 WARN [main] o.s.c.l.p.BladePropertySourcePostProcessor [BladePropertySourcePostProcessor.java : 67] Not found @BladePropertySource on spring bean class.
2023-05-25 14:48:50,970 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration' of type [org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-25 14:48:50,978 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-25 14:48:50,980 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'loadBalancerClientsDefaultsMappingsProvider' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration$$Lambda$490/1128660293] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-25 14:48:50,983 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'defaultsBindHandlerAdvisor' of type [org.springframework.cloud.commons.config.DefaultsBindHandlerAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-25 14:48:51,065 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'spring.cloud.sentinel-com.alibaba.cloud.sentinel.SentinelProperties' of type [com.alibaba.cloud.sentinel.SentinelProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-25 14:48:51,074 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration' of type [com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-25 14:48:51,499 WARN [main] io.undertow.websockets.jsr [Bootstrap.java : 68] UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
2023-05-25 14:48:51,563 INFO [main] io.undertow.servlet [ServletContextImpl.java : 382] Initializing Spring embedded WebApplicationContext
2023-05-25 14:48:51,564 INFO [main] o.s.b.w.s.c.ServletWebServerApplicationContext [ServletWebServerApplicationContext.java : 292] Root WebApplicationContext: initialization completed in 5351 ms
2023-05-25 14:48:52,022 INFO [main] c.v.u.j.executor.config.XxlJobConfig [XxlJobConfig.java : 43] >>>>>>>>>>> xxl-job config init.
2023-05-25 14:48:52,038 INFO [main] c.x.job.core.executor.XxlJobExecutor [XxlJobExecutor.java : 211] >>>>>>>>>>> xxl-job register jobhandler success, name:demoJobHandler, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@5b74902c[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#demoJobHandler]
2023-05-25 14:48:52,038 INFO [main] c.x.job.core.executor.XxlJobExecutor [XxlJobExecutor.java : 211] >>>>>>>>>>> xxl-job register jobhandler success, name:demoJobHandler2, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@4e4bfd9c[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#demoJobHandler2]
2023-05-25 14:48:52,039 INFO [main] c.x.job.core.executor.XxlJobExecutor [XxlJobExecutor.java : 211] >>>>>>>>>>> xxl-job register jobhandler success, name:httpJobHandler, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@43ee1cf7[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#httpJobHandler]
2023-05-25 14:48:52,039 INFO [main] c.x.job.core.executor.XxlJobExecutor [XxlJobExecutor.java : 211] >>>>>>>>>>> xxl-job register jobhandler success, name:commandJobHandler, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@24954e82[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#commandJobHandler]
2023-05-25 14:48:52,039 INFO [main] c.x.job.core.executor.XxlJobExecutor [XxlJobExecutor.java : 211] >>>>>>>>>>> xxl-job register jobhandler success, name:shardingJobHandler, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@5b1f5fcc[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#shardingJobHandler]
2023-05-25 14:48:52,582 INFO [main] c.a.c.s.SentinelWebMvcConfigurer [SentinelWebMvcConfigurer.java : 52] [Sentinel Starter] register SentinelWebInterceptor with urlPatterns: [/**].
2023-05-25 14:48:52,659 INFO [main] o.s.c.c.v.BladeRequestMappingHandlerMapping [BladeRequestMappingHandlerMapping.java : 99] Mapped "{ [/error], produces [text/html]}" onto org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#errorHtml(HttpServletRequest, HttpServletResponse)
2023-05-25 14:48:52,660 INFO [main] o.s.c.c.v.BladeRequestMappingHandlerMapping [BladeRequestMappingHandlerMapping.java : 99] Mapped "{GET [/test/testRequest]}" onto com.vci.ubcs.job.executor.controller.TestController#testRequest(String)
2023-05-25 14:48:52,660 INFO [main] o.s.c.c.v.BladeRequestMappingHandlerMapping [BladeRequestMappingHandlerMapping.java : 99] Mapped "{ [/error]}" onto org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2023-05-25 14:48:54,823 INFO [main] com.alibaba.nacos.client.naming [InitUtils.java : 62] initializer namespace from System Property : null
2023-05-25 14:48:54,825 INFO [main] com.alibaba.nacos.client.naming [InitUtils.java : 66] initializer namespace from System Environment :null
2023-05-25 14:48:54,826 INFO [main] com.alibaba.nacos.client.naming [InitUtils.java : 73] initializer namespace from System Property :null
2023-05-25 14:48:54,851 INFO [main] c.a.n.p.a.s.c.ClientAuthPluginManager [ClientAuthPluginManager.java : 56] [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success.
2023-05-25 14:48:54,851 INFO [main] c.a.n.p.a.s.c.ClientAuthPluginManager [ClientAuthPluginManager.java : 56] [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success.
2023-05-25 14:48:54,863 INFO [main] c.alibaba.nacos.common.remote.client [RpcClientFactory.java : 95] [RpcClientFactory] create a new rpc client of 5eefa819-8d85-4d35-9131-936b45290b68
2023-05-25 14:48:54,864 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] RpcClient init label, labels = {module=naming, source=sdk}
2023-05-25 14:48:54,868 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] RpcClient init, ServerListFactory = com.alibaba.nacos.client.naming.core.ServerListManager
2023-05-25 14:48:54,868 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] Registry connection listener to current client:com.alibaba.nacos.client.naming.remote.gprc.redo.NamingGrpcRedoService
2023-05-25 14:48:54,869 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] Register server push request handler:com.alibaba.nacos.client.naming.remote.gprc.NamingPushRequestHandler
2023-05-25 14:48:54,871 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] Try to connect to server on start up, server: {serverIp = 'localhost', server main port = 8848}
2023-05-25 14:48:54,996 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] Success to connect to server [localhost:8848] on start up, connectionId = 1684997334878_127.0.0.1_54302
2023-05-25 14:48:54,997 INFO [com.alibaba.nacos.client.remote.worker] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] Notify connected event to listeners.
2023-05-25 14:48:54,997 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$ConnectResetRequestHandler
2023-05-25 14:48:54,999 INFO [com.alibaba.nacos.client.remote.worker] com.alibaba.nacos.client.naming [NamingGrpcRedoService.java : 76] Grpc connection connect
2023-05-25 14:48:55,000 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$$Lambda$376/457245448
2023-05-25 14:48:55,763 INFO [main] o.s.b.a.e.web.EndpointLinksResolver [EndpointLinksResolver.java : 58] Exposing 20 endpoint(s) beneath base path '/actuator'
2023-05-25 14:48:57,345 INFO [main] o.s.b.f.a.AutowiredAnnotationBeanPostProcessor [AutowiredAnnotationBeanPostProcessor.java : 367] Inconsistent constructor declaration on bean with name 'org.springblade.core.launch.server.ServerInfo': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.springblade.core.launch.server.ServerInfo(org.springframework.boot.autoconfigure.web.ServerProperties)
2023-05-25 14:48:58,610 WARN [main] o.s.c.l.c.LoadBalancerCacheAutoConfiguration$LoadBalancerCaffeineWarnLogger [LoadBalancerCacheAutoConfiguration.java : 82] Spring Cloud LoadBalancer is currently working with the default cache. While this cache implementation is useful for development and tests, it's recommended to use Caffeine cache in production.You can switch to using Caffeine cache, by adding it and org.springframework.cache.caffeine.CaffeineCacheManager to the classpath.
2023-05-25 14:48:58,696 INFO [main] c.x.r.r.p.XxlRpcProviderFactory [XxlRpcProviderFactory.java : 197] >>>>>>>>>>> xxl-rpc, provider factory add service success. serviceKey = com.xxl.job.core.biz.ExecutorBiz, serviceBean = class com.xxl.job.core.biz.impl.ExecutorBizImpl
2023-05-25 14:48:59,286 INFO [main] com.alibaba.nacos.client.naming [NamingClientProxyDelegate.java : 141] [SUBSCRIBE-SERVICE] service:ubcs-xxljob, group:DEFAULT_GROUP, clusters:DEFAULT
2023-05-25 14:48:59,311 INFO [main] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 181] init new ips(0) service: DEFAULT_GROUP@@ubcs-xxljob@@DEFAULT -> []
2023-05-25 14:48:59,325 INFO [main] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 166] current ips:(0) service: DEFAULT_GROUP@@ubcs-xxljob@@DEFAULT -> []
2023-05-25 14:48:59,336 INFO [Thread-58] com.xxl.rpc.remoting.net.Server [NettyHttpServer.java : 66] >>>>>>>>>>> xxl-rpc remoting server start success, nettype = com.xxl.rpc.remoting.net.impl.netty_http.server.NettyHttpServer, port = 7018
2023-05-25 14:48:59,352 INFO [main] io.undertow [Undertow.java : 120] starting server: Undertow - 2.2.18.Final
2023-05-25 14:48:59,366 INFO [main] org.xnio [Xnio.java : 95] XNIO version 3.8.7.Final
2023-05-25 14:48:59,387 INFO [main] org.xnio.nio [NioXnio.java : 58] XNIO NIO Implementation Version 3.8.7.Final
2023-05-25 14:48:59,470 INFO [main] org.jboss.threads [Version.java : 52] JBoss Threads version 3.1.0.Final
2023-05-25 14:48:59,565 INFO [main] o.s.b.w.e.undertow.UndertowWebServer [UndertowWebServer.java : 119] Undertow started on port(s) 36009 (http)
2023-05-25 14:48:59,572 INFO [main] com.alibaba.nacos.client.naming [NamingGrpcClientProxy.java : 111] [REGISTER-SERVICE] public registering service ubcs-xxljob with instance Instance{instanceId='null', ip='192.168.237.1', port=36009, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={preserved.register.source=SPRING_CLOUD}}
2023-05-25 14:48:59,589 INFO [main] c.a.c.n.r.NacosServiceRegistry [NacosServiceRegistry.java : 75] nacos registry, DEFAULT_GROUP ubcs-xxljob 192.168.237.1:36009 register finished
2023-05-25 14:48:59,893 INFO [nacos-grpc-client-executor-localhost-6] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] Receive server push request, request = NotifySubscriberRequest, requestId = 781
2023-05-25 14:48:59,897 INFO [nacos-grpc-client-executor-localhost-6] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 181] init new ips(1) service: DEFAULT_GROUP@@ubcs-xxljob -> [{"ip":"192.168.237.1","port":36009,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@ubcs-xxljob","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}]
2023-05-25 14:48:59,898 INFO [nacos-grpc-client-executor-localhost-6] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 166] current ips:(1) service: DEFAULT_GROUP@@ubcs-xxljob -> [{"ip":"192.168.237.1","port":36009,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@ubcs-xxljob","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}]
2023-05-25 14:48:59,900 INFO [nacos-grpc-client-executor-localhost-6] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [5eefa819-8d85-4d35-9131-936b45290b68] Ack server push request, request = NotifySubscriberRequest, requestId = 781
2023-05-25 14:49:00,140 INFO [main] o.s.core.launch.StartEventListener [StartEventListener.java : 45] ---[UBCS-XXLJOB]---启动完成,当前使用的端口:[36009],环境变量:[dev]---
2023-05-25 14:49:00,163 INFO [main] c.v.ubcs.job.executor.JobApplication [StartupInfoLogger.java : 61] Started JobApplication in 21.547 seconds (JVM running for 24.398)
2023-05-25 14:49:00,173 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 65] nacos.cache.data.init.snapshot = true
2023-05-25 14:49:00,175 INFO [main] c.a.n.c.config.impl.ClientWorker [ClientWorker.java : 373] [fixed-localhost_8848] [subscribe] ubcs-dev.yaml+DEFAULT_GROUP
2023-05-25 14:49:00,177 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 180] [fixed-localhost_8848] [add-listener] ok, tenant=, dataId=ubcs-dev.yaml, group=DEFAULT_GROUP, cnt=1
2023-05-25 14:49:00,177 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-dev.yaml, group=DEFAULT_GROUP
2023-05-25 14:49:00,178 INFO [main] c.a.n.c.config.impl.ClientWorker [ClientWorker.java : 373] [fixed-localhost_8848] [subscribe] ubcs-xxljob+DEFAULT_GROUP
2023-05-25 14:49:00,178 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 180] [fixed-localhost_8848] [add-listener] ok, tenant=, dataId=ubcs-xxljob, group=DEFAULT_GROUP, cnt=1
2023-05-25 14:49:00,178 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-xxljob, group=DEFAULT_GROUP
2023-05-25 14:49:00,180 INFO [main] c.a.n.c.config.impl.ClientWorker [ClientWorker.java : 373] [fixed-localhost_8848] [subscribe] ubcs.yaml+DEFAULT_GROUP
2023-05-25 14:49:00,181 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 180] [fixed-localhost_8848] [add-listener] ok, tenant=, dataId=ubcs.yaml, group=DEFAULT_GROUP, cnt=1
2023-05-25 14:49:00,181 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs.yaml, group=DEFAULT_GROUP
2023-05-25 14:49:00,182 INFO [main] c.a.n.c.config.impl.ClientWorker [ClientWorker.java : 373] [fixed-localhost_8848] [subscribe] ubcs-xxljob.yaml+DEFAULT_GROUP
2023-05-25 14:49:00,182 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 180] [fixed-localhost_8848] [add-listener] ok, tenant=, dataId=ubcs-xxljob.yaml, group=DEFAULT_GROUP, cnt=1
2023-05-25 14:49:00,182 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-xxljob.yaml, group=DEFAULT_GROUP
2023-05-25 14:49:00,183 INFO [main] c.a.n.c.config.impl.ClientWorker [ClientWorker.java : 373] [fixed-localhost_8848] [subscribe] ubcs-xxljob-dev.yaml+DEFAULT_GROUP
2023-05-25 14:49:00,183 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 180] [fixed-localhost_8848] [add-listener] ok, tenant=, dataId=ubcs-xxljob-dev.yaml, group=DEFAULT_GROUP, cnt=1
2023-05-25 14:49:00,183 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-xxljob-dev.yaml, group=DEFAULT_GROUP
2023-05-25 14:49:00,314 INFO [com.alibaba.nacos.client.naming.updater.0] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 234] new ips(1) service: DEFAULT_GROUP@@ubcs-xxljob@@DEFAULT -> [{"ip":"192.168.237.1","port":36009,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@ubcs-xxljob","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}]
2023-05-25 14:49:00,316 INFO [com.alibaba.nacos.client.naming.updater.0] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 166] current ips:(1) service: DEFAULT_GROUP@@ubcs-xxljob@@DEFAULT -> [{"ip":"192.168.237.1","port":36009,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@ubcs-xxljob","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}]
2023-05-25 14:49:00,900 INFO [RMI TCP Connection(8)-192.168.1.46] io.undertow.servlet [ServletContextImpl.java : 382] Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-05-25 14:49:00,901 INFO [RMI TCP Connection(8)-192.168.1.46] o.s.web.servlet.DispatcherServlet [FrameworkServlet.java : 525] Initializing Servlet 'dispatcherServlet'
2023-05-25 14:49:00,906 INFO [RMI TCP Connection(8)-192.168.1.46] o.s.web.servlet.DispatcherServlet [FrameworkServlet.java : 547] Completed initialization in 5 ms
2023-05-25 14:49:01,410 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -31,8 +114,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:49:14,981 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:49:47,005 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:49:01,411 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:49:33,459 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -56,8 +139,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:49:47,006 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:50:19,032 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:49:33,459 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:50:05,495 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -81,8 +164,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:50:19,032 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:50:51,094 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:50:05,495 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:50:37,519 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -106,8 +189,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:50:51,095 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:51:23,130 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:50:37,520 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:51:09,568 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -131,8 +214,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:51:23,133 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:51:55,163 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:51:09,568 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:51:41,617 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -156,8 +239,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:51:55,165 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:52:27,195 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:51:41,617 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:52:13,650 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -181,8 +264,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:52:27,196 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:52:59,238 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:52:13,651 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:52:45,678 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -206,8 +289,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:52:59,242 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:53:31,298 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:52:45,679 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:53:17,726 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -231,8 +314,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:53:31,299 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:54:03,322 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:53:17,727 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:53:49,754 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -256,8 +339,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:54:03,323 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:54:35,368 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:53:49,755 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:54:21,779 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -281,8 +364,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:54:35,369 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:55:07,411 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:54:21,780 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:54:53,806 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -306,8 +389,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:55:07,412 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:55:39,458 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:54:53,807 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:55:25,850 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -331,8 +414,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:55:39,462 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:56:11,496 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:55:25,851 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:55:57,884 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -356,8 +439,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:56:11,502 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:56:43,536 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:55:57,885 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:56:29,931 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -381,8 +464,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:56:43,537 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:57:15,582 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:56:29,931 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:57:01,959 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -406,8 +489,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:57:15,582 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:57:47,623 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:57:01,960 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:57:33,980 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -431,8 +514,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:57:47,625 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:58:19,669 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:57:33,981 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:58:06,041 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -456,8 +539,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:58:19,670 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:58:51,705 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:58:06,042 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:58:38,103 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -481,8 +564,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:58:51,707 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:59:23,734 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:58:38,104 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:59:10,122 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -506,8 +589,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:59:23,739 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 00:59:55,791 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:59:10,123 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 14:59:42,143 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -531,8 +614,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 00:59:55,792 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 01:00:27,825 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 14:59:42,144 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:00:14,191 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -556,8 +639,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 01:00:27,826 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 01:00:59,876 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 15:00:14,192 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:00:46,241 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -581,8 +664,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 01:00:59,881 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 01:01:31,905 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 15:00:46,242 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:01:18,269 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -606,8 +689,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 01:01:31,906 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 01:02:03,944 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 15:01:18,270 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:01:50,322 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -631,8 +714,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 01:02:03,946 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 01:02:35,966 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 15:01:50,323 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:02:22,338 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -656,8 +739,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 01:02:35,967 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 01:03:08,011 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 15:02:22,339 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:02:54,360 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -681,8 +764,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 01:03:08,012 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 01:03:40,042 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 15:02:54,361 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:03:26,400 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -706,8 +789,8 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 01:03:40,043 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 01:04:12,084 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 15:03:26,401 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:03:58,444 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -731,14 +814,389 @@
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 01:04:12,085 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-20 01:04:26,066 WARN [Thread-11] c.a.nacos.common.notify.NotifyCenter [NotifyCenter.java : 136] [NotifyCenter] Start destroying Publisher
2023-05-20 01:04:26,066 WARN [Thread-3] c.a.n.c.http.HttpClientBeanHolder [HttpClientBeanHolder.java : 108] [HttpClientBeanHolder] Start destroying common HttpClient
2023-05-20 01:04:26,068 WARN [Thread-11] c.a.nacos.common.notify.NotifyCenter [NotifyCenter.java : 153] [NotifyCenter] Destruction of the end
2023-05-20 01:04:26,074 WARN [Thread-3] c.a.n.c.http.HttpClientBeanHolder [HttpClientBeanHolder.java : 114] [HttpClientBeanHolder] Destruction of the end
2023-05-20 01:04:26,353 INFO [SpringApplicationShutdownHook] io.undertow [Undertow.java : 259] stopping server: Undertow - 2.2.18.Final
2023-05-20 01:04:26,453 INFO [SpringApplicationShutdownHook] io.undertow.servlet [ServletContextImpl.java : 382] Destroying Spring FrameworkServlet 'dispatcherServlet'
2023-05-20 01:04:26,471 ERROR [SpringApplicationShutdownHook] c.a.cloud.nacos.discovery.NacosWatch [NacosWatch.java : 180] namingService unsubscribe failed, properties:NacosDiscoveryProperties{serverAddr='localhost:8848', username='', password='', endpoint='', namespace='', watchDelay=30000, logName='', service='ubcs-xxljob', weight=1.0, clusterName='DEFAULT', group='DEFAULT_GROUP', namingLoadCacheAtStart='false', metadata={preserved.register.source=SPRING_CLOUD}, registerEnabled=true, ip='192.168.237.1', networkInterface='', port=36009, secure=false, accessKey='', secretKey='', heartBeatInterval=null, heartBeatTimeout=null, ipDeleteTimeout=null, instanceEnabled=true, ephemeral=true, failureToleranceEnabled=false}, ipDeleteTimeout=null, failFast=true}
2023-05-25 15:03:58,445 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:04:30,484 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:04:30,486 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:05:02,512 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:05:02,514 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:05:34,557 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:05:34,557 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:06:06,579 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:06:06,580 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:06:38,614 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:06:38,615 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:07:10,653 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:07:10,654 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:07:42,678 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:07:42,680 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:08:14,707 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:08:14,707 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:08:46,758 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:08:46,759 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:09:18,805 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:09:18,806 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:09:50,850 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:09:50,851 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:10:22,904 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:10:22,905 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:10:54,960 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:10:54,961 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:11:27,001 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:11:27,002 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:11:59,040 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-25 15:11:59,041 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-25 15:12:07,076 WARN [Thread-17] c.a.nacos.common.notify.NotifyCenter [NotifyCenter.java : 136] [NotifyCenter] Start destroying Publisher
2023-05-25 15:12:07,076 WARN [Thread-9] c.a.n.c.http.HttpClientBeanHolder [HttpClientBeanHolder.java : 108] [HttpClientBeanHolder] Start destroying common HttpClient
2023-05-25 15:12:07,078 WARN [Thread-17] c.a.nacos.common.notify.NotifyCenter [NotifyCenter.java : 153] [NotifyCenter] Destruction of the end
2023-05-25 15:12:07,086 WARN [Thread-9] c.a.n.c.http.HttpClientBeanHolder [HttpClientBeanHolder.java : 114] [HttpClientBeanHolder] Destruction of the end
2023-05-25 15:12:07,228 INFO [SpringApplicationShutdownHook] io.undertow [Undertow.java : 259] stopping server: Undertow - 2.2.18.Final
2023-05-25 15:12:07,263 INFO [SpringApplicationShutdownHook] io.undertow.servlet [ServletContextImpl.java : 382] Destroying Spring FrameworkServlet 'dispatcherServlet'
2023-05-25 15:12:07,271 ERROR [SpringApplicationShutdownHook] c.a.cloud.nacos.discovery.NacosWatch [NacosWatch.java : 180] namingService unsubscribe failed, properties:NacosDiscoveryProperties{serverAddr='localhost:8848', username='', password='', endpoint='', namespace='', watchDelay=30000, logName='', service='ubcs-xxljob', weight=1.0, clusterName='DEFAULT', group='DEFAULT_GROUP', namingLoadCacheAtStart='false', metadata={preserved.register.source=SPRING_CLOUD}, registerEnabled=true, ip='192.168.237.1', networkInterface='', port=36009, secure=false, accessKey='', secretKey='', heartBeatInterval=null, heartBeatTimeout=null, ipDeleteTimeout=null, instanceEnabled=true, ephemeral=true, failureToleranceEnabled=false}, ipDeleteTimeout=null, failFast=true}
java.lang.IllegalStateException: UT015023: This Context has been already destroyed
    at io.undertow.servlet.spec.ServletContextImpl.getDeploymentInfo(ServletContextImpl.java:211)
    at io.undertow.servlet.spec.ServletContextImpl.getInitParameterNames(ServletContextImpl.java:449)
@@ -762,8 +1220,98 @@
    at java.lang.Iterable.forEach(Iterable.java:75)
    at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 01:04:26,486 INFO [Thread-52] com.xxl.rpc.remoting.net.Server [NettyHttpServer.java : 74] >>>>>>>>>>> xxl-rpc remoting server stop.
2023-05-20 01:04:28,532 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
2023-05-25 15:12:07,276 INFO [Thread-58] com.xxl.rpc.remoting.net.Server [NettyHttpServer.java : 74] >>>>>>>>>>> xxl-rpc remoting server stop.
<<<<<<< Updated upstream
2023-05-26 18:43:59,557 INFO [background-preinit] o.h.validator.internal.util.Version [Version.java : 21] HV000001: Hibernate Validator 6.2.3.Final
2023-05-26 18:44:00,774 INFO [main] c.a.n.p.a.s.c.ClientAuthPluginManager [ClientAuthPluginManager.java : 56] [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success.
2023-05-26 18:44:00,776 INFO [main] c.a.n.p.a.s.c.ClientAuthPluginManager [ClientAuthPluginManager.java : 56] [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success.
2023-05-26 18:44:09,085 WARN [main] c.a.c.n.c.NacosPropertySourceBuilder [NacosPropertySourceBuilder.java : 87] Ignore the empty nacos configuration and get it based on dataId[ubcs-xxljob] & group[DEFAULT_GROUP]
2023-05-26 18:44:09,129 WARN [main] c.a.c.n.c.NacosPropertySourceBuilder [NacosPropertySourceBuilder.java : 87] Ignore the empty nacos configuration and get it based on dataId[ubcs-xxljob.yaml] & group[DEFAULT_GROUP]
2023-05-26 18:44:09,153 WARN [main] c.a.c.n.c.NacosPropertySourceBuilder [NacosPropertySourceBuilder.java : 87] Ignore the empty nacos configuration and get it based on dataId[ubcs-xxljob-dev.yaml] & group[DEFAULT_GROUP]
2023-05-26 18:44:09,155 INFO [main] o.s.c.b.c.PropertySourceBootstrapConfiguration [PropertySourceBootstrapConfiguration.java : 109] Located property source: [BootstrapPropertySource {name='bootstrapProperties-ubcs-xxljob-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-ubcs-xxljob.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-ubcs-xxljob,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-ubcs-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-ubcs.yaml,DEFAULT_GROUP'}]
2023-05-26 18:44:09,199 INFO [main] c.v.ubcs.job.executor.JobApplication [SpringApplication.java : 640] The following 1 profile is active: "dev"
2023-05-26 18:44:12,407 INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java : 262] Multiple Spring Data modules found, entering strict repository configuration mode
2023-05-26 18:44:12,416 INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java : 132] Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2023-05-26 18:44:12,476 INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java : 201] Finished Spring Data repository scanning in 19 ms. Found 0 Redis repository interfaces.
2023-05-26 18:44:13,306 INFO [main] o.s.cloud.context.scope.GenericScope [GenericScope.java : 283] BeanFactory id=8a87525c-4e09-336f-9e65-667cebc7cd92
2023-05-26 18:44:13,319 INFO [main] o.s.c.l.p.BladePropertySourcePostProcessor [BladePropertySourcePostProcessor.java : 150] BladePropertySourcePostProcessor init.
2023-05-26 18:44:13,359 INFO [main] o.s.c.l.p.BladePropertySourcePostProcessor [BladePropertySourcePostProcessor.java : 62] BladePropertySourcePostProcessor process @BladePropertySource bean.
2023-05-26 18:44:13,538 WARN [main] o.s.c.l.p.BladePropertySourcePostProcessor [BladePropertySourcePostProcessor.java : 67] Not found @BladePropertySource on spring bean class.
2023-05-26 18:44:14,674 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration' of type [org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-26 18:44:14,685 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-26 18:44:14,688 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'loadBalancerClientsDefaultsMappingsProvider' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration$$Lambda$490/926612844] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-26 18:44:14,695 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'defaultsBindHandlerAdvisor' of type [org.springframework.cloud.commons.config.DefaultsBindHandlerAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-26 18:44:14,934 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'spring.cloud.sentinel-com.alibaba.cloud.sentinel.SentinelProperties' of type [com.alibaba.cloud.sentinel.SentinelProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-26 18:44:14,952 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration' of type [com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-26 18:44:15,793 WARN [main] io.undertow.websockets.jsr [Bootstrap.java : 68] UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
2023-05-26 18:44:15,910 INFO [main] io.undertow.servlet [ServletContextImpl.java : 382] Initializing Spring embedded WebApplicationContext
2023-05-26 18:44:15,911 INFO [main] o.s.b.w.s.c.ServletWebServerApplicationContext [ServletWebServerApplicationContext.java : 292] Root WebApplicationContext: initialization completed in 6657 ms
2023-05-26 18:44:16,976 INFO [main] c.v.u.j.executor.config.XxlJobConfig [XxlJobConfig.java : 43] >>>>>>>>>>> xxl-job config init.
2023-05-26 18:44:17,013 INFO [main] c.x.job.core.executor.XxlJobExecutor [XxlJobExecutor.java : 211] >>>>>>>>>>> xxl-job register jobhandler success, name:demoJobHandler, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@48cdb156[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#demoJobHandler]
2023-05-26 18:44:17,015 INFO [main] c.x.job.core.executor.XxlJobExecutor [XxlJobExecutor.java : 211] >>>>>>>>>>> xxl-job register jobhandler success, name:demoJobHandler2, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@4b4814d0[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#demoJobHandler2]
2023-05-26 18:44:17,016 INFO [main] c.x.job.core.executor.XxlJobExecutor [XxlJobExecutor.java : 211] >>>>>>>>>>> xxl-job register jobhandler success, name:httpJobHandler, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@4ae8fb2a[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#httpJobHandler]
2023-05-26 18:44:17,016 INFO [main] c.x.job.core.executor.XxlJobExecutor [XxlJobExecutor.java : 211] >>>>>>>>>>> xxl-job register jobhandler success, name:commandJobHandler, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@54326e9[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#commandJobHandler]
2023-05-26 18:44:17,017 INFO [main] c.x.job.core.executor.XxlJobExecutor [XxlJobExecutor.java : 211] >>>>>>>>>>> xxl-job register jobhandler success, name:shardingJobHandler, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@20216016[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#shardingJobHandler]
2023-05-26 18:44:18,281 INFO [main] c.a.c.s.SentinelWebMvcConfigurer [SentinelWebMvcConfigurer.java : 52] [Sentinel Starter] register SentinelWebInterceptor with urlPatterns: [/**].
2023-05-26 18:44:18,670 INFO [main] o.s.c.c.v.BladeRequestMappingHandlerMapping [BladeRequestMappingHandlerMapping.java : 99] Mapped "{ [/error], produces [text/html]}" onto org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#errorHtml(HttpServletRequest, HttpServletResponse)
2023-05-26 18:44:18,675 INFO [main] o.s.c.c.v.BladeRequestMappingHandlerMapping [BladeRequestMappingHandlerMapping.java : 99] Mapped "{ [/error]}" onto org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2023-05-26 18:44:18,687 INFO [main] o.s.c.c.v.BladeRequestMappingHandlerMapping [BladeRequestMappingHandlerMapping.java : 99] Mapped "{GET [/test/testRequest]}" onto com.vci.ubcs.job.executor.controller.TestController#testRequest(String)
2023-05-26 18:44:25,269 INFO [main] com.alibaba.nacos.client.naming [InitUtils.java : 62] initializer namespace from System Property : null
2023-05-26 18:44:25,271 INFO [main] com.alibaba.nacos.client.naming [InitUtils.java : 66] initializer namespace from System Environment :null
2023-05-26 18:44:25,273 INFO [main] com.alibaba.nacos.client.naming [InitUtils.java : 73] initializer namespace from System Property :null
2023-05-26 18:44:25,308 INFO [main] c.a.n.p.a.s.c.ClientAuthPluginManager [ClientAuthPluginManager.java : 56] [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success.
2023-05-26 18:44:25,309 INFO [main] c.a.n.p.a.s.c.ClientAuthPluginManager [ClientAuthPluginManager.java : 56] [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success.
2023-05-26 18:44:25,333 INFO [main] c.alibaba.nacos.common.remote.client [RpcClientFactory.java : 95] [RpcClientFactory] create a new rpc client of 92acdede-6829-415d-8db3-e791ca1155a2
2023-05-26 18:44:25,334 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] RpcClient init label, labels = {module=naming, source=sdk}
2023-05-26 18:44:25,340 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] RpcClient init, ServerListFactory = com.alibaba.nacos.client.naming.core.ServerListManager
2023-05-26 18:44:25,341 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] Registry connection listener to current client:com.alibaba.nacos.client.naming.remote.gprc.redo.NamingGrpcRedoService
2023-05-26 18:44:25,343 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] Register server push request handler:com.alibaba.nacos.client.naming.remote.gprc.NamingPushRequestHandler
2023-05-26 18:44:25,346 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] Try to connect to server on start up, server: {serverIp = '127.0.0.1', server main port = 8848}
2023-05-26 18:44:25,470 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] Success to connect to server [127.0.0.1:8848] on start up, connectionId = 1685097865355_127.0.0.1_50200
2023-05-26 18:44:25,472 INFO [com.alibaba.nacos.client.remote.worker] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] Notify connected event to listeners.
2023-05-26 18:44:25,472 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$ConnectResetRequestHandler
2023-05-26 18:44:25,473 INFO [com.alibaba.nacos.client.remote.worker] com.alibaba.nacos.client.naming [NamingGrpcRedoService.java : 76] Grpc connection connect
2023-05-26 18:44:25,474 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$$Lambda$376/1188623367
2023-05-26 18:44:25,885 INFO [main] o.s.b.a.e.web.EndpointLinksResolver [EndpointLinksResolver.java : 58] Exposing 20 endpoint(s) beneath base path '/actuator'
2023-05-26 18:44:28,751 INFO [main] o.s.b.f.a.AutowiredAnnotationBeanPostProcessor [AutowiredAnnotationBeanPostProcessor.java : 367] Inconsistent constructor declaration on bean with name 'org.springblade.core.launch.server.ServerInfo': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.springblade.core.launch.server.ServerInfo(org.springframework.boot.autoconfigure.web.ServerProperties)
2023-05-26 18:44:30,451 WARN [main] o.s.c.l.c.LoadBalancerCacheAutoConfiguration$LoadBalancerCaffeineWarnLogger [LoadBalancerCacheAutoConfiguration.java : 82] Spring Cloud LoadBalancer is currently working with the default cache. While this cache implementation is useful for development and tests, it's recommended to use Caffeine cache in production.You can switch to using Caffeine cache, by adding it and org.springframework.cache.caffeine.CaffeineCacheManager to the classpath.
2023-05-26 18:44:30,618 INFO [main] c.x.r.r.p.XxlRpcProviderFactory [XxlRpcProviderFactory.java : 197] >>>>>>>>>>> xxl-rpc, provider factory add service success. serviceKey = com.xxl.job.core.biz.ExecutorBiz, serviceBean = class com.xxl.job.core.biz.impl.ExecutorBizImpl
2023-05-26 18:44:32,192 INFO [main] com.alibaba.nacos.client.naming [NamingClientProxyDelegate.java : 141] [SUBSCRIBE-SERVICE] service:ubcs-xxljob, group:DEFAULT_GROUP, clusters:DEFAULT
2023-05-26 18:44:32,287 INFO [main] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 181] init new ips(0) service: DEFAULT_GROUP@@ubcs-xxljob@@DEFAULT -> []
2023-05-26 18:44:32,308 INFO [main] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 166] current ips:(0) service: DEFAULT_GROUP@@ubcs-xxljob@@DEFAULT -> []
2023-05-26 18:44:32,341 INFO [main] io.undertow [Undertow.java : 120] starting server: Undertow - 2.2.18.Final
2023-05-26 18:44:32,362 INFO [main] org.xnio [Xnio.java : 95] XNIO version 3.8.7.Final
2023-05-26 18:44:32,438 INFO [main] org.xnio.nio [NioXnio.java : 58] XNIO NIO Implementation Version 3.8.7.Final
2023-05-26 18:44:32,443 INFO [Thread-74] com.xxl.rpc.remoting.net.Server [NettyHttpServer.java : 66] >>>>>>>>>>> xxl-rpc remoting server start success, nettype = com.xxl.rpc.remoting.net.impl.netty_http.server.NettyHttpServer, port = 7018
2023-05-26 18:44:32,549 INFO [main] org.jboss.threads [Version.java : 52] JBoss Threads version 3.1.0.Final
2023-05-26 18:44:32,744 INFO [main] o.s.b.w.e.undertow.UndertowWebServer [UndertowWebServer.java : 119] Undertow started on port(s) 36009 (http)
2023-05-26 18:44:32,766 INFO [main] com.alibaba.nacos.client.naming [NamingGrpcClientProxy.java : 111] [REGISTER-SERVICE] public registering service ubcs-xxljob with instance Instance{instanceId='null', ip='192.168.237.1', port=36009, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={preserved.register.source=SPRING_CLOUD}}
2023-05-26 18:44:32,788 INFO [main] c.a.c.n.r.NacosServiceRegistry [NacosServiceRegistry.java : 75] nacos registry, DEFAULT_GROUP ubcs-xxljob 192.168.237.1:36009 register finished
2023-05-26 18:44:32,870 INFO [nacos-grpc-client-executor-127.0.0.1-10] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] Receive server push request, request = NotifySubscriberRequest, requestId = 1003
2023-05-26 18:44:32,877 INFO [nacos-grpc-client-executor-127.0.0.1-10] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 181] init new ips(1) service: DEFAULT_GROUP@@ubcs-xxljob -> [{"ip":"192.168.237.1","port":36009,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@ubcs-xxljob","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000,"instanceHeartBeatInterval":5000}]
2023-05-26 18:44:32,878 INFO [nacos-grpc-client-executor-127.0.0.1-10] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 166] current ips:(1) service: DEFAULT_GROUP@@ubcs-xxljob -> [{"ip":"192.168.237.1","port":36009,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@ubcs-xxljob","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000,"instanceHeartBeatInterval":5000}]
2023-05-26 18:44:32,880 INFO [nacos-grpc-client-executor-127.0.0.1-10] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [92acdede-6829-415d-8db3-e791ca1155a2] Ack server push request, request = NotifySubscriberRequest, requestId = 1003
2023-05-26 18:44:33,258 INFO [com.alibaba.nacos.client.naming.updater.0] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 234] new ips(1) service: DEFAULT_GROUP@@ubcs-xxljob@@DEFAULT -> [{"ip":"192.168.237.1","port":36009,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@ubcs-xxljob","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000,"instanceHeartBeatInterval":5000}]
2023-05-26 18:44:33,264 INFO [com.alibaba.nacos.client.naming.updater.0] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 166] current ips:(1) service: DEFAULT_GROUP@@ubcs-xxljob@@DEFAULT -> [{"ip":"192.168.237.1","port":36009,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@ubcs-xxljob","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000,"instanceHeartBeatInterval":5000}]
2023-05-26 18:44:34,582 INFO [main] o.s.core.launch.StartEventListener [StartEventListener.java : 45] ---[UBCS-XXLJOB]---启动完成,当前使用的端口:[36009],环境变量:[dev]---
2023-05-26 18:44:34,634 INFO [main] c.v.ubcs.job.executor.JobApplication [StartupInfoLogger.java : 61] Started JobApplication in 38.119 seconds (JVM running for 42.264)
2023-05-26 18:44:34,650 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 65] nacos.cache.data.init.snapshot = true
2023-05-26 18:44:34,653 INFO [main] c.a.n.c.config.impl.ClientWorker [ClientWorker.java : 373] [fixed-127.0.0.1_8848] [subscribe] ubcs-dev.yaml+DEFAULT_GROUP
2023-05-26 18:44:34,658 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 180] [fixed-127.0.0.1_8848] [add-listener] ok, tenant=, dataId=ubcs-dev.yaml, group=DEFAULT_GROUP, cnt=1
2023-05-26 18:44:34,660 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-dev.yaml, group=DEFAULT_GROUP
2023-05-26 18:44:34,662 INFO [main] c.a.n.c.config.impl.ClientWorker [ClientWorker.java : 373] [fixed-127.0.0.1_8848] [subscribe] ubcs-xxljob+DEFAULT_GROUP
2023-05-26 18:44:34,664 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 180] [fixed-127.0.0.1_8848] [add-listener] ok, tenant=, dataId=ubcs-xxljob, group=DEFAULT_GROUP, cnt=1
2023-05-26 18:44:34,664 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-xxljob, group=DEFAULT_GROUP
2023-05-26 18:44:34,667 INFO [main] c.a.n.c.config.impl.ClientWorker [ClientWorker.java : 373] [fixed-127.0.0.1_8848] [subscribe] ubcs.yaml+DEFAULT_GROUP
2023-05-26 18:44:34,667 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 180] [fixed-127.0.0.1_8848] [add-listener] ok, tenant=, dataId=ubcs.yaml, group=DEFAULT_GROUP, cnt=1
2023-05-26 18:44:34,668 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs.yaml, group=DEFAULT_GROUP
2023-05-26 18:44:34,669 INFO [main] c.a.n.c.config.impl.ClientWorker [ClientWorker.java : 373] [fixed-127.0.0.1_8848] [subscribe] ubcs-xxljob.yaml+DEFAULT_GROUP
2023-05-26 18:44:34,669 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 180] [fixed-127.0.0.1_8848] [add-listener] ok, tenant=, dataId=ubcs-xxljob.yaml, group=DEFAULT_GROUP, cnt=1
2023-05-26 18:44:34,670 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-xxljob.yaml, group=DEFAULT_GROUP
2023-05-26 18:44:34,671 INFO [main] c.a.n.c.config.impl.ClientWorker [ClientWorker.java : 373] [fixed-127.0.0.1_8848] [subscribe] ubcs-xxljob-dev.yaml+DEFAULT_GROUP
2023-05-26 18:44:34,671 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 180] [fixed-127.0.0.1_8848] [add-listener] ok, tenant=, dataId=ubcs-xxljob-dev.yaml, group=DEFAULT_GROUP, cnt=1
2023-05-26 18:44:34,672 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-xxljob-dev.yaml, group=DEFAULT_GROUP
2023-05-26 18:44:34,938 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
@@ -784,39 +1332,818 @@
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registryRemove(AdminBizClient.java:46)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:84)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-20 01:04:28,533 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 90] >>>>>>>>>>> xxl-job registry-remove fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registryRemove, content=null]
2023-05-20 01:04:28,533 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 105] >>>>>>>>>>> xxl-job, executor registry thread destory.
2023-05-20 01:04:28,534 INFO [SpringApplicationShutdownHook] com.xxl.rpc.remoting.net.Server [NettyHttpServer.java : 110] >>>>>>>>>>> xxl-rpc remoting server destroy success.
2023-05-20 01:04:28,539 INFO [xxl-job, executor TriggerCallbackThread] c.x.j.c.thread.TriggerCallbackThread [TriggerCallbackThread.java : 96] >>>>>>>>>>> xxl-job, executor callback thread destory.
2023-05-20 01:04:28,539 INFO [Thread-51] c.x.j.c.thread.TriggerCallbackThread [TriggerCallbackThread.java : 126] >>>>>>>>>>> xxl-job, executor retry callback thread destory.
2023-05-20 01:04:28,567 INFO [SpringApplicationShutdownHook] c.a.c.n.r.NacosServiceRegistry [NacosServiceRegistry.java : 94] De-registering from Nacos Server now...
2023-05-20 01:04:28,572 WARN [SpringApplicationShutdownHook] o.s.c.a.CommonAnnotationBeanPostProcessor [InitDestroyAnnotationBeanPostProcessor.java : 185] Destroy method on bean with name 'nacosAutoServiceRegistration' threw an exception: java.lang.IllegalStateException: UT015023: This Context has been already destroyed
2023-05-20 01:04:28,575 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 255] com.alibaba.nacos.client.naming.cache.ServiceInfoHolder do shutdown begin
2023-05-20 01:04:28,576 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [FailoverReactor.java : 140] com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown begin
2023-05-20 01:04:28,577 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [FailoverReactor.java : 142] com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown stop
2023-05-20 01:04:28,577 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 257] com.alibaba.nacos.client.naming.cache.ServiceInfoHolder do shutdown stop
2023-05-20 01:04:28,577 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingClientProxyDelegate.java : 182] com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate do shutdown begin
2023-05-20 01:04:28,578 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServiceInfoUpdateService.java : 130] com.alibaba.nacos.client.naming.core.ServiceInfoUpdateService do shutdown begin
2023-05-20 01:04:28,911 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServiceInfoUpdateService.java : 132] com.alibaba.nacos.client.naming.core.ServiceInfoUpdateService do shutdown stop
2023-05-20 01:04:28,912 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServerListManager.java : 192] com.alibaba.nacos.client.naming.core.ServerListManager do shutdown begin
2023-05-20 01:04:28,913 WARN [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientManager.java : 74] [NamingHttpClientManager] Start destroying NacosRestTemplate
2023-05-20 01:04:28,913 WARN [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientManager.java : 81] [NamingHttpClientManager] Destruction of the end
2023-05-20 01:04:28,913 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServerListManager.java : 197] com.alibaba.nacos.client.naming.core.ServerListManager do shutdown stop
2023-05-20 01:04:28,914 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientProxy.java : 527] com.alibaba.nacos.client.naming.remote.http.NamingHttpClientProxy do shutdown begin
2023-05-20 01:04:28,914 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [BeatReactor.java : 162] com.alibaba.nacos.client.naming.beat.BeatReactor do shutdown begin
2023-05-20 01:04:28,914 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [BeatReactor.java : 164] com.alibaba.nacos.client.naming.beat.BeatReactor do shutdown stop
2023-05-20 01:04:28,914 WARN [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientManager.java : 74] [NamingHttpClientManager] Start destroying NacosRestTemplate
2023-05-20 01:04:28,914 WARN [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientManager.java : 81] [NamingHttpClientManager] Destruction of the end
2023-05-20 01:04:28,914 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientProxy.java : 530] com.alibaba.nacos.client.naming.remote.http.NamingHttpClientProxy do shutdown stop
2023-05-20 01:04:28,915 INFO [SpringApplicationShutdownHook] c.alibaba.nacos.common.remote.client [RpcClient.java : 453] Shutdown rpc client, set status to shutdown
2023-05-20 01:04:28,915 INFO [SpringApplicationShutdownHook] c.alibaba.nacos.common.remote.client [RpcClient.java : 455] Shutdown client event executor java.util.concurrent.ScheduledThreadPoolExecutor@20397823[Running, pool size = 2, active threads = 2, queued tasks = 0, completed tasks = 0]
2023-05-20 01:04:28,916 INFO [SpringApplicationShutdownHook] c.alibaba.nacos.common.remote.client [RpcClient.java : 592] Close current connection 1684500039323_127.0.0.1_55961
2023-05-20 01:04:28,920 INFO [nacos-grpc-client-executor-localhost-1279] c.a.n.c.r.client.grpc.GrpcClient [LoggerUtils.java : 60] [1684500039323_127.0.0.1_55961]Ignore complete event,isRunning:false,isAbandon=false
2023-05-20 01:04:28,934 INFO [SpringApplicationShutdownHook] c.a.n.c.r.client.grpc.GrpcClient [GrpcClient.java : 129] Shutdown grpc executor java.util.concurrent.ThreadPoolExecutor@389f1783[Running, pool size = 4, active threads = 0, queued tasks = 0, completed tasks = 1280]
2023-05-20 01:04:28,935 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingGrpcRedoService.java : 267] Shutdown grpc redo service executor java.util.concurrent.ScheduledThreadPoolExecutor@510facf0[Running, pool size = 1, active threads = 0, queued tasks = 1, completed tasks = 2052]
2023-05-20 01:04:28,935 INFO [SpringApplicationShutdownHook] c.a.n.c.a.r.i.CredentialWatcher [CredentialWatcher.java : 105] [null] CredentialWatcher is stopped
2023-05-20 01:04:28,936 INFO [SpringApplicationShutdownHook] c.a.n.c.a.r.i.CredentialService [CredentialService.java : 99] [null] CredentialService is freed
2023-05-20 01:04:28,936 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingClientProxyDelegate.java : 189] com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate do shutdown stop
2023-05-26 18:44:34,939 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:44:34,956 INFO [RMI TCP Connection(8)-192.168.1.46] io.undertow.servlet [ServletContextImpl.java : 382] Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-05-26 18:44:34,957 INFO [RMI TCP Connection(8)-192.168.1.46] o.s.web.servlet.DispatcherServlet [FrameworkServlet.java : 525] Initializing Servlet 'dispatcherServlet'
2023-05-26 18:44:34,964 INFO [RMI TCP Connection(8)-192.168.1.46] o.s.web.servlet.DispatcherServlet [FrameworkServlet.java : 547] Completed initialization in 7 ms
2023-05-26 18:45:06,980 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:45:06,981 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:45:39,024 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:45:39,024 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:46:11,067 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:46:11,068 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:46:43,105 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:46:43,111 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:47:15,148 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:47:15,149 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:47:47,180 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:47:47,181 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:48:19,236 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:48:19,237 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:48:51,267 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:48:51,268 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:49:23,292 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:49:23,293 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:49:55,321 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:49:55,322 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:50:27,360 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:50:27,361 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:50:59,414 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:50:59,415 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:51:31,463 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:51:31,464 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:52:03,539 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:52:03,540 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:52:35,579 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:52:35,580 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:53:07,619 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:53:07,620 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:53:39,660 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:53:39,665 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:54:11,720 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:54:11,721 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:54:43,760 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:54:43,762 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:55:15,789 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:55:15,790 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:55:47,835 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:55:47,836 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:56:19,879 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:56:19,885 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:56:51,946 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:56:51,947 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:57:23,983 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:57:23,983 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:57:56,014 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:57:56,015 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:58:28,065 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:58:28,066 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:59:00,115 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:59:00,116 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 18:59:32,155 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 18:59:32,161 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 19:00:04,185 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 19:00:04,190 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 19:00:36,220 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 19:00:36,225 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 19:01:08,277 ERROR [xxl-job, executor ExecutorRegistryThread] c.x.job.core.util.XxlJobRemotingUtil [XxlJobRemotingUtil.java : 146] Connection refused: connect
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
    at java.net.Socket.connect(Socket.java:606)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at com.xxl.job.core.util.XxlJobRemotingUtil.postBody(XxlJobRemotingUtil.java:94)
    at com.xxl.job.core.biz.client.AdminBizClient.registry(AdminBizClient.java:41)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:48)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 19:01:08,278 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 54] >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='blade-xxljob', registryValue='127.0.0.1:7018'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://127.0.0.1:37012/xxl-job-admin/api/registry, content=null]
2023-05-26 19:01:24,472 WARN [Thread-6] c.a.n.c.http.HttpClientBeanHolder [HttpClientBeanHolder.java : 108] [HttpClientBeanHolder] Start destroying common HttpClient
2023-05-26 19:01:24,476 WARN [Thread-17] c.a.nacos.common.notify.NotifyCenter [NotifyCenter.java : 136] [NotifyCenter] Start destroying Publisher
2023-05-26 19:01:24,477 WARN [Thread-17] c.a.nacos.common.notify.NotifyCenter [NotifyCenter.java : 153] [NotifyCenter] Destruction of the end
2023-05-26 19:01:24,480 WARN [Thread-6] c.a.n.c.http.HttpClientBeanHolder [HttpClientBeanHolder.java : 114] [HttpClientBeanHolder] Destruction of the end
2023-05-26 19:01:24,701 INFO [SpringApplicationShutdownHook] io.undertow [Undertow.java : 259] stopping server: Undertow - 2.2.18.Final
2023-05-26 19:01:24,770 INFO [SpringApplicationShutdownHook] io.undertow.servlet [ServletContextImpl.java : 382] Destroying Spring FrameworkServlet 'dispatcherServlet'
2023-05-26 19:01:24,791 ERROR [SpringApplicationShutdownHook] c.a.cloud.nacos.discovery.NacosWatch [NacosWatch.java : 180] namingService unsubscribe failed, properties:NacosDiscoveryProperties{serverAddr='127.0.0.1:8848', username='', password='', endpoint='', namespace='', watchDelay=30000, logName='', service='ubcs-xxljob', weight=1.0, clusterName='DEFAULT', group='DEFAULT_GROUP', namingLoadCacheAtStart='false', metadata={preserved.register.source=SPRING_CLOUD}, registerEnabled=true, ip='192.168.237.1', networkInterface='', port=36009, secure=false, accessKey='', secretKey='', heartBeatInterval=null, heartBeatTimeout=null, ipDeleteTimeout=null, instanceEnabled=true, ephemeral=true, failureToleranceEnabled=false}, ipDeleteTimeout=null, failFast=true}
java.lang.IllegalStateException: UT015023: This Context has been already destroyed
    at io.undertow.servlet.spec.ServletContextImpl.getDeploymentInfo(ServletContextImpl.java:211)
    at io.undertow.servlet.spec.ServletContextImpl.getInitParameterNames(ServletContextImpl.java:449)
    at org.springframework.web.context.support.ServletContextPropertySource.getPropertyNames(ServletContextPropertySource.java:41)
    at com.alibaba.spring.util.PropertySourcesUtils.getPropertyNames(PropertySourcesUtils.java:130)
    at com.alibaba.spring.util.PropertySourcesUtils.getSubProperties(PropertySourcesUtils.java:103)
    at com.alibaba.spring.util.PropertySourcesUtils.getSubProperties(PropertySourcesUtils.java:57)
    at com.alibaba.cloud.nacos.NacosDiscoveryProperties.enrichNacosDiscoveryProperties(NacosDiscoveryProperties.java:657)
    at com.alibaba.cloud.nacos.NacosDiscoveryProperties.getNacosProperties(NacosDiscoveryProperties.java:651)
    at com.alibaba.cloud.nacos.discovery.NacosWatch.stop(NacosWatch.java:175)
    at com.alibaba.cloud.nacos.discovery.NacosWatch.stop(NacosWatch.java:107)
    at org.springframework.context.support.DefaultLifecycleProcessor.doStop(DefaultLifecycleProcessor.java:234)
    at org.springframework.context.support.DefaultLifecycleProcessor.access$300(DefaultLifecycleProcessor.java:54)
    at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.stop(DefaultLifecycleProcessor.java:373)
    at org.springframework.context.support.DefaultLifecycleProcessor.stopBeans(DefaultLifecycleProcessor.java:206)
    at org.springframework.context.support.DefaultLifecycleProcessor.onClose(DefaultLifecycleProcessor.java:129)
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1067)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174)
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1021)
    at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145)
    at java.lang.Iterable.forEach(Iterable.java:75)
    at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114)
    at java.lang.Thread.run(Thread.java:748)
2023-05-26 19:01:24,804 INFO [Thread-74] com.xxl.rpc.remoting.net.Server [NettyHttpServer.java : 74] >>>>>>>>>>> xxl-rpc remoting server stop.
=======
>>>>>>> Stashed changes
Source/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log.2023-05-20.zip
Binary files differ