fujunling
2023-06-01 d7eba1786ed1fba2b3674f9da3af4fbf1a3f8692
解决冲突
已修改82个文件
已删除4个文件
已重命名5个文件
已添加33个文件
74652 ■■■■ 文件已修改
.idea/workspace.xml 297 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/package-lock.json 16422 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/integration/integration.js 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/refer/tree.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Crud/Crud.vue 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/advanced-query/advanced-query.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue 283 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue 304 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/code-dialog-page/tableEdit.vue 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/refer/vciWebRefer.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/transfer/index.vue 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/transfer/transfer-panel.vue 232 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/const/code/selectAttrOptionDialog.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/const/code/selectattroption.js 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/router/axios.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/code/code.vue 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/flow/flowPath.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/flow/model.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/integration/integrationIndex.vue 323 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/vue.config.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java 675 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoBseDTO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoDTO.java 664 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeOsattributeEntity.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeOsbtmtypeattributeEntity.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeShowFieldConfig.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSrchCondConfig.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystem.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java 311 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeShowFieldConfigVO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java 672 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntInfoVO.java 746 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/EnumCache.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/EnumEnum.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IRevisionRuleFallback.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreMetaAttr.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/IMdmInterJtClient.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/MdmApplyGroupCodeProvider.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingApplyFormStatusVO.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingModelQueryVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreApplyFormVO.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DokingAttributeSerchVO.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmBtmTypeConstant.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeReferConfigController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeBasicSecMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeShowFieldConfigMapper.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSrchCondConfigMapper.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemConfigMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeOsattributeService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeReferConfigService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeShowFieldConfigService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSrchCondConfigService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingManagement.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmProductCodeService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java 110 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeShowFieldConfigServiceImpl.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSrchCondConfigServiceImpl.java 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingLogeServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 336 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeBasicSecWrapper.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClassifyProcessTempWrapper.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClassifyTemplateAttrWrapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClassifyTemplateWrapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeReferConfigWraper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeRuleWrapper.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeShowFieldConfigWraper.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeSrchCondConfigWraper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeTempbuttonWrapper.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemConfigWrapper.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemWrapper.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml 140 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeReferConfigMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeShowFieldConfigMapper.xml 384 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeSrchCondConfigMapper.xml 330 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemConfigMapper.xml 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/AttributeWrapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/EnumitemWrapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrMappingService.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IGroupMdmInterService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java 118 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/data/applogs/xxl-job/xxl-job-admin.log 47347 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/data/applogs/xxl-job/xxl-job-admin.log.2023-05-26.zip 补丁 | 查看 | 原始文档 | blame | 历史
Source/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log 1905 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log.2023-05-26.zip 补丁 | 查看 | 原始文档 | blame | 历史
.idea/workspace.xml
@@ -1,294 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ChangeListManager">
    <list default="true" id="16f0b01c-a58c-44dd-9719-cb51eacd47bf" name="Default Changelist" comment="">
      <change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/.browserslistrc" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/.editorconfig" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/.eslintrc.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/.gitignore" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/.postcssrc.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/.project" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/.settings/.jsdtscope" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/.settings/org.eclipse.wst.jsdt.ui.superType.container" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/.settings/org.eclipse.wst.jsdt.ui.superType.name" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/LICENSE" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/README.md" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/babel.config.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/build.sh" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/package-lock.json" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/package.json" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/animate/3.5.2/animate.css" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/avue/2.9.12/avue.min.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/avue/2.9.12/index.css" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/axios/1.0.0/axios.min.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/element-ui/2.15.6/index.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/element-ui/2.15.6/theme-chalk/fonts/element-icons.ttf" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/element-ui/2.15.6/theme-chalk/fonts/element-icons.woff" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/element-ui/2.15.6/theme-chalk/index.css" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/avue/iconfont.css" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/avue/iconfont.eot" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/avue/iconfont.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/avue/iconfont.json" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/avue/iconfont.svg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/avue/iconfont.ttf" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/avue/iconfont.woff" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/avue/iconfont.woff2" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/index.css" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/saber/iconfont.css" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/saber/iconfont.eot" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/saber/iconfont.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/saber/iconfont.json" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/saber/iconfont.svg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/saber/iconfont.ttf" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/saber/iconfont.woff" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/iconfont/saber/iconfont.woff2" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/fonts/bpmn.08b5f281.eot" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/fonts/bpmn.3c4c9f45.woff2" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/fonts/bpmn.acbc6cbd.woff" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/fonts/bpmn.f922519e.ttf" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/fonts/codicon.22349029.ttf" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/fonts/fontawesome-webfont.674f50d2.eot" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/fonts/fontawesome-webfont.af7ae505.woff2" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/fonts/fontawesome-webfont.b06871f2.ttf" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/fonts/fontawesome-webfont.fee66e71.woff" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/img/bpmn.1381b44e.svg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/img/fontawesome-webfont.912ec66d.svg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/nutflow/wf-design-base/index.umd.min.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/vue-router/3.0.1/vue-router.min.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/vue/2.6.10/vue.min.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/vuex/3.1.1/vuex.min.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/xlsx/FileSaver.min.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/cdn/xlsx/xlsx.full.min.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/favicon.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/403.svg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/404.svg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/500.svg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/bg.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/bg1.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/bg2.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/bg3.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/bg4.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/cloud.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/img-logo.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/login.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/logo.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/star-squashed.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/vip1.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/vip2.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/vip3.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/bg/vip4.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/logo.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/mock/card/card-1.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/mock/card/card-2.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/mock/card/card-3.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/mock/card/card-4.jpg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/mock/cli/1.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/mock/cli/2.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/mock/cli/3.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/img/mock/iconfont.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/index.html" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/svg/loading-spin.svg" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/util/aes.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/util/screen/guge.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/util/screen/huohu.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/util/screen/screen.css" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/public/util/screen/screen.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/App.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/base/region.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/common.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/desk/notice.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/flow/flow.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/logs.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/report/report.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/resource/attach.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/resource/oss.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/resource/sms.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/client.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/dept.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/dict.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/dictbiz.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/menu.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/param.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/passwordresultant.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/passwords.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/passwordvalue.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/post.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/role.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/scope.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/tenant.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/tenantpackage.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/topmenu.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/system/user.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/tool/code.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/tool/datasource.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/tool/model.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/user.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/work/process.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/api/work/work.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/cache.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/components/basic-block/main.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/components/basic-container/main.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/components/error-page/403.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/components/error-page/404.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/components/error-page/500.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/components/error-page/style.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/components/flow-design/main.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/components/iframe/main.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/components/third-register/main.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/config/env.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/config/iconList.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/config/website.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/const/tool/model.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/docker/Dockerfile" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/error.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/lang/en.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/lang/index.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/lang/zh.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/main.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/mixins/color.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/mixins/crud.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/mock/index.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/mock/menu.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/mock/oauth.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/mock/param.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/mock/user.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/option/system/dict.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/option/system/dictbiz.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/option/system/param.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/option/user/info.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/favicon.png" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/index.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/layout.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/logo.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/search.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/sidebar/config.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/sidebar/index.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/sidebar/sidebarItem.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/tags.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/top/index.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/top/top-color.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/top/top-lang.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/top/top-lock.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/top/top-logs.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/top/top-menu.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/top/top-notice.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/top/top-search.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/index/top/top-theme.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/lock/index.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/login/authredirect.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/login/index.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/login/thirdlogin.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/login/userlogin.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/page/logs/index.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/permission.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/router/avue-router.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/router/axios.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/router/page/index.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/router/router.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/router/views/index.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/store/getters.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/store/index.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/store/modules/common.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/store/modules/dict.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/store/modules/logs.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/store/modules/tags.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/store/modules/user.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/animate/vue-transition.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/common.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/element-ui.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/login.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/media.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/mixin.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/normalize.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/sidebar.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/tags.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/bule.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/cool.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/d2.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/dark.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/hey.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/index.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/iview.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/lte.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/star.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/vip.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/theme/white.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/top.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/styles/variables.scss" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/util/admin.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/util/auth.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/util/crypto.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/util/date.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/util/flow.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/util/func.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/util/store.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/util/util.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/util/validate.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/authority/apiscope.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/authority/datascope.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/authority/role.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/base/region.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/desk/notice.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/flow/deploy.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/flow/follow.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/flow/manager.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/flow/model.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/monitor/log/api.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/monitor/log/error.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/monitor/log/usual.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/report/reportlist.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/resource/attach.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/resource/oss.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/resource/sms.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/PasswordManagement/Passwordresultant.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/PasswordManagement/Passwordvalue.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/PasswordManagement/passwords.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/client.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/dept.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/dict.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/dictbiz.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/menu.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/param.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/post.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/tenant.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/tenantpackage.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/topmenu.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/user.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/system/userinfo.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/test.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/tool/code.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/tool/datasource.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/tool/model.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/affix.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/cache.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/crud-form.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/data.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/demo/dict-classic.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/demo/dict-horizontal.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/demo/dict-vertical.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/demo/dict.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/demo/dictbiz.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/form-detail.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/form.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/logs.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/permission.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/store.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/table.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/tags.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/test.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/util/top.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/wel/dashboard.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/wel/index.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/work/claim.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/work/done.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/work/process/leave/detail.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/work/process/leave/form.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/work/process/leave/handle.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/work/send.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/work/start.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/src/views/work/todo.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/public/vue.config.js" afterDir="false" />
    <list default="true" id="16f0b01c-a58c-44dd-9719-cb51eacd47bf" name="Default Changelist" comment="增加树参照组件">
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/api/refer/tree.js" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/FormTemplate/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/FormTemplate/index.vue" afterDir="false" />
    </list>
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -322,4 +39,8 @@
    </task>
    <servers />
  </component>
  <component name="VcsManagerConfiguration">
    <MESSAGE value="增加树参照组件" />
    <option name="LAST_COMMIT_MESSAGE" value="增加树参照组件" />
  </component>
</project>
Source/UBCS-WEB/package-lock.json
ÎļþÌ«´ó
Source/UBCS-WEB/package.json
@@ -20,6 +20,7 @@
    "js-base64": "^2.5.1",
    "js-cookie": "^2.2.0",
    "js-md5": "^0.7.3",
    "js-pinyin": "^0.2.4",
    "mockjs": "^1.0.1-beta3",
    "node-gyp": "^5.0.6",
    "nprogress": "^0.2.0",
Source/UBCS-WEB/src/api/integration/integration.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
import request from '@/router/axios';
// ä¸»æ•°æ®åˆ†ç±»æ ‘
export const referCodeClassifyTree = (params) => {
    return request({
      url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/referCodeClassifyTree',
      method: 'get',
      params: params
    })
  }
  // ä¸»æ•°æ®åˆ†ç±»å±žæ€§ä¿¡æ¯
export const listCodeAttributeByClassId = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/listCodeAttributeByClassId',
    method: 'get',
    params: params
  })
}
// é›†å›¢åˆ†ç±»æ ‘
export const referTree = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/referTree',
    method: 'get',
    params: params
  })
}
// é›†å›¢åˆ†ç±»æ ‘(查询集团分类属性接口)
export const referTreeByClassId = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/listViewModelAttributeByClassId',
    method: 'get',
    params: params
  })
}
// å±žæ€§æ˜ å°„
export const gridAttrMapping = (params) => {
  return request({
    url: '/api//ubcs-applyjtcodeservice/DockingPreApplyCode/gridAttrMapping',
    method: 'get',
    params: params
  })
}
// å±žæ€§å–值范围映射
export const gridAttrRanges = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/gridAttrRanges',
    method: 'get',
    params: params
  })
}
// å±žæ€§æ˜ å°„保存方法
export const batchAddSave = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/batchAddSave',
    method: 'get',
    params: params
  })
}
Source/UBCS-WEB/src/api/refer/tree.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
import request from "@/router/axios";
export const getTree = (params,url) => {
  return request({
    url: url || '/api/ubcs-code/codeClassify/treeCodeClassify',
    method: 'get',
    params: {
      ...params
    }
  })
}
export const getLazyTree = (params,url) => {
  return request({
    url: url||'/api/ubcs-system/dept/lazy-tree',
    method: 'get',
    params: {
      ...params
    }
  })
}
Source/UBCS-WEB/src/components/Crud/Crud.vue
@@ -1,134 +1,199 @@
<template>
<basic-container>
  <avue-crud ref="crud"
             :data="data"
             :option="option"
             @sort-change="sortChange"
             v-loading="loading"
             :page="page"
             @selection-change="selectionChange"
             @on-load="onLoad">
  <basic-container>
    <avue-crud ref="crud"
               v-loading="loading"
               :data="data"
               :option="option"
               :page="page"
               @sort-change="sortChange"
               @selection-change="selectionChange"
               @on-load="onLoad">
      <template slot="menu">
        <el-button type="text">文字按钮</el-button>
      </template>
  </avue-crud>
</basic-container>
      <template slot="menuLeft">
          <div>
            <el-table :data="tableData" style="width: 100%" @cell-click="handleCellClick" @cell-dblclick="dbclick">
              <div v-for="(item,index) in this.tableHeadData" :key="index">
                <el-table-column :label="item.label" :prop="item.prop">
<!--              ç¼–辑和展示逻辑 -->
                  <template slot-scope="{ row }">
                  <el-input v-if="editingRow === row && editShow== item.prop" v-model="row[item.prop]" @blur="saveRow"></el-input>
                  <span v-else>{{row[item.prop]}}</span>
                </template>
                </el-table-column>
              </div>
              <el-table-column fixed="right" label="操作" width="120">
                <template slot-scope="scope">
                  <el-button size="small" type="text" @click.native.prevent="enumDeleteRow(scope.$index, tableData)">
                    ç§»é™¤
                  </el-button>
                </template>
              </el-table-column>
            </el-table>
            <template>
              <div style="display: flex;justify-content: right;margin-top: 15px">
                <el-button type="primary"  size="small">保存</el-button>
                <el-button size="small" @click="enumVisible=false">取消</el-button>
              </div>
            </template>
          </div>
      </template>
    </avue-crud>
  </basic-container>
</template>
<script>
import { MasterTable,TableData } from "@/api/GetItem";
import {MasterTable, TableData} from "@/api/GetItem";
export default {
  name: "Crud.vue",
  data(){
    return{
      loading:false,
      data:[],
      option:{
  data() {
    return {
      editingRow:null,
      editShow: "",
      editAttr:"",
      loading: false,
      data: [],
      option: {
        //默认高度,
        align:'center',
        menuAlign:'center',
        addBtn:false,
        editBtn:false,
        selection:true,
        selectionFixed:false,
        index:true,
        column:[]
        align: 'center',
        menuAlign: 'center',
        addBtn: false,
        editBtn: false,
        selection: true,
        selectionFixed: false,
        index: true,
        column: []
      },
      List:[],
      List: [],
      columnType: {
        text: "input",
        combox: "select",
        truefalse: "switch",
        number: "number",
        datetime:"datetime",
        datetime: "datetime",
      },
      page:{
      page: {
        total: 0,
        currentPage: 1,
        pageSize: 10,
        pageSizes: [10, 30, 50, 100, 200],
      },
      tableData:[],
      tableHeadData:[],
      items:{}
    }
  },
  computed:{
    editable(){
      this.tableData.forEach(item=>{
        this.items=item
      })
      return this.editShow === this.editingRow[this.items.prop];
    }
  },
  created() {
      this.CrudHeaderRend();
      this.CrudRend()
    this.CrudHeaderRend();
    this.CrudRend()
  },
  activated() {
    this.doLayout()
  },
  methods:{
  methods: {
    // ç›‘听单元格点击事件并存储正在编辑的行
    handleCellClick(row, column) {
      this.editingRow = row;
      this.editShow = column.property;
      console.log( this.editingRow['name'], this.editShow)
    },
    //枚举注入删除
    enumDeleteRow(row) {
      console.log(row)
      this.tableData.splice(row, 1)
    },
    // å°†æ­£åœ¨ç¼–辑的行的状态变为 null ï¼Œå³é€€å‡ºç¼–辑状态
    saveRow() {
      this.editingRow = null;
    },
    doLayout() {
      this.$nextTick(() => {
        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=>{
          let columnItem={
            label:item.title,
            prop:item.field,
            type:this.columnType[item.type],
            sortable:item.sort,
            width:item.minWidth
    CrudHeaderRend() {
      MasterTable({
        codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
        functionId: 5,
        _: 1685067339479
      }).then(res => {
        this.List = res.data.tableDefineVO.cols[0];
        this.List.forEach(item => {
          let columnItem = {
            label: item.title,
            prop: item.field,
            type: this.columnType[item.type],
            sortable: item.sort,
            width: item.minWidth
          };
          this.option.column.push(columnItem);
          this.option.column=this.tableHeadData;
        })
      })
    },
    //表格数据
    CrudRend(){
      TableData({templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
    CrudRend() {
      TableData({
        templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
        codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
        page: this.page.currentPage,
        limit: this.page.pageSize,
        _: 1685089123575
      }).then(res=>{
        this.page.total=res.data.total;
        this.data=res.data.data;
      }).then(res => {
        this.page.total = res.data.total;
        this.data = res.data.data;
        this.tableData=res.data.data;
      })
    },
    // æŽ’序
    sortChange(val){
      this.loading=true;
      let order=""
      if(val.order == "ascending"){
        order="asc";
      }else {
        order="desc";
    sortChange(val) {
      this.loading = true;
      let order = ""
      if (val.order == "ascending") {
        order = "asc";
      } else {
        order = "desc";
      }
      TableData(  {
      TableData({
        templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
        codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
        order:order,
        sort:val.prop,
        order: order,
        sort: val.prop,
        page: this.page.currentPage,
        limit: this.page.pageSize,
      }).then(res=>{
      }).then(res => {
        setTimeout(() => {
          this.data=res.data.data;
          this.loading=false;
          this.data = res.data.data;
          this.loading = false;
        }, 100);
      })
    },
    //分页刷新
    async onLoad(val){
    async onLoad(val) {
      console.log(val)
     await TableData({templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
      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;
      }).then(res => {
        this.data = res.data.data;
      })
    },
    //多选
    selectionChange(row){
    selectionChange(row) {
      console.log(row)
    }
  }
Source/UBCS-WEB/src/components/advanced-query/advanced-query.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
}
</script>
<style>
</style>
Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue
@@ -8,7 +8,7 @@
        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="toggleCrudWidth">
                <el-col :style="toggleBasicCrudWidth">
                    <basic-container style="width: 100%;">
                        <avue-crud :option="referConfigCrudOption"
                            class="refer-config-crud"
@@ -42,8 +42,9 @@
                    </basic-container>
                </el-col>
            </el-row>
            <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%;">
            <el-row style="width: 100%; height:30%; margin-top: 130px">
                <el-col
                    :style="toggleSrchCrudWidth">
                    <basic-container style="width: 100%; height:100%;">
                        <avue-crud :option="srchCondOption"
                            class="refer-srchcond-crud"
@@ -53,7 +54,7 @@
                        </avue-crud>
                    </basic-container>
                </el-col>
                <el-col v-show="showAttrParams.isShow" style="width: 60%;">
                <el-col v-show="showAttrParams.isShow" style="width: 60%; height: 100%;">
                    <basic-container style="width: 100%; height:100%;">
                        <avue-crud :option="showAttrOption"
                            class="refer-attr-crud"
@@ -121,7 +122,7 @@
                        },{
                            label: '参照的业务类型',
                            search: false,
                            prop: 'referType'
                            prop: 'referTypeName'
                        },{
                            label: '显示的属性',
                            search: false,
@@ -156,67 +157,67 @@
                    emptyBtn: false,
                    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'
                        }],
                    },
                    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:{},
@@ -371,6 +372,10 @@
                    srchCondData: [],
                    isShow: true,
                },
                toggleSrchCrudWidth: {
                    width: '40%',
                    height: '100%',
                },
                //显示的属性表格配置区域
                showAttrOption: {
@@ -409,19 +414,19 @@
                                    prop: 'title'
                                },{
                                    label: '字段类型',
                                    prop: 'fieldType'
                                    prop: 'fieldTypeText'
                                },{
                                    label: '列表可排序',
                                    prop: 'sort' 
                                },{
                                    label: '排序字段',
                                    prop: 'sortField'
                                    prop: 'attrSortField'
                                },{
                                    label: '字段宽度',
                                    prop: 'width' 
                                },{
                                    label: '列固定位置',
                                    prop: 'fixedText'
                                    prop: 'fixedPositionText'
                                },{
                                    label: 'js显示代码',
                                    prop: 'templet' 
@@ -442,10 +447,14 @@
                // æ˜¯å¦æ˜¾ç¤ºå˜åŠ¨çš„è¡¨å•åŒºåŸŸ
                isShowForm: true,
                toggleCrudWidth: {
                toggleBasicCrudWidth: {
                    height: '100%',
                    width: '70%',
                },
                // æ˜¯å¦æ˜¾ç¤ºå±žæ€§è¡¨æ ¼
                isShowAttrCrud: true,
                defaultOrGridForm: ['limit','sortField','sortType'],
                standForm: ['referContent','displayTable'],
                treeForm: [
@@ -469,11 +478,107 @@
                    this.$message.warning("请选择一条数据!");
                    return;
                }
                let filterForm = this.filterForm(currentSeletedRow);
                if(condition == "selectedSave"){
                    //console.log(currentSeletedRow);
                    // ç›´æŽ¥ä¿å­˜,所以直接调用code界面的界面回显
                    this.$emit('echoReferConfig',filterForm);
                    // console.log(filterForm);
                }else {
                    //console.log(currentSeletedRow);
                    // é€‰æ‹©å¹¶ä¿®æ”¹,执行code服务中的打开界面,所以要先构造出所需的数据
                    let submitForm = {
                        referBtmName: filterForm.referType,
                        referBtmId: filterForm.referTypeName,
                        referConfig:  JSON.stringify(filterForm),
                    }
                    this.$emit('openReconfigInterFace',submitForm);
                }
                this.isShowReferConfigCrud = false;
            },
            // è¿‡æ»¤å‡ºå½“前类型所需要的属性
            filterForm(currentRow){
                // éœ€è¦ä¿ç•™çš„基础属性
                let submittDefaultForm = [
                    'referTypeName',
                    'referType',
                    'textField',
                    'valueField',
                    'type', //参照窗口类型
                    'url',
                    'backPath',
                    'method',
                    'height',
                    'useFormKey',
                    'paramForFormKey',
                    'isMuti',
                    'mapFields',
                    'isOpenGlobal', //是否开启全局
                    'isPersistence',
                    'id',
                    'name',
                ];
                // éœ€è¦æ ¹æ®ç±»åž‹æ·»åŠ çš„å±žæ€§
                let addArray = [];
                let newForm ={};
                // æ ¹æ®ä¸åŒç±»åž‹è¿‡æ»¤å‡ºä¸åŒçš„的表单属性
                if(currentRow.type == 'stand'){
                    addArray = ['referContent', 'displayTable'];
                } else if(currentRow.type == 'default' || currentRow.type == 'grid'){
                    addArray = ['limit', 'sortField', 'sortType'];
                } else if(currentRow.type == 'tree'){
                    addArray = [
                        "parentFieldName",
                        'parentUsedField',
                        'parentValue',
                        'loadType',
                        'onlyLeaf',
                        'sortField',
                        'sortType'
                    ];
                }
                // æ‹¼æŽ¥ä¸¤ä¸ªæ•°ç»„
                submittDefaultForm = submittDefaultForm.concat(addArray);
                if(currentRow.codeSrchCondConfigVOS.length > 0){
                    //console.log(currentRow.codeSrchCondConfigVOS);
                    newForm = {
                        codeSrchCondConfigVOS: currentRow.codeSrchCondConfigVOS,
                    }
                }
                if((currentRow.type == 'default' || currentRow.type  == 'grid') && currentRow.codeShowFieldConfigVOS.length >= 0){
                    newForm = Object.assign(newForm,{codeShowFieldConfigVOS: currentRow.codeShowFieldConfigVOS});
                }
                // è¿‡æ»¤å‡ºç©ºå€¼å±žæ€§å’Œä¸éœ€è¦çš„属性
                submittDefaultForm.forEach(item=>{
                    // console.log(!this.checkStringIsEmpty(currentRow[item]) || !this.checkArrayIsUndefined(currentRow[item]));
                    if((item == 'isMuti' || item == 'onlyLeaf') || (!this.checkStringIsEmpty(currentRow[item]) || !this.checkArrayIsUndefined(currentRow[item]))){
                        //console.log(item,currentRow[item]);
                        newForm = Object.assign(newForm,{[item]:currentRow[item]});
                    }
                });
                // console.log(newForm);
                return newForm;
            },
             /**
             * ä¸ºç©º
             * @param val
             * @returns {boolean}
            */
            checkStringIsEmpty(val){
                if (
                    val === null ||
                    typeof val === 'undefined' ||
                    (typeof val === 'string' && val === "" && val !== 'undefined')
                ) {
                    return true;
                }
                    return false;
            },
             /**
             * æ˜¯å¦ä¸ºå®šä¹‰
             * @param val
             * @returns {boolean}
             */
            checkArrayIsUndefined(val){
                return typeof val === 'array' && (val.length === 0 || val === null || typeof val === 'undefined' || val === []);
            },
            referConfigOnload(){
                let refer = this.referConfigParams;
@@ -494,12 +599,16 @@
                    this.referConfigParams.referConfigPage.total = data.total;
                    this.referConfigParams.referConfigData = data.records;
                    this.referConfigParams.referConfigLoading = false;
                    //console.log(this.referConfigParams.referConfigData.length > 0);
                    //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.referConfigParams.referConfigSelectedRowData = this.referConfigParams.referConfigData[0];
                            this.attrAndSrchCondOnload(this.referConfigParams.referConfigData[0]);
                            this.loadDefaultOrGridOrStandOrTreeForm(this.referConfigParams.referConfigData[0]);
                        }) 
@@ -544,14 +653,15 @@
                   currentFormData.type != 'grid') {
                    //控制参照配置表格和表单显示比例
                    this.isShowForm = false;
                    this.toggleCrudWidth.width = '100%';
                    this.toggleBasicCrudWidth.width = '100%';
                }else {
                    this.isShowForm = true;
                    this.toggleCrudWidth.width = '70%';
                    this.toggleBasicCrudWidth.width = '70%';
                    this.toggleFormOption(currentFormData);
                }
                this.toggleCurdWidth(currentFormData);
                //console.log(this.isShowForm);
                //console.log(this.toggleCrudWidth.width);
                //console.log(this.toggleBasicCrudWidth.width);
            },
            // æ ¹æ®type的变动切换表单的配置option
@@ -560,7 +670,7 @@
                let currentForm = '';
                if(data.type=='default' || data.type=='grid'){
                    this.formOption.column = this.sortColumn;
                    currentForm = 'defaultOrGridForm'
                    currentForm = 'defaultOrGridForm';
                }else if(data.type == 'stand'){
                    this.formOption.column = this.standColumn;
                    currentForm = 'standForm';
@@ -569,12 +679,26 @@
                    currentForm = 'treeForm'
                }
                this.referConfigForm = {},
                console.log( this.formOption);
                //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);
                // console.log(this.referConfigForm);
            },
            // æ ¹æ®type的变动切换attr表格的显示隐藏,调整查询条件表格的宽度
            toggleCurdWidth(data) {
                if(data.type=='default' || data.type=='grid'){
                    this.showAttrParams.isShow = true;
                    // ä¸éœ€è¦æ˜¾ç¤ºå±žæ€§è¡¨æ ¼æ‰€æœ‰éœ€è¦å°†æŸ¥è¯¢è°ƒä»·è¡¨æ ¼ç¼©å°ä¸º100%
                    this.toggleSrchCrudWidth.width = '40%';
                }else {
                    this.showAttrParams.isShow = false;
                    // ä¸éœ€è¦æ˜¾ç¤ºå±žæ€§è¡¨æ ¼æ‰€æœ‰éœ€è¦å°†æŸ¥è¯¢è°ƒä»·è¡¨æ ¼ç¼©å°ä¸º100%
                    this.toggleSrchCrudWidth.width = '100%';
                }
                // console.log(this.toggleSrchCrudWidth);
                // console.log(this.showAttrParams.isShow);
            },
            // æ˜¾ç¤ºçš„属性和查询条件相关方法
@@ -587,6 +711,7 @@
                });
                this.srchCondParams.srchCondData = row.codeSrchCondConfigVOS
                this.showAttrParams.showAttrData = row.codeShowFieldConfigVOS
                //console.log(this.showAttrParams.showAttrData);
                this.srchCondParams.srchCondLoading = false;
                this.showAttrParams.showAttrLoading = false;
            },
Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
@@ -64,7 +64,7 @@
                                class="crud-attr"
                                :option="attrOption"
                                @cell-click="clickAttrEdit"
                                :data="attrData">
                                :data="codeShowFieldConfigVOS">
                                <!-- è¡¨æ ¼å†…操作按钮 -->
                                <template slot="menu" slot-scope="scope">
                                    <el-button type="text"
@@ -90,7 +90,7 @@
                                    </el-button>
                                    <div class="tag-group" style="display: inline">
                                        <el-tag
                                            v-for="item in attrData"
                                            v-for="item in codeShowFieldConfigVOS"
                                            v-show="item.isquery && item.title!=''"
                                            style="margin-left: 3px"
                                            :key="item.title"
@@ -105,12 +105,12 @@
                        </el-row>
                    </el-tab-pane>
                    <el-tab-pane name="second">
                        <span slot="label"><i class="el-icon-search"></i>查询条件添加</span>
                        <span slot="label"><i class="el-icon-search"></i>添加查询条件</span>
                        <avue-crud
                            ref="crudAddCondition"
                            :option="addSearchCondtionOption" 
                            @cell-click="clickAddSearchCondtionEdit"
                            :data="addSearchCondtionData">
                            :data="form.codeSrchCondConfigVOS">
                            <!-- è¡¨æ ¼å†…操作按钮 -->
                            <template slot="menu" slot-scope="scope">
                                <el-button type="text"
@@ -276,6 +276,11 @@
                    paramForFormKey: '',
                    isMuti: false,
                    mapFields: '',
                    isOpenGlobal: true, //是否开启全局
                    codeSrchCondConfigVOS: [],
                    isPersistence: true, // æ˜¯å¦æŒä¹…化
                    id: '',
                    name: '',
                     // æŸ¥è¯¢æ¡ä»¶åˆ—表
                    // limit: '15',
                    // sortField: '',
@@ -288,7 +293,21 @@
                    // loadType: 'all',
                    // onlyLeaf: false,
                },
                attrData: [],
                // type切换时对form表单属性进行移除
                removeFormAttr: [
                    'limit',
                    'sortField',
                    'sortType',
                    'parentFieldName',
                    'parentUsedField',
                    'parentValue',
                    'loadType',
                    'onlyLeaf',
                    'sortType',
                    'referContent',
                    'displayTable',
                ],
                codeShowFieldConfigVOS: [],
                attrOption: {
                    height:'180',
                    tip: false,
@@ -353,7 +372,7 @@
                            blur: (value) => this.updateAttrBlur(value),
                        },{
                            label: "排序字段",
                            prop: "sortField",
                            prop: "attrSortField",
                            cell: true,
                            clearable: false,
                            blur: (value) => this.updateAttrBlur(value),
@@ -365,7 +384,7 @@
                            blur: (value) => this.updateAttrBlur(value),
                        },{
                            label: "列固定位置",
                            prop: "fixedText",
                            prop: "fixedPosition",
                            cell: true,
                            type:"select",
                            clearable: false,
@@ -381,7 +400,7 @@
                        },
                    ]
                },
                addSearchCondtionData: [],
                // addSearchCondtionData: [],
                addSearchCondtionOption: {
                    height:'150',
                    tip: false,
@@ -434,6 +453,7 @@
                        }
                    ]
                },
                // ä¸¤ä¸ªè¡¨å•çš„ref
                formRefs: ['form','otherForm'],
                // tabs控制
@@ -677,7 +697,7 @@
                            icon: 'el-icon-info',
                            label: '必填的参照配置',
                            collapse: true,
                            labelWidth: '110',
                            labelWidth: '115',
                            prop: 'groupDdefaultOrGrid',
                            column: [
                                {
@@ -769,23 +789,11 @@
                                        trigger: "blur",
                                    }],
                                    change: ({ value, column }) => {
                                        // console.log("start",value);
                                        // å¤åŽŸè¡¨å•,因为其他分组中如果存在值,在切换时,会保留输入的字段值所以需要还原
                                        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';
                                        let addFrom = {};
                                        this.activeName = 'first'; // é»˜è®¤åˆ‡æ¢è‡³ç¬¬ä¸€ä¸ªtab
                                        //根据类型对form表单属性进行调整
                                        if(value == 'stand'){
                                            addFrom = {
                                                referContent: '',
@@ -809,72 +817,108 @@
                                                sortField: '',
                                                sortType: 'asc',
                                            };
                                            console.log('tree');
                                            // ä¸çŸ¥é“为什么type为tree的时候会触发两次change事件
                                            // å¯¼è‡´type切换失败
                                            this.form.type = 'tree';
                                            this.isDisabledTabs = false;
                                        }else {
                                            this.isDisabledTabs = true;
                                            this.activeName = 'second';
                                        }
                                       // ç±»åž‹åˆ‡æ¢æ—¶ï¼Œå¯¹ä¸éœ€è¦çš„属性进行筛除
                                        this.removeFormAttr.forEach(attr=>{
                                            // console.log(attr);
                                            this.$delete(this.form,attr)
                                        })
                                        // åˆå¹¶ä¸¤ä¸ªè¡¨å•
                                        this.form = Object.assign(addFrom,this.form);
                                        // console.log("endFilter",this.form.type);
                                        //console.log(this.form);
                                    },
                                },{
                                    label: '是否开启持久化',
                                    prop: 'isPersistence',
                                    tip: 'true:开启持久化,对当前定义的参照配置进行持久化存储,下次可直接选取;false:仅对当前次码段新增生效。',
                                    tipPlacement: 'bottom',
                                    span: 6,
                                    type: 'switch',
                                },{
                                    display: this.form.isPersistence | this.form.isPersistence=='true',
                                    label: '编号',
                                    prop: 'id',
                                    rules: [{
                                        required: true,
                                        message: "(开始持久化时编号)必填项不能为空",
                                        trigger: "blur",
                                    }],
                                    span: 6,
                                },{
                                    display: this.form.isPersistence | this.form.isPersistence=='true',
                                    label: '名称',
                                    prop: 'name',
                                    rules: [{
                                        required: true,
                                        message: "(开始持久化时名称)必填项不能为空",
                                        trigger: "blur",
                                    }],
                                    span: 6,
                                }
                            ]
                        },
                        {   
                            //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: '过滤(级联)属性',
                                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,
                            }]
                            column: [
                                {
                                    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,
                                }
                            ]
                        },
                        {   
                            //display: this.form.type=='default'||this.form.type=='grid',
                            icon: 'el-icon-info',
                            label: '后台参数配置',
                            collapse: false,
@@ -886,29 +930,29 @@
                                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: '服务的地址',
                                    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"
                                    }],
                                },
                                {
                                    label:'POST',value: "POST"
                                }],
                            },
                            ]
                        },
                    ]
@@ -931,21 +975,21 @@
                                {
                                    label: '每页显示条数',
                                    prop: 'limit',
                                    span: 7,
                                    span: 8,
                                    tip: '分页时每页显示的数量,不分页填-1',
                                    //value: 15,
                                    tipPlacement: 'right',
                                },{
                                    label: '排序字段',
                                    prop: 'sortField',
                                    span: 7,
                                    span: 8,
                                    tip: '查询数据时的排序字段',
                                    //clearable: false,
                                    tipPlacement: 'right',
                                },{
                                    label: '排序类型',
                                    prop: 'sortType',
                                    span: 7,
                                    span: 8,
                                    dicData: [{
                                        label: '升序', value: 'asc'
                                    }, {
@@ -968,14 +1012,14 @@
                                {
                                    label: '参考的UI上下文',
                                    prop: 'referContent',
                                    span: 7,
                                    span: 8,
                                    tip: '只有参照窗口类型是stand时才必须设置,且在stand类型下才能生效',
                                    tipPlacement: 'right',
                                },
                                {
                                    label: '平台的表格编号',
                                    prop: 'displayTable',
                                    span: 7,
                                    span: 8,
                                    tip: '与参照的UI上下文互斥,只有参照窗口类型是stand时才必须设置,且在stand类型下才能生效',
                                    tipPlacement: 'right',
                                },
@@ -1076,8 +1120,7 @@
        },
        watch: {
            // è´¼å‘,切换类型时表格,隐藏再显示就会出现表格错位问题,
            'form.type'(val) {
                //console.log(val);
            'form.type'(value) {
                this.onloadAttrData();
            }
        },
@@ -1086,33 +1129,39 @@
            // å•击表格实现表格行编辑
            clickAttrEdit(row, column, event){
                if(this.preClickAttrRow && this.preClickAttrRow != row){
                    //console.log(this.attrData[this.preClickAttrRow.$index]);
                    this.attrData[this.preClickAttrRow.$index].$cellEdit = false;
                    //console.log(this.codeShowFieldConfigVOS[this.preClickAttrRow.$index]);
                    this.codeShowFieldConfigVOS[this.preClickAttrRow.$index].$cellEdit = false;
                }
                row.$cellEdit = true;
                this.preClickAttrRow = row;
            },
            // å±žæ€§è¡¨æ ¼è¡Œç¼–辑失去焦点时保存方法
            // updateAttrBlur(value){
                //console.log(this.attrData[0]);
                //console.log(this.codeShowFieldConfigVOS[0]);
                
            // },
            // å•击表格实现表格行编辑
            clickAddSearchCondtionEdit(row, column, event){
                if(this.preClickAddSearchConditionRow && this.preClickAddSearchConditionRow != row){
                    //console.log(this.attrData[this.preClickAttrRow.$index]);
                    this.addSearchCondtionData[this.preClickAddSearchConditionRow.$index].$cellEdit = false;
                    //console.log(this.codeShowFieldConfigVOS[this.preClickAttrRow.$index]);
                    this.form.codeSrchCondConfigVOS[this.preClickAddSearchConditionRow.$index].$cellEdit = false;
                }
                row.$cellEdit = true;
                this.preClickAddSearchConditionRow = row;
            },
            //上一个页面已经选中参照应用的业务类型的情况,和上一次已经配置过参照配置的情况下进行页面初始化渲染
            initPageData(val){
                console.log(val);
                //console.log(val);
                if(func.notEmpty(val.referConfig)){
                    this.form = JSON.parse(val.referConfig);
                    //console.log(val);
                    // console.log(this.form);
                    this.form.isPersistence = this.form.isPersistence == 'true' ? true:false;
                    // å‚照引用的业务类型不可选
                    this.referTypeIsReadOnly = true;
                    if((this.form.type == 'default' || this.form.type  == 'grid') && (this.form.codeShowFieldConfigVOS != undefined && this.form.codeShowFieldConfigVOS.length > 0)){
                        this.codeShowFieldConfigVOS = this.form.codeShowFieldConfigVOS;
                    }
                    return;
                }
                if(func.notEmpty(val.referType)){
@@ -1127,7 +1176,6 @@
            async selectedListReferConfig(){
                // æ ‡è®°æ‰€æœ‰è¡¨å•是否通过校验的变量
                let isValid = true;
                // éåŽ†è¡¨å•æ•°ç»„ï¼Œä¾æ¬¡å¯¹æ¯ä¸ªè¡¨å•è¿›è¡Œæ ¡éªŒ
                await this.formRefs.forEach(ref => {
                    this.$refs[ref].validate((valid, done, msg) => {
@@ -1142,12 +1190,11 @@
                        done();
                    })
                })
                // å¦‚果所有表单都校验通过,执行提交操作
                if (isValid) {
                    // æ ¹æ®ç±»åž‹å¯¹form表单中的参数进行过滤,只保留非空且需要的属性
                    let submitForm = this.filterForm();
                    //console.log(submitForm);
                    // console.log(submitForm);
                    this.$emit('echoReferConfig', submitForm) // è§¦å‘update:data将子组件值传递给父组件
                    this.isShowReferConfigForm = false;
                }
@@ -1155,14 +1202,14 @@
            /** å…¶å®žé€‰å–属性表格的默认数据不需要加载,
             ä½†æ˜¯å¼¹çª—打开会有表格错行问题所以需要在这调用doLayout方法*/
            onloadAttrData(){
                this.attrData = [
                this.codeShowFieldConfigVOS = [
                    {
                        field: 'id',
                        title: '编号',
                        fieldType: 'text',
                        fieldTypeText: '文本框',
                        sort: true,
                        sortField: 'id',
                        attrSortField: 'id',
                        width: '150',
                        isquery: true,
                        $cellEdit: false
@@ -1172,7 +1219,7 @@
                        fieldType: 'text',
                        fieldTypeText: '文本框',
                        sort: true,
                        sortField: 'name',
                        attrSortField: 'name',
                        width: '180',
                        isquery: true,
                        $cellEdit: false
@@ -1185,10 +1232,10 @@
            // å±žæ€§é€‰æ‹©è¡¨æ ¼ä¸­çš„移除按钮功能
            removeCurrentRow(row,condition){
                if(condition=='removeAttr'){
                    this.$delete(this.attrData, row.$index);
                    this.$delete(this.codeShowFieldConfigVOS, row.$index);
                    return;
                }
                this.$delete(this.addSearchCondtionData, row.$index);
                this.$delete(this.form.codeSrchCondConfigVOS, row.$index);
            },
            // è¯¥ç•Œé¢çš„æ•°æ®è¿›è¡Œåˆå§‹åŒ–复原
            recoveryDataAndForm(condition){
@@ -1224,7 +1271,9 @@
                    'paramForFormKey',
                    'isMuti',
                    'mapFields', 
                    'searchCondition',
                    'codeSrchCondConfigVOS',
                    'isOpenGlobal', //是否开启全局
                    'isPersistence',
                ];
                let addArray = [];
                let newForm ={};
@@ -1244,14 +1293,18 @@
                        'sortType'
                    ];
                }
                // å¼€å¯æŒä¹…化参照配置
                if(oldForm.isPersistence=='true' | oldForm.isPersistence){
                    submittDefaultForm =  submittDefaultForm.concat(['id','name'])
                }
                submittDefaultForm = submittDefaultForm.concat(addArray);
                if(!this.checkArrayIsUndefined(this.addSearchCondtionData)){
                if(!this.checkArrayIsUndefined(this.form.codeSrchCondConfigVOS)){
                    newForm = {
                        searchCondition: this.addSearchCondtionData,
                        codeSrchCondConfigVOS: this.form.codeSrchCondConfigVOS,
                    }
                }
                if((oldForm.type == 'default' || oldForm.type  == 'grid') && (this.attrData.length >= 0 && !this.checkArrayIsUndefined(this.addSearchCondtionData))){
                    newForm = Object.assign(newForm,{attrData:this.attrData});
                if((oldForm.type == 'default' || oldForm.type  == 'grid') && (this.codeShowFieldConfigVOS.length >= 0 && !this.checkArrayIsUndefined(this.codeShowFieldConfigVOS))){
                    newForm = Object.assign(newForm,{codeShowFieldConfigVOS:this.codeShowFieldConfigVOS});
                }
                // è¿‡æ»¤å‡ºç©ºå€¼å±žæ€§å’Œä¸éœ€è¦çš„属性
                submittDefaultForm.forEach(item=>{
@@ -1261,7 +1314,7 @@
                        newForm = Object.assign(newForm,{[item]:oldForm[item]});  
                    }
                });
                // console.log(newForm);
                //console.log(newForm);
                return newForm;
            },
            /**
@@ -1488,14 +1541,14 @@
                }
                //this.showFieldSelectList;
                this.showFieldSelectList.forEach(item => {
                    this.attrData.push(
                    this.codeShowFieldConfigVOS.push(
                        {
                            field: item.id,
                            title: item.id,
                            fieldType: item.attrType,
                            fieldTypeText: item.attrTypeText,
                            sort: false,
                            sortField: item.id,
                            attrSortField: item.id,
                            width: item.attrLength,
                            isquery: false,
                            $cellEdit: false
@@ -1550,16 +1603,17 @@
                this.sortFieldOnLoad();
            },
            selectedSearchCondition(){
                console.log(this.searchConditionSelectList);
                // console.log(this.searchConditionSelectList);
                if(this.searchConditionSelectList.length <= 0) {
                    this.$message.warning("请至少选择一条数据");
                    return;
                }
                this.searchConditionSelectList.forEach(item => {
                    this.addSearchCondtionData.push(
                    this.form.codeSrchCondConfigVOS.push(
                        {
                            filterField: item.id,
                            filterType: '=',
                            filterTypeText: item.name,
                            filterValue: '',
                            $cellEdit: false
                        }
Source/UBCS-WEB/src/components/code-dialog-page/tableEdit.vue
ÎļþÒÑɾ³ý
Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
<template>
  <vciWebReferTree v-if="refertype=='tree'" :value="value" :options="options"></vciWebReferTree>
  <vciWebReferTable v-else-if="refertype=='table'" :value="value" :options="options"></vciWebReferTable>
  <vciWebReferDefalut v-else :value="value" :options="options"></vciWebReferDefalut>
</template>
<script>
import vciWebReferTree from "./vciWebReferTree.vue";
import vciWebReferTable from "./vciWebReferTable.vue";
import vciWebReferDefalut from "./vciWebReferTable.vue";
export default {
  name: "vciWebRefer",
  props:["options","value"],
  components: { vciWebReferTree,vciWebReferTable,vciWebReferDefalut},
  data() {
    return {
      refertype:this.options.type
    };
  },
  created() {
    if(this.refertype=='tree'){
      console.log('referConfig:')
      console.log(this.options)
    }
  },
  mounted() {
  }
}
</script>
<style scoped>
</style>
Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
<template>
  <avue-input-table :props="props"  :column="column" :on-load="onLoad" v-model="value"  :placeholder="placeholder" ></avue-input-table>
</template>
<script>
export default {
  name: "vciWebReferTable",
  props:["options","value"],
  data() {
    return {
      placeholder:'请选择数据',
      column:{
        children:{
          border: true,
          column: [{
            label: '姓名',
            width: 120,
            search:true,
            prop: 'name'
          }, {
            label: '性别',
            search:true,
            prop: 'sex'
          }],
        },
      },
      props: {
        label: 'name',
        value: 'oid'
      }
    };
  },
  methods: {
    onLoad({page, value, data}, callback) {
      //首次加载去查询对应的值
      if (value) {
        this.$message.success('首次查询' + value)
        callback({
          id: '0',
          name: '张三',
          sex: '男'
        })
        return
      }
      if (data) {
        this.$message.success('搜索查询参数' + JSON.stringify(data))
      }
      if (page) {
        this.$message.success('分页参数' + JSON.stringify(page))
      }
      //分页查询信息
      callback({
        total: 2,
        data: [{
          id: '0',
          name: '张三',
          sex: '男'
        }, {
          id: '1',
          name: '李四',
          sex: '女'
        }]
      })
    }
  }
}
</script>
<style scoped>
</style>
Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
<template>
  <avue-input-tree :props="props" :lazy="lazy" :multiple="isMuti" v-model="value" :placeholder="placeholder" :dic="treeData"></avue-input-tree>
</template>
<script>
import {getTree,getLazyTree} from "@/api/refer/tree";
import {getDeptLazyTree} from "@/api/system/dept";
export default {
  name: "vciWebReferTree",
  props:["options","value"],
  data() {
    return {
      lazy:this.options.loadType == 'node',
      isMuti:true,//options.muti,
      placeholder:'请选择内容',
      props: {
        value:this.options.valueField,
        label:this.options.textField
        //value:"value",
        //label:"title"
      },
      treeData:[{
        title:'选项1',
        value:0,
        children:[{
          title:'选项3',
          value:2
        },{
          title:'选项4',
          value:3
        }]
      },{
        title:'选项2',
        value:1
      }]
    };
  },
  created() {
  },
  mounted() {
    this.getTree();
  },
  methods: {
    getTree(){
      getTree({parentId:0},this.options.url).then(res => {
          this.treeData=res.data
          console.log(this.treeData)
        })
    },
    getLazyTree(){
      getLazyTree({parentId:0},this.options.url).then(res => {
        this.treeData=res.data.data
        console.log(this.treeData)
      })
    },
    treeLoad: function (tree,treeNode, resolve) {
      debugger;
      const parentId = (treeNode.level === 0) ? 0 : treeNode.data.id;
      /*getDeptLazyTree({parentId:parentId}).then(res => {
        resolve(res.data.data)
      });*/
    }
  }
}
</script>
<style scoped>
</style>
Source/UBCS-WEB/src/components/transfer/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,224 @@
<template>
    <div class="el-transfer">
        <transfer-panel v-bind="$props" ref="leftPanel" :data="sourceData" :title="titles[0] || t('el.transfer.titles.0')"
            :default-checked="leftDefaultChecked" :placeholder="filterPlaceholder || t('el.transfer.filterPlaceholder')"
            @checked-change="onSourceCheckedChange">
            <slot name="left-footer"></slot>
        </transfer-panel>
        <div class="el-transfer__buttons">
            <el-button type="primary" :class="['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']"
                @click.native="addToLeft" :disabled="rightChecked.length === 0">
                <i class="el-icon-arrow-left"></i>
                <span v-if="buttonTexts[0] !== undefined">{{ buttonTexts[0] }}</span>
            </el-button>
            <el-button type="primary" :class="['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']"
                @click.native="addToRight" :disabled="leftChecked.length === 0">
                <span v-if="buttonTexts[1] !== undefined">{{ buttonTexts[1] }}</span>
                <i class="el-icon-arrow-right"></i>
            </el-button>
        </div>
        <transfer-panel v-bind="$props" ref="rightPanel" :data="targetData" :title="titles[1] || t('el.transfer.titles.1')"
            :default-checked="rightDefaultChecked" :placeholder="filterPlaceholder || t('el.transfer.filterPlaceholder')"
            @checked-change="onTargetCheckedChange">
            <slot name="right-footer"></slot>
        </transfer-panel>
    </div>
</template>
<script>
import ElButton from 'element-ui/packages/button';
import Emitter from 'element-ui/src/mixins/emitter';
import Locale from 'element-ui/src/mixins/locale';
import TransferPanel from './transfer-panel.vue';
// import TransferPanel from './transfer-panel2.vue';
import Migrating from 'element-ui/src/mixins/migrating';
export default {
    name: 'ElTransfer',
    mixins: [Emitter, Locale, Migrating],
    components: {
        TransferPanel,
        ElButton
    },
    props: {
        data: {
            type: Array,
            default() {
                return [];
            }
        },
        titles: {
            type: Array,
            default() {
                return [];
            }
        },
        buttonTexts: {
            type: Array,
            default() {
                return [];
            }
        },
        filterPlaceholder: {
            type: String,
            default: ''
        },
        filterMethod: Function,
        leftDefaultChecked: {
            type: Array,
            default() {
                return [];
            }
        },
        rightDefaultChecked: {
            type: Array,
            default() {
                return [];
            }
        },
        renderContent: Function,
        value: {
            type: Array,
            default() {
                return [];
            }
        },
        format: {
            type: Object,
            default() {
                return {};
            }
        },
        filterable: Boolean,
        props: {
            type: Object,
            default() {
                return {
                    label: 'label',
                    key: 'key',
                    disabled: 'disabled'
                };
            }
        },
        targetOrder: {
            type: String,
            default: 'original'
        }
    },
    data() {
        return {
            leftChecked: [],
            rightChecked: []
        };
    },
    computed: {
        dataObj() {
            const key = this.props.key;
            return this.data.reduce((o, cur) => (o[cur[key]] = cur) && o, {});
        },
        sourceData() {
            return this.data.filter(item => this.value.indexOf(item[this.props.key]) === -1);
        },
        targetData() {
            if (this.targetOrder === 'original') {
                return this.data.filter(item => this.value.indexOf(item[this.props.key]) > -1);
            } else {
                return this.value.reduce((arr, cur) => {
                    const val = this.dataObj[cur];
                    if (val) {
                        arr.push(val);
                    }
                    return arr;
                }, []);
            }
        },
        hasButtonTexts() {
            return this.buttonTexts.length === 2;
        }
    },
    watch: {
        value:{
            handler(val) {
            this.dispatch('ElFormItem', 'el.form.change', val);
        },
        immediate:true,
        deep:true
    }
    },
    methods: {
        getMigratingConfig() {
            return {
                props: {
                    'footer-format': 'footer-format is renamed to format.'
                }
            };
        },
        onSourceCheckedChange(val, movedKeys) {
            this.leftChecked = val;
            if (movedKeys === undefined) return;
            this.$emit('left-check-change', val, movedKeys);
        },
        onTargetCheckedChange(val, movedKeys) {
            this.rightChecked = val;
            if (movedKeys === undefined) return;
            this.$emit('right-check-change', val, movedKeys);
        },
        addToLeft() {
            let currentValue = this.value.slice();
            this.rightChecked.forEach(item => {
                const index = currentValue.indexOf(item);
                if (index > -1) {
                    currentValue.splice(index, 1);
                }
            });
            this.$emit('input', currentValue);
            this.$emit('change', currentValue, 'left', this.rightChecked);
        },
        addToRight() {
            let currentValue = this.value.slice();
            let itemsToBeMoved = [];
            const key = this.props.key;
            this.data.forEach(item => {
                const itemKey = item[key];
                if (
                    this.leftChecked.indexOf(itemKey) > -1 &&
                    this.value.indexOf(itemKey) === -1
                ) {
                    // itemsToBeMoved.push(itemKey)
                    itemsToBeMoved = [itemKey]
                    console.log(itemsToBeMoved)
                }
            });
            // currentValue = this.targetOrder === 'unshift'
            //     ? itemsToBeMoved.concat(currentValue)
            //     : currentValue.concat(itemsToBeMoved);
            currentValue = itemsToBeMoved
            this.$emit('input', currentValue);
            this.$emit('change', currentValue, 'right', this.leftChecked);
        },
        clearQuery(which) {
            if (which === 'left') {
                this.$refs.leftPanel.query = '';
            } else if (which === 'right') {
                this.$refs.rightPanel.query = '';
            }
        }
    }
};
</script>
Source/UBCS-WEB/src/components/transfer/transfer-panel.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,232 @@
<template>
    <div class="el-transfer-panel">
        <p class="el-transfer-panel__header">
                {{ title }}
        </p>
        <div :class="['el-transfer-panel__body', hasFooter ? 'is-with-footer' : '']">
            <el-input class="el-transfer-panel__filter" v-model="query" size="small" :placeholder="placeholder"
                @mouseenter.native="inputHover = true" @mouseleave.native="inputHover = false" v-if="filterable">
                <i slot="prefix" :class="['el-input__icon', 'el-icon-' + inputIcon]" @click="clearQuery"></i>
            </el-input>
            <el-radio-group v-model="checked" v-show="!hasNoMatch && data.length > 0"
                :class="{ 'is-filterable': filterable }" class="el-transfer-panel__list">
                <el-radio class="el-transfer-panel__item" :label="item[keyProp]" :disabled="item[disabledProp]"
                    :key="item[keyProp]" v-for="item in filteredData"><option-content
                        :option="item"></option-content></el-radio>
            </el-radio-group>
            <p class="el-transfer-panel__empty" v-show="hasNoMatch">{{ t('el.transfer.noMatch') }}</p>
            <p class="el-transfer-panel__empty" v-show="data.length === 0 && !hasNoMatch">{{ t('el.transfer.noData') }}</p>
        </div>
        <p class="el-transfer-panel__footer" v-if="hasFooter">
            <slot></slot>
        </p>
    </div>
</template>
<script>
import ElCheckboxGroup from 'element-ui/packages/checkbox-group';
import ElCheckbox from 'element-ui/packages/checkbox';
import ElInput from 'element-ui/packages/input';
import Locale from 'element-ui/src/mixins/locale';
export default {
    mixins: [Locale],
    name: 'ElTransferPanel',
    componentName: 'ElTransferPanel',
    components: {
        ElCheckboxGroup,
        ElCheckbox,
        ElInput,
        OptionContent: {
            props: {
                option: Object
            },
            render(h) {
                const getParent = vm => {
                    if (vm.$options.componentName === 'ElTransferPanel') {
                        return vm;
                    } else if (vm.$parent) {
                        return getParent(vm.$parent);
                    } else {
                        return vm;
                    }
                };
                const panel = getParent(this);
                const transfer = panel.$parent || panel;
                return panel.renderContent
                    ? panel.renderContent(h, this.option)
                    : transfer.$scopedSlots.default
                        ? transfer.$scopedSlots.default({ option: this.option })
                        : <span>{this.option[panel.labelProp] || this.option[panel.keyProp]}</span>;
            }
        }
    },
    props: {
        data: {
            type: Array,
            default() {
                return [];
            }
        },
        renderContent: Function,
        placeholder: String,
        title: String,
        filterable: Boolean,
        format: Object,
        filterMethod: Function,
        defaultChecked: Array,
        props: Object
    },
    data() {
        return {
            checked: [],
            allChecked: false,
            query: '',
            inputHover: false,
            checkChangeByUser: true
        };
    },
    watch: {
        checked(val, oldVal) {
            this.updateAllChecked();
            let vals = Array.isArray(val)? val:[val]
            let oldVals = Array.isArray(oldVal)? oldVal:[oldVal]
            if (this.checkChangeByUser) {
                const movedKeys = vals.concat(oldVals)
                    .filter(v => vals.indexOf(v) === -1 || oldVals.indexOf(v) === -1);
                this.$emit('checked-change', vals,movedKeys);
            } else {
                this.$emit('checked-change', vals);
                this.checkChangeByUser = true;
            }
        },
        data() {
            const checked = [];
            const filteredDataKeys = this.filteredData.map(item => item[this.keyProp]);
            let checkeds = Array.isArray(this.checked)? this.checked:[this.checked]
            checkeds.forEach(item => {
                if (filteredDataKeys.indexOf(item) > -1) {
                    checked.push(item);
                }
            });
            this.checkChangeByUser = false;
            this.checked = checked;
        },
        checkableData() {
            this.updateAllChecked();
        },
        defaultChecked: {
            immediate: true,
            handler(val, oldVal) {
                if (oldVal && val.length === oldVal.length &&
                    val.every(item => oldVal.indexOf(item) > -1)) return;
                const checked = [];
                const checkableDataKeys = this.checkableData.map(item => item[this.keyProp]);
                val.forEach(item => {
                    if (checkableDataKeys.indexOf(item) > -1) {
                        checked.push(item);
                    }
                });
                this.checkChangeByUser = false;
                this.checked = checked;
            }
        }
    },
    computed: {
        filteredData() {
            return this.data.filter(item => {
                console.log(item)
                if (typeof this.filterMethod === 'function') {
                    return this.filterMethod(this.query, item);
                } else {
                    const label = item[this.labelProp] || item[this.keyProp].toString();
                    return label.toLowerCase().indexOf(this.query.toLowerCase()) > -1;
                }
            });
        },
        checkableData() {
            return this.filteredData.filter(item => !item[this.disabledProp]);
        },
        checkedSummary() {
            const checkedLength = this.checked.length;
            const dataLength = this.data.length;
            const { noChecked, hasChecked } = this.format;
            if (noChecked && hasChecked) {
                return checkedLength > 0
                    ? hasChecked.replace(/\${checked}/g, checkedLength).replace(/\${total}/g, dataLength)
                    : noChecked.replace(/\${total}/g, dataLength);
            } else {
                return `${checkedLength}/${dataLength}`;
            }
        },
        isIndeterminate() {
            const checkedLength = this.checked.length;
            return checkedLength > 0 && checkedLength < this.checkableData.length;
        },
        hasNoMatch() {
            return this.query.length > 0 && this.filteredData.length === 0;
        },
        inputIcon() {
            return this.query.length > 0 && this.inputHover
                ? 'circle-close'
                : 'search';
        },
        labelProp() {
            return this.props.label || 'label';
        },
        keyProp() {
            return this.props.key || 'key';
        },
        disabledProp() {
            return this.props.disabled || 'disabled';
        },
        hasFooter() {
            return !!this.$slots.default;
        }
    },
    methods: {
        updateAllChecked() {
            const checkableDataKeys = this.checkableData.map(item => item[this.keyProp]);
            this.allChecked = checkableDataKeys.length > 0 &&
                checkableDataKeys.every(item => this.checked===item);
        },
        handleAllCheckedChange(value) {
            this.checked = value
                ? this.checkableData.map(item => item[this.keyProp])
                : [];
        },
        clearQuery() {
            if (this.inputIcon === 'circle-close') {
                this.query = '';
            }
        }
    }
};
</script>
Source/UBCS-WEB/src/const/code/selectAttrOptionDialog.js
@@ -11,6 +11,8 @@
    viewBtn: false,
    selection: true,
    menu: false,
    columnBtn: false,
    searchShowBtn: false, //    è¡¨æ ¼æœç´¢æ˜¾éšæŒ‰é’®
    dialogClickModal: false,
    highlightCurrentRow: true,
    column: [
@@ -30,12 +32,12 @@
      },
      {
        label: "属性长度",
        prop: "attrLength",
        prop: "attrlength",
        search: false,
      },
      {
        label: "属性类型",
        prop: "attributeDataTypeText",
        prop: "attributedatatypetext",
        search: false,
      }
    ]
Source/UBCS-WEB/src/const/code/selectattroption.js
ÎļþÒÑɾ³ý
Source/UBCS-WEB/src/router/axios.js
@@ -17,7 +17,7 @@
import 'nprogress/nprogress.css';
//默认超时时间
axios.defaults.timeout = 10000;
axios.defaults.timeout = 20000;
//返回其他状态码
axios.defaults.validateStatus = function (status) {
  return status >= 200 && status <= 500;
Source/UBCS-WEB/src/views/code/code.vue
@@ -259,7 +259,7 @@
            size="small"
            icon="el-icon-plus"
            :disabled="selectionList.length <= 0"
            @click="addBasicCodeSec">
            @click="openAddBasicCodeSec">
            æ–° å¢ž
        </el-button>
        <el-button type="danger"
@@ -680,7 +680,7 @@
                  :option="attrOption"
                  :table-loading="selectAttrOptionLoading"
                  ref="selectionAttrCrud"
                  @search-change="selectAttrOptionSearchChange"
                  @search-change="selectAttrSearchChange"
                  @search-reset="searchAttrReset"
                  @row-click="selectionAttrRowClick"
                  @selection-change="selectionChangeAttr">
@@ -760,11 +760,13 @@
      <!-- ç¬¬äºŒå±‚对话框,自定义参照配置Form组件 -->
      <refer-config-form-dialog
        ref="referConfigFormDialog"
        @echoReferConfig="echoReferConfig" >
        @echoReferConfig="echoReferConfig">
      </refer-config-form-dialog>
      <!-- ç¬¬äºŒå±‚对话框,直接选择参照配置curd组件 -->
      <!-- ç¬¬äºŒå±‚对话框,直接选择参照配置crud组件 -->
      <refer-config-crud-dialog
        ref="referConfigCrudDialog">
        ref="referConfigCrudDialog"
        @openReconfigInterFace="openReconfigInterFace"
        @echoReferConfig="echoReferConfig">
      </refer-config-crud-dialog>
    </el-dialog>
@@ -1121,6 +1123,7 @@
        /* å¼•用码段参照配置,子组件填完参照配置之后内容回显时调用 */
        echoReferConfig(content){
          // console.log(content.referTypeName);
          this.form.referBtmId = content.referType;
          this.form.referBtmName = content.referTypeName;
          //转换成JSON字符串进行父组件回显
@@ -1274,19 +1277,13 @@
          //这儿还需要完善
          this.selectAttrOptionLoading = true;
          listClassifyLinkAttr({"page": 1,"limit": -1,'conditionMap[codeClassifyOid]':this.currentSelectTreeData.oid}).then(res=>{
          //console.log(res.data.data);
          //造假数据
          let dataInfo =[
            {"id":"address","name":"会议室地址","oid":"058D840D-1010-A7DE-7C52-B39C03CE89C1","attrLength":"150","description":"","attributeDataTypeText":"字符串"},
            {"id":"businesslicensetype","name":"营业执照类型","oid":"BDAC6D3E-1827-35A0-F3CA-0E58A43F6A07","attrLength":"255","description":"营业执照类型","attributeDataTypeText":"字符串"},
            {"id":"certificatenumber","name":"保密证编号","oid":"E2BC8332-A721-3713-26C3-C9F6340C2C1D","attrLength":"255","description":"保密证编号","attributeDataTypeText":"字符串"},
          ]
          this.selectattrData = dataInfo;
          this.selectAttrOptionLoading = false;
            console.log(res.data.data);
            this.selectattrData = res.data.data;
            this.selectAttrOptionLoading = false;
          })
        },
        // ç‚¹å‡»æœç´¢åŽè§¦å‘该事件
        selectAttrOptionSearchChange(params, done) {
        selectAttrSearchChange(params, done) {
          this.query = params;
          //console.log(params);  //这儿需要改
          this.loadlistClassifyLinkAttr(Object.assign(params,{'conditionMap[codeClassifyOid]':this.currentSelectTreeData.oid}));
@@ -1663,7 +1660,7 @@
          // this.changeSectypeFormItems(null);
        },
        // æ‰“开新增窗口
        addBasicCodeSec(){
        openAddBasicCodeSec(){
          if(!this.tipsMessage(this.selectionList)){
            return;
          }
@@ -1709,10 +1706,10 @@
          if(this.form.oid == '' || this.form.oid == null){
            if(this.checkForm()){
              addSave(this.form).then(() => {
              this.$message({
                type: "success",
                message: "操作成功!"
              });
                this.$message({
                  type: "success",
                  message: "操作成功!"
                });
              }, error => {
                window.console.log(error);
              });
@@ -2373,7 +2370,6 @@
          });
        },
        /** ç¬¬ä¸€å±‚对话框相关方法 */
        // æ‰“开二层对话框方法
        openAttrSelectOrGetValue(condition){
@@ -2389,20 +2385,26 @@
            this.refreshReferBtmDataChange();
          }else if(condition === 'referConfig'){
            if(func.notEmpty(this.form.referConfig) || func.notEmpty(this.form.referBtmName)){
              this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
              let value = {
                referTypeName: this.form.referBtmName,
                referType: this.form.referBtmId,
                referConfig: this.form.referConfig,
              }
              this.$refs.referConfigFormDialog.initPageData(value);
              this.openReconfigInterFace(this.form);
            }else{
              this.openTipsChooseOrCust();
            }
             //this.$refs.referConfigFormDialog.onloadAttrData();
          }
        },
        // æ‰“开自定义参照配置或直接选择参照配置界面
        // å½“前已存在编辑过的参展配置,所以直接打开参照配置界面
        openReconfigInterFace(preReferConfigForm){
          // console.log(preReferConfigForm);
          this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
              let value = {
                referTypeName: preReferConfigForm.referBtmName,
                referType: preReferConfigForm.referBtmId,
                referConfig: preReferConfigForm.referConfig,
              }
              this.$refs.referConfigFormDialog.initPageData(value);
        },
        // æ‰“开自定义参照配置或直接选择参照配置的提示框
        openTipsChooseOrCust(){
          this.$confirm('请选择参照配置的定义方式?','参照配置的方式', {
            distinguishCancelAndClose: true,
@@ -2511,7 +2513,7 @@
              serialStart: row!=null&&row.serialStart != '' ? row.serialStart:1,  //流水号起始值
              serialStep: row!=null&&row.serialStep != '' ? row.serialStep:1,   //流水的步长
              codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_right', //编码补位方式
              codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,    //补位时的字符,选中的下拉框的下标
              codeFillSeparatorSelect: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparatorSelect:0,    //补位时的字符,选中的下拉框的下标
              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:0,          //补位时的字符
              codeFillLength: row!=null&&row.codeFillLength != '' ? row.codeFillLength:'',              //填充长度
              codeFillLimit: row!=null&&row.codeFillLimit != '' ? row.codeFillLimit:'',               //流水上限
@@ -2570,7 +2572,7 @@
        },
        //枚举和可输可选内容查询
        loadCodeSecType(){
          getDictionary({code: "codeBasicSecType"}).then(res=>{
          getDictionary({code: "codeSecType"}).then(res=>{
            this.sectypeList = res.data.data;
          })
          this.loadCodeSecLength();
Source/UBCS-WEB/src/views/flow/flowPath.vue
@@ -12,7 +12,10 @@
                            <el-tab-pane label="流程跟踪" name="second">
                                <avue-crud :data="data" :option="option" ref="crud">
                                </avue-crud>
                                <el-image style="width: 100%; height: 100%" :src="url" fit="cover"></el-image>
                                <div style="padding: 10px 0; width: 100%; height: 100% ">
                                    <el-image :src="url" flt="fill"></el-image>
                                </div>
                            </el-tab-pane>
                        </el-tabs>
                    </el-card>
@@ -25,7 +28,7 @@
                        </div>
                        <div style="width: 100%;">
                            <p>请在下方输入您的审批意见:</p>
                            <el-input type="textarea" :rows="4" placeholder="请输入内容" v-model="opinionVal">
                            <el-input type="textarea" :rows="4" placeholder="请输入内容" show-word-limit v-model="opinionVal">
                            </el-input>
                        </div>
                        <div style="width: 100%;">
Source/UBCS-WEB/src/views/flow/model.vue
@@ -349,7 +349,7 @@
      deployModel({
        modelId: this.selectionId,
        category: flowCategory(form.categoryValue),
        tenantIds: form.tenantId.join(",")
        tenantIds: form.tenantId?form.tenantId.join(","):""
      }).then(res => {
        const data = res.data;
        if (data.success) {
Source/UBCS-WEB/src/views/integration/integrationIndex.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,323 @@
<template>
    <div>
        <el-container style="height: 100%; border: 1px solid #fff">
            <el-card :style="{ marginRight: '10px' }">
                <el-aside width="300px" style="background-color: #fff">
                    <el-input placeholder="输入关键字进行过滤" v-model="filterText">
                    </el-input>
                    <el-menu :default-openeds="['1', '3']">
                        <el-tree class="filter-tree" :data="treeData" accordion :props="defaultProps"
                            :filter-node-method="filterNode" empty-text="暂无数据" ref="tree" @node-click="handelTreeCell">
                        </el-tree>
                    </el-menu>
                </el-aside>
            </el-card>
            <el-main>
                <el-card>
                    <el-form :model="form">
                        <el-form-item label="集团分类" label-width="70px" size="small">
                            <el-select clearable ref="selectTree" v-model="form.groupValue" placeholder="请选择"
                                popper-class="popperTreeSelect">
                                <el-option :value="groupVal" :label="groupVal">
                                    <el-tree ref="groupTree" :data="groupTreeData" empty-text="暂无数据" :props="defaultProps"
                                        @node-click="handleNodeClick">
                                    </el-tree>
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-form>
                    <avue-crud :table-loading="loading" :data="tableData" :option="option" ref="crud" @cell-class-name="handelCellRow"
                        @cell-click="handleCellClick">
                        <template slot="menuLeft">
                            <el-button icon="el-icon-plus" size="small" type="primary" @click="dialogPush = true">新 å¢ž
                            </el-button>
                            <el-button icon="el-icon-check" size="small" type="primary" @click="handleSave">保 å­˜
                            </el-button>
                            <el-button icon="el-icon-connection" size="small" type="primary" @click="handleSync">同步模型
                            </el-button>
                        </template>
                        <template slot="defaultValue" slot-scope="{scope}">
                            <!-- <el-input v-model="scope.row.defaultValue" v-if="scope.row.index === tableRowIndex && scope.column.index === tableColumnIndex" @blur="inputBlur"> </el-input> -->
                            <span>{{ scope }}</span>
                        </template>
                    </avue-crud>
                    <el-card :style="{ marginTop: '20px' }">
                        <avue-crud :data="tablesData" :option="optinos" ref="crud"
                        @cell-click="handleCellClick">
                        </avue-crud>
                    </el-card>
                </el-card>
            </el-main>
        </el-container>
        <el-dialog title="编码属性" :visible.sync="dialogPush" append-to-body="true" destroy-on-close width="30%"
            :before-close="handleClose">
            <el-form :model="form">
                <el-form-item label="查询条件" label-width="70px" size="small">
                    <el-input v-model="form.name" autocomplete="off" @change="handleQuery"></el-input>
                </el-form-item>
            </el-form>
            <p class="text_tip">*选择分类进行属性过滤, æˆ–者输入属性的全拼或者简拼进行查询! å¦‚: å§“名 (可输入xm或xinming )</p>
            <transfer v-model="transferValue" :data="transferData" :filter-method="filterMethod"
                filter-placeholder="请输入属性拼音全拼或者拼音缩写" @left-check-change="handelLeftCheck"></transfer>
            <span slot="footer" class="dialog-footer">
                <el-button @click="dialogPush = false">取 æ¶ˆ</el-button>
                <el-button type="primary" @click="dialogPush = false">保 å­˜</el-button>
            </span>
        </el-dialog>
    </div>
</template>
<script>
import transfer from '@/components/transfer/index'
import pinyin from 'js-pinyin'
import { referCodeClassifyTree, referTree, gridAttrMapping } from '@/api/integration/integration.js'
export default {
    components: {
        transfer
    },
    data() {
        const generateData = () => {
            pinyin.setOptions({ checkPolyphone: false, charCase: 1 });
            const data = [];
            const cities = ['上海', '北京', '广州', '深圳', '南京', '西安', '成都'];
            cities.forEach((city, index) => {
                data.push({
                    label: city,
                    key: index,
                    pinyin: pinyin.getFullChars(city),
                    pinyins: pinyin.getCamelChars(city),
                });
            });
            return data;
        };
        return {
            form: {
                name: '',
                groupValue: ''
            },
            loading: false,
            ishowTree: false,
            search: '',
            transferData: generateData(),
            transferValue: [],
            dialogPush: false,
            tableData: [],
            tablesData: [
                {
                    id:'01',
                    groupTypeName:'李四',
                    codeView:'张三',
                    sex:'',
                    typeName:''
                }
            ],
            filterText: '',
            tableRowIndex:null,
            tableColumnIndex:null,
            optinos: {
                title: '集团属性',
                maxHeight: '300px',
                menu: true,
                delBtn: false,
                addBtn: false,
                index: true,
                header: false,
                columnBtn: false,
                searchShow: true,
                emptyBtn: false,
                searchBtn: false,
                searchShowBtn: false,
                cellBtn: true,
                border: true,
                searchMenuSpan: 8,
                column: [
                    { label: '属性集团枚举值', prop: 'groupTypeName', minWidth: 80, },
                    { label: '集团属性枚举显示名称', prop: 'codeView', minWidth: 80 },
                    { label: 'MDM枚举值', prop: 'sex', minWidth: 80, cell: true },
                    { label: 'MDM枚举显示名称', prop: 'typeName', minWidth: 80, cell: true },
                ]
            },
            option: {
                maxHeight: '500px',
                menu: true,
                delBtn: false,
                addBtn: false,
                index: true,
                header: true,
                columnBtn: false,
                searchShow: true,
                emptyBtn: false,
                searchBtn: false,
                searchShowBtn: false,
                cellBtn: false,
                border: true,
                searchMenuSpan: 8,
                column: [
                    { label: '集团分类', prop: 'sourceClassifyName', minWidth: 80, },
                    { label: '所属视图', prop: 'viewName', minWidth: 80 },
                    { label: '集团属性', prop: 'sourceAttrName', minWidth: 80 },
                    { label: '分类名称', prop: 'targetClassifyName', minWidth: 80, overHidden: true },
                    { label: '属性名称', prop: 'targetAttrName', minWidth: 80},
                    { label: '默认值', prop: 'defaultValue', minWidth: 140, cell: true },
                ]
            },
            treeData: [],
            groupTreeData: [],
            defaultProps: {
                children: 'children',
                label: 'name',
                id: 'oid',
                isLeaf: ''
            },
            groupVal: '',
            treeParam: {}
        }
    },
    watch: {
        filterText(val) {
            console.log(this.$refs.tree)
            this.$refs.tree.filter(val);
        }
    },
    created() {
        this.getReferCodeClassifyTree()
        pinyin.setOptions({ checkPolyphone: false, charCase: 1 });
        console.log(pinyin.getFullChars('管理员'))
        console.log(pinyin.getCamelChars('管理员'))
    },
    methods: {
        async getReferCodeClassifyTree() {
            const param = {
                parentBtmName: "jclass",
                valueField: "oid",
                textField: "name",
                parentFieldName: "id"
            }
            const response = await referCodeClassifyTree(param)
            console.log(response)
            if (response.status === 200) {
                let data = response.data;
                this.treeData = data.map(item => item.children ? { ...item, ...{ isLeaf: false } } : { ...item, ...{ isLeaf: true } })
            }
        },
        async getlistCodeAttributeByClassId(oid) {
            this.loading = true
            console.log(this.treeParam)
            const response = await gridAttrMapping({ sourceClassifyId: oid, ...this.treeParam })
            console.log(response)
            if (response.status === 200) {
                this.loading = false
                this.tableData = response.data.data
            }
        },
        async referTree(oid, checked) {
            this.groupTreeData = []
            const response = await referTree({ 'conditionMap[codeclsfid]': oid, parentOid: null })
            console.log(response)
            if (response.status === 200) {
                if (checked) {
                    let items = response.data.map(item => {
                        let obj = {}
                        if (item.checked) obj = { ...item }
                        else obj = null
                        return obj
                    })
                    var r = items.filter(s => { return s && s.trim() });
                    this.groupTreeData = r
                } else {
                    this.groupTreeData = response.data
                }
            }
        },
        filterNode(value, data) {
            console.log(value)
            console.log(data)
            if (!value) return true;
            return data.name.indexOf(value) !== -1;
        },
        handleSave() {
        },
        handlePush() {
        },
        handelLeftCheck(event) {
            console.log(event)
        },
        handelCellRow( {row, column, rowIndex, columnIndex }) {
            row.index = rowIndex
            column.index = columnIndex
        },
        handleQuery(event) {
            console.log(event)
            this.form.name = event
        },
        filterMethod(item) {
            return item.pinyins.indexOf(this.form.name) > -1;
        },
        handelTreeCell(event) {
            console.log(event)
            if (event.leaf) {
                this.treeParam.codeClassifyId = event.oid
                this.form.groupValue = ''
                this.groupVal = ''
                this.tableData = []
                this.referTree(event.oid, event.checked)
            }
        },
        handleNodeClick(data) {
            console.log(data)
            this.form.groupValue = data.name
            this.groupVal = data.name
            this.$refs.selectTree.blur()
            this.getlistCodeAttributeByClassId(data.oid)
        },
        handleCellClick(row, column,cell, event) {
            console.log(row)
            console.log(column)
            console.log(cell)
            console.log(event)
          this.tableRowIndex = row.index
          this.tableColumnIndex = column.index
        },
        inputBlur() {
            this.tableColumnIndex = ''
            this.tableRowIndex = null
        }
    }
}
</script>
<style lang="scss" scoped>
.text_tip {
    padding: 10px 0;
    color: #F56C6C;
}
.setstyle {
    min-height: 200px;
    padding: 0 !important;
    margin: 0;
    overflow: auto;
    cursor: default !important;
}
/deep/ .el-transfer-panel__list {
    width: 100%;
}
/deep/ .el-input {
    width: auto;
}
/deep/ .el-transfer-panel {
    width: 270px;
}
/deep/ .el-transfer-panel__list {
    height: 370px;
}
/deep/ .el-transfer-panel__body {
    height: 370px;
}
</style>
Source/UBCS-WEB/vue.config.js
@@ -26,10 +26,11 @@
    proxy: {
      '/api': {
        //本地服务接口地址
        // target: 'http://localhost:37000',
          target: 'http://localhost:37000',
        // target: 'http://192.168.1.63:37000',
        //target: 'http://192.168.3.7:37000',
        target: 'http://dev.vci-tech.com:37000',
        // target: 'http://192.168.1.51:37000/',
        //target: 'http://dev.vci-tech.com:37000',
        //target: 'http://192.168.1.51:37000/',
        //远程演示服务地址,可用于直接启动项目
        // target: 'https://saber.bladex.vip/api',
        ws: true,
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,675 @@
package com.vci.ubcs.code.dto;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import com.vci.ubcs.code.vo.pagemodel.SysIntHeaderVO;
import com.vci.ubcs.code.vo.pagemodel.SysIntParamVO;
import java.util.List;
/**
 * ç³»ç»Ÿé›†æˆåŸºç¡€ä¿¡æ¯æ•°æ®ä¼ è¾“对象
 *
 * @author lihang
 * @date 2022-03-07
 */
public class DockingSystemConfigDTO extends BaseModelVO {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 4615707120053955466L;
    /**
     * è®¤è¯æ–¹å¼
     */
    private String authorityOid;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    private String authorityOidName;
    /**
     * è®¤è¯æ–¹å¼
     */
    private String authorityType;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    private String authorityTypeText;
    /**
     * éªŒè¯ç”¨æˆ·
     */
    private String userAccount;
    /**
     * éªŒè¯å¯†ç 
     */
    private String userCode;
    /**
     * éªŒè¯ä»¤ç‰Œ
     */
    private String token;
    /**
     * æŽ¥å£å‡½æ•°
     */
    private String interfaceFunction;
    /**
     * æŽ¥å£æè¿°
     */
    private String description;
    /**
     * æŽ¥å£ç±»åž‹
     */
    private String interfaceType;
    /**
     * æŽ¥å£ç±»åž‹æ˜¾ç¤ºæ–‡æœ¬
     */
    private String interfaceTypeText;
    /**
     * å‚数类型
     */
    private String paramType;
    /**
     * å‚数类型显示文本
     */
    private String paramTypeText;
    /**
     * è¯·æ±‚方式
     */
    private String requestMethod;
    /**
     * è¯·æ±‚方式显示文本
     */
    private String requestMethodText;
    /**
     * åˆ†ç±»oid
     */
    private String classifyOid;
    /**
     * å¯ç”¨ã€åœç”¨true/false,不用平台的枚举,减少对平台的耦合
     */
    private String usedFlag;
    /**
     * æŽ¨é€ç³»ç»Ÿoid
     */
    private String sysBaseOid;
    /**
     * æŽ¨é€ç³»ç»Ÿç¼–号
     */
    private String sysBaseId;
    /**
     * æŽ¨é€ç³»ç»Ÿåç§°
     */
    private String sysBaseName;
    /**
     * è¯·æ±‚地址
     */
    private String requestUrl;
    /**
     * è¿”回值类型
     */
    private String returnType;
    /**
     * è¿”回值类型显示文本
     */
    private String returnTypeText;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®
     */
    private String sourceSystemOid;
    /**
     * æ¥æºç³»ç»Ÿåç§°
     */
    private String sourceSysName;
    /**
     * æ¥æºç³»ç»Ÿæ ‡è¯†
     */
    private String sourceSysId;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    private String sourceSystemOidName;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®
     */
    private String targetSystemOid;
    /**
     * ç›®æ ‡ç³»ç»Ÿåç§°
     */
    private String targetSysName;
    /**
     * ç›®æ ‡ç³»ç»Ÿæ ‡è¯†
     */
    private String targetSysId;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    private String targetSystemOidName;
    /**
     * ç±»è·¯å¾„
     */
    private String classPath;
    /**
     * æ•°æ®æµå‘方式
     */
    private String dataFlowType;
    /**
     * æ•°æ®æµå‘方式的显示字段
     */
    private String dataFlowTypeText;
    /**
     * å­˜å‚¨çš„业务类型
     */
    private String btmTypeId;
    /**
     * å­˜å‚¨çš„业务类型的中文名称
     */
    private String btmTypeName;
    /**
     * å‘½åç©ºé—´
     */
    private String namespace;
    /**
     * soapAction
     */
    private String soapAction;
    /**
     * cxfaxis
     */
    private String cxfAxis;
    /**
     * å‚数名称
     */
    private String targetName;
    /***
     * æŽ¨é€ç±»åž‹ 1:数据推送/2分类推送,默认数据推送
     */
    private String pushType;
    /***
     * æŽ¨é€ç±»åž‹æ˜¾ç¤ºå€¼
     */
    private String pushTypeText;
    /**
     * åˆ†ç±»id
     */
    private String classifyId;
    /**
     * åˆ†ç±»åç§°
     */
    private String classifyName;
    /***
     * å‚数信息对象
     */
    private List<SysIntParamVO> sysIntParamVOs;
    /***
     * header信息对象
     */
    private List<SysIntHeaderVO> sysIntHeaderVOs;
    public String getAuthorityOid() {
        return authorityOid;
    }
    public void setAuthorityOid(String authorityOid) {
        this.authorityOid = authorityOid;
    }
    public String getAuthorityOidName() {
        return authorityOidName;
    }
    public void setAuthorityOidName(String authorityOidName) {
        this.authorityOidName = authorityOidName;
    }
    public String getAuthorityType() {
        return authorityType;
    }
    public void setAuthorityType(String authorityType) {
        this.authorityType = authorityType;
    }
    public String getAuthorityTypeText() {
        return authorityTypeText;
    }
    public void setAuthorityTypeText(String authorityTypeText) {
        this.authorityTypeText = authorityTypeText;
    }
    public String getUserAccount() {
        return userAccount;
    }
    public void setUserAccount(String userAccount) {
        this.userAccount = userAccount;
    }
    public String getUserCode() {
        return userCode;
    }
    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }
    public String getToken() {
        return token;
    }
    public void setToken(String token) {
        this.token = token;
    }
    public String getInterfaceFunction() {
        return interfaceFunction;
    }
    public void setInterfaceFunction(String interfaceFunction) {
        this.interfaceFunction = interfaceFunction;
    }
    @Override
    public String getDescription() {
        return description;
    }
    @Override
    public void setDescription(String description) {
        this.description = description;
    }
    public String getInterfaceType() {
        return interfaceType;
    }
    public void setInterfaceType(String interfaceType) {
        this.interfaceType = interfaceType;
    }
    public String getInterfaceTypeText() {
        return interfaceTypeText;
    }
    public void setInterfaceTypeText(String interfaceTypeText) {
        this.interfaceTypeText = interfaceTypeText;
    }
    public String getParamType() {
        return paramType;
    }
    public void setParamType(String paramType) {
        this.paramType = paramType;
    }
    public String getParamTypeText() {
        return paramTypeText;
    }
    public void setParamTypeText(String paramTypeText) {
        this.paramTypeText = paramTypeText;
    }
    public String getRequestMethod() {
        return requestMethod;
    }
    public void setRequestMethod(String requestMethod) {
        this.requestMethod = requestMethod;
    }
    public String getRequestMethodText() {
        return requestMethodText;
    }
    public void setRequestMethodText(String requestMethodText) {
        this.requestMethodText = requestMethodText;
    }
    public String getClassifyOid() {
        return classifyOid;
    }
    public void setClassifyOid(String classifyOid) {
        this.classifyOid = classifyOid;
    }
    public String getUsedFlag() {
        return usedFlag;
    }
    public void setUsedFlag(String usedFlag) {
        this.usedFlag = usedFlag;
    }
    public String getSysBaseOid() {
        return sysBaseOid;
    }
    public void setSysBaseOid(String sysBaseOid) {
        this.sysBaseOid = sysBaseOid;
    }
    public String getSysBaseId() {
        return sysBaseId;
    }
    public void setSysBaseId(String sysBaseId) {
        this.sysBaseId = sysBaseId;
    }
    public String getSysBaseName() {
        return sysBaseName;
    }
    public void setSysBaseName(String sysBaseName) {
        this.sysBaseName = sysBaseName;
    }
    public String getRequestUrl() {
        return requestUrl;
    }
    public void setRequestUrl(String requestUrl) {
        this.requestUrl = requestUrl;
    }
    public String getReturnType() {
        return returnType;
    }
    public void setReturnType(String returnType) {
        this.returnType = returnType;
    }
    public String getReturnTypeText() {
        return returnTypeText;
    }
    public void setReturnTypeText(String returnTypeText) {
        this.returnTypeText = returnTypeText;
    }
    public String getSourceSystemOid() {
        return sourceSystemOid;
    }
    public void setSourceSystemOid(String sourceSystemOid) {
        this.sourceSystemOid = sourceSystemOid;
    }
    public String getSourceSysName() {
        return sourceSysName;
    }
    public void setSourceSysName(String sourceSysName) {
        this.sourceSysName = sourceSysName;
    }
    public String getSourceSysId() {
        return sourceSysId;
    }
    public void setSourceSysId(String sourceSysId) {
        this.sourceSysId = sourceSysId;
    }
    public String getSourceSystemOidName() {
        return sourceSystemOidName;
    }
    public void setSourceSystemOidName(String sourceSystemOidName) {
        this.sourceSystemOidName = sourceSystemOidName;
    }
    public String getTargetSystemOid() {
        return targetSystemOid;
    }
    public void setTargetSystemOid(String targetSystemOid) {
        this.targetSystemOid = targetSystemOid;
    }
    public String getTargetSysName() {
        return targetSysName;
    }
    public void setTargetSysName(String targetSysName) {
        this.targetSysName = targetSysName;
    }
    public String getTargetSysId() {
        return targetSysId;
    }
    public void setTargetSysId(String targetSysId) {
        this.targetSysId = targetSysId;
    }
    public String getTargetSystemOidName() {
        return targetSystemOidName;
    }
    public void setTargetSystemOidName(String targetSystemOidName) {
        this.targetSystemOidName = targetSystemOidName;
    }
    public String getClassPath() {
        return classPath;
    }
    public void setClassPath(String classPath) {
        this.classPath = classPath;
    }
    public String getDataFlowType() {
        return dataFlowType;
    }
    public void setDataFlowType(String dataFlowType) {
        this.dataFlowType = dataFlowType;
    }
    public String getDataFlowTypeText() {
        return dataFlowTypeText;
    }
    public void setDataFlowTypeText(String dataFlowTypeText) {
        this.dataFlowTypeText = dataFlowTypeText;
    }
    public String getBtmTypeId() {
        return btmTypeId;
    }
    public void setBtmTypeId(String btmTypeId) {
        this.btmTypeId = btmTypeId;
    }
    public String getBtmTypeName() {
        return btmTypeName;
    }
    public void setBtmTypeName(String btmTypeName) {
        this.btmTypeName = btmTypeName;
    }
    public String getNamespace() {
        return namespace;
    }
    public void setNamespace(String namespace) {
        this.namespace = namespace;
    }
    public String getSoapAction() {
        return soapAction;
    }
    public void setSoapAction(String soapAction) {
        this.soapAction = soapAction;
    }
    public String getCxfAxis() {
        return cxfAxis;
    }
    public void setCxfAxis(String cxfAxis) {
        this.cxfAxis = cxfAxis;
    }
    public String getTargetName() {
        return targetName;
    }
    public void setTargetName(String targetName) {
        this.targetName = targetName;
    }
    public String getPushType() {
        return pushType;
    }
    public void setPushType(String pushType) {
        this.pushType = pushType;
    }
    public String getPushTypeText() {
        return pushTypeText;
    }
    public void setPushTypeText(String pushTypeText) {
        this.pushTypeText = pushTypeText;
    }
    public String getClassifyId() {
        return classifyId;
    }
    public void setClassifyId(String classifyId) {
        this.classifyId = classifyId;
    }
    public String getClassifyName() {
        return classifyName;
    }
    public void setClassifyName(String classifyName) {
        this.classifyName = classifyName;
    }
    public List<SysIntParamVO> getSysIntParamVOs() {
        return sysIntParamVOs;
    }
    public void setSysIntParamVOs(List<SysIntParamVO> sysIntParamVOs) {
        this.sysIntParamVOs = sysIntParamVOs;
    }
    public List<SysIntHeaderVO> getSysIntHeaderVOs() {
        return sysIntHeaderVOs;
    }
    public void setSysIntHeaderVOs(List<SysIntHeaderVO> sysIntHeaderVOs) {
        this.sysIntHeaderVOs = sysIntHeaderVOs;
    }
    @Override
    public String toString() {
        return "SysIntInfoDTO{" +
            "authorityOid='" + authorityOid + '\'' +
            ", authorityOidName='" + authorityOidName + '\'' +
            ", authorityType='" + authorityType + '\'' +
            ", authorityTypeText='" + authorityTypeText + '\'' +
            ", userAccount='" + userAccount + '\'' +
            ", userCode='" + userCode + '\'' +
            ", token='" + token + '\'' +
            ", interfaceFunction='" + interfaceFunction + '\'' +
            ", description='" + description + '\'' +
            ", interfaceType='" + interfaceType + '\'' +
            ", interfaceTypeText='" + interfaceTypeText + '\'' +
            ", paramType='" + paramType + '\'' +
            ", paramTypeText='" + paramTypeText + '\'' +
            ", requestMethod='" + requestMethod + '\'' +
            ", requestMethodText='" + requestMethodText + '\'' +
            ", classifyOid='" + classifyOid + '\'' +
            ", usedFlag='" + usedFlag + '\'' +
            ", sysBaseOid='" + sysBaseOid + '\'' +
            ", sysBaseId='" + sysBaseId + '\'' +
            ", sysBaseName='" + sysBaseName + '\'' +
            ", requestUrl='" + requestUrl + '\'' +
            ", returnType='" + returnType + '\'' +
            ", returnTypeText='" + returnTypeText + '\'' +
            ", sourceSystemOid='" + sourceSystemOid + '\'' +
            ", sourceSysName='" + sourceSysName + '\'' +
            ", sourceSysId='" + sourceSysId + '\'' +
            ", sourceSystemOidName='" + sourceSystemOidName + '\'' +
            ", targetSystemOid='" + targetSystemOid + '\'' +
            ", targetSysName='" + targetSysName + '\'' +
            ", targetSysId='" + targetSysId + '\'' +
            ", targetSystemOidName='" + targetSystemOidName + '\'' +
            ", classPath='" + classPath + '\'' +
            ", dataFlowType='" + dataFlowType + '\'' +
            ", dataFlowTypeText='" + dataFlowTypeText + '\'' +
            ", btmTypeId='" + btmTypeId + '\'' +
            ", btmTypeName='" + btmTypeName + '\'' +
            ", namespace='" + namespace + '\'' +
            ", soapAction='" + soapAction + '\'' +
            ", cxfAxis='" + cxfAxis + '\'' +
            ", targetName='" + targetName + '\'' +
            ", pushType='" + pushType + '\'' +
            ", pushTypeText='" + pushTypeText + '\'' +
            ", classifyId='" + classifyId + '\'' +
            ", classifyName='" + classifyName + '\'' +
            ", sysIntParamVOs=" + sysIntParamVOs +
            ", sysIntHeaderVOs=" + sysIntHeaderVOs +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemDTO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntBaseDTO.java ÐÞ¸Ä
@@ -9,7 +9,7 @@
 * @author lihang
 * @date 2022-03-07
 */
public class SysIntBaseDTO extends BaseModelVO {
public class DockingSystemDTO extends BaseModelVO {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoBseDTO.java
@@ -5,17 +5,17 @@
import java.util.List;
public class SysIntInfoBseDTO extends BaseModelVO {
    private SysIntInfoDTO sysIntInfoDTO;
    private DockingSystemConfigDTO sysIntInfoDTO;
    private List<SysIntParamDTO> sysIntParamDTO;
    private List<SysIntHeaderDTO> sysIntHeaderDTOS;
    public SysIntInfoDTO getSysIntInfoDTO() {
    public DockingSystemConfigDTO getSysIntInfoDTO() {
        return sysIntInfoDTO;
    }
    public void setSysIntInfoDTO(SysIntInfoDTO sysIntInfoDTO) {
    public void setSysIntInfoDTO(DockingSystemConfigDTO sysIntInfoDTO) {
        this.sysIntInfoDTO = sysIntInfoDTO;
    }
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoDTO.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeOsattributeEntity.java
@@ -97,5 +97,4 @@
    @ApiModelProperty(value = "取值范围")
    private String range;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeOsbtmtypeattributeEntity.java
@@ -45,7 +45,6 @@
     */
    private static final long serialVersionUID = -4431848943790920077L;
    @JsonSerialize(
        using = ToStringSerializer.class
    )
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java
@@ -151,9 +151,9 @@
    private String referTypeName;
    /**
     * æ‰€å±žé¢†åŸŸ
     * æ˜¯å¦å¼€å¯å…¨å±€
     */
    private String doMain;
    private String isOpenGlobal;
    /**
     * æŽ’序
@@ -161,6 +161,11 @@
    private Integer orderNum;
    /**
     * æ˜¯å¦å¼€å¯æŒä¹…化
     */
    private String isPersistence;
    /**
     * æ˜¾ç¤ºçš„属性-显示对象
     */
    @TableField(exist = false)
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeShowFieldConfig.java
@@ -1,10 +1,14 @@
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import java.io.Serializable;
/**
 * ç¼–码规则管理-引用码段-参照配置-显示属性配置
@@ -15,11 +19,17 @@
@Data
@TableName("PL_CODE_SHOWFIELDCONFIG")
@ApiModel(value = "CodeShowFieldConfig对象", description = "编码规则管理-引用码段-参照配置-显示属性配置")
public class CodeShowFieldConfig extends BaseModel {
public class CodeShowFieldConfig implements Serializable {
    private static final long serialVersionUID = -71135592796848692L;
    /**
     * ä¸»é”®
     */
    @TableId(value = "OID",type = IdType.ASSIGN_UUID)
    private String oid;
    /**
     * åˆ—字段
     */
    private String field;
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSrchCondConfig.java
@@ -1,5 +1,7 @@
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.vci.ubcs.starter.revision.model.BaseModel;
import io.swagger.annotations.ApiModel;
@@ -15,11 +17,17 @@
@Data
@TableName("PL_CODE_SRCHCONDCONFIG")
@ApiModel(value = "CodeSrchCondConfig对象", description = "编码规则管理-引用码段-参照配置-搜索条件配置")
public class CodeSrchCondConfig extends BaseModel {
public class CodeSrchCondConfig {
    private static final long serialVersionUID = -51655155561881523L;
    /**
     * ä¸»é”®
     */
    @TableId(value = "OID",type = IdType.ASSIGN_UUID)
    private String oid;
    /**
     * ç­›é€‰å­—段
     */
    private String filterField;
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystem.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.vci.ubcs.starter.revision.model.BaseModel;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/****
 * é›†æˆç®¡ç†æŽ¥å£-集成系统维护对象
 * @author xiejun
 * @date 2023-06-01
 */
@Data
@TableName("PL_CODE_SYSINTBASE")
@ApiModel(value = "DockingSystem", description = "集成管理接口-集成系统维护对象")
@EqualsAndHashCode(callSuper = true)
public class DockingSystem extends BaseModel {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 4615707117716142023L;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,311 @@
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.vci.ubcs.code.vo.pagemodel.SysIntHeaderVO;
import com.vci.ubcs.code.vo.pagemodel.SysIntParamVO;
import com.vci.ubcs.starter.revision.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/***
 * é›†æˆæŽ¥å£-集成接口管理对象
 * @author xiejun
 * @date 2023-06-01
 */
@Data
@TableName("PL_CODE_SYSINTINFO")
@ApiModel(value = "DockingSystemConfig", description = "集成接口-集成接口管理对象")
@EqualsAndHashCode(callSuper = true)
public class DockingSystemConfig extends BaseModel{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 4615707117716142069L;
    /**
     * è®¤è¯æ–¹å¼
     */
    /***
     * é›†å›¢åˆ†ç±»oid
     */
    @ApiModelProperty(value = "认证方式")
    //@TableField(value = "authorityOid")
    private String authorityOid;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    @ApiModelProperty(value = "认证方式显示文本")
    @TableField(exist = false)
    private String authorityOidName;
    /**
     * è®¤è¯æ–¹å¼
     */
    @ApiModelProperty(value = "认证方式")
    @TableField(exist = false)
    private String authorityType;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    @ApiModelProperty(value = "认证方式显示文本")
    @TableField(exist = false)
    private String authorityTypeText;
    /**
     * éªŒè¯ç”¨æˆ·
     */
    @ApiModelProperty(value = "验证用户")
    @TableField(exist = false)
    private String userAccount;
    /**
     * éªŒè¯å¯†ç 
     */
    @ApiModelProperty(value = "验证密码")
    @TableField(exist = false)
    private String userCode;
    /**
     * éªŒè¯ä»¤ç‰Œ
     */
    @ApiModelProperty(value = "验证令牌")
    @TableField(exist = false)
    private String token;
    /**
     * æŽ¥å£å‡½æ•°
     */
    @ApiModelProperty(value = "接口函数")
    private String interfaceFunction;
    /**
     * æŽ¥å£æè¿°
     *//*
    @ApiModelProperty(value = "接口描述")
    private String description;*/
    /**
     * æŽ¥å£ç±»åž‹
     */
    @ApiModelProperty(value = "接口类型")
    private String interfaceType;
    /**
     * æŽ¥å£ç±»åž‹æ˜¾ç¤ºæ–‡æœ¬
     */
    @ApiModelProperty(value = "接口类型显示文本")
    @TableField(exist = false)
    private String interfaceTypeText;
    /**
     * å‚数类型
     */
    @ApiModelProperty(value = "参数类型")
    private String paramType;
    /**
     * å‚数类型显示文本
     */
    @ApiModelProperty(value = "参数类型显示文本")
    @TableField(exist = false)
    private String paramTypeText;
    /**
     * è¯·æ±‚方式
     */
    @ApiModelProperty(value = "请求方式")
    private String requestMethod;
    /**
     * è¯·æ±‚方式显示文本
     */
    @ApiModelProperty(value = "请求方式显示文本")
    @TableField(exist = false)
    private String requestMethodText;
    /**
     * åˆ†ç±»oid
     */
    @ApiModelProperty(value = "分类oid")
    private String classifyOid;
    /**
     * å¯ç”¨ã€åœç”¨true/false,不用平台的枚举,减少对平台的耦合
     */
    @ApiModelProperty(value = "启用、停用true/false,不用平台的枚举,减少对平台的耦合")
    private String usedFlag;
    /**
     * æŽ¨é€ç³»ç»Ÿoid
     */
    @ApiModelProperty(value = "推送系统oid")
    private String sysBaseOid;
    /**
     * æŽ¨é€ç³»ç»Ÿç¼–号
     */
    @ApiModelProperty(value = "推送系统编号")
    private String sysBaseId;
    /**
     * æŽ¨é€ç³»ç»Ÿåç§°
     */
    @ApiModelProperty(value = "推送系统名称")
    private String sysBaseName;
    /**
     * è¯·æ±‚地址
     */
    @ApiModelProperty(value = "请求地址")
    private String requestUrl;
    /**
     * è¿”回值类型
     */
    @ApiModelProperty(value = "返回值类型")
    private String returnType;
    /**
     * è¿”回值类型显示文本
     */
    @ApiModelProperty(value = "返回值类型显示文本")
    @TableField(exist = false)
    private String returnTypeText;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®
     */
    @ApiModelProperty(value = "来源系统主键")
    private String sourceSystemOid;
    /**
     * æ¥æºç³»ç»Ÿåç§°
     */
    @ApiModelProperty(value = "来源系统名称")
    private String sourceSysName;
    /**
     * æ¥æºç³»ç»Ÿæ ‡è¯†
     */
    @ApiModelProperty(value = "来源系统标识")
    private String sourceSysId;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    @ApiModelProperty(value = "来源系统主键显示文本")
    @TableField(exist = false)
    private String sourceSystemOidName;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®
     */
    @ApiModelProperty(value = "目标系统主键")
    private String targetSystemOid;
    /**
     * ç›®æ ‡ç³»ç»Ÿåç§°
     */
    @ApiModelProperty(value = "目标系统名称")
    private String targetSysName;
    /**
     * ç›®æ ‡ç³»ç»Ÿæ ‡è¯†
     */
    @ApiModelProperty(value = "目标系统标识")
    private String targetSysId;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    @ApiModelProperty(value = "目标系统主键显示文本")
    @TableField(exist = false)
    private String targetSystemOidName;
    /**
     * ç±»è·¯å¾„
     */
    @ApiModelProperty(value = "类路径")
    private String classPath;
    /**
     * æ•°æ®æµå‘方式
     */
    @ApiModelProperty(value = "认证方式显示文本")
    private String dataFlowType;
    /**
     * æ•°æ®æµå‘方式的显示字段
     */
    @ApiModelProperty(value = "数据流向方式的显示字段")
    @TableField(exist = false)
    private String dataFlowTypeText;
    /**
     * å­˜å‚¨çš„业务类型
     */
    @ApiModelProperty(value = "存储的业务类型")
    private String btmTypeId;
    /**
     * å­˜å‚¨çš„业务类型的中文名称
     */
    @ApiModelProperty(value = "存储的业务类型的中文名称")
    private String btmTypeName;
    /**
     * å‘½åç©ºé—´
     */
    @ApiModelProperty(value = "命名空间")
    private String namespace;
    /**
     * soapAction
     */
    @ApiModelProperty(value = "soapAction")
    private String soapAction;
    /**
     * cxfaxis
     */
    @ApiModelProperty(value = "cxfaxis")
    private String cxfAxis;
    /**
     * å‚数名称
     */
    @ApiModelProperty(value = "参数名称")
    @TableField(value = "targname")
    private String targetName;
    /***
     * æŽ¨é€ç±»åž‹ 1:数据推送/2分类推送,默认数据推送
     */
    @ApiModelProperty(value = "推送类型 1:数据推送/2分类推送,默认数据推送")
    private String pushType;
    /***
     * æŽ¨é€ç±»åž‹æ˜¾ç¤ºå€¼
     */
    @ApiModelProperty(value = "推送类型显示值")
    @TableField(exist = false)
    private String pushTypeText;
    /**
     * åˆ†ç±»id
     */
    @ApiModelProperty(value = "分类id")
    private String classifyId;
    /**
     * åˆ†ç±»åç§°
     */
    @ApiModelProperty(value = "分类名称")
    private String classifyName;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java
@@ -17,10 +17,18 @@
package com.vci.ubcs.code.feign;
import com.vci.ubcs.code.entity.CodeClassify;
import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import org.springblade.core.mp.support.BladePage;
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 java.util.List;
/**
 * ä¸»é¢˜åº“定义表 Feign接口类
@@ -35,7 +43,9 @@
    String API_PREFIX = "/codeClass";
    String TOP = API_PREFIX + "/top";
    String CODE_CLASSIFY_TREE=API_PREFIX+"/referCodeClassifyTree";
    String CODE_ATTRIBUTE_LIST=API_PREFIX+"/listCodeAttributeByClassId";
    String CODE_GETBYID="/getById";
    /**
     * èŽ·å–ä¸»é¢˜åº“å®šä¹‰è¡¨åˆ—è¡¨
     *
@@ -46,4 +56,27 @@
    @GetMapping(TOP)
    BladePage<CodeClassify> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
    /***
     * èŽ·å–ä¸»é¢˜åº“åˆ†ç±»å±‚çº§æ ‘
     * @param treeQueryObject
     * @return ä¸»é¢˜åº“分类
     */
    @PostMapping(CODE_CLASSIFY_TREE)
    public List<Tree> referCodeClassifyTree(@RequestBody TreeQueryObject treeQueryObject);
    /***
     * èŽ·å–ä¸»æ•°æ®æ¨¡æ¿å±žæ€§ä¿¡æ¯
     * @param codeClassifyId
     * reutn è¿”回主数据模板属性信息
     */
    @GetMapping(CODE_ATTRIBUTE_LIST)
    public List<CodeClassifyTemplateAttrVO> listCodeAttributeByClassId(@RequestParam("codeClassifyId") String codeClassifyId);
    /***
     * æ ¹æ®åˆ†ç±»id差爱心分类信息
     * @param classifyId
     * @return
     */
    @GetMapping(CODE_GETBYID)
     CodeClassify getById(@RequestParam("classifyId")String classifyId);
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import com.vci.ubcs.starter.revision.model.BaseModel;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * ç¼–码信息 Feign接口类
 *
 * @author yuxc
 * @since 2023-05-05
 */
@FeignClient(
    value = AppConstant.APPLICATION_NAME_CODE,
    fallback = IMdmEngineFallback.class
)
public interface IMdmEngineClient {
    String API_PREFIX = "/mdmEngineClient";
    String SELECT_BY_TYPE_OID = API_PREFIX + "/selectByTypeAndOid";
    String INSERT_BATCH_BY_TYPE = API_PREFIX + "/insertBatchByType";
    /**
     * ä¼ å…¥ä¸šåŠ¡ç±»åž‹ä»¥åŠç›¸oid集合查询数据进行返回
     *
     * @param btmType ä¸šåŠ¡ç±»åž‹
     * @param oids      éœ€è¦æŸ¥è¯¢çš„oid集合 é€—号分开
     * @return æŸ¥è¯¢å‡ºçš„æ•°æ®
     */
    @GetMapping(SELECT_BY_TYPE_OID)
    R<List<BaseModel>> selectByTypeAndOid(@RequestParam("btmType") String btmType, @RequestParam("oids") String oids);
    /**
     * ä¼ å…¥ä¸šåŠ¡ç±»åž‹ä»¥åŠç›¸å…³æ•°æ®è¿›è¡Œæ‰¹é‡æ’å…¥æ“ä½œ
     *
     * @param btmType ä¸šåŠ¡ç±»åž‹
     * @param baseModels      å¤„理数据
     * @return å¤„理成功数据条数
     */
    @PostMapping(INSERT_BATCH_BY_TYPE)
    R<Integer> insertBatchByType(@RequestParam("btmType")String btmType,@RequestBody List<BaseModel> baseModels);
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import com.vci.ubcs.starter.revision.model.BaseModel;
import org.springblade.core.tool.api.R;
import org.springframework.stereotype.Component;
import java.util.List;
/**
 * Feign失败配置
 *
 * @author Chill
 */
@Component
public class IMdmEngineFallback implements IMdmEngineClient {
    @Override
    public R<List<BaseModel>> selectByTypeAndOid(String btmType, String oids) {
        return R.fail("获取数据失败");
    }
    @Override
    public R<Integer> insertBatchByType(String btmType, List<BaseModel> baseModels){
        return R.fail("获取数据失败");
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeShowFieldConfigVO.java
@@ -19,11 +19,6 @@
    private static final long serialVersionUID = -71135592796848692L;
    /**
     * å…³è”的参照配置id
     */
    private String configOid;
    /**
     * å­—段类型-显示文本
     */
    private String fieldTypeText;
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java
@@ -291,4 +291,64 @@
     */
    private String parentQueryAttr;
    @Override
    public String toString() {
        return "CodeClassifyTemplateAttrVO{" +
            "classifyTemplateOid='" + classifyTemplateOid + '\'' +
            ", classifyTemplateOidName='" + classifyTemplateOidName + '\'' +
            ", classifyAttributeOid='" + classifyAttributeOid + '\'' +
            ", classifyAttributeOidName='" + classifyAttributeOidName + '\'' +
            ", attributeDataType='" + attributeDataType + '\'' +
            ", attributeDataTypeText='" + attributeDataTypeText + '\'' +
            ", keyAttrFlag='" + keyAttrFlag + '\'' +
            ", queryAttrFlag='" + queryAttrFlag + '\'' +
            ", seniorQueryAttrFlag='" + seniorQueryAttrFlag + '\'' +
            ", sameRepeatAttrFlag='" + sameRepeatAttrFlag + '\'' +
            ", sortAttrFlag='" + sortAttrFlag + '\'' +
            ", qrcodeFlag='" + qrcodeFlag + '\'' +
            ", barcodeFlag='" + barcodeFlag + '\'' +
            ", componentRule='" + componentRule + '\'' +
            ", verifyRule='" + verifyRule + '\'' +
            ", classifyInvokeLevel='" + classifyInvokeLevel + '\'' +
            ", classifyInvokeAttr='" + classifyInvokeAttr + '\'' +
            ", classifyInvokeAttrName='" + classifyInvokeAttrName + '\'' +
            ", classifyInvokeEditFlag='" + classifyInvokeEditFlag + '\'' +
            ", orderNum=" + orderNum +
            ", formDisplayFlag='" + formDisplayFlag + '\'' +
            ", tableDisplayFlag='" + tableDisplayFlag + '\'' +
            ", attributeGroup='" + attributeGroup + '\'' +
            ", enumId='" + enumId + '\'' +
            ", enumName='" + enumName + '\'' +
            ", enumEditFlag='" + enumEditFlag + '\'' +
            ", referBtmId='" + referBtmId + '\'' +
            ", referBtmName='" + referBtmName + '\'' +
            ", referConfig='" + referConfig + '\'' +
            ", requireFlag='" + requireFlag + '\'' +
            ", readOnlyFlag='" + readOnlyFlag + '\'' +
            ", controlLength=" + controlLength +
            ", formDisplayStyle='" + formDisplayStyle + '\'' +
            ", tableDisplayStyle='" + tableDisplayStyle + '\'' +
            ", formHref='" + formHref + '\'' +
            ", tableHref='" + tableHref + '\'' +
            ", precisionLength=" + precisionLength +
            ", scaleLength=" + scaleLength +
            ", valueArea='" + valueArea + '\'' +
            ", codeDateFormat='" + codeDateFormat + '\'' +
            ", tableDisplayJs='" + tableDisplayJs + '\'' +
            ", textAreaFlag='" + textAreaFlag + '\'' +
            ", imageFlag='" + imageFlag + '\'' +
            ", defaultValue='" + defaultValue + '\'' +
            ", prefixValue='" + prefixValue + '\'' +
            ", suffixValue='" + suffixValue + '\'' +
            ", filterSourceAttr='" + filterSourceAttr + '\'' +
            ", filterSourceAttrName='" + filterSourceAttrName + '\'' +
            ", enumString='" + enumString + '\'' +
            ", attrTableWidth=" + attrTableWidth +
            ", explain='" + explain + '\'' +
            ", libraryIdentification='" + libraryIdentification + '\'' +
            ", parentCode='" + parentCode + '\'' +
            ", parentName='" + parentName + '\'' +
            ", parentQueryAttr='" + parentQueryAttr + '\'' +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,672 @@
package com.vci.ubcs.code.vo.pagemodel;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import java.util.List;
/**
 * ç³»ç»Ÿé›†æˆåŸºç¡€ä¿¡æ¯æ˜¾ç¤ºå¯¹è±¡
 *
 * @author lihang
 * @date 2022-03-07
 */
public class DockingSystemConfigVO extends BaseModelVO {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 4615707117716142069L;
    /**
     * è®¤è¯æ–¹å¼
     */
    private String authorityOid;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    private String authorityOidName;
    /**
     * è®¤è¯æ–¹å¼
     */
    private String authorityType;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    private String authorityTypeText;
    /**
     * éªŒè¯ç”¨æˆ·
     */
    private String userAccount;
    /**
     * éªŒè¯å¯†ç 
     */
    private String userCode;
    /**
     * éªŒè¯ä»¤ç‰Œ
     */
    private String token;
    /**
     * æŽ¥å£å‡½æ•°
     */
    private String interfaceFunction;
    /**
     * æŽ¥å£æè¿°
     */
    private String description;
    /**
     * æŽ¥å£ç±»åž‹
     */
    private String interfaceType;
    /**
     * æŽ¥å£ç±»åž‹æ˜¾ç¤ºæ–‡æœ¬
     */
    private String interfaceTypeText;
    /**
     * å‚数类型
     */
    private String paramType;
    /**
     * å‚数类型显示文本
     */
    private String paramTypeText;
    /**
     * è¯·æ±‚方式
     */
    private String requestMethod;
    /**
     * è¯·æ±‚方式显示文本
     */
    private String requestMethodText;
    /**
     * åˆ†ç±»oid
     */
    private String classifyOid;
    /**
     * å¯ç”¨ã€åœç”¨true/false,不用平台的枚举,减少对平台的耦合
     */
    private String usedFlag;
    /**
     * æŽ¨é€ç³»ç»Ÿoid
     */
    private String sysBaseOid;
    /**
     * æŽ¨é€ç³»ç»Ÿç¼–号
     */
    private String sysBaseId;
    /**
     * æŽ¨é€ç³»ç»Ÿåç§°
     */
    private String sysBaseName;
    /**
     * è¯·æ±‚地址
     */
    private String requestUrl;
    /**
     * è¿”回值类型
     */
    private String returnType;
    /**
     * è¿”回值类型显示文本
     */
    private String returnTypeText;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®
     */
    private String sourceSystemOid;
    /**
     * æ¥æºç³»ç»Ÿåç§°
     */
    private String sourceSysName;
    /**
     * æ¥æºç³»ç»Ÿæ ‡è¯†
     */
    private String sourceSysId;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    private String sourceSystemOidName;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®
     */
    private String targetSystemOid;
    /**
     * ç›®æ ‡ç³»ç»Ÿåç§°
     */
    private String targetSysName;
    /**
     * ç›®æ ‡ç³»ç»Ÿæ ‡è¯†
     */
    private String targetSysId;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    private String targetSystemOidName;
    /**
     * ç±»è·¯å¾„
     */
    private String classPath;
    /**
     * æ•°æ®æµå‘方式
     */
    private String dataFlowType;
    /**
     * æ•°æ®æµå‘方式的显示字段
     */
    private String dataFlowTypeText;
    /**
     * å­˜å‚¨çš„业务类型
     */
    private String btmTypeId;
    /**
     * å­˜å‚¨çš„业务类型的中文名称
     */
    private String btmTypeName;
    /**
     * å‘½åç©ºé—´
     */
    private String namespace;
    /**
     * soapAction
     */
    private String soapAction;
    /**
     * cxfaxis
     */
    private String cxfAxis;
    /**
     * å‚数名称
     */
    private String targetName;
    /***
     * æŽ¨é€ç±»åž‹ 1:数据推送/2分类推送,默认数据推送
     */
    private String pushType;
    /***
     * æŽ¨é€ç±»åž‹æ˜¾ç¤ºå€¼
     */
    private String pushTypeText;
    /**
     * åˆ†ç±»id
     */
    private String classifyId;
    /**
     * åˆ†ç±»åç§°
     */
    private String classifyName;
    /***
     * å‚数信息对象
     */
    private List<SysIntParamVO> sysIntParamVOs;
    /***
     * header信息对象
     */
    private List<SysIntHeaderVO> sysIntHeaderVOs;
    public String getAuthorityOid() {
        return authorityOid;
    }
    public void setAuthorityOid(String authorityOid) {
        this.authorityOid = authorityOid;
    }
    public String getAuthorityOidName() {
        return authorityOidName;
    }
    public void setAuthorityOidName(String authorityOidName) {
        this.authorityOidName = authorityOidName;
    }
    public String getAuthorityType() {
        return authorityType;
    }
    public void setAuthorityType(String authorityType) {
        this.authorityType = authorityType;
    }
    public String getAuthorityTypeText() {
        return authorityTypeText;
    }
    public void setAuthorityTypeText(String authorityTypeText) {
        this.authorityTypeText = authorityTypeText;
    }
    public String getUserAccount() {
        return userAccount;
    }
    public void setUserAccount(String userAccount) {
        this.userAccount = userAccount;
    }
    public String getUserCode() {
        return userCode;
    }
    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }
    public String getToken() {
        return token;
    }
    public void setToken(String token) {
        this.token = token;
    }
    public String getInterfaceFunction() {
        return interfaceFunction;
    }
    public void setInterfaceFunction(String interfaceFunction) {
        this.interfaceFunction = interfaceFunction;
    }
    @Override
    public String getDescription() {
        return description;
    }
    @Override
    public void setDescription(String description) {
        this.description = description;
    }
    public String getInterfaceType() {
        return interfaceType;
    }
    public void setInterfaceType(String interfaceType) {
        this.interfaceType = interfaceType;
    }
    public String getInterfaceTypeText() {
        return interfaceTypeText;
    }
    public void setInterfaceTypeText(String interfaceTypeText) {
        this.interfaceTypeText = interfaceTypeText;
    }
    public String getParamType() {
        return paramType;
    }
    public void setParamType(String paramType) {
        this.paramType = paramType;
    }
    public String getParamTypeText() {
        return paramTypeText;
    }
    public void setParamTypeText(String paramTypeText) {
        this.paramTypeText = paramTypeText;
    }
    public String getRequestMethod() {
        return requestMethod;
    }
    public void setRequestMethod(String requestMethod) {
        this.requestMethod = requestMethod;
    }
    public String getRequestMethodText() {
        return requestMethodText;
    }
    public void setRequestMethodText(String requestMethodText) {
        this.requestMethodText = requestMethodText;
    }
    public String getClassifyOid() {
        return classifyOid;
    }
    public void setClassifyOid(String classifyOid) {
        this.classifyOid = classifyOid;
    }
    public String getUsedFlag() {
        return usedFlag;
    }
    public void setUsedFlag(String usedFlag) {
        this.usedFlag = usedFlag;
    }
    public String getSysBaseOid() {
        return sysBaseOid;
    }
    public void setSysBaseOid(String sysBaseOid) {
        this.sysBaseOid = sysBaseOid;
    }
    public String getSysBaseId() {
        return sysBaseId;
    }
    public void setSysBaseId(String sysBaseId) {
        this.sysBaseId = sysBaseId;
    }
    public String getSysBaseName() {
        return sysBaseName;
    }
    public void setSysBaseName(String sysBaseName) {
        this.sysBaseName = sysBaseName;
    }
    public String getRequestUrl() {
        return requestUrl;
    }
    public void setRequestUrl(String requestUrl) {
        this.requestUrl = requestUrl;
    }
    public String getReturnType() {
        return returnType;
    }
    public void setReturnType(String returnType) {
        this.returnType = returnType;
    }
    public String getReturnTypeText() {
        return returnTypeText;
    }
    public void setReturnTypeText(String returnTypeText) {
        this.returnTypeText = returnTypeText;
    }
    public String getSourceSystemOid() {
        return sourceSystemOid;
    }
    public void setSourceSystemOid(String sourceSystemOid) {
        this.sourceSystemOid = sourceSystemOid;
    }
    public String getSourceSysName() {
        return sourceSysName;
    }
    public void setSourceSysName(String sourceSysName) {
        this.sourceSysName = sourceSysName;
    }
    public String getSourceSysId() {
        return sourceSysId;
    }
    public void setSourceSysId(String sourceSysId) {
        this.sourceSysId = sourceSysId;
    }
    public String getSourceSystemOidName() {
        return sourceSystemOidName;
    }
    public void setSourceSystemOidName(String sourceSystemOidName) {
        this.sourceSystemOidName = sourceSystemOidName;
    }
    public String getTargetSystemOid() {
        return targetSystemOid;
    }
    public void setTargetSystemOid(String targetSystemOid) {
        this.targetSystemOid = targetSystemOid;
    }
    public String getTargetSysName() {
        return targetSysName;
    }
    public void setTargetSysName(String targetSysName) {
        this.targetSysName = targetSysName;
    }
    public String getTargetSysId() {
        return targetSysId;
    }
    public void setTargetSysId(String targetSysId) {
        this.targetSysId = targetSysId;
    }
    public String getTargetSystemOidName() {
        return targetSystemOidName;
    }
    public void setTargetSystemOidName(String targetSystemOidName) {
        this.targetSystemOidName = targetSystemOidName;
    }
    public String getClassPath() {
        return classPath;
    }
    public void setClassPath(String classPath) {
        this.classPath = classPath;
    }
    public String getDataFlowType() {
        return dataFlowType;
    }
    public void setDataFlowType(String dataFlowType) {
        this.dataFlowType = dataFlowType;
    }
    public String getDataFlowTypeText() {
        return dataFlowTypeText;
    }
    public void setDataFlowTypeText(String dataFlowTypeText) {
        this.dataFlowTypeText = dataFlowTypeText;
    }
    public String getBtmTypeId() {
        return btmTypeId;
    }
    public void setBtmTypeId(String btmTypeId) {
        this.btmTypeId = btmTypeId;
    }
    public String getBtmTypeName() {
        return btmTypeName;
    }
    public void setBtmTypeName(String btmTypeName) {
        this.btmTypeName = btmTypeName;
    }
    public String getNamespace() {
        return namespace;
    }
    public void setNamespace(String namespace) {
        this.namespace = namespace;
    }
    public String getSoapAction() {
        return soapAction;
    }
    public void setSoapAction(String soapAction) {
        this.soapAction = soapAction;
    }
    public String getCxfAxis() {
        return cxfAxis;
    }
    public void setCxfAxis(String cxfAxis) {
        this.cxfAxis = cxfAxis;
    }
    public String getTargetName() {
        return targetName;
    }
    public void setTargetName(String targetName) {
        this.targetName = targetName;
    }
    public String getPushType() {
        return pushType;
    }
    public void setPushType(String pushType) {
        this.pushType = pushType;
    }
    public String getPushTypeText() {
        return pushTypeText;
    }
    public void setPushTypeText(String pushTypeText) {
        this.pushTypeText = pushTypeText;
    }
    public String getClassifyId() {
        return classifyId;
    }
    public void setClassifyId(String classifyId) {
        this.classifyId = classifyId;
    }
    public String getClassifyName() {
        return classifyName;
    }
    public void setClassifyName(String classifyName) {
        this.classifyName = classifyName;
    }
    public List<SysIntParamVO> getSysIntParamVOs() {
        return sysIntParamVOs;
    }
    public void setSysIntParamVOs(List<SysIntParamVO> sysIntParamVOs) {
        this.sysIntParamVOs = sysIntParamVOs;
    }
    public List<SysIntHeaderVO> getSysIntHeaderVOs() {
        return sysIntHeaderVOs;
    }
    public void setSysIntHeaderVOs(List<SysIntHeaderVO> sysIntHeaderVOs) {
        this.sysIntHeaderVOs = sysIntHeaderVOs;
    }
    @Override
    public String toString() {
        return "SysIntInfoVO{" +
            "authorityOid='" + authorityOid + '\'' +
            ", authorityOidName='" + authorityOidName + '\'' +
            ", authorityType='" + authorityType + '\'' +
            ", authorityTypeText='" + authorityTypeText + '\'' +
            ", userAccount='" + userAccount + '\'' +
            ", userCode='" + userCode + '\'' +
            ", token='" + token + '\'' +
            ", interfaceFunction='" + interfaceFunction + '\'' +
            ", description='" + description + '\'' +
            ", interfaceType='" + interfaceType + '\'' +
            ", interfaceTypeText='" + interfaceTypeText + '\'' +
            ", paramType='" + paramType + '\'' +
            ", paramTypeText='" + paramTypeText + '\'' +
            ", requestMethod='" + requestMethod + '\'' +
            ", requestMethodText='" + requestMethodText + '\'' +
            ", classifyOid='" + classifyOid + '\'' +
            ", usedFlag='" + usedFlag + '\'' +
            ", sysBaseOid='" + sysBaseOid + '\'' +
            ", sysBaseId='" + sysBaseId + '\'' +
            ", sysBaseName='" + sysBaseName + '\'' +
            ", requestUrl='" + requestUrl + '\'' +
            ", returnType='" + returnType + '\'' +
            ", returnTypeText='" + returnTypeText + '\'' +
            ", sourceSystemOid='" + sourceSystemOid + '\'' +
            ", sourceSysName='" + sourceSysName + '\'' +
            ", sourceSysId='" + sourceSysId + '\'' +
            ", sourceSystemOidName='" + sourceSystemOidName + '\'' +
            ", targetSystemOid='" + targetSystemOid + '\'' +
            ", targetSysName='" + targetSysName + '\'' +
            ", targetSysId='" + targetSysId + '\'' +
            ", targetSystemOidName='" + targetSystemOidName + '\'' +
            ", classPath='" + classPath + '\'' +
            ", dataFlowType='" + dataFlowType + '\'' +
            ", dataFlowTypeText='" + dataFlowTypeText + '\'' +
            ", btmTypeId='" + btmTypeId + '\'' +
            ", btmTypeName='" + btmTypeName + '\'' +
            ", namespace='" + namespace + '\'' +
            ", soapAction='" + soapAction + '\'' +
            ", cxfAxis='" + cxfAxis + '\'' +
            ", targetName='" + targetName + '\'' +
            ", pushType='" + pushType + '\'' +
            ", pushTypeText='" + pushTypeText + '\'' +
            ", classifyId='" + classifyId + '\'' +
            ", classifyName='" + classifyName + '\'' +
            ", sysIntParamVOs=" + sysIntParamVOs +
            ", sysIntHeaderVOs=" + sysIntHeaderVOs +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntBaseVO.java ÐÞ¸Ä
@@ -8,7 +8,7 @@
 * @author lihang
 * @date 2022-03-07
 */
public class SysIntBaseVO extends BaseModelVO {
public class DockingSystemVO extends BaseModelVO {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntInfoVO.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/EnumCache.java
@@ -73,7 +73,6 @@
        return getValue(name.getName(), nameChild);
    }
    /**
     * èŽ·å–å­—å…¸å€¼
     *
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/EnumEnum.java
@@ -88,6 +88,59 @@
     * ç”¨æˆ·å¹³å°
     */
    USER_TYPE("user_type"),
    /**
     * codeSecType ç å€¼ç±»åž‹
     */
    CODE_SEC_TYPE("codeSecType"),
    /**
     * å±‚级码段的层级类型
     */
    CODE_LEVEL_TYPE("codeLevelType"),
    /**
     * ç æ®µé•¿åº¦ç±»åž‹
     */
    CODE_SEC_LENGTH("codeSecLength"),
    /**
     * å€¼æˆªå–类型
     */
    CODE_CUT_TYPE("codeCutType"),
    /**
     * å€¼æˆªå–类型
     */
    CODE_GET_VALUE_TYPE("codeGetValueType"),
    /**
     * åˆ†ç±»ä¸­çš„æµç¨‹æ¨¡æ¿ç”¨é€”
     */
    CODE_CLASSIFY_PROCESS_USE("codeClassifyProcessUse"),
    /**
     * å±žæ€§ç±»åž‹
     */
    VCO_FIELD_TYPE("vciFieldType"),
    /**
     * çª—口类型
     */
    CODE_REFER_CONFIG_TYPE("codeReferConfigType"),
    /**
     * ç¼–码规则的生命周期
     */
    CODE_RULE_LC("codeRuleLC"),
    /**
     * å‚照配置中用到的字段类型
     */
    CODE_REFER_CONFIG_FIELD_TYPE("codeReferConfigFieldType"),
    /**
     * å‚照配置中用到的列固定位置
     */
    CODE_REFER_CONFIG_FIXED("codeReferConfigFixed"),
    /**
     * ç­›é€‰ç±»åž‹
     */
    CODE_REFER_CONFIG_FILTER_TYPE("codeReferConfigFilterType"),
    /**
     * æ¨¡æ¿çš„æŒ‰é’®ç”¨é€”
     */
    CODE_TEMPLATE_BUTTON_USE("codeTemplateButtonUse"),
    ;
    final String name;
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IRevisionRuleFallback.java
@@ -5,6 +5,7 @@
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.stereotype.Component;
import java.util.Collection;
import java.util.List;
@@ -16,6 +17,7 @@
 * @author LiHang
 * @date 2023/5/22
 */
@Component
public class IRevisionRuleFallback implements IRevisionRuleClient{
    /**
     * èŽ·å–ç‰ˆæœ¬è§„åˆ™è¯¦æƒ…ä¿¡æ¯
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
@@ -26,6 +26,8 @@
    private String id;
    private String name;
    //集团码
    //private String groupcode;
    private String description;
@@ -340,6 +342,14 @@
        this.lctid = lctid;
    }
/*    public String getGroupcode() {
        return this.groupcode;
    }
    public void setGroupcode(String groupcode) {
        this.groupcode = groupcode;
    }*/
    public Map<String, String> getData() {
        return this.data;
    }
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
@@ -7,6 +7,7 @@
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
@@ -19,7 +20,9 @@
import org.springframework.util.CollectionUtils;
import org.springframework.util.ResourceUtils;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.io.File;
import java.io.IOException;
@@ -32,6 +35,8 @@
import java.math.BigInteger;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -1244,5 +1249,118 @@
    }
    /**
     * å°† JavaBean对象转化为 Map
     * @author wyply115
     * @param bean è¦è½¬åŒ–的类型
     * @return Map对象
     * @version 2016å¹´3月20日 11:03:01
     */
    public static Map convertBean2Map(Object bean) throws Exception {
        Class type = bean.getClass();
        Map returnMap = new HashMap();
        BeanInfo beanInfo = Introspector.getBeanInfo(type);
        PropertyDescriptor[] propertyDescriptors = beanInfo
            .getPropertyDescriptors();
        Field[] declaredFields = type.getDeclaredFields();
        String existField = "";
        for (Field declaredField : declaredFields) {
            declaredField.setAccessible(true);
            // èŽ·å–å­—æ®µçš„å€¼
            boolean isTableField = declaredField.isAnnotationPresent(TableField.class);
            if (isTableField) {
                TableField tableField = declaredField.getAnnotation(TableField.class);
                Boolean fieldValue = tableField.exist();
                if(fieldValue == false){
                    existField += declaredField.getName().toLowerCase()+",";
                }
            }
        }
        for (int i = 0, n = propertyDescriptors.length; i <n ; i++) {
            PropertyDescriptor descriptor = propertyDescriptors[i];
            String propertyName = descriptor.getName();
            if (!propertyName.equals("class") &&
                ((!"".equals(existField) && !existField.contains(propertyName.toLowerCase()+","))||"data".equals(propertyName))) {
                Method readMethod = descriptor.getReadMethod();
                Object result = readMethod.invoke(bean, new Object[0]);
                if (result != null) {
                    if ("data".equals(propertyName)){
                        returnMap.putAll((Map) result);
                    }else {
                        returnMap.put(propertyName, result);
                    }
                } else {
                    returnMap.put(propertyName, "");
                }
            }
        }
        return returnMap;
    }
    public static <T> List<T> mapToBean(List<Map> maps, Class<T> tClass) {
        List<T> beanList = new ArrayList<>();
        try {
            for (Map map : maps) {
                    T t = tClass.newInstance();
                    BeanInfo beanInfo = Introspector.getBeanInfo(tClass);
                    PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
                    for (PropertyDescriptor property : propertyDescriptors) {
                        String key = property.getName();
                        if ("class".equals(key)) {
                            continue;
                        }
//                        String sqlField = camelToUnderscore(key);
                        if (map.containsKey(key.toUpperCase())) {
                            try {
                                Object value = map.get(key.toUpperCase());
                                // å¾—到property对应的setter方法
                                Method setter = property.getWriteMethod();
                                Class<?> type = property.getPropertyType();
                                // å¼ºè½¬ä¸ºå­—段的类型,不需要时可以去除,依赖commons-beanutilss-beanutils
                                //Object convert = ConvertUtils.convert(String.valueOf(value), type);
                                //setter.invoke(t, convert);
                                setter.invoke(t, value);
                            } catch (Exception e) {
                                throw new RuntimeException("【赋值异常】", e);
                            }
                        }
                    }
                    beanList.add(t);
            }
        } catch (Exception e) {
            throw new RuntimeException("【Map转换实体异常】", e);
        }
        return beanList;
}
    public static String camelToUnderscore(String name) {
        if (name == null && name.length() <= 0) {
            return name;
        }
        StringBuilder sb = new StringBuilder();
        String lowerName = name.toLowerCase();
        for (int i = 0; i < lowerName.length(); i++) {
            String nameChar = name.substring(i, i + 1);
            String lowerChar = lowerName.substring(i, i + 1);
            if (!nameChar.equals(lowerChar)) {
                sb.append("_").append(lowerChar);
            } else {
                sb.append(nameChar);
            }
        }
        return sb.toString();
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/pom.xml
@@ -22,6 +22,11 @@
        </dependency>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-code-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>
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java
@@ -26,7 +26,7 @@
    /****
     * åˆ†ç±»é“¾æŽ¥åç§°
     */
    private String getNodeLinkName;
    private String nodeLinkName;
    /***
     * çˆ¶çº§èŠ‚ç‚¹
     */
@@ -52,12 +52,12 @@
        this.nodeLink = nodeLink;
    }
    public String getGetNodeLinkName() {
        return getNodeLinkName;
    public String getNodeLinkName() {
        return nodeLinkName;
    }
    public void setGetNodeLinkName(String getNodeLinkName) {
        this.getNodeLinkName = getNodeLinkName;
    public void setNodeLinkName(String nodeLinkName) {
        this.nodeLinkName = nodeLinkName;
    }
    public String getPid() {
@@ -81,7 +81,7 @@
        return "DockingPreClassifyDTO{" +
            "className='" + className + '\'' +
            ", nodeLink='" + nodeLink + '\'' +
            ", getNodeLinkName='" + getNodeLinkName + '\'' +
            ", nodeLinkName='" + nodeLinkName + '\'' +
            ", pid='" + pid + '\'' +
            ", dockingPreViewModelDTOList=" + dockingPreViewModelDTOList +
            '}';
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java
@@ -37,7 +37,7 @@
     * åˆ†ç±»é“¾æŽ¥åç§°
     */
    @ApiModelProperty(value = "链接名称")
    private String getNodeLinkName;
    private String nodeLinkName;
    /***
     * çˆ¶çº§èŠ‚ç‚¹
     */
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreMetaAttr.java
@@ -54,6 +54,7 @@
     * è§†å›¾æ¨¡åž‹id
     */
    @ApiModelProperty(value = "视图模型主键")
    @TableField(value = "viewModeId")
    private String viewModelId;
    /***
     * é»˜è®¤å€¼
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/IMdmInterJtClient.java
@@ -40,7 +40,11 @@
    @GetMapping(RETURNGROUPCODE)
    public R getApplyGroupCode( @RequestParam("dockingResultVO") DockingReturnStoreVO dockingResultVO);
    /***
     * ä¸»æ•°æ®æ¨¡åž‹è§†å›¾å‘布
     * @param dockingClassifyModelAttrVO
     * @return
     */
    @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
@@ -54,5 +54,12 @@
     */
    @PostMapping("/externalMainData/queryClassModel")
    DockingQueryClassModelVO queryClassModel(@NotNull @RequestBody DockingModelQueryVO dockingModelQueryVO);
    /***
     * æŸ¥è¯¢ç”³è¯·å•状态
     * @param dockingModelQueryVO
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/externalMainData/queryApplyState")
    DockingApplyFormStatusVO queryApplyState(@NotNull @RequestBody DockingModelQueryVO dockingModelQueryVO);
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingApplyFormStatusVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
package com.vci.ubcs.code.webservice.vo;
/***
 * ç”³è¯·å•状态对象
 * @author xiejun
 * @date 2023-05-29
 */
public class DockingApplyFormStatusVO {
    /***
     * ç”³è¯·å•号
     */
    private String applyNum;
    /***
     * ç”³è¯·å•状态
     */
    private String formState;
    /**
     * å®¡æ ¸æ„è§
     */
    private String examineOpinion;
    public String getApplyNum() {
        return applyNum;
    }
    public void setApplyNum(String applyNum) {
        this.applyNum = applyNum;
    }
    public String getFormState() {
        return formState;
    }
    public void setFormState(String formState) {
        this.formState = formState;
    }
    public String getExamineOpinion() {
        return examineOpinion;
    }
    public void setExamineOpinion(String examineOpinion) {
        this.examineOpinion = examineOpinion;
    }
    @Override
    public String toString() {
        return "DockingApplyFormStatusVO{" +
            "applyNum='" + applyNum + '\'' +
            ", formState='" + formState + '\'' +
            ", examineOpinion='" + examineOpinion + '\'' +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingModelQueryVO.java
@@ -5,6 +5,8 @@
    private String classId;
    private String applyNums;
    public String getSysName() {
        return sysName;
    }
@@ -21,11 +23,20 @@
        this.classId = classId;
    }
    public String getApplyNums() {
        return applyNums;
    }
    public void setApplyNums(String applyNums) {
        this.applyNums = applyNums;
    }
    @Override
    public String toString() {
        return "DockingModelQueryVO{" +
            "sysName='" + sysName + '\'' +
            ", classId='" + classId + '\'' +
            ", applyNums='" + applyNums + '\'' +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreApplyFormVO.java
@@ -36,7 +36,10 @@
     * æ¶ˆæ¯
     */
    private String msg;
    /***
     * æ“ä½œç±»åž‹1:申请 2:更改
     */
    private String operationType;
    public String getCode() {
        return code;
    }
@@ -77,14 +80,32 @@
        this.msg = msg;
    }
    public String getGroupCode() {
        return groupCode;
    }
    public void setGroupCode(String groupCode) {
        this.groupCode = groupCode;
    }
    public String getOperationType() {
        return operationType;
    }
    public void setOperationType(String operationType) {
        this.operationType = operationType;
    }
    @Override
    public String toString() {
        return "DockingPreApplyCodeFormVO{" +
            "code='" + code + '\'' +
        return "DockingPreApplyFormVO{" +
            "groupCode='" + groupCode + '\'' +
            ", code='" + code + '\'' +
            ", content='" + content + '\'' +
            ", dataOid='" + dataOid + '\'' +
            ", dataBtmName='" + dataBtmName + '\'' +
            ", msg='" + msg + '\'' +
            ", operationType='" + operationType + '\'' +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java
@@ -24,7 +24,7 @@
    /****
     * åˆ†ç±»é“¾æŽ¥åç§°
     */
    private String getNodeLinkName;
    private String nodeLinkName;
    /***
     * çˆ¶çº§èŠ‚ç‚¹
     */
@@ -50,12 +50,12 @@
        this.nodeLink = nodeLink;
    }
    public String getGetNodeLinkName() {
        return getNodeLinkName;
    public String getNodeLinkName() {
        return nodeLinkName;
    }
    public void setGetNodeLinkName(String getNodeLinkName) {
        this.getNodeLinkName = getNodeLinkName;
    public void setNodeLinkName(String nodeLinkName) {
        this.nodeLinkName = nodeLinkName;
    }
    public String getPid() {
@@ -79,7 +79,7 @@
        return "DockingPreClassifyVO{" +
            "className='" + className + '\'' +
            ", nodeLink='" + nodeLink + '\'' +
            ", getNodeLinkName='" + getNodeLinkName + '\'' +
            ", nodeLinkName='" + nodeLinkName + '\'' +
            ", pid='" + pid + '\'' +
            ", dockingPreViewModelVOList=" + dockingPreViewModelVOList +
            '}';
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DokingAttributeSerchVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package com.vci.ubcs.code.webservice.vo;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import lombok.Data;
import java.util.List;
@Data
public class DokingAttributeSerchVO {
    private String classifyId;
    private String searchValue;
    private boolean flag;
    private List<CodeClassifyTemplateAttrVO> rightAttributes;
    private  List<CodeClassifyTemplateAttrVO> leftAttributes;
    @Override
    public String toString() {
        return "DokingAttributeSerchVO{" +
            "classifyId='" + classifyId + '\'' +
            ", searchValue='" + searchValue + '\'' +
            ", flag=" + flag +
            ", rightAttributes=" + rightAttributes +
            ", leftAttributes=" + leftAttributes +
            '}';
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmBtmTypeConstant.java
@@ -52,6 +52,11 @@
     */
    public static final String CODE_KEY_ATTR_REPEAT_RULE = "codekeyattrrepeat";
    /**
     * å‚照配置
     */
    public static final String CODE_REFER_CONFIG = "codereferconfig";
    /**
     * ç›¸ä¼¼æŸ¥è¯¢è§„则
     */
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeReferConfigController.java
@@ -2,22 +2,14 @@
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.service.ICodeReferConfigService;
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.apache.ibatis.annotations.Param;
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 org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
 * å‚照配置表(CodeReferConfig)表控制层
@@ -33,7 +25,7 @@
     * æœåŠ¡å¯¹è±¡
     */
    @Resource
    private CodeReferConfigService codeReferconfigService;
    private ICodeReferConfigService codeReferconfigService;
    /**
     * åˆ†é¡µæŸ¥è¯¢
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
package com.vci.ubcs.code.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.dto.DockingSystemDTO;
import com.vci.ubcs.code.entity.CodeRule;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.service.IDockingSystemService;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
import com.vci.ubcs.code.wrapper.CodeRuleWrapper;
import com.vci.ubcs.code.wrapper.DockingSystemWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
/**
 * ç æ®µåŸºç¡€ä¿¡æ¯æŽ§åˆ¶å™¨
 *
 * @author xiejun
 * @date 2023-05-31
 */
@RestController
@AllArgsConstructor
@RequestMapping("/dockingManagement")
@Api(value = "接口管理", tags = "编码相关接口管理信息")
public class DockingManagementController {
    private  final IDockingSystemService dockingSystemService;
    /**系统集成的系统信息列表
     * @param dockingSystem åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     *@return ç³»ç»Ÿé›†æˆçš„系统信息显示对象列表
     */
    @GetMapping("/gridSysIntBase")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "dockingSystem")
    public R<IPage<DockingSystemVO>> page(DockingSystem dockingSystem, Query query) {
        IPage<DockingSystem> pages = dockingSystemService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingSystem));
        return R.data(DockingSystemWrapper.build().pageVO(pages));
    }
    /**
     * å¢žåŠ  ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    @PostMapping( "/addSave")
    public  R<DockingSystemVO> addSave(@RequestBody DockingSystemDTO dockingSystemDTO){
        boolean res= dockingSystemService.addSave(dockingSystemDTO);
        return  R.status(res);
    }
    /**
     * ä¿®æ”¹ ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    @PutMapping("/editSave")
    public R<DockingSystemVO> editSave(@RequestBody DockingSystemDTO dockingSystemDTO){
        DockingSystemVO dockingSystemVO = dockingSystemService.editSave(dockingSystemDTO);
        return R.data(dockingSystemVO);
    }
    /**
     * åˆ é™¤ç³»ç»Ÿé›†æˆçš„系统信息
     * @param sysIntBaseDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象,oid和ts需要传输
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     */
    @DeleteMapping( "/deleteData")
    public R delSystemData( DockingSystemDTO dockingSystemDTO) {
        return R.status(dockingSystemService.delSystemData(dockingSystemDTO));
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -11,6 +11,7 @@
import com.vci.ubcs.code.service.MdmIOService;
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.starter.annotation.VciBusinessLog;
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.util.LocalFileUtil;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import com.vci.ubcs.starter.web.pagemodel.DataGrid;
@@ -19,7 +20,6 @@
import com.vci.ubcs.starter.web.util.LangBaseUtil;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.tool.api.R;
@@ -31,6 +31,7 @@
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -148,7 +149,7 @@
     */
    @PostMapping("/addSaveCode")
    @VciBusinessLog(operateName = "申请单个编码")
    public R addSaveCode(@RequestBody CodeOrderDTO orderDTO){
    public R addSaveCode(@RequestBody CodeOrderDTO orderDTO) throws Exception {
        return R.success(engineService.addSaveCode(orderDTO));
    }
@@ -469,4 +470,12 @@
    public MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid,String functionId){
        return engineService.getUIInfoByClassifyOid(codeClassifyOid,functionId);
    }
    @GetMapping("/thisistest")
    @ResponseBody
    public List<BaseModel> thisistest(String codeClassifyOid, String functionId) throws Exception {
        return engineService.selectByTypeAndOid("wupin", "b1511bb3-a773-43e2-ac85-a7fde7314a0f,3e08970024835e69f6c2b2ecd90c48c3,582ff205-0dfb-43e0-8223-e772ff1851ab,db0400fe-cc90-4d9d-8da7-1edf06b1481b");
//        return engineService.getUIInfoByClassifyOid(codeClassifyOid,functionId);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java
@@ -19,15 +19,26 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.entity.CodeClassify;
import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
import com.vci.ubcs.code.mapper.CodeClassifyMapper;
import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService;
import com.vci.ubcs.code.service.MdmEngineService;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import com.vci.ubcs.code.service.ICodeClassifyService;
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.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
/**
 * ä¸»é¢˜åº“定义表 Feign实现类
@@ -41,7 +52,9 @@
public class CodeClassifyClient implements ICodeClassifyClient {
    private final ICodeClassifyService plCodeClassifyService;
    private final ICodeClassifyTemplateAttrService codeClassifyTemplateAttrService;
    private final  MdmEngineService engineService;
    CodeClassifyMapper codeClassifyMapper;
    @Override
@@ -54,4 +67,35 @@
        return BladePage.of(page);
    }
    /***
     * èŽ·å–ä¸»é¢˜åº“åˆ†ç±»å±‚çº§æ ‘
     * @param treeQueryObject
     * @return ä¸»é¢˜åº“分类
     */
    @Override
    @PostMapping(CODE_CLASSIFY_TREE)
    public List<Tree> referCodeClassifyTree(TreeQueryObject treeQueryObject) {
        return plCodeClassifyService.treeCodeClassify(treeQueryObject);
    }
    @Override
    @GetMapping(CODE_ATTRIBUTE_LIST)
    public List<CodeClassifyTemplateAttrVO> listCodeAttributeByClassId(String codeClassifyId) {
        CodeClassifyTemplateVO codeClassifyTemplateVO=engineService.getUsedTemplateByClassifyOid(codeClassifyId,true);
        return codeClassifyTemplateVO.getAttributes();
    }
    /**
     * æ ¹æ®åˆ†ç±»id,获取分类
     * @param classifyId
     * @return
     */
    @Override
    @GetMapping(CODE_GETBYID)
    public CodeClassify getById(String classifyId) {
        return plCodeClassifyService.getById(classifyId);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import com.vci.ubcs.code.service.MdmEngineService;
import com.vci.ubcs.starter.revision.model.BaseModel;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.List;
/**
 * ç¼–码信息 Feign实现类
 *
 * @author yuxc
 * @since 2023-05-05
 */
@ApiIgnore()
@RestController
@AllArgsConstructor
public class MdmEngineClient implements IMdmEngineClient {
    private final MdmEngineService mdmEngineService;
    /**
     * ä¼ å…¥ä¸šåŠ¡ç±»åž‹ä»¥åŠç›¸oid集合查询数据进行返回
     *
     * @param btmType ä¸šåŠ¡ç±»åž‹
     * @param oids      éœ€è¦æŸ¥è¯¢çš„oid集合 é€—号分开
     * @return æŸ¥è¯¢å‡ºçš„æ•°æ®
     */
    @Override
    @GetMapping(SELECT_BY_TYPE_OID)
    public R<List<BaseModel>> selectByTypeAndOid(String btmType, String oids) {
        try {
            return R.data(mdmEngineService.selectByTypeAndOid(btmType, oids));
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    /**
     * ä¼ å…¥ä¸šåŠ¡ç±»åž‹ä»¥åŠç›¸å…³æ•°æ®è¿›è¡Œæ‰¹é‡æ’å…¥æ“ä½œ
     *
     * @param btmType ä¸šåŠ¡ç±»åž‹
     * @param baseModels      å¤„理数据
     * @return å¤„理成功数据条数
     */
    @Override
    @PostMapping(INSERT_BATCH_BY_TYPE)
    public R<Integer> insertBatchByType(String btmType, List<BaseModel> baseModels) {
        try {
            return R.data(mdmEngineService.insertBatchByType(btmType,baseModels));
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeBasicSecMapper.java
@@ -27,10 +27,10 @@
    /**
     * æ‰¹é‡æ’å…¥
     * @param codeBasicSecList
     //* @param codeBasicSecList
     * @return
     */
    Long insertBatch(@Param("entities") List<CodeBasicSec> codeBasicSecList);
    //    Long insertBatch(@Param("entities") List<CodeBasicSec> codeBasicSecList);
    List<String> getOidByCodeclassifysecOid(@Param("codeClassifySecOid") String codeClassifySecOid);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeShowFieldConfigMapper.java
@@ -15,71 +15,6 @@
 */
public interface CodeShowFieldConfigMapper extends BaseMapper<CodeShowFieldConfig> {
    /**
     * é€šè¿‡ID查询单条数据
     *
     * @param oid ä¸»é”®
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeShowFieldConfig queryById(String oid);
    /**
     * æŸ¥è¯¢æŒ‡å®šè¡Œæ•°æ®
     *
     * @param plCodeShowfieldconfig æŸ¥è¯¢æ¡ä»¶
     * @param pageable         åˆ†é¡µå¯¹è±¡
     * @return å¯¹è±¡åˆ—表
     */
    List<CodeShowFieldConfig> queryAllByLimit(CodeShowFieldConfig plCodeShowfieldconfig, @Param("pageable") Pageable pageable);
    /**
     * ç»Ÿè®¡æ€»è¡Œæ•°
     *
     * @param plCodeShowfieldconfig æŸ¥è¯¢æ¡ä»¶
     * @return æ€»è¡Œæ•°
     */
    long count(CodeShowFieldConfig plCodeShowfieldconfig);
    /**
     * æ–°å¢žæ•°æ®
     *
     * @param plCodeShowfieldconfig å®žä¾‹å¯¹è±¡
     * @return å½±å“è¡Œæ•°
     */
    int insert(CodeShowFieldConfig plCodeShowfieldconfig);
    /**
     * æ‰¹é‡æ–°å¢žæ•°æ®ï¼ˆMyBatis原生foreach方法)
     *
     * @param entities List<CodeShowFieldConfig> å®žä¾‹å¯¹è±¡åˆ—表
     * @return å½±å“è¡Œæ•°
     */
    int insertBatch(@Param("entities") List<CodeShowFieldConfig> entities);
    /**
     * æ‰¹é‡æ–°å¢žæˆ–按主键更新数据(MyBatis原生foreach方法)
     *
     * @param entities List<CodeShowFieldConfig> å®žä¾‹å¯¹è±¡åˆ—表
     * @return å½±å“è¡Œæ•°
     * @throws org.springframework.jdbc.BadSqlGrammarException å…¥å‚是空List的时候会抛SQL语句错误的异常,请自行校验入参
     */
    int insertOrUpdateBatch(@Param("entities") List<CodeShowFieldConfig> entities);
    /**
     * ä¿®æ”¹æ•°æ®
     *
     * @param plCodeShowfieldconfig å®žä¾‹å¯¹è±¡
     * @return å½±å“è¡Œæ•°
     */
    int update(CodeShowFieldConfig plCodeShowfieldconfig);
    /**
     * é€šè¿‡ä¸»é”®åˆ é™¤æ•°æ®
     *
     * @param oid ä¸»é”®
     * @return å½±å“è¡Œæ•°
     */
    int deleteById(String oid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSrchCondConfigMapper.java
@@ -14,71 +14,5 @@
 */
public interface CodeSrchCondConfigMapper extends BaseMapper<CodeSrchCondConfig> {
    /**
     * é€šè¿‡ID查询单条数据
     *
     * @param oid ä¸»é”®
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeSrchCondConfig queryById(String oid);
    /**
     * æŸ¥è¯¢æŒ‡å®šè¡Œæ•°æ®
     *
     * @param plCodeSrchcondconfig æŸ¥è¯¢æ¡ä»¶
     * @param pageable         åˆ†é¡µå¯¹è±¡
     * @return å¯¹è±¡åˆ—表
     */
    List<CodeSrchCondConfig> queryAllByLimit(CodeSrchCondConfig plCodeSrchcondconfig, @Param("pageable") Pageable pageable);
    /**
     * ç»Ÿè®¡æ€»è¡Œæ•°
     *
     * @param plCodeSrchcondconfig æŸ¥è¯¢æ¡ä»¶
     * @return æ€»è¡Œæ•°
     */
    long count(CodeSrchCondConfig plCodeSrchcondconfig);
    /**
     * æ–°å¢žæ•°æ®
     *
     * @param plCodeSrchcondconfig å®žä¾‹å¯¹è±¡
     * @return å½±å“è¡Œæ•°
     */
    int insert(CodeSrchCondConfig plCodeSrchcondconfig);
    /**
     * æ‰¹é‡æ–°å¢žæ•°æ®ï¼ˆMyBatis原生foreach方法)
     *
     * @param entities List<CodeSrchCondConfig> å®žä¾‹å¯¹è±¡åˆ—表
     * @return å½±å“è¡Œæ•°
     */
    int insertBatch(@Param("entities") List<CodeSrchCondConfig> entities);
    /**
     * æ‰¹é‡æ–°å¢žæˆ–按主键更新数据(MyBatis原生foreach方法)
     *
     * @param entities List<CodeSrchCondConfig> å®žä¾‹å¯¹è±¡åˆ—表
     * @return å½±å“è¡Œæ•°
     * @throws org.springframework.jdbc.BadSqlGrammarException å…¥å‚是空List的时候会抛SQL语句错误的异常,请自行校验入参
     */
    int insertOrUpdateBatch(@Param("entities") List<CodeSrchCondConfig> entities);
    /**
     * ä¿®æ”¹æ•°æ®
     *
     * @param plCodeSrchcondconfig å®žä¾‹å¯¹è±¡
     * @return å½±å“è¡Œæ•°
     */
    int update(CodeSrchCondConfig plCodeSrchcondconfig);
    /**
     * é€šè¿‡ä¸»é”®åˆ é™¤æ•°æ®
     *
     * @param oid ä¸»é”®
     * @return å½±å“è¡Œæ•°
     */
    int deleteById(String oid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
@@ -21,4 +21,13 @@
    List<Map> selectBySql(@Param("inSql") String inSql);
    /**
     * ä¼ å…¥è¡¨æ˜Žï¼Œmap,list<map>完成批量更新操作
     * @param tableName è¡¨å
     * @param columnMap å•条map用于获取key作为字段
     * @param mapList éœ€è¦æ’入的所有记录
     * @return æ’入成功的条数
     */
    Integer insertByBaseModel(String tableName,Map<String,String> columnMap,List<Map<String,String>> mapList);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemConfigMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.entity.DockingSystemConfig;
public interface DockingSystemConfigMapper extends BaseMapper<DockingSystemConfig> {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.entity.DockingSystem;
public interface DockingSystemMapper extends BaseMapper<DockingSystem> {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java
@@ -161,6 +161,14 @@
    List<CodeBasicSecVO> codeBasicSecDO2VOs(Collection<CodeBasicSec> codeBasicSecDOs, boolean hasFixedValue) throws VciBaseException;
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param codeBasicSecDOs æ•°æ®å¯¹è±¡åˆ—表
     * @return æ˜¾ç¤ºå¯¹è±¡
     * @throws VciBaseException å‚数为空或者不存在的时候会抛出异常
     */
    List<CodeBasicSecVO> codeBasicSecDO2VOs(Collection<CodeBasicSec>  codeBasicSecDOs) throws VciBaseException;
    /**
     * æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param  codeBasicSecDO æ•°æ®å¯¹è±¡
     * @return æ˜¾ç¤ºå¯¹è±¡
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeOsattributeService.java
@@ -41,7 +41,6 @@
     */
    IPage<CodeOsattributeVO> selectCodeOsattributePage(IPage<CodeOsattributeVO> page, CodeOsattributeVO CodeOsattribute);
    boolean isDefaultAttr(String selectKey);
    Map<String, CodeOsattributeVO> getDefaultAttributeVOMap();
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeReferConfigService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeReferConfigService.java ÐÞ¸Ä
@@ -1,18 +1,12 @@
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;
@@ -22,7 +16,7 @@
 * @author ludc
 * @since 2023-05-19 17:47:59
 */
public interface CodeReferConfigService extends MPJBaseService<CodeReferConfig> {
public interface ICodeReferConfigService extends MPJBaseService<CodeReferConfig> {
    /**
     * é€šè¿‡ID查询单条数据
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeShowFieldConfigService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeShowFieldConfigService.java ÐÞ¸Ä
@@ -3,9 +3,6 @@
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;
@@ -15,15 +12,7 @@
 * @author ludc
 * @since 2023-05-19 17:58:56
 */
public interface CodeShowFieldConfigService extends IService<CodeShowFieldConfig> {
    /**
     * é€šè¿‡ID查询单条数据
     *
     * @param oid ä¸»é”®
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeShowFieldConfig queryById(String oid);
public interface ICodeShowFieldConfigService extends IService<CodeShowFieldConfig> {
    /**
     * æ–°å¢žæ•°æ®
@@ -39,15 +28,7 @@
     * @param codeShowFieldConfigVOS å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    boolean insertBatch(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS);
    /**
     * ä¿®æ”¹æ•°æ®
     *
     * @param codeShowFieldConfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    boolean update(CodeShowFieldConfig codeShowFieldConfig);
    boolean insertBatch(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS, String oid);
    /**
     * æ‰¹é‡ä¿®æ”¹æ•°æ®
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSrchCondConfigService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeSrchCondConfigService.java ÐÞ¸Ä
@@ -1,10 +1,7 @@
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;
@@ -17,24 +14,7 @@
 * @author ludc
 * @since 2023-05-19 17:58:56
 */
public interface CodeSrchCondConfigService extends IService<CodeSrchCondConfig> {
    /**
     * é€šè¿‡ID查询单条数据
     *
     * @param oid ä¸»é”®
     * @return å®žä¾‹å¯¹è±¡
     */
    CodeSrchCondConfig queryById(String oid);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param codeSrchCondConfig ç­›é€‰æ¡ä»¶
     * @param pageRequest      åˆ†é¡µå¯¹è±¡
     * @return æŸ¥è¯¢ç»“æžœ
     */
    Page<CodeSrchCondConfig> queryByPage(CodeSrchCondConfig codeSrchCondConfig, PageRequest pageRequest);
public interface ICodeSrchCondConfigService extends IService<CodeSrchCondConfig> {
    /**
     * æ–°å¢žæ•°æ®
@@ -50,15 +30,7 @@
     * @param codeSrchCondConfigVOS å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    boolean insertBatch(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS);
    /**
     * ä¿®æ”¹æ•°æ®
     *
     * @param codeSrchCondConfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    boolean update(CodeSrchCondConfig codeSrchCondConfig);
    boolean insertBatch(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS, String oid);
    /**
     * æ‰¹é‡â€”—修改数据
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingManagement.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
package com.vci.ubcs.code.service;
public interface IDockingManagement {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.entity.DockingSystemConfig;
/***
 * ç³»ç»ŸæŽ¥å£ç®¡ç†-接口配置服务
 * @author xiejun
 * @date 2023-06-01
 */
public interface IDockingSystemConfigService extends IService<DockingSystemConfig> {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.dto.DockingSystemDTO;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
import org.springblade.core.tool.api.R;
/***
 * ç³»ç»ŸæŽ¥å£ç®¡ç†-集成系统服务
 * @author xiejun
 * @date 2023-06-01
 */
public interface IDockingSystemService extends IService<DockingSystem> {
    /**
     * å¢žåŠ  ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    public boolean addSave(DockingSystemDTO dockingSystemDTO);
    /**
     * ä¿®æ”¹ ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    DockingSystemVO editSave(DockingSystemDTO dockingSystemDTO);
    boolean delSystemData(DockingSystemDTO dockingSystemDTO);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.vci.ubcs.code.service;
/***
 * ç³»çµ±ç®¡ç†ç›¸å…³æœåŠ¡
 */
public interface IDokingSysManaentService {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -9,12 +9,18 @@
import com.vci.ubcs.code.dto.datapush.BaseModelDTO;
import com.vci.ubcs.code.entity.CodeWupin;
import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO;
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.web.pagemodel.*;
import org.springblade.core.tool.api.R;
import java.util.*;
import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
 * ä¸»æ•°æ®å¼•擎服务
@@ -55,7 +61,7 @@
     * @param orderDTO ç”³è¯·çš„信息,需要包含属性的内容和码段相关的内容
     * @return è¿”回编码的内容
     */
    String addSaveCode(CodeOrderDTO orderDTO);
    String addSaveCode(CodeOrderDTO orderDTO) throws Exception;
    /**
     * åˆ¤æ–­ç¼–码的码段是否输入或者选择了码值
@@ -84,9 +90,9 @@
     * åˆå§‹åŒ–业务类型
     * --创建人默认为当前用户,如果需要修改,可以在获取后自行处理
     * @param btmName ä¸šåŠ¡ç±»åž‹çš„åç§°ï¼Œä¼šè‡ªåŠ¨å˜æˆå°å†™
     * @return CodeWupinEntity
     * @return BaseModel
     */
    CodeWupin createCBOByBtmName(String btmName);
    BaseModel createCBOByBtmName(String btmName);
    /**
     * ä¿å­˜å¯è¾“可选的信息
@@ -363,4 +369,21 @@
     * @return UI相关的内容
     */
    MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid, String functionId);
    /**
     * ä¼ å…¥ä¸šåŠ¡ç±»åž‹ä»¥åŠç›¸å…³æ•°æ®è¿›è¡Œæ‰¹é‡æ’å…¥æ“ä½œ
     *
     * @param btmType ä¸šåŠ¡ç±»åž‹
     * @param baseModels      å¤„理数据
     * @return å¤„理成功数据条数
     */
    Integer insertBatchByType(String btmType, List<BaseModel> baseModels) throws Exception;
    /**
     * ä¼ å…¥ä¸šåŠ¡ç±»åž‹ä»¥åŠç›¸oid集合查询数据进行返回
     *
     * @param btmType ä¸šåŠ¡ç±»åž‹
     * @param oids      éœ€è¦æŸ¥è¯¢çš„oid集合 é€—号分开
     * @return æŸ¥è¯¢å‡ºçš„æ•°æ®
     */
    List<BaseModel> selectByTypeAndOid(String btmType, String oids) throws IllegalAccessException, NoSuchFieldException, InstantiationException, InvocationTargetException, IntrospectionException, SQLException;
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmProductCodeService.java
@@ -2,9 +2,9 @@
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.dto.CodeOrderSecDTO;
import com.vci.ubcs.code.entity.CodeWupin;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.starter.revision.model.BaseModel;
import java.util.Collection;
import java.util.List;
@@ -19,7 +19,7 @@
     * @param dataCBOList ä¸šåŠ¡æ•°æ®
     */
    List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO,
                                        CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<CodeWupin> dataCBOList);
                                        CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList) throws Exception;
    /**
        * å›žæ”¶ç å€¼
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
@@ -16,10 +16,8 @@
import com.vci.ubcs.code.mapper.CodeBasicSecMapper;
import com.vci.ubcs.code.mapper.CodeClassifyValueMapper;
import com.vci.ubcs.code.mapper.CodeFixedValueMapper;
import com.vci.ubcs.code.service.ICodeBasicSecService;
import com.vci.ubcs.code.service.ICodeClassifyValueService;
import com.vci.ubcs.code.service.ICodeFixedValueService;
import com.vci.ubcs.code.service.ICodeRuleService;
import com.vci.ubcs.code.service.*;
import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
import com.vci.ubcs.code.vo.pagemodel.CodeFixedValueVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
@@ -83,6 +81,9 @@
    @Resource
    private ICodeClassifyValueService codeClassifyValueService;
    @Resource
    private ICodeReferConfigService codeReferConfigService;
    @Resource
    private IDictBizClient iDictBizClient;
@@ -237,15 +238,22 @@
            && StringUtils.isBlank(codeBasicSecDO.getCodeFillSeparator())){
            throw new VciBaseException("当补位方式为左补位或者右补位的时候,补位字符不能为空");
        }
        CodeReferConfigVO codeReferConfigVO = null;
        //引用码段的时候,需要判断参照的信息是否正确
        if(CodeSecTypeEnum.CODE_REFER_SEC.getValue().equalsIgnoreCase(codeBasicSecDO.getSecType())){
            if(StringUtils.isBlank(codeBasicSecDO.getReferConfig())){
                throw new VciBaseException("引用码段的时候,需要填写 å‚照配置 çš„内容");
            }
            try{
                JSONObject.parseObject(codeBasicSecDO.getReferConfig(), UIFormReferVO.class);
                //JSONObject.parseObject(codeBasicSecDO.getReferConfig(), UIFormReferVO.class);
                codeReferConfigVO = JSONObject.parseObject(codeBasicSecDO.getReferConfig(), CodeReferConfigVO.class);
                // å°†å‚照配置进行持久化,给用户提供可可选择参照配置的方式
            }catch (Throwable e){
                throw new VciBaseException("引用码段的时候,参照配置的内容的格式不正确,",new String[0],e);
            }
            if(codeReferConfigVO.getIsPersistence()=="true"){
                codeReferConfigService.insert(codeReferConfigVO);
            }
        }
        boolean resBoolean = codeBasicSecMapper.insert(codeBasicSecDO) > 0;
@@ -731,6 +739,27 @@
    }
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     *
     * @param codeBasicSecDOs æ•°æ®å¯¹è±¡åˆ—表
     * @return æ˜¾ç¤ºå¯¹è±¡
     * @throws VciBaseException å‚数为空或者不存在的时候会抛出异常
     */
    @Override
    public List<CodeBasicSecVO> codeBasicSecDO2VOs(Collection<CodeBasicSec> codeBasicSecDOs) throws VciBaseException {
        List<CodeBasicSecVO> voList = new ArrayList<CodeBasicSecVO>();
        if (!CollectionUtils.isEmpty(codeBasicSecDOs)) {
            for (CodeBasicSec s : codeBasicSecDOs) {
                CodeBasicSecVO vo = codeBasicSecDO2VO(s);
                if (vo != null) {
                    voList.add(vo);
                }
            }
        }
        return voList;
    }
    /**
     * æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     *
     * @param codeBasicSecDO æ•°æ®å¯¹è±¡
@@ -739,14 +768,26 @@
     */
    @Override
    public CodeBasicSecVO codeBasicSecDO2VO(CodeBasicSec codeBasicSecDO) throws VciBaseException {
        CodeBasicSecVO vo = new CodeBasicSecVO();
        CodeBasicSecVO codeBasicSecVO = new CodeBasicSecVO();
        if (codeBasicSecDO != null) {
            BeanUtilForVCI.copyPropertiesIgnoreCase(codeBasicSecDO, vo);
            BeanUtilForVCI.copyPropertiesIgnoreCase(codeBasicSecVO, codeBasicSecVO);
            codeBasicSecVO.setSecTypeText(CodeSecTypeEnum.getTextByValue(codeBasicSecVO.getSecType()));
            codeBasicSecVO.setCodeLevelTypeText(CodeLevelTypeEnum.getTextByValue(codeBasicSecVO.getCodeLevelType()));
            codeBasicSecVO.setCodeSecLengthTypeText(CodeSecLengthTypeEnum.getTextByValue(codeBasicSecVO.getCodeSecLengthType()));
            codeBasicSecVO.setValueCutTypeText(CodeCutTypeEnum.getValueByText(codeBasicSecVO.getValueCutType()));
            codeBasicSecVO.setCodeGetValueTypeText(CodeGetValueTypeEnum.getValueByText(codeBasicSecVO.getCodeGetValueType()));
            // å¦‚果是分类码段需要查询所属分类的中文名称
            if(codeBasicSecDO.getSecType().equals("codeclassifysec") && Func.isNotEmpty(codeBasicSecDO.getParentClassifySecOid())){
                CodeBasicSec codeBasicSec = codeBasicSecMapper.selectOne(Wrappers.<CodeBasicSec>query().lambda()
                    .eq(CodeBasicSec::getOid, codeBasicSecDO.getParentClassifySecOid())
                    .eq(CodeBasicSec::getSecType, codeBasicSecDO.getSecType()));
                codeBasicSecVO.setParentClassifySecText(codeBasicSec.getName());
            }
            //如果有lcstatus的类的话
            if (true) {
                //vo.setLcStatusText({lcStatusFullClassName}.getTextByValue(vo.getLcStatus()));
            }
        }
        return vo;
        return codeBasicSecVO;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -19,12 +19,15 @@
import com.vci.ubcs.code.po.CodeClassifyPO;
import com.vci.ubcs.code.service.ICodeClassifyService;
import com.vci.ubcs.code.service.ICodeKeyAttrRepeatService;
import com.vci.ubcs.code.service.ICodeOsattributeService;
import com.vci.ubcs.code.service.ICodeRuleService;
import com.vci.ubcs.code.vo.CodeOsattributeVO;
import com.vci.ubcs.code.vo.CodeOsbtmtypeVO;
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.omd.feign.IBtmTypeClient;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.starter.bo.WriteExcelData;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.poi.bo.ReadExcelOption;
@@ -46,12 +49,14 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.launch.constant.AppConstant;
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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -83,7 +88,11 @@
    @Resource
    private IBtmTypeClient btmTypeClient;
    /**
     * å±žæ€§æœåŠ¡
     */
//    @Autowired
//    private OsAttributeServiceI attributeService;
    /**
     * æ—¥å¿—
@@ -264,7 +273,6 @@
        return codeClassifyMapper.checkHasChild(oid.trim());
    }
    /**
     * åˆ é™¤ä¸»é¢˜åº“分类
     * @param codeClassify ä¸»é¢˜åº“分类数据传输对象,oid和ts需要传输
@@ -369,7 +377,6 @@
        return codeClassifyDO2VOs(codeClassifyDOList);
    }
    /**
     * ä½¿ç”¨ä¸»é”®é›†åˆæŸ¥è¯¢æ•°æ®å¯¹è±¡
     * @param oidCollections ä¸»é”®çš„集合
@@ -388,7 +395,6 @@
        }
        return  codeClassifyList;
    }
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
@@ -904,7 +910,7 @@
        condition.put("pkbtmtype",topClassifyVO.getBtmtypeid());
        List<CodeOsbtmtypeattributeEntity> unDefaultAttributes = codeOsbtmtypeattributeMapper.selectByMap(condition);
//        List<OsBtmTypeAttributeVO> unDefaultAttributes = btmService. (topClassifyVO.getBtmtypeid());
        // List<OsBtmTypeAttributeVO> unDefaultAttributes = btmService. (topClassifyVO.getBtmtypeid());
        List<CodeOsattributeVO> attributeVOS = new ArrayList<>();
        if(!CollectionUtils.isEmpty(unDefaultAttributes)){
            unDefaultAttributes.stream().forEach(attr->{
@@ -914,6 +920,7 @@
                attributeVO.setAttrlength(Short.valueOf(attr.getAttributelength()));
                attributeVO.setBtmtypeid(attr.getReferbtmtypeid());
                attributeVO.setBtmtypename(attr.getReferbtmtypename());
                attributeVO.setAttributedatatypetext(attr.getReferbtmtypename());
                boolean add = true;
                if(StringUtils.isNotBlank(id) && !attributeVO.getId().contains(id.replace("*",""))){
                    add = false;
@@ -926,8 +933,8 @@
                }
            });
        }
//        if(!CollectionUtils.isEmpty(attributeService.getDefaultAttributeVOs())){
//            attributeService.getDefaultAttributeVOs().stream().forEach(attr->{
//        if(!CollectionUtils.isEmpty(codeOsattributeService.getDefaultAttributeVOs())){
//            codeOsattributeService.getDefaultAttributeVOs().stream().forEach(attr->{
//                boolean add = true;
//                if(StringUtils.isNotBlank(id) && !attr.getId().contains(id.replace("*",""))){
//                    add = false;
@@ -1120,7 +1127,6 @@
        }
        return fullInfo;
    }
    /**
     * ç»Ÿè®¡å­èŠ‚ç‚¹çš„ä¸ªæ•°
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
@@ -3,51 +3,37 @@
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.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.service.ICodeReferConfigService;
import com.vci.ubcs.code.service.ICodeShowFieldConfigService;
import com.vci.ubcs.code.service.ICodeSrchCondConfigService;
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.springblade.core.tool.utils.Func;
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;
@@ -58,16 +44,16 @@
 * @since 2023-05-19 17:48:02
 */
@Service("CodeReferconfigService")
public class CodeReferConfigServiceImpl extends MPJBaseServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements CodeReferConfigService {
public class CodeReferConfigServiceImpl extends MPJBaseServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements ICodeReferConfigService {
    @Resource
    private CodeReferConfigMapper codeReferconfigMapper;
    @Resource
    private CodeShowFieldConfigService codeShowFieldConfigService;
    private ICodeShowFieldConfigService ICodeShowFieldConfigService;
    @Resource
    private CodeSrchCondConfigService codeSrchCondConfigService;
    private ICodeSrchCondConfigService ICodeSrchCondConfigService;
    /**
     * é€šè¿‡ID查询单条数据
@@ -81,12 +67,20 @@
        return CodeReferConfigWraper.build().entityVO(codeReferConfig);
    }
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param bladeQueryObject ç­›é€‰æ¡ä»¶
     * @return æŸ¥è¯¢ç»“æžœ
     */
    @Override
    public IPage<CodeReferConfigVO> queryByJoinPage(BladeQueryObject bladeQueryObject) {
        CodeReferConfig codeReferConfig = new CodeReferConfig();
        // æ ¹æ®ç§Ÿæˆ·è¿›è¡ŒåŒºåˆ†å¯¹åº”的参照配置
        Map<String, Object> conditionMap = bladeQueryObject.getConditionMap();
        // æŸ¥è¯¢æ‰€å±žç§Ÿæˆ·ä¸‹çš„和开启全局的参照配置信息
        conditionMap.put("tenantId",AuthUtil.getTenantId());
        conditionMap.put("isOpenGlobal","true");
        BeanMap beanMap = BeanMap.create(codeReferConfig);
        beanMap.putAll(conditionMap);
        // æ·»åŠ é»˜è®¤æŽ’åºå­—æ®µ,根据时间进行排序
@@ -96,12 +90,6 @@
        return CodeReferConfigWraper.build().pageVO(codeReferConfigs);
    }
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param codeReferConfigVO ç­›é€‰æ¡ä»¶
     * @return æŸ¥è¯¢ç»“æžœ
     */
    @Override
    public List<CodeReferConfigVO> queryByList(CodeReferConfigVO codeReferConfigVO) {
        codeReferConfigVO.setTenantId(AuthUtil.getTenantId());
@@ -126,18 +114,25 @@
        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;
        // Long count = countCodeReferConfig(codeReferConfigVO);
        // if(count > 0){
        //    throw new VciBaseException("已存在相同的参照配置");
        // }
        CodeReferConfig codeReferConfig = CodeReferConfigWraper.build().entityDO(codeReferConfigVO);
        codeReferConfig.setOid(VciBaseUtil.getPk().toUpperCase());
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeReferConfig, MdmBtmTypeConstant.CODE_REFER_CONFIG);
        codeReferConfig.setTenantId(AuthUtil.getTenantId());
        boolean resInsertReferConfig = this.codeReferconfigMapper.insert(codeReferConfig) > 0;
        if (!resInsertReferConfig) {
            return R.fail("新增参照配置失败!");
        }
        codeShowFieldConfigService.insertBatch(codeReferConfigVO.getCodeShowFieldConfigVOS());
        codeSrchCondConfigService.insertBatch(codeReferConfigVO.getCodeSrchCondConfigVOS());
        // ä¸»é”®å›žå¡«
        if(Func.isNotEmpty(codeReferConfig.getCodeShowFieldConfigs())){
            ICodeShowFieldConfigService.insertBatch(codeReferConfigVO.getCodeShowFieldConfigVOS(),codeReferConfig.getOid());
        }
        if(Func.isNotEmpty(codeReferConfig.getCodeSrchCondConfigs())){
            ICodeSrchCondConfigService.insertBatch(codeReferConfigVO.getCodeSrchCondConfigVOS(),codeReferConfig.getOid());
        }
        return R.data(codeReferConfigVO);
    }
@@ -148,12 +143,17 @@
     */
    private Long countCodeReferConfig(CodeReferConfigVO codeReferConfigVO) {
        String templateName = codeReferConfigVO.getName();
        if (StringUtils.isBlank(templateName)){
            throw new VciBaseException("参照配置名称不能为空");
        String templateId = codeReferConfigVO.getId();
        if (StringUtils.isBlank(templateName) && StringUtils.isBlank(templateId)){
            throw new VciBaseException("参照配置编号和名称不能为空");
        }
        LambdaQueryWrapper<CodeReferConfig> wrapper = Wrappers.<CodeReferConfig>query()
            .lambda().eq(CodeReferConfig::getId, codeReferConfigVO.getId())
            .eq(CodeReferConfig::getTenantId, codeReferConfigVO.getTenantId());
            .eq(CodeReferConfig::getTenantId, codeReferConfigVO.getTenantId())
            .or(true)
            .eq(CodeReferConfig::getIsOpenGlobal,"true") // æŸ¥è¯¢å¼€å¯å…¨å±€çš„参照配置
            .eq(CodeReferConfig::getId,templateId)
            .eq(CodeReferConfig::getName,templateName);
        Long count = codeReferconfigMapper.selectCount(wrapper);
        return count;
    }
@@ -165,18 +165,18 @@
    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)
            // .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)
@@ -197,8 +197,8 @@
        if (!resUpdateReferConfig) {
            return R.fail("参照配置修改失败!");
        }
        this.codeShowFieldConfigService.updateBatch(codeReferConfigVO.getCodeShowFieldConfigVOS());
        this.codeSrchCondConfigService.updateBatch(codeReferConfigVO.getCodeSrchCondConfigVOS());
        this.ICodeShowFieldConfigService.updateBatch(codeReferConfigVO.getCodeShowFieldConfigVOS());
        this.ICodeSrchCondConfigService.updateBatch(codeReferConfigVO.getCodeSrchCondConfigVOS());
        return R.data(codeReferConfigVO);
    }
@@ -222,8 +222,8 @@
        if (!resDeleteReferConfig) {
            return R.fail("参照配置删除失败!");
        }
        this.codeShowFieldConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
        this.codeSrchCondConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
        this.ICodeShowFieldConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
        this.ICodeSrchCondConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
        return  R.status(resDeleteReferConfig);
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeShowFieldConfigServiceImpl.java
@@ -1,19 +1,14 @@
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.service.ICodeShowFieldConfigService;
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;
@@ -26,21 +21,10 @@
 * @since 2023-05-19 17:58:56
 */
@Service("CodeShowFieldConfigService")
public class CodeShowFieldConfigServiceImpl extends ServiceImpl<CodeShowFieldConfigMapper,CodeShowFieldConfig> implements CodeShowFieldConfigService {
public class CodeShowFieldConfigServiceImpl extends ServiceImpl<CodeShowFieldConfigMapper,CodeShowFieldConfig> implements ICodeShowFieldConfigService {
    @Resource
    private CodeShowFieldConfigMapper codeShowFieldConfigMapper;
    /**
     * é€šè¿‡ID查询单条数据
     *
     * @param oid ä¸»é”®
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    public CodeShowFieldConfig queryById(String oid) {
        return this.codeShowFieldConfigMapper.queryById(oid);
    }
    /**
     * æ–°å¢žæ•°æ®
@@ -55,23 +39,11 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean insertBatch(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS) {
        List<CodeShowFieldConfig> codeShowFieldConfigs = CodeShowFieldConfigWraper.build().listDO(codeShowFieldConfigVOS);
    public boolean insertBatch(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS, String oid) {
        List<CodeShowFieldConfig> codeShowFieldConfigs = CodeShowFieldConfigWraper.build().listDO(codeShowFieldConfigVOS,oid);
        boolean b = this.saveOrUpdateBatch(codeShowFieldConfigs);
        return b;
    }
    /**
     * ä¿®æ”¹æ•°æ®
     *
     * @param codeShowFieldConfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean update(CodeShowFieldConfig codeShowFieldConfig) {
        return this.codeShowFieldConfigMapper.update(codeShowFieldConfig)>0;
    }
    @Override
    public boolean updateBatch(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS) {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSrchCondConfigServiceImpl.java
@@ -1,28 +1,18 @@
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.service.ICodeSrchCondConfigService;
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 org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
/**
 * å¼•用码段,参照配置界面,查询条件配置表(CodeSrchCondConfigService)表服务实现类
@@ -31,34 +21,10 @@
 * @since 2023-05-19 17:58:56
 */
@Service("CodeSrchCondConfigService")
public class CodeSrchCondConfigServiceImpl extends ServiceImpl<CodeSrchCondConfigMapper, CodeSrchCondConfig> implements CodeSrchCondConfigService {
public class CodeSrchCondConfigServiceImpl extends ServiceImpl<CodeSrchCondConfigMapper, CodeSrchCondConfig> implements ICodeSrchCondConfigService {
    @Resource
    private CodeSrchCondConfigMapper codeSrchcondconfigMapper;
    /**
     * é€šè¿‡ID查询单条数据
     *    codeSrchcondconfig
     * @param oid ä¸»é”®
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    public CodeSrchCondConfig queryById(String oid) {
        return this.codeSrchcondconfigMapper.queryById(oid);
    }
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param codeSrchcondconfig ç­›é€‰æ¡ä»¶
     * @param pageRequest      åˆ†é¡µå¯¹è±¡
     * @return æŸ¥è¯¢ç»“æžœ
     */
    @Override
    public Page<CodeSrchCondConfig> queryByPage(CodeSrchCondConfig codeSrchcondconfig, PageRequest pageRequest) {
        long total = this.codeSrchcondconfigMapper.count(codeSrchcondconfig);
        return new PageImpl<>(this.codeSrchcondconfigMapper.queryAllByLimit(codeSrchcondconfig, pageRequest), pageRequest, total);
    }
    /**
     * æ–°å¢žæ•°æ®
@@ -72,21 +38,11 @@
    }
    @Override
    public boolean insertBatch(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS) {
        List<CodeSrchCondConfig> codeSrchCondConfigs = CodeSrchCondConfigWraper.build().listDO(codeSrchCondConfigVOS);
    @Transactional(rollbackFor = Exception.class)
    public boolean insertBatch(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS, String oid) {
        List<CodeSrchCondConfig> codeSrchCondConfigs = CodeSrchCondConfigWraper.build().listDO(codeSrchCondConfigVOS,oid);
        return this.saveOrUpdateBatch(codeSrchCondConfigs);
    }
    /**
     * ä¿®æ”¹æ•°æ®
     *
     * @param codeSrchcondconfig å®žä¾‹å¯¹è±¡
     * @return å®žä¾‹å¯¹è±¡
     */
    @Override
    public boolean update(CodeSrchCondConfig codeSrchcondconfig) {
        return this.codeSrchcondconfigMapper.update(codeSrchcondconfig)>0;
    }
    @Override
    public boolean updateBatch(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS) {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingLogeServiceImpl.java
@@ -9,7 +9,7 @@
/**
    * ç¼–码信息 æœåŠ¡å®žçŽ°ç±»
    *
    * @author xiej
    * @author xiejun
    * @since 2023-05-17
    */
@Service
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.DockingSystemConfig;
import com.vci.ubcs.code.mapper.DockingSystemConfigMapper;
import com.vci.ubcs.code.service.IDockingSystemConfigService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Map;
import java.util.function.Function;
/***
 * ç³»ç»ŸæŽ¥å£ç®¡ç†-接口配置服务
 * @author xiejun
 * @date 2023-06-01
 */
@Service
public class DockingSystemConfigServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDockingSystemConfigService{
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.dto.DockingSystemDTO;
import com.vci.ubcs.code.entity.CodeRule;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.mapper.DockingSystemMapper;
import com.vci.ubcs.code.service.IDockingSystemService;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
import com.vci.ubcs.code.wrapper.DockingSystemWrapper;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Objects;
import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING;
import static com.vci.ubcs.code.constant.MdmLifeCycleConstant.CODE_RULE_LC;
/***
 * ç³»ç»ŸæŽ¥å£ç®¡ç†-集成系统服务
 * @author xiejun
 * @date 2023-06-01
 */
@Service
public class DockingSystemServiceImpl extends ServiceImpl<DockingSystemMapper, DockingSystem> implements IDockingSystemService {
    /***
     * é›†æˆç³»ç»Ÿç®¡ç†æœåŠ¡
     */
    @Autowired(required = false)
    private  DockingSystemMapper dockingSystemMapper;
    /**
     * å¯¹è±¡çš„æ“ä½œ
     */
    @Autowired
    private RevisionModelUtil revisionModelUtil;
    @Override
    public boolean addSave(DockingSystemDTO dockingSystemDTO) {
        VciBaseUtil.alertNotNull(dockingSystemDTO, "需要添加的数据对象");
        //将DTO转换为DO
        DockingSystem dockingSystem = Objects.requireNonNull(BeanUtil.copy(dockingSystemDTO, DockingSystem.class));
        String userId = AuthUtil.getUserId().toString();
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSystem, MdmBtmTypeConstant.SYS_INT_BASE);
        dockingSystem.setLctid(CODE_RULE_LC);
        dockingSystem.setLcStatus(FRAMEWORK_RELEASE_EDITING);
        return dockingSystemMapper.insert(dockingSystem)>0;
    }
    /**
     * ä¿®æ”¹ ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    @Override
    public DockingSystemVO editSave(DockingSystemDTO dockingSystemDTO) {
        VciBaseUtil.alertNotNull(dockingSystemDTO,"数据对象",dockingSystemDTO.getOid(),"系统集成的系统信息主键");
        //将DTO转换为DO
        DockingSystem dockingSystem = dockingSystemMapper.selectById(dockingSystemDTO.getOid());
        revisionModelUtil.copyFromDTOIgnore(dockingSystemDTO,dockingSystem);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingSystem);
        dockingSystemMapper.updateById(dockingSystem);
        return DockingSystemWrapper.build().entityVO(dockingSystem);
    }
    @Override
    public boolean delSystemData(DockingSystemDTO dockingSystemDTO) {
        VciBaseUtil.alertNotNull(dockingSystemDTO,"系统集成的系统信息数据对象",dockingSystemDTO.getOid(),"系统集成的系统信息的主键");
        /*DockingSystem dockingSystem = dockingSystemMapper.selectById(dockingSystemDTO.getOid());
        BaseResult baseResult = checkIsCanDeleteForDO(sysIntBaseDTO,sysIntBaseDO);
        if(baseResult.isSuccess()) {
        }else{
            return baseResult;
        }
        //执行删除操作
        BatchCBO batchCBO = sysIntBaseMapper.deleteByPrimaryKey(sysIntBaseDO.getOid());
        return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.fail(DELETE_FAIL);
*/
        return false;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -4,10 +4,10 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO;
import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.dto.CodeDeleteBatchDTO;
import com.vci.ubcs.code.dto.CodeOrderDTO;
import com.vci.ubcs.code.dto.datapush.BaseModelDTO;
@@ -18,13 +18,17 @@
import com.vci.ubcs.code.mapper.CommonsMapper;
import com.vci.ubcs.code.service.*;
import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO;
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
import com.vci.ubcs.code.vo.pagemodel.UITablePageVO;
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.omd.feign.IBtmTypeClient;
import com.vci.ubcs.omd.feign.IEnumClient;
import com.vci.ubcs.omd.feign.IEnumItemClient;
import com.vci.ubcs.omd.feign.IRevisionRuleClient;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.omd.vo.EnumVO;
import com.vci.ubcs.omd.vo.RevisionRuleVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
@@ -37,21 +41,32 @@
import com.vci.ubcs.starter.web.util.*;
import com.vci.ubcs.system.entity.DictBiz;
import com.vci.ubcs.system.feign.IDictBizClient;
import net.logstash.logback.encoder.org.apache.commons.lang3.ObjectUtils;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
import oracle.sql.TIMESTAMP;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springframework.beans.BeanUtils;
import org.springblade.core.tool.utils.StringPool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cglib.beans.BeanMap;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
@@ -120,6 +135,16 @@
     */
    @Autowired
    private ICodePhaseAttrService phaseAttrService;
    /**
     * ä¸šåŠ¡ç±»åž‹çš„æœåŠ¡
     */
    @Autowired
    private IBtmTypeClient btmTypeClient;
    /**
     * ç‰ˆæœ¬è§„则的服务
     */
    @Resource
    private IRevisionRuleClient revisionRuleClient;
//
    /**
     * é€šç”¨æŸ¥è¯¢
@@ -180,6 +205,14 @@
     * ç©ºæ ¼
     */
    public static final String SPACE = " ";
    /**
     * ç¼“存key
     */
    public static final String BTM_INIT_CACHE = "ubcs-code:btm";
    /**
     *
     */
    public static final String BTM_NAME = "btm:name";
    /**
     * å¯†çº§çš„字段
@@ -316,7 +349,7 @@
     * @return è¿”回编码的内容
     */
    @Override
    public String addSaveCode(CodeOrderDTO orderDTO) {
    public String addSaveCode(CodeOrderDTO orderDTO) throws Exception {
        VciBaseUtil.alertNotNull(orderDTO, "编码申请相关的属性和码段的内容都为空", orderDTO.getCodeClassifyOid(), "主题库分类的主键",
            orderDTO.getTemplateOid(), "模板的主键", orderDTO.getCodeRuleOid(), "编码规则的主键");
        CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
@@ -340,14 +373,14 @@
        switchDateAttrOnOrder(templateVO, orderDTO);
        //9.生成编码的信息
//        ClientBusinessObject cbo = boService.createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid());
        CodeWupin cbo = createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid());
        BaseModel cbo = createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid());
//        //默认的属性都不用从前端拷贝
//        //设置编码需要的默认属性的内容
        copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, false);
//        //TODO:因为默认的属性都不拷贝,目前集团码叫name,并没有从DTO拷贝到cbo里。增加一个单独处理,以后再看要不要调整
        cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName());
//        //end -- modify by lihang @20220407
        List<CodeWupin> cboList = new ArrayList<>();
        List<BaseModel> cboList = new ArrayList<>();
        //备注
        cbo.setDescription(orderDTO.getDescription());
@@ -358,8 +391,8 @@
        List<String> charList = new ArrayList<>();
        for (CodeWupin wupinEntity : cboList) {
            charList.add(wupinEntity.getId());
        for (BaseModel baseModel : cboList) {
            charList.add(baseModel.getId());
        }
        batchSaveSelectChar(templateVO, charList);
        return codeList.size() > 0 ? codeList.get(0) : "";
@@ -709,7 +742,7 @@
     * @param templateVO       æ¨¡æ¿çš„æ˜¾ç¤ºå¯¹è±¡
     * @param edit             æ˜¯å¦ä¸ºä¿®æ”¹
     */
    private void copyValueToCBO(CodeClassifyFullInfoBO classifyFullInfo, CodeWupin cbo,
    private void copyValueToCBO(CodeClassifyFullInfoBO classifyFullInfo, BaseModel cbo,
                                CodeOrderDTO orderDTO, CodeClassifyTemplateVO templateVO,
                                boolean edit)  {
        String fullPath = "";
@@ -738,14 +771,18 @@
        try {
            BeanUtilForVCI.copyPropertiesIgnoreNull(BeanUtilForVCI.convertMap(CodeWupin.class,orderDTO.getData()),cbo);
            cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid());
            cbo.setCodetemplateoid(templateVO.getOid());
            cbo.setCodeclsfpath(fullPath);
            BeanUtilForVCI.copyPropertiesIgnoreNull(BeanUtilForVCI.convertMap(BaseModel.class,orderDTO.getData()),cbo);
            Map<String,String> data = new HashMap<>();
            data.put(CODE_CLASSIFY_OID_FIELD,classifyFullInfo.getCurrentClassifyVO().getOid());
            data.put(CODE_TEMPLATE_OID_FIELD,templateVO.getOid());
            data.put(CODE_FULL_PATH_FILED,fullPath);
            cbo.setData(data);
//            cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid());
//            cbo.setTemplateOid(templateVO.getOid());
//            cbo.setCodeclsfpath(fullPath);
            cbo.setTs(new Date());
            if (!edit && StringUtils.isBlank(orderDTO.getLcStatus())) {
                //找生命周期的起始状态,插个点,生命周期是否需要创建
                //先写固定,后面生命周期好了在编写
                if (StringUtils.isNotBlank(cbo.getLctid())) {
//                    OsLifeCycleVO lifeCycleVO = lifeCycleService.getLifeCycleById(cbo.getLctid());
//                    if (lifeCycleVO != null) {
@@ -782,72 +819,65 @@
     * @throws VciBaseException åˆå§‹åŒ–出错的是会抛出异常
     */
    @Override
    public CodeWupin createCBOByBtmName(String btmName)
    public BaseModel createCBOByBtmName(String btmName)
        throws VciBaseException {
        if(btmName!=null){
            btmName = btmName.trim().toLowerCase();
        }
        String userid = AuthUtil.getUser().getUserName();
//        if(!hasCreatedCbos.containsKey(btmName)){
//            if(StringUtils.isEmpty(userid)){
//                throw new VciBaseException(msgCodePrefix +"noHasUserid");
//            }
//            try {
//                hasCreatedCbos.put(btmName, createBusinessObject(btmName));
//            } catch (Exception e) {
//                logger.error("创建业务类型对象",e);
//                throw new VciBaseException(msgCodePrefix + "initBoError",new String[]{btmName});
//            }
//        }
//        ClientBusinessObject cbo = cloneClientBusinessObject(hasCreatedCbos.get(btmName));
//        QueryWrapper<CodeOsbtmtypeEntity> btmWrapper = new QueryWrapper<>();
//        btmWrapper.eq("ID",btmName);
//        CodeOsbtmtypeEntity btmTypeVO = codeOsbtmtypeMapper.selectOne(btmWrapper);
//        OsBtmTypeVO btmTypeVO = btmService.getBtmById(boName);
        String userName = AuthUtil.getUser().getUserName();
        CodeWupin wupinEntity = new CodeWupin();
        wupinEntity.setOid(VciBaseUtil.getPk());
//        bo.setRevisionid((new ObjectUtility()).getNewObjectID36());
//        bo.setNameoid((new ObjectUtility()).getNewObjectID36());
        wupinEntity.setBtmname(btmName);
        wupinEntity.setLastR(String.valueOf(1));
        wupinEntity.setFirstR(String.valueOf(1));
        wupinEntity.setFirstV(String.valueOf(1));
        wupinEntity.setLastV(String.valueOf(1));
        wupinEntity.setCreator(userName);
        wupinEntity.setCreateTime(new Date());
        wupinEntity.setLastModifier(userName);
        wupinEntity.setLastModifyTime(new Date());
        wupinEntity.setRevisionRule("numberversionrule");
        wupinEntity.setVersionRule("0");
//        if(StringUtils.isNotBlank(btmTypeVO.getRevisionruleid())){
            //
//            OsRevisionRuleVO revisionRuleVO = revisionRuleService.getRevisionRuleById(btmTypeVO.getRevisionruleid());
        wupinEntity.setRevisionValue("1");
//        }
        wupinEntity.setRevisionSeq(1);
        wupinEntity.setVersionSeq(1);
        //插个点,需要问勇哥版本问题,展示默认为1
        wupinEntity.setVersionValue("1");
        wupinEntity.setLctid("wupinLC");
        wupinEntity.setLcStatus("Editing");
        wupinEntity.setId("");
        wupinEntity.setName("");
        wupinEntity.setDescription("");
        wupinEntity.setOwner(userName);
        wupinEntity.setCheckinby(userName);
        wupinEntity.setCopyFromVersion("");
        wupinEntity.setMaterialtype(1001);
        wupinEntity.setCaigouwl("true");
        wupinEntity.setShifoupihaoguanli("true");
        wupinEntity.setKucunwl("true");
        wupinEntity.setXiaoshouwl("false");
        wupinEntity.setPassing("true");
        try {
            String keyPrefix = BTM_NAME.concat(StringPool.DASH).concat(AuthUtil.getTenantId()).concat(StringPool.COLON);
            String finalBtmName = btmName;
            return CacheUtil.get(BTM_INIT_CACHE, keyPrefix, btmName, () -> {
                BaseModel baseModel = createBaseModel(finalBtmName);
                return baseModel;
            });
        } catch (Exception e) {
            logger.error("创建业务类型对象",e);
            throw new VciBaseException("initBtmError",new String[]{btmName});
        }
//        String userName = AuthUtil.getUser().getUserName();
//        CodeWupin wupinEntity = new CodeWupin();
//        wupinEntity.setOid(VciBaseUtil.getPk());
////        bo.setRevisionid((new ObjectUtility()).getNewObjectID36());
////        bo.setNameoid((new ObjectUtility()).getNewObjectID36());
//        wupinEntity.setBtmname(btmName);
//        wupinEntity.setLastR(String.valueOf(1));
//        wupinEntity.setFirstR(String.valueOf(1));
//        wupinEntity.setFirstV(String.valueOf(1));
//        wupinEntity.setLastV(String.valueOf(1));
//        wupinEntity.setCreator(userName);
//        wupinEntity.setCreateTime(new Date());
//        wupinEntity.setLastModifier(userName);
//        wupinEntity.setLastModifyTime(new Date());
//        wupinEntity.setRevisionRule("numberversionrule");
//        wupinEntity.setVersionRule("0");
////        if(StringUtils.isNotBlank(btmTypeVO.getRevisionruleid())){
//            //
////            OsRevisionRuleVO revisionRuleVO = revisionRuleService.getRevisionRuleById(btmTypeVO.getRevisionruleid());
//        wupinEntity.setRevisionValue("1");
////        }
//
//        wupinEntity.setRevisionSeq(1);
//        wupinEntity.setVersionSeq(1);
//        //插个点,需要问勇哥版本问题,展示默认为1
//        wupinEntity.setVersionValue("1");
//        wupinEntity.setLctid("wupinLC");
//        wupinEntity.setLcStatus("Editing");
//        wupinEntity.setId("");
//        wupinEntity.setName("");
//        wupinEntity.setDescription("");
//        wupinEntity.setOwner(userName);
//        wupinEntity.setCheckinby(userName);
//        wupinEntity.setCopyFromVersion("");
//        wupinEntity.setMaterialtype(1001);
//        wupinEntity.setCaigouwl("true");
//        wupinEntity.setShifoupihaoguanli("true");
//        wupinEntity.setKucunwl("true");
//        wupinEntity.setXiaoshouwl("false");
//        wupinEntity.setPassing("true");
//        this.initTypeAttributeValue(wupinEntity,btmTypeVO);
        return wupinEntity;
//        return wupinEntity;
//        return cbo;
@@ -1236,8 +1266,8 @@
        //没有限制分类,但是一个模板只可能在一个业务类型里面,所以直接查询这个业务类型即可
        if (!CollectionUtils.isEmpty(conditionMap)) {
            Map<String, String> andConditionMap = new HashMap<>();
            andConditionMap.put("islastr", "1");
            andConditionMap.put("islastv", "1");
            andConditionMap.put("lastr", "1");
            andConditionMap.put("lastv", "1");
            if (StringUtils.isNotBlank(orderDTO.getOid())) {
                andConditionMap.put("oid", QueryOptionConstant.NOTEQUAL + orderDTO.getOid());
            }
@@ -2883,4 +2913,150 @@
        }
        return buttonVOList;
    }
    /**
     * ä¼ å…¥ä¸šåŠ¡ç±»åž‹ä»¥åŠç›¸å…³æ•°æ®è¿›è¡Œæ‰¹é‡æ’å…¥æ“ä½œ
     *
     * @param btmType ä¸šåŠ¡ç±»åž‹
     * @param baseModels      å¤„理数据
     * @return å¤„理成功数据条数
     */
    @Override
    public Integer insertBatchByType(String btmType, List<BaseModel> baseModels) throws Exception {
        //使用传入的业务类型查询表
        R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
        if(listR.getData().size() == 0){
            throw new VciBaseException("传入业务类型未查询到相应表单,请检查!");
        }
        //将bean转为map,mybatis统一处理
        List<Map<String,String>> maps = new ArrayList<>();
        baseModels.stream().forEach(model-> {
            try {
                maps.add(VciBaseUtil.convertBean2Map(model));
            } catch (Exception e) {
                throw new VciBaseException("类型转换错误:" + e.toString());
            }
        });
        return commonsMapper.insertByBaseModel(listR.getData().get(0).getTableName(), maps.get(0), maps);
    }
    /**
     * ä¼ å…¥ä¸šåŠ¡ç±»åž‹ä»¥åŠç›¸oid集合查询数据进行返回
     *
     * @param btmType ä¸šåŠ¡ç±»åž‹
     * @param oids      éœ€è¦æŸ¥è¯¢çš„oid集合 é€—号分开
     * @return æŸ¥è¯¢å‡ºçš„æ•°æ®
     */
    @Override
    public List<BaseModel> selectByTypeAndOid(String btmType, String oids) throws IllegalAccessException, NoSuchFieldException, InstantiationException, InvocationTargetException, IntrospectionException, SQLException {
        //使用传入的业务类型查询表
        R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
        if(listR.getData().size() == 0){
            throw new VciBaseException("传入业务类型未查询到相应表单,请检查!");
        }
        //查询数据
        List<Map> maps = commonsMapper.selectBySql("select * from " + listR.getData().get(0).getTableName() + " where oid in ("
            + VciBaseUtil.toInSql(oids.toString()) + ")");
        List<BaseModel> baseModels = new ArrayList<>();
        //将查询到的数据转换为basemodel,使用的反射方式来进行创建的
        for (Map map : maps) {
            Object obj = BaseModel.class.newInstance();
            BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
            PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
            for (PropertyDescriptor property : propertyDescriptors) {
                Method setter = property.getWriteMethod();
                if (setter != null) {
                    //oracle的时间为TIMESTAMP的,需要进行转换成data,否则将报错
                    if(map.get(property.getName().toUpperCase()) instanceof TIMESTAMP){
                        LocalDateTime localDateTime = ((TIMESTAMP) map.get(property.getName().toUpperCase())).toLocalDateTime();
                        ZoneId zoneId = ZoneId.systemDefault();
                        ZonedDateTime zdt = localDateTime.atZone(zoneId);
                        Date date = Date.from(zdt.toInstant());
                        setter.invoke(obj,date);
                        map.remove(property.getName().toUpperCase());
                    } //oracle的数字为BigDecimal的,需要进行转换成Integer,否则将报错
                    else if (map.get(property.getName().toUpperCase()) instanceof BigDecimal
                        && ("Integer").equals(setter.getParameterTypes()[0].getSimpleName())){
                        setter.invoke(obj, ((BigDecimal)map.get(property.getName().toUpperCase())).intValue());
                        map.remove(property.getName().toUpperCase());
                    }else if(map.get(property.getName().toUpperCase()) != null){
                        setter.invoke(obj, map.get(property.getName().toUpperCase()));
                        map.remove(property.getName().toUpperCase());
                    }
                }
            }
            for (Object key : map.keySet()) {
                map.put(key,String.valueOf(map.get(key)));
            }
            ((BaseModel) obj).setData(map);
            baseModels.add((BaseModel) obj);
        }
        return baseModels;
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹åç§°åˆ›å»ºä¸šåŠ¡æ•°æ®æºå¯¹è±¡
     * @param boName ä¸šåŠ¡ç±»åž‹åç§°
     * @return ä¸šåŠ¡æ•°æ®å¯¹è±¡
     */
    public BaseModel createBaseModel(String boName)  {
        R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(boName));
        String userName = AuthUtil.getUser().getUserName();
        BaseModel bo = new BaseModel();
        bo.setOid(VciBaseUtil.getPk());
//        bo.setRevisionid(VciBaseUtil.getPk());
//        bo.setNameoid(VciBaseUtil.getPk());
        bo.setBtmname(boName);
        bo.setLastR("1");
        bo.setFirstR("1");
        bo.setFirstV("1");
        bo.setLastV("1");
        bo.setCreator(userName);
        bo.setCreateTime(new Date());
        bo.setLastModifier(userName);
        bo.setLastModifyTime(new Date());
        bo.setRevisionRule(listR.getData().get(0).getRevisionRuleId());
        bo.setVersionRule(String.valueOf(listR.getData().get(0).getVersionRule()));
        if(StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId())){
            R<List<RevisionRuleVO>> revisionRuleVO = revisionRuleClient
                .selectByIdCollection(Collections.singletonList(listR.getData().get(0).getRevisionRuleId()));
            bo.setRevisionValue(revisionRuleVO.getData().get(0).getStartCode());
        }
        bo.setRevisionSeq(1);
        bo.setVersionSeq(1);
        bo.setVersionValue(getVersionValue(WebUtil.getInt(listR.getData().get(0).getVersionRule())));
        bo.setLctid(listR.getData().get(0).getLifeCycleId());
//        if(StringUtils.isNotBlank(listR.getData().get(0).getLifeCycleId())){
//            OsLifeCycleVO lifeCycleVO = lifeService.getLifeCycleById(listR.getData().get(0).getLifeCycleId());
            bo.setLcStatus("Editing");
//        }
        bo.setId("");
        bo.setName("");
        bo.setDescription("");
        bo.setOwner(userName);
//        bo.setCheckinby(userName);
        bo.setCopyFromVersion("");
//        this.initTypeAttributeValue(bo,btmTypeVO);
        return bo;
    }
    /**
     * èŽ·å–ç‰ˆæ¬¡çš„å€¼
     * @param verRuleName ç‰ˆæ¬¡çš„规则
     * @return ç‰ˆæ¬¡çš„值,没有规则则为空
     */
    private String getVersionValue(int verRuleName) {
        if (verRuleName == 0) {
            return "1";
        } else if (verRuleName == 1) {
            return "a";
        } else if (verRuleName == 2) {
            return "0";
        }
        return "";
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -2,11 +2,11 @@
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.dto.CodeOrderSecDTO;
import com.vci.ubcs.code.entity.CodeAllCode;
import com.vci.ubcs.code.entity.CodeSerialValue;
import com.vci.ubcs.code.entity.CodeWupin;
import com.vci.ubcs.code.enumpack.CodeCutTypeEnum;
import com.vci.ubcs.code.enumpack.CodeGetValueTypeEnum;
import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum;
@@ -14,18 +14,22 @@
import com.vci.ubcs.code.lifecycle.CodeAllCodeLC;
import com.vci.ubcs.code.mapper.CodeSerialValueMapper;
import com.vci.ubcs.code.service.ICodeWupinService;
import com.vci.ubcs.code.service.MdmEngineService;
import com.vci.ubcs.code.service.MdmProductCodeService;
import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
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.constant.QueryOptionConstant;
import com.vci.ubcs.starter.web.constant.RegExpConstant;
import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.starter.web.util.VciDateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -55,12 +59,24 @@
     */
    @Resource
    private ICodeWupinService iCodeWupinService;
    /**
     * æ‰€æœ‰çš„编码的内容
     */
    @Resource
    @Lazy
    private MdmEngineService mdmEngineService;
    /**
     * å…¬å¼çš„æœåŠ¡
     */
    @Autowired
    private FormulaServiceImpl formulaService;
    @Override
    public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<CodeWupin> dataCBOList) {
    public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList) throws Exception {
//        BatchCBO batchCBO = new BatchCBO();
//        WebUtil.setPersistence(false);
//        dataCBOList = dataCBOList.stream().sorted(((o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()))).collect(Collectors.toList());
        dataCBOList = dataCBOList.stream().sorted(((o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()))).collect(Collectors.toList());
//        batchCBO.getCreateCbos().addAll(dataCBOList);
        List<String> codeList = new ArrayList<>();
@@ -82,7 +98,7 @@
//                VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
                String code = cbo.getId();
                List<String> serialUnitList = new ArrayList<>();
                String[] secLengths = cbo.getCodeSecLengthField().split("#");
                String[] secLengths = cbo.getData().get(CODE_SEC_LENGTH_FIELD).split("#");
                List<CodeBasicSecVO> secVOList = ruleVO.getSecVOList().stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList());
                Map<String/**码段的主键**/,String/**码段的值**/> serialValueMap = new HashMap<>();
                Map<String, CodeBasicSecVO> secVOMap = secVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
@@ -266,7 +282,7 @@
            Map<String/**码段的主键**/, Map<String, CodeSerialValue>> maxSerialValueMap = new HashMap<>();
            for (int i = 0; i < dataCBOList.size(); i++) {
                CodeWupin cbo = dataCBOList.get(i);
                BaseModel cbo = dataCBOList.get(i);
                List<String> thisSecValueList = new LinkedList<>();
                for (int j = 0; j < secValueList.size(); j++) {
                    thisSecValueList.add(secValueList.get(j));
@@ -303,13 +319,17 @@
            Map<String, String> statusMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus()));
            allCodeDOList.stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmname())).forEach(s -> {
                s.setLcStatus(statusMap.get(s.getOid()));
            });
            allCodeDOList.stream().forEach(
                allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode");allCode.setLctid("codeAllCodeLC");}
            );
            codeAllCodeService.saveBatch(allCodeDOList);
            iCodeWupinService.saveBatch(dataCBOList);
//            iCodeWupinService.saveBatch(dataCBOList);
            mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList);
//            batchCBO.getCreateCbos().stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmName())).forEach(s -> {
//                s.setLcStatus(statusMap.get(s.getOid()));
//                try {
@@ -332,7 +352,7 @@
     * @param serialUnitList æµæ°´ä¾æ®çš„内容
     *                       è¿˜éœ€è¦åŽç»­çš„一个移植将会涉及到其他的服务
     */
    private void switchAttrSecValue(List<CodeBasicSecVO> attrSecVOList, CodeWupin cbo,
    private void switchAttrSecValue(List<CodeBasicSecVO> attrSecVOList, BaseModel cbo,
                                    List<String> thisSecValueList, boolean attrSevIsSerialDepend,
                                    List<String> serialUnitList){
        if (!CollectionUtils.isEmpty(attrSecVOList)) {
@@ -340,9 +360,9 @@
                String value = "";
                if (StringUtils.isNotBlank(attrSevVO.getGetValueClass())) {
                    //使用组合规则来处理的
//                    value = getValueByFormulaForCBO(cbo, attrSevVO.getGetValueClass());
                    value = getValueByFormulaForCBO(cbo, attrSevVO.getGetValueClass());
                } else {
//                    value = cbo.getAttributeValue(attrSevVO.getReferAttributeId());
                    value = cbo.getData().get(attrSevVO.getReferAttributeId());
                }
                if (value == null) {
                    value = "";
@@ -591,7 +611,7 @@
     * @param allCodeDOList æ‰€æœ‰çš„码值的对象列表
     */
    private void wrapperAllCode(CodeClassifyFullInfoBO classifyFullInfoBO, CodeRuleVO ruleVO,
                                CodeWupin cbo, CodeClassifyTemplateVO templateVO,
                                BaseModel cbo, CodeClassifyTemplateVO templateVO,
                                List<CodeAllCode> allCodeDOList, String serialUnitString, String serialValueString){
        CodeAllCode allCodeDO = new CodeAllCode();
        allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid());
@@ -746,4 +766,20 @@
//        WebUtil.setPersistence(oldPersistence);
        return updateFlag.get();
    }
    /**
     * ä½¿ç”¨CBO处理组合规则的内容
     * @param cbo æ•°æ®çš„内容
     * @param rule è§„则的内容
     * @return è½¬æ¢åŽçš„
     */
    private String getValueByFormulaForCBO(BaseModel cbo,String rule){
        Map<String, Object> dataMap = BeanUtils.beanToMap(cbo);
        Map<String, String> map = new HashMap<String, String>();
        for (String i : dataMap.keySet()) {
            map.put(i, String.valueOf(dataMap.get(i)));
        }
//        WebUtil.copyValueToMapFromCbos(cbo,dataMap);
        return formulaService.getValueByFormula(map,rule);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeBasicSecWrapper.java
@@ -17,12 +17,15 @@
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.code.entity.CodeBasicSec;
import com.vci.ubcs.code.enumpack.*;
import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.enums.EnumEnum;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -40,15 +43,23 @@
    }
    @Override
    public CodeBasicSecVO entityVO(CodeBasicSec codeBasicSec) {
        CodeBasicSecVO codeBasicSecVO = Objects.requireNonNull(BeanUtil.copy(codeBasicSec, CodeBasicSecVO.class));
        //codeBasicSecVO.setLcStatusText(CodeRuleLC.getTextByValue(codeBasicSec.getLcStatus()));
        codeBasicSecVO.setSecTypeText(CodeSecTypeEnum.getTextByValue(codeBasicSec.getSecType()));
        codeBasicSecVO.setCodeLevelTypeText(CodeLevelTypeEnum.getTextByValue(codeBasicSec.getCodeLevelType()));
        codeBasicSecVO.setCodeSecLengthTypeText(CodeSecLengthTypeEnum.getTextByValue(codeBasicSec.getCodeSecLengthType()));
        codeBasicSecVO.setValueCutTypeText(CodeCutTypeEnum.getValueByText(codeBasicSec.getValueCutType()));
        codeBasicSecVO.setCodeGetValueTypeText(CodeGetValueTypeEnum.getValueByText(codeBasicSec.getCodeGetValueType()));
    public CodeBasicSecVO entityVO(CodeBasicSec codeBasicSecDO) {
        CodeBasicSecVO codeBasicSecVO = Objects.requireNonNull(BeanUtil.copy(codeBasicSecDO, CodeBasicSecVO.class));
        if(StringUtils.isNotBlank(codeBasicSecDO.getSecType())){
            codeBasicSecVO.setSecTypeText(EnumCache.getValue(EnumEnum.CODE_SEC_TYPE,codeBasicSecDO.getSecType()));
        }
        if(StringUtils.isNotBlank(codeBasicSecDO.getCodeLevelType())){
            codeBasicSecVO.setCodeLevelTypeText(EnumCache.getValue(EnumEnum.CODE_LEVEL_TYPE,codeBasicSecDO.getCodeLevelType()));
        }
        if(StringUtils.isNotBlank(codeBasicSecDO.getCodeSecLengthType())){
            codeBasicSecVO.setCodeSecLengthTypeText(EnumCache.getValue(EnumEnum.CODE_SEC_LENGTH,codeBasicSecDO.getCodeSecLengthType()));
        }
        if(StringUtils.isNotBlank(codeBasicSecDO.getValueCutType())){
            codeBasicSecVO.setValueCutTypeText(EnumCache.getValue(EnumEnum.CODE_CUT_TYPE,codeBasicSecDO.getValueCutType()));
        }
        if(StringUtils.isNotBlank(codeBasicSecDO.getCodeGetValueType())){
            codeBasicSecVO.setCodeGetValueTypeText(EnumCache.getValue(EnumEnum.CODE_GET_VALUE_TYPE,codeBasicSecDO.getCodeGetValueType()));
        }
        //codeBasicSecVO.setParentClassifySecText();
        //codeBasicSecVO.setSecretGradeText();
        return codeBasicSecVO;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClassifyProcessTempWrapper.java
@@ -1,8 +1,11 @@
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.code.entity.CodeClassifyProcessTemp;
import com.vci.ubcs.code.enumpack.CodeClassifyProcessUseEnum;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyProcessTempVO;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.enums.EnumEnum;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -17,12 +20,10 @@
    @Override
    public CodeClassifyProcessTempVO entityVO(CodeClassifyProcessTemp codeClassifyProcessTemp) {
        CodeClassifyProcessTempVO codeClassifyProcessTempVO = Objects.requireNonNull(BeanUtil.copy(codeClassifyProcessTemp, CodeClassifyProcessTempVO.class));
        codeClassifyProcessTempVO.setCodeProcessUseText(CodeClassifyProcessUseEnum.getTextByValue(codeClassifyProcessTemp.getCodeProcessUse()));
        if(StringUtils.isNotBlank(codeClassifyProcessTemp.getCodeProcessUse())){
            codeClassifyProcessTempVO.setCodeProcessUseText(EnumCache.getValue(EnumEnum.CODE_CLASSIFY_PROCESS_USE,codeClassifyProcessTemp.getCodeProcessUse()));
        }
        return codeClassifyProcessTempVO;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClassifyTemplateAttrWrapper.java
@@ -16,8 +16,11 @@
 */
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.enums.EnumEnum;
import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -38,9 +41,9 @@
    @Override
    public CodeClassifyTemplateAttrVO entityVO(CodeClassifyTemplateAttr CodeClstempattr) {
        CodeClassifyTemplateAttrVO codeClassifyTemplateAttrVO = Objects.requireNonNull(BeanUtil.copy(CodeClstempattr, CodeClassifyTemplateAttrVO.class));
        codeClassifyTemplateAttrVO.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(CodeClstempattr.getAttributeDataType()));
        if(StringUtils.isNotBlank(CodeClstempattr.getAttributeDataType())){
            codeClassifyTemplateAttrVO.setAttributeDataTypeText( EnumCache.getValue(EnumEnum.VCO_FIELD_TYPE,CodeClstempattr.getAttributeDataType()));
        }
        return codeClassifyTemplateAttrVO;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClassifyTemplateWrapper.java
@@ -38,12 +38,10 @@
    @Override
    public CodeClassifyTemplateVO entityVO(CodeClassifyTemplate plCodeClstemplate) {
        CodeClassifyTemplateVO plCodeClstemplateVO = Objects.requireNonNull(BeanUtil.copy(plCodeClstemplate, CodeClassifyTemplateVO.class));
        //User createUser = UserCache.getUser(plCodeClstemplate.getCreateUser());
        //User updateUser = UserCache.getUser(plCodeClstemplate.getUpdateUser());
        //plCodeClstemplateVO.setCreateUserName(createUser.getName());
        //plCodeClstemplateVO.setUpdateUserName(updateUser.getName());
        return plCodeClstemplateVO;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeReferConfigWraper.java
@@ -1,14 +1,18 @@
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
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.omd.cache.EnumCache;
import com.vci.ubcs.omd.enums.EnumEnum;
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;
import java.util.stream.Collectors;
/**
 * å‚照配置-包装类,返回视图层所需的字段
@@ -25,7 +29,9 @@
    @Override
    public CodeReferConfigVO entityVO(CodeReferConfig codeReferConfig) {
        CodeReferConfigVO codeReferConfigVO = Objects.requireNonNull(BeanUtil.copy(codeReferConfig, CodeReferConfigVO.class));
        codeReferConfigVO.setTypeText(CodeReferConfigTypeEnum.getTextByValue(codeReferConfig.getType()));
        if(StringUtils.isNotBlank(codeReferConfig.getType())){
            codeReferConfigVO.setTypeText(EnumCache.getValue(EnumEnum.CODE_REFER_CONFIG_TYPE,codeReferConfig.getType()));
        }
        if(Func.isNotEmpty(codeReferConfig.getCodeSrchCondConfigs())){
            codeReferConfigVO.setCodeSrchCondConfigVOS(CodeSrchCondConfigWraper.build().listVO(codeReferConfig.getCodeSrchCondConfigs()));
        }
@@ -37,4 +43,18 @@
        return codeReferConfigVO;
    }
    public CodeReferConfig entityDO(CodeReferConfigVO codeReferConfigVO) {
        CodeReferConfig codeReferConfig = Objects.requireNonNull(BeanUtil.copy(codeReferConfigVO, CodeReferConfig.class));
        //codeReferConfig.setType(CodeReferConfigTypeEnum.getValueByText(codeReferConfigVO.getTypeText()));
        if(Func.isNotEmpty(codeReferConfigVO.getCodeSrchCondConfigVOS())){
            codeReferConfig.setCodeSrchCondConfigs(CodeSrchCondConfigWraper.build().listDO(codeReferConfigVO.getCodeSrchCondConfigVOS()));
        }
        if(Func.isNotEmpty(codeReferConfigVO.getCodeShowFieldConfigVOS())){
            codeReferConfig.setCodeShowFieldConfigs(CodeShowFieldConfigWraper.build().listDO(codeReferConfigVO.getCodeShowFieldConfigVOS()));
        }
        //    codeReferConfigVO.setCodeSrchCondConfigVOS(null);
        //    codeReferConfigVO.setCodeShowFieldConfigVOS(null);
        return codeReferConfig;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeRuleWrapper.java
@@ -16,9 +16,12 @@
 */
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.code.entity.CodeRule;
import com.vci.ubcs.code.lifecycle.CodeRuleLC;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.enums.EnumEnum;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -41,7 +44,9 @@
    @Override
    public CodeRuleVO entityVO(CodeRule codeRule) {
        CodeRuleVO codeRuleVO = Objects.requireNonNull(BeanUtil.copy(codeRule, CodeRuleVO.class));
        codeRuleVO.setLcStatusText(CodeRuleLC.getTextByValue(codeRuleVO.getLcStatus()));
        if(StringUtils.isNotBlank(codeRuleVO.getLcStatus())){
            codeRuleVO.setLcStatusText(EnumCache.getValue(EnumEnum.CODE_RULE_LC,codeRuleVO.getLcStatus()));
        }
        return codeRuleVO;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeShowFieldConfigWraper.java
@@ -1,5 +1,6 @@
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.code.entity.CodeShowFieldConfig;
import com.vci.ubcs.code.entity.CodeSrchCondConfig;
import com.vci.ubcs.code.enumpack.CodeReferConfigFieldTypeEnum;
@@ -7,6 +8,8 @@
import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.code.vo.CodeShowFieldConfigVO;
import com.vci.ubcs.code.vo.CodeSrchCondConfigVO;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.enums.EnumEnum;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -27,19 +30,39 @@
    @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()));
        if(StringUtils.isNotBlank(codeShowFieldConfig.getFixedPosition())){
            codeShowFieldConfigVO.setFixedPositionText(EnumCache.getValue(EnumEnum.CODE_REFER_CONFIG_FIXED,codeShowFieldConfig.getFixedPosition()));
        }
        if(StringUtils.isNotBlank(codeShowFieldConfig.getFieldType())){
            codeShowFieldConfigVO.setFieldTypeText(EnumCache.getValue(EnumEnum.CODE_REFER_CONFIG_FIELD_TYPE,codeShowFieldConfig.getFieldType()));
        }
        return codeShowFieldConfigVO;
    }
    public CodeShowFieldConfig entityDOsetReferConfigOid(CodeShowFieldConfigVO codeShowFieldConfigVO,String oid) {
        CodeShowFieldConfig codeShowFieldConfig = entityDO(codeShowFieldConfigVO);
        codeShowFieldConfig.setReferConfigOid(oid);
        return codeShowFieldConfig;
    }
    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()));
        if(StringUtils.isNotBlank(codeShowFieldConfigVO.getFieldTypeText())){
            codeShowFieldConfig.setFieldType(CodeReferConfigFieldTypeEnum.getTextByValue(codeShowFieldConfigVO.getFieldTypeText()));
        }
        if(StringUtils.isNotBlank(codeShowFieldConfigVO.getFixedPositionText())){
            codeShowFieldConfig.setFixedPosition(CodeReferConfigFieldTypeEnum.getTextByValue(codeShowFieldConfigVO.getFixedPositionText()));
        }
        if(StringUtils.isNotBlank(codeShowFieldConfigVO.getFieldTypeText())){
            codeShowFieldConfig.setFieldType(CodeReferConfigFieldTypeEnum.getValueByText(codeShowFieldConfigVO.getFieldTypeText()));
        }
        return codeShowFieldConfig;
    }
    public List<CodeShowFieldConfig> listDO(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS,String oid) {
        return (List)codeShowFieldConfigVOS.stream().map(item->entityDOsetReferConfigOid(item,oid)).collect(Collectors.toList());
    }
    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
@@ -1,5 +1,6 @@
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.entity.CodeShowFieldConfig;
import com.vci.ubcs.code.entity.CodeSrchCondConfig;
@@ -8,6 +9,8 @@
import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.code.vo.CodeShowFieldConfigVO;
import com.vci.ubcs.code.vo.CodeSrchCondConfigVO;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.enums.EnumEnum;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -28,13 +31,24 @@
    @Override
    public CodeSrchCondConfigVO entityVO(CodeSrchCondConfig codeSrchCondConfig) {
        CodeSrchCondConfigVO codeSrchCondConfigVO = Objects.requireNonNull(BeanUtil.copy(codeSrchCondConfig, CodeSrchCondConfigVO.class));
        codeSrchCondConfigVO.setFilterTypeText(CodeReferConfigFilterTypeEnum.getTextByValue(codeSrchCondConfig.getFilterType()));
        if(StringUtils.isNotBlank(codeSrchCondConfigVO.getFilterType())){
            codeSrchCondConfigVO.setFilterTypeText(EnumCache.getValue(EnumEnum.CODE_REFER_CONFIG_FILTER_TYPE,codeSrchCondConfig.getFilterType()));
        }
        return codeSrchCondConfigVO;
    }
    public CodeSrchCondConfig entityDOsetReferConfigOid(CodeSrchCondConfigVO codeSrchCondConfigVO,String oid) {
        CodeSrchCondConfig codeSrchCondConfig = entityDO(codeSrchCondConfigVO);
        codeSrchCondConfig.setReferConfigOid(oid);
        return codeSrchCondConfig;
    }
    public CodeSrchCondConfig entityDO(CodeSrchCondConfigVO codeSrchCondConfigVO) {
        CodeSrchCondConfig codeSrchCondConfig = Objects.requireNonNull(BeanUtil.copy(codeSrchCondConfigVO, CodeSrchCondConfig.class));
        codeSrchCondConfig.setFilterType(CodeReferConfigFieldTypeEnum.getTextByValue(codeSrchCondConfigVO.getFilterTypeText()));
        if(StringUtils.isNotBlank(codeSrchCondConfigVO.getFilterTypeText())){
            codeSrchCondConfig.setFilterType(CodeReferConfigFieldTypeEnum.getTextByValue(codeSrchCondConfigVO.getFilterTypeText()));
        }
        codeSrchCondConfig.setReferConfigOid(codeSrchCondConfigVO.getOid());
        return codeSrchCondConfig;
    }
@@ -42,4 +56,8 @@
        return (List)codeSrchCondConfigVOS.stream().map(this::entityDO).collect(Collectors.toList());
    }
    public List<CodeSrchCondConfig> listDO(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS,String oid) {
        return (List)codeSrchCondConfigVOS.stream().map(item->entityDOsetReferConfigOid(item,oid)).collect(Collectors.toList());
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeTempbuttonWrapper.java
@@ -16,9 +16,12 @@
 */
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.code.entity.CodeClassifyTemplateButton;
import com.vci.ubcs.code.enumpack.CodeButtonUseEnum;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateButtonVO;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.enums.EnumEnum;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import java.util.Objects;
@@ -39,7 +42,9 @@
    public CodeClassifyTemplateButtonVO entityVO(CodeClassifyTemplateButton CodeTempbuttonDO) {
        CodeClassifyTemplateButtonVO codeClassifyTemplateButtonVO = Objects.requireNonNull(BeanUtil.copy(CodeTempbuttonDO, CodeClassifyTemplateButtonVO.class));
        codeClassifyTemplateButtonVO.setButtonUseText(CodeButtonUseEnum.getTextByValue(CodeTempbuttonDO.getButtonUse()));
        if(StringUtils.isNotBlank(CodeTempbuttonDO.getButtonUse())){
            codeClassifyTemplateButtonVO.setButtonUseText(EnumCache.getValue(EnumEnum.CODE_TEMPLATE_BUTTON_USE,CodeTempbuttonDO.getButtonUse()));
        }
        return codeClassifyTemplateButtonVO;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemConfigWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingSystemConfig;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
public class DockingSystemConfigWrapper extends BaseEntityWrapper<DockingSystemConfig, DockingSystemConfigVO> {
    public static DockingSystemConfigWrapper build() {
        return new DockingSystemConfigWrapper();
    }
    @Override
    public DockingSystemConfigVO entityVO(DockingSystemConfig entity) {
        DockingSystemConfigVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingSystemConfigVO.class));
        return vo;
    }
    /***
     * æ•°ç»„对象转换
     * @param entitys
     * @return
     */
    public List<DockingSystemConfigVO> entityVOs(Collection<DockingSystemConfig> entitys) {
        if(CollectionUtils.isEmpty(entitys)) {
            return new ArrayList<>();
        }
        List<DockingSystemConfigVO> vos=new ArrayList<>();
        if(!CollectionUtils.isEmpty(entitys)) {
            entitys.stream().forEach(DockingSystem -> {
                vos.add(entityVO(DockingSystem));
            });
        }
        return vos;
    }
    /***
     * æ•°ç»„对象转换
     * @param vos
     * @return
     */
    public List<DockingSystemConfig> voentitys(Collection<DockingSystemConfigVO> vos) {
        if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();}
        List<DockingSystemConfig>entitys =new ArrayList<>();
        if(!CollectionUtils.isEmpty(vos)) {
            vos.stream().forEach(entity -> {
                entitys.add(voentity(entity));
            });
        }
        return entitys;
    }
    /***
     * æ•°ç»„对象转换
     * @param vo
     * @return
     */
    public DockingSystemConfig voentity(DockingSystemConfigVO vo) {
        DockingSystemConfig entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingSystemConfig.class));
        return entity;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
public class DockingSystemWrapper extends BaseEntityWrapper<DockingSystem, DockingSystemVO> {
    public static DockingSystemWrapper build() {
        return new DockingSystemWrapper();
    }
    @Override
    public DockingSystemVO entityVO(DockingSystem entity) {
        DockingSystemVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingSystemVO.class));
        return vo;
    }
    /***
     * æ•°ç»„对象转换
     * @param entitys
     * @return
     */
    public List<DockingSystemVO> entityVOs(Collection<DockingSystem> entitys) {
        if(CollectionUtils.isEmpty(entitys)) {
            return new ArrayList<>();
        }
        List<DockingSystemVO> vos=new ArrayList<>();
        if(!CollectionUtils.isEmpty(entitys)) {
            entitys.stream().forEach(DockingSystem -> {
                vos.add(entityVO(DockingSystem));
            });
        }
        return vos;
    }
    /***
     * æ•°ç»„对象转换
     * @param vos
     * @return
     */
    public List<DockingSystem> voentitys(Collection<DockingSystemVO> vos) {
        if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();}
        List<DockingSystem>entitys =new ArrayList<>();
        if(!CollectionUtils.isEmpty(vos)) {
            vos.stream().forEach(entity -> {
                entitys.add(voentity(entity));
            });
        }
        return entitys;
    }
    /***
     * æ•°ç»„对象转换
     * @param vo
     * @return
     */
    public DockingSystem voentity(DockingSystemVO vo) {
        DockingSystem entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingSystem.class));
        return entity;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml
@@ -57,6 +57,7 @@
        <result property="customCodeSerialClass" column="CUSTOMCODESERIALCLASS" jdbcType="VARCHAR"/>
        <result property="matchClassifyValueFlag" column="MATCHCLASSIFYVALUEFLAG" jdbcType="VARCHAR"/>
        <result property="parentClassifySecOid" column="PARENTCLASSIFYSECOID" jdbcType="VARCHAR"/>
        <result property="parentClassifySecText" column="b__name" jdbcType="VARCHAR"/>
        <result property="nullableFlag" column="NULLABLEFLAG" jdbcType="VARCHAR"/>
        <result property="componentCodeFlag" column="COMPONENTCODEFLAG" jdbcType="VARCHAR"/>
        <result property="serialDependFlag" column="SERIALDEPENDFLAG" jdbcType="VARCHAR"/>
@@ -70,71 +71,71 @@
    </resultMap>
    <select id="selectCodeBasicSecPage" resultMap="CodeBasicsecMap">
        select PL_CODE_BASICSEC.oid,
        PL_CODE_BASICSEC.revisionoid,
        PL_CODE_BASICSEC.nameoid,
        PL_CODE_BASICSEC.btmname,
        PL_CODE_BASICSEC.lastr,
        PL_CODE_BASICSEC.firstr,
        PL_CODE_BASICSEC.lastv,
        PL_CODE_BASICSEC.firstv,
        PL_CODE_BASICSEC.creator,
        PL_CODE_BASICSEC.createtime,
        PL_CODE_BASICSEC.lastmodifier,
        PL_CODE_BASICSEC.lastmodifytime,
        PL_CODE_BASICSEC.revisionrule,
        PL_CODE_BASICSEC.versionrule,
        PL_CODE_BASICSEC.revisionseq,
        PL_CODE_BASICSEC.revisionvalue,
        PL_CODE_BASICSEC.versionseq,
        PL_CODE_BASICSEC.versionvalue,
        PL_CODE_BASICSEC.lctid,
        PL_CODE_BASICSEC.lcstatus,
        PL_CODE_BASICSEC.ts,
        PL_CODE_BASICSEC.id,
        PL_CODE_BASICSEC.name,
        PL_CODE_BASICSEC.description,
        PL_CODE_BASICSEC.owner,
        PL_CODE_BASICSEC.copyfromversion,
        PL_CODE_BASICSEC.codefillseparator,
        PL_CODE_BASICSEC.codeseclength,
        PL_CODE_BASICSEC.valuecuttype,
        PL_CODE_BASICSEC.codefilltype,
        PL_CODE_BASICSEC.refervalueinfo,
        PL_CODE_BASICSEC.referattributeid,
        PL_CODE_BASICSEC.getvalueclass,
        PL_CODE_BASICSEC.displayflag,
        PL_CODE_BASICSEC.parentclassifysecoid,
        PL_CODE_BASICSEC.serialstep,
        PL_CODE_BASICSEC.serialdependflag,
        PL_CODE_BASICSEC.filtersql,
        PL_CODE_BASICSEC.codedateformatstr,
        PL_CODE_BASICSEC.refercodeclassifyoid,
        PL_CODE_BASICSEC.codeleveltype,
        PL_CODE_BASICSEC.codeseclengthtype,
        PL_CODE_BASICSEC.referattributename,
        PL_CODE_BASICSEC.referbtmname,
        PL_CODE_BASICSEC.codefillflag,
        PL_CODE_BASICSEC.valuecutlength,
        PL_CODE_BASICSEC.codegetvaluetype,
        PL_CODE_BASICSEC.referbtmid,
        PL_CODE_BASICSEC.codefilltypetext,
        PL_CODE_BASICSEC.codelevelvalue,
        PL_CODE_BASICSEC.codefilllength,
        PL_CODE_BASICSEC.customcodeserialclass,
        PL_CODE_BASICSEC.matchclassifyvalueflag,
        PL_CODE_BASICSEC.sectype,
        PL_CODE_BASICSEC.pkcoderule,
        PL_CODE_BASICSEC.ordernum,
        PL_CODE_BASICSEC.referconfig,
        PL_CODE_BASICSEC.serialstart,
        PL_CODE_BASICSEC.componentcodeflag,
        PL_CODE_BASICSEC.serialdependorder,
        PL_CODE_BASICSEC.nullableflag,
        PL_CODE_BASICSEC.codefilllimit,
        btm_codebasicsec_1.name as b__name,
        platformbtm_codeclassify.name as c__name,
        COUNT(*) OVER () "##VCI_COUNT_VCI##"
        SELECT PL_CODE_BASICSEC.oid,
            PL_CODE_BASICSEC.revisionoid,
            PL_CODE_BASICSEC.nameoid,
            PL_CODE_BASICSEC.btmname,
            PL_CODE_BASICSEC.lastr,
            PL_CODE_BASICSEC.firstr,
            PL_CODE_BASICSEC.lastv,
            PL_CODE_BASICSEC.firstv,
            PL_CODE_BASICSEC.creator,
            PL_CODE_BASICSEC.createtime,
            PL_CODE_BASICSEC.lastmodifier,
            PL_CODE_BASICSEC.lastmodifytime,
            PL_CODE_BASICSEC.revisionrule,
            PL_CODE_BASICSEC.versionrule,
            PL_CODE_BASICSEC.revisionseq,
            PL_CODE_BASICSEC.revisionvalue,
            PL_CODE_BASICSEC.versionseq,
            PL_CODE_BASICSEC.versionvalue,
            PL_CODE_BASICSEC.lctid,
            PL_CODE_BASICSEC.lcstatus,
            PL_CODE_BASICSEC.ts,
            PL_CODE_BASICSEC.id,
            PL_CODE_BASICSEC.name,
            PL_CODE_BASICSEC.description,
            PL_CODE_BASICSEC.owner,
            PL_CODE_BASICSEC.copyfromversion,
            PL_CODE_BASICSEC.codefillseparator,
            PL_CODE_BASICSEC.codeseclength,
            PL_CODE_BASICSEC.valuecuttype,
            PL_CODE_BASICSEC.codefilltype,
            PL_CODE_BASICSEC.refervalueinfo,
            PL_CODE_BASICSEC.referattributeid,
            PL_CODE_BASICSEC.getvalueclass,
            PL_CODE_BASICSEC.displayflag,
            PL_CODE_BASICSEC.parentclassifysecoid,
            PL_CODE_BASICSEC.serialstep,
            PL_CODE_BASICSEC.serialdependflag,
            PL_CODE_BASICSEC.filtersql,
            PL_CODE_BASICSEC.codedateformatstr,
            PL_CODE_BASICSEC.refercodeclassifyoid,
            PL_CODE_BASICSEC.codeleveltype,
            PL_CODE_BASICSEC.codeseclengthtype,
            PL_CODE_BASICSEC.referattributename,
            PL_CODE_BASICSEC.referbtmname,
            PL_CODE_BASICSEC.codefillflag,
            PL_CODE_BASICSEC.valuecutlength,
            PL_CODE_BASICSEC.codegetvaluetype,
            PL_CODE_BASICSEC.referbtmid,
            PL_CODE_BASICSEC.codefilltypetext,
            PL_CODE_BASICSEC.codelevelvalue,
            PL_CODE_BASICSEC.codefilllength,
            PL_CODE_BASICSEC.customcodeserialclass,
            PL_CODE_BASICSEC.matchclassifyvalueflag,
            PL_CODE_BASICSEC.sectype,
            PL_CODE_BASICSEC.pkcoderule,
            PL_CODE_BASICSEC.ordernum,
            PL_CODE_BASICSEC.referconfig,
            PL_CODE_BASICSEC.serialstart,
            PL_CODE_BASICSEC.componentcodeflag,
            PL_CODE_BASICSEC.serialdependorder,
            PL_CODE_BASICSEC.nullableflag,
            PL_CODE_BASICSEC.codefilllimit,
            btm_codebasicsec_1.name as b__name,
            platformbtm_codeclassify.name as c__name,
            COUNT(*) OVER () "##VCI_COUNT_VCI##"
        from PL_CODE_BASICSEC
            left join pl_code_basicsec btm_codebasicsec_1
                on btm_codebasicsec_1.oid = PL_CODE_BASICSEC.parentclassifysecoid
@@ -166,7 +167,7 @@
    </select>
    <insert id="insertBatch" keyProperty="oid" useGeneratedKeys="true">
    <!--    <insert id="insertBatch" keyProperty="oid" useGeneratedKeys="true">
        insert into PL_CODE_BASICSEC(REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME,
        LASTMODIFIER, LASTMODIFYTIME, REVISIONRULE, VERSIONRULE, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE,
        LCTID, LCSTATUS, TS, ID, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, SECTYPE, PKCODERULE, ORDERNUM,
@@ -194,12 +195,7 @@
            #{entity.referattributename}, #{entity.referattributeid}, #{entity.referbtmname}, #{entity.referbtmid}
            from dual
        </foreach>
    </insert>
    <select id="countByCondition" resultType="java.lang.Long">
    </select>
    </insert>-->
    <select id="getOidByCodeclassifysecOid" resultType="java.lang.String">
        SELECT OID
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -134,7 +134,7 @@
            <if test="oid != null ">
                codeclassify0.parentCodeClassifyOid = '${oid}'
            </if>
            <if test="oid = null ">
            <if test="oid == null ">
                codeclassify0.parentCodeClassifyOid is null
            </if>
        CONNECT BY PRIOR codeclassify0.OID = codeclassify0.parentCodeClassifyOid
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeReferConfigMapper.xml
@@ -121,6 +121,9 @@
            <if test="codeReferConfig.tenantId != null and codeReferConfig.tenantId != ''">
                PCR.TENANTID = #{codeReferConfig.tenantId}
            </if>
            <if test="codeReferConfig.isOpenGlobal != null and codeReferConfig.isOpenGlobal != ''">
                OR PCR.ISOPENGLOBAL = #{codeReferConfig.isOpenGlobal}
            </if>
            <if test="codeReferConfig.name != null and codeReferConfig.name != ''">
                and NAME like CONCAT(CONCAT('%', #{codeReferConfig.name}), '%')
            </if>
@@ -141,7 +144,8 @@
                PCS.ATTRSORTFIELD,
                PCS.WIDTH,
                PCS.FIXEDPOSITION,
                PCS.TEMPLET
                PCS.TEMPLET,
                PCS.ISQUERY
            FROM PL_CODE_REFERCONFIG PCR
                LEFT JOIN PL_CODE_SHOWFIELDCONFIG PCS ON PCS.REFERCONFIGOID = PCR.OID)
            temp WHERE temp.REFERCONFIGOID = #{oid}
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeShowFieldConfigMapper.xml
@@ -3,395 +3,19 @@
<mapper namespace="com.vci.ubcs.code.mapper.CodeShowFieldConfigMapper">
    <resultMap type="com.vci.ubcs.code.entity.CodeShowFieldConfig" id="PlCodeShowfieldconfigMap">
        <result property="oid" column="OID" jdbcType="VARCHAR"/>
        <result property="revisionOid" column="REVISIONOID" jdbcType="VARCHAR"/>
        <result property="nameOid" column="NAMEOID" jdbcType="VARCHAR"/>
        <result property="btmname" column="BTMNAME" jdbcType="VARCHAR"/>
        <result property="lastR" column="LASTR" jdbcType="VARCHAR"/>
        <result property="firstR" column="FIRSTR" jdbcType="VARCHAR"/>
        <result property="lastV" column="LASTV" jdbcType="VARCHAR"/>
        <result property="firstV" column="FIRSTV" jdbcType="VARCHAR"/>
        <result property="creator" column="CREATOR" jdbcType="VARCHAR"/>
        <result property="createTime" column="CREATETIME" jdbcType="VARCHAR"/>
        <result property="revisionSeq" column="REVISIONSEQ" jdbcType="INTEGER"/>
        <result property="revisionValue" column="REVISIONVALUE" jdbcType="VARCHAR"/>
        <result property="versionSeq" column="VERSIONSEQ" jdbcType="INTEGER"/>
        <result property="versionValue" column="VERSIONVALUE" jdbcType="VARCHAR"/>
        <result property="lctid" column="LCTID" jdbcType="VARCHAR"/>
        <result property="lcStatus" column="LCSTATUS" jdbcType="VARCHAR"/>
        <result property="ts" column="TS" jdbcType="VARCHAR"/>
        <result property="name" column="NAME" jdbcType="VARCHAR"/>
        <result property="description" column="DESCRIPTION" jdbcType="VARCHAR"/>
        <result property="owner" column="OWNER" jdbcType="VARCHAR"/>
        <result property="copyFromVersion" column="COPYFROMVERSION" jdbcType="VARCHAR"/>
        <id column="OID" property="oid"/>
        <result property="orderNum" column="ORDERNUM" jdbcType="INTEGER"/>
        <result property="field" column="FIELD" jdbcType="VARCHAR"/>
        <result property="title" column="TITLE" jdbcType="VARCHAR"/>
        <result property="fieldType" column="FIELDTYPE" jdbcType="VARCHAR"/>
        <result property="sort" column="SORT" jdbcType="VARCHAR"/>
        <result property="sortField" column="SORTFIELD" jdbcType="VARCHAR"/>
        <result property="attrSortField" column="ATTRSORTFIELD" jdbcType="VARCHAR"/>
        <result property="width" column="WIDTH" jdbcType="INTEGER"/>
        <result property="fixedText" column="FIXEDTEXT" jdbcType="VARCHAR"/>
        <result property="fixedPosition" column="FIXEDPOSITION" jdbcType="VARCHAR"/>
        <result property="templet" column="TEMPLET" jdbcType="VARCHAR"/>
        <result property="isQuery" column="ISQUERY" jdbcType="VARCHAR"/>
    </resultMap>
    <!--查询单个-->
    <select id="queryById" resultMap="PlCodeShowfieldconfigMap">
        select
          OID, REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, FIELD, TITLE, FIELDTYPE, SORT, SORTFIELD, WIDTH, FIXEDTEXT, TEMPLET
        from PL_CODE_SHOWFIELDCONFIG
        where OID = #{oid}
    </select>
    <!--查询指定行数据-->
    <select id="queryAllByLimit" resultMap="PlCodeShowfieldconfigMap">
        select
          OID, REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, FIELD, TITLE, FIELDTYPE, SORT, SORTFIELD, WIDTH, FIXEDTEXT, TEMPLET
        from PL_CODE_SHOWFIELDCONFIG
        <where>
            <if test="oid != null and oid != ''">
                and OID = #{oid}
            </if>
            <if test="revisionoid != null and revisionoid != ''">
                and REVISIONOID = #{revisionoid}
            </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="field != null and field != ''">
                and FIELD = #{field}
            </if>
            <if test="title != null and title != ''">
                and TITLE = #{title}
            </if>
            <if test="fieldtype != null and fieldtype != ''">
                and FIELDTYPE = #{fieldtype}
            </if>
            <if test="sort != null and sort != ''">
                and SORT = #{sort}
            </if>
            <if test="sortfield != null and sortfield != ''">
                and SORTFIELD = #{sortfield}
            </if>
            <if test="width != null">
                and WIDTH = #{width}
            </if>
            <if test="fixedtext != null and fixedtext != ''">
                and FIXEDTEXT = #{fixedtext}
            </if>
            <if test="templet != null and templet != ''">
                and TEMPLET = #{templet}
            </if>
        </where>
        limit #{pageable.offset}, #{pageable.pageSize}
    </select>
    <!--统计总行数-->
    <select id="count" resultType="java.lang.Long">
        select count(1)
        from PL_CODE_SHOWFIELDCONFIG
        <where>
            <if test="oid != null and oid != ''">
                and OID = #{oid}
            </if>
            <if test="revisionoid != null and revisionoid != ''">
                and REVISIONOID = #{revisionoid}
            </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="field != null and field != ''">
                and FIELD = #{field}
            </if>
            <if test="title != null and title != ''">
                and TITLE = #{title}
            </if>
            <if test="fieldtype != null and fieldtype != ''">
                and FIELDTYPE = #{fieldtype}
            </if>
            <if test="sort != null and sort != ''">
                and SORT = #{sort}
            </if>
            <if test="sortfield != null and sortfield != ''">
                and SORTFIELD = #{sortfield}
            </if>
            <if test="width != null">
                and WIDTH = #{width}
            </if>
            <if test="fixedtext != null and fixedtext != ''">
                and FIXEDTEXT = #{fixedtext}
            </if>
            <if test="templet != null and templet != ''">
                and TEMPLET = #{templet}
            </if>
        </where>
    </select>
    <!--新增所有列-->
    <insert id="insert" keyProperty="oid" useGeneratedKeys="true">
        insert into PL_CODE_SHOWFIELDCONFIG(REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, FIELD, TITLE, FIELDTYPE, SORT, SORTFIELD, WIDTH, FIXEDTEXT, TEMPLET)
        values (#{revisionoid}, #{nameoid}, #{btmname}, #{lastr}, #{firstr}, #{lastv}, #{firstv}, #{creator}, #{createtime}, #{revisionseq}, #{revisionvalue}, #{versionseq}, #{versionvalue}, #{lctid}, #{lcstatus}, #{ts}, #{name}, #{description}, #{owner}, #{copyfromversion}, #{ordernum}, #{field}, #{title}, #{fieldtype}, #{sort}, #{sortfield}, #{width}, #{fixedtext}, #{templet})
    </insert>
    <insert id="insertBatch" keyProperty="oid" useGeneratedKeys="true">
        insert into PL_CODE_SHOWFIELDCONFIG(REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, FIELD, TITLE, FIELDTYPE, SORT, SORTFIELD, WIDTH, FIXEDTEXT, TEMPLET)
        values
        <foreach collection="entities" item="entity" separator=",">
        (#{entity.revisionoid}, #{entity.nameoid}, #{entity.btmname}, #{entity.lastr}, #{entity.firstr}, #{entity.lastv}, #{entity.firstv}, #{entity.creator}, #{entity.createtime}, #{entity.revisionseq}, #{entity.revisionvalue}, #{entity.versionseq}, #{entity.versionvalue}, #{entity.lctid}, #{entity.lcstatus}, #{entity.ts}, #{entity.name}, #{entity.description}, #{entity.owner}, #{entity.copyfromversion}, #{entity.ordernum}, #{entity.field}, #{entity.title}, #{entity.fieldtype}, #{entity.sort}, #{entity.sortfield}, #{entity.width}, #{entity.fixedtext}, #{entity.templet})
        </foreach>
    </insert>
    <insert id="insertOrUpdateBatch" keyProperty="oid" useGeneratedKeys="true">
        insert into PL_CODE_SHOWFIELDCONFIG(REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, FIELD, TITLE, FIELDTYPE, SORT, SORTFIELD, WIDTH, FIXEDTEXT, TEMPLET)
        values
        <foreach collection="entities" item="entity" separator=",">
            (#{entity.revisionoid}, #{entity.nameoid}, #{entity.btmname}, #{entity.lastr}, #{entity.firstr}, #{entity.lastv}, #{entity.firstv}, #{entity.creator}, #{entity.createtime}, #{entity.revisionseq}, #{entity.revisionvalue}, #{entity.versionseq}, #{entity.versionvalue}, #{entity.lctid}, #{entity.lcstatus}, #{entity.ts}, #{entity.name}, #{entity.description}, #{entity.owner}, #{entity.copyfromversion}, #{entity.ordernum}, #{entity.field}, #{entity.title}, #{entity.fieldtype}, #{entity.sort}, #{entity.sortfield}, #{entity.width}, #{entity.fixedtext}, #{entity.templet})
        </foreach>
        on duplicate key update
        REVISIONOID = values(REVISIONOID),
        NAMEOID = values(NAMEOID),
        BTMNAME = values(BTMNAME),
        LASTR = values(LASTR),
        FIRSTR = values(FIRSTR),
        LASTV = values(LASTV),
        FIRSTV = values(FIRSTV),
        CREATOR = values(CREATOR),
        CREATETIME = values(CREATETIME),
        REVISIONSEQ = values(REVISIONSEQ),
        REVISIONVALUE = values(REVISIONVALUE),
        VERSIONSEQ = values(VERSIONSEQ),
        VERSIONVALUE = values(VERSIONVALUE),
        LCTID = values(LCTID),
        LCSTATUS = values(LCSTATUS),
        TS = values(TS),
        NAME = values(NAME),
        DESCRIPTION = values(DESCRIPTION),
        OWNER = values(OWNER),
        COPYFROMVERSION = values(COPYFROMVERSION),
        ORDERNUM = values(ORDERNUM),
        FIELD = values(FIELD),
        TITLE = values(TITLE),
        FIELDTYPE = values(FIELDTYPE),
        SORT = values(SORT),
        SORTFIELD = values(SORTFIELD),
        WIDTH = values(WIDTH),
        FIXEDTEXT = values(FIXEDTEXT),
        TEMPLET = values(TEMPLET)
    </insert>
    <!--通过主键修改数据-->
    <update id="update">
        update PL_CODE_SHOWFIELDCONFIG
        <set>
            <if test="revisionoid != null and revisionoid != ''">
                REVISIONOID = #{revisionoid},
            </if>
            <if test="nameoid != null and nameoid != ''">
                NAMEOID = #{nameoid},
            </if>
            <if test="btmname != null and btmname != ''">
                BTMNAME = #{btmname},
            </if>
            <if test="lastr != null and lastr != ''">
                LASTR = #{lastr},
            </if>
            <if test="firstr != null and firstr != ''">
                FIRSTR = #{firstr},
            </if>
            <if test="lastv != null and lastv != ''">
                LASTV = #{lastv},
            </if>
            <if test="firstv != null and firstv != ''">
                FIRSTV = #{firstv},
            </if>
            <if test="creator != null and creator != ''">
                CREATOR = #{creator},
            </if>
            <if test="createtime != null and createtime != ''">
                CREATETIME = #{createtime},
            </if>
            <if test="revisionseq != null">
                REVISIONSEQ = #{revisionseq},
            </if>
            <if test="revisionvalue != null and revisionvalue != ''">
                REVISIONVALUE = #{revisionvalue},
            </if>
            <if test="versionseq != null">
                VERSIONSEQ = #{versionseq},
            </if>
            <if test="versionvalue != null and versionvalue != ''">
                VERSIONVALUE = #{versionvalue},
            </if>
            <if test="lctid != null and lctid != ''">
                LCTID = #{lctid},
            </if>
            <if test="lcstatus != null and lcstatus != ''">
                LCSTATUS = #{lcstatus},
            </if>
            <if test="ts != null and ts != ''">
                TS = #{ts},
            </if>
            <if test="name != null and name != ''">
                NAME = #{name},
            </if>
            <if test="description != null and description != ''">
                DESCRIPTION = #{description},
            </if>
            <if test="owner != null and owner != ''">
                OWNER = #{owner},
            </if>
            <if test="copyfromversion != null and copyfromversion != ''">
                COPYFROMVERSION = #{copyfromversion},
            </if>
            <if test="ordernum != null">
                ORDERNUM = #{ordernum},
            </if>
            <if test="field != null and field != ''">
                FIELD = #{field},
            </if>
            <if test="title != null and title != ''">
                TITLE = #{title},
            </if>
            <if test="fieldtype != null and fieldtype != ''">
                FIELDTYPE = #{fieldtype},
            </if>
            <if test="sort != null and sort != ''">
                SORT = #{sort},
            </if>
            <if test="sortfield != null and sortfield != ''">
                SORTFIELD = #{sortfield},
            </if>
            <if test="width != null">
                WIDTH = #{width},
            </if>
            <if test="fixedtext != null and fixedtext != ''">
                FIXEDTEXT = #{fixedtext},
            </if>
            <if test="templet != null and templet != ''">
                TEMPLET = #{templet},
            </if>
        </set>
        where OID = #{oid}
    </update>
    <!--通过主键删除-->
    <delete id="deleteById">
        delete from PL_CODE_SHOWFIELDCONFIG where OID = #{oid}
    </delete>
</mapper>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeSrchCondConfigMapper.xml
@@ -3,340 +3,12 @@
<mapper namespace="com.vci.ubcs.code.mapper.CodeSrchCondConfigMapper">
    <resultMap type="com.vci.ubcs.code.entity.CodeSrchCondConfig" id="PlCodeSrchcondconfigMap">
        <result property="oid" column="OID" jdbcType="VARCHAR"/>
        <result property="revisionOid" column="REVISIONOID" jdbcType="VARCHAR"/>
        <result property="nameOid" column="NAMEOID" jdbcType="VARCHAR"/>
        <result property="btmname" column="BTMNAME" jdbcType="VARCHAR"/>
        <result property="lastR" column="LASTR" jdbcType="VARCHAR"/>
        <result property="firstR" column="FIRSTR" jdbcType="VARCHAR"/>
        <result property="lastV" column="LASTV" jdbcType="VARCHAR"/>
        <result property="firstV" column="FIRSTV" jdbcType="VARCHAR"/>
        <result property="creator" column="CREATOR" jdbcType="VARCHAR"/>
        <result property="createTime" column="CREATETIME" jdbcType="VARCHAR"/>
        <result property="revisionSeq" column="REVISIONSEQ" jdbcType="INTEGER"/>
        <result property="revisionValue" column="REVISIONVALUE" jdbcType="VARCHAR"/>
        <result property="versionSeq" column="VERSIONSEQ" jdbcType="INTEGER"/>
        <result property="versionValue" column="VERSIONVALUE" jdbcType="VARCHAR"/>
        <result property="lctid" column="LCTID" jdbcType="VARCHAR"/>
        <result property="lcStatus" column="LCSTATUS" jdbcType="VARCHAR"/>
        <result property="ts" column="TS" jdbcType="VARCHAR"/>
        <result property="name" column="NAME" jdbcType="VARCHAR"/>
        <result property="description" column="DESCRIPTION" jdbcType="VARCHAR"/>
        <result property="owner" column="OWNER" jdbcType="VARCHAR"/>
        <result property="copyFromVersion" column="COPYFROMVERSION" jdbcType="VARCHAR"/>
        <id column="OID" property="oid"/>
        <result property="orderNum" column="ORDERNUM" jdbcType="INTEGER"/>
        <result property="filterField" column="FILTERFIELD" jdbcType="VARCHAR"/>
        <result property="filterType" column="FILTERTYPE" jdbcType="VARCHAR"/>
        <result property="filterValue" column="FILTERVALUE" jdbcType="VARCHAR"/>
    </resultMap>
    <!--查询单个-->
    <select id="queryById" resultMap="PlCodeSrchcondconfigMap">
        select
          OID, REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, FILTERFIELD, FILTERTYPE, FILTERVALUE
        from PL_CODE_SRCHCONDCONFIG
        where OID = #{oid}
    </select>
    <!--查询指定行数据-->
    <select id="queryAllByLimit" resultMap="PlCodeSrchcondconfigMap">
        select
          OID, REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, FILTERFIELD, FILTERTYPE, FILTERVALUE
        from PL_CODE_SRCHCONDCONFIG
        <where>
            <if test="oid != null and oid != ''">
                and OID = #{oid}
            </if>
            <if test="revisionoid != null and revisionoid != ''">
                and REVISIONOID = #{revisionoid}
            </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="filterfield != null and filterfield != ''">
                and FILTERFIELD = #{filterfield}
            </if>
            <if test="filtertype != null and filtertype != ''">
                and FILTERTYPE = #{filtertype}
            </if>
            <if test="filtervalue != null and filtervalue != ''">
                and FILTERVALUE = #{filtervalue}
            </if>
        </where>
        limit #{pageable.offset}, #{pageable.pageSize}
    </select>
    <!--统计总行数-->
    <select id="count" resultType="java.lang.Long">
        select count(1)
        from PL_CODE_SRCHCONDCONFIG
        <where>
            <if test="oid != null and oid != ''">
                and OID = #{oid}
            </if>
            <if test="revisionoid != null and revisionoid != ''">
                and REVISIONOID = #{revisionoid}
            </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="filterfield != null and filterfield != ''">
                and FILTERFIELD = #{filterfield}
            </if>
            <if test="filtertype != null and filtertype != ''">
                and FILTERTYPE = #{filtertype}
            </if>
            <if test="filtervalue != null and filtervalue != ''">
                and FILTERVALUE = #{filtervalue}
            </if>
        </where>
    </select>
    <!--新增所有列-->
    <insert id="insert" keyProperty="oid" useGeneratedKeys="true">
        insert into PL_CODE_SRCHCONDCONFIG(REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, FILTERFIELD, FILTERTYPE, FILTERVALUE)
        values (#{revisionoid}, #{nameoid}, #{btmname}, #{lastr}, #{firstr}, #{lastv}, #{firstv}, #{creator}, #{createtime}, #{revisionseq}, #{revisionvalue}, #{versionseq}, #{versionvalue}, #{lctid}, #{lcstatus}, #{ts}, #{name}, #{description}, #{owner}, #{copyfromversion}, #{ordernum}, #{filterfield}, #{filtertype}, #{filtervalue})
    </insert>
    <insert id="insertBatch" keyProperty="oid" useGeneratedKeys="true">
        insert into PL_CODE_SRCHCONDCONFIG(REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, FILTERFIELD, FILTERTYPE, FILTERVALUE)
        values
        <foreach collection="entities" item="entity" separator=",">
        (#{entity.revisionoid}, #{entity.nameoid}, #{entity.btmname}, #{entity.lastr}, #{entity.firstr}, #{entity.lastv}, #{entity.firstv}, #{entity.creator}, #{entity.createtime}, #{entity.revisionseq}, #{entity.revisionvalue}, #{entity.versionseq}, #{entity.versionvalue}, #{entity.lctid}, #{entity.lcstatus}, #{entity.ts}, #{entity.name}, #{entity.description}, #{entity.owner}, #{entity.copyfromversion}, #{entity.ordernum}, #{entity.filterfield}, #{entity.filtertype}, #{entity.filtervalue})
        </foreach>
    </insert>
    <insert id="insertOrUpdateBatch" keyProperty="oid" useGeneratedKeys="true">
        insert into PL_CODE_SRCHCONDCONFIG(REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, FILTERFIELD, FILTERTYPE, FILTERVALUE)
        values
        <foreach collection="entities" item="entity" separator=",">
            (#{entity.revisionoid}, #{entity.nameoid}, #{entity.btmname}, #{entity.lastr}, #{entity.firstr}, #{entity.lastv}, #{entity.firstv}, #{entity.creator}, #{entity.createtime}, #{entity.revisionseq}, #{entity.revisionvalue}, #{entity.versionseq}, #{entity.versionvalue}, #{entity.lctid}, #{entity.lcstatus}, #{entity.ts}, #{entity.name}, #{entity.description}, #{entity.owner}, #{entity.copyfromversion}, #{entity.ordernum}, #{entity.filterfield}, #{entity.filtertype}, #{entity.filtervalue})
        </foreach>
        on duplicate key update
        REVISIONOID = values(REVISIONOID),
        NAMEOID = values(NAMEOID),
        BTMNAME = values(BTMNAME),
        LASTR = values(LASTR),
        FIRSTR = values(FIRSTR),
        LASTV = values(LASTV),
        FIRSTV = values(FIRSTV),
        CREATOR = values(CREATOR),
        CREATETIME = values(CREATETIME),
        REVISIONSEQ = values(REVISIONSEQ),
        REVISIONVALUE = values(REVISIONVALUE),
        VERSIONSEQ = values(VERSIONSEQ),
        VERSIONVALUE = values(VERSIONVALUE),
        LCTID = values(LCTID),
        LCSTATUS = values(LCSTATUS),
        TS = values(TS),
        NAME = values(NAME),
        DESCRIPTION = values(DESCRIPTION),
        OWNER = values(OWNER),
        COPYFROMVERSION = values(COPYFROMVERSION),
        ORDERNUM = values(ORDERNUM),
        FILTERFIELD = values(FILTERFIELD),
        FILTERTYPE = values(FILTERTYPE),
        FILTERVALUE = values(FILTERVALUE)
    </insert>
    <!--通过主键修改数据-->
    <update id="update">
        update PL_CODE_SRCHCONDCONFIG
        <set>
            <if test="revisionoid != null and revisionoid != ''">
                REVISIONOID = #{revisionoid},
            </if>
            <if test="nameoid != null and nameoid != ''">
                NAMEOID = #{nameoid},
            </if>
            <if test="btmname != null and btmname != ''">
                BTMNAME = #{btmname},
            </if>
            <if test="lastr != null and lastr != ''">
                LASTR = #{lastr},
            </if>
            <if test="firstr != null and firstr != ''">
                FIRSTR = #{firstr},
            </if>
            <if test="lastv != null and lastv != ''">
                LASTV = #{lastv},
            </if>
            <if test="firstv != null and firstv != ''">
                FIRSTV = #{firstv},
            </if>
            <if test="creator != null and creator != ''">
                CREATOR = #{creator},
            </if>
            <if test="createtime != null and createtime != ''">
                CREATETIME = #{createtime},
            </if>
            <if test="revisionseq != null">
                REVISIONSEQ = #{revisionseq},
            </if>
            <if test="revisionvalue != null and revisionvalue != ''">
                REVISIONVALUE = #{revisionvalue},
            </if>
            <if test="versionseq != null">
                VERSIONSEQ = #{versionseq},
            </if>
            <if test="versionvalue != null and versionvalue != ''">
                VERSIONVALUE = #{versionvalue},
            </if>
            <if test="lctid != null and lctid != ''">
                LCTID = #{lctid},
            </if>
            <if test="lcstatus != null and lcstatus != ''">
                LCSTATUS = #{lcstatus},
            </if>
            <if test="ts != null and ts != ''">
                TS = #{ts},
            </if>
            <if test="name != null and name != ''">
                NAME = #{name},
            </if>
            <if test="description != null and description != ''">
                DESCRIPTION = #{description},
            </if>
            <if test="owner != null and owner != ''">
                OWNER = #{owner},
            </if>
            <if test="copyfromversion != null and copyfromversion != ''">
                COPYFROMVERSION = #{copyfromversion},
            </if>
            <if test="ordernum != null">
                ORDERNUM = #{ordernum},
            </if>
            <if test="filterfield != null and filterfield != ''">
                FILTERFIELD = #{filterfield},
            </if>
            <if test="filtertype != null and filtertype != ''">
                FILTERTYPE = #{filtertype},
            </if>
            <if test="filtervalue != null and filtervalue != ''">
                FILTERVALUE = #{filtervalue},
            </if>
        </set>
        where OID = #{oid}
    </update>
    <!--通过主键删除-->
    <delete id="deleteById">
        delete from PL_CODE_SRCHCONDCONFIG where OID = #{oid}
    </delete>
</mapper>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
@@ -22,5 +22,19 @@
        ${inSql}
    </select>
    <insert id="insertByBaseModel" parameterType="java.util.Map">
        insert into ${tableName}
        (
        <foreach collection="columnMap" item="value" index="key" separator=",">
            ${key}
        </foreach>
        )
        <foreach collection="mapList" item="columnMap" separator=" union all ">
            select  <foreach collection="columnMap" item="value" index="key" separator=",">
                       #{value}
                    </foreach>
            from dual
        </foreach>
    </insert>
</mapper>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemConfigMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
<?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.DockingSystemConfigMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="plDockingLogResultMap" type="com.vci.ubcs.code.entity.DockingSystemConfig">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
        <result column="BTMNAME" property="btmname"/>
        <result column="LASTR" property="lastR"/>
        <result column="FIRSTR" property="firstR"/>
        <result column="LASTV" property="lastV"/>
        <result column="FIRSTV" property="firstV"/>
        <result column="CREATOR" property="creator"/>
        <result column="CREATETIME" property="createTime"/>
        <result column="LASTMODIFIER" property="lastModifier"/>
        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
        <result column="REVISIONRULE" property="revisionRule"/>
        <result column="VERSIONRULE" property="versionRule"/>
        <result column="REVISIONSEQ" property="revisionSeq"/>
        <result column="REVISIONVALUE" property="revisionValue"/>
        <result column="VERSIONSEQ" property="versionSeq"/>
        <result column="VERSIONVALUE" property="versionValue"/>
        <result column="LCTID" property="lctid"/>
        <result column="LCSTATUS" property="lcStatus"/>
        <result column="TS" property="ts"/>
        <result column="ID" property="id"/>
        <result column="NAME" property="name"/>
        <result column="DESCRIPTION" property="description"/>
        <result column="OWNER" property="owner"/>
        <result column="COPYFROMVERSION" property="copyFromVersion"/>
        <result column="AUTHORITYOID" property="authorityOid"/>
        <result column="INTERFACEFUNCTION" property="interfaceFunction"/>
        <result column="INTERFACETYPE" property="interfaceType"/>
        <result column="PARAMTYPE" property="paramType"/>
        <result column="REQUESTMETHOD" property="requestMethod"/>
        <result column="TYPE" property="pushType"/>
        <result column="CLASSIFYID" property="classifyId"/>
        <result column="CLASSIFYNAME" property="classifyName"/>
        <result column="PUSHTYPE" property="pushType"/>
        <result column="USEDFLAG" property="usedFlag"/>
        <result column="SYSBASEOID" property="sysBaseOid"/>
        <result column="SYSBASEID" property="sysBaseId"/>
        <result column="SYSBASENAME" property="sysBaseName"/>
        <result column="RETURNTYPE" property="returnType"/>
        <result column="REQUESTURL" property="requestUrl"/>
        <result column="SOURCESYSTEMOID" property="sourceSystemOid"/>
        <result column="SOURCESYSNAME" property="sourceSysName"/>
        <result column="SOURCESYSID" property="sourceSysId"/>
        <result column="TARGETSYSTEMOID" property="targetSystemOid"/>
        <result column="TARGETSYSNAME" property="targetSysName"/>
        <result column="TARGETSYSID" property="targetSysId"/>
        <result column="CLASSPATH" property="classPath"/>
        <result column="DATAFLOWTYPE" property="dataFlowType"/>
        <result column="BTMTYPEID" property="btmTypeId"/>
        <result column="BTMTYPENAME" property="btmTypeName"/>
        <result column="NAMESPACE" property="namespace"/>
        <result column="SOAPACTION" property="soapAction"/>
        <result column="CXFAXIS" property="cxfAxis"/>
    </resultMap>
</mapper>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
<?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.DockingSystemMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="plDockingLogResultMap" type="com.vci.ubcs.code.entity.DockingSystem">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
        <result column="BTMNAME" property="btmname"/>
        <result column="LASTR" property="lastR"/>
        <result column="FIRSTR" property="firstR"/>
        <result column="LASTV" property="lastV"/>
        <result column="FIRSTV" property="firstV"/>
        <result column="CREATOR" property="creator"/>
        <result column="CREATETIME" property="createTime"/>
        <result column="LASTMODIFIER" property="lastModifier"/>
        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
        <result column="REVISIONRULE" property="revisionRule"/>
        <result column="VERSIONRULE" property="versionRule"/>
        <result column="REVISIONSEQ" property="revisionSeq"/>
        <result column="REVISIONVALUE" property="revisionValue"/>
        <result column="VERSIONSEQ" property="versionSeq"/>
        <result column="VERSIONVALUE" property="versionValue"/>
        <result column="LCTID" property="lctid"/>
        <result column="LCSTATUS" property="lcStatus"/>
        <result column="TS" property="ts"/>
        <result column="ID" property="id"/>
        <result column="NAME" property="name"/>
        <result column="DESCRIPTION" property="description"/>
        <result column="OWNER" property="owner"/>
        <result column="COPYFROMVERSION" property="copyFromVersion"/>
    </resultMap>
</mapper>
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/AttributeWrapper.java
@@ -79,4 +79,5 @@
        attribute.setTs(now);
        return attribute;
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/EnumitemWrapper.java
@@ -54,6 +54,7 @@
        }
        return enumItemVO;
    }
    public List<EnumVO> listNodeVO(List<EnumItem> list) {
        List<EnumItem> collect = list.stream().map(omdEnumItem -> BeanUtil.copy(omdEnumItem, EnumItem.class)).collect(Collectors.toList());
        return ForestNodeMerger.merge((List)collect);
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
@@ -3,15 +3,15 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.feign.ICodeClassifyClient;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.code.webservice.service.*;
import com.vci.ubcs.code.webservice.vo.*;
import com.vci.ubcs.code.webservice.wrapper.DockingPreApplyFormWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
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;
@@ -62,7 +62,18 @@
    private final IDockingPreApplyFormService dockingPreApplyFormService;
    /***
     * å±žæ€§æžšä¸¾èŒƒå›´æœåŠ¡
     */
    private final IDockingPreViewModelService dockingPreViewModelService;
    /***
     * å±žæ€§æžšä¸¾èŒƒå›´æœåŠ¡
     */
    private final ICodeClassifyClient codeClassifyClient;
    /**
     * æ ¹æ®ä¸»æ•°æ®ç¼–码oid获取集团属性映射信息
@@ -122,12 +133,44 @@
    /**
     * å‚ç…§æ ‘ é›†å›¢åˆ†ç±»ï¼ˆæ˜¯å¦åŒ…含属性)
     * @param treeQueryObject æ ‘形查询对象 conditionMap å­˜ä¸Š codeclsfid=主数据的分类oid
     * @return ä¸»é¢˜åº“分类显示树
     * @return é›†å›¢åˆ†ç±»æ˜¾ç¤ºæ ‘
     */
    @GetMapping("/referTree")
    public List<Tree> referTree(TreeQueryObject treeQueryObject)  {
        return dockingPreClassifyService.treeCompanyGroupClassify(treeQueryObject);
    }
    /**
     * å‚ç…§æ ‘ ä¸»æ•°æ®æ¨¡æ¿å±žæ€§ä¿¡æ¯
     * @param classifyId ä¸»æ•°æ®åˆ†ç±»ä¸»é”®
     * @return ä¸»é¢˜åº“分类模板属性
     */
    @GetMapping("/listViewModelAttributeByClassId")
    public R listViewModelAttributeByClassId(String classifyId)  {
        return R.data(dockingPreViewModelService.selectDockingPreViewModelByClassId(classifyId,true));
    }
    /**
     * å‚ç…§æ ‘ ä¸»æ•°æ®åˆ†ç±»
     * @param treeQueryObject æ ‘形查询对象 conditionMap å­˜ä¸Š codeclsfid=主数据的分类oid
     * @return ä¸»é¢˜åº“分类显示树
     */
    @GetMapping("/referCodeClassifyTree")
    public List<Tree> referCodeClassifyTree(TreeQueryObject treeQueryObject)  {
        return codeClassifyClient.referCodeClassifyTree(treeQueryObject);
    }
    /**
     * å‚ç…§æ ‘ ä¸»æ•°æ®æ¨¡æ¿å±žæ€§ä¿¡æ¯
     * @param codeClassifyId ä¸»æ•°æ®åˆ†ç±»ä¸»é”®
     * @return ä¸»é¢˜åº“分类模板属性
     */
    @GetMapping("/listCodeAttributeByClassId")
    public R listCodeAttributeByClassId(String codeClassifyId)  {
        return R.data(codeClassifyClient.listCodeAttributeByClassId(codeClassifyId));
    }
    /***
     * ç”³è¯·é›†å›¢ç¼–码
@@ -144,4 +187,22 @@
            return R.fail("集团码申请失败:"+e.getMessage());
        }
    }
    /***
     * åŒæ­¥é›†å›¢æ¨¡åž‹è§†å›¾
     * @return è¿”回执行结果信息
     */
    @PostMapping( "/syncClassifyModel")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "同步集团模型视图", notes = "同步集团模型视图->all:同步集团主模型,one:同步集团模型详细信息")
    public R syncClassifyModel(String classifyId,String operationType){
        try {
            return groupMdmInterService.syncClassifyModel(classifyId,operationType);
        }catch (VciBaseException e){
            return R.fail("同步集团模型视图失败:"+e.getMessage());
        }
    }
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java
@@ -63,7 +63,6 @@
     * ä¸»æ•°æ®ä¸šåŠ¡æœåŠ¡
     */
    /**
     * èŽ·å–é›†å›¢é›†å›¢ç ï¼Œèµ‹å€¼åˆ°ä¸»æ•°æ®
     * @param dockingReturnStoreVO
@@ -206,7 +205,7 @@
                dockingPreClassify.setPid(pid);
                dockingPreClassify.setId(classNumber);
                dockingPreClassify.setNodeLink(nodeLink);
                dockingPreClassify.setGetNodeLinkName(nodeLinkName);
                dockingPreClassify.setNodeLinkName(nodeLinkName);
                dockingPreClassify.setClassName(className);
                dockingPreClassifyArrayList.add(dockingPreClassify);
                // èŽ·å–å¯¹åº”çš„åˆ†ç±»è§†å›¾æ¨¡åž‹
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrMappingService.java
@@ -4,6 +4,9 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrMapping;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrMappingVO;
import com.vci.ubcs.code.webservice.vo.DokingAttributeSerchVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import org.springblade.core.tool.api.R;
import java.util.List;
@@ -35,7 +38,17 @@
     */
    public  List<DockingPreAttrMappingVO> batchAddSave(List<DockingPreAttrMappingVO> dockingPreAttrMappingDTOS)throws Exception;
    /***
     *校验属性映射是否配置过
     * @param targetClassifyId
     *  @param sourceClassifyId
     * @return
     */
    boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId,String sourceClassifyId);
    boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId);
    /***
     * å±žæ€§æŸ¥è¯¢
     * @return
     */
    public R search(DokingAttributeSerchVO dokingAttributeSerchVO);
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IGroupMdmInterService.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.code.webservice.service;
import com.vci.ubcs.starter.exception.VciBaseException;
import org.springblade.core.tool.api.R;
/***
@@ -13,7 +14,7 @@
     * @param oids
     * @param btmName
     * @return è¿”回结果信息
     * @throws Exception
     * @throws Throwable
     */
    public R applyGroupCode(String oids, String btmName)throws Throwable;
@@ -36,13 +37,17 @@
    public R queryClassModel(String jtclsfId)throws Throwable;
    /***
     * æŸ¥è¯¢åˆ†ç±»è¯¦ç»†æ¨¡åž‹è§†å›¾
     * @param jtclsfId:集团分类oid
     * @return è¿”回结果信息
     * @throws Throwable
     */
    public R queryMdmModel()throws Throwable;
    /***
     *同步集团模型视图
     * @param classifyId
     * @param operationType
     * @return
     */
    R syncClassifyModel(String classifyId, String operationType)throws VciBaseException;
}
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -4,22 +4,24 @@
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.CodeClassify;
import com.vci.ubcs.code.feign.ICodeClassifyClient;
import com.vci.ubcs.code.webservice.entity.*;
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.service.*;
import com.vci.ubcs.code.webservice.vo.DokingAttributeSerchVO;
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.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -37,13 +39,16 @@
@Service
public class DockingPreAttrMappingServiceImpl extends ServiceImpl<DockingPreAttrMappingMapper, DockingPreAttrMapping> implements IDockingPreAttrMappingService {
    /***
     * é›†å›¢åˆ†ç±»å±žæ€§å±žæ€§æ˜ å°„配置服务
     */
    @Autowired(required = false)
    private DockingPreAttrMappingMapper dockingPreAttrMappingMapper;
    /***
     * ä¸»æ•°æ®åˆ†ç±»æœåŠ¡
     */
    @Autowired(required = true)
    private      ICodeClassifyClient codeClassifyClient;
    /***
     * ä¸šåŠ¡æ•°æ®å±žæ€§æœåŠ¡
@@ -63,8 +68,19 @@
    private IDockingPreAttrRangeService dockingPreAttrRangeService;
    /***
     * é›†å›¢åˆ†ç±»è§†å›¾æ¨¡åž‹æœåŠ¡
     */
    @Autowired(required = false)
    private IDockingPreViewModelService dockingPreViewModelService;
    /***
     * é›†å›¢å±žæ€§æœåŠ¡
     */
    @Autowired(required = false)
    @Lazy
    private IDockingPreClassifyService dockingPreClassifyService;
    /***
     * æ ¹æ®ä¸»æ•°æ®åˆ†ç±»ä¸»é”®èŽ·å–åˆ†ç±»ä¿¡æ¯é…ç½®
@@ -76,31 +92,40 @@
        VciBaseUtil.alertNotNull(codeClassifyId,"主数据分类主键");
        VciBaseUtil.alertNotNull(sourceClassifyId,"集团分类主键");
        //首先获取分类模板属性,然后与属性配置坐比较,以防被有增删属性的可能
        DockingPreClassify dockingPreClassify=dockingPreClassifyService.getById(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<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,sourceClassifyId));
        Map<String,DockingPreViewModel> dockingPreViewModelMap=dockingPreViewModelList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
        CodeClassify codeClassify= codeClassifyClient.getById(codeClassifyId);
        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);
                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreAttrMapping);
            }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("");//分类名称
                DockingPreViewModel dockingPreViewModel=new DockingPreViewModel();
                if(dockingPreViewModelMap.containsKey(dockingPreMetaAttr.getViewModelId())){
                    dockingPreViewModel=dockingPreViewModelMap.get(dockingPreMetaAttr.getViewModelId());
                }
                dockingPreAttrMapping.setSourceClassifyName(dockingPreClassify.getClassName());//分类名称
                dockingPreAttrMapping.setViewModeId(dockingPreMetaAttr.getViewModelId());//模型视图id
                dockingPreAttrMapping.setViewModelName("");//分类模型名称
                dockingPreAttrMapping.setViewName("");//分类模型名称
                dockingPreAttrMapping.setViewModelName(dockingPreViewModel.getName());//分类模型名称
                dockingPreAttrMapping.setViewName(dockingPreViewModel.getViewName());//分类模型名称
                dockingPreAttrMapping.setTargetClassifyId(codeClassifyId);
                dockingPreAttrMapping.setTargetClassifyName(codeClassify.getName());
            }
            newDockingPreAttrMappingList.add(dockingPreAttrMapping);
        });
        return     dockingPreAttrMappingDO2VOS(dockingPreAttrMappings,false);
        return     dockingPreAttrMappingDO2VOS(newDockingPreAttrMappingList,false);
    }
    /***
@@ -191,14 +216,15 @@
    /***
     * æ ¹æ®ä¸»æ•°æ®oid检测是否属性映射配置
     * @param targetClassifyId
     * @param sourceClassifyId
     * @return
     * @throws Exception
     */
    @Override
    public boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId){
    public boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId,String sourceClassifyId){
        Long count =0L;
        try {
            count = dockingPreAttrMappingMapper.selectCount(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, targetClassifyId));
            count = dockingPreAttrMappingMapper.selectCount(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, targetClassifyId).eq(DockingPreAttrMapping::getSourceClassifyId,sourceClassifyId));
        }catch (Throwable e){
            e.printStackTrace();;
        } finally {
@@ -206,6 +232,11 @@
        }
    }
    @Override
    public R search(DokingAttributeSerchVO dokingAttributeSerchVO) {
        return null;
    }
    /***
     * å¯¹è±¡è½¬æ¢
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java
@@ -19,10 +19,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.*;
/**
@@ -36,7 +33,7 @@
    /**
     * ä¸Šçº§èŠ‚ç‚¹çš„å±žæ€§åç§°
     */
    public static  final String PARENT_FIELD_NAME = "parentCodeClassifyOid";
    public static  final String PARENT_FIELD_NAME = "pid";
    /***
     * é›†å›¢åˆ†ç±»å±žæ€§
     */
@@ -70,35 +67,51 @@
    @Override
    public List<Tree> treeCompanyGroupClassify(TreeQueryObject treeQueryObject) {
        log.info("获取集团分类树start...");
        Map<String,String> conditionMap= treeQueryObject.getConditionMap();
        if(conditionMap==null){
            conditionMap=new HashMap<>();
        }
        TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME.toLowerCase(Locale.ROOT));
        treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
        List<DockingPreClassifyVO> dockingPreClassifyVOS= getCompanyGourpClassByParentId(treeQueryObject.getParentOid(),true);
        List<DockingPreClassifyVO> dockingPreClassifyVOS= getCompanyGourpClassByParentId(treeQueryObject.getParentOid(),false);
        List<Tree> tree= revisionModelUtil.doList2Trees(dockingPreClassifyVOS,treeWrapperOptions,(DockingPreClassifyVO s) ->{
            //可以在这里处理树节点的显示
            return s.getId() + " " + s.getName();//(FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s.getLcStatus()) ? (" ã€åœç”¨ã€‘ ") : "");
        });
        setTreeConig(tree,conditionMap);
        log.info("获取集团分类树end...");
        return tree;
    }
    private void setTreeConig(List<Tree> tree,Map<String,String >conditionMap){
        boolean checkHasChild=false;
        Iterator var6 =  tree.listIterator();
        while(var6.hasNext()){
            Tree trees = (Tree) var6.next();
            boolean checkHasChild=dockingPreClassifyMapper.checkHasChild(trees.getOid());
            List<Tree> childrenList=trees.getChildren();
            if(childrenList.size()>0){
                checkHasChild=true;
            }
            boolean checkHas=false;
            //如果与条件传过来的值匹配的上则设置为选中
            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);
                }
                checkHas = dockingPreAttrMappingService.checkHasConfigByTragetCodeclassifyId(codeClassifyId, trees.getOid());
            }
            ;
            if (checkHas) {
                trees.setChecked(true);
            }
            if(checkHasChild){
                trees.setLeaf(false);
            }else{
                trees.setLeaf(true);
            }
            if(checkHasChild) {
                setTreeConig(childrenList,conditionMap);
            }
        }
        log.info("获取集团分类树end...");
        return tree;
    }
    /***
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.vci.ubcs.code.feign.IMdmEngineClient;
import com.vci.ubcs.code.webservice.entity.*;
import com.vci.ubcs.code.webservice.vo.*;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
@@ -12,7 +13,6 @@
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;
@@ -23,7 +23,7 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.vci.ubcs.starter.revision.model.BaseModel;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -88,6 +88,9 @@
     */
    @Autowired(required = false)
    private IDockingPreMetaAttrService dockingPreMetaAttrService;
    @Autowired(required = false)
    private IMdmEngineClient mdmEngineClient;
    /***
     * ä¸»æ•°æ®åƒé›†å›¢ç”³è¯·ç¼–码
     * @param oids éœ€è¦ç”³è¯·çš„æ•°æ®ä¸»é”®æ•°ç»„
@@ -100,20 +103,19 @@
    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<>();
            R<List<BaseModel>> baseModelR =mdmEngineClient.selectByTypeAndOid(btmName,oids);
            List<BaseModel> dataModelList= baseModelR.getData();
            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>();
                Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>();
                //组织数据
                dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap);
                dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
                DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO);
                code = resultDataObject.getCode();
                msg = resultDataObject.getMsg();
@@ -161,13 +163,13 @@
                        }
                        //如果有集团码则更新数据
                        if (isEditDatas) {
                            if (baseModelVOMap.containsKey(applyId)) {
                                BaseModelVO baseModelVO = baseModelVOMap.get(applyId);
                                BaseModel baseModel = new BaseModel();
                                BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
                            if (baseModelMap.containsKey(applyId)) {
                                BaseModel baseModel = baseModelMap.get(applyId);
                                BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                baseModelVO.setId(customCoding);
                                //baseModel.setId(customCoding);
                                baseModel.getData().getOrDefault("groupCode",customCoding);
                                updateCbos.add(baseModel);//更新数据集团code
                            }
                        }
@@ -196,7 +198,7 @@
                }
                //保存表单数据
                dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
                //mdmEngineService.saveBatch(updateCbos);//保存数据
                mdmEngineClient.insertBatchByType(btmName,updateCbos);//保存数据
            }
            return R.success("申请接口调用成功");
        }catch (VciBaseException e){
@@ -219,16 +221,16 @@
        VciBaseUtil.alertNotNull(oids,"选择的数据");
        VciBaseUtil.alertNotNull(btmName,"业务类型");
        //List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids));
        List<BaseModelVO> dataModelList = new ArrayList<>();
        List<BaseModel> 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>();
                Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>();
                //组织数据
                dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap);
                dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
                DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveEditApply(dockingGroupDataVO);
                code = resultDataObject.getCode();
                msg = resultDataObject.getMsg();
@@ -276,13 +278,12 @@
                        }
                        //如果有集团码则更新数据
                        if (isEditDatas) {
                            if (baseModelVOMap.containsKey(applyId)) {
                                BaseModelVO baseModelVO = baseModelVOMap.get(applyId);
                                BaseModel baseModel = new BaseModel();
                                BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
                            if (baseModelMap.containsKey(applyId)) {
                                BaseModel baseModel = baseModelMap.get(applyId);
                                //BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                baseModelVO.setId(customCoding);
                            //    baseModel.setId(customCoding);
                                baseModel.getData().getOrDefault("groupCode",customCoding);
                                updateCbos.add(baseModel);//更新数据集团code
                            }
                        }
@@ -311,7 +312,7 @@
                }
                //保存表单数据
                dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
                //mdmEngineService.saveBatch(updateCbos);//保存数据
                mdmEngineClient.insertBatchByType(btmName,updateCbos);//保存数据
            }
            return R.success("申请接口调用成功");
        }catch (VciBaseException e){
@@ -326,7 +327,7 @@
     * @throws VciBaseException
     */
    @Override
    public R queryClassModel(String groupClassifyId) throws VciBaseException {
    public R queryClassModel(String groupClassifyId) throws Throwable {
        log.info("获取集团模型详细信息执行保存start");
        String message="执行成功!";
        try {
@@ -383,6 +384,7 @@
                log.info(message);
                throw new Throwable(message);
            }
            DockingModelQueryVO dockingModelQueryVO = new DockingModelQueryVO();
            dockingModelQueryVO.setSysName(dockingApplySysName);
            DockingQueryModelVO dockingQueryModelVO=  mdmApplyGroupCodeProvider.queryMdmModel(dockingModelQueryVO);
@@ -419,7 +421,7 @@
                        dockingPreClassify.setPid(pid);
                        dockingPreClassify.setId(classNumber);
                        dockingPreClassify.setNodeLink(nodeLink);
                        dockingPreClassify.setGetNodeLinkName(nodeLinkName);
                        dockingPreClassify.setNodeLinkName(nodeLinkName);
                        dockingPreClassify.setClassName(className);
                        dockingPreClassify.setVersionValue(version);
                        dockingPreClassifyList.add(dockingPreClassify);
@@ -450,6 +452,57 @@
        return R.success(message);
    }
    /***
     * æŸ¥è¯¢ç”³è¯·å•状态
     * @param dataOids
     * @return æ‰§è¡Œç»“æžœ
     */
    public R queryApplyState(String dataOids) {
        String message="执行成功!";
        log.info("查询申请单状态接口statr");
        try {
            VciBaseUtil.alertNotNull(dataOids,"所查申请单数据主键");
            VciBaseUtil.alertNotNull(dockingApplySysName,"系统标识配置:docking.apply.unitCode");
            List<DockingPreApplyForm> dockingPreApplyFormList=    this.dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().in(DockingPreApplyForm::getDataOid, VciBaseUtil.str2List(dataOids)));
            dockingPreApplyFormList.stream().forEach(dockingPreApplyForm -> {
                dockingPreApplyForm.getId();
            });
        }catch (Throwable e){
            e.printStackTrace();;
            log.error("获取数据模型失败"+e);
            R.fail(message);
        }
        log.info("查询申请单状态接口end");
        return R.success(message);
    }
    /***
     * åŒæ­¥é›†å›¢æ¨¡åž‹ä¿¡æ¯
     * @param classifyId
     * @param operationType
     * @return è¿”回执行结果
     * @throws VciBaseException
     */
    @Override
    public R syncClassifyModel(String classifyId, String operationType) throws VciBaseException {
        VciBaseUtil.alertNotNull(operationType,"集成操作类型");
        try {
            if(operationType.equals("all")){
                return    queryMdmModel();
            }else{
                VciBaseUtil.alertNotNull(classifyId,"集团分类主键");
                return queryClassModel(classifyId);
            }
        } catch (Throwable e) {
            throw  new VciBaseException(e.getMessage());
        }
    }
    /***
     * ç»„织 ä¿å­˜æ•°æ®æ–¹æ³•
@@ -492,7 +545,7 @@
                dockingPreClassify.setPid(pid);
                dockingPreClassify.setId(classNumber);
                dockingPreClassify.setNodeLink(nodeLink);
                dockingPreClassify.setGetNodeLinkName(nodeLinkName);
                dockingPreClassify.setNodeLinkName(nodeLinkName);
                dockingPreClassify.setClassName(className);
                dockingPreClassifyArrayList.add(dockingPreClassify);
                // èŽ·å–å¯¹åº”çš„åˆ†ç±»è§†å›¾æ¨¡åž‹
@@ -688,12 +741,12 @@
    /**
     * ç»„织数据
     * */
    private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModelVO> codeWupins,Map<String,DockingPreApplyForm>   addDockingPreApplyFormMap,Map<String,DockingPreApplyForm>  editDockingPreApplyFormMap,Map<String,BaseModelVO>  codeWupinMap) throws VciBaseException{
    private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModel>  codeWupins,Map<String,DockingPreApplyForm>   addDockingPreApplyFormMap,Map<String,DockingPreApplyForm>  editDockingPreApplyFormMap,Map<String,BaseModel>  codeWupinMap) throws VciBaseException{
        try {
            String curUserName = AuthUtil.getUser().getUserName();
            //申请的数据
            List<DockingMainData> mainDataList=new ArrayList<DockingMainData>();
            for (BaseModelVO dataBusinessObject : codeWupins) {
            for (BaseModel dataBusinessObject : codeWupins) {
                String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
                String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid","");
                String btmName = dataBusinessObject.getBtmname();
@@ -734,7 +787,7 @@
                DockingMainData mainData = new DockingMainData();
                mainData.setApplyEntId(dockingApplyUnitCode);//申请单位代码
                mainData.setApplyId(apllyCode);//申请单号
                mainData.setClassName(dockingPreClassify.getGetNodeLinkName());//分类名称
                mainData.setClassName(dockingPreClassify.getNodeLinkName());//分类名称
                mainData.setCreateBy(curUserName);//
                mainData.setSecretLevel("内部");//密级,默认为内部
                mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//获取视图模型
@@ -757,7 +810,7 @@
     * @param dataBusinessObject
     * @throws VciBaseException
     */
    private List<DockingViewVO>getviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModelVO dataBusinessObject) throws Throwable{
    private List<DockingViewVO>getviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModel dataBusinessObject) throws Throwable{
        List<DockingViewVO> viewInfoList=new ArrayList<>();
        String jclassOid=    dockingPreClassify.getOid();
        List<DockingPreViewModel> dockingPreViewModels=new ArrayList<>();
@@ -786,16 +839,13 @@
     * @return
     * @throws VciBaseException
     */
    private List<Map<String, Object>> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModelVO dataBusinessObject) throws Throwable{
    private List<Map<String, Object>> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModel 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)) {
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml
@@ -31,7 +31,7 @@
        <result column="COPYFROMVERSION" property="copyFromVersion"/>
        <result column="CLASSNAME" property="className"/>
        <result column="NODELINK" property="nodeLink"/>
        <result column="NODELINKNAME" property="getNodeLinkName"/>
        <result column="NODELINKNAME" property="nodeLinkName"/>
        <result column="PID" property="pid"/>
    </resultMap>
    <select id="selectCompanyGroupClassifyVOByTree" resultMap="plDockingClassifyResultMap">
@@ -67,14 +67,16 @@
        codeclassify0.NODELINKNAME   as nodelinkname,
        codeclassify0.PID   as pid
        from PL_CODE_JCLASSIFY codeclassify0
        <where>
            <if test="oid != null and oid != ''">
                codeclassify0.pid = '${oid}'
        start with
        <!--<where>-->
            <if test="oid != null">
                    codeclassify0.pid = '${oid}'
            </if>
            <if test="oid = null">
             <if test="oid == null ">
                codeclassify0.pid is null
            </if>
        </where>
        <!--</where>-->
        connect by prior codeclassify0.oid =codeclassify0.pid
        order by id asc
    </select>
Source/data/applogs/xxl-job/xxl-job-admin.log
ÎļþÌ«´ó
Source/data/applogs/xxl-job/xxl-job-admin.log.2023-05-26.zip
Binary files differ
Source/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log
@@ -1,96 +1,93 @@
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
2023-05-30 18:40:10,251 INFO [background-preinit] o.h.validator.internal.util.Version [Version.java : 21] HV000001: Hibernate Validator 6.2.3.Final
2023-05-30 18:40:11,223 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-30 18:40:11,224 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-30 18:40:16,558 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-30 18:40:16,568 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-30 18:40:16,576 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-30 18:40:16,579 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-30 18:40:16,616 INFO [main] c.v.ubcs.job.executor.JobApplication [SpringApplication.java : 640] The following 1 profile is active: "dev"
2023-05-30 18:40:18,929 INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java : 262] Multiple Spring Data modules found, entering strict repository configuration mode
2023-05-30 18:40:18,932 INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java : 132] Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2023-05-30 18:40:18,971 INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate [RepositoryConfigurationDelegate.java : 201] Finished Spring Data repository scanning in 11 ms. Found 0 Redis repository interfaces.
2023-05-30 18:40:19,425 INFO [main] o.s.cloud.context.scope.GenericScope [GenericScope.java : 283] BeanFactory id=8a87525c-4e09-336f-9e65-667cebc7cd92
2023-05-30 18:40:19,434 INFO [main] o.s.c.l.p.BladePropertySourcePostProcessor [BladePropertySourcePostProcessor.java : 150] BladePropertySourcePostProcessor init.
2023-05-30 18:40:19,459 INFO [main] o.s.c.l.p.BladePropertySourcePostProcessor [BladePropertySourcePostProcessor.java : 62] BladePropertySourcePostProcessor process @BladePropertySource bean.
2023-05-30 18:40:19,520 WARN [main] o.s.c.l.p.BladePropertySourcePostProcessor [BladePropertySourcePostProcessor.java : 67] Not found @BladePropertySource on spring bean class.
2023-05-30 18:40:19,888 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-30 18:40:19,893 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-30 18:40:19,895 INFO [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [PostProcessorRegistrationDelegate.java : 376] Bean 'loadBalancerClientsDefaultsMappingsProvider' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration$$Lambda$490/425842522] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-05-30 18:40:19,899 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-30 18:40:19,962 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-30 18:40:19,970 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-30 18:40:20,334 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-30 18:40:20,380 INFO [main] io.undertow.servlet [ServletContextImpl.java : 382] Initializing Spring embedded WebApplicationContext
2023-05-30 18:40:20,381 INFO [main] o.s.b.w.s.c.ServletWebServerApplicationContext [ServletWebServerApplicationContext.java : 292] Root WebApplicationContext: initialization completed in 3723 ms
2023-05-30 18:40:20,880 INFO [main] c.v.u.j.executor.config.XxlJobConfig [XxlJobConfig.java : 43] >>>>>>>>>>> xxl-job config init.
2023-05-30 18:40:20,902 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@111a7973[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#demoJobHandler]
2023-05-30 18:40:20,903 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@1a2773a8[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#httpJobHandler]
2023-05-30 18:40:20,903 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@78b0ec3a[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#demoJobHandler2]
2023-05-30 18:40:20,903 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@46612bfc[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#shardingJobHandler]
2023-05-30 18:40:20,903 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@4f213a2[class com.vci.ubcs.job.executor.jobhandler.SampleXxlJob#commandJobHandler]
2023-05-30 18:40:21,573 INFO [main] c.a.c.s.SentinelWebMvcConfigurer [SentinelWebMvcConfigurer.java : 52] [Sentinel Starter] register SentinelWebInterceptor with urlPatterns: [/**].
2023-05-30 18:40:21,682 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-30 18:40:21,683 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-30 18:40:21,684 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-30 18:40:24,382 INFO [main] com.alibaba.nacos.client.naming [InitUtils.java : 62] initializer namespace from System Property : null
2023-05-30 18:40:24,385 INFO [main] com.alibaba.nacos.client.naming [InitUtils.java : 66] initializer namespace from System Environment :null
2023-05-30 18:40:24,388 INFO [main] com.alibaba.nacos.client.naming [InitUtils.java : 73] initializer namespace from System Property :null
2023-05-30 18:40:24,418 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-30 18:40:24,420 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-30 18:40:24,440 INFO [main] c.alibaba.nacos.common.remote.client [RpcClientFactory.java : 95] [RpcClientFactory] create a new rpc client of 8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9
2023-05-30 18:40:24,441 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] RpcClient init label, labels = {module=naming, source=sdk}
2023-05-30 18:40:24,448 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] RpcClient init, ServerListFactory = com.alibaba.nacos.client.naming.core.ServerListManager
2023-05-30 18:40:24,449 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] Registry connection listener to current client:com.alibaba.nacos.client.naming.remote.gprc.redo.NamingGrpcRedoService
2023-05-30 18:40:24,451 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] Register server push request handler:com.alibaba.nacos.client.naming.remote.gprc.NamingPushRequestHandler
2023-05-30 18:40:24,452 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] Try to connect to server on start up, server: {serverIp = '127.0.0.1', server main port = 8848}
2023-05-30 18:40:24,593 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] Success to connect to server [127.0.0.1:8848] on start up, connectionId = 1685443224475_127.0.0.1_63184
2023-05-30 18:40:24,596 INFO [com.alibaba.nacos.client.remote.worker] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] Notify connected event to listeners.
2023-05-30 18:40:24,596 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$ConnectResetRequestHandler
2023-05-30 18:40:24,601 INFO [com.alibaba.nacos.client.remote.worker] com.alibaba.nacos.client.naming [NamingGrpcRedoService.java : 76] Grpc connection connect
2023-05-30 18:40:24,602 INFO [main] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$$Lambda$376/700837405
2023-05-30 18:40:25,034 INFO [main] o.s.b.a.e.web.EndpointLinksResolver [EndpointLinksResolver.java : 58] Exposing 20 endpoint(s) beneath base path '/actuator'
2023-05-30 18:40:27,551 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-30 18:40:29,465 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-30 18:40:29,562 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-30 18:40:30,731 INFO [main] com.alibaba.nacos.client.naming [NamingClientProxyDelegate.java : 141] [SUBSCRIBE-SERVICE] service:ubcs-xxljob, group:DEFAULT_GROUP, clusters:DEFAULT
2023-05-30 18:40:30,761 INFO [main] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 181] init new ips(0) service: DEFAULT_GROUP@@ubcs-xxljob@@DEFAULT -> []
2023-05-30 18:40:30,784 INFO [main] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 166] current ips:(0) service: DEFAULT_GROUP@@ubcs-xxljob@@DEFAULT -> []
2023-05-30 18:40:30,794 INFO [Thread-51] 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-30 18:40:30,822 INFO [main] io.undertow [Undertow.java : 120] starting server: Undertow - 2.2.18.Final
2023-05-30 18:40:30,844 INFO [main] org.xnio [Xnio.java : 95] XNIO version 3.8.7.Final
2023-05-30 18:40:30,881 INFO [main] org.xnio.nio [NioXnio.java : 58] XNIO NIO Implementation Version 3.8.7.Final
2023-05-30 18:40:31,028 INFO [main] org.jboss.threads [Version.java : 52] JBoss Threads version 3.1.0.Final
2023-05-30 18:40:31,159 INFO [main] o.s.b.w.e.undertow.UndertowWebServer [UndertowWebServer.java : 119] Undertow started on port(s) 36009 (http)
2023-05-30 18:40:31,170 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-30 18:40:31,187 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-30 18:40:31,336 INFO [nacos-grpc-client-executor-127.0.0.1-10] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] Receive server push request, request = NotifySubscriberRequest, requestId = 1587
2023-05-30 18:40:31,343 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"},"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000,"ipDeleteTimeout":30000}]
2023-05-30 18:40:31,344 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"},"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000,"ipDeleteTimeout":30000}]
2023-05-30 18:40:31,346 INFO [nacos-grpc-client-executor-127.0.0.1-10] c.alibaba.nacos.common.remote.client [LoggerUtils.java : 60] [8db2c736-5dfa-4c32-b8c9-fa6c3ddacbb9] Ack server push request, request = NotifySubscriberRequest, requestId = 1587
2023-05-30 18:40:31,760 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"},"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000,"ipDeleteTimeout":30000}]
2023-05-30 18:40:31,762 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"},"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000,"ipDeleteTimeout":30000}]
2023-05-30 18:40:32,070 INFO [main] o.s.core.launch.StartEventListener [StartEventListener.java : 45] ---[UBCS-XXLJOB]---启动完成,当前使用的端口:[36009],环境变量:[dev]---
2023-05-30 18:40:32,098 INFO [main] c.v.ubcs.job.executor.JobApplication [StartupInfoLogger.java : 61] Started JobApplication in 23.74 seconds (JVM running for 26.324)
2023-05-30 18:40:32,110 INFO [main] c.a.n.client.config.impl.CacheData [CacheData.java : 65] nacos.cache.data.init.snapshot = true
2023-05-30 18:40:32,113 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-30 18:40:32,115 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-30 18:40:32,116 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-dev.yaml, group=DEFAULT_GROUP
2023-05-30 18:40:32,117 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-30 18:40:32,117 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-30 18:40:32,118 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-xxljob, group=DEFAULT_GROUP
2023-05-30 18:40:32,120 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-30 18:40:32,120 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-30 18:40:32,121 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs.yaml, group=DEFAULT_GROUP
2023-05-30 18:40:32,122 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-30 18:40:32,122 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-30 18:40:32,122 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-xxljob.yaml, group=DEFAULT_GROUP
2023-05-30 18:40:32,123 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-30 18:40:32,124 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-30 18:40:32,124 INFO [main] c.a.c.n.r.NacosContextRefresher [NacosContextRefresher.java : 105] listening config: dataId=ubcs-xxljob-dev.yaml, group=DEFAULT_GROUP
2023-05-30 18:40:32,857 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)
@@ -114,8 +111,11 @@
    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 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
2023-05-30 18:40:32,858 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-30 18:40:32,936 INFO [RMI TCP Connection(5)-192.168.1.46] io.undertow.servlet [ServletContextImpl.java : 382] Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-05-30 18:40:32,936 INFO [RMI TCP Connection(5)-192.168.1.46] o.s.web.servlet.DispatcherServlet [FrameworkServlet.java : 525] Initializing Servlet 'dispatcherServlet'
2023-05-30 18:40:32,940 INFO [RMI TCP Connection(5)-192.168.1.46] o.s.web.servlet.DispatcherServlet [FrameworkServlet.java : 547] Completed initialization in 4 ms
2023-05-30 18:41:04,927 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)
@@ -139,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-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
2023-05-30 18:41:04,928 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-30 18:41:36,978 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)
@@ -164,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-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
2023-05-30 18:41:36,979 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-30 18:42:09,008 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)
@@ -189,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-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
2023-05-30 18:42:09,008 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-30 18:42:41,038 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)
@@ -214,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-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
2023-05-30 18:42:41,038 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-30 18:43:13,081 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)
@@ -239,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-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
2023-05-30 18:43:13,179 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-30 18:43:45,242 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)
@@ -264,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-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
2023-05-30 18:43:45,243 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-30 18:44:17,289 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)
@@ -289,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-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
2023-05-30 18:44:17,290 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-30 18:44:49,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)
@@ -314,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-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
2023-05-30 18:44:49,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-30 18:45:21,341 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)
@@ -339,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-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
2023-05-30 18:45:21,341 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-30 18:45:53,370 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)
@@ -364,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-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
2023-05-30 18:45:53,371 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-30 18:46:25,389 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)
@@ -389,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-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
2023-05-30 18:46:25,389 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-30 18:46:57,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)
@@ -414,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-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
2023-05-30 18:46:57,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-30 18:47:29,468 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)
@@ -439,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-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
2023-05-30 18:47:29,469 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-30 18:48:01,505 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)
@@ -464,8 +464,12 @@
    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 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
2023-05-30 18:48:01,508 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-30 18:48:33,522 WARN [Thread-2] c.a.n.c.http.HttpClientBeanHolder [HttpClientBeanHolder.java : 108] [HttpClientBeanHolder] Start destroying common HttpClient
2023-05-30 18:48:33,523 WARN [Thread-8] c.a.nacos.common.notify.NotifyCenter [NotifyCenter.java : 136] [NotifyCenter] Start destroying Publisher
2023-05-30 18:48:33,524 WARN [Thread-8] c.a.nacos.common.notify.NotifyCenter [NotifyCenter.java : 153] [NotifyCenter] Destruction of the end
2023-05-30 18:48:33,549 WARN [Thread-2] c.a.n.c.http.HttpClientBeanHolder [HttpClientBeanHolder.java : 114] [HttpClientBeanHolder] Destruction of the end
2023-05-30 18:48:33,546 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)
@@ -489,714 +493,10 @@
    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 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)
    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 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)
    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 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)
    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 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)
    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 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)
    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 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)
    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: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)
    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: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)
    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: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)
    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: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)
    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: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)
    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: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)
    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: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)
    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: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}
2023-05-30 18:48:33,549 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-30 18:48:33,720 INFO [SpringApplicationShutdownHook] io.undertow [Undertow.java : 259] stopping server: Undertow - 2.2.18.Final
2023-05-30 18:48:33,775 INFO [SpringApplicationShutdownHook] io.undertow.servlet [ServletContextImpl.java : 382] Destroying Spring FrameworkServlet 'dispatcherServlet'
2023-05-30 18:48:33,788 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)
@@ -1220,98 +520,8 @@
    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-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
2023-05-30 18:48:33,796 INFO [Thread-51] com.xxl.rpc.remoting.net.Server [NettyHttpServer.java : 74] >>>>>>>>>>> xxl-rpc remoting server stop.
2023-05-30 18:48:35,829 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)
@@ -1332,818 +542,39 @@
    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 com.xxl.job.core.biz.client.AdminBizClient.registryRemove(AdminBizClient.java:46)
    at com.xxl.job.core.thread.ExecutorRegistryThread$1.run(ExecutorRegistryThread.java:84)
    at java.lang.Thread.run(Thread.java:748)
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
2023-05-30 18:48:35,831 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-30 18:48:35,831 INFO [xxl-job, executor ExecutorRegistryThread] c.x.j.c.t.ExecutorRegistryThread [ExecutorRegistryThread.java : 105] >>>>>>>>>>> xxl-job, executor registry thread destory.
2023-05-30 18:48:35,831 INFO [SpringApplicationShutdownHook] com.xxl.rpc.remoting.net.Server [NettyHttpServer.java : 110] >>>>>>>>>>> xxl-rpc remoting server destroy success.
2023-05-30 18:48:35,832 INFO [xxl-job, executor TriggerCallbackThread] c.x.j.c.thread.TriggerCallbackThread [TriggerCallbackThread.java : 96] >>>>>>>>>>> xxl-job, executor callback thread destory.
2023-05-30 18:48:35,832 INFO [Thread-50] c.x.j.c.thread.TriggerCallbackThread [TriggerCallbackThread.java : 126] >>>>>>>>>>> xxl-job, executor retry callback thread destory.
2023-05-30 18:48:35,846 INFO [SpringApplicationShutdownHook] c.a.c.n.r.NacosServiceRegistry [NacosServiceRegistry.java : 94] De-registering from Nacos Server now...
2023-05-30 18:48:35,848 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-30 18:48:35,849 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 255] com.alibaba.nacos.client.naming.cache.ServiceInfoHolder do shutdown begin
2023-05-30 18:48:35,849 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [FailoverReactor.java : 140] com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown begin
2023-05-30 18:48:35,850 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [FailoverReactor.java : 142] com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown stop
2023-05-30 18:48:35,850 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServiceInfoHolder.java : 257] com.alibaba.nacos.client.naming.cache.ServiceInfoHolder do shutdown stop
2023-05-30 18:48:35,850 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingClientProxyDelegate.java : 182] com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate do shutdown begin
2023-05-30 18:48:35,850 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServiceInfoUpdateService.java : 130] com.alibaba.nacos.client.naming.core.ServiceInfoUpdateService do shutdown begin
2023-05-30 18:48:36,172 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServiceInfoUpdateService.java : 132] com.alibaba.nacos.client.naming.core.ServiceInfoUpdateService do shutdown stop
2023-05-30 18:48:36,172 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServerListManager.java : 192] com.alibaba.nacos.client.naming.core.ServerListManager do shutdown begin
2023-05-30 18:48:36,173 WARN [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientManager.java : 74] [NamingHttpClientManager] Start destroying NacosRestTemplate
2023-05-30 18:48:36,173 WARN [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientManager.java : 81] [NamingHttpClientManager] Destruction of the end
2023-05-30 18:48:36,173 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [ServerListManager.java : 197] com.alibaba.nacos.client.naming.core.ServerListManager do shutdown stop
2023-05-30 18:48:36,173 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientProxy.java : 527] com.alibaba.nacos.client.naming.remote.http.NamingHttpClientProxy do shutdown begin
2023-05-30 18:48:36,173 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [BeatReactor.java : 162] com.alibaba.nacos.client.naming.beat.BeatReactor do shutdown begin
2023-05-30 18:48:36,173 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [BeatReactor.java : 164] com.alibaba.nacos.client.naming.beat.BeatReactor do shutdown stop
2023-05-30 18:48:36,173 WARN [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientManager.java : 74] [NamingHttpClientManager] Start destroying NacosRestTemplate
2023-05-30 18:48:36,173 WARN [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientManager.java : 81] [NamingHttpClientManager] Destruction of the end
2023-05-30 18:48:36,174 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingHttpClientProxy.java : 530] com.alibaba.nacos.client.naming.remote.http.NamingHttpClientProxy do shutdown stop
2023-05-30 18:48:36,174 INFO [SpringApplicationShutdownHook] c.alibaba.nacos.common.remote.client [RpcClient.java : 453] Shutdown rpc client, set status to shutdown
2023-05-30 18:48:36,175 INFO [SpringApplicationShutdownHook] c.alibaba.nacos.common.remote.client [RpcClient.java : 455] Shutdown client event executor java.util.concurrent.ScheduledThreadPoolExecutor@65207516[Running, pool size = 2, active threads = 2, queued tasks = 0, completed tasks = 0]
2023-05-30 18:48:36,175 INFO [SpringApplicationShutdownHook] c.alibaba.nacos.common.remote.client [RpcClient.java : 592] Close current connection 1685443224475_127.0.0.1_63184
2023-05-30 18:48:36,176 INFO [nacos-grpc-client-executor-127.0.0.1-129] c.a.n.c.r.client.grpc.GrpcClient [LoggerUtils.java : 60] [1685443224475_127.0.0.1_63184]Ignore complete event,isRunning:false,isAbandon=false
2023-05-30 18:48:36,183 INFO [SpringApplicationShutdownHook] c.a.n.c.r.client.grpc.GrpcClient [GrpcClient.java : 129] Shutdown grpc executor java.util.concurrent.ThreadPoolExecutor@16633451[Running, pool size = 3, active threads = 0, queued tasks = 0, completed tasks = 130]
2023-05-30 18:48:36,183 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingGrpcRedoService.java : 267] Shutdown grpc redo service executor java.util.concurrent.ScheduledThreadPoolExecutor@427b75af[Running, pool size = 1, active threads = 0, queued tasks = 1, completed tasks = 163]
2023-05-30 18:48:36,184 INFO [SpringApplicationShutdownHook] c.a.n.c.a.r.i.CredentialWatcher [CredentialWatcher.java : 105] [null] CredentialWatcher is stopped
2023-05-30 18:48:36,184 INFO [SpringApplicationShutdownHook] c.a.n.c.a.r.i.CredentialService [CredentialService.java : 99] [null] CredentialService is freed
2023-05-30 18:48:36,184 INFO [SpringApplicationShutdownHook] com.alibaba.nacos.client.naming [NamingClientProxyDelegate.java : 189] com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate do shutdown stop
Source/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log.2023-05-26.zip
Binary files differ