lihang
2023-04-25 3fade6d3b27f5666672bb3af610020367f790bda
业务类型相关以及BaseUtil转移
已修改10个文件
已删除4个文件
已重命名53个文件
已添加81个文件
12211 ■■■■ 文件已修改
Source/UBCS/ubcs-common/src/main/java/com/vci/ubcs/common/constant/LauncherConstant.java 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/pom.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/util/VciBaseUtil.java 1101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/enumpck/BaseEnum.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-ddl-api/pom.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlTableBO.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlTableInDataBaseBO.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/enums/DataBaseEnum.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/properties/DdlExportWordFieldProperties.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/properties/DdlPropertise.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/OmdBtmTypeCache.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/OmdBtmTypeConstant.java 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/OmdCacheConstant.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OmdBtmTypeDTO.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OmdBtmTypeLinkAttributesDTO.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsBtmTypeExportDTO.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsEnumDTO.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsLifeCycleDTO.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsLifeCycleLineDTO.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsLifeCycleLineEventDTO.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsLinkTypeDTO.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsRevisionRuleDTO.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsStatusDTO.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdAttribute.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdBtmType.java 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdBtmTypeAttribute.java 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLifeCycleEventDO.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLifeCycleLineDO.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLifeCycleLineEventDO.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLifeCycleRuleDO.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLinkTypeAttributeDO.java 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLinkTypeDO.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsModifyAttributeInfoDO.java 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IOmdBtmTypeClient.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdBtmTypeAttributeVO.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdBtmTypeVO.java 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLifeCycleEventVO.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLifeCycleLineEventVO.java 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLifeCycleLineVO.java 248 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLifeCycleVO.java 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLinkTypeAttributeVO.java 390 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLinkTypeVO.java 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsModifyAttributeInfoVO.java 373 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsRevisionRuleVO.java 247 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsStatusVO.java 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/pom.xml 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/annotation/Transient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/annotation/VciEnum.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/bo/WriteExcelData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/exception/VciBaseException.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/annotation/ExcelColumn.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/annotation/ExcelTitle.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/AppendDataExcelOption.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/DownloadTempOption.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/ExcelColumnMap.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/ReadExcelOption.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/SheetDataSet.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/SheetRowData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/WriteExcelOption.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/constant/ExcelLangCodeConstant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/util/ExcelUtil.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/util/PoiImportProcesser.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/util/PoiTemplateProcesser.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java 355 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/ReleasedObjDO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/RevisionInfo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/TreeQueryObject.java 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/TreeWrapperOptions.java 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/VciRevisionServiceI.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/LocalFileUtil.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/annotation/VciFieldType.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/annotation/VciUseEnum.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/EnumIdConstant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/MdmEnumIdConstant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/OmdRegExpConstant.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/QueryOptionConstant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BaseEnum.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BaseEnumInt.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/OsCodeFillTypeEnum.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/UserSecretEnum.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/VciFieldTypeEnum.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/BaseQueryObject.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/DataGrid.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/KeyValue.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/PageHelper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/SessionInfo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UIFieldSortVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UIFormReferVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITableCustomDefineVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITableFieldVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITablePageVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/service/VciSecretServiceI.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/toolmodel/DateConverter.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/BeanUtilForVCI.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ControllerUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/LangBaseUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/Lunar.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/MessageUtils.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciDateUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/WebThreadLocalUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/WebUtil.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/pom.xml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/CodeApplication.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/pom.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMSMapper.java 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMapper.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMySqlMapper.java 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlOracleMapper.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllMapper.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllMsMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllOracleMapper.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllSqlLiteMapper.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlBehavior.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessStrategy.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessor.java 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMsMapperProcessor.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMySqlMapperProcessor.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlOracleMapperProcessor.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllBehavior.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java 191 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessorStrategy.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java 654 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/OmdAttributeController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/OmdBtmTypeController.java 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/OmdBtmTypeClient.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/OmdBtmTypeAttributeMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/OmdBtmTypeMapper.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IOmdAttributeService.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IOmdBtmTypeAttributeService.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IOmdBtmTypeService.java 290 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdAttributeServiceImpl.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdBtmAttributeServiceImpl.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdBtmTypeServiceImpl.java 610 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdBtmTypeAttributeWrapper.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdBtmTypeWrapper.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/OmdAttributeMapper.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-common/src/main/java/com/vci/ubcs/common/constant/LauncherConstant.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service-api/pom.xml
@@ -23,6 +23,8 @@
        <module>ubcs-user-api</module>
        <module>ubcs-code-api</module>
        <module>ubcs-omd-api</module>
        <module>ubcs-util-api</module>
        <module>ubcs-ddl-api</module>
    </modules>
    <dependencies>
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/util/VciBaseUtil.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/enumpck/BaseEnum.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service-api/ubcs-ddl-api/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ubcs-service-api</artifactId>
        <groupId>com.vci.ubcs</groupId>
        <version>3.0.1.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>ubcs-ddl-api</artifactId>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-omd-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
    </dependencies>
</project>
Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlTableBO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.vci.ubcs.ddl.bo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Data
public class DdlTableBO implements Serializable {
    /**
     * åºåˆ—化
     */
    private static final long serialVersionUID = -5850730702502494744L;
    /**
     * è¡¨æ ¼åç§°
     */
    private String tableName;
    /**
     * è¡¨æ ¼çš„æè¿°
     */
    private String tableDesc;
    /**
     * åŒ…含的字段信息
     */
    private List<DdlTableInDataBaseBO> columns;
}
Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlTableInDataBaseBO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package com.vci.ubcs.ddl.bo;
import lombok.Data;
import java.io.Serializable;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Data
public class DdlTableInDataBaseBO implements Serializable {
    /**
     * åºåˆ—化
     */
    private static final long serialVersionUID = -4749100343717030972L;
    /**
     * å­—段名称
     */
    private String id;
    /**
     * å­—段描述
     */
    private String name;
    /**
     * æ•°æ®ç±»åž‹
     */
    private String attrDataType;
    /**
     * å±žæ€§çš„长度
     */
    private Integer attributeLength;
    /**
     * æ˜¯å¦å¯ä»¥ä¸ºç©º
     */
    private String nullableFlag;
    /**
     * å°æ•°ç²¾åº¦ä½æ•°
     */
    private Integer precisionLength;
    /**
     * å°æ•°åˆ»åº¦ä½æ•°
     */
    private Integer scaleLength;
}
Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/enums/DataBaseEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,106 @@
package com.vci.ubcs.ddl.enums;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
public enum DataBaseEnum {
    /**
     * mysql
     */
    MYSQL("mysql", "MYSQL"),
    /**
     * oracle
     */
    ORACLE("oracle", "ORACLE"),
    /**
     * postgresql
     */
    POSTGRESQL("postgresql", "POSTGRESQL"),
    /**
     * db2
     */
    DB2("db2", "DB2"),
    /**
     * sql_server
     */
    SQL_SERVER("mssql", "SQL_SERVER"),
    /**
     * dm
     */
    DM("dm", "达梦"),
    /**
     * oceanbase
     */
    OCEAN_BASE("oceanbase", "阿里巴巴OceanBase"),
    /**
     * sqllite
     */
    SQLITE("sqlite", "SQLITE");
    private String value;
    private String text;
    private DataBaseEnum (String value,String text){
        this.value = value;
        this.text = text;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
    public String getText() {
        return text;
    }
    public void setText(String text) {
        this.text = text;
    }
    public static String getValueByText(String text) {
        DataBaseEnum[] var1 = values();
        int var2 = var1.length;
        for(int var3 = 0; var3 < var2; ++var3) {
            DataBaseEnum wenum = var1[var3];
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
    public static String getTextByValue(String value) {
        DataBaseEnum[] var1 = values();
        int var2 = var1.length;
        for(int var3 = 0; var3 < var2; ++var3) {
            DataBaseEnum wenum = var1[var3];
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    public static DataBaseEnum forValue(String value) {
        DataBaseEnum[] var1 = values();
        int var2 = var1.length;
        for(int var3 = 0; var3 < var2; ++var3) {
            DataBaseEnum wenum = var1[var3];
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return ORACLE;
    }
}
Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/properties/DdlExportWordFieldProperties.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package com.vci.ubcs.ddl.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "vci.ubcs.ddl.exportword")
public class DdlExportWordFieldProperties {
    /**
     * è¡¨æ ¼çš„名称
     */
    private String tableName = "tableInfo";
    /**
     * è¡¨æ ¼çš„名称
     */
    private String title = "tableTitle";
    /**
     * è¡¨æ ¼çš„æžšä¸¾å‚照生命周期等描述
     */
    private String areaDesc = "tableAreaDesc";
    /**
     * å­—段表格的名称,需要对应模板中的域字段
     */
    private String columnTableName = "columnInfo";
    /**
     * å­—段表格的序号
     */
    private String columnIndex = "tableColumnIndex";
    /**
     * å­—段的英文名称
     */
    private String columnId = "columnId";
    /**
     *字段的显示名称
     */
    private String columnName = "columnName";
    /**
     * å­—段的类型
     */
    private String columnType = "columnType";
    /**
     * å­—段的约束
     */
    private String columnArea = "columnArea";
    /**
     * å­—段的特殊描述
     */
    private String columnDesc = "columnDesc";
}
Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/properties/DdlPropertise.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
package com.vci.ubcs.ddl.properties;
import com.vci.ubcs.ddl.enums.DataBaseEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
 * Description: æ•°æ®åº“操作相关的配置
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Configuration
@ConfigurationProperties(prefix = "vci.ubcs.ddl")
@Data
public class DdlPropertise {
    /**
     * æ•°æ®åº“的平台,默认为oracle
     */
    @ApiModelProperty(value = "数据库的类型")
    private String databasePlatform = DataBaseEnum.ORACLE.getValue();
    /**
     * æ˜¯å¦æ£€æŸ¥æ•°æ®è¡¨æ˜¯å¦ç¼ºå°‘
     */
    private String checkTableExist;
    /**
     * ä¸´æ—¶æ–‡ä»¶å¤¹
     */
    @ApiModelProperty(value = "临时文件夹")
    private String tempFolder;
    /**
     * é»˜è®¤zip的字符集
     */
    private String zipCharset = "GBK";
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/OmdBtmTypeCache.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
package com.vci.ubcs.omd.cache;
import com.vci.ubcs.omd.feign.IOmdBtmTypeClient;
import com.vci.ubcs.omd.vo.OmdBtmTypeVO;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.core.tool.utils.StringPool;
import java.util.Collection;
import java.util.List;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
public class OmdBtmTypeCache {
    private static final String BTM_DETAIL = "btm:id";
    private static final String BTM_REF = "btm:list";
    private static final String BTM_TYPE_CACHE = "ubcs:btm";
    private static final String BTM_IDS = "btm:ids";
    private static IOmdBtmTypeClient btmTypeClient;
    private static IOmdBtmTypeClient getBtmTypeClient() {
        if (btmTypeClient == null) {
            btmTypeClient = SpringUtil.getBean(IOmdBtmTypeClient.class);
        }
        return btmTypeClient;
    }
    /**
     * èŽ·å–ä¸šåŠ¡ç±»åž‹è¯¦æƒ…ä¿¡æ¯
     *
     * @param oid ä¸»é”®
     * @return ä¸šåŠ¡ç±»åž‹è¯¦æƒ…ä¿¡æ¯
     */
    public static OmdBtmTypeVO getDetail(String oid){
        String keyPrefix = BTM_DETAIL.concat(StringPool.DASH).concat(AuthUtil.getTenantId()).concat(StringPool.COLON);
        return CacheUtil.get(BTM_TYPE_CACHE, keyPrefix, oid, () -> {
            R<OmdBtmTypeVO> result = getBtmTypeClient().getDetail(oid);
            return result.getData();
        });
    }
    /**
     * æ ¹æ®è‹±æ–‡åç§°æ‰¹é‡æŸ¥è¯¢å¯¹è±¡
     * @param ids å¯¹è±¡è‹±æ–‡åç§° ä½†æ˜¯ä¸èƒ½è¶…过1000
     * @return ä¸šåŠ¡å¯¹è±¡
     */
    public static List<OmdBtmTypeVO> selectByIdCollection(List<String> ids) {
        String  keyPrefix = BTM_IDS.concat(StringPool.DASH).concat(AuthUtil.getTenantId()).concat(StringPool.COLON);
        return CacheUtil.get(BTM_TYPE_CACHE,keyPrefix,Func.toStr(ids), () -> {
            R<List<OmdBtmTypeVO>> result = getBtmTypeClient().selectByIdCollection(ids);
            return result.getData();
        });
    }
    /**
     * æ‰¹é‡æ ¹æ®ä¸»é”®èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param pkBtmTypeCollection ä¸šåŠ¡ç±»åž‹ä¸»é”®é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     */
    public static List<OmdBtmTypeVO> listBtmTypeByOidCollection(Collection<String> pkBtmTypeCollection) {
        String  keyPrefix = BTM_IDS.concat(StringPool.DASH).concat(AuthUtil.getTenantId()).concat(StringPool.COLON);
        return CacheUtil.get(BTM_TYPE_CACHE,keyPrefix,Func.toStr(pkBtmTypeCollection.stream().map(s -> s.substring(0,5))),() ->{
            R<List<OmdBtmTypeVO>> result = getBtmTypeClient().listBtmTypeByOidCollection(pkBtmTypeCollection);
            return result.getData();
        });
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/OmdBtmTypeConstant.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,140 @@
package com.vci.ubcs.omd.constant;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/23
 */
public class OmdBtmTypeConstant {
    /**
     * å±žæ€§çš„业务类型名称
     */
    public static final String OMD_ATTRIBUTE_BTM_TYPE = "attribute";
    /**
     * ä¸šåŠ¡ç±»åž‹å¯¹è±¡çš„ ä¸šåŠ¡ç±»åž‹åç§°
     */
    public static final String OMD_BTMTYPE = "btmtype";
    /**
     * ä¸šåŠ¡ç±»åž‹åŒ…å«çš„å±žæ€§çš„   ä¸šåŠ¡ç±»åž‹åç§°
     */
    public static final String OMD_BTNTYPE_ATTRIBUTE_BTM_TYPE = "btmtypeAttribute";
    /**
     * æžšä¸¾çš„业务类型名称
     */
    public static final String OMD_ENUM_BTM_TYPE = "enum";
    /**
     * æžšä¸¾é¡¹çš„业务类型名称
     */
    public static final String OMD_ENUM_ITEM_BTM_TYPE = "enumitem";
    /**
     * ç±»æ³¨é‡Šçš„业务类型名称
     */
    public static final String OMD_CLASS_ANNOTATION_BTM_TYPE = "classannotation";
    /**
     * å±žæ€§æ³¨é‡Šçš„业务类型名称
     */
    public static final String OMD_FIELD_ANNOTATION_BTM_TYPE = "fieldannotation";
    /**
     * ç”Ÿå‘½å‘¨æœŸçš„业务类型名称
     */
    public static final String OMD_LIFE_CYCLE_BTM_TYPE = "lifecycle";
    /**
     * ç”Ÿå‘½å‘¨æœŸäº‹ä»¶çš„业务类型名称
     */
    public static final String OMD_LIFE_CYCLE_EVENT_BTM_TYPE = "lifecycleevent";
    /**
     * ç”Ÿå‘½å‘¨æœŸè¿žæŽ¥çº¿çš„业务类型名称
     */
    public static final String OMD_LIFE_CYCLE_LINE_BTM_TYPE = "lifecycleline";
    /**
     * ç”Ÿå‘½å‘¨æœŸè¿žæŽ¥çº¿çš„事件  çš„业务类型名称
     */
    public static final String OMD_LIFE_CYCLE_LINE_EVENT_BTM_TYPE = "lifecyclelineevent";
    /**
     * é“¾æŽ¥ç±»åž‹çš„属性 çš„业务类型名称
     */
    public static final String OMD_LINK_TYPE_ATTRIBUTE_BTM_TYPE = "linktypeattribute";
    /**
     * é“¾æŽ¥ç±»åž‹ çš„业务类型名称
     */
    public static final String OMD_LINK_TYPE_BTM_TYPE = "linktype";
    /**
     * æ–¹æ³•注释 çš„业务类型名称
     */
    public static final String OMD_METHOD_ANNOTATION_BTM_TYPE = "methodannotation";
    /**
     * ä¿®æ”¹å±žæ€§çš„ ä¸šåŠ¡ç±»åž‹åç§°
     */
    public static final String OMD_MODIFY_ATTRIBUTE_BTM_TYPE = "modifyattribute";
    /**
     * å‚数注释 çš„业务类型名称
     */
    public static final String OMD_PARAM_ANNOTATION_BTM_TYPE = "paramannotation";
    /**
     * ç‰ˆæœ¬è§„则 çš„业务类型名称
     */
    public static final String OMD_REVISION_RULE_BTM_TYPE = "revisionrule";
    /**
     * çŠ¶æ€ çš„业务类型名称
     */
    public static final String OMD_STATUS_BTM_TYPE = "status";
    /**
     * ç¼–码规则 çš„业务类型名称
     */
    public static final String OMD_CODE_RULE_BTM_TYPE = "codeRule";
    /**
     * ç¼–码规则元素的业务类型名称
     */
    public static final String OMD_CODE_RULE_ELEMENT_BTM_TYPE = "codeRuleElement";
    /**
     * ç¼–码规则中的枚举值映射
     */
    public static final String OMD_CODE_ENUM_BTM_TYPE = "codeEnum";
    /**
     * ç¼–码元素中的特殊映射
     */
    public static final String OMD_CODE_ELEMENT_MAP_BTM_TYPE = "codeElementMap";
    /**
     * ç¼–码的断号
     */
    public static final String OMD_CODE_BREAK_CODE_BTM_TYPE = "codeBreakCode";
    /**
     * ç¼–码的流水号
     */
    public static final String OMD_CODE_SERIAL_NUMBER_BTM_TYPE = "codeSerialNumber";
    /**
     * ä»£ç ç”Ÿæˆæ–¹æ¡ˆ
     */
    public static final String OMD_CODE_GEN_SCHEMA_BTM_TYPE =  "codeGenSchema";
    /**
     * ä»£ç ç”Ÿæˆæ–¹æ¡ˆjs配置
     */
    public static final String OMD_CODE_GEN_SCHEMA_JS ="codeGenSchemaJs" ;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/OmdCacheConstant.java
@@ -11,4 +11,12 @@
     * å…ƒæ•°æ®
     */
    public static final String ATTR_CACHE = "ubcs:attr";
    /**
     * ä¸šåŠ¡ç±»åž‹
     */
    public static final String BTM_CACHE = "ubcs:btmtype";
    /**
     * é“¾æŽ¥ç±»åž‹
     */
    public static final String LINK_CACHE = "ubcs:linktype";
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OmdBtmTypeDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,151 @@
package com.vci.ubcs.omd.dto;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 * ä¸šåŠ¡ç±»åž‹æ·»åŠ æˆ–è€…ä¿®æ”¹æ—¶çš„æ•°æ®ä¼ è¾“å¯¹è±¡
 * @author weidy
 * @date 2019/10/14 16:43
 */
@Data
public class OmdBtmTypeDTO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 2009350578651813260L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°
     */
    private String id;
    /**
     * ä¸šåŠ¡ç±»åž‹ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * æ•°æ®åº“表的名称
     */
    private String tableName;
    /**
     * æè¿°
     */
    private String description;
    /**
     * ç‰ˆæœ¬è§„则的编号
     */
    private String revisionRuleId;
    /**
     * ç‰ˆæœ¬è§„则的名称
     */
    private String revisionRuleName;
    /**
     * åˆ†éš”符
     */
    private String revisionSep;
    /**
     * æ˜¯å¦æ‰‹åŠ¨è¾“å…¥ç‰ˆæœ¬
     */
    private boolean inputRevisionFlag;
    /**
     * æ˜¯å¦æŠ½è±¡åŒ–
     */
    private boolean abstractFlag;
    /**
     * æ˜¯å¦æŽ§åˆ¶ç‰ˆæœ¬
     */
    private boolean revisionFlag;
    /**
     * æ˜¯å¦æŽ§åˆ¶ç”Ÿå‘½å‘¨æœŸ
     */
    private boolean lifeCycleFlag;
    /**
     * æ˜¯å¦æŽ§åˆ¶å¯†çº§
     */
    private boolean secretFlag;
    /**
     * å®žä¾‹åŒ–ç±»
     */
    private String implClass;
    /**
     * C#
     */
    private String shape;
    /**
     * ç”Ÿå‘½å‘¨æœŸçš„英文名称
     */
    private String lifeCycleId;
    /**
     * ç”Ÿå‘½å‘¨æœŸçš„中文名称
     */
    private String lifeCycleName;
    /**
     * ç‰ˆæ¬¡è§„则
     */
    private String versionRule;
    /**
     * å¤‡ç”¨ç”Ÿå‘½å‘¨æœŸè‹±æ–‡åç§°
     */
    private String subLifeCycleId;
    /**
     * å¤‡ç”¨ç”Ÿå‘½å‘¨æœŸä¸­æ–‡åç§°
     */
    private String subLifeCycleName;
    /**
     * æ˜¯å¦ä¸ºè§†å›¾
     */
    private boolean viewFlag;
    /**
     * è§†å›¾åˆ›å»ºçš„sql语句
     */
    private String viewCreateSql;
    /**
     * ç±»çš„全路径
     */
    private String classFullName;
    /**
     * æ·»åŠ æˆ–è€…ç§»é™¤çš„å±žæ€§ä¿¡æ¯
     */
    private List<OmdBtmTypeLinkAttributesDTO> attributesDTOList;
    /**
     * æ—¶é—´æˆ³ï¼Œç”¨äºŽæ ¡éªŒæ˜¯å¦æœ€æ–°æ•°æ®
     */
    private Date ts;
    /**
     * ä¸šåŠ¡ç±»åž‹æ‰€å±žé¢†åŸŸ
     */
    private String domain;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OmdBtmTypeLinkAttributesDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.vci.ubcs.omd.dto;
import lombok.Data;
/**
 * å¾€ä¸šåŠ¡ç±»åž‹ä¸­æ·»åŠ /移除属性的数据传输对象
 * @author weidy
 * @date 2019/10/14 16:17
 */
@Data
public class OmdBtmTypeLinkAttributesDTO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 7635248565930948807L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * å±žæ€§çš„字段名称
     */
    private String id;
    /**
     * å±žæ€§çš„中文名称
     */
    private String name;
    /**
     * å±žæ€§çš„长度
     */
    private Integer attributeLength;
    /**
     * æ˜¯å¦å¯ä»¥ä¸ºç©º
     */
    private boolean nullableFlag;
    /**
     * é»˜è®¤å€¼
     */
    private String defaultValue;
    /**
     * å°æ•°ç²¾åº¦ä½æ•°
     */
    private Integer precisionLength;
    /**
     * åˆ»åº¦
     */
    private Integer scaleLength;
    /**
     * å–值范围
     */
    private String range;
    /**
     * å±žæ€§åœ¨æœ¬ä¸šåŠ¡ç±»åž‹ä¸­çš„æè¿°
     */
    private String description;
    /**
     * æ•°æ®ç±»åž‹
     */
    private String attrDataType;
    /**
     * å‚照业务类型
     */
    private String referBtmTypeId;
    /**
     * å‚照业务类型名称
     */
    private String referBtmTypeName;
    /**
     * æžšä¸¾ç¼–号
     */
    private String enumId;
    /**
     * æžšä¸¾åç§°
     */
    private String enumName;
    /**
     * æ˜¯å¦ä¸ºåˆ é™¤å±žæ€§
     */
    private boolean removeAttribute;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsBtmTypeExportDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
package com.vci.ubcs.omd.dto;
import lombok.Data;
import java.util.List;
/**
 * å¯¼å…¥å¯¼å‡ºçš„æ•°æ®ä¼ è¾“对象
 * åŒ…括枚举,状态,生命周期,版本规则,属性,业务类型,链接类型等
 * @author weidy
 * @date 2019/10/14 17:09
 */
@Data
public class OsBtmTypeExportDTO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = -5279288274756092398L;
    /**
     * çŠ¶æ€æ•°æ®ä¼ è¾“å¯¹è±¡
     */
    private List<OsStatusDTO> statusDTOList;
    /**
     * ç‰ˆæœ¬è§„则数据传输对象
     */
    private List<OsRevisionRuleDTO> revisionRuleDTOList;
    /**
     * æžšä¸¾æ•°æ®ä¼ è¾“对象
     */
    private List<OsEnumDTO> enumDTOList;
    /**
     * ç”Ÿå‘½å‘¨æœŸæ•°æ®ä¼ è¾“对象
     */
    private List<OsLifeCycleDTO> lifeCycleDTOList;
    /**
     * å±žæ€§æ•°æ®ä¼ è¾“对象
     */
    private List<OmdAttributeDTO> attributeDTOList;
    /**
     * ä¸šåŠ¡ç±»åž‹æ•°æ®ä¼ è¾“å¯¹è±¡
     */
    private List<OmdBtmTypeDTO> btmTypeDTOList;
    /**
     * é“¾æŽ¥ç±»åž‹æ•°æ®ä¼ è¾“对象
     */
    private List<OsLinkTypeDTO> linkTypeDTOList;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsEnumDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
package com.vci.ubcs.omd.dto;
import java.util.Date;
import java.util.Map;
/**
 * æžšä¸¾æ•°æ®ä¼ è¾“对象
 * @author weidy
 * @date 2019/10/14 17:25
 */
public class OsEnumDTO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 814342725285373312L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * å±žæ€§è‹±æ–‡åç§°
     */
    private String id;
    /**
     * å±žæ€§ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * æè¿°
     */
    private String description;
    /**
     * æžšä¸¾å€¼ç±»åž‹
     */
    private String enumValueDataType;
    /**
     * é•¿åº¦
     */
    private Integer length;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    /**
     * ç±»çš„全路径
     */
    private String classFullName;
    /**
     * æžšä¸¾é¡¹æ˜ å°„值
     */
    private Map<String,String> itemMaps;
    /**
     * æžšä¸¾é¡¹çš„主键映射,key是主键,value是枚举项的英文名称
     */
    private Map<String,String> itemOidMaps;
    public String getOid() {
        return oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getEnumValueDataType() {
        return enumValueDataType;
    }
    public void setEnumValueDataType(String enumValueDataType) {
        this.enumValueDataType = enumValueDataType;
    }
    public Integer getLength() {
        return length;
    }
    public void setLength(Integer length) {
        this.length = length;
    }
    public Date getTs() {
        return ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public Map<String, String> getItemMaps() {
        return itemMaps;
    }
    public void setItemMaps(Map<String, String> itemMaps) {
        this.itemMaps = itemMaps;
    }
    public Map<String, String> getItemOidMaps() {
        return itemOidMaps;
    }
    public void setItemOidMaps(Map<String, String> itemOidMaps) {
        this.itemOidMaps = itemOidMaps;
    }
    public String getClassFullName() {
        return classFullName;
    }
    public void setClassFullName(String classFullName) {
        this.classFullName = classFullName;
    }
    @Override
    public String toString() {
        return "OsEnumDTO{" +
                "oid='" + oid + '\'' +
                ", id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", enumValueDataType='" + enumValueDataType + '\'' +
                ", length=" + length +
                ", ts=" + ts +
                ", classFullName='" + classFullName + '\'' +
                ", itemMaps=" + itemMaps +
                ", itemOidMaps=" + itemOidMaps +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsLifeCycleDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package com.vci.ubcs.omd.dto;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 * ç”Ÿå‘½å‘¨æœŸæ•°æ®ä¼ è¾“对象
 * @author weidy
 * @date 2019/10/14 17:28
 */
@Data
public class OsLifeCycleDTO implements java.io.Serializable {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = -2896532706167604421L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * ç”Ÿå‘½å‘¨æœŸç¼–号
     */
    private String id;
    /**
     * ç”Ÿå‘½å‘¨æœŸåç§°
     */
    private String name;
    /**
     * æè¿°
     */
    private String description;
    /**
     * èµ·å§‹çŠ¶æ€
     */
    private String startStatus;
    /**
     * èµ·å§‹çŠ¶æ€åç§°
     */
    private String startStatusName;
    /**
     * åœ¨æ‰«æçš„æ—¶å€™è®°å½•这个生命周期对应的类全路径
     */
    private String classFullName;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    /**
     * åŒ…含的连接线
     */
    private List<OsLifeCycleLineDTO> lineDTOList;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsLifeCycleLineDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
package com.vci.ubcs.omd.dto;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 * ç”Ÿå‘½å‘¨æœŸè¿žæŽ¥çº¿æ•°æ®ä¼ è¾“对象
 * @author weidy
 * @date 2019/10/14 17:31
 */
@Data
public class OsLifeCycleLineDTO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = -7556637895235122903L;
    /**
     * æ‰€å±žç”Ÿå‘½å‘¨æœŸ
     */
    private String pkLifeCycle;
    /**
     * æºçŠ¶æ€ä¸»é”®
     */
    private String sourceLifeStatusOid;
    /**
     * æºçŠ¶æ€ä»£å·
     */
    private String sourceLifeStatus;
    /**
     * æºçŠ¶æ€åç§°
     */
    private String sourceLifeStatusName;
    /**
     * ç›®æ ‡çŠ¶æ€ä¸»é”®
     */
    private String targetLifeStatusOid;
    /**
     * ç›®æ ‡çŠ¶æ€ä»£å·
     */
    private String targetLifeStatus;
    /**
     * ç›®æ ‡çŠ¶æ€åç§°
     */
    private String targetLifeStatusName;
    /**
     * è¿žæŽ¥çº¿åç§°
     */
    private String name;
    /**
     * è¿žæŽ¥çº¿ä½ç½®ä¿¡æ¯
     */
    private String transLineSiteInfo;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    /**
     * åŒ…含的事件
     */
    private List<OsLifeCycleLineEventDTO> eventDTOList;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsLifeCycleLineEventDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
package com.vci.ubcs.omd.dto;
import lombok.Data;
import java.util.Date;
/**
 * ç”Ÿå‘½å‘¨æœŸäº‹ä»¶æ•°æ®ä¼ è¾“对象
 * @author weidy
 * @date 2019/10/14 17:47
 */
@Data
public class OsLifeCycleLineEventDTO implements java.io.Serializable {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 6860210157516359420L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * æ‰€å±žç”Ÿå‘½å‘¨æœŸè¿žæŽ¥çº¿ä¸»é”®
     */
    private String pkLifeCycleLine;
    /**
     * äº‹ä»¶çš„全路径
     */
    private String eventFullName;
    /**
     * äº‹ä»¶çš„名称
     */
    private String eventShowName;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsLinkTypeDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
package com.vci.ubcs.omd.dto;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 * é“¾æŽ¥ç±»åž‹çš„æ•°æ®ä¼ è¾“对象
 * @author weidy
 * @date 2019/10/14 17:53
 */
@Data
public class OsLinkTypeDTO implements java.io.Serializable {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 7723683851305095408L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * é“¾æŽ¥ç±»åž‹è‹±æ–‡åç§°
     */
    private String id;
    /**
     * é“¾æŽ¥ç±»åž‹ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * æè¿°
     */
    private String description;
    /**
     *
     */
    private String shape;
    /**
     * å®žçŽ°ç±»
     */
    private String implClass;
    /**
     * from端业务类型
     */
    private String fromBtmType;
    /**
     * from端业务类型名称
     */
    private String fromBtmTypeName;
    /**
     * to端业务类型
     */
    private String toBtmType;
    /**
     * to端业务类型名称
     */
    private String toBtmTypeName;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    /**
     * ç±»æ‰€å±žçš„全路径
     */
    private String classFullName;
    /**
     * åŒ…含的属性显示对象
     */
    private List<OmdBtmTypeLinkAttributesDTO> attributesDTOList;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsRevisionRuleDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package com.vci.ubcs.omd.dto;
import lombok.Data;
import java.util.Date;
/**
 * ç‰ˆæœ¬è§„则的数据传输对象
 * @author weidy
 * @date 2019/10/14 17:22
 */
@Data
public class OsRevisionRuleDTO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = -75866403471953492L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * è‹±æ–‡åç§°
     */
    private String id;
    /**
     * ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * è·³è·ƒå­—符
     */
    private String skipCode;
    /**
     * åˆå§‹å€¼
     */
    private String startCode;
    /**
     * æ­¥é•¿
     */
    private Integer serialStep;
    /**
     * å‰ç¼€
     */
    private String prefixCode;
    /**
     * åŽç¼€
     */
    private String suffixCode;
    /**
     * æè¿°
     */
    private String description;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OsStatusDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
package com.vci.ubcs.omd.dto;
import lombok.Data;
import java.util.Date;
/**
 * çŠ¶æ€æ•°æ®ä¼ è¾“å¯¹è±¡
 * @author weidy
 * @date 2019/10/14 17:15
 */
@Data
public class OsStatusDTO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 6832696922597736395L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * çŠ¶æ€è‹±æ–‡åç§°
     */
    private String id;
    /**
     * çŠ¶æ€ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * æè¿°
     */
    private String description;
    /**
     * æ—¶é—´æˆ³ï¼Œç”¨äºŽæ ¡éªŒæ˜¯å¦æœ€æ–°æ•°æ®
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdAttribute.java
@@ -13,6 +13,7 @@
import org.springframework.data.annotation.Transient;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
@@ -163,6 +164,13 @@
     */
    @ApiModelProperty("默认值")
    private String defaultValue;
    /**
     * æ—¶é—´æˆ³
     */
    @ApiModelProperty(value = "时间戳")
    private Date ts;
    /**
     * æ¯”较方式
     */
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdBtmType.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,176 @@
package com.vci.ubcs.omd.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
 *
 * ä¸šåŠ¡ç±»åž‹
 * @author weidy
 * @date 2019/10/11 3:12 PM
 */
@Data
@TableName("pl_omd_btm_type")
@ApiModel(value = "业务类型", description = "业务类型")
public class OmdBtmType implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 3004863827430218501L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°
     */
    private String id;
    /**
     * ä¸šåŠ¡ç±»åž‹ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * æ•°æ®åº“表的名称
     */
    private String tableName;
    /**
     * æè¿°
     */
    private String description;
    /**
     * ç‰ˆæœ¬è§„则的编号
     */
    private String revisionRuleId;
    /**
     * ç‰ˆæœ¬è§„则的名称
     */
    private String revisionRuleName;
    /**
     * åˆ†éš”符
     */
    private String revisionSep;
    /**
     * æ˜¯å¦æ‰‹åŠ¨è¾“å…¥ç‰ˆæœ¬
     */
    private String inputRevisionFlag;
    /**
     * æ˜¯å¦æŽ§åˆ¶å¯†çº§
     */
    private String secretFlag;
    /**
     * æ˜¯å¦æŠ½è±¡åŒ–
     */
    private String abstractFlag;
    /**
     * å®žä¾‹åŒ–ç±»
     */
    private String implClass;
    /**
     * C#
     */
    private String shape;
    /**
     * ç”Ÿå‘½å‘¨æœŸçš„英文名称
     */
    private String lifeCycleId;
    /**
     * ç”Ÿå‘½å‘¨æœŸçš„中文名称
     */
    private String lifeCycleName;
    /**
     * ç‰ˆæ¬¡è§„则
     */
    private String versionRule;
    /**
     * å¤‡ç”¨ç”Ÿå‘½å‘¨æœŸè‹±æ–‡åç§°
     */
    private String subLifeCycleId;
    /**
     * å¤‡ç”¨ç”Ÿå‘½å‘¨æœŸä¸­æ–‡åç§°
     */
    private String subLifeCycleName;
    /**
     * æ˜¯å¦ä¸ºè§†å›¾
     */
    private String viewFlag;
    /**
     * è§†å›¾åˆ›å»ºçš„sql语句
     */
    private String viewCreateSql;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    /**
     * ä¸šåŠ¡ç±»åž‹æ‰€å±žé¢†åŸŸ
     */
    private String domain;
    /**
     * ä¸€è‡´æ€§æ ‡è¯†
     */
    private String consistence;
    /**
     * æ•°æ®åº“表与业务类型同步失败次数
    private Integer syncFailTimes;
     */
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdBtmTypeAttribute.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,140 @@
package com.vci.ubcs.omd.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
 *
 * ä¸šåŠ¡ç±»åž‹åŒ…å«çš„å±žæ€§
 * @author weidy
 * @date 2019/10/11 3:21 PM
 */
@Data
@TableName("pl_omd_btm_type_attr")
@ApiModel(value = "业务类型包含的属性", description = "业务类型包含的属性")
public class OmdBtmTypeAttribute implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = -4431848943790920077L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * æ‰€å±žä¸šåŠ¡ç±»åž‹
     */
    private String pkBtmType;
    /**
     * å±žæ€§çš„字段名称
     */
    private String id;
    /**
     * å±žæ€§çš„中文名称
     */
    private String name;
    /**
     * å±žæ€§çš„长度
     */
    private Integer attributeLength;
    /**
     * å±žæ€§åœ¨æœ¬ä¸šåŠ¡ç±»åž‹ä¸­çš„æè¿°
     */
    private String description;
    /**
     * æ•°æ®ç±»åž‹
     */
    private String attrDataType;
    /**
     * æ˜¯å¦å¯ä»¥ä¸ºç©º
     */
    private String nullableFlag;
    /**
     * é»˜è®¤å€¼
     */
    private String defaultValue;
    /**
     * å°æ•°ç²¾åº¦ä½æ•°
     */
    private Integer precisionLength;
    /**
     * åˆ»åº¦
     */
    private Integer scaleLength;
    /**
     * å–值范围
     */
    private String range;
    /**
     * å‚照业务类型
     */
    private String referBtmTypeId;
    /**
     * å‚照业务类型名称
     */
    private String referBtmTypeName;
    /**
     * æžšä¸¾ç¼–号
     */
    private String enumId;
    /**
     * æžšä¸¾åç§°
     */
    private String enumName;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLifeCycleEventDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
package com.vci.ubcs.omd.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
 * ç”Ÿå‘½å‘¨æœŸäº‹ä»¶é›†åˆ
 * ä¸æ˜¯æŸä¸ªæŒ‡å®šçš„生命周期中,是所有的事件集合,方便在配置的时候选择
 * @author weidy
 * @date 2019/10/17 9:32
 */
@Data
@TableName("pl_omd_lift_cycle_event")
@ApiModel(value = "生命周期事件集合", description = "生命周期事件集合")
public class OsLifeCycleEventDO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 6950469551222671511L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * äº‹ä»¶çš„全路径
     */
    private String eventFullName;
    /**
     * äº‹ä»¶çš„名称
     */
    private String eventShowName;
    /**
     * äº‹ä»¶æè¿°
     */
    private String description;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLifeCycleLineDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,101 @@
package com.vci.ubcs.omd.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
 *
 * ç”Ÿå‘½å‘¨æœŸçŠ¶æ€è¿žæŽ¥çº¿
 * @author weidy
 * @date 2019/10/10 6:56 PM
 */
@Data
@TableName("pl_omd_lift_cycle_line")
@ApiModel(value = "生命周期状态连接线", description = "生命周期状态连接线")
public class OsLifeCycleLineDO implements java.io.Serializable {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 1220998076767353574L;
    /**
     * æ‰€å±žç”Ÿå‘½å‘¨æœŸ
     */
    private String pkLifeCycle;
    /**
     * æºçŠ¶æ€ä»£å·
     */
    private String sourceLifeStatus;
    /**
     * æºçŠ¶æ€åç§°
     */
    private String sourceLifeStatusName;
    /**
     * ç›®æ ‡çŠ¶æ€ä»£å·
     */
    private String targetLifeStatus;
    /**
     * ç›®æ ‡çŠ¶æ€åç§°
     */
    private String targetLifeStatusName;
    /**
     * è¿žæŽ¥çº¿åç§°
     */
    private String name;
    /**
     * è¿žæŽ¥çº¿ä½ç½®ä¿¡æ¯
     */
    private String transLineSiteInfo;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLifeCycleLineEventDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
package com.vci.ubcs.omd.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
 *
 * ç”Ÿå‘½å‘¨æœŸè¿žæŽ¥çº¿äº‹ä»¶
 * @author weidy
 * @date 2019/10/11 2:49 PM
 */
@Data
@TableName("pl_omd_lift_cycle_line_event")
@ApiModel(value = "生命周期状态连接线", description = "生命周期状态连接线")
public class OsLifeCycleLineEventDO  implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = -842247029575668650L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * æ‰€å±žç”Ÿå‘½å‘¨æœŸè¿žæŽ¥çº¿ä¸»é”®
     */
    private String pkLifeCycleLine;
    /**
     * äº‹ä»¶çš„全路径
     */
    private String eventFullName;
    /**
     * äº‹ä»¶çš„名称
     */
    private String eventShowName;
    /**
     * æŽ’序号
     */
    private Integer orderNum;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLifeCycleRuleDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
package com.vci.ubcs.omd.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
 *
 * ç”Ÿå‘½å‘¨æœŸè§„则
 * @author weidy
 * @date 2019/10/10 5:59 PM
 */
@Data
@TableName("pl_omd_lift_cycle_rule")
@ApiModel(value = "生命周期规则", description = "生命周期规则")
public class OsLifeCycleRuleDO implements java.io.Serializable {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 1476717511843047292L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * ç”Ÿå‘½å‘¨æœŸç¼–号
     */
    private String id;
    /**
     * ç”Ÿå‘½å‘¨æœŸåç§°
     */
    private String name;
    /**
     * æè¿°
     */
    private String description;
    /**
     * èµ·å§‹çŠ¶æ€
     */
    private String startStatus;
    /**
     * èµ·å§‹çŠ¶æ€åç§°
     */
    private String startStatusName;
    /**
     * ç±»çš„全路径
     */
    private String classFullName;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLinkTypeAttributeDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,141 @@
package com.vci.ubcs.omd.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
 *
 * é“¾æŽ¥ç±»åž‹åŒ…含的属性
 * @author weidy
 * @date 2019/10/11 3:21 PM
 */
@Data
@TableName("pl_omd_link_type_attr")
@ApiModel(value = "链接类型包含的属性", description = "链接类型包含的属性")
public class OsLinkTypeAttributeDO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = -2590096528345891496L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * æ‰€å±žä¸šåŠ¡ç±»åž‹
     */
    private String pkLinkType;
    /**
     * å±žæ€§çš„字段名称
     */
    private String id;
    /**
     * å±žæ€§çš„中文名称
     */
    private String name;
    /**
     * å±žæ€§çš„长度
     */
    private Integer attributeLength;
    /**
     * å±žæ€§åœ¨æœ¬ä¸šåŠ¡ç±»åž‹ä¸­çš„æè¿°
     */
    private String description;
    /**
     * æ•°æ®ç±»åž‹
     */
    private String attrDataType;
    /**
     * æ˜¯å¦å¯ä»¥ä¸ºç©º
     */
    private String nullableFlag;
    /**
     * é»˜è®¤å€¼
     */
    private String defaultValue;
    /**
     * å°æ•°ç²¾åº¦ä½æ•°
     */
    private Integer precisionLength;
    /**
     * åˆ»åº¦
     */
    private Integer scaleLength;
    /**
     * å–值范围
     */
    private String range;
    /**
     * å‚照业务类型
     */
    private String referBtmTypeId;
    /**
     * å‚照业务类型名称
     */
    private String referBtmTypeName;
    /**
     * æžšä¸¾ç¼–号
     */
    private String enumId;
    /**
     * æžšä¸¾åç§°
     */
    private String enumName;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsLinkTypeDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
package com.vci.ubcs.omd.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
/**
 * é“¾æŽ¥ç±»åž‹
 * @author weidy
 * @date 2019/10/11 3:41 PM
 */
@Data
@TableName("pl_omd_link_type")
@ApiModel(value = "链接类型", description = "链接类型")
public class OsLinkTypeDO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = -2973361863656603224L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * é“¾æŽ¥ç±»åž‹è‹±æ–‡åç§°
     */
    private String id;
    /**
     * é“¾æŽ¥ç±»åž‹ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * æè¿°
     */
    private String description;
    /**
     * .net
     */
    private String shape;
    /**
     * å®žçŽ°ç±»
     */
    private String implClass;
    /**
     * from端业务类型
     */
    private String fromBtmType;
    /**
     * from端业务类型名称
     */
    private String fromBtmTypeName;
    /**
     * to端业务类型
     */
    private String toBtmType;
    /**
     * to端业务类型名称
     */
    private String toBtmTypeName;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OsModifyAttributeInfoDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,150 @@
package com.vci.ubcs.omd.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * éœ€è¦ä¿®æ”¹æ•°æ®åº“表中字段的信息
 *
 * @author weidy
 * @date 2019/10/18 11:48
 */
@Data
@TableName("pl_omd_modify_attr_info")
@ApiModel(value = "需要修改数据库表中字段的信息", description = "需要修改数据库表中字段的信息")
public class OsModifyAttributeInfoDO implements Serializable {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 2996604298980606103L;
    /**
     * ä¸šåŠ¡ç±»åž‹ç¼–å·
     */
    private String id;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String name;
    /**
     * æ˜¯å¦ä¸ºé“¾æŽ¥ç±»åž‹
     */
    private String linkTypeFlag;
    /**
     * è¡¨æ ¼åç§°
     */
    private String tableName;
    /**
     * æ˜¯å¦åˆ›å»ºè¡¨æ ¼
     */
    private String createTableFlag;
    /**
     * æ·»åŠ çš„å±žæ€§
     */
    private String addAttributes;
    /**
     * ä¿®æ”¹çš„属性
     */
    private String modifyAttributes;
    /**
     * åˆ é™¤çš„属性
     */
    private String deleteAttibutes;
    /**
     * å±žæ€§ä¿®æ”¹å‰çš„内容
     */
    private String beforeModifyAttributes;
    /**
     * è°ƒæ•´åŽŸå› 
     */
    private String modifyColumnReason;
    /**
     * ç”³è¯·è°ƒæ•´ç”¨æˆ·
     */
    private String orderModifyUserName;
    /**
     * ç”³è¯·è°ƒæ•´æ—¶é—´
     */
    private Date orderModifyDate;
    /**
     * æ˜¯å¦æ‰§è¡Œå®Œæˆ
     */
    private String handleFinishFlag;
    /**
     * æ‰§è¡Œäºº
     */
    private String handleUserName;
    /**
     * æ‰§è¡Œæ—¶é—´
     */
    private Date handleDate;
    /**
     * æ‰§è¡Œç»“æžœ
     */
    private String handleResult;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * æè¿°
     */
    private String description;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    private String lastModifier;
    private Date lastModifyTime;
    private String revisionRule;
    private int revisionSeq;
    private String revisionValue;
    private String versionRule;
    private int versionSeq;
    private String versionValue;
    private String lctid;
    private String lcStatus;
    private String lcStatusText;
    private Date ts;
    private String owner;
    private String checkInBy;
    private Date checkInTime;
    private String checkOutBy;
    private Date checkOutTime;
    private String copyFromVersion;
    private Integer secretGrade;
    private String secretGradeText;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IOmdBtmTypeClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.vci.ubcs.omd.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vci.ubcs.omd.vo.OmdBtmTypeVO;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
 * Description: ä¸šåŠ¡ç±»åž‹Feign接口类
 *
 * @author LiHang
 * @date 2023/4/24
 */
@FeignClient(
    value = AppConstant.APPLICATION_NAME_OMD,
    fallback = IDictClientFallback.class
)
public interface IOmdBtmTypeClient {
    /**
     * å‰ç¼€
     */
    String API_PREFIX = "/client";
    /**
     * å‚照列表查询
     */
    String GET_REF = API_PREFIX + "/btm-type/get-ref";
    /**
     * å‚照明细
     */
    String GET_DETAIL = API_PREFIX + "/btm-type/get-detail";
    /**
     * è‹±æ–‡åç§°æ‰¹é‡æŸ¥è¯¢
     */
    String GET_BY_IDS = API_PREFIX + "/btm-type/get-by-ids";
    /**
     * ä¸»é”®æ‰¹é‡æŸ¥è¯¢
     */
    String GET_BY_OIDS = API_PREFIX + "/btm-type/get-by-oids";
    /**
     * èŽ·å–ä¸šåŠ¡ç±»åž‹è¯¦æƒ…ä¿¡æ¯
     *
     * @param oid ä¸»é”®
     * @return ä¸šåŠ¡ç±»åž‹è¯¦æƒ…ä¿¡æ¯
     */
    @GetMapping(GET_DETAIL)
    R<OmdBtmTypeVO> getDetail(@RequestParam("oid") String oid);
    /**
     * å‚照列表查询
     * @param condition æŸ¥è¯¢æ¡ä»¶
     * @param query åˆ†é¡µæ¡ä»¶
     * @param domain é¢†åŸŸå€¼
     * @return æŸ¥è¯¢ç»“æžœ
     */
    @GetMapping(GET_REF)
    R<IPage<OmdBtmTypeVO>> getRef(@RequestParam("condition")Map<String,Object> condition, @RequestParam("query")Query query, @RequestParam("domain") String domain);
    /**
     * æ ¹æ®è‹±æ–‡åç§°æ‰¹é‡æŸ¥è¯¢å¯¹è±¡
     * @param ids å¯¹è±¡è‹±æ–‡åç§° ä½†æ˜¯ä¸èƒ½è¶…过1000
     * @return ä¸šåŠ¡å¯¹è±¡
     */
    @GetMapping(GET_BY_IDS)
    R<List<OmdBtmTypeVO>> selectByIdCollection(List<String> ids);
    /**
     * æ‰¹é‡æ ¹æ®ä¸»é”®èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param pkBtmTypeCollection ä¸šåŠ¡ç±»åž‹ä¸»é”®é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     */
    @GetMapping(GET_BY_OIDS)
    R<List<OmdBtmTypeVO>> listBtmTypeByOidCollection(Collection<String> pkBtmTypeCollection);
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdBtmTypeAttributeVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,161 @@
package com.vci.ubcs.omd.vo;
import com.vci.ubcs.omd.entity.OmdBtmTypeAttribute;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.Map;
/**
 * ä¸šåŠ¡ç±»åž‹åŒ…å«çš„å±žæ€§å¯¹è±¡
 * @author weidy
 * @date 2019/10/11 5:33 PM
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "业务类型包含的属性对象", description = "业务类型包含的属性对象")
public class OmdBtmTypeAttributeVO extends OmdBtmTypeAttribute {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 114224750717125698L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * æ‰€å±žä¸šåŠ¡ç±»åž‹
     */
    private String pkBtmType;
    /**
     * ä¸šåŠ¡ç±»åž‹çš„ç¼–å·
     */
    private String btmTypeId;
    /**
     * å±žæ€§çš„字段名称
     */
    private String id;
    /**
     * å±žæ€§çš„中文名称
     */
    private String name;
    /**
     * å±žæ€§çš„长度
     */
    private Integer attributeLength;
    /**
     * å±žæ€§åœ¨æœ¬ä¸šåŠ¡ç±»åž‹ä¸­çš„æè¿°
     */
    private String description;
    /**
     * æ•°æ®ç±»åž‹
     */
    private String attrDataType;
    /**
     * æ˜¯å¦å¯ä»¥ä¸ºç©º
     */
    private boolean nullableFlag;
    /**
     * é»˜è®¤å€¼
     */
    private String defaultValue;
    /**
     * å°æ•°ç²¾åº¦ä½æ•°
     */
    private Integer precisionLength;
    /**
     * å°æ•°åˆ»åº¦ä½æ•°
     */
    private Integer scaleLength;
    /**
     * å–值范围
     */
    private String range;
    /**
     * æ˜¯å¦å‚ç…§
     */
    private boolean referFlag;
    /**
     * å‚照业务类型
     */
    private String referBtmTypeId;
    /**
     * å‚照业务类型名称
     */
    private String referBtmTypeName;
    /**
     * æžšä¸¾ç¼–号
     */
    private String enumId;
    /**
     * æžšä¸¾åç§°
     */
    private String enumName;
    /**
     * æ˜¯å¦æžšä¸¾
     */
    private boolean enumFlag;
    /**
z     * åŒ…含枚举的值
     */
    private Map<String,String> enumItemMap;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdBtmTypeVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,185 @@
package com.vci.ubcs.omd.vo;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 * ä¸šåŠ¡ç±»åž‹æ˜¾ç¤ºå¯¹è±¡
 * @author weidy
 * @date 2019/10/11 5:24 PM
 */
@Data
public class OmdBtmTypeVO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 7683836259151573532L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°
     */
    private String id;
    /**
     * ä¸šåŠ¡ç±»åž‹ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * æ•°æ®åº“表的名称
     */
    private String tableName;
    /**
     * æè¿°
     */
    private String description;
    /**
     * ç‰ˆæœ¬è§„则的编号
     */
    private String revisionRuleId;
    /**
     * ç‰ˆæœ¬è§„则的名称
     */
    private String revisionRuleName;
    /**
     * åˆ†éš”符
     */
    private String revisionSep;
    /**
     * æ˜¯å¦æ‰‹åŠ¨è¾“å…¥ç‰ˆæœ¬
     */
    private boolean inputRevisionFlag;
    /**
     * ç‰ˆæœ¬è§„则显示对象
     */
    private OsRevisionRuleVO revisionRuleVO;
    /**
     * æ˜¯å¦æŠ½è±¡åŒ–
     */
    private boolean abstractFlag;
    /**
     * æ˜¯å¦æŽ§åˆ¶ç‰ˆæœ¬
     */
    private boolean revisionFlag;
    /**
     * æ˜¯å¦æŽ§åˆ¶ç”Ÿå‘½å‘¨æœŸ
     */
    private boolean lifeCycleFlag;
    /**
     * æ˜¯å¦æŽ§åˆ¶å¯†çº§
     */
    private boolean secretFlag;
    /**
     * å®žä¾‹åŒ–ç±»
     */
    private String implClass;
    /**
     * C#
     */
    private String shape;
    /**
     * ç”Ÿå‘½å‘¨æœŸçš„英文名称
     */
    private String lifeCycleId;
    /**
     * ç”Ÿå‘½å‘¨æœŸçš„中文名称
     */
    private String lifeCycleName;
    /**
     * ç‰ˆæ¬¡è§„则
     */
    private String versionRule;
    /**
     * å¤‡ç”¨ç”Ÿå‘½å‘¨æœŸè‹±æ–‡åç§°
     */
    private String subLifeCycleId;
    /**
     * å¤‡ç”¨ç”Ÿå‘½å‘¨æœŸä¸­æ–‡åç§°
     */
    private String subLifeCycleName;
    /**
     * æ˜¯å¦ä¸ºè§†å›¾
     */
    private boolean viewFlag;
    /**
     * è§†å›¾åˆ›å»ºçš„sql语句
     */
    private String viewCreateSql;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    /**
     * ä¸šåŠ¡ç±»åž‹æ‰€å±žé¢†åŸŸ
     */
    private String domain;
    /**
     * åŒ…含属性
     */
    private List<OmdBtmTypeAttributeVO> attributes;
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLifeCycleEventVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package com.vci.ubcs.omd.vo;
import java.util.Date;
/**
 * ç”Ÿå‘½å‘¨æœŸäº‹ä»¶æ˜¾ç¤ºå¯¹è±¡
 * @author weidy
 * @date 2019/10/17 9:46
 */
public class OsLifeCycleEventVO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 8503381504954264216L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * äº‹ä»¶çš„全路径
     */
    private String eventFullName;
    /**
     * äº‹ä»¶çš„名称
     */
    private String eventShowName;
    /**
     * äº‹ä»¶æè¿°
     */
    private String description;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    public String getEventFullName() {
        return eventFullName;
    }
    public void setEventFullName(String eventFullName) {
        this.eventFullName = eventFullName;
    }
    public String getEventShowName() {
        return eventShowName;
    }
    public void setEventShowName(String eventShowName) {
        this.eventShowName = eventShowName;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getCreator() {
        return creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getLastModifier() {
        return lastModifier;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public Date getLastModifyTime() {
        return lastModifyTime;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public Date getTs() {
        return ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public String getOid() {
        return oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getBtmname() {
        return btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getOwner() {
        return owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    @Override
    public String toString() {
        return "OsLifeCycleEventVO{" +
                "oid='" + oid + '\'' +
                ", eventFullName='" + eventFullName + '\'' +
                ", eventShowName='" + eventShowName + '\'' +
                ", description='" + description + '\'' +
                ", btmname='" + btmname + '\'' +
                ", owner='" + owner + '\'' +
                ", creator='" + creator + '\'' +
                ", createTime=" + createTime +
                ", lastModifier='" + lastModifier + '\'' +
                ", lastModifyTime=" + lastModifyTime +
                ", ts=" + ts +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLifeCycleLineEventVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,192 @@
package com.vci.ubcs.omd.vo;
import java.util.Date;
/**
 * ç”Ÿå‘½å‘¨æœŸè¿žæŽ¥çº¿äº‹ä»¶
 * @author weidy
 * @date 2019/10/11 4:54 PM
 */
public class OsLifeCycleLineEventVO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 216430078444875215L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * æ‰€å±žç”Ÿå‘½å‘¨æœŸè¿žæŽ¥çº¿ä¸»é”®
     */
    private String pkLifeCycleLine;
    /**
     * äº‹ä»¶çš„全路径
     */
    private String eventFullName;
    /**
     * äº‹ä»¶çš„名称
     */
    private String eventShowName;
    /**
     * æŽ’序号
     */
    private Integer orderNum;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    public String getOid() {
        return oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getPkLifeCycleLine() {
        return pkLifeCycleLine;
    }
    public void setPkLifeCycleLine(String pkLifeCycleLine) {
        this.pkLifeCycleLine = pkLifeCycleLine;
    }
    public String getEventFullName() {
        return eventFullName;
    }
    public void setEventFullName(String eventFullName) {
        this.eventFullName = eventFullName;
    }
    public String getEventShowName() {
        return eventShowName;
    }
    public void setEventShowName(String eventShowName) {
        this.eventShowName = eventShowName;
    }
    public String getCreator() {
        return creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getLastModifier() {
        return lastModifier;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public Date getLastModifyTime() {
        return lastModifyTime;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public Date getTs() {
        return ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public Integer getOrderNum() {
        return orderNum;
    }
    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }
    public String getBtmname() {
        return btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getOwner() {
        return owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    @Override
    public String toString() {
        return "OsLifeCycleLineEventVO{" +
                "oid='" + oid + '\'' +
                ", pkLifeCycleLine='" + pkLifeCycleLine + '\'' +
                ", eventFullName='" + eventFullName + '\'' +
                ", eventShowName='" + eventShowName + '\'' +
                ", orderNum=" + orderNum +
                ", btmname='" + btmname + '\'' +
                ", owner='" + owner + '\'' +
                ", creator='" + creator + '\'' +
                ", createTime=" + createTime +
                ", lastModifier='" + lastModifier + '\'' +
                ", lastModifyTime=" + lastModifyTime +
                ", ts=" + ts +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLifeCycleLineVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,248 @@
package com.vci.ubcs.omd.vo;
import java.util.Date;
import java.util.List;
/**
 * ç”Ÿå‘½å‘¨æœŸè¿žæŽ¥çº¿
 * @author weidy
 * @date 2019/10/11 4:48 PM
 */
public class OsLifeCycleLineVO implements java.io.Serializable {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 1429889911601940640L;
    /**
     * æ‰€å±žç”Ÿå‘½å‘¨æœŸ
     */
    private String pkLifeCycle;
    /**
     * æºçŠ¶æ€ä»£å·
     */
    private String sourceLifeStatus;
    /**
     * æºçŠ¶æ€åç§°
     */
    private String sourceLifeStatusName;
    /**
     * ç›®æ ‡çŠ¶æ€ä»£å·
     */
    private String targetLifeStatus;
    /**
     * ç›®æ ‡çŠ¶æ€åç§°
     */
    private String targetLifeStatusName;
    /**
     * è¿žæŽ¥çº¿åç§°
     */
    private String name;
    /**
     * è¿žæŽ¥çº¿ä½ç½®ä¿¡æ¯
     */
    private String transLineSiteInfo;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    /**
     * åŒ…含事件
     */
    private List<OsLifeCycleLineEventVO> events;
    public String getPkLifeCycle() {
        return pkLifeCycle;
    }
    public void setPkLifeCycle(String pkLifeCycle) {
        this.pkLifeCycle = pkLifeCycle;
    }
    public String getSourceLifeStatus() {
        return sourceLifeStatus;
    }
    public void setSourceLifeStatus(String sourceLifeStatus) {
        this.sourceLifeStatus = sourceLifeStatus;
    }
    public String getSourceLifeStatusName() {
        return sourceLifeStatusName;
    }
    public void setSourceLifeStatusName(String sourceLifeStatusName) {
        this.sourceLifeStatusName = sourceLifeStatusName;
    }
    public String getTargetLifeStatus() {
        return targetLifeStatus;
    }
    public void setTargetLifeStatus(String targetLifeStatus) {
        this.targetLifeStatus = targetLifeStatus;
    }
    public String getTargetLifeStatusName() {
        return targetLifeStatusName;
    }
    public void setTargetLifeStatusName(String targetLifeStatusName) {
        this.targetLifeStatusName = targetLifeStatusName;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getTransLineSiteInfo() {
        return transLineSiteInfo;
    }
    public void setTransLineSiteInfo(String transLineSiteInfo) {
        this.transLineSiteInfo = transLineSiteInfo;
    }
    public String getOid() {
        return oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getCreator() {
        return creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getLastModifier() {
        return lastModifier;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public Date getLastModifyTime() {
        return lastModifyTime;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public Date getTs() {
        return ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public List<OsLifeCycleLineEventVO> getEvents() {
        return events;
    }
    public void setEvents(List<OsLifeCycleLineEventVO> events) {
        this.events = events;
    }
    public String getBtmname() {
        return btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getOwner() {
        return owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    @Override
    public String toString() {
        return "OsLifeCycleLineVO{" +
                "pkLifeCycle='" + pkLifeCycle + '\'' +
                ", sourceLifeStatus='" + sourceLifeStatus + '\'' +
                ", sourceLifeStatusName='" + sourceLifeStatusName + '\'' +
                ", targetLifeStatus='" + targetLifeStatus + '\'' +
                ", targetLifeStatusName='" + targetLifeStatusName + '\'' +
                ", name='" + name + '\'' +
                ", transLineSiteInfo='" + transLineSiteInfo + '\'' +
                ", oid='" + oid + '\'' +
                ", btmname='" + btmname + '\'' +
                ", owner='" + owner + '\'' +
                ", creator='" + creator + '\'' +
                ", createTime=" + createTime +
                ", lastModifier='" + lastModifier + '\'' +
                ", lastModifyTime=" + lastModifyTime +
                ", ts=" + ts +
                ", events=" + events +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLifeCycleVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,233 @@
package com.vci.ubcs.omd.vo;
import java.util.Date;
import java.util.List;
/**
 * ç”Ÿå‘½å‘¨æœŸæ˜¾ç¤ºå¯¹è±¡
 * @author weidy
 * @date 2019/10/11 4:45 PM
 */
public class OsLifeCycleVO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 5567711696707791107L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * ç”Ÿå‘½å‘¨æœŸç¼–号
     */
    private String id;
    /**
     * ç”Ÿå‘½å‘¨æœŸåç§°
     */
    private String name;
    /**
     * æè¿°
     */
    private String description;
    /**
     * ç±»çš„全路径
     */
    private String classFullName;
    /**
     * èµ·å§‹çŠ¶æ€
     */
    private String startStatus;
    /**
     * èµ·å§‹çŠ¶æ€åç§°
     */
    private String startStatusName;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    /**
     * åŒ…含连接线
     */
    private List<OsLifeCycleLineVO> lines ;
    public String getClassFullName() {
        return classFullName;
    }
    public void setClassFullName(String classFullName) {
        this.classFullName = classFullName;
    }
    public String getBtmname() {
        return btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getOwner() {
        return owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    public String getOid() {
        return oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getStartStatus() {
        return startStatus;
    }
    public void setStartStatus(String startStatus) {
        this.startStatus = startStatus;
    }
    public String getStartStatusName() {
        return startStatusName;
    }
    public void setStartStatusName(String startStatusName) {
        this.startStatusName = startStatusName;
    }
    public String getCreator() {
        return creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getLastModifier() {
        return lastModifier;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public Date getLastModifyTime() {
        return lastModifyTime;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public Date getTs() {
        return ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public List<OsLifeCycleLineVO> getLines() {
        return lines;
    }
    public void setLines(List<OsLifeCycleLineVO> lines) {
        this.lines = lines;
    }
    @Override
    public String toString() {
        return "OsLifeCycleVO{" +
                "oid='" + oid + '\'' +
                ", id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", classFullName='" + classFullName + '\'' +
                ", startStatus='" + startStatus + '\'' +
                ", startStatusName='" + startStatusName + '\'' +
                ", btmname='" + btmname + '\'' +
                ", owner='" + owner + '\'' +
                ", creator='" + creator + '\'' +
                ", createTime=" + createTime +
                ", lastModifier='" + lastModifier + '\'' +
                ", lastModifyTime=" + lastModifyTime +
                ", ts=" + ts +
                ", lines=" + lines +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLinkTypeAttributeVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,390 @@
package com.vci.ubcs.omd.vo;
import java.util.Date;
import java.util.Map;
/**
 * é“¾æŽ¥ç±»åž‹åŒ…含的属性
 * @author weidy
 * @date 2019/10/11 6:16 PM
 */
public class OsLinkTypeAttributeVO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 7591988478074135448L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * æ‰€å±žä¸šåŠ¡ç±»åž‹
     */
    private String pkLinkType;
    /**
     * å±žæ€§çš„字段名称
     */
    private String id;
    /**
     * å±žæ€§çš„中文名称
     */
    private String name;
    /**
     * å±žæ€§åœ¨æœ¬ä¸šåŠ¡ç±»åž‹ä¸­çš„æè¿°
     */
    private String description;
    /**
     * å±žæ€§çš„长度
     */
    private Integer attributeLength;
    /**
     * æ•°æ®ç±»åž‹
     */
    private String attrDataType;
    /**
     * æ˜¯å¦å¯ä»¥ä¸ºç©º
     */
    private boolean nullableFlag;
    /**
     * é»˜è®¤å€¼
     */
    private String defaultValue;
    /**
     * å°æ•°ç²¾åº¦ä½æ•°
     */
    private Integer precisionLength;
    /**
     * åˆ»åº¦
     */
    private Integer scaleLength;
    /**
     * å–值范围
     */
    private String range;
    /**
     * å‚照业务类型
     */
    private String referBtmTypeId;
    /**
     * å‚照业务类型名称
     */
    private String referBtmTypeName;
    /**
     * æ˜¯å¦å‚ç…§
     */
    private boolean referFlag;
    /**
     * æžšä¸¾ç¼–号
     */
    private String enumId;
    /**
     * æžšä¸¾åç§°
     */
    private String enumName;
    /**
     * æ˜¯å¦æžšä¸¾
     */
    private boolean enumFlag;
    /**
     * åŒ…含枚举的值
     */
    private Map<String,String> enumItemMap;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    public String getBtmname() {
        return btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getOwner() {
        return owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public void setPkLinkType(String pkLinkType) {
        this.pkLinkType = pkLinkType;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public void setAttrDataType(String attrDataType) {
        this.attrDataType = attrDataType;
    }
    public void setReferBtmTypeId(String referBtmTypeId) {
        this.referBtmTypeId = referBtmTypeId;
    }
    public void setReferBtmTypeName(String referBtmTypeName) {
        this.referBtmTypeName = referBtmTypeName;
    }
    public void setReferFlag(boolean referFlag) {
        this.referFlag = referFlag;
    }
    public void setEnumId(String enumId) {
        this.enumId = enumId;
    }
    public void setEnumName(String enumName) {
        this.enumName = enumName;
    }
    public void setEnumFlag(boolean enumFlag) {
        this.enumFlag = enumFlag;
    }
    public void setEnumItemMap(Map<String, String> enumItemMap) {
        this.enumItemMap = enumItemMap;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public void setNullableFlag(boolean nullableFlag) {
        this.nullableFlag = nullableFlag;
    }
    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }
    public void setPrecisionLength(Integer precisionLength) {
        this.precisionLength = precisionLength;
    }
    public String getOid() {
        return oid;
    }
    public String getPkLinkType() {
        return pkLinkType;
    }
    public String getDescription() {
        return description;
    }
    public String getAttrDataType() {
        return attrDataType;
    }
    public String getReferBtmTypeId() {
        return referBtmTypeId;
    }
    public String getReferBtmTypeName() {
        return referBtmTypeName;
    }
    public boolean isReferFlag() {
        return referFlag;
    }
    public String getEnumId() {
        return enumId;
    }
    public String getEnumName() {
        return enumName;
    }
    public boolean isEnumFlag() {
        return enumFlag;
    }
    public Map<String, String> getEnumItemMap() {
        return enumItemMap;
    }
    public String getCreator() {
        return creator;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public String getLastModifier() {
        return lastModifier;
    }
    public Date getLastModifyTime() {
        return lastModifyTime;
    }
    public Date getTs() {
        return ts;
    }
    public boolean isNullableFlag() {
        return nullableFlag;
    }
    public String getDefaultValue() {
        return defaultValue;
    }
    public Integer getPrecisionLength() {
        return precisionLength;
    }
    public String getRange() {
        return range;
    }
    public void setRange(String range) {
        this.range = range;
    }
    public Integer getAttributeLength() {
        return attributeLength;
    }
    public void setAttributeLength(Integer attributeLength) {
        this.attributeLength = attributeLength;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getScaleLength() {
        return scaleLength;
    }
    public void setScaleLength(Integer scaleLength) {
        this.scaleLength = scaleLength;
    }
    @Override
    public String toString() {
        return "OsLinkTypeAttributeVO{" +
                "oid='" + oid + '\'' +
                ", pkLinkType='" + pkLinkType + '\'' +
                ", id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", attributeLength=" + attributeLength +
                ", attrDataType='" + attrDataType + '\'' +
                ", nullableFlag=" + nullableFlag +
                ", defaultValue='" + defaultValue + '\'' +
                ", precisionLength=" + precisionLength +
                ", scaleLength=" + scaleLength +
                ", range='" + range + '\'' +
                ", referBtmTypeId='" + referBtmTypeId + '\'' +
                ", referBtmTypeName='" + referBtmTypeName + '\'' +
                ", referFlag=" + referFlag +
                ", enumId='" + enumId + '\'' +
                ", enumName='" + enumName + '\'' +
                ", enumFlag=" + enumFlag +
                ", enumItemMap=" + enumItemMap +
                ", btmname='" + btmname + '\'' +
                ", owner='" + owner + '\'' +
                ", creator='" + creator + '\'' +
                ", createTime=" + createTime +
                ", lastModifier='" + lastModifier + '\'' +
                ", lastModifyTime=" + lastModifyTime +
                ", ts=" + ts +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsLinkTypeVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,305 @@
package com.vci.ubcs.omd.vo;
import java.util.Date;
import java.util.List;
/**
 *
 * é“¾æŽ¥ç±»åž‹æ˜¾ç¤ºå¯¹è±¡
 * @author weidy
 * @date 2019/10/11 6:04 PM
 */
public class OsLinkTypeVO implements java.io.Serializable {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 2289872385854194102L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * é“¾æŽ¥ç±»åž‹è‹±æ–‡åç§°
     */
    private String id;
    /**
     * é“¾æŽ¥ç±»åž‹ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * æè¿°
     */
    private String description;
    /**
     * c#
     */
    private String shape;
    /**
     * å®žçŽ°ç±»
     */
    private String implClass;
    /**
     * from端业务类型
     */
    private String fromBtmType;
    /**
     * from端业务类型显示对象
     */
    private List<OmdBtmTypeVO> fromBtmTypeVOS;
    /**
     * from端业务类型名称
     */
    private String fromBtmTypeName;
    /**
     * to端业务类型
     */
    private String toBtmType;
    /**
     * to端业务类型名称
     */
    private String toBtmTypeName;
    /**
     * to端业务类型显示对象
     */
    private List<OmdBtmTypeVO> toBtmTypeVOS;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    /**
     * åŒ…含属性
     */
    private List<OsLinkTypeAttributeVO> attributes;
    public String getOid() {
        return oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getShape() {
        return shape;
    }
    public void setShape(String shape) {
        this.shape = shape;
    }
    public String getImplClass() {
        return implClass;
    }
    public void setImplClass(String implClass) {
        this.implClass = implClass;
    }
    public String getFromBtmType() {
        return fromBtmType;
    }
    public void setFromBtmType(String fromBtmType) {
        this.fromBtmType = fromBtmType;
    }
    public List<OmdBtmTypeVO> getFromBtmTypeVOS() {
        return fromBtmTypeVOS;
    }
    public void setFromBtmTypeVOS(List<OmdBtmTypeVO> fromBtmTypeVOS) {
        this.fromBtmTypeVOS = fromBtmTypeVOS;
    }
    public String getFromBtmTypeName() {
        return fromBtmTypeName;
    }
    public void setFromBtmTypeName(String fromBtmTypeName) {
        this.fromBtmTypeName = fromBtmTypeName;
    }
    public String getToBtmType() {
        return toBtmType;
    }
    public void setToBtmType(String toBtmType) {
        this.toBtmType = toBtmType;
    }
    public String getToBtmTypeName() {
        return toBtmTypeName;
    }
    public void setToBtmTypeName(String toBtmTypeName) {
        this.toBtmTypeName = toBtmTypeName;
    }
    public List<OmdBtmTypeVO> getToBtmTypeVOS() {
        return toBtmTypeVOS;
    }
    public void setToBtmTypeVOS(List<OmdBtmTypeVO> toBtmTypeVOS) {
        this.toBtmTypeVOS = toBtmTypeVOS;
    }
    public String getCreator() {
        return creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getLastModifier() {
        return lastModifier;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public Date getLastModifyTime() {
        return lastModifyTime;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public Date getTs() {
        return ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public List<OsLinkTypeAttributeVO> getAttributes() {
        return attributes;
    }
    public void setAttributes(List<OsLinkTypeAttributeVO> attributes) {
        this.attributes = attributes;
    }
    public String getBtmname() {
        return btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getOwner() {
        return owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    @Override
    public String toString() {
        return "OsLinkTypeVO{" +
                "oid='" + oid + '\'' +
                ", id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", shape='" + shape + '\'' +
                ", implClass='" + implClass + '\'' +
                ", fromBtmType='" + fromBtmType + '\'' +
                ", fromBtmTypeVOS=" + fromBtmTypeVOS +
                ", fromBtmTypeName='" + fromBtmTypeName + '\'' +
                ", toBtmType='" + toBtmType + '\'' +
                ", toBtmTypeName='" + toBtmTypeName + '\'' +
                ", toBtmTypeVOS=" + toBtmTypeVOS +
                ", btmname='" + btmname + '\'' +
                ", owner='" + owner + '\'' +
                ", creator='" + creator + '\'' +
                ", createTime=" + createTime +
                ", lastModifier='" + lastModifier + '\'' +
                ", lastModifyTime=" + lastModifyTime +
                ", ts=" + ts +
                ", attributes=" + attributes +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsModifyAttributeInfoVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,373 @@
package com.vci.ubcs.omd.vo;
import java.util.Date;
/**
 * éœ€è¦ä¿®æ”¹æ•°æ®åº“表中字段的信息
 * @author weidy
 * @date 2019/10/18 11:48
 */
public class OsModifyAttributeInfoVO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 5948961912171046275L;
    /**
     * ä¸šåŠ¡ç±»åž‹ç¼–å·
     */
    private String btmTypeId;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmTypeName;
    /**
     * æ˜¯å¦ä¸ºé“¾æŽ¥ç±»åž‹
     */
    private String linkTypeFlag;
    /**
     * è¡¨æ ¼åç§°
     */
    private String tableName;
    /**
     * ä¿®æ”¹å±žæ€§ç±»åž‹
     */
    private String modifyAttributeType;
    /**
     * ä¿®æ”¹å±žæ€§ç±»åž‹æ˜¾ç¤ºæ–‡æœ¬
     */
    private String modifyAttributeTypeText;
    /**
     * å±žæ€§åå­—
     */
    private String columnName;
    /**
     * è°ƒæ•´åŽŸå› 
     */
    private String modifyColumnReason;
    /**
     * ç”³è¯·è°ƒæ•´ç”¨æˆ·
     */
    private String orderModifyUserName;
    /**
     * ç”³è¯·è°ƒæ•´æ—¶é—´
     */
    private Date orderModifyDate;
    /**
     * ä¿®æ”¹å‰çš„类型
     */
    private String attributeDataTypeBefore;
    /**
     * ä¿®æ”¹åŽçš„类型
     */
    private String attributeDataTypeAfter;
    /**
     * æ˜¯å¦åˆ é™¤å±žæ€§
     */
    private String deleteColumnFlag;
    /**
     * æ˜¯å¦æ‰§è¡Œå®Œæˆ
     */
    private boolean handleFinishFlag;
    /**
     *执行人
     */
    private String handleUserName;
    /**
     * æ‰§è¡Œæ—¶é—´
     */
    private Date handleDate;
    /**
     * æ‰§è¡Œç»“æžœ
     */
    private String handleResult;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    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 getLinkTypeFlag() {
        return linkTypeFlag;
    }
    public void setLinkTypeFlag(String linkTypeFlag) {
        this.linkTypeFlag = linkTypeFlag;
    }
    public String getTableName() {
        return tableName;
    }
    public void setTableName(String tableName) {
        this.tableName = tableName;
    }
    public String getModifyAttributeType() {
        return modifyAttributeType;
    }
    public void setModifyAttributeType(String modifyAttributeType) {
        this.modifyAttributeType = modifyAttributeType;
    }
    public String getModifyAttributeTypeText() {
        return modifyAttributeTypeText;
    }
    public void setModifyAttributeTypeText(String modifyAttributeTypeText) {
        this.modifyAttributeTypeText = modifyAttributeTypeText;
    }
    public String getColumnName() {
        return columnName;
    }
    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }
    public String getModifyColumnReason() {
        return modifyColumnReason;
    }
    public void setModifyColumnReason(String modifyColumnReason) {
        this.modifyColumnReason = modifyColumnReason;
    }
    public String getOrderModifyUserName() {
        return orderModifyUserName;
    }
    public void setOrderModifyUserName(String orderModifyUserName) {
        this.orderModifyUserName = orderModifyUserName;
    }
    public Date getOrderModifyDate() {
        return orderModifyDate;
    }
    public void setOrderModifyDate(Date orderModifyDate) {
        this.orderModifyDate = orderModifyDate;
    }
    public String getAttributeDataTypeBefore() {
        return attributeDataTypeBefore;
    }
    public void setAttributeDataTypeBefore(String attributeDataTypeBefore) {
        this.attributeDataTypeBefore = attributeDataTypeBefore;
    }
    public String getAttributeDataTypeAfter() {
        return attributeDataTypeAfter;
    }
    public void setAttributeDataTypeAfter(String attributeDataTypeAfter) {
        this.attributeDataTypeAfter = attributeDataTypeAfter;
    }
    public String getDeleteColumnFlag() {
        return deleteColumnFlag;
    }
    public void setDeleteColumnFlag(String deleteColumnFlag) {
        this.deleteColumnFlag = deleteColumnFlag;
    }
    public boolean isHandleFinishFlag() {
        return handleFinishFlag;
    }
    public void setHandleFinishFlag(boolean handleFinishFlag) {
        this.handleFinishFlag = handleFinishFlag;
    }
    public String getHandleUserName() {
        return handleUserName;
    }
    public void setHandleUserName(String handleUserName) {
        this.handleUserName = handleUserName;
    }
    public Date getHandleDate() {
        return handleDate;
    }
    public void setHandleDate(Date handleDate) {
        this.handleDate = handleDate;
    }
    public String getHandleResult() {
        return handleResult;
    }
    public void setHandleResult(String handleResult) {
        this.handleResult = handleResult;
    }
    public String getOid() {
        return oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getCreator() {
        return creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getLastModifier() {
        return lastModifier;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public Date getLastModifyTime() {
        return lastModifyTime;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public Date getTs() {
        return ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public String getBtmname() {
        return btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getOwner() {
        return owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    @Override
    public String toString() {
        return "OsModifyAttributeInfoVO{" +
                "btmTypeId='" + btmTypeId + '\'' +
                ", btmTypeName='" + btmTypeName + '\'' +
                ", linkTypeFlag='" + linkTypeFlag + '\'' +
                ", tableName='" + tableName + '\'' +
                ", modifyAttributeType='" + modifyAttributeType + '\'' +
                ", modifyAttributeTypeText='" + modifyAttributeTypeText + '\'' +
                ", columnName='" + columnName + '\'' +
                ", modifyColumnReason='" + modifyColumnReason + '\'' +
                ", orderModifyUserName='" + orderModifyUserName + '\'' +
                ", orderModifyDate=" + orderModifyDate +
                ", attributeDataTypeBefore='" + attributeDataTypeBefore + '\'' +
                ", attributeDataTypeAfter='" + attributeDataTypeAfter + '\'' +
                ", deleteColumnFlag='" + deleteColumnFlag + '\'' +
                ", handleFinishFlag=" + handleFinishFlag +
                ", handleUserName='" + handleUserName + '\'' +
                ", handleDate=" + handleDate +
                ", handleResult='" + handleResult + '\'' +
                ", oid='" + oid + '\'' +
                ", btmname='" + btmname + '\'' +
                ", owner='" + owner + '\'' +
                ", creator='" + creator + '\'' +
                ", createTime=" + createTime +
                ", lastModifier='" + lastModifier + '\'' +
                ", lastModifyTime=" + lastModifyTime +
                ", ts=" + ts +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsRevisionRuleVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,247 @@
package com.vci.ubcs.omd.vo;
import java.util.Date;
/**
 * ç‰ˆæœ¬è§„则显示对象
 * @author weidy
 * @date 2019/10/11 5:19 PM
 */
public class OsRevisionRuleVO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 3660658005636583687L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * è‹±æ–‡åç§°
     */
    private String id;
    /**
     * ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * è·³è·ƒå­—符
     */
    private String skipCode;
    /**
     * åˆå§‹å€¼
     */
    private String startCode;
    /**
     * æ­¥é•¿
     */
    private Integer serialStep;
    /**
     * å‰ç¼€
     */
    private String prefixCode;
    /**
     * åŽç¼€
     */
    private String suffixCode;
    /**
     * æè¿°
     */
    private String description;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    public String getOid() {
        return oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSkipCode() {
        return skipCode;
    }
    public void setSkipCode(String skipCode) {
        this.skipCode = skipCode;
    }
    public String getStartCode() {
        return startCode;
    }
    public void setStartCode(String startCode) {
        this.startCode = startCode;
    }
    public Integer getSerialStep() {
        return serialStep;
    }
    public void setSerialStep(Integer serialStep) {
        this.serialStep = serialStep;
    }
    public String getPrefixCode() {
        return prefixCode;
    }
    public void setPrefixCode(String prefixCode) {
        this.prefixCode = prefixCode;
    }
    public String getSuffixCode() {
        return suffixCode;
    }
    public void setSuffixCode(String suffixCode) {
        this.suffixCode = suffixCode;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getCreator() {
        return creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getLastModifier() {
        return lastModifier;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public Date getLastModifyTime() {
        return lastModifyTime;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public Date getTs() {
        return ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public String getBtmname() {
        return btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getOwner() {
        return owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    @Override
    public String toString() {
        return "OsRevisionRuleVO{" +
                "oid='" + oid + '\'' +
                ", id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", skipCode='" + skipCode + '\'' +
                ", startCode='" + startCode + '\'' +
                ", serialStep=" + serialStep +
                ", prefixCode='" + prefixCode + '\'' +
                ", suffixCode='" + suffixCode + '\'' +
                ", description='" + description + '\'' +
                ", btmname='" + btmname + '\'' +
                ", owner='" + owner + '\'' +
                ", creator='" + creator + '\'' +
                ", createTime=" + createTime +
                ", lastModifier='" + lastModifier + '\'' +
                ", lastModifyTime=" + lastModifyTime +
                ", ts=" + ts +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OsStatusVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,178 @@
package com.vci.ubcs.omd.vo;
import java.util.Date;
/**
 * çŠ¶æ€
 * @author weidy
 * @date 2019/10/11 4:40 PM
 */
public class OsStatusVO implements java.io.Serializable {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 6084862289020441069L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * çŠ¶æ€è‹±æ–‡åç§°
     */
    private String id;
    /**
     * çŠ¶æ€ä¸­æ–‡åç§°
     */
    private String name;
    /**
     * æè¿°
     */
    private String description;
    /**
     * ä¸šåŠ¡ç±»åž‹åç§°
     */
    private String btmname;
    /**
     * æ‹¥æœ‰è€…
     */
    private String owner;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æœ€åŽä¿®æ”¹äºº
     */
    private String lastModifier;
    /**
     * æœ€åŽä¿®æ”¹æ—¶é—´ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss
     */
    private Date lastModifyTime;
    /**
     * æ—¶é—´æˆ³ï¼Œæ ¼å¼æ˜¯yyyy-MM-dd HH:mm:ss.SSS
     */
    private Date ts;
    public String getOid() {
        return oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getCreator() {
        return creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getLastModifier() {
        return lastModifier;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public Date getLastModifyTime() {
        return lastModifyTime;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public Date getTs() {
        return ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public String getBtmname() {
        return btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getOwner() {
        return owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    @Override
    public String toString() {
        return "OsStatusVO{" +
                "oid='" + oid + '\'' +
                ", id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", btmname='" + btmname + '\'' +
                ", owner='" + owner + '\'' +
                ", creator='" + creator + '\'' +
                ", createTime=" + createTime +
                ", lastModifier='" + lastModifier + '\'' +
                ", lastModifyTime=" + lastModifyTime +
                ", ts=" + ts +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-util-api/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ubcs-service-api</artifactId>
        <groupId>com.vci.ubcs</groupId>
        <version>3.0.1.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>ubcs-util-api</artifactId>
    <name>${project.artifactId}</name>
    <version>${bladex.project.version}</version>
    <packaging>jar</packaging>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>4.1.2</version>
        </dependency>
    </dependencies>
</project>
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/annotation/Transient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/annotation/Transient.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.annotation;
package com.vci.ubcs.starter.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/annotation/VciEnum.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/annotation/VciEnum.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.annotation;
package com.vci.ubcs.starter.annotation;
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/bo/WriteExcelData.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/bo/WriteExcelData.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.bo;
package com.vci.ubcs.starter.bo;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/exception/VciBaseException.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/exception/VciBaseException.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.exception;
package com.vci.ubcs.starter.exception;
//
// Source code recreated from a .class file by IntelliJ IDEA
@@ -6,7 +6,7 @@
//
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.com.vci.starter.web.util.MessageUtils;
import com.vci.ubcs.starter.web.util.MessageUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/annotation/ExcelColumn.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/annotation/ExcelColumn.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.poi.annotation;
package com.vci.ubcs.starter.poi.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/annotation/ExcelTitle.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/annotation/ExcelTitle.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.poi.annotation;
package com.vci.ubcs.starter.poi.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/AppendDataExcelOption.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/bo/AppendDataExcelOption.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.poi.bo;
package com.vci.ubcs.starter.poi.bo;
import java.io.Serializable;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/DownloadTempOption.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/bo/DownloadTempOption.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.poi.bo;
package com.vci.ubcs.starter.poi.bo;
import java.io.Serializable;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/ExcelColumnMap.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/bo/ExcelColumnMap.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.poi.bo;
package com.vci.ubcs.starter.poi.bo;
public class ExcelColumnMap {
    private String title;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/ReadExcelOption.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/bo/ReadExcelOption.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.poi.bo;
package com.vci.ubcs.starter.poi.bo;
import java.util.List;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/SheetDataSet.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/bo/SheetDataSet.java ÐÞ¸Ä
@@ -1,4 +1,5 @@
package com.vci.ubcs.com.vci.starter.poi.bo;
package com.vci.ubcs.starter.poi.bo;
import java.util.ArrayList;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/SheetRowData.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/bo/SheetRowData.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.poi.bo;
package com.vci.ubcs.starter.poi.bo;
import java.util.HashMap;
import java.util.Map;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/WriteExcelOption.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/bo/WriteExcelOption.java ÐÞ¸Ä
@@ -1,7 +1,7 @@
package com.vci.ubcs.com.vci.starter.poi.bo;
package com.vci.ubcs.starter.poi.bo;
import com.vci.ubcs.com.vci.starter.bo.WriteExcelData;
import com.vci.ubcs.starter.bo.WriteExcelData;
import java.util.ArrayList;
import java.util.HashMap;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/constant/ExcelLangCodeConstant.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/constant/ExcelLangCodeConstant.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.poi.constant;
package com.vci.ubcs.starter.poi.constant;
public class ExcelLangCodeConstant {
    public static final String READ_IMPORT_FILE_FAIL = "readImportFileFail";
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/util/ExcelUtil.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/util/ExcelUtil.java ÐÞ¸Ä
@@ -1,15 +1,15 @@
package com.vci.ubcs.com.vci.starter.poi.util;
package com.vci.ubcs.starter.poi.util;
import com.vci.ubcs.com.vci.starter.bo.WriteExcelData;
import com.vci.ubcs.com.vci.starter.exception.VciBaseException;
import com.vci.ubcs.com.vci.starter.poi.annotation.ExcelColumn;
import com.vci.ubcs.com.vci.starter.poi.annotation.ExcelTitle;
import com.vci.ubcs.com.vci.starter.poi.bo.*;
import com.vci.ubcs.com.vci.starter.util.LocalFileUtil;
import com.vci.ubcs.com.vci.starter.web.annotation.VciFieldType;
import com.vci.ubcs.com.vci.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.ubcs.com.vci.starter.web.util.LangBaseUtil;
import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
import com.vci.ubcs.starter.bo.WriteExcelData;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.poi.annotation.ExcelColumn;
import com.vci.ubcs.starter.poi.annotation.ExcelTitle;
import com.vci.ubcs.starter.poi.bo.*;
import com.vci.ubcs.starter.util.LocalFileUtil;
import com.vci.ubcs.starter.web.annotation.VciFieldType;
import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.ubcs.starter.web.util.LangBaseUtil;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.apache.commons.io.IOUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
@@ -52,9 +52,6 @@
import java.io.*;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
import sun.reflect.annotation.*;
import java.math.BigDecimal;
import java.nio.channels.FileChannel;
import java.util.*;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/util/PoiImportProcesser.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/util/PoiImportProcesser.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.poi.util;
package com.vci.ubcs.starter.poi.util;
import java.lang.reflect.Field;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/util/PoiTemplateProcesser.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/util/PoiTemplateProcesser.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.poi.util;
package com.vci.ubcs.starter.poi.util;
import java.lang.reflect.Field;
import java.util.Map;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,355 @@
package com.vci.ubcs.starter.revision.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.data.annotation.Transient;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
public class BaseModel implements Serializable {
    @JsonSerialize(
        using = ToStringSerializer.class
    )
    @ApiModelProperty("主键id")
    @TableId(value = "OID",type = IdType.ASSIGN_UUID)
    private String oid;
    private String id;
    private String name;
    private String description;
    private String revisionOid;
    private String nameOid;
    private String btmname;
    private String lastR;
    private String firstR;
    private String lastV;
    private String firstV;
    private String creator;
    @DateTimeFormat(
        pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
        pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date createTime;
    private String lastModifier;
    @DateTimeFormat(
        pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
        pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date lastModifyTime;
    private String revisionRule;
    private Integer revisionSeq;
    private String revisionValue;
    private String versionRule;
    private Integer versionSeq;
    private String versionValue;
    @Transient
    private String lctid;
    private String lcStatus;
    @TableField(exist = false)
    private String lcStatusText;
    @JsonFormat(
        pattern = "yyyy-MM-dd HH:mm:ss.SSS"
    )
    private Date ts;
    private String owner;
    private String copyFromVersion;
    //    @VciUseEnum(
//        value = "Enumsecretgrade",
//        showTextField = "secretGradeText"
//    )
    @TableField(exist = false)
    private Integer secretGrade;
    @Transient
    @TableField(exist = false)
    private String secretGradeText;
    @Transient
    @TableField(exist = false)
    private Map<String, String> data;
    public BaseModel() {
    }
    public String getOid() {
        return this.oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getId() {
        return this.id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return this.name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return this.description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getRevisionOid() {
        return this.revisionOid;
    }
    public void setRevisionOid(String revisionOid) {
        this.revisionOid = revisionOid;
    }
    public String getNameOid() {
        return this.nameOid;
    }
    public void setNameOid(String nameOid) {
        this.nameOid = nameOid;
    }
    public String getBtmname() {
        return this.btmname;
    }
    public void setBtmname(String btmname) {
        this.btmname = btmname;
    }
    public String getLastR() {
        return this.lastR;
    }
    public void setLastR(String lastR) {
        this.lastR = lastR;
    }
    public String getFirstR() {
        return this.firstR;
    }
    public void setFirstR(String firstR) {
        this.firstR = firstR;
    }
    public String getLastV() {
        return this.lastV;
    }
    public void setLastV(String lastV) {
        this.lastV = lastV;
    }
    public String getFirstV() {
        return this.firstV;
    }
    public void setFirstV(String firstV) {
        this.firstV = firstV;
    }
    public String getCreator() {
        return this.creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public String getLastModifier() {
        return this.lastModifier;
    }
    public void setLastModifier(String lastModifier) {
        this.lastModifier = lastModifier;
    }
    public Date getLastModifyTime() {
        return this.lastModifyTime;
    }
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }
    public String getRevisionRule() {
        return this.revisionRule;
    }
    public void setRevisionRule(String revisionRule) {
        this.revisionRule = revisionRule;
    }
    public String getVersionRule() {
        return this.versionRule;
    }
    public void setVersionRule(String versionRule) {
        this.versionRule = versionRule;
    }
    public Integer getRevisionSeq() {
        return this.revisionSeq;
    }
    public void setRevisionSeq(Integer revisionSeq) {
        this.revisionSeq = revisionSeq;
    }
    public String getRevisionValue() {
        return this.revisionValue;
    }
    public void setRevisionValue(String revisionValue) {
        this.revisionValue = revisionValue;
    }
    public Integer getVersionSeq() {
        return this.versionSeq;
    }
    public void setVersionSeq(Integer versionSeq) {
        this.versionSeq = versionSeq;
    }
    public String getVersionValue() {
        return this.versionValue;
    }
    public void setVersionValue(String versionValue) {
        this.versionValue = versionValue;
    }
    public String getLcStatus() {
        return this.lcStatus;
    }
    public void setLcStatus(String lcStatus) {
        this.lcStatus = lcStatus;
    }
    public Date getTs() {
        return this.ts;
    }
    public void setTs(Date ts) {
        this.ts = ts;
    }
    public String getOwner() {
        return this.owner;
    }
    public void setOwner(String owner) {
        this.owner = owner;
    }
    public String getCopyFromVersion() {
        return this.copyFromVersion;
    }
    public void setCopyFromVersion(String copyFromVersion) {
        this.copyFromVersion = copyFromVersion;
    }
    public String getLcStatusText() {
        return this.lcStatusText;
    }
    public void setLcStatusText(String lcStatusText) {
        this.lcStatusText = lcStatusText;
    }
    public Date getCreateTime() {
        return this.createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Integer getSecretGrade() {
        return this.secretGrade;
    }
    public void setSecretGrade(Integer secretGrade) {
        this.secretGrade = secretGrade;
    }
    public String getSecretGradeText() {
        return this.secretGradeText;
    }
    public void setSecretGradeText(String secretGradeText) {
        this.secretGradeText = secretGradeText;
    }
    public String getLctid() {
        return this.lctid;
    }
    public void setLctid(String lctid) {
        this.lctid = lctid;
    }
    public Map<String, String> getData() {
        return this.data;
    }
    public void setData(Map<String, String> data) {
        this.data = data;
    }
    @Override
    public String toString() {
        return "BaseModel{oid='" + this.oid + '\'' + ", id='" + this.id + '\'' + ", name='" + this.name + '\'' + ", description='" + this.description + '\'' + ", revisionOid='" + this.revisionOid + '\'' + ", nameOid='" + this.nameOid + '\'' + ", btmname='" + this.btmname + '\'' + ", lastR='" + this.lastR + '\'' + ", firstR='" + this.firstR + '\'' + ", lastV='" + this.lastV + '\'' + ", firstV='" + this.firstV + '\'' + ", creator='" + this.creator + '\'' + ", createTime=" + this.createTime + ", lastModifier='" + this.lastModifier + '\'' + ", lastModifyTime=" + this.lastModifyTime + ", revisionRule='" + this.revisionRule + '\'' + ", revisionSeq=" + this.revisionSeq + ", revisionValue='" + this.revisionValue + '\'' + ", versionRule='" + this.versionRule + '\'' + ", versionSeq=" + this.versionSeq + ", versionValue='" + this.versionValue + '\'' + ", lctid='" + this.lctid + '\'' + ", lcStatus='" + this.lcStatus + '\'' + ", lcStatusText='" + this.lcStatusText + '\'' + ", ts=" + this.ts + ", owner='" + this.owner + '\''  + ", copyFromVersion='" + this.copyFromVersion + '\'' + ", secretGrade=" + this.secretGrade + ", secretGradeText='" + this.secretGradeText + '\'' + ", data=" + this.data + '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/ReleasedObjDO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/revision/model/ReleasedObjDO.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.revision.model;
package com.vci.ubcs.starter.revision.model;
//
// Source code recreated from a .class file by IntelliJ IDEA
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/RevisionInfo.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/revision/model/RevisionInfo.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.revision.model;
package com.vci.ubcs.starter.revision.model;
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/TreeQueryObject.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,137 @@
package com.vci.ubcs.starter.revision.model;
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
import java.io.Serializable;
import java.util.Map;
public class TreeQueryObject implements Serializable {
    private static final long serialVersionUID = -7570704940199743059L;
    private Map<String, String> conditionMap;
    private boolean multipleSelect;
    private boolean showCheckBox;
    private boolean queryAllLevel;
    private String parentOid;
    private String parentBtmName;
    private String valueField = "oid";
    private String textField = "name";
    private String parentFieldName;
    private Map<String, String> extandParamsMap;
    private boolean queryAllRev;
    private String sort;
    private String order;
    public TreeQueryObject() {
    }
    public String getValueField() {
        return this.valueField;
    }
    public void setValueField(String valueField) {
        this.valueField = valueField;
    }
    public String getTextField() {
        return this.textField;
    }
    public void setTextField(String textField) {
        this.textField = textField;
    }
    public String getParentFieldName() {
        return this.parentFieldName;
    }
    public void setParentFieldName(String parentFieldName) {
        this.parentFieldName = parentFieldName;
    }
    public Map<String, String> getConditionMap() {
        return this.conditionMap;
    }
    public void setConditionMap(Map<String, String> conditionMap) {
        this.conditionMap = conditionMap;
    }
    public boolean isMultipleSelect() {
        return this.multipleSelect;
    }
    public void setMultipleSelect(boolean multipleSelect) {
        this.multipleSelect = multipleSelect;
    }
    public boolean isShowCheckBox() {
        return this.showCheckBox;
    }
    public void setShowCheckBox(boolean showCheckBox) {
        this.showCheckBox = showCheckBox;
    }
    public String getParentOid() {
        return this.parentOid;
    }
    public void setParentOid(String parentOid) {
        this.parentOid = parentOid;
    }
    public String getParentBtmName() {
        return this.parentBtmName;
    }
    public void setParentBtmName(String parentBtmName) {
        this.parentBtmName = parentBtmName;
    }
    public Map<String, String> getExtandParamsMap() {
        return this.extandParamsMap;
    }
    public void setExtandParamsMap(Map<String, String> extandParamsMap) {
        this.extandParamsMap = extandParamsMap;
    }
    public boolean isQueryAllLevel() {
        return this.queryAllLevel;
    }
    public void setQueryAllLevel(boolean queryAllLevel) {
        this.queryAllLevel = queryAllLevel;
    }
    public boolean isQueryAllRev() {
        return this.queryAllRev;
    }
    public void setQueryAllRev(boolean queryAllRev) {
        this.queryAllRev = queryAllRev;
    }
    public String getSort() {
        return this.sort;
    }
    public void setSort(String sort) {
        this.sort = sort;
    }
    public String getOrder() {
        return this.order;
    }
    public void setOrder(String order) {
        this.order = order;
    }
    public String toString() {
        return "TreeQueryObject{conditionMap=" + this.conditionMap + ", multipleSelect=" + this.multipleSelect + ", showCheckBox=" + this.showCheckBox + ", queryAllLevel=" + this.queryAllLevel + ", parentOid='" + this.parentOid + '\'' + ", parentBtmName='" + this.parentBtmName + '\'' + ", valueField='" + this.valueField + '\'' + ", textField='" + this.textField + '\'' + ", parentFieldName='" + this.parentFieldName + '\'' + ", extandParamsMap=" + this.extandParamsMap + ", queryAllRev=" + this.queryAllRev + ", sort='" + this.sort + '\'' + ", order='" + this.order + '\'' + '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/TreeWrapperOptions.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,121 @@
package com.vci.ubcs.starter.revision.model;
import java.io.Serializable;
public class TreeWrapperOptions implements Serializable {
    private static final long serialVersionUID = 3183500138266494574L;
    private String textFieldName = "name";
    private String textValueSep = " ";
    private String parentFieldName;
    private String oidFieldName = "oid";
    private String oidValueSep = ",";
    private boolean allAttributes = true;
    private String parentOid;
    private boolean multipleSelect = false;
    private boolean showCheckBox = false;
    public TreeWrapperOptions() {
    }
    public TreeWrapperOptions(String parentFieldName) {
        this.parentFieldName = parentFieldName;
    }
    public TreeWrapperOptions(String textFieldName, String parentFieldName) {
        this.textFieldName = textFieldName;
        this.parentFieldName = parentFieldName;
    }
    public TreeWrapperOptions(String textFieldName, String parentFieldName, String parentOid) {
        this.textFieldName = textFieldName;
        this.parentFieldName = parentFieldName;
        this.parentOid = parentOid;
    }
    public void copyFromTreeQuery(TreeQueryObject treeQueryObject) {
        if (treeQueryObject != null) {
            this.parentOid = treeQueryObject.getParentOid();
            this.multipleSelect = treeQueryObject.isMultipleSelect();
            this.showCheckBox = treeQueryObject.isShowCheckBox();
        }
    }
    public String getTextFieldName() {
        return this.textFieldName;
    }
    public void setTextFieldName(String textFieldName) {
        this.textFieldName = textFieldName;
    }
    public String getParentFieldName() {
        return this.parentFieldName;
    }
    public void setParentFieldName(String parentFieldName) {
        this.parentFieldName = parentFieldName;
    }
    public String getOidFieldName() {
        return this.oidFieldName;
    }
    public void setOidFieldName(String oidFieldName) {
        this.oidFieldName = oidFieldName;
    }
    public boolean isAllAttributes() {
        return this.allAttributes;
    }
    public void setAllAttributes(boolean allAttributes) {
        this.allAttributes = allAttributes;
    }
    public String getParentOid() {
        return this.parentOid;
    }
    public void setParentOid(String parentOid) {
        this.parentOid = parentOid;
    }
    public boolean isMultipleSelect() {
        return this.multipleSelect;
    }
    public void setMultipleSelect(boolean multipleSelect) {
        this.multipleSelect = multipleSelect;
    }
    public boolean isShowCheckBox() {
        return this.showCheckBox;
    }
    public void setShowCheckBox(boolean showCheckBox) {
        this.showCheckBox = showCheckBox;
    }
    public String getTextValueSep() {
        return this.textValueSep;
    }
    public void setTextValueSep(String textValueSep) {
        this.textValueSep = textValueSep;
    }
    public String getOidValueSep() {
        return this.oidValueSep;
    }
    public void setOidValueSep(String oidValueSep) {
        this.oidValueSep = oidValueSep;
    }
    public String toString() {
        return "TreeWrapperOptions{textFieldName='" + this.textFieldName + '\'' + ", textValueSep='" + this.textValueSep + '\'' + ", parentFieldName='" + this.parentFieldName + '\'' + ", oidFieldName='" + this.oidFieldName + '\'' + ", oidValueSep='" + this.oidValueSep + '\'' + ", allAttributes=" + this.allAttributes + ", parentOid='" + this.parentOid + '\'' + ", multipleSelect=" + this.multipleSelect + ", showCheckBox=" + this.showCheckBox + '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/revision/service/RevisionModelUtil.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.revision.service;
package com.vci.ubcs.starter.revision.service;
//
// Source code recreated from a .class file by IntelliJ IDEA
@@ -8,12 +8,12 @@
//package com.vci.starter.revision.service;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.code.bo.TreeWrapperOptions;
import com.vci.ubcs.code.entity.BaseModel;
import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree;
import com.vci.ubcs.com.vci.starter.web.service.VciSecretServiceI;
import com.vci.ubcs.com.vci.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.starter.web.service.VciSecretServiceI;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/VciRevisionServiceI.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/revision/service/VciRevisionServiceI.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.revision.service;
package com.vci.ubcs.starter.revision.service;
//
// Source code recreated from a .class file by IntelliJ IDEA
@@ -8,8 +8,8 @@
//package com.vci.starter.revision.service;
import com.vci.ubcs.com.vci.starter.revision.model.ReleasedObjDO;
import com.vci.ubcs.com.vci.starter.revision.model.RevisionInfo;
import com.vci.ubcs.starter.revision.model.ReleasedObjDO;
import com.vci.ubcs.starter.revision.model.RevisionInfo;
public interface VciRevisionServiceI {
    RevisionInfo selectLastRevision(String var1, String var2);
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/LocalFileUtil.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/util/LocalFileUtil.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.util;
package com.vci.ubcs.starter.util;
import java.io.ByteArrayOutputStream;
@@ -10,14 +10,14 @@
import java.io.OutputStream;
import java.nio.channels.FileChannel;
import java.nio.charset.StandardCharsets;
import java.rmi.ServerException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.UUID;
import com.vci.ubcs.com.vci.starter.exception.VciBaseException;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.apache.commons.io.IOUtils;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.boot.system.ApplicationHome;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/annotation/VciFieldType.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/annotation/VciFieldType.java ÐÞ¸Ä
@@ -1,6 +1,6 @@
package com.vci.ubcs.com.vci.starter.web.annotation;
package com.vci.ubcs.starter.web.annotation;
import com.vci.ubcs.com.vci.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/annotation/VciUseEnum.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/annotation/VciUseEnum.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.annotation;
package com.vci.ubcs.starter.web.annotation;
//
// Source code recreated from a .class file by IntelliJ IDEA
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/EnumIdConstant.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/constant/EnumIdConstant.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.constant;
package com.vci.ubcs.starter.web.constant;
/**
 * æžšä¸¾çš„业务类型
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/MdmEnumIdConstant.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/constant/MdmEnumIdConstant.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.constant;
package com.vci.ubcs.starter.web.constant;
/**
 * ä¸»æ•°æ®çš„æžšä¸¾åç§°
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/OmdRegExpConstant.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.vci.ubcs.starter.web.constant;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/23
 */
public class OmdRegExpConstant {
    public static final String INCLUDE_CHINESE = "[Α-ï¿¥]";
    public static final String NUMBER = "^[0-9]*$";
    public static final String INT = "/^-?[1-9]+[0-9]*$/";
    public static final String LONG = "/^-?[1-9]+[0-9]*$/";
    public static final String DOUBLE = "[0-9]*(\\.[0-9]*|[eE][+-][0-9]*)$";
    public static final String LETTER = "^[A-Za-z]+$";
    public static final String LETTER_AND_NUMBER = "^[A-Za-z0-9]+$";
    public static final String UP_LETTER = "^[A-Z]+$";
    public static final String LOW_LETTER = "^[a-z]+$";
    public static final String SPECIAL_CHARACTER = "^[` ~!@#$%^&*()_\\-+=<>?:\"{}|,.\\/;'\\[\\]·~!@#ï¿¥%……&*()——\\-+={}|《》?:“”【】、;‘’,。、]+$";
    public static final String HAS_LETTER = ".*[a-z][A-Z]{1,}.*";
    public static final String HAS_UP_LETTER = ".*[A-Z]{1,}.*";
    public static final String HAS_LOW_LETTER = ".*[a-z]{1,}.*";
    public static final String HAS_NUMBER = ".*[0-9]{1,}.*";
    public static final String HAS_SPECIAL_CHARACTER = ".*[` ~!@#$%^&*()_\\-+=<>?:\"{}|,.\\/;'\\[\\]·~!@#ï¿¥%……&*()——\\-+={}|《》?:“”【】、;‘’,。、]{1,}.*";
    private OmdRegExpConstant() {
    }
}
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/QueryOptionConstant.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/constant/QueryOptionConstant.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.constant;
package com.vci.ubcs.starter.web.constant;
public class QueryOptionConstant {
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BaseEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.starter.web.enumpck;
public interface BaseEnum {
    String getValue();
    String getText();
}
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BaseEnumInt.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/enumpck/BaseEnumInt.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.enumpck;
package com.vci.ubcs.starter.web.enumpck;
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/OsCodeFillTypeEnum.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/enumpck/OsCodeFillTypeEnum.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.enumpck;
package com.vci.ubcs.starter.web.enumpck;
//package com.vci.web.enumpck;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/UserSecretEnum.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/enumpck/UserSecretEnum.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.enumpck;
package com.vci.ubcs.starter.web.enumpck;
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
@@ -8,7 +8,8 @@
//import com.vci.starter.web.annotation.VciEnum;
import com.vci.ubcs.com.vci.starter.annotation.VciEnum;
import com.vci.ubcs.starter.annotation.VciEnum;
@VciEnum(
    name = "usersecurityenum",
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/VciFieldTypeEnum.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/enumpck/VciFieldTypeEnum.java ÐÞ¸Ä
@@ -1,7 +1,7 @@
package com.vci.ubcs.com.vci.starter.web.enumpck;
package com.vci.ubcs.starter.web.enumpck;
import com.vci.ubcs.com.vci.starter.annotation.VciEnum;
import com.vci.ubcs.starter.annotation.VciEnum;
@VciEnum(
    name = "VciFieldType",
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/BaseQueryObject.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/BaseQueryObject.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/DataGrid.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/DataGrid.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
import java.io.Serializable;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/KeyValue.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/KeyValue.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
//package com.vci.starter.web.pagemodel;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/PageHelper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/PageHelper.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
//
// Source code recreated from a .class file by IntelliJ IDEA
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/SessionInfo.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/SessionInfo.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
//
// Source code recreated from a .class file by IntelliJ IDEA
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/Tree.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
import org.springblade.core.tool.utils.StringUtil;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UIFieldSortVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/UIFieldSortVO.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
//package com.vci.web.pageModel;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UIFormReferVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/UIFormReferVO.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
//package com.vci.web.pageModel;
import java.util.List;
import java.util.Map;
/**
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITableCustomDefineVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/UITableCustomDefineVO.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
//package com.vci.web.pageModel;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITableFieldVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/UITableFieldVO.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
//package com.vci.web.pageModel;
import java.util.ArrayList;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITablePageVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/pagemodel/UITablePageVO.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.pagemodel;
package com.vci.ubcs.starter.web.pagemodel;
//package com.vci.web.pageModel;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/service/VciSecretServiceI.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/service/VciSecretServiceI.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
package com.vci.ubcs.com.vci.starter.web.service;
package com.vci.ubcs.starter.web.service;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.com.vci.starter.web.enumpck.UserSecretEnum;
import com.vci.ubcs.com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
import com.vci.ubcs.starter.web.enumpck.UserSecretEnum;
import com.vci.ubcs.starter.web.pagemodel.SessionInfo;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
public interface VciSecretServiceI {
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/toolmodel/DateConverter.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/toolmodel/DateConverter.java ÐÞ¸Ä
@@ -1,7 +1,7 @@
package com.vci.ubcs.com.vci.starter.web.toolmodel;
package com.vci.ubcs.starter.web.toolmodel;
import com.vci.ubcs.com.vci.starter.exception.VciBaseException;
import com.vci.ubcs.com.vci.starter.web.util.VciDateUtil;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.util.VciDateUtil;
import org.springblade.core.tool.utils.StringUtil;
import java.text.DateFormat;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/BeanUtilForVCI.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/util/BeanUtilForVCI.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.util;
package com.vci.ubcs.starter.web.util;
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
@@ -43,14 +43,14 @@
    }
    public static void copyDeclaredIgnoreCase(Object source, Object target, boolean ignoreNull, Map<String, String> fieldMap, Collection<String> ignoreField) {
        Map<String, Field> sourceMap = BeanUtilForVCI.CacheFieldMap.getDeclaredFieldMap(source.getClass());
        Map<String, Field> targetMap = BeanUtilForVCI.CacheFieldMap.getDeclaredFieldMap(target.getClass());
        Map<String, Field> sourceMap = CacheFieldMap.getDeclaredFieldMap(source.getClass());
        Map<String, Field> targetMap = CacheFieldMap.getDeclaredFieldMap(target.getClass());
        copyPropertiesIgnoreCase(source, target, ignoreNull, fieldMap, ignoreField, sourceMap, targetMap);
    }
    public static void copyPropertiesIgnoreCase(Object source, Object target, boolean ignoreNull, Map<String, String> fieldMap, Collection<String> ignoreField) {
        Map<String, Field> sourceMap = BeanUtilForVCI.CacheFieldMap.getFieldMap(source.getClass());
        Map<String, Field> targetMap = BeanUtilForVCI.CacheFieldMap.getFieldMap(target.getClass());
        Map<String, Field> sourceMap = CacheFieldMap.getFieldMap(source.getClass());
        Map<String, Field> targetMap = CacheFieldMap.getFieldMap(target.getClass());
        copyPropertiesIgnoreCase(source, target, ignoreNull, fieldMap, ignoreField, sourceMap, targetMap);
    }
@@ -116,8 +116,8 @@
        private static Map<String, Field> getFieldMap(Class clazz) {
            Map<String, Field> result = (Map)cacheMap.get(clazz.getName());
            if (result == null) {
                Class var2 = BeanUtilForVCI.CacheFieldMap.class;
                synchronized(BeanUtilForVCI.CacheFieldMap.class) {
                Class var2 = CacheFieldMap.class;
                synchronized(CacheFieldMap.class) {
                    if (result == null) {
                        Map<String, Field> fieldMap = new HashMap();
                        List<Field> allFields = VciBaseUtil.getAllFieldForObj(clazz);
@@ -139,8 +139,8 @@
        private static Map<String, Field> getDeclaredFieldMap(Class clazz) {
            Map<String, Field> result = (Map)declaredCacheMap.get(clazz.getName());
            if (result == null) {
                Class var2 = BeanUtilForVCI.CacheFieldMap.class;
                synchronized(BeanUtilForVCI.CacheFieldMap.class) {
                Class var2 = CacheFieldMap.class;
                synchronized(CacheFieldMap.class) {
                    if (result == null) {
                        Map<String, Field> fieldMap = new HashMap();
                        Field[] allFields = clazz.getDeclaredFields();
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ControllerUtil.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/util/ControllerUtil.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.util;
package com.vci.ubcs.starter.web.util;
import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/LangBaseUtil.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/util/LangBaseUtil.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.util;
package com.vci.ubcs.starter.web.util;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/Lunar.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/util/Lunar.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.util;
package com.vci.ubcs.starter.web.util;
//
// Source code recreated from a .class file by IntelliJ IDEA
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/MessageUtils.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/util/MessageUtils.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.util;
package com.vci.ubcs.starter.web.util;
//
// Source code recreated from a .class file by IntelliJ IDEA
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/util/VciBaseUtil.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.util;
package com.vci.ubcs.starter.web.util;
//
// Source code recreated from a .class file by IntelliJ IDEA
@@ -8,9 +8,9 @@
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.com.vci.starter.exception.VciBaseException;
import com.vci.ubcs.com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.ubcs.com.vci.starter.web.toolmodel.DateConverter;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.pagemodel.SessionInfo;
import com.vci.ubcs.starter.web.toolmodel.DateConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.CollectionUtils;
@@ -45,15 +45,6 @@
    public static String getPk() {
        return UUID.randomUUID().toString();
    }
    public static SessionInfo getCurrentUserSessionInfo() throws VciBaseException {
        SessionInfo si = getCurrentUserSessionInfoNotException();
        if (si == null) {
            throw new VciBaseException("noLogin", new String[]{"没有当前用户信息"});
        } else {
            return si;
        }
    }
    public static int getIntForBoolean(boolean b) {
@@ -1084,10 +1075,6 @@
        }
    }
    public static SessionInfo getCurrentUserSessionInfoNotException() {
        return (SessionInfo) WebThreadLocalUtil.getCurrentUserSessionInfoInThread().get();
    }
    public static String getStringValueFromObject(Object obj) {
        if (obj == null) {
            return "";
@@ -1105,6 +1092,11 @@
        }
    }
    public static SessionInfo getCurrentUserSessionInfoNotException() {
        return (SessionInfo) WebThreadLocalUtil.getCurrentUserSessionInfoInThread().get();
    }
    public static <T> Collection<Collection<T>> switchCollectionForOracleIn(Collection<T> list) {
        return switchCollectionForOracleIn(list, 500);
    }
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciDateUtil.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/util/VciDateUtil.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.util;
package com.vci.ubcs.starter.web.util;
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/WebThreadLocalUtil.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/util/WebThreadLocalUtil.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.vci.ubcs.com.vci.starter.web.util;
package com.vci.ubcs.starter.web.util;
//
// Source code recreated from a .class file by IntelliJ IDEA
@@ -8,7 +8,7 @@
//package com.vci.starter.web.util;
import com.vci.ubcs.com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.ubcs.starter.web.pagemodel.SessionInfo;
public class WebThreadLocalUtil {
    private static ThreadLocal<SessionInfo> currentUserSessionInfoInThread = new ThreadLocal();
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/WebUtil.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/util/WebUtil.java ÐÞ¸Ä
@@ -1,12 +1,12 @@
package com.vci.ubcs.com.vci.starter.web.util;
package com.vci.ubcs.starter.web.util;
//package com.vci.web.util;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.com.vci.starter.exception.VciBaseException;
import com.vci.ubcs.com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.pagemodel.SessionInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@@ -84,7 +84,7 @@
     * @return å½“前用户信息
     * @throws VciBaseException æ²¡æœ‰ç™»å½•会抛出异常
     */
    public static SessionInfo getCurrentUserSessionInfo() throws VciBaseException{
    public static SessionInfo getCurrentUserSessionInfo() throws VciBaseException {
        SessionInfo si= getCurrentUserSessionInfoNotException();
        if(si==null){
            throw new VciBaseException("noLogin",new String[]{"没有当前用户信息"});
Source/UBCS/ubcs-service/pom.xml
@@ -23,6 +23,7 @@
        <module>ubcs-user</module>
        <module>ubcs-code</module>
        <module>ubcs-omd</module>
        <module>ubcs-ddl</module>
    </modules>
    <dependencies>
Source/UBCS/ubcs-service/ubcs-code/pom.xml
@@ -23,14 +23,22 @@
            <version>3.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-ddl</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-omd-api</artifactId>
            <version>3.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-util-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/CodeApplication.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-ddl/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ubcs-service</artifactId>
        <groupId>com.vci.ubcs</groupId>
        <version>3.0.1.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>ubcs-ddl</artifactId>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-ddl-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>
        </dependency>
        <dependency>
            <groupId>com.vci</groupId>
            <artifactId>vci-starter-word</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springblade</groupId>
            <artifactId>blade-starter-swagger</artifactId>
        </dependency>
    </dependencies>
</project>
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,68 @@
package com.vci.ubcs.ddl.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.ddl.service.IDdlService;
import com.vci.ubcs.omd.dto.OmdBtmTypeDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
 * Description: æ•°æ®åº“操作控制器
 *
 * @author LiHang
 * @date 2023/4/25
 */
@NonDS
@RestController
@AllArgsConstructor
@RequestMapping("/ddl")
@Api(value = "数据库操作", tags = "数据库操作")
public class DdlController {
    @Autowired
    private IDdlService ddlService;
    /**
     * æ–°å¢žæˆ–修改数据库表
     * @param dto ä¸šåŠ¡ç±»åž‹
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/submitBtmType")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "新增或修改", notes = "传入业务类型传输对象")
    public R submitBtmType(@Valid @RequestBody OmdBtmTypeDTO dto) {
        return ddlService.submitBtmType(dto);
    }
    /**
     * æ ¹æ®è¡¨åèŽ·å–å­—æ®µä¿¡æ¯
     * @param tableName è¡¨å
     * @return æ‰§è¡Œç»“æžœ
     */
    @GetMapping("/getTableColumnByTableName")
    @ApiOperation(value = "按表名获取表字段信息",notes = "传入表名")
    @ApiOperationSupport(order = 3)
    public R<DdlTableBO> getTableColumnByTableName(String tableName){
        return R.data(ddlService.getTableColumnByTableName(tableName));
    }
    /**
     * èŽ·å–æ‰€æœ‰çš„è¡¨ä¿¡æ¯
     * @return è¡¨ä¿¡æ¯
     */
    @GetMapping("/getAllTableInfo")
    @ApiOperation(value = "获取所有的表信息")
    @ApiOperationSupport(order = 4)
    public R<List<DdlTableBO>> getAllTableInfo(){
        return R.data(ddlService.getAllTableInfo());
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMSMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,128 @@
package com.vci.ubcs.ddl.mapper;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
 * Description: SqlServer数据库操作类
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Repository
public interface DdlMSMapper extends DdlMapper{
    /**
     * å‘数据库表中添加单个字段
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql è¦æ·»åŠ çš„æ–°çš„sql
     * @return å½±å“çš„行数
     */
    @Update("alter table ${tableName} add ${attributeSql} ")
    @ResultType(Integer.class)
    @Override
    int addColumn2TableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    /**
     * å•个修改数据表的字段
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql å±žæ€§æ–°çš„sql
     * @return å½±å“çš„行数
     */
    @Update("alter table ${tableName} ALTER COLUMN ${attributeSql} ")
    @ResultType(Integer.class)
    @Override
    int modifyTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    /**
     * åˆ é™¤è¡¨æ ¼
     * @param tableName è¡¨æ ¼åç§°
     * @return å½±å“çš„行数
     */
    @Update("drop table if exists ${tableName}")
    @ResultType(Integer.class)
    @Override
    int dropTable(@Param("tableName") String tableName);
    /**
     * æ ¡éªŒæ•°æ®åº“表或者视图是否存在--ms sql
     * @param tableName è¡¨æ ¼åç§°
     * @return å­˜åœ¨çš„个数
     */
    @Select("select count(name) from sysobjects where type in ('U','V') and upper(name) = upper(#{tableName,jdbcType=VARCHAR})")
    @ResultType(Integer.class)
    @Override
    int checkTableExist(@Param("tableName") String tableName);
    /**
     * æŸ¥è¯¢è¡¨æ ¼çš„字段信息--sql server
     * @param tableName è¡¨æ ¼çš„名称
     * @return æ•°æ®åº“表的字段信息
     */
    @ResultMap("ddlTableColumnInfo")
    @Select("")
    List<DdlTableInDataBaseBO> selectTableColumnInfo(@Param("tableName") String tableName);
    /**
     * åˆ é™¤è¡¨æ ¼ä¸­çš„列
     * @param tableName è¡¨åç§°
     * @param columnName åˆ—名称
     * @return å—影响的行数
     */
    @Override
    int dropTableColumn(@Param("tableName")String tableName, @Param("columnName")String columnName);
    /**
     * èŽ·å–æ‰€æœ‰çš„è¡¨æ ¼åç§°
     * @return è¡¨æ ¼åç§°
     */
    @Select("select name from sysobjects where type in ('U','V')")
    List<String> selectAllTableName();
    /**
     * æŸ¥è¯¢è¡¨æ ¼çš„中文名称
     * @param tableName è¡¨æ ¼åç§°
     * @return è¡¨æ ¼åç§°å’Œè¡¨æ ¼ä¸­æ–‡åç§°
     */
    DdlTableBO selectTableComment(@Param("tableName")String tableName);
    /**
     * åˆ›å»ºæ•°æ®åº“表
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql å±žæ€§çš„sql
     * @return å½±å“çš„行数
     */
    @Update("create table ${tableName} ( ${attributeSql} )")
    @ResultType(Integer.class)
    @Override
    int createTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    /**
     * ä¸ºè¡¨æ ¼æ·»åŠ æ³¨é‡Šå†…å®¹
     * @param tableName è¡¨æ ¼çš„名称
     * @param comment æ³¨é‡Šçš„内容
     * @return å—影响的行数
     */
    @Update("COMMENT ON TABLE ${tableName}  IS '${comment}' ")
    @ResultType(Integer.class)
    @Override
    int commentTable(@Param("tableName") String tableName, @Param("comment") String comment);
    /**
     * ä¸ºè¡¨æ ¼çš„列添加注释内容
     * @param tableName è¡¨æ ¼çš„名称
     * @param columnName åˆ—
     * @param comment æ³¨é‡Šçš„内容
     * @return å—影响的行数
     */
    @Update("COMMENT ON column ${tableName}.${columnName} IS '${comment}' ")
    @ResultType(Integer.class)
    @Override
    int commentColumnTable(@Param("tableName") String tableName,@Param("columnName")String columnName, @Param("comment") String comment);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,127 @@
package com.vci.ubcs.ddl.mapper;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.type.JdbcType;
import java.util.List;
/**
 * Description: æ•°æ®åº“操作
 *
 * @author LiHang
 * @date 2023/4/24
 */
public interface DdlMapper {
    /**
     * ç»Ÿè®¡è¡¨æ ¼ä¸­æœ‰å¤šå°‘数据
     * @param tableName è¡¨æ ¼åç§°
     * @return æ•°æ®çš„æ€»æ•°
     */
    @Select( "select count(*) from ${tableName}")
    @ResultType(Integer.class)
    int countAll(@Param("tableName")String tableName);
    /**
     * æ ¹æ®SQL语句创建视图
     * @param viewCreateSql
     * @return å½±å“è¡Œæ•°
     */
    @Update("${viewCreateSql}")
    @ResultType(Integer.class)
    int createViewBySql(@Param("viewCreateSql") String viewCreateSql);
    /**
     * æ ¹æ®sql语句插入数据
     * @param insertSql è¦æ‰§è¡Œçš„sql语句
     * @return å½±å“çš„行数
     */
    @Insert("${insertSql}")
    @ResultType(Integer.class)
    int insertBySql(@Param("insertSql")String insertSql);
    /**
     * åˆ›å»ºæ•°æ®åº“表
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql å±žæ€§çš„sql
     * @return å½±å“çš„行数
     */
    @Update("create table ${tableName} ( ${attributeSql} )")
    @ResultType(Integer.class)
    int createTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    /**
     * ä¸ºè¡¨æ ¼æ·»åŠ æ³¨é‡Šå†…å®¹
     * @param tableName è¡¨æ ¼çš„名称
     * @param comment æ³¨é‡Šçš„内容
     * @return å—影响的行数
     */
    @Update("COMMENT ON TABLE ${tableName}  IS '${comment}' ")
    @ResultType(Integer.class)
    int commentTable(@Param("tableName") String tableName, @Param("comment") String comment);
    /**
     * ä¸ºè¡¨æ ¼çš„列添加注释内容
     * @param tableName è¡¨æ ¼çš„名称
     * @param columnName åˆ—
     * @param comment æ³¨é‡Šçš„内容
     * @return å—影响的行数
     */
    @Update("COMMENT ON column ${tableName}.${columnName} IS '${comment}' ")
    @ResultType(Integer.class)
    int commentColumnTable(@Param("tableName") String tableName,@Param("columnName")String columnName, @Param("comment") String comment);
    /**
     * æ ¡éªŒæ•°æ®åº“表或者视图是否存在
     * @param tableName è¡¨æ ¼çš„名称,不区分大小写
     * @return å­˜åœ¨çš„个数
     */
    @Select( "select count(table_name) from user_tables where upper(table_name) = upper(#{tableName,jdbcType=VARCHAR})")
    @ResultType(Integer.class)
    int checkTableExist(@Param("tableName") String tableName);
    /**
     * æŸ¥è¯¢è¡¨æ ¼çš„字段信息
     * @param tableName è¡¨æ ¼çš„名称
     * @return æ•°æ®åº“表的字段信息
     */
    @Results(id="ddlTableColumnInfo",value = {
        @Result(property = "id",column = "COLUMN_NAME",jdbcType = JdbcType.VARCHAR),
        @Result(property = "name",column = "COMMENTS",jdbcType = JdbcType.VARCHAR),
        @Result(property = "attrDataType",column = "DATA_TYPE",jdbcType = JdbcType.VARCHAR),
        @Result(property = "attributeLength",column = "DATA_LENGTH",jdbcType = JdbcType.DECIMAL),
        @Result(property = "nullableFlag",column = "NULLABLE",jdbcType = JdbcType.VARCHAR),
        @Result(property = "precisionLength",column = "DATA_PRECISION",jdbcType = JdbcType.DECIMAL),
        @Result(property = "scaleLength",column = "DATA_SCALE",jdbcType = JdbcType.DECIMAL)
    })
    @Select("SELECT t.column_name,t.data_type,t.data_length,t.nullable,t.data_precision,t.data_scale,c.comments FROM user_tab_columns t inner JOIN user_col_comments c on t.TABLE_NAME  = c.table_name and t.COLUMN_NAME = c.column_name where t.table_name = upper(#{tableName,jdbcType=VARCHAR}) order by t.column_name asc")
    List<DdlTableInDataBaseBO> selectTableColumnInfo(@Param("tableName") String tableName);
    /**
     * èŽ·å–æ‰€æœ‰çš„è¡¨æ ¼åç§°
     * @return è¡¨æ ¼åç§°
     */
    @Select("select table_name from user_tables order by table_name asc")
    List<String> selectAllTableName();
    /**
     * æŸ¥è¯¢è¡¨æ ¼çš„中文名称
     * @param tableName è¡¨æ ¼åç§°
     * @return è¡¨æ ¼åç§°å’Œè¡¨æ ¼ä¸­æ–‡åç§°
     */
    @Results(id="ddlTableInfo",value = {
        @Result(property = "tableName",column = "TABLE_NAME",jdbcType = JdbcType.VARCHAR),
        @Result(property = "tableDesc",column = "COMMENTS",jdbcType = JdbcType.VARCHAR)
    })
    @Select("select table_name,comments from user_tab_comments where table_name = upper(#{tableName,jdbcType=VARCHAR}) ")
    DdlTableBO selectTableComment(@Param("tableName")String tableName);
    int addColumn2TableBySql(String tableName, String attributeSql);
    int modifyTableBySql(String tableName, String attributeSql);
    int dropTable(String tableName);
    int dropTableColumn(String tableName, String columnName);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMySqlMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,121 @@
package com.vci.ubcs.ddl.mapper;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
 * Description: MySql数据库操作类
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Repository
public interface DdlMySqlMapper extends DdlMapper{
    /**
     * åˆ›å»ºæ•°æ®åº“表
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql å±žæ€§çš„sql
     * @return å½±å“çš„行数
     */
    @Update("create table ${tableName} ( ${attributeSql} )")
    @ResultType(Integer.class)
    int createTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    /**
     * ä¸ºè¡¨æ ¼æ·»åŠ æ³¨é‡Šå†…å®¹
     * @param tableName è¡¨æ ¼çš„名称
     * @param comment æ³¨é‡Šçš„内容
     * @return å—影响的行数
     */
    @Update("COMMENT ON TABLE ${tableName}  IS '${comment}' ")
    @ResultType(Integer.class)
    int commentTable(@Param("tableName") String tableName, @Param("comment") String comment);
    /**
     * ä¸ºè¡¨æ ¼çš„列添加注释内容
     * @param tableName è¡¨æ ¼çš„名称
     * @param columnName åˆ—
     * @param comment æ³¨é‡Šçš„内容
     * @return å—影响的行数
     */
    @Update("COMMENT ON column ${tableName}.${columnName} IS '${comment}' ")
    @ResultType(Integer.class)
    int commentColumnTable(@Param("tableName") String tableName,@Param("columnName")String columnName, @Param("comment") String comment);
    /**
     * æ‰¹é‡ä¿®æ”¹æ•°æ®åº“的字段--
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql å±žæ€§æ–°çš„sql
     * @return å½±å“çš„行数
     */
    @Update("alter table ${tableName} ${attributeSql} ")
    @ResultType(Integer.class)
    int modifyTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    /**
     * å‘数据库表中批量添加字段
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql è¦æ·»åŠ çš„æ–°çš„sql
     * @return å½±å“çš„行数
     */
    @Update("alter table ${tableName} ${attributeSql} ")
    @ResultType(Integer.class)
    int addColumn2TableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    /**
     * åˆ é™¤è¡¨æ ¼
     * @param tableName è¡¨æ ¼åç§°
     * @return å½±å“çš„行数
     */
    @Update("drop table if exists ${tableName}")
    @ResultType(Integer.class)
    int dropTable(@Param("tableName") String tableName);
    /**
     * æ ¡éªŒæ•°æ®åº“表或者视图
     * @param tableName è¡¨æ ¼åç§°
     * @return å­˜åœ¨çš„个数
     */
    @Select("use information_scheam;select count(table_name) from tables where table_name = #{tableName,jdbcType=VARCHAR}")
    @ResultType(Integer.class)
    int checkTableExist(@Param("tableName") String tableName);
    /**
     * æŸ¥è¯¢è¡¨æ ¼çš„字段信息--sql server
     * @param tableName è¡¨æ ¼çš„名称
     * @return æ•°æ®åº“表的字段信息
     */
    @ResultMap("ddlTableColumnInfo")
    @Select("")
    List<DdlTableInDataBaseBO> selectTableColumnInfo(@Param("tableName")String tableName);
    /**
     * åˆ é™¤è¡¨æ ¼ä¸­çš„列
     * @param tableName è¡¨åç§°
     * @param columnName åˆ—名称
     * @return å—影响的行数
     */
    int dropTableColumn(@Param("tableName")String tableName, @Param("columnName")String columnName);
    /**
     * èŽ·å–æ‰€æœ‰çš„è¡¨æ ¼åç§°
     * @return è¡¨æ ¼åç§°
     */
    @Select("use information_scheam;select table_name from tables")
    List<String> selectAllTableName();
    /**
     * æŸ¥è¯¢è¡¨æ ¼çš„中文名称
     * @param tableName è¡¨æ ¼åç§°
     * @return è¡¨æ ¼åç§°å’Œè¡¨æ ¼ä¸­æ–‡åç§°
     */
    DdlTableBO selectTableComment(@Param("tableName")String tableName);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlOracleMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
package com.vci.ubcs.ddl.mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
/**
 * Description: Oracle数据库操作
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Repository
public interface DdlOracleMapper extends DdlMapper{
    /**
     * åˆ é™¤è¡¨æ ¼ä¸­çš„列
     * @param tableName è¡¨åç§°
     * @param columnName åˆ—名称
     * @return å—影响的行数
     */
    @Update("alter table ${tableName} DROP COLUMN ${columnName}")
    @Override
    int dropTableColumn(@Param("tableName")String tableName, @Param("columnName")String columnName);
    /**
     * åˆ é™¤è¡¨æ ¼
     * @param tableName è¡¨æ ¼åç§°
     * @return å½±å“çš„行数
     */
    @Update("drop table if exists ${tableName}")
    @ResultType(Integer.class)
    @Override
    int dropTable(@Param("tableName") String tableName);
    /**
     * æ‰¹é‡ä¿®æ”¹æ•°æ®åº“表的字段
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql ä¿®æ”¹çš„属性的sql
     * @return å½±å“çš„行数
     */
    @Update("alter table ${tableName} modify ( ${attributeSql} ) ")
    @ResultType(Integer.class)
    @Override
    int modifyTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    /**
     * å‘数据库表中批量添加字段
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql è¦æ·»åŠ çš„æ–°çš„sql
     * @return å½±å“çš„行数
     */
    @Update("alter table ${tableName} add ( ${attributeSql} )")
    @ResultType(Integer.class)
    @Override
    int addColumn2TableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package com.vci.ubcs.ddl.mapper;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/25
 */
public interface DllMapper {
    int createViewBySql(String viewCreateSql);
    int createTableBySql(String tableName,String attributeSql);
    int checkTableExist(String tableName);
    int countAll(String tableName);
    int commentTable(String tableName, String comment);
    int commentColumnTable(String tableName, String columnName, String comment);
    int modifyTableBySql(String tableName, String attributeSql);
    int addColumn2TableBySql(String tableName, String attributeSql);
    int dropTable(String tableName);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllMsMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.vci.ubcs.ddl.mapper;
import org.springframework.stereotype.Repository;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/25
 */
@Repository
public interface DllMsMapper extends DllMapper{
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllOracleMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@
package com.vci.ubcs.ddl.mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
/**
 * Description: oracle的数据库操作
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Repository
public interface DllOracleMapper extends DllMapper{
    @Update({"${viewCreateSql}"})
    @Override
    int createViewBySql(@Param("viewCreateSql") String viewCreateSql);
    @Update({"create table ${tableName} ( ${attributeSql} )"})
    @Override
    int createTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    @Update({"COMMENT ON TABLE ${tableName}  IS '${comment}' "})
    @Override
    int commentTable(@Param("tableName") String tableName, @Param("comment") String comment);
    @Update({"COMMENT ON column ${tableName}.${columnName} IS '${comment}' "})
    @Override
    int commentColumnTable(@Param("tableName") String tableName, @Param("columnName") String columnName, @Param("comment") String comment);
    @Update({"alter table ${tableName} modify ( ${attributeSql} ) "})
    @Override
    int modifyTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    @Update({"alter table ${tableName} add ( ${attributeSql} )"})
    @Override
    int addColumn2TableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    @Update({"drop table if exists ${tableName}"})
    @Override
    int dropTable(@Param("tableName") String tableName);
    @Select({"select count(table_name) from user_tables where upper(table_name) = upper(#{tableName,jdbcType=VARCHAR})"})
    @Override
    int checkTableExist(@Param("tableName") String tableName);
    @Select({"select count(*) from ${tableName}"})
    @ResultType(Integer.class)
    @Override
    int countAll(@Param("tableName") String tableName);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllSqlLiteMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package com.vci.ubcs.ddl.mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
/**
 * Description:sqlLite的数据库操作类
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Repository
public interface DllSqlLiteMapper extends DllMapper {
    @Update({"${viewCreateSql}"})
    @ResultType(Integer.class)
    @Override
    int createViewBySql(@Param("viewCreateSql") String viewCreateSql);
    @Update({"create table ${tableName} ( ${attributeSql} )"})
    @ResultType(Integer.class)
    @Override
    int createTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    @Select({"select count(name) from sqlite_master where upper(name) = upper(#{tableName,jdbcType=VARCHAR})"})
    @ResultType(Integer.class)
    @Override
    int checkTableExist(@Param("tableName") String tableName);
    @Select({"select count(*) from ${tableName}"})
    @ResultType(Integer.class)
    @Override
    int countAll(@Param("tableName") String tableName);
    @Select({"drop table ${tableName}"})
    @ResultType(Integer.class)
    @Override
    int dropTable(String tableName);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlBehavior.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.vci.ubcs.ddl.processor.ddl;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/25
 */
public interface DdlBehavior {
    String SPACE = " ";
    void modifyTableBySqlBase(String tableName,String attributeSql);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessStrategy.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.vci.ubcs.ddl.processor.ddl;
import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
import org.springframework.beans.factory.annotation.Value;
import java.util.List;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
public class DdlMapperProcessStrategy {
    @Value("${spring.datasource.driver-class-name}")
    private static final String DATABASE_DRIVER = "";
    public static List<DdlMapperProcessor> processors = Lists.newArrayList();
    static {
        processors.add(new DdlMsMapperProcessor());
        processors.add(new DdlMySqlMapperProcessor());
        processors.add(new DdlOracleMapperProcessor());
    }
    public static DdlMapperProcessor getProcessor(){
        for (DdlMapperProcessor processor : processors) {
            if (processor.support(DATABASE_DRIVER)){
                return processor;
            }
        }
        return DdlOracleMapperProcessor.SINGLE.INSTANCE;
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,156 @@
package com.vci.ubcs.ddl.processor.ddl;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
import com.vci.ubcs.ddl.mapper.DdlMapper;
import java.util.List;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
public abstract class DdlMapperProcessor implements DdlBehavior{
    public DdlMapperProcessor(DdlMapper mapper) {
        this.mapper = mapper;
    }
    private final DdlMapper mapper;
    abstract boolean support(String url);
    /**
     * ç»Ÿè®¡è¡¨æ ¼ä¸­æœ‰å¤šå°‘数据
     * @param tableName è¡¨æ ¼åç§°
     * @return æ•°æ®çš„æ€»æ•°
     */
    public int countAll(String tableName){
        return mapper.countAll(tableName);
    }
    /**
     * æ ¹æ®SQL语句创建视图
     * @param viewCreateSql
     * @return å½±å“è¡Œæ•°
     */
    public int createViewBySql( String viewCreateSql){
        return mapper.createViewBySql(viewCreateSql);
    }
    /**
     * æ ¹æ®sql语句插入数据
     * @param insertSql è¦æ‰§è¡Œçš„sql语句
     * @return å½±å“çš„行数
     */
    public int insertBySql(String insertSql){
        return mapper.insertBySql(insertSql);
    }
    /**
     * åˆ›å»ºæ•°æ®åº“表
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql å±žæ€§çš„sql
     * @return å½±å“çš„行数
     */
    public int createTableBySql(String tableName, String attributeSql){
        return mapper.createTableBySql(tableName,attributeSql);
    }
    /**
     * ä¸ºè¡¨æ ¼æ·»åŠ æ³¨é‡Šå†…å®¹
     * @param tableName è¡¨æ ¼çš„名称
     * @param comment æ³¨é‡Šçš„内容
     * @return å—影响的行数
     */
    public int commentTable(String tableName,  String comment){
        return mapper.commentTable(tableName,comment);
    }
    /**
     * ä¸ºè¡¨æ ¼çš„列添加注释内容
     * @param tableName è¡¨æ ¼çš„名称
     * @param columnName åˆ—
     * @param comment æ³¨é‡Šçš„内容
     * @return å—影响的行数
     */
    public int commentColumnTable(String tableName,String columnName,  String comment){
        return mapper.commentColumnTable(tableName,columnName,comment);
    }
    /**
     * æ ¡éªŒæ•°æ®åº“表或者视图是否存在
     * @param tableName è¡¨æ ¼çš„名称,不区分大小写
     * @return å­˜åœ¨çš„个数
     */
    public int checkTableExist( String tableName){
        return mapper.checkTableExist(tableName);
    }
    /**
     * æŸ¥è¯¢è¡¨æ ¼çš„字段信息
     * @param tableName è¡¨æ ¼çš„名称
     * @return æ•°æ®åº“表的字段信息
     */
    public List<DdlTableInDataBaseBO> selectTableColumnInfo( String tableName){
        return mapper.selectTableColumnInfo(tableName);
    }
    /**
     * èŽ·å–æ‰€æœ‰çš„è¡¨æ ¼åç§°
     * @return è¡¨æ ¼åç§°
     */
    public List<String> selectAllTableName(){
        return mapper.selectAllTableName();
    }
    /**
     * æŸ¥è¯¢è¡¨æ ¼çš„中文名称
     * @param tableName è¡¨æ ¼åç§°
     * @return è¡¨æ ¼åç§°å’Œè¡¨æ ¼ä¸­æ–‡åç§°
     */
    public DdlTableBO selectTableComment(String tableName){
        return mapper.selectTableComment(tableName);
    }
    /**
     * å‘数据库表中添加单个字段
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql è¦æ·»åŠ çš„æ–°çš„sql
     * @return å½±å“çš„行数
     */
    public int addColumn2TableBySql(String tableName, String attributeSql){
        return mapper.addColumn2TableBySql(tableName,attributeSql);
    }
    /**
     * å•个修改数据表的字段
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql å±žæ€§æ–°çš„sql
     * @return å½±å“çš„行数
     */
    public int modifyTableBySql( String tableName, String attributeSql){
        return mapper.modifyTableBySql(tableName,attributeSql);
    }
    /**
     * åˆ é™¤è¡¨æ ¼
     * @param tableName è¡¨æ ¼åç§°
     * @return å½±å“çš„行数
     */
    public int dropTable( String tableName){
        return mapper.dropTable(tableName);
    }
    /**
     * åˆ é™¤è¡¨æ ¼ä¸­çš„列
     * @param tableName è¡¨åç§°
     * @param columnName åˆ—名称
     * @return å—影响的行数
     */
    public int dropTableColumn(String tableName,String columnName){
        return mapper.dropTableColumn(tableName,columnName);
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMsMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package com.vci.ubcs.ddl.processor.ddl;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.ubcs.ddl.mapper.DdlMSMapper;
import com.vci.ubcs.ddl.mapper.DdlMapper;
import org.springframework.util.CollectionUtils;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
 * Description: SqlServer的数据库操作
 *
 * @author LiHang
 * @date 2023/4/24
 */
public class DdlMsMapperProcessor extends DdlMapperProcessor{
    @Resource
    private DdlMSMapper msMapper;
    private static DdlMapper mapper;
    @PostConstruct
    public void init(){
        mapper = msMapper;
    }
    public DdlMsMapperProcessor() {
        super(mapper);
    }
    @Override
    public boolean support(String url) {
        return "com.microsoft.sqlserver.jdbc.SQLServerDriver".equals(url);
    }
    @Override
    public void modifyTableBySqlBase(String tableName, String attributeSql) {
        List<String> modifyColumnSqlList = VciBaseUtil.str2List(attributeSql);
        if (!CollectionUtils.isEmpty(modifyColumnSqlList)) {
            modifyColumnSqlList.stream().forEach(s -> {
                mapper.modifyTableBySql(tableName, s);
            });
        }
    }
    /**
     * å‘数据库表中添加单个字段
     *
     * @param tableName    è¡¨æ ¼çš„名称
     * @param attributeSql è¦æ·»åŠ çš„æ–°çš„sql
     * @return å½±å“çš„行数
     */
    @Override
    public int addColumn2TableBySql(String tableName, String attributeSql) {
        List<String> modifyColumnSqlList = VciBaseUtil.str2List(attributeSql);
        List<Integer> result = new ArrayList<>();
        if (!CollectionUtils.isEmpty(modifyColumnSqlList)) {
            modifyColumnSqlList.stream().forEach(s -> {
                result.add(mapper.addColumn2TableBySql(tableName, s));
            });
            return result.stream().mapToInt(Integer::intValue).sum();
        }
        return 0;
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMySqlMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
package com.vci.ubcs.ddl.processor.ddl;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.ubcs.ddl.mapper.DdlMapper;
import com.vci.ubcs.ddl.mapper.DdlMySqlMapper;
import org.springframework.stereotype.Repository;
import org.springframework.util.CollectionUtils;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.List;
/**
 * Description:MySql的数据库操作
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Repository
public class DdlMySqlMapperProcessor extends DdlMapperProcessor{
    @Resource
    private DdlMySqlMapper myMapper;
    private static DdlMapper mapper;
    @PostConstruct
    public void init(){
        mapper = myMapper;
    }
    public DdlMySqlMapperProcessor() {
        super(mapper);
    }
    @Override
    public boolean support(String url) {
        return "com.mysql.cj.jdbc.Driver".equals(url);
    }
    @Override
    public void modifyTableBySqlBase(String tableName, String attributeSql) {
        StringBuilder sb = new StringBuilder();
        List<String> modifyColumnSqlList = VciBaseUtil.str2List(attributeSql);
        if (!CollectionUtils.isEmpty(modifyColumnSqlList)) {
            modifyColumnSqlList.stream().forEach(s -> {
                sb.append(SPACE).append("modify").append(SPACE).append(s).append(SPACE).append(",");
            });
        }
        modifyTableBySql(tableName,sb.substring(0, sb.lastIndexOf(",")));
    }
    /**
     * å‘数据库表中添加单个字段
     *
     * @param tableName    è¡¨æ ¼çš„名称
     * @param attributeSql è¦æ·»åŠ çš„æ–°çš„sql
     * @return å½±å“çš„行数
     */
    @Override
    public int addColumn2TableBySql(String tableName, String attributeSql) {
        StringBuilder sb = new StringBuilder();
        List<String> modifyColumnSqlList = VciBaseUtil.str2List(attributeSql);
        if (!CollectionUtils.isEmpty(modifyColumnSqlList)) {
            modifyColumnSqlList.stream().forEach(s -> {
                sb.append(SPACE).append("add").append(SPACE).append(s).append(SPACE).append(",");
            });
            return mapper.addColumn2TableBySql(tableName, sb.substring(0, sb.lastIndexOf(",")));
        }
        return 0;
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlOracleMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package com.vci.ubcs.ddl.processor.ddl;
import com.vci.ubcs.ddl.mapper.DdlMapper;
import com.vci.ubcs.ddl.mapper.DdlOracleMapper;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
/**
 * Description: oracle的数据库操作
 *
 * @author LiHang
 * @date 2023/4/24
 */
public class DdlOracleMapperProcessor extends DdlMapperProcessor{
    @Resource
    private DdlOracleMapper oracleMapper;
    @Override
    boolean support(String url) {
        return "oracle.jdbc.OracleDriver".equals(url);
    }
    public static class SINGLE {
        public static DdlOracleMapperProcessor INSTANCE = new DdlOracleMapperProcessor();
    }
    private static DdlMapper mapper;
    @PostConstruct
    public void init(){
        mapper = oracleMapper;
    }
    public DdlOracleMapperProcessor() {
        super(mapper);
    }
    @Override
    public void modifyTableBySqlBase(String tableName, String attributeSql) {
        modifyTableBySql(tableName,attributeSql);
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllBehavior.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,105 @@
package com.vci.ubcs.ddl.processor.dll;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import java.util.List;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/25
 */
public interface DllBehavior {
    /**
     * ä¸»é”®
     */
    String OID = "oid";
    /**
     * ç©ºæ ¼
     */
    String SPACE = " ";
    /**
     * é»˜è®¤å€¼
     */
    String DEFAULT = "default";
    /**
     * å­—符串
     */
    String VARCHAR = "varchar2";
    /**
     * æ•°å­—
     */
    String NUMBER = "number";
    /**
     * æ—¥æœŸï¼Œæ—¥æœŸæ—¶é—´ï¼Œæ—¶é—´æˆ³
     */
    String TIMESTAMP = "TIMESTAMP";
    /**
     * èŽ·å–åˆ›å»ºçš„sql语句中属性部分
     * @param attributeVOList å±žæ€§çš„立碑
     * @return sql语句
     */
    String getCreateSqlByAttributeForBtm(List<OmdBtmTypeAttributeVO> attributeVOList);
    /**
     * å¤„理整数类型的sql转换
     * @param attributeVO å±žæ€§
     * @return sql
     */
    String dealNumberCreateSql(OmdBtmTypeAttributeVO attributeVO);
    /**
     * è°ƒç”¨å¤„理默认值和非空
     * @param attributeVO å±žæ€§
     * @return æ‰§è¡Œç»“æžœ
     */
    String dealDefaultAndNull(OmdBtmTypeAttributeVO attributeVO);
    /**
     * å¤„理默认值
     * @param defaultValue é»˜è®¤å€¼
     * @return sql
     */
    String dealDefaultValue(String defaultValue);
    /**
     * å¤„理浮点数类型的sql转换
     * @param attributeVO å±žæ€§
     * @return sql
     */
    String dealDoubleCreateSql(OmdBtmTypeAttributeVO attributeVO);
    /**
     * å¤„理非空
     * @return sql
     */
    String dealNullableSql(OmdBtmTypeAttributeVO attributeVO);
    /**
     * å¤„理布尔类型的sql转换
     * @param attributeVO å±žæ€§
     * @return sql
     */
    String dealBooleanCreateSql(OmdBtmTypeAttributeVO attributeVO);
    /**
     * å¤„理日期时间类型的sql转换
     * @param attributeVO å±žæ€§
     * @return sql
     */
    String dealDateTimeCreateSql(OmdBtmTypeAttributeVO attributeVO);
    /**
     * å¤„理字符串类型的sql转换
     * @param attributeVO å±žæ€§
     * @return sql
     */
    String dealStringCreateSql(OmdBtmTypeAttributeVO attributeVO);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,191 @@
package com.vci.ubcs.ddl.processor.dll;
import com.vci.ubcs.ddl.mapper.DllMapper;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
/**
 * Description:DLL的处理接口
 *
 * @author LiHang
 * @date 2023/4/24
 */
public abstract class DllMapperProcessor implements DllBehavior {
    private DllMapper mapper;
    public DllMapperProcessor(DllMapper mapper) {
        this.mapper = mapper;
    }
    public abstract boolean support(String url);
    public int createViewBySql(String viewCreateSql) {
        return mapper.createViewBySql(viewCreateSql);
    }
    public int createTableBySql(String tableName, String attributeSql) {
        return mapper.createTableBySql(tableName, attributeSql);
    }
    public int commentTable(String tableName, String comment) {
        return mapper.commentTable(tableName, comment);
    }
    public int commentColumnTable(String tableName, String columnName, String comment) {
        return mapper.commentColumnTable(tableName, columnName, comment);
    }
    public int modifyTableBySql(String tableName, String attributeSql) {
        return mapper.modifyTableBySql(tableName, attributeSql);
    }
    public int addColumn2TableBySql(String tableName, String attributeSql) {
        return mapper.addColumn2TableBySql(tableName, attributeSql);
    }
    public int dropTable(String tableName) {
        return mapper.dropTable(tableName);
    }
    public int checkTableExist(String tableName) {
        return mapper.checkTableExist(tableName);
    }
    public int countAll(String tableName) {
        return mapper.countAll(tableName);
    }
    /**
     * å¤„理整数类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealNumberCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        StringBuilder snb = new StringBuilder().append(NUMBER + SPACE);
        dealDefaultAndNull(attributeVO);
        return snb.toString();
    }
    /**
     * è°ƒç”¨å¤„理默认值和非空
     *
     * @param attributeVO å±žæ€§
     * @return æ‰§è¡Œç»“æžœ
     */
    @Override
    public String dealDefaultAndNull(OmdBtmTypeAttributeVO attributeVO) {
        String value = "";
        if (StringUtils.isNotBlank(attributeVO.getDefaultValue())) {
            value += dealDefaultValue(attributeVO.getDefaultValue());
        }
        if (!attributeVO.isNullableFlag()){
            value += dealNullableSql(attributeVO);
        }
        return value;
    }
    /**
     * å¤„理默认值
     *
     * @return sql
     */
    @Override
    public String dealDefaultValue(String defualValule) {
        return DEFAULT + SPACE + defualValule + SPACE;
    }
    /**
     * å¤„理浮点数类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealDoubleCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        Integer length = attributeVO.getPrecisionLength();
        if(length == null || length == 0){
            length = 20;
        }
        Integer scaleLength = attributeVO.getScaleLength();
        if(scaleLength == null){
            scaleLength = 2;
        }
        StringBuilder sb = new StringBuilder().append(NUMBER).append("(").append(String.valueOf(length.intValue()))
            .append(",").append(String.valueOf(scaleLength.intValue()))
            .append(")").append(SPACE);
        sb.append(dealDefaultAndNull(attributeVO));
        return sb.toString();
    }
    /**
     * å¤„理非空
     *
     * @return sql
     */
    @Override
    public String dealNullableSql(OmdBtmTypeAttributeVO attributeVO) {
        if (!attributeVO.isNullableFlag()) {
            return SPACE + "not null" + SPACE;
        }
        return "";
    }
    /**
     * å¤„理布尔类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealBooleanCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO);
    }
    /**
     * å¤„理日期时间类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealDateTimeCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        return "DATETIME" + SPACE + dealDefaultAndNull(attributeVO);
    }
    /**
     * å¤„理字符串类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealStringCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        StringBuilder sb = new StringBuilder();
        Integer length2 = attributeVO.getAttributeLength();
        if (length2 == null) {
            length2 = 250;
        }
        sb.append("VARCHAR").append("(").
            append(String.valueOf(length2.intValue())).append(")").append(SPACE);
        if (OID.equalsIgnoreCase(attributeVO.getId())) {
            sb.append(" primary key ");
            //强制设置OID为主键
        }
        sb.append(dealDefaultAndNull(attributeVO));
        return sb.toString();
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessorStrategy.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
package com.vci.ubcs.ddl.processor.dll;
import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
import org.springframework.beans.factory.annotation.Value;
import java.util.List;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
public class DllMapperProcessorStrategy {
    @Value("${spring.datasource.driver-class-name}")
    private static final String DATABASE_DRIVER = "";
    public static List<DllMapperProcessor> processors = Lists.newArrayList();
    static {
        processors.add(new DllOracleMapperProcessor());
        processors.add(new DllSqlLiteMapperProcessor());
    }
    public static DllMapperProcessor getProcessor(){
        for (DllMapperProcessor processor : processors) {
            if (processor.support(DATABASE_DRIVER)){
                return processor;
            }
        }
        return DllOracleMapperProcessor.SINGLE.INSTANCE;
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,173 @@
package com.vci.ubcs.ddl.processor.dll;
import com.vci.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.ubcs.ddl.mapper.DllMapper;
import com.vci.ubcs.ddl.mapper.DllMsMapper;
import com.vci.ubcs.ddl.mapper.DllOracleMapper;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import org.apache.commons.lang3.StringUtils;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.List;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
public class DllMsMapperProcessor extends DllMapperProcessor {
    @Resource
    private DllMsMapper realMapper;
    private static DllMapper mapper;
    @PostConstruct
    public void init(){
        mapper = realMapper;
    }
    public DllMsMapperProcessor() {
        super(mapper);
    }
    public static class SINGLE {
        public static DllMsMapperProcessor INSTANCE = new DllMsMapperProcessor();
    }
    @Override
    public boolean support(String url) {
        return "oracle.jdbc.OracleDiver".equals(url);
    }
    /**
     * èŽ·å–åˆ›å»ºçš„sql语句中属性部分
     *
     * @param attributeVOList å±žæ€§çš„立碑
     * @return sql语句
     */
    @Override
    public String getCreateSqlByAttributeForBtm(List<OmdBtmTypeAttributeVO> attributeVOList) {
        StringBuilder sb = new StringBuilder();
        attributeVOList.forEach(a -> {
            sb.append(a.getId()).append(SPACE);
            VciFieldTypeEnum fieldTypeEnum = VciFieldTypeEnum.forValue(a.getAttrDataType());
            if (fieldTypeEnum == null) {
                throw new VciBaseException("属性有误");
            }
            switch (fieldTypeEnum) {
                case VTInteger:
                case VTLong:
                    sb.append(dealNumberCreateSql(a));
                    break;
                case VTDouble:
                    sb.append(dealDoubleCreateSql(a));
                    break;
                case VTBoolean:
                    sb.append(dealBooleanCreateSql(a));
                    break;
                case VTDate:
                case VTTime:
                case VTDateTime:
                    sb.append(dealDateTimeCreateSql(a));
                    break;
                case VTFilePath:
                    sb.append("VARCHAR").append("(100)").append(SPACE);
                    break;
                case VTClob:
                    sb.append("varchar(max)").append(SPACE);
                    if(!a.isNullableFlag()){
                        sb.append(SPACE).append("not null").append(SPACE);
                    }
                    break;
                default:
                    dealStringCreateSql(a);
                    break;
            }
            sb.append(",\n\t");
        });
        return sb.substring(0,sb.lastIndexOf(","));
    }
    /**
     * å¤„理整数类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealNumberCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        return "INT" + SPACE + dealDefaultAndNull(attributeVO);
    }
    /**
     * å¤„理浮点数类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealDoubleCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        Integer length = attributeVO.getPrecisionLength();
        if(length == null || length == 0){
            length = 20;
        }
        Integer scaleLength = attributeVO.getScaleLength();
        if(scaleLength == null){
            scaleLength = 2;
        }
        StringBuilder sb = new StringBuilder().append("numeric").append("(").append(String.valueOf(length.intValue()))
            .append(",").append(String.valueOf(scaleLength.intValue()))
            .append(")").append(SPACE);
        sb.append(dealDefaultAndNull(attributeVO));
        return sb.toString();
    }
    /**
     * å¤„理布尔类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealBooleanCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO);
    }
    /**
     * å¤„理日期时间类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealDateTimeCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        return "DATETIME" + SPACE + dealNullableSql(attributeVO);
    }
    /**
     * å¤„理字符串类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealStringCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        Integer length2 = attributeVO.getAttributeLength();
        if(length2 == null){
            length2 = 250;
        }
        StringBuilder sb = new StringBuilder().append("VARCHAR").append("(").
            append(String.valueOf(length2.intValue())).append(")").append(SPACE);
        if (OID.equalsIgnoreCase(attributeVO.getId())) {
            sb.append(" primary key ");
            //强制设置OID为主键
        }
        sb.append(dealDefaultAndNull(attributeVO));
        return sb.toString();
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,160 @@
package com.vci.ubcs.ddl.processor.dll;
import com.vci.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.ubcs.ddl.mapper.DllMapper;
import com.vci.ubcs.ddl.mapper.DllOracleMapper;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import org.apache.commons.lang3.StringUtils;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.smartcardio.ATR;
import java.util.List;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
public class DllMySqlMapperProcessor extends DllMapperProcessor {
    @Resource
    private DllOracleMapper realMapper;
    private static DllMapper mapper;
    @PostConstruct
    public void init() {
        mapper = realMapper;
    }
    public DllMySqlMapperProcessor() {
        super(mapper);
    }
    public static class SINGLE {
        public static DllMySqlMapperProcessor INSTANCE = new DllMySqlMapperProcessor();
    }
    @Override
    public boolean support(String url) {
        return "oracle.jdbc.OracleDiver".equals(url);
    }
    /**
     * èŽ·å–åˆ›å»ºçš„sql语句中属性部分
     *
     * @param attributeVOList å±žæ€§çš„立碑
     * @return sql语句
     */
    @Override
    public String getCreateSqlByAttributeForBtm(List<OmdBtmTypeAttributeVO> attributeVOList) {
        StringBuilder sb = new StringBuilder();
        attributeVOList.forEach(a -> {
            sb.append(a.getId()).append(SPACE);
            VciFieldTypeEnum fieldTypeEnum = VciFieldTypeEnum.forValue(a.getAttrDataType());
            if (fieldTypeEnum == null) {
                throw new VciBaseException("属性有误");
            }
            switch (fieldTypeEnum) {
                case VTInteger:
                case VTLong:
                    sb.append(dealNumberCreateSql(a));
                    break;
                case VTDouble:
                    sb.append(dealDoubleCreateSql(a));
                    break;
                case VTBoolean:
                    sb.append(dealBooleanCreateSql(a));
                    break;
                case VTDate:
                case VTTime:
                case VTDateTime:
                    sb.append(dealDateTimeCreateSql(a));
                case VTFilePath:
                    sb.append("VARCHAR").append("(100)").append(SPACE);
                    break;
                case VTClob:
                    sb.append("LONGTEXT").append(SPACE);
                    if (!a.isNullableFlag()) {
                        sb.append(SPACE).append("not null").append(SPACE);
                    }
                    break;
                default:
                    sb.append(dealStringCreateSql(a));
                    break;
            }
            sb.append(",\n\t");
        });
        return sb.substring(0, sb.lastIndexOf(","));
    }
    /**
     * å¤„理整数类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealNumberCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        StringBuilder sb = new StringBuilder();
        if (VciFieldTypeEnum.VTInteger.name().equalsIgnoreCase(attributeVO.getAttrDataType())) {
            sb.append("INT").append(SPACE);
        } else {
            sb.append("BIGINT").append(SPACE);
        }
        sb.append(dealDefaultAndNull(attributeVO));
        return sb.toString();
    }
    /**
     * å¤„理浮点数类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealDoubleCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        StringBuilder sb = new StringBuilder();
        Integer length = attributeVO.getPrecisionLength();
        if (length == null || length == 0) {
            length = 20;
        }
        Integer scaleLength = attributeVO.getScaleLength();
        if (scaleLength == null) {
            scaleLength = 2;
        }
        sb.append("DOUBLE").append("(").append(String.valueOf(length.intValue()))
            .append(",").append(String.valueOf(scaleLength.intValue()))
            .append(")").append(SPACE);
        sb.append(dealDefaultAndNull(attributeVO));
        return sb.toString();
    }
    /**
     * å¤„理布尔类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealBooleanCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO);
    }
    /**
     * å¤„理日期时间类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealDateTimeCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        return "DATETIME" + SPACE + dealDefaultAndNull(attributeVO);
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,141 @@
package com.vci.ubcs.ddl.processor.dll;
import com.vci.starter.web.enumpck.DataBaseEnum;
import com.vci.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.ubcs.ddl.mapper.DllMapper;
import com.vci.ubcs.ddl.mapper.DllOracleMapper;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.List;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
public class DllOracleMapperProcessor extends DllMapperProcessor {
    @Resource
    private DllOracleMapper realMapper;
    private static DllMapper mapper;
    @PostConstruct
    public void init(){
        mapper = realMapper;
    }
    public DllOracleMapperProcessor() {
        super(mapper);
    }
    public static class SINGLE {
        public static DllOracleMapperProcessor INSTANCE = new DllOracleMapperProcessor();
    }
    @Override
    public boolean support(String url) {
        return "oracle.jdbc.OracleDiver".equals(url);
    }
    /**
     * èŽ·å–åˆ›å»ºçš„sql语句中属性部分
     *
     * @param attributeVOList å±žæ€§çš„立碑
     * @return sql语句
     */
    @Override
    public String getCreateSqlByAttributeForBtm(List<OmdBtmTypeAttributeVO> attributeVOList) {
        StringBuilder sb = new StringBuilder();
        attributeVOList.forEach(a -> {
            sb.append(a.getId()).append(SPACE);
            VciFieldTypeEnum fieldTypeEnum = VciFieldTypeEnum.forValue(a.getAttrDataType());
            if (fieldTypeEnum == null) {
                throw new VciBaseException("属性有误");
            }
            switch (fieldTypeEnum) {
                case VTInteger:
                case VTLong:
                    sb.append(dealNumberCreateSql(a));
                    break;
                case VTDouble:
                    sb.append(dealDoubleCreateSql(a));
                    break;
                case VTBoolean:
                    sb.append(dealBooleanCreateSql(a));
                    break;
                case VTDate:
                case VTDateTime:
                case VTTime:
                    sb.append(dealDateTimeCreateSql(a));
                    break;
                case VTFilePath:
                    sb.append(VARCHAR).append("(100)").append(SPACE);
                    break;
                case VTClob:
                    sb.append("CLOB").append(SPACE);
                    if(!a.isNullableFlag()){
                        sb.append(SPACE).append("not null").append(SPACE);
                    }
                    break;
                default:
                    sb.append(dealStringCreateSql(a));
                    break;
            }
            sb.append(",\n\t");
        });
        return sb.substring(0,sb.lastIndexOf(","));
    }
    /**
     * å¤„理字符串类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealStringCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        Integer length2 = attributeVO.getAttributeLength();
        StringBuilder sb = new StringBuilder();
        if(length2 == null){
            length2 = 250;
        }
        sb.append(VARCHAR).append("(").
            append(String.valueOf(length2.intValue())).append(")").append(SPACE);
        if (OID.equalsIgnoreCase(attributeVO.getId())) {
            sb.append(" primary key ");
            //强制设置OID为主键
        }
        sb.append(dealDefaultAndNull(attributeVO));
        return sb.toString();
    }
    /**
     * å¤„理日期时间类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealDateTimeCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        return TIMESTAMP + SPACE + dealNullableSql(attributeVO);
    }
    /**
     * å¤„理布尔类型的sql转换
     *
     * @param attributeVO å±žæ€§
     * @return sql
     */
    @Override
    public String dealBooleanCreateSql(OmdBtmTypeAttributeVO attributeVO) {
        return VARCHAR + "(5)" + SPACE + dealDefaultAndNull(attributeVO);
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
package com.vci.ubcs.ddl.processor.dll;
import com.vci.ubcs.ddl.mapper.DllMapper;
import com.vci.ubcs.ddl.mapper.DllOracleMapper;
import com.vci.ubcs.ddl.mapper.DllSqlLiteMapper;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.List;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/24
 */
public class DllSqlLiteMapperProcessor extends DllMapperProcessor{
    @Resource
    private DllSqlLiteMapper realMapper;
    private static DllMapper mapper;
    @PostConstruct
    public void init(){
        mapper = realMapper;
    }
    public DllSqlLiteMapperProcessor() {
        super(mapper);
    }
    @Override
    public boolean support(String url) {
        return "org.sqlite.JDBC".equals(url);
    }
    /**
     * èŽ·å–åˆ›å»ºçš„sql语句中属性部分
     *
     * @param attributeVOList å±žæ€§çš„立碑
     * @return sql语句
     */
    @Override
    public String getCreateSqlByAttributeForBtm(List<OmdBtmTypeAttributeVO> attributeVOList) {
        return null;
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,242 @@
package com.vci.ubcs.ddl.service;
import com.vci.starter.word.bo.WordMergeStartTableDataBO;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.ddl.enums.DataBaseEnum;
import com.vci.ubcs.omd.dto.OmdBtmTypeDTO;
import com.vci.ubcs.omd.entity.OmdBtmTypeAttribute;
import com.vci.ubcs.omd.entity.OsModifyAttributeInfoDO;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import com.vci.ubcs.omd.vo.OmdBtmTypeVO;
import com.vci.ubcs.omd.vo.OsLinkTypeAttributeVO;
import com.vci.ubcs.omd.vo.OsLinkTypeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import org.springblade.core.tool.api.R;
import java.util.Collection;
import java.util.List;
/**
 * Description: æ•°æ®åº“操作服务类
 *  æ³¨æ„çš„æ˜¯ï¼Œoracle对于DDL操作都会先提交一次事务,当执行完成后会再次提交一次事务
 *
 * @author LiHang
 * @date 2023/4/24
 */
public interface IDdlService {
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹çš„æ•°æ®åº“è¡¨ä¸­æ˜¯å¦æœ‰æ•°æ®
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @return true表示有数据,false表示没有数据
     * @throws VciBaseException å‚数为空或者查询出错的时候会抛出异常
     */
    boolean checkTableHasData(String pkBtmType) throws VciBaseException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹çš„ä¸»é”®èŽ·å–æ•°æ®åº“è¡¨æ ¼çš„åç§°
     * @param pkBtmType  ä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹çš„ä¸»é”®
     * @return æ•°æ®åº“表名称
     */
    String getTableNameByBtmTypeOid(String pkBtmType);
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹èŽ·å–é“¾æŽ¥ç±»åž‹çš„è‹±æ–‡åç§°èŽ·å–æ•°æ®åº“è¡¨æ ¼çš„åç§°
     * @param id ä¸šåŠ¡ç±»åž‹èŽ·å–é“¾æŽ¥ç±»åž‹çš„è‹±æ–‡åç§°
     * @return æ•°æ®åº“表名称
     */
    String getTableNameByBtmTypeId(String id);
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹çš„æ•°æ®åº“è¡¨ä¸­æ˜¯å¦æœ‰æ•°æ®
     * @param id ä¸šåŠ¡ç±»åž‹çš„è‹±æ–‡åç§°
     * @return true表示有数据,false表示没有数据
     * @throws VciBaseException å‚数为空或者查询出错的时候会抛出异常
     */
    boolean checkTableHasDataById(String id) throws VciBaseException;
    /**
     * æ‰¹é‡å°†ä¸šåŠ¡ç±»åž‹åˆ›å»ºæ•°æ®åº“è¡¨
     * @param pkBtmTypes ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @throws VciBaseException å‚数为空或者创建表出现了错误的时候会抛出异常
     */
    void createDbTables(String pkBtmTypes) throws VciBaseException;
    /**
     * æ‰¹é‡å°†ä¸šåŠ¡ç±»åž‹åˆ›å»ºæ•°æ®åº“è¡¨
     * @param oidCollection ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®é›†åˆ
     * @throws VciBaseException å‚数为空或者创建表出现了错误的时候会抛出异常
     */
    void createDbTablesByOidCollection(Collection<String> oidCollection) throws VciBaseException;
    /**
     * æ‰¹é‡å°†ä¸šåŠ¡ç±»åž‹åˆ›å»ºæ•°æ®åº“è¡¨
     * @param ids ä¸šåŠ¡ç±»åž‹çš„è‹±æ–‡åç§°
     * @throws VciBaseException å‚数为空或者创建表出现了错误的时候会抛出异常
     */
    void createDbTablesById(String ids) throws VciBaseException;
    /**
     * ä¿®æ”¹ä¸šåŠ¡ç±»åž‹ä¸­çš„å±žæ€§å­—æ®µçš„é•¿åº¦ï¼Œæ³¨æ„åœ¨æ‰§è¡Œè¿™ä¸ªæ–¹æ³•æ—¶å°±ä¼šå°†ä»¥å‰çš„äº‹åŠ¡æäº¤ã€‚
     * @param modifyLengthAttrDOList éœ€è¦ä¿®æ”¹çš„属性对象
     * @throws VciBaseException æ‰§è¡Œå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    void changeColumnForBtm(List<OmdBtmTypeAttributeVO> modifyLengthAttrDOList) throws VciBaseException;
    /**
     * ä¿®æ”¹é“¾æŽ¥ç±»åž‹ä¸­çš„属性字段的长度,注意在执行这个方法时就会将以前的事务提交。
     * @param modifyLengthAttrDOListForLinkType éœ€è¦ä¿®æ”¹çš„属性对象
     * @throws VciBaseException æ‰§è¡Œå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    void changeColumnForLink(List<OsLinkTypeAttributeVO> modifyLengthAttrDOListForLinkType) throws VciBaseException;
    /**
     * æ·»åŠ å±žæ€§å­—æ®µåˆ°ä¸šåŠ¡ç±»åž‹ä¸­ï¼Œæ³¨æ„åœ¨æ‰§è¡Œè¿™ä¸ªæ–¹æ³•æ—¶å°±ä¼šå°†ä»¥å‰çš„äº‹åŠ¡æäº¤ã€‚
     * @param addAttrDOList éœ€è¦æ·»åŠ çš„å±žæ€§å¯¹è±¡
     * @throws VciBaseException æ‰§è¡Œå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    void addColumn2TableForBtm(List<OmdBtmTypeAttributeVO> addAttrDOList) throws VciBaseException;
    /**
     * æ·»åŠ å±žæ€§å­—æ®µåˆ°é“¾æŽ¥ç±»åž‹ä¸­ï¼Œæ³¨æ„åœ¨æ‰§è¡Œè¿™ä¸ªæ–¹æ³•æ—¶å°±ä¼šå°†ä»¥å‰çš„äº‹åŠ¡æäº¤ã€‚
     * @param addAttrDOListForLinkType éœ€è¦æ·»åŠ çš„å±žæ€§å¯¹è±¡
     * @throws VciBaseException æ‰§è¡Œå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    void addColumn2TableForLink(List<OsLinkTypeAttributeVO> addAttrDOListForLinkType) throws VciBaseException;
    /**
     * åˆ¤æ–­è¡¨ä¸­æ˜¯å¦æœ‰æ•°æ®
     * @param tableName è¡¨æ ¼çš„名称
     * @return true表示有数据,false表示没有数据,或者这个表格不存在的时候抛出异常
     * @throws VciBaseException å‚数错误的时候抛出异常
     */
    boolean checkTableHasDataByTableName(String tableName)  throws VciBaseException;
    /**
     * åˆ›å»ºè§†å›¾
     * @param viewCreateSql è§†å›¾çš„SQL语句
     * @throws VciBaseException å‚数错误或者执行错误的时候会抛出异常,执行错误主要包括SQL语句错误,没有权限等
     */
    void createViewBySql(String viewCreateSql) throws VciBaseException;
    /**
     * åˆ é™¤è¡¨æ ¼æˆ–者视图
     * @param tableName è¡¨æ ¼åç§°æˆ–者视图名称
     * @throws VciBaseException å‚数错误或者执行错误的时候会抛出异常
     */
    void dropTableByName(String tableName) throws VciBaseException;
    /**
     * åˆ é™¤è¡¨æ ¼çš„æŸä¸€åˆ—
     * @param tableName è¡¨æ ¼åç§°
     * @param columnName åˆ—的名称
     */
    void dropColumnByName(String tableName, String columnName);
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹çš„å¯¹åº”çš„è¡¨æ ¼æ˜¯å¦å­˜åœ¨
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹çš„è¡¨æ ¼
     * @return true表示存在,false表示不存在
     */
    boolean checkTableExist(String pkBtmType);
    /**
     * æ ¹æ®è¡¨æ ¼çš„名称判断表格是否存在
     * @param tableName è¡¨æ ¼åç§°
     * @return  rue表示存在,false表示不存在
     */
    boolean checkTableExistByTableName(String tableName);
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹æ‰€å¯¹åº”çš„è¡¨æ ¼æ˜¯å¦å­˜åœ¨
     * @param id ä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹çš„è‹±æ–‡åç§°
     * @return true表示存在,false表示不存在
     */
    boolean checkTableExistById(String id);
    /**
     * èŽ·å–æ•°æ®åº“å’Œä¸šåŠ¡ç±»åž‹ä¸­çš„ä¸åŒçš„åœ°æ–¹
     * @param btmTypeVOList ä¸šåŠ¡ç±»åž‹å¯¹è±¡ï¼Œæœ‰å±žæ€§æ—¶éœ€è¦åŒ…å«å±žæ€§
     * @param linkTypeVOList é“¾æŽ¥ç±»åž‹å¯¹è±¡ï¼Œæœ‰å±žæ€§æ—¶éœ€è¦åŒ…含属性
     * @return ä¸åŒçš„地方,每一个业务类型或者链接类型一条数据
     */
    List<OsModifyAttributeInfoDO> checkDifferent(List<OmdBtmTypeVO> btmTypeVOList, List<OsLinkTypeVO> linkTypeVOList) throws VciBaseException;
    /**
     * æ¸…理业务类型中和数据库里不一样的
     * @param differentAttributeList ä¸åŒçš„属性的列表
     * @throws VciBaseException å‚数为空或者执行出错的时候会抛出异常
     */
    void reflexDifferent(List<OsModifyAttributeInfoDO> differentAttributeList) throws VciBaseException;
    /**
     * èŽ·å–æ•°æ®åº“ä¸­æ‰€æœ‰çš„è¡¨æ ¼
     * @return è¡¨æ ¼çš„名称,全是大写
     */
    List<String> listAllTableName() ;
    /**
     * æŸ¥è¯¢æ•°æ®åº“中的表格信息
     * @param tableNamesCollections æ•°æ®åº“表名集合
     * @return åœ¨æ•°æ®åº“中的信息
     * @throws VciBaseException å‚数为空或者数据库表不存在的时候会抛出异常
     */
    List<DdlTableBO> listTableInfoInDB(Collection<String> tableNamesCollections) throws VciBaseException;
    /**
     * å¯¼å‡ºæ•°æ®åº“中的表格信息到excel文件
     * @param tableNamesCollections è¡¨æ ¼åç§°çš„集合
     * @param merge åˆå¹¶è¡¨æ ¼åç§°
     * @return excel的文件名称
     * @throws VciBaseException èš•食为空或者数据库表不存在的时候会抛出异常
     */
    String exportDataBase2File(Collection<String> tableNamesCollections,boolean merge) throws VciBaseException;
    /**
     * èŽ·å–å­˜å‚¨æ–‡ä»¶æ‰€éœ€è¦çš„ä¸´æ—¶æ–‡ä»¶å¤¹ï¼Œæ–‡ä»¶å¤¹ä¸Šå·²ç»åŒ…å«äº†
     * @return æ–‡ä»¶å¤¹çš„地址,如果配置文件没有配置,则默认返回当前项目所在的文件夹
     */
    String getTempFolder();
    /**
     * å¯¼å‡ºæ•°æ®åº“中的表格信息到word文件中
     * @param tableNamesCollections è¡¨æ ¼åç§°çš„集合
     * @return word的文件名称
     * @throws VciBaseException èš•食为空或者数据库表不存在的时候会抛出异常
     */
    String exportDataBase2Word(List<String> tableNamesCollections) throws VciBaseException;
    /**
     * æ‹·è´æ•°æ®åˆ°word模板中
     * @param tableDataBO è¦å†™å…¥çš„æ•°æ®
     * @return word æ–‡ä»¶è·¯å¾„
     */
    String writeDataToWord(WordMergeStartTableDataBO tableDataBO);
    /**
     * åˆ¤æ–­æ˜¯å¦ä¸ºå…¼å®¹æ€§çš„表,这些表不应该被创建和修改
     * @param btmTypeId ä¸šåŠ¡ç±»åž‹çš„è‹±æ–‡åç§°
     * @param linkTypeId ä¸šåŠ¡ç±»åž‹çš„ä¸­æ–‡åç§°
     * @return true è¡¨ç¤ºä¸ºå…¼å®¹æ€§çš„表,用户,角色,部门,权限这些
     */
    boolean isCompatibilityTable(String btmTypeId,String linkTypeId);
    /**
     * æ•°æ®åº“新增或修改表
     * @param dto ä¸šåŠ¡ç±»åž‹ä¼ è¾“å¯¹è±¡
     * @return æ‰§è¡Œç»“æžœ
     */
    R submitBtmType(OmdBtmTypeDTO dto);
    /**
     * æŒ‰è¡¨åèŽ·å–è¡¨ä¿¡æ¯
     * @param tableName è¡¨å
     * @return è¡¨ä¿¡æ¯
     */
    DdlTableBO getTableColumnByTableName(String tableName);
    /**
     * èŽ·å–æ‰€æœ‰è¡¨ä¿¡æ¯
     * @return è¡¨ä¿¡æ¯é›†åˆ
     */
    List<DdlTableBO> getAllTableInfo();
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,654 @@
package com.vci.ubcs.ddl.service.impl;
import com.alibaba.nacos.client.naming.NacosNamingService;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.word.bo.WordMergeStartTableDataBO;
import com.vci.ubcs.ddl.bo.DdlTableBO;
import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessStrategy;
import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessor;
import com.vci.ubcs.ddl.processor.dll.DllMapperProcessor;
import com.vci.ubcs.ddl.processor.dll.DllMapperProcessorStrategy;
import com.vci.ubcs.ddl.properties.DdlExportWordFieldProperties;
import com.vci.ubcs.ddl.properties.DdlPropertise;
import com.vci.ubcs.ddl.service.IDdlService;
import com.vci.ubcs.omd.cache.OmdBtmTypeCache;
import com.vci.ubcs.omd.dto.OmdBtmTypeDTO;
import com.vci.ubcs.omd.entity.OsModifyAttributeInfoDO;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import com.vci.ubcs.omd.vo.OmdBtmTypeVO;
import com.vci.ubcs.omd.vo.OsLinkTypeAttributeVO;
import com.vci.ubcs.omd.vo.OsLinkTypeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
 * Description: æ•°æ®åº“表操作服务
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Service
public class DdlServiceImpl implements IDdlService {
    /**
     * ç›¸åº”的配置
     */
    @Autowired
    private DdlPropertise ddlProperties;
    /**
     * word导出的时候的域字段映射
     */
    @Autowired
    private DdlExportWordFieldProperties wordFieldProperties;
    /**
     * ddl数据操作服务
     */
    private final DdlMapperProcessor ddlMapper = DdlMapperProcessStrategy.getProcessor();
    /**
     * dll数据操作服务
     */
    private final DllMapperProcessor dllMapper = DllMapperProcessorStrategy.getProcessor();
    /**
     * è¡¨åå‰ç¼€
     */
    private final String TABLE_PREFIX = "PL";
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹çš„æ•°æ®åº“è¡¨ä¸­æ˜¯å¦æœ‰æ•°æ®
     *
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @return true表示有数据,false表示没有数据
     * @throws VciBaseException å‚数为空或者查询出错的时候会抛出异常
     */
    @Override
    public boolean checkTableHasData(String pkBtmType) throws VciBaseException {
        return checkTableHasDataByTableName(getTableNameByBtmTypeOid(pkBtmType));
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹çš„ä¸»é”®èŽ·å–æ•°æ®åº“è¡¨æ ¼çš„åç§°
     *
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹çš„ä¸»é”®
     * @return æ•°æ®åº“表名称
     */
    @Override
    public String getTableNameByBtmTypeOid(String pkBtmType) {
        VciBaseUtil.alertNotNull(pkBtmType, "业务类型或者链接类型的主键");
        OmdBtmTypeVO btmType = OmdBtmTypeCache.getDetail(pkBtmType);
        String tableName = "";
        if (btmType == null || StringUtils.isBlank(btmType.getOid())) {
            /*OsLinkTypeDO linkTypeDO = linkTypeDOMapper.selectByPrimaryKey(pkBtmType.trim());
            if(linkTypeDO == null || StringUtils.isBlank(linkTypeDO.getOid()) ){
                throw new com.vci.starter.web.exception.VciBaseException("不是业务类型,也不是链接类型,请查证");
            }else{
                tableName = linkTypeService.getTableName(linkTypeDO.getId());
            }*/
        } else {
            tableName = btmType.getTableName();
        }
        return tableName;
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹èŽ·å–é“¾æŽ¥ç±»åž‹çš„è‹±æ–‡åç§°èŽ·å–æ•°æ®åº“è¡¨æ ¼çš„åç§°
     *
     * @param id ä¸šåŠ¡ç±»åž‹èŽ·å–é“¾æŽ¥ç±»åž‹çš„è‹±æ–‡åç§°
     * @return æ•°æ®åº“表名称
     */
    @Override
    public String getTableNameByBtmTypeId(String id) {
        VciBaseUtil.alertNotNull(id, "业务类型或者链接类型的英文名称");
        List<OmdBtmTypeVO> btmTypeList = OmdBtmTypeCache.selectByIdCollection(VciBaseUtil.str2List(id));
        String tableName = "";
        if (CollectionUtils.isEmpty(btmTypeList)) {
            /*List<OsLinkTypeDO> linkTypeDOList = linkTypeDOMapper.selectByIdCollection(VciBaseUtil.str2List(id));
            if(CollectionUtils.isEmpty(linkTypeDOList)){
                throw new com.vci.starter.web.exception.VciBaseException("不是业务类型,也不是链接类型,请查证");
            }else{
                tableName = linkTypeService.getTableName(linkTypeDOList.get(0).getId());
            }*/
        } else {
            tableName = btmTypeList.get(0).getTableName();
        }
        return tableName;
    }
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹çš„æ•°æ®åº“è¡¨ä¸­æ˜¯å¦æœ‰æ•°æ®
     *
     * @param id ä¸šåŠ¡ç±»åž‹çš„è‹±æ–‡åç§°
     * @return true表示有数据,false表示没有数据
     * @throws VciBaseException å‚数为空或者查询出错的时候会抛出异常
     */
    @Override
    public boolean checkTableHasDataById(String id) throws VciBaseException {
        return checkTableHasDataByTableName(getTableNameByBtmTypeId(id));
    }
    /**
     * æ‰¹é‡å°†ä¸šåŠ¡ç±»åž‹åˆ›å»ºæ•°æ®åº“è¡¨
     *
     * @param pkBtmTypes ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @throws VciBaseException å‚数为空或者创建表出现了错误的时候会抛出异常
     */
    @Override
    public void createDbTables(String pkBtmTypes) throws VciBaseException {
        VciBaseUtil.alertNotNull(pkBtmTypes, "业务类型/链接类型的主键");
        createDbTablesByOidCollection(VciBaseUtil.str2List(pkBtmTypes));
    }
    /**
     * æ‰¹é‡å°†ä¸šåŠ¡ç±»åž‹åˆ›å»ºæ•°æ®åº“è¡¨
     *
     * @param oidCollection ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®é›†åˆ
     * @throws VciBaseException å‚数为空或者创建表出现了错误的时候会抛出异常
     */
    @Override
    public void createDbTablesByOidCollection(Collection<String> oidCollection) throws VciBaseException {
        VciBaseUtil.alertCollectionNotNull("业务类型/链接类型的主键集合", oidCollection);
        List<OmdBtmTypeVO> btmTypeVOList = OmdBtmTypeCache.listBtmTypeByOidCollection(oidCollection);
//        List<OsLinkTypeVO> linkTypeVOList = linkTypeService.listLinkTypeByOidCollection(oidCollection);
        if (!CollectionUtils.isEmpty(btmTypeVOList)) {
            //说明是业务类型
            btmTypeVOList.forEach(this::createDbTableForBtm);
        }
        //链接类型
        /*if(!CollectionUtils.isEmpty(linkTypeVOList)){
            linkTypeVOList.stream().forEach( s -> {
                createDbTableForLink(s);
            });
        }*/
    }
    /**
     * åˆ›å»ºä¸šåŠ¡ç±»åž‹çš„è¡¨æ ¼
     *
     * @param btmTypeVO ä¸šåŠ¡ç±»åž‹çš„æ˜¾ç¤ºå¯¹è±¡
     * @throws VciBaseException æ‰§è¡Œå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    private void createDbTableForBtm(OmdBtmTypeVO btmTypeVO) throws VciBaseException {
        VciBaseUtil.alertNotNull(btmTypeVO, "要创建表格所属的业务类型", btmTypeVO.getTableName(), "业务类型的表格名称");
        if (btmTypeVO.isViewFlag() && StringUtils.isNotBlank(btmTypeVO.getViewCreateSql())) {
            //说明是视图
            this.createViewBySql("create or replace " + btmTypeVO.getTableName() + " as " + btmTypeVO.getViewCreateSql());
        } else {
            String tableName = btmTypeVO.getTableName();
            if (!checkTableExistByTableName(tableName)) {
                String attributeSql = dllMapper.getCreateSqlByAttributeForBtm(btmTypeVO.getAttributes());
                dllMapper.createTableBySql(tableName, attributeSql);
                if (StringUtils.isNotBlank(btmTypeVO.getName())) {
                    dllMapper.commentTable(tableName, btmTypeVO.getName());
                }
                btmTypeVO.getAttributes().stream().forEach(s -> {
                    dllMapper.commentColumnTable(tableName, s.getId(), s.getName());
                });
            }
        }
    }
    /**
     * æ‰¹é‡å°†ä¸šåŠ¡ç±»åž‹åˆ›å»ºæ•°æ®åº“è¡¨
     *
     * @param ids ä¸šåŠ¡ç±»åž‹çš„è‹±æ–‡åç§°
     * @throws VciBaseException å‚数为空或者创建表出现了错误的时候会抛出异常
     */
    @Override
    public void createDbTablesById(String ids) throws VciBaseException {
        VciBaseUtil.alertNotNull(ids, "业务类型/链接类型的英文集合");
        List<OmdBtmTypeVO> btmTypeVOList = OmdBtmTypeCache.selectByIdCollection(VciBaseUtil.str2List(ids));
//        List<OsLinkTypeVO> linkTypeVOList = linkTypeService.listLinkTypeByIdCollection(VciBaseUtil.str2List(ids));
        if (!CollectionUtils.isEmpty(btmTypeVOList)) {
            //说明是业务类型
            btmTypeVOList.forEach(this::createDbTableForBtm);
        }
        /*//试试链接类型
        if(!CollectionUtils.isEmpty(linkTypeVOList)){
            //的确是链接类型
            linkTypeVOList.stream().forEach( s -> {
                createDbTableForLink(s);
            });
        }*/
    }
    /**
     * ä¿®æ”¹ä¸šåŠ¡ç±»åž‹ä¸­çš„å±žæ€§å­—æ®µçš„é•¿åº¦ï¼Œæ³¨æ„åœ¨æ‰§è¡Œè¿™ä¸ªæ–¹æ³•æ—¶å°±ä¼šå°†ä»¥å‰çš„äº‹åŠ¡æäº¤ã€‚
     *
     * @param modifyLengthAttrVOList éœ€è¦ä¿®æ”¹çš„属性对象
     * @throws VciBaseException æ‰§è¡Œå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    @Override
    public void changeColumnForBtm(List<OmdBtmTypeAttributeVO> modifyLengthAttrVOList) throws VciBaseException {
        VciBaseUtil.alertCollectionNotNull("要修改长度的属性集", modifyLengthAttrVOList);
        Map<String, List<OmdBtmTypeAttributeVO>> btmTypeHasAttributeVOMap = modifyLengthAttrVOList.stream().collect(Collectors.groupingBy(OmdBtmTypeAttributeVO::getPkBtmType));
        btmTypeHasAttributeVOMap.forEach((k, v) -> {
            OmdBtmTypeVO btmTypeVO = OmdBtmTypeCache.getDetail(k);
            if (btmTypeVO == null || StringUtils.isBlank(btmTypeVO.getOid())) {
                throw new VciBaseException("要修改属性列长度的业务类型不存在");
            }
            if (!isCompatibilityTable(btmTypeVO.getId(), null)) {
                //要看看这个链接类型对应的数据库表是否存在
                String tableName = btmTypeVO.getTableName();
                if (checkTableExistByTableName(tableName)) {
                    changeColumnsForTable(tableName, v);
                } else {
                    createDbTableForBtm(btmTypeVO);
                }
                changeColumnsForTable(btmTypeVO.getTableName(), v);
            }
        });
    }
    /**
     * æ‰§è¡ŒSQL语句的修改
     *
     * @param tableName       è¡¨æ ¼çš„名称
     * @param attributeVOList è¦æ·»åŠ çš„å±žæ€§å­—æ®µ
     */
    private void changeColumnsForTable(String tableName, List<OmdBtmTypeAttributeVO> attributeVOList) {
        String attributeSql = dllMapper.getCreateSqlByAttributeForBtm(attributeVOList);
        //先判断表格是否存在
        boolean tableExist = false;
        try {
            ddlMapper.countAll(tableName);
            tableExist = true;
        } catch (Throwable e) {
            //说明表格就不存在
            createDbTables(attributeVOList.get(0).getPkBtmType());
        }
        if (tableExist) {
            ddlMapper.modifyTableBySqlBase(tableName, attributeSql);
            commentColumnsForTable(tableName, attributeVOList);
        }
    }
    /**
     * ç»™è¡¨æ ¼çš„字段添加注释
     *
     * @param tableName       è¡¨æ ¼åç§°
     * @param attributeVOList å±žæ€§å¯¹è±¡åˆ—表
     */
    private void commentColumnsForTable(String tableName, List<OmdBtmTypeAttributeVO> attributeVOList) {
        if (StringUtils.isNotBlank(tableName) && !CollectionUtils.isEmpty(attributeVOList)) {
            attributeVOList.stream().forEach(s -> {
                ddlMapper.commentColumnTable(tableName, s.getId(), s.getName());
            });
        }
    }
    /**
     * ä¿®æ”¹é“¾æŽ¥ç±»åž‹ä¸­çš„属性字段的长度,注意在执行这个方法时就会将以前的事务提交。
     *
     * @param modifyLengthAttrDOListForLinkType éœ€è¦ä¿®æ”¹çš„属性对象
     * @throws VciBaseException æ‰§è¡Œå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    @Override
    public void changeColumnForLink(List<OsLinkTypeAttributeVO> modifyLengthAttrDOListForLinkType) throws VciBaseException {
    }
    /**
     * æ·»åŠ å±žæ€§å­—æ®µåˆ°ä¸šåŠ¡ç±»åž‹ä¸­ï¼Œæ³¨æ„åœ¨æ‰§è¡Œè¿™ä¸ªæ–¹æ³•æ—¶å°±ä¼šå°†ä»¥å‰çš„äº‹åŠ¡æäº¤ã€‚
     *
     * @param addAttrDOList éœ€è¦æ·»åŠ çš„å±žæ€§å¯¹è±¡
     * @throws VciBaseException æ‰§è¡Œå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    @Override
    public void addColumn2TableForBtm(List<OmdBtmTypeAttributeVO> addAttrDOList) throws VciBaseException {
        VciBaseUtil.alertCollectionNotNull("要添加到数据库表中的属性集", addAttrDOList);
        Map<String, List<OmdBtmTypeAttributeVO>> btmTypeHasAttributeVOMap = addAttrDOList.stream().collect(Collectors.groupingBy(OmdBtmTypeAttributeVO::getPkBtmType));
        btmTypeHasAttributeVOMap.forEach((k, v) -> {
            OmdBtmTypeVO btmTypeVO = OmdBtmTypeCache.getDetail(k);
            if (btmTypeVO == null || StringUtils.isBlank(btmTypeVO.getOid())) {
                throw new com.vci.starter.web.exception.VciBaseException("要修改属性列长度的业务类型不存在");
            }
            if (!isCompatibilityTable(btmTypeVO.getId(), null)) {
                addColumnForTable(btmTypeVO.getTableName(), v);
            }
        });
    }
    /**
     * æ·»åŠ å­—æ®µåˆ°è¡¨æ ¼ä¸­
     *
     * @param tableName       è¡¨æ ¼åç§°
     * @param attributeVOList å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡
     * @throws com.vci.starter.web.exception.VciBaseException æ‰§è¡Œæˆ–者获取sql语句的时候出现错误会抛出异常
     */
    private void addColumnForTable(String tableName, List<OmdBtmTypeAttributeVO> attributeVOList) {
        String attributeSql = dllMapper.getCreateSqlByAttributeForBtm(attributeVOList);
        //先判断表格是否存在
        if (!checkTableExistByTableName(tableName)) {
            OmdBtmTypeAttributeVO attributeVO = attributeVOList.get(0);
            createDbTables(attributeVO.getPkBtmType());
        } else {
            ddlMapper.addColumn2TableBySql(tableName, attributeSql);
            commentColumnsForTable(tableName, attributeVOList);
        }
    }
    /**
     * æ·»åŠ å±žæ€§å­—æ®µåˆ°é“¾æŽ¥ç±»åž‹ä¸­ï¼Œæ³¨æ„åœ¨æ‰§è¡Œè¿™ä¸ªæ–¹æ³•æ—¶å°±ä¼šå°†ä»¥å‰çš„äº‹åŠ¡æäº¤ã€‚
     *
     * @param addAttrDOListForLinkType éœ€è¦æ·»åŠ çš„å±žæ€§å¯¹è±¡
     * @throws VciBaseException æ‰§è¡Œå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    @Override
    public void addColumn2TableForLink(List<OsLinkTypeAttributeVO> addAttrDOListForLinkType) throws VciBaseException {
    }
    /**
     * åˆ¤æ–­è¡¨ä¸­æ˜¯å¦æœ‰æ•°æ®
     *
     * @param tableName è¡¨æ ¼çš„名称
     * @return true表示有数据,false表示没有数据,或者这个表格不存在的时候抛出异常
     * @throws VciBaseException å‚数错误的时候抛出异常
     */
    @Override
    public boolean checkTableHasDataByTableName(String tableName) throws VciBaseException {
        try {
            int tableCount = ddlMapper.countAll(tableName);
            if (tableCount > 0) {
                return true;
            }
        } catch (Throwable e) {
            throw new VciBaseException("统计某个表是否含有数据出错,可能表不存在");
        }
        return false;
    }
    /**
     * åˆ›å»ºè§†å›¾
     *
     * @param viewCreateSql è§†å›¾çš„SQL语句
     * @throws VciBaseException å‚数错误或者执行错误的时候会抛出异常,执行错误主要包括SQL语句错误,没有权限等
     */
    @Override
    public void createViewBySql(String viewCreateSql) throws VciBaseException {
        VciBaseUtil.alertNotNull(viewCreateSql, "视图的SQL");
        ddlMapper.createViewBySql(viewCreateSql);
    }
    /**
     * åˆ é™¤è¡¨æ ¼æˆ–者视图
     *
     * @param tableName è¡¨æ ¼åç§°æˆ–者视图名称
     * @throws VciBaseException å‚数错误或者执行错误的时候会抛出异常
     */
    @Override
    public void dropTableByName(String tableName) throws VciBaseException {
        VciBaseUtil.alertNotNull(tableName, "要删除的表的名称");
        ddlMapper.dropTable(tableName);
    }
    /**
     * åˆ é™¤è¡¨æ ¼çš„æŸä¸€åˆ—
     *
     * @param tableName  è¡¨æ ¼åç§°
     * @param columnName åˆ—的名称
     */
    @Override
    public void dropColumnByName(String tableName, String columnName) {
        VciBaseUtil.alertNotNull(tableName, "要删除的表的名称", columnName, "要删除的表字段名称");
        ddlMapper.dropTableColumn(tableName, columnName);
    }
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹çš„å¯¹åº”çš„è¡¨æ ¼æ˜¯å¦å­˜åœ¨
     *
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹çš„è¡¨æ ¼
     * @return true表示存在,false表示不存在
     */
    @Override
    public boolean checkTableExist(String pkBtmType) {
        return checkTableExistByTableName(getTableNameByBtmTypeOid(pkBtmType));
    }
    /**
     * æ ¹æ®è¡¨æ ¼çš„名称判断表格是否存在
     *
     * @param tableName è¡¨æ ¼åç§°
     * @return rue表示存在,false表示不存在
     */
    @Override
    public boolean checkTableExistByTableName(String tableName) {
        return ddlMapper.checkTableExist(tableName) > 0;
    }
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹æ‰€å¯¹åº”çš„è¡¨æ ¼æ˜¯å¦å­˜åœ¨
     *
     * @param id ä¸šåŠ¡ç±»åž‹æˆ–è€…é“¾æŽ¥ç±»åž‹çš„è‹±æ–‡åç§°
     * @return true表示存在,false表示不存在
     */
    @Override
    public boolean checkTableExistById(String id) {
        return checkTableExistByTableName(getTableNameByBtmTypeId(id));
    }
    /**
     * èŽ·å–æ•°æ®åº“å’Œä¸šåŠ¡ç±»åž‹ä¸­çš„ä¸åŒçš„åœ°æ–¹
     *
     * @param btmTypeVOList  ä¸šåŠ¡ç±»åž‹å¯¹è±¡ï¼Œæœ‰å±žæ€§æ—¶éœ€è¦åŒ…å«å±žæ€§
     * @param linkTypeVOList é“¾æŽ¥ç±»åž‹å¯¹è±¡ï¼Œæœ‰å±žæ€§æ—¶éœ€è¦åŒ…含属性
     * @return ä¸åŒçš„地方,每一个业务类型或者链接类型一条数据
     */
    @Override
    public List<OsModifyAttributeInfoDO> checkDifferent(List<OmdBtmTypeVO> btmTypeVOList, List<OsLinkTypeVO> linkTypeVOList) throws VciBaseException {
        return null;
    }
    /**
     * æ¸…理业务类型中和数据库里不一样的
     *
     * @param differentAttributeList ä¸åŒçš„属性的列表
     * @throws VciBaseException å‚数为空或者执行出错的时候会抛出异常
     */
    @Override
    public void reflexDifferent(List<OsModifyAttributeInfoDO> differentAttributeList) throws VciBaseException {
    }
    /**
     * èŽ·å–æ•°æ®åº“ä¸­æ‰€æœ‰çš„è¡¨æ ¼
     *
     * @return è¡¨æ ¼çš„名称,全是大写
     */
    @Override
    public List<String> listAllTableName() {
        return ddlMapper.selectAllTableName();
    }
    /**
     * æŸ¥è¯¢æ•°æ®åº“中的表格信息
     *
     * @param tableNamesCollections æ•°æ®åº“表名集合
     * @return åœ¨æ•°æ®åº“中的信息
     * @throws VciBaseException å‚数为空或者数据库表不存在的时候会抛出异常
     */
    @Override
    public List<DdlTableBO> listTableInfoInDB(Collection<String> tableNamesCollections) throws VciBaseException {
        VciBaseUtil.alertCollectionNotNull("数据库表名称不能为空", tableNamesCollections);
        List<DdlTableBO> tableBOList = new ArrayList<>();
        tableNamesCollections.stream().forEach(s -> {
            tableBOList.add(ddlMapper.selectTableComment(s));
        });
        return tableBOList;
    }
    /**
     * å¯¼å‡ºæ•°æ®åº“中的表格信息到excel文件
     *
     * @param tableNamesCollections è¡¨æ ¼åç§°çš„集合
     * @param merge                 åˆå¹¶è¡¨æ ¼åç§°
     * @return excel的文件名称
     * @throws VciBaseException èš•食为空或者数据库表不存在的时候会抛出异常
     */
    @Override
    public String exportDataBase2File(Collection<String> tableNamesCollections, boolean merge) throws VciBaseException {
        return null;
    }
    /**
     * èŽ·å–å­˜å‚¨æ–‡ä»¶æ‰€éœ€è¦çš„ä¸´æ—¶æ–‡ä»¶å¤¹ï¼Œæ–‡ä»¶å¤¹ä¸Šå·²ç»åŒ…å«äº†
     *
     * @return æ–‡ä»¶å¤¹çš„地址,如果配置文件没有配置,则默认返回当前项目所在的文件夹
     */
    @Override
    public String getTempFolder() {
        return null;
    }
    /**
     * å¯¼å‡ºæ•°æ®åº“中的表格信息到word文件中
     *
     * @param tableNamesCollections è¡¨æ ¼åç§°çš„集合
     * @return word的文件名称
     * @throws VciBaseException èš•食为空或者数据库表不存在的时候会抛出异常
     */
    @Override
    public String exportDataBase2Word(List<String> tableNamesCollections) throws VciBaseException {
        return null;
    }
    /**
     * æ‹·è´æ•°æ®åˆ°word模板中
     *
     * @param tableDataBO è¦å†™å…¥çš„æ•°æ®
     * @return word æ–‡ä»¶è·¯å¾„
     */
    @Override
    public String writeDataToWord(WordMergeStartTableDataBO tableDataBO) {
        return null;
    }
    /**
     * åˆ¤æ–­æ˜¯å¦ä¸ºå…¼å®¹æ€§çš„表,这些表不应该被创建和修改
     *
     * @param btmTypeId  ä¸šåŠ¡ç±»åž‹çš„è‹±æ–‡åç§°
     * @param linkTypeId ä¸šåŠ¡ç±»åž‹çš„ä¸­æ–‡åç§°
     * @return true è¡¨ç¤ºä¸ºå…¼å®¹æ€§çš„表,用户,角色,部门,权限这些
     */
    @Override
    public boolean isCompatibilityTable(String btmTypeId, String linkTypeId) {
        return false;
    }
    /**
     * ä¸šåŠ¡ç±»åž‹æ•°æ®åº“æ–°å¢žæˆ–ä¿®æ”¹è¡¨
     *
     * @param dto ä¸šåŠ¡ç±»åž‹ä¼ è¾“å¯¹è±¡
     * @return æ‰§è¡Œç»“æžœ
     */
    @Override
    public R submitBtmType(OmdBtmTypeDTO dto) {
        VciBaseUtil.alertNotNull(dto, "业务类型", dto.getAttributesDTOList(), "业务类型属性");
        OmdBtmTypeVO btmTypeVO = Objects.requireNonNull(BeanUtil.copy(dto, OmdBtmTypeVO.class));
        if (Func.isNotBlank(dto.getTableName())) {
            checkModifyOrCreateTable(btmTypeVO);
        } else {
            if (checkTableExistById(dto.getId())) {
                String tableName = getTableNameByBtmTypeId(dto.getId());
                btmTypeVO.setTableName(tableName);
                checkModifyOrCreateTable(btmTypeVO);
            } else {
                String tableName = TABLE_PREFIX + StringPool.UNDERSCORE + dto.getDomain().toUpperCase(Locale.ROOT) + StringPool.UNDERSCORE + dto.getId().toUpperCase(Locale.ROOT);
                btmTypeVO.setTableName(tableName);
                createDbTableForBtm(btmTypeVO);
            }
        }
        return R.success("000000");
    }
    /**
     * æ£€æŸ¥ä¸šåŠ¡ç±»åž‹çš„è¡¨æ˜¯å¦å­˜åœ¨ï¼Œå¦‚æžœå­˜åœ¨åˆ™æ¯”è¾ƒå·®åˆ«è¿›è¡Œä¿®æ”¹ï¼Œä¸å­˜åœ¨åˆ™åˆ›å»º
     *
     * @param btmTypeVO ä¸šåŠ¡ç±»åž‹
     */
    private void checkModifyOrCreateTable(OmdBtmTypeVO btmTypeVO) {
        if (checkTableExistByTableName(btmTypeVO.getTableName())) {
            // è¡¨å·²å­˜åœ¨ï¼Œæ ¡éªŒå±žæ€§
            List<OmdBtmTypeVO> vos = new ArrayList<>();
            vos.add(btmTypeVO);
            List<OsModifyAttributeInfoDO> differentAttributeList = checkDifferent(vos, null);
            if (CollectionUtils.isEmpty(differentAttributeList)) {
                // å¯ä»¥ç›´æŽ¥åˆ é™¤å†åˆ›å»º
                dropTableByName(btmTypeVO.getTableName());
                createDbTableForBtm(btmTypeVO);
            } else {
                // TODO: ä¿®æ”¹çš„æš‚时还没做
            }
        } else {
            createDbTableForBtm(btmTypeVO);
        }
    }
    /**
     * æŒ‰è¡¨åèŽ·å–è¡¨ä¿¡æ¯
     *
     * @param tableName è¡¨å
     * @return è¡¨ä¿¡æ¯
     */
    @Override
    public DdlTableBO getTableColumnByTableName(String tableName) {
        VciBaseUtil.alertNotNull(tableName,"表名");
        DdlTableBO tableBO = getTableInfoByTableName(tableName);
        List<DdlTableInDataBaseBO> columnInfo = selectTableColumnInfo(tableName);
        tableBO.setColumns(columnInfo);
        return tableBO;
    }
    /**
     * æŸ¥è¯¢æ•°æ®åº“中表格的字段信息
     *
     * @param tableName è¡¨æ ¼çš„名称
     * @return æ•°æ®åº“表的字段信息
     */
    private List<DdlTableInDataBaseBO> selectTableColumnInfo(String tableName) {
        VciBaseUtil.alertNotNull(tableName, "表格名称");
        return ddlMapper.selectTableColumnInfo(tableName);
    }
    /**
     * è¡¨åèŽ·å–è¡¨ä¿¡æ¯
     * @param tableName è¡¨å
     * @return è¡¨ä¿¡æ¯
     */
    private DdlTableBO getTableInfoByTableName(String tableName){
        VciBaseUtil.alertNotNull(tableName, "表格名称");
        return ddlMapper.selectTableComment(tableName);
    }
    /**
     * èŽ·å–æ‰€æœ‰è¡¨ä¿¡æ¯
     *
     * @return è¡¨ä¿¡æ¯é›†åˆ
     */
    @Override
    public List<DdlTableBO> getAllTableInfo() {
        List<String> allTableName = listAllTableName();
        if (!CollectionUtils.isEmpty(allTableName)) {
            List<DdlTableBO> allTableBO = listTableInfoInDB(allTableName);
            allTableBO.forEach(table -> {
                table.setColumns(selectTableColumnInfo(table.getTableName()));
            });
            return allTableBO;
        }
        return new ArrayList<>();
    }
}
Source/UBCS/ubcs-service/ubcs-omd/pom.xml
@@ -30,6 +30,11 @@
            <artifactId>ubcs-omd-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>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.vci.ubcs</groupId>-->
<!--            <artifactId>ubcs-flow-api</artifactId>-->
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/OmdAttributeController.java
@@ -41,7 +41,7 @@
    /**
     * å…ƒæ•°æ®æœåŠ¡
     */
    private IOmdAttributeService attributeService;
    private final IOmdAttributeService attributeService;
    /**
     * æŸ¥çœ‹è¯¦æƒ…
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/OmdBtmTypeController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,138 @@
package com.vci.ubcs.omd.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.omd.constant.OmdCacheConstant;
import com.vci.ubcs.omd.dto.OmdBtmTypeDTO;
import com.vci.ubcs.omd.entity.OmdBtmType;
import com.vci.ubcs.omd.service.IOmdBtmTypeService;
import com.vci.ubcs.omd.vo.OmdBtmTypeVO;
import com.vci.ubcs.omd.wrapper.OmdBtmTypeWrapper;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import io.swagger.annotations.*;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * Description: ä¸šåŠ¡ç±»åž‹æŽ§åˆ¶å™¨
 *
 * @author LiHang
 * @date 2023/4/23
 */
@NonDS
@RestController
@AllArgsConstructor
@RequestMapping("/btm-type")
@Api(value = "业务类型控制器", tags = "业务类型控制器")
public class OmdBtmTypeController extends BladeController {
    /**
     * ä¸šåŠ¡ç±»åž‹æœåŠ¡
     */
    private final IOmdBtmTypeService btmTypeService;
    /**
     * æŸ¥çœ‹è¯¦æƒ…
     *
     * @param oid ä¸»é”®
     * @return æ‰§è¡Œç»“æžœ
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "查看详情", notes = "传入主键")
    public R<OmdBtmTypeVO> detail(String oid) {
        return R.data(btmTypeService.getBtmTypeByOid(oid));
    }
    /**
     * åˆ—表
     *
     * @param condition æŸ¥è¯¢æ¡ä»¶
     * @return æ‰§è¡Œç»“æžœ
     */
    @GetMapping("/list")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "oid", value = "主键", paramType = "query", dataType = "string"),
        @ApiImplicitParam(name = "id", value = "业务类型英文名称", paramType = "query", dataType = "string"),
        @ApiImplicitParam(name = "name", value = "业务类型中文名称", paramType = "query", dataType = "string"),
        @ApiImplicitParam(name = "tableName", value = "业务类型数据库表名", paramType = "query", dataType = "string"),
    })
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "查询列表", notes = "传入查询")
    public R<List<OmdBtmTypeVO>> list(@ApiIgnore @RequestParam Map<String, Object> condition) {
        return R.data(OmdBtmTypeWrapper.build().listEntityVO(btmTypeService.list(Condition.getQueryWrapper(condition, OmdBtmType.class).lambda().orderByAsc(OmdBtmType::getId))));
    }
    /**
     * åˆ†é¡µåˆ—表
     *
     * @param condition æŸ¥è¯¢æ¡ä»¶
     */
    @GetMapping("/page")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "oid", value = "主键", paramType = "query", dataType = "string"),
        @ApiImplicitParam(name = "id", value = "业务类型英文名称", paramType = "query", dataType = "string"),
        @ApiImplicitParam(name = "name", value = "业务类型中文名称", paramType = "query", dataType = "string"),
        @ApiImplicitParam(name = "tableName", value = "业务类型数据库表名", paramType = "query", dataType = "string"),
    })
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "查询列表", notes = "传入查询")
    public R<IPage<OmdBtmTypeVO>> parentList(@ApiIgnore @RequestParam Map<String, Object> condition, Query query) {
        IPage<OmdBtmTypeVO> pageVO = new Page<>();
        IPage<OmdBtmType> page = btmTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(condition, OmdBtmType.class).lambda().orderByAsc(OmdBtmType::getId));
        BeanUtil.copy(page, pageVO);
        pageVO.setRecords(OmdBtmTypeWrapper.build().listEntityVO(page.getRecords()));
        return R.data(pageVO);
    }
    /**
     * æ–°å¢žæˆ–修改
     *
     * @param dto å…ƒæ•°æ®é¡µé¢ä¼ è¾“对象
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "新增或修改", notes = "传入元数据对象")
    public R submit(@Valid @RequestBody OmdBtmTypeDTO dto) {
        CacheUtil.clear(OmdCacheConstant.BTM_CACHE);
        return R.status(btmTypeService.submit(dto));
    }
    /**
     * åˆ é™¤
     *
     * @param ids ä¸»é”®é›†åˆ
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "删除", notes = "主键集合")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        CacheUtil.clear(OmdCacheConstant.BTM_CACHE);
        List<String> oidList = new ArrayList<>();
        if (ids.contains(",")) {
            oidList.addAll(Func.toStrList(",", ids));
        } else {
            oidList.add(ids);
        }
        return R.status(btmTypeService.removeBatchByIds(oidList));
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/OmdBtmTypeClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,103 @@
package com.vci.ubcs.omd.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vci.ubcs.omd.entity.OmdBtmType;
import com.vci.ubcs.omd.service.IOmdBtmTypeService;
import com.vci.ubcs.omd.vo.OmdBtmTypeVO;
import com.vci.ubcs.omd.wrapper.OmdBtmTypeWrapper;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.*;
/**
 * Description: ä¸šåŠ¡ç±»åž‹æœåŠ¡Feign实现类
 *
 * @author LiHang
 * @date 2023/4/24
 */
@NonDS
@ApiIgnore
@RestController
@AllArgsConstructor
public class OmdBtmTypeClient implements IOmdBtmTypeClient{
    private final IOmdBtmTypeService btmTypeService;
    /**
     * å‚照获取业务类型详情信息
     *
     * @param oid ä¸»é”®
     * @return ä¸šåŠ¡ç±»åž‹è¯¦æƒ…ä¿¡æ¯
     */
    @Override
    public R<OmdBtmTypeVO> getDetail(String oid) {
        return R.data(btmTypeService.getBtmTypeByOid(oid));
    }
    /**
     * å‚照列表查询
     *
     * @param condition æŸ¥è¯¢æ¡ä»¶
     * @param query     åˆ†é¡µæ¡ä»¶
     * @param domain    é¢†åŸŸå€¼
     * @return æŸ¥è¯¢ç»“æžœ
     */
    @Override
    public R<IPage<OmdBtmTypeVO>> getRef(Map<String, Object> condition, Query query, String domain) {
        Func.requireNotNull(domain,"领域值");
        IPage<OmdBtmType> page = btmTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(condition, OmdBtmType.class).lambda().eq(OmdBtmType::getDomain, domain).orderByAsc(OmdBtmType::getId));
        IPage<OmdBtmTypeVO> pageVO = new Page<>();
        BeanUtil.copy(page,pageVO);
        pageVO.setRecords(OmdBtmTypeWrapper.build().listEntityVO(page.getRecords()));
        R<IPage<OmdBtmTypeVO>> r = R.data(pageVO);
        r.setSuccess(true);
        return r;
    }
    /**
     * æ ¹æ®è‹±æ–‡åç§°æ‰¹é‡æŸ¥è¯¢å¯¹è±¡
     *
     * @param ids å¯¹è±¡è‹±æ–‡åç§° ä½†æ˜¯ä¸èƒ½è¶…过1000
     * @return ä¸šåŠ¡å¯¹è±¡
     */
    @Override
    public R<List<OmdBtmTypeVO>> selectByIdCollection(List<String> ids) {
        Func.requireNotNull(ids,"业务类型英文名称");
        List<OmdBtmTypeVO> voList = OmdBtmTypeWrapper.build().listEntityVO(
            Optional.ofNullable(btmTypeService.list(
                    Wrappers.<OmdBtmType>query().lambda().in(OmdBtmType::getId, ids)
                )
            ).orElseGet(ArrayList::new)
        );
        return R.data(voList);
    }
    /**
     * æ‰¹é‡æ ¹æ®ä¸»é”®èŽ·å–ä¸šåŠ¡ç±»åž‹
     *
     * @param pkBtmTypeCollection ä¸šåŠ¡ç±»åž‹ä¸»é”®é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     */
    @Override
    public R<List<OmdBtmTypeVO>> listBtmTypeByOidCollection(Collection<String> pkBtmTypeCollection) {
        Func.requireNotNull(pkBtmTypeCollection,"业务类型主键");
        List<OmdBtmTypeVO> voList = OmdBtmTypeWrapper.build().listEntityVO(
            Optional.ofNullable(btmTypeService.list(
                    Wrappers.<OmdBtmType>query().lambda().in(OmdBtmType::getOid, pkBtmTypeCollection)
                )
            ).orElseGet(ArrayList::new)
        );
        return R.data(voList);
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/OmdBtmTypeAttributeMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.vci.ubcs.omd.mapper;
import com.vci.ubcs.omd.entity.OmdBtmTypeAttribute;
import org.springblade.core.mp.mapper.BladeMapper;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/23
 */
public interface OmdBtmTypeAttributeMapper extends BladeMapper<OmdBtmTypeAttribute> {
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/OmdBtmTypeMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,118 @@
package com.vci.ubcs.omd.mapper;
import com.vci.ubcs.omd.entity.OmdBtmTypeAttribute;
import com.vci.ubcs.omd.entity.OmdBtmType;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.mp.mapper.BladeMapper;
import org.springframework.stereotype.Repository;
import java.util.Collection;
import java.util.List;
@Repository
public interface OmdBtmTypeMapper extends BladeMapper<OmdBtmType> {
    /**
     * æ ¹æ®ä¸»é”®åˆ é™¤å¯¹è±¡
     * @param oid ç”Ÿå‘½å‘¨æœŸä¸»é”®
     * @return å½±å“çš„行数
     */
    int deleteByPrimaryKey(String oid);
    /**
     * æ’入业务类型
     * @param record è¦æ·»åŠ çš„ä¸šåŠ¡ç±»åž‹å¯¹è±¡
     * @return å½±å“çš„行数
     */
    int insert(OmdBtmType record);
    /**
     * æ ¹æ®ä¸»é”®èŽ·å–æ•°æ®å¯¹è±¡
     * @param oid ä¸»é”®
     * @return æ•°æ®å¯¹è±¡
     */
    OmdBtmType selectByPrimaryKey(String oid);
    /**
     * æ ¹æ®ä¸»é”®æ‰¹é‡èŽ·å–å¯¹è±¡
     * @param oids ä¸»é”®ï¼ŒåŒ…含单引号,但是不能超过1000
     * @return æ•°æ®å¯¹è±¡åˆ—表
     */
    List<OmdBtmType> selectByPrimaryKeys(String oids);
    /**
     * æ ¹æ®ä¸»é”®æ‰¹é‡æŸ¥è¯¢å¯¹è±¡
     * @param oids å¯¹è±¡ä¸»é”®,使用逗号分隔,但是不能超过1000
     * @return ä¸šåŠ¡å¯¹è±¡
     */
    List<OmdBtmType> selectByPrimaryKeyCollection(@Param("oids") Collection<String> oids);
    /**
     * æ ¹æ®è‹±æ–‡åç§°æ‰¹é‡æŸ¥è¯¢å¯¹è±¡
     * @param ids å¯¹è±¡è‹±æ–‡åç§° ä½†æ˜¯ä¸èƒ½è¶…过1000
     * @return ä¸šåŠ¡å¯¹è±¡
     */
    List<OmdBtmType> selectByIdCollection(@Param("ids") Collection<String> ids);
    /**
     * æŸ¥è¯¢å…¨éƒ¨çš„业务类型
     * @return ä¸šåŠ¡ç±»åž‹æ•°æ®å¯¹è±¡åˆ—è¡¨
     */
    List<OmdBtmType> selectAll();
    /**
     * æ ¹æ®ä¸»é”®ä¿®æ”¹ç”Ÿå‘½å‘¨æœŸ
     * @param record æ•°æ®å¯¹è±¡
     * @return å½±å“çš„行数
     */
    int updateByPrimaryKey(OmdBtmType record);
    /**
     * æ ¹æ®ä¸»é”®èŽ·å–åç§°
     * @param oid ä¸»é”®
     * @return ä¸­æ–‡åç§°
     */
    String selectNameByOid(String oid);
    /**
     * æ ¹æ®è‹±æ–‡åç§°èŽ·å–ä¸­æ–‡åç§°
     * @param id è‹±æ–‡åç§°
     * @return ä¸­æ–‡åç§°
     */
    String selectNameById(String id);
    /**
     * æ ¹æ®å±žæ€§çš„主键获取使用的业务类型对象
     * @param pkAttribute å±žæ€§çš„主键
     * @return ä¸šåŠ¡ç±»åž‹å¯¹è±¡
     */
    List<OmdBtmType> selectByAttributeOid(String pkAttribute);
    /**
     * æ ¹æ®ç‰ˆæœ¬è§„则的主键获取使用的业务类型对象
     * @param pkRevisionRule ç‰ˆæœ¬è§„则的主键
     * @return ä¸šåŠ¡ç±»åž‹å¯¹è±¡
     */
    List<OmdBtmType> selectByRevisionRuleOid(String pkRevisionRule);
    /**
     * æ ¹æ®ç”Ÿå‘½å‘¨æœŸçš„主键获取使用的业务类型对象
     * @param pkLifeCycle ç”Ÿå‘½å‘¨æœŸçš„主键
     * @return ä¸šåŠ¡ç±»åž‹å¯¹è±¡
     */
    List<OmdBtmType> selectByLifeCycleOid(String pkLifeCycle);
    /**
     * æ ¹æ®ä¸»é”®æ‰¹é‡åˆ é™¤å¯¹è±¡
     * @param oids ä¸»é”®é›†åˆ
     * @return å½±å“çš„行数
     */
    int batchDeleteByOids(@Param("oids") Collection<String> oids);
    /**
     * æ‰¹é‡æ·»åŠ 
     * @param records æ‰¹é‡çš„信息
     * @return æ‰§è¡Œæ€»æ•°
     */
    Long batchInsert(@Param("records") List<OmdBtmTypeAttribute> records);
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,103 @@
package com.vci.ubcs.omd.repeater;
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
import com.alibaba.cloud.nacos.NacosServiceManager;
import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.api.annotation.NacosInjected;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.pojo.Instance;
import com.vci.ubcs.omd.vo.OmdBtmTypeVO;
import org.apache.http.Header;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringPool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import org.springframework.web.client.RestTemplate;
import javax.annotation.PostConstruct;
/**
 * Description: é¢†åŸŸè½¬å‘器
 *
 * @author LiHang
 * @date 2023/4/25
 */
@Repository
public class DomainRepeater {
    /**
     * æŽ§åˆ¶å™¨è·¯å¾„
     */
    public static final String API_PREFIX = "ddl";
    /**
     * æ–°å¢žæˆ–修改的转发路径名称
     */
    public static final String API_SUBMIT_BTM_TYPE = API_PREFIX + StringPool.SLASH +"submitBtmType";
    /**
     * è¡¨åèŽ·å–è¡¨ä¿¡æ¯
     */
    public static final String API_GET_TABLE_INFO = API_PREFIX + StringPool.SLASH +"getTableColumnByTableName";
    /**
     * èŽ·å–å…¨éƒ¨è¡¨ä¿¡æ¯
     */
    public static final String API_GET_ALL_TABLE_INFO = API_PREFIX + StringPool.SLASH +"getAllTableInfo";
    @NacosInjected
    private NamingService nacosNamingService;
    @Component
    public static class SINGLE{
        @Autowired
        private NacosServiceManager nacosServiceManager;
        @Autowired
        private NacosDiscoveryProperties nacosDiscoveryProperties;
        private static NamingService nacosNamingService;
        @PostConstruct
        public NamingService build(){
              nacosNamingService = nacosServiceManager.getNamingService(nacosDiscoveryProperties.getNacosProperties());
              return nacosNamingService;
        }
    }
    private RestTemplate restTemplate = new RestTemplate();
    public Object submitBtmType (String serviceName, OmdBtmTypeVO omdBtmTypeVO) throws NacosException {
        if (nacosNamingService == null){
            nacosNamingService = SINGLE.nacosNamingService;
        }
        Instance service = nacosNamingService.selectOneHealthyInstance(AppConstant.APPLICATION_GATEWAY_NAME);
        try {
            String url = "http://" + service.getIp() +StringPool.COLON+ service.getPort() + StringPool.SLASH + serviceName + StringPool.SLASH + API_SUBMIT_BTM_TYPE;
            HttpPost httpPost = buildPost(url);
            httpPost.setEntity(new StringEntity(JSON.toJSONString(omdBtmTypeVO),"utf-8"));
            CloseableHttpClient httpClient = HttpClientBuilder.create().build();
            CloseableHttpResponse response = httpClient.execute(httpPost);
            return response;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    private HttpPost buildPost(String url){
        HttpPost httpPost = new HttpPost(url);
        httpPost.setHeader("Content-Type","application/json;charset=UTF-8");
        httpPost.setHeader("Blade-Auth", AuthUtil.getHeader());
        return httpPost;
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IOmdAttributeService.java
@@ -1,10 +1,13 @@
package com.vci.ubcs.omd.service;
import com.vci.ubcs.omd.dto.OmdAttributeDTO;
import com.vci.ubcs.omd.dto.OmdBtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.OmdAttribute;
import com.vci.ubcs.omd.vo.OmdAttributeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import org.springblade.core.mp.base.BaseService;
import java.util.Collection;
import java.util.List;
@@ -43,4 +46,41 @@
     * @return æŸ¥è¯¢å·²åº”用的业务类型名称
     */
    List<String> applyRange(Long id);
    /**
     * æ£€æŸ¥å±žæ€§æ˜¯å¦å­˜åœ¨
     * @param keyCollections è‹±æ–‡åç§°é›†åˆ
     * @return true表示都存在,false表示不存在,不存在的时候会抛出异常
     * @throws VciBaseException ä¸å­˜åœ¨çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    boolean checkAttributeExists(Collection<String> keyCollections) throws VciBaseException;
    /**
     * æ ¹æ®è‹±æ–‡åç§°é›†åˆæ‰¹é‡èŽ·å–å±žæ€§å¯¹è±¡
     *
     * @param attributeIdCollection è‹±æ–‡åç§°é›†åˆ
     * @return å±žæ€§å¯¹è±¡åˆ—表,如果有不存在的不会返回,全部不存在的则返回空列表
     * @throws VciBaseException å‚数为空或者查询出错时会抛出错误
     */
    List<OmdAttributeVO> listAttributeByKeyCollection(Collection<String> attributeIdCollection) throws VciBaseException;
    /**
     * åˆ¤æ–­å±žæ€§çš„内容是否符合要求
     * @param id å±žæ€§çš„主键
     * @param attrDataType å±žæ€§çš„类型
     * @param attributeLength å±žæ€§çš„长度
     * @param defaultValue é»˜è®¤å€¼
     * @return true表示符合要求,不符合要求会抛出异常
     * @throws VciBaseException ä¸ç¬¦åˆè¦æ±‚会抛出异常
     */
    boolean checkAttributePass(String id,String attrDataType, Integer attributeLength, String defaultValue) throws VciBaseException;
    /**
     * æ ¡éªŒå±žæ€§æ˜¯å¦ç¬¦åˆè¦æ±‚
     *
     * @param attributesDTO å±žæ€§æ•°æ®ä¼ è¾“对象
     * @return true ç¬¦åˆ false ä¸ç¬¦åˆ
     * @throws VciBaseException ä¸ç¬¦åˆæ—¶æŠ›å‡ºå¼‚常
     */
    boolean checkAttribute(OmdBtmTypeLinkAttributesDTO attributesDTO) throws VciBaseException;
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IOmdBtmTypeAttributeService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
package com.vci.ubcs.omd.service;
import com.vci.ubcs.omd.dto.OmdBtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.OmdBtmTypeAttribute;
import com.vci.ubcs.omd.vo.OmdAttributeVO;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import org.springblade.core.mp.base.BaseService;
import java.util.Date;
import java.util.List;
/**
 * Description:业务类型关联属性的服务
 *
 * @author LiHang
 * @date 2023/4/23
 */
public interface IOmdBtmTypeAttributeService extends BaseService<OmdBtmTypeAttribute> {
    /**
     * æ£€æŸ¥å±žæ€§å­˜åœ¨å¹¶æ·»åŠ 
     * @param btmTypeOid ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @param attributesDTOList é¡µé¢ä¼ è¾“对象集合
     * @param creator åˆ›å»ºäºº
     * @param now ts时间戳
     * @return å—影响的行数
     */
    int checkAndInsert(String btmTypeOid,List<OmdBtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now);
    /**
     * æ‰¹é‡æ’å…¥
     * @param records æ•°æ®å¯¹è±¡é›†åˆ
     */
    int batchInsert(List<OmdBtmTypeAttribute> records);
    /**
     * ä¸šåŠ¡ç±»åž‹ä¸»é”®æŸ¥å±žæ€§
     * @param btmTypeOid ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return æŸ¥è¯¢ç»“æžœ
     */
    List<OmdBtmTypeAttributeVO> getAttributeByBtmTypeOid(String btmTypeOid);
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IOmdBtmTypeService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,290 @@
package com.vci.ubcs.omd.service;
import com.vci.ubcs.omd.dto.OmdBtmTypeDTO;
import com.vci.ubcs.omd.dto.OmdBtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.OmdBtmType;
import com.vci.ubcs.omd.entity.OmdBtmTypeAttribute;
import com.vci.ubcs.omd.entity.OsModifyAttributeInfoDO;
import com.vci.ubcs.omd.vo.OmdBtmTypeVO;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import com.vci.ubcs.omd.vo.OsLinkTypeVO;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseService;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * ä¸šåŠ¡ç±»åž‹æœåŠ¡æŽ¥å£
 * @author weidy
 * @date 2019/10/13 2:33 PM
 */
public interface IOmdBtmTypeService extends BaseService<OmdBtmType> {
    /**
     * è®¾ç½®å¹³å°æœ¬èº«çš„业务类型
     * @param platformBtmType å¹³å°æœ¬èº«çš„业务类型
     */
    void setPlatformBtmType(Collection<String> platformBtmType);
    /**
     * æ ¹æ®ä¸»é”®èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return ä¸šåŠ¡ç±»åž‹ï¼Œå¦‚æžœä¸å­˜åœ¨ä¼šè¿”å›žnull
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    OmdBtmTypeVO getBtmTypeByOid(String pkBtmType) throws ServiceException;
    /**
     * æ ¹æ®ä¸»é”®æ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param pkBtmTypes ä¸šåŠ¡ç±»åž‹ä¸»é”®ï¼Œç”¨é€—å·åˆ†éš”
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    List<OmdBtmTypeVO> listBtmTypeByOids(String pkBtmTypes) throws ServiceException;
    /**
     * æ‰¹é‡æ ¹æ®ä¸»é”®èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param pkBtmTypeCollection ä¸šåŠ¡ç±»åž‹ä¸»é”®é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    List<OmdBtmTypeVO> listBtmTypeByOidCollection(Collection<String> pkBtmTypeCollection) throws ServiceException;
    /**
     * æ ¹æ®è‹±æ–‡åç§°èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param id è‹±æ–‡åç§°
     * @return ä¸šåŠ¡ç±»åž‹ï¼Œå¦‚æžœä¸å­˜åœ¨ä¼šè¿”å›žnull
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    OmdBtmTypeVO getBtmTypeById(String id) throws ServiceException;
    /**
     * æ ¹æ®è‹±æ–‡åç§°æ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param ids è‹±æ–‡åç§°ï¼Œä½¿ç”¨é€—号分隔
     * @return  ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    List<OmdBtmTypeVO> listBtmTypeByIds(String ids) throws ServiceException;
    /**
     * æ ¹æ®è‹±æ–‡åç§°é›†åˆæ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹
     * @param idCollection è‹±æ–‡åç§°é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    List<OmdBtmTypeVO> listBtmTypeByIdCollection(Collection<String> idCollection) throws ServiceException;
    /**
     * æ ¹æ®è‹±æ–‡åç§°é›†åˆæ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹çš„æ•°æ®å¯¹è±¡
     * @param idCollection è‹±æ–‡åç§°é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException  å‚数为空或者查询出错时会抛出错误
     */
    List<OmdBtmType> listBtmTypeDOByIdCollection(Collection<String> idCollection) throws ServiceException;
    /**
     * æ ¹æ®ä¸»é”®é›†åˆæ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹çš„æ•°æ®å¯¹è±¡
     * @param oidCollection ä¸»é”®
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException  å‚数为空或者查询出错时会抛出错误
     */
    List<OmdBtmType> listBtmTypeDOByOidCollection(Collection<String> oidCollection) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹ä¸»é”®èŽ·å–ä¸­æ–‡åç§°
     * @param oid ä¸šåŠ¡ç±»åž‹ä¸»é”®ï¼Œå¤šä¸ªä½¿ç”¨é€—å·åˆ†éš”
     * @return ä¸­æ–‡åç§°ï¼Œå¦‚果不存在会返回null;多个会以逗号分隔
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    String getNameByOid(String oid) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°èŽ·å–ä¸­æ–‡åç§°
     * @param id ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°
     * @return ä¸­æ–‡åç§°ï¼Œå¦‚果不存在会返回null;多个会以逗号分隔
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    String getNameById(String id) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹ä¸»é”®èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     * @param oid ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return æ‰€æœ‰çš„属性对象,包括系统属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºé”™è¯¯
     */
    List<OmdBtmTypeAttributeVO> listHasAttributesByOid(String oid) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     * @param id ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°
     * @return æ‰€æœ‰çš„属性对象,包括系统内置属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–è€…æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    List<OmdBtmTypeAttributeVO> listHasAttributeById(String id) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹ä¸»é”®èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     *
     * @param oidCollection ä¸šåŠ¡ç±»åž‹ä¸»é”®é›†åˆ
     * @return æ‰€æœ‰çš„属性对象,包括系统内置属性,key是业务类型主键,value是包含的属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–è€…æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    Map<String,List<OmdBtmTypeAttributeVO>> batchListHasAttributesByOidCollection(Collection<String> oidCollection) throws ServiceException;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     *
     * @param idCollection ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°é›†åˆ
     * @return æ‰€æœ‰çš„属性对象,包括系统内置属性,key是业务类型主键,value是包含的属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–è€…æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    Map<String,List<OmdBtmTypeAttributeVO>> batchListHasAttributesByIdCollection(Collection<String> idCollection) throws ServiceException;
    /**
     * èŽ·å–ä½¿ç”¨ä¸šåŠ¡ç±»åž‹çš„é“¾æŽ¥ç±»åž‹
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return å¼•用的链接类型
     * @throws ServiceException å‚数为空或者查询出错时会抛出异常
     */
    List<OsLinkTypeVO> listLinkTypeForUsedBtmType(String pkBtmType) throws ServiceException;
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹æ˜¯å¦è¢«å¼•ç”¨
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @return true表示被引用, false表示没有被引用
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    boolean checkBtmTypeUsed(String pkBtmType) throws ServiceException;
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹æ˜¯å¦è¢«å¼•ç”¨
     *
     * @param oidCollection ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®é›†åˆ
     * @return true表示被引用, false表示没有被引用
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    boolean checkBtmTypeUseds(Collection<String> oidCollection) throws ServiceException;
    /**
     * æ·»åŠ ä¸šåŠ¡ç±»åž‹
     * @param btmTypeDTO ä¸šåŠ¡ç±»åž‹æ•°æ®ä¼ è¾“å¯¹è±¡
     * @param autoCreateTable æ˜¯å¦è‡ªåŠ¨åˆ›å»ºè¡¨æ ¼
     * @return æ·»åŠ åŽçš„ä¸šåŠ¡ç±»åž‹
     * @throws ServiceException æ·»åŠ å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    OmdBtmTypeDTO addSave(OmdBtmTypeDTO btmTypeDTO, boolean autoCreateTable) throws ServiceException;
    /**
     * ä¿®æ”¹ä¸šåŠ¡ç±»åž‹
     * @param btmTypeDTO ä¸šåŠ¡ç±»åž‹æ•°æ®ä¼ è¾“å¯¹è±¡
     * @param autoEditTable æ˜¯å¦è‡ªåŠ¨æ›´æ–°è¡¨æ ¼
     * @return ä¿®æ”¹åŽçš„业务类型
     * @throws ServiceException ä¿®æ”¹å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    OmdBtmTypeDTO editSave(OmdBtmTypeDTO btmTypeDTO, boolean autoEditTable) throws ServiceException;
    /**
     * åˆ é™¤ä¸šåŠ¡ç±»åž‹
     * @param btmTypeVO ä¸šåŠ¡ç±»åž‹æ˜¾ç¤ºå¯¹è±¡
     * @param autoDeleteTable è‡ªåŠ¨åˆ é™¤è¡¨æ ¼
     * @throws ServiceException å¦‚果业务类型被引用,或者删除出错时会抛出异常
     */
    void delete(OmdBtmTypeVO btmTypeVO,boolean autoDeleteTable) throws ServiceException;
    /**
     * æ‰¹é‡åˆ é™¤ä¸šåŠ¡ç±»åž‹
     * @param btmTypeVOList è¦åˆ é™¤çš„业务类型显示对象列表
     * @param autoDeleteTable è‡ªåŠ¨åˆ é™¤è¡¨æ ¼
     * @throws ServiceException å¦‚果业务类型被引用,或者删除出错时会抛出异常
     */
    void batchDelete(List<OmdBtmTypeVO> btmTypeVOList,boolean autoDeleteTable) throws ServiceException;
    /**
     * æ£€æŸ¥ä¸šåŠ¡ç±»åž‹ä¸Žæ•°æ®åº“è¡¨æ˜¯å¦ä¸€è‡´
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return ä¸åŒçš„属性信息
     * @throws ServiceException å‚数为空或者查询出错时会抛出异常
     */
    List<OsModifyAttributeInfoDO> checkDbTableSame(String pkBtmType) throws ServiceException;
    /**
     * èŽ·å–æ•°æ®åº“è¡¨ï¼Œæ”¯æŒä¸šåŠ¡ç±»åž‹å’Œè§†å›¾
     * @param id ä¸šåŠ¡ç±»åž‹çš„åç§°
     * @return æ•°æ®åº“表的名称
     * @throws ServiceException å‚数为空的时候会抛出异常
     */
    String getTableName(String id) throws ServiceException;
    /**
     * å°†ä¸šåŠ¡ç±»åž‹ä½¿ç”¨çš„å±žæ€§çš„ä¼ è¾“å¯¹è±¡è½¬æ¢ä¸ºæ•°æ®å¯¹è±¡
     * @param attributesDTO å±žæ€§çš„æ•°æ®ä¼ è¾“对象
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @param creator åˆ›å»ºäºº
     * @param now å½“前时间
     * @return å±žæ€§çš„æ•°æ®å¯¹è±¡
     */
    OmdBtmTypeAttribute btmTypeAttributeDTO2DO(OmdBtmTypeLinkAttributesDTO attributesDTO, String pkBtmType, String creator, Date now);
    /**
     * ä¸šåŠ¡ç±»åž‹çš„å±žæ€§æ˜¾ç¤ºå¯¹è±¡è½¬æ¢ä¸ºæ•°æ®å¯¹è±¡
     * @param thisBtmTypeHasAttributeVOList ä¸šåŠ¡ç±»åž‹å±žæ€§æ˜¾ç¤ºå¯¹è±¡
     * @return æ•°æ®å¯¹è±¡
     */
    List<OmdBtmTypeAttribute> btmTypeAttributeVO2DO(List<OmdBtmTypeAttributeVO> thisBtmTypeHasAttributeVOList);
    /**
     * æ‰¹é‡å°†ä¸šåŠ¡ç±»åž‹çš„æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param attributeDOList å±žæ€§çš„æ•°æ®å¯¹è±¡åˆ—表
     * @return å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡åˆ—表
     */
    List<OmdBtmTypeAttributeVO> batchBtmTypeAttributeDO2VO(List<OmdBtmTypeAttribute> attributeDOList);
    /**
     * æ‰¹é‡å°†ä¸šåŠ¡ç±»åž‹çš„æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param attributesDO å±žæ€§çš„æ•°æ®å¯¹è±¡
     * @return å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡åˆ—表
     */
    OmdBtmTypeAttributeVO btmTypeAttributeDO2VO(OmdBtmTypeAttribute attributesDO);
    /**
     * èŽ·å–ä¸šåŠ¡ç±»åž‹çš„æŒ‡å®šå±žæ€§
     * @param id é“¾æŽ¥ç±»åž‹çš„英文名称
     * @param attributeIdCollection å±žæ€§çš„集合,如果为空则获取全部
     * @return å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡
     */
    List<OmdBtmTypeAttribute> listAttributeDOByIdsForBtm(String id, Collection<String> attributeIdCollection);
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹çš„ç¼–å·èŽ·å–å±žæ€§
     * @param id ä¸šåŠ¡ç±»åž‹çš„ç¼–å·
     * @return å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡
     */
    List<OmdBtmTypeAttributeVO> listAttributeByBtmTypeId(String id);
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®èŽ·å–å±žæ€§
     * @param oid ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @return å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡
     */
    List<OmdBtmTypeAttributeVO> listAttributeByBtmTypeOid(String oid);
    /**
     * æ‰¹é‡æ ¹æ®ä¸šåŠ¡ç±»åž‹ç¼–å·æˆ–è€…ä¸»é”®èŽ·å–åŒ…å«çš„å±žæ€§
     * @param oidsOrIds ä¸»é”®æˆ–者编号集合
     * @param queryById æ˜¯å¦ä½¿ç”¨ç¼–号查询
     * @return key是业务类型的主键或者编号,值是包含的属性的信息
     * @throws ServiceException å‚数为空或者查询出错会抛出异常
     */
     List<OmdBtmTypeAttributeVO> batchListAttributeByBtmType(Collection<String> oidsOrIds, boolean queryById) throws ServiceException;
    /**
     * æ–°å¢žæˆ–修改业务类型
     * @param btmTypeDTO ä¸šåŠ¡ç±»åž‹é¡µé¢ä¼ è¾“å¯¹è±¡
     * @return æ‰§è¡Œç»“æžœ
     */
    boolean submit(OmdBtmTypeDTO btmTypeDTO);
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdAttributeServiceImpl.java
@@ -5,21 +5,28 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.omd.constant.OmdCacheConstant;
import com.vci.ubcs.omd.dto.OmdAttributeDTO;
import com.vci.ubcs.omd.dto.OmdBtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.OmdAttribute;
import com.vci.ubcs.omd.mapper.OmdAttributeMapper;
import com.vci.ubcs.omd.service.IOmdAttributeService;
import com.vci.ubcs.omd.vo.OmdAttributeVO;
import com.vci.ubcs.omd.wrapper.OmdAttributeWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.validation.constraints.NotEmpty;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
@@ -94,4 +101,103 @@
    public List<String> applyRange(Long id) {
        return new ArrayList<>();
    }
    /**
     * æ£€æŸ¥å±žæ€§æ˜¯å¦å­˜åœ¨
     *
     * @param keyCollections è‹±æ–‡åç§°é›†åˆ
     * @return true表示都存在,false表示不存在,不存在的时候会抛出异常
     * @throws VciBaseException ä¸å­˜åœ¨çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    @Override
    public boolean checkAttributeExists(Collection<String> keyCollections) throws VciBaseException {
        List<OmdAttributeVO> existAttributeVOList = listAttributeByKeyCollection(keyCollections);
        if (CollectionUtils.isEmpty(existAttributeVOList)) {
            throw new VciBaseException("使用的属性都在系统中不存在,请先查证");
        } else {
            Set<String> existAttributeIdSet = (existAttributeVOList.stream().collect(Collectors.toMap(s -> s.getKey().toLowerCase().trim(), t -> t))).keySet();
            keyCollections.stream().forEach(s -> {
                if (!existAttributeIdSet.contains(s)) {
                    throw new VciBaseException("使用的属性{0}在系统中不存在,请先查证", new Object[]{s});
                }
            });
        }
        return true;
    }
    /**
     * æ ¹æ®è‹±æ–‡åç§°é›†åˆæ‰¹é‡èŽ·å–å±žæ€§å¯¹è±¡
     *
     * @param attributeIdCollection è‹±æ–‡åç§°é›†åˆ
     * @return å±žæ€§å¯¹è±¡åˆ—表,如果有不存在的不会返回,全部不存在的则返回空列表
     * @throws VciBaseException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public List<OmdAttributeVO> listAttributeByKeyCollection(Collection<String> attributeIdCollection) throws VciBaseException {
        if(!CollectionUtils.isEmpty(attributeIdCollection)){
            List<OmdAttribute> attributeDOList = listAttributeByKeyCollectionDO(attributeIdCollection);
            if(!CollectionUtils.isEmpty(attributeDOList)) {
                return OmdAttributeWrapper.build().listEntityVO(attributeDOList);
            }
        }
        return null;
    }
    /**
     * æ ¹æ®è‹±æ–‡åç§°é›†åˆèŽ·å–å±žæ€§æ•°æ®å¯¹è±¡
     * @param attributeIdCollection å±žæ€§çš„英文名称集合
     * @return å±žæ€§æ•°æ®å¯¹è±¡åˆ—表,如果有不存在的不会返回,全部不存在的则返回空列表
     * @throws VciBaseException mybatis查询出错的时候会抛出异常
     */
    private List<OmdAttribute> listAttributeByKeyCollectionDO(Collection<String> attributeIdCollection) throws VciBaseException {
        if(!CollectionUtils.isEmpty(attributeIdCollection)){
            List<OmdAttribute> attributeDOList = new ArrayList<>();
            Collection<String> distAttributeIdCollection = attributeIdCollection.stream().distinct().collect(Collectors.toList());
            Collection<Collection<String>> idCollections = VciBaseUtil.switchCollectionForOracleIn(distAttributeIdCollection);
            if(!CollectionUtils.isEmpty(idCollections)) {
                idCollections.stream().forEach(s -> {
                    List<OmdAttribute> attributeDOS = baseMapper.selectList(Wrappers.<OmdAttribute>query().lambda().in(OmdAttribute::getKey, s));
                    if(!CollectionUtils.isEmpty(attributeDOS)){
                        attributeDOList.addAll(attributeDOS);
                    }
                });
            }
            return attributeDOList;
        }
        return null;
    }
    /**
     * åˆ¤æ–­å±žæ€§çš„内容是否符合要求
     *
     * @param id              å±žæ€§çš„主键
     * @param attrDataType    å±žæ€§çš„类型
     * @param attributeLength å±žæ€§çš„长度
     * @param defaultValue    é»˜è®¤å€¼
     * @return true表示符合要求,不符合要求会抛出异常
     * @throws VciBaseException ä¸ç¬¦åˆè¦æ±‚会抛出异常
     */
    @Override
    public boolean checkAttributePass(String id, String attrDataType, Integer attributeLength, String defaultValue) throws VciBaseException {
        return true;
    }
    /**
     * æ ¡éªŒå±žæ€§æ˜¯å¦ç¬¦åˆè¦æ±‚
     *
     * @param attributesDTO å±žæ€§æ•°æ®ä¼ è¾“对象
     * @return true ç¬¦åˆ false ä¸ç¬¦åˆ
     * @throws VciBaseException ä¸ç¬¦åˆæ—¶æŠ›å‡ºå¼‚常
     */
    @Override
    public boolean checkAttribute(OmdBtmTypeLinkAttributesDTO attributesDTO) throws VciBaseException {
        VciBaseUtil.alertNotNull(attributesDTO.getId(), "属性的英文名称", attributesDTO.getName(), "属性的中文名称",
            attributesDTO.getAttrDataType(), "属性的数据类型");
        boolean pass = checkAttributePass(attributesDTO.getId(), attributesDTO.getAttrDataType(), attributesDTO.getAttributeLength(), attributesDTO.getDefaultValue());
        if (!pass){
            throw new VciBaseException("属性不符合要求");
        }
        return pass;
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdBtmAttributeServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,99 @@
package com.vci.ubcs.omd.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.omd.dto.OmdBtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.OmdBtmTypeAttribute;
import com.vci.ubcs.omd.mapper.OmdBtmTypeAttributeMapper;
import com.vci.ubcs.omd.service.IOmdAttributeService;
import com.vci.ubcs.omd.service.IOmdBtmTypeAttributeService;
import com.vci.ubcs.omd.vo.OmdAttributeVO;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import com.vci.ubcs.omd.wrapper.OmdBtmTypeAttributeWrapper;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.validation.constraints.NotEmpty;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
/**
 * Description: ä¸šåŠ¡ç±»åž‹å…³è”å±žæ€§çš„æœåŠ¡å®žçŽ°ç±»
 *
 * @author LiHang
 * @date 2023/4/23
 */
@Service
public class OmdBtmAttributeServiceImpl extends ServiceImpl<OmdBtmTypeAttributeMapper, OmdBtmTypeAttribute> implements IOmdBtmTypeAttributeService {
    @Autowired
    private IOmdAttributeService attributeService;
    @Override
    public boolean deleteLogic(@NotEmpty List<Long> ids) {
        return false;
    }
    @Override
    public boolean changeStatus(@NotEmpty List<Long> ids, Integer status) {
        return false;
    }
    /**
     * æ£€æŸ¥å±žæ€§å­˜åœ¨å¹¶æ·»åŠ 
     *
     * @param attributesDTOList é¡µé¢ä¼ è¾“对象集合
     * @return å—影响的行数
     */
    @Override
    public int checkAndInsert(String btmTypeOid,List<OmdBtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now) {
        List<String> attributeIdList = new ArrayList<>();
        List<OmdBtmTypeAttribute> btmTypeAttributeDOList = new ArrayList<>();
        if (!CollectionUtils.isEmpty(attributesDTOList)) {
            attributesDTOList.stream().forEachOrdered(s -> {
                attributeService.checkAttribute(s);
                btmTypeAttributeDOList.add(OmdBtmTypeAttributeWrapper.build().copyBtmTypeAttributeDTO2Entity(s,btmTypeOid, creator, now));
                attributeIdList.add(s.getId().toLowerCase().trim());
            });
            //检查属性是否都存在
            boolean exists = attributeService.checkAttributeExists(attributeIdList);
            if (!exists){
                return -1;
            }
            return batchInsert(btmTypeAttributeDOList);
//            btmTypeAttributeDOList.stream().forEachOrdered(s -> {
//                btmTypeAttributeDOMapper.insert(s);
//            });
        }
        return 0;
    }
    /**
     * æ‰¹é‡æ’å…¥
     *
     * @param records æ•°æ®å¯¹è±¡é›†åˆ
     */
    @Override
    public int batchInsert(List<OmdBtmTypeAttribute> records) {
        return baseMapper.insertBatchSomeColumn(records);
    }
    /**
     * ä¸šåŠ¡ç±»åž‹ä¸»é”®æŸ¥å±žæ€§
     * @param btmTypeOid ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return æŸ¥è¯¢ç»“æžœ
     */
    @Override
    public List<OmdBtmTypeAttributeVO> getAttributeByBtmTypeOid(String btmTypeOid){
        Func.requireNotNull(btmTypeOid,"业务类型主键");
        return OmdBtmTypeAttributeWrapper.build().listEntityVO(
            Optional.ofNullable(
                baseMapper.selectList(Wrappers.<OmdBtmTypeAttribute>query().lambda().eq(OmdBtmTypeAttribute::getPkBtmType, btmTypeOid))
            ).orElseGet(ArrayList::new)
        );
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdBtmTypeServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,610 @@
package com.vci.ubcs.omd.service.impl;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.alibaba.nacos.api.exception.NacosException;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.omd.constant.OmdBtmTypeConstant;
import com.vci.ubcs.omd.repeater.DomainRepeater;
import com.vci.ubcs.omd.service.IOmdBtmTypeAttributeService;
import com.vci.ubcs.omd.wrapper.OmdBtmTypeWrapper;
import com.vci.ubcs.starter.web.constant.OmdRegExpConstant;
import com.vci.ubcs.omd.dto.OmdBtmTypeDTO;
import com.vci.ubcs.omd.dto.OmdBtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.OmdBtmType;
import com.vci.ubcs.omd.entity.OmdBtmTypeAttribute;
import com.vci.ubcs.omd.entity.OsModifyAttributeInfoDO;
import com.vci.ubcs.omd.mapper.OmdBtmTypeMapper;
import com.vci.ubcs.omd.service.IOmdBtmTypeService;
import com.vci.ubcs.omd.vo.OmdBtmTypeVO;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import com.vci.ubcs.omd.vo.OsLinkTypeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.starter.web.util.VciDateUtil;
import org.springblade.core.log.exception.ServiceException;
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.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.validation.constraints.NotEmpty;
import java.util.*;
/**
 * Description: ä¸šåŠ¡ç±»åž‹æœåŠ¡çš„å®žçŽ°ç±»
 *
 * @author LiHang
 * @date 2023/4/23
 */
@Service
public class OmdBtmTypeServiceImpl extends ServiceImpl<OmdBtmTypeMapper, OmdBtmType> implements IOmdBtmTypeService {
    /**
     * äº‹åŠ¡ç®¡ç†
     */
    @Autowired
    private DataSourceTransactionManager dataSourceTransactionManager;
    /**
     * ä¸šåŠ¡ç±»åž‹å…³è”å±žæ€§æœåŠ¡
     */
    @Autowired
    private IOmdBtmTypeAttributeService btmTypeAttributeService;
    @Autowired
    private DomainRepeater domainRepeater;
    /**
     * è®¾ç½®å¹³å°æœ¬èº«çš„业务类型
     *
     * @param platformBtmType å¹³å°æœ¬èº«çš„业务类型
     */
    @Override
    public void setPlatformBtmType(Collection<String> platformBtmType) {
    }
    /**
     * æ ¹æ®ä¸»é”®èŽ·å–ä¸šåŠ¡ç±»åž‹
     *
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return ä¸šåŠ¡ç±»åž‹ï¼Œå¦‚æžœä¸å­˜åœ¨ä¼šè¿”å›žnull
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public OmdBtmTypeVO getBtmTypeByOid(String pkBtmType) throws ServiceException {
        Func.requireNotNull(pkBtmType,"业务类型主键不能为空");
        OmdBtmTypeVO btmTypeVO = OmdBtmTypeWrapper.build().entityVO(baseMapper.selectOne(Wrappers.<OmdBtmType>query().lambda().eq(OmdBtmType::getOid, pkBtmType)));
        btmTypeVO.setAttributes(btmTypeAttributeService.getAttributeByBtmTypeOid(pkBtmType));
        return btmTypeVO;
    }
    /**
     * æ ¹æ®ä¸»é”®æ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹
     *
     * @param pkBtmTypes ä¸šåŠ¡ç±»åž‹ä¸»é”®ï¼Œç”¨é€—å·åˆ†éš”
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public List<OmdBtmTypeVO> listBtmTypeByOids(String pkBtmTypes) throws ServiceException {
        return null;
    }
    /**
     * æ‰¹é‡æ ¹æ®ä¸»é”®èŽ·å–ä¸šåŠ¡ç±»åž‹
     *
     * @param pkBtmTypeCollection ä¸šåŠ¡ç±»åž‹ä¸»é”®é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public List<OmdBtmTypeVO> listBtmTypeByOidCollection(Collection<String> pkBtmTypeCollection) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®è‹±æ–‡åç§°èŽ·å–ä¸šåŠ¡ç±»åž‹
     *
     * @param id è‹±æ–‡åç§°
     * @return ä¸šåŠ¡ç±»åž‹ï¼Œå¦‚æžœä¸å­˜åœ¨ä¼šè¿”å›žnull
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public OmdBtmTypeVO getBtmTypeById(String id) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®è‹±æ–‡åç§°æ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹
     *
     * @param ids è‹±æ–‡åç§°ï¼Œä½¿ç”¨é€—号分隔
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public List<OmdBtmTypeVO> listBtmTypeByIds(String ids) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®è‹±æ–‡åç§°é›†åˆæ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹
     *
     * @param idCollection è‹±æ–‡åç§°é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public List<OmdBtmTypeVO> listBtmTypeByIdCollection(Collection<String> idCollection) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®è‹±æ–‡åç§°é›†åˆæ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹çš„æ•°æ®å¯¹è±¡
     *
     * @param idCollection è‹±æ–‡åç§°é›†åˆ
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public List<OmdBtmType> listBtmTypeDOByIdCollection(Collection<String> idCollection) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®ä¸»é”®é›†åˆæ‰¹é‡èŽ·å–ä¸šåŠ¡ç±»åž‹çš„æ•°æ®å¯¹è±¡
     *
     * @param oidCollection ä¸»é”®
     * @return ä¸šåŠ¡ç±»åž‹åˆ—è¡¨ï¼Œå¦‚æžœæœ‰ä¸å­˜åœ¨çš„ä¸ä¼šè¿”å›žï¼Œå…¨éƒ¨ä¸å­˜åœ¨çš„åˆ™è¿”å›žç©ºåˆ—è¡¨
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public List<OmdBtmType> listBtmTypeDOByOidCollection(Collection<String> oidCollection) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹ä¸»é”®èŽ·å–ä¸­æ–‡åç§°
     *
     * @param oid ä¸šåŠ¡ç±»åž‹ä¸»é”®ï¼Œå¤šä¸ªä½¿ç”¨é€—å·åˆ†éš”
     * @return ä¸­æ–‡åç§°ï¼Œå¦‚果不存在会返回null;多个会以逗号分隔
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public String getNameByOid(String oid) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°èŽ·å–ä¸­æ–‡åç§°
     *
     * @param id ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°
     * @return ä¸­æ–‡åç§°ï¼Œå¦‚果不存在会返回null;多个会以逗号分隔
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public String getNameById(String id) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹ä¸»é”®èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     *
     * @param oid ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return æ‰€æœ‰çš„属性对象,包括系统属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºé”™è¯¯
     */
    @Override
    public List<OmdBtmTypeAttributeVO> listHasAttributesByOid(String oid) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     *
     * @param id ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°
     * @return æ‰€æœ‰çš„属性对象,包括系统内置属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–è€…æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    @Override
    public List<OmdBtmTypeAttributeVO> listHasAttributeById(String id) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹ä¸»é”®èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     *
     * @param oidCollection ä¸šåŠ¡ç±»åž‹ä¸»é”®é›†åˆ
     * @return æ‰€æœ‰çš„属性对象,包括系统内置属性,key是业务类型主键,value是包含的属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–è€…æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    @Override
    public Map<String, List<OmdBtmTypeAttributeVO>> batchListHasAttributesByOidCollection(Collection<String> oidCollection) throws ServiceException {
        return null;
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°èŽ·å–å…³è”çš„æ‰€æœ‰å±žæ€§å¯¹è±¡
     *
     * @param idCollection ä¸šåŠ¡ç±»åž‹è‹±æ–‡åç§°é›†åˆ
     * @return æ‰€æœ‰çš„属性对象,包括系统内置属性,key是业务类型主键,value是包含的属性
     * @throws ServiceException ä¸šåŠ¡ç±»åž‹ä¸å­˜åœ¨ï¼Œå‚æ•°ä¸ºç©ºæˆ–è€…æŸ¥è¯¢å‡ºé”™æ—¶ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    @Override
    public Map<String, List<OmdBtmTypeAttributeVO>> batchListHasAttributesByIdCollection(Collection<String> idCollection) throws ServiceException {
        return null;
    }
    /**
     * èŽ·å–ä½¿ç”¨ä¸šåŠ¡ç±»åž‹çš„é“¾æŽ¥ç±»åž‹
     *
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return å¼•用的链接类型
     * @throws ServiceException å‚数为空或者查询出错时会抛出异常
     */
    @Override
    public List<OsLinkTypeVO> listLinkTypeForUsedBtmType(String pkBtmType) throws ServiceException {
        return null;
    }
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹æ˜¯å¦è¢«å¼•ç”¨
     *
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @return true表示被引用, false表示没有被引用
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public boolean checkBtmTypeUsed(String pkBtmType) throws ServiceException {
        return false;
    }
    /**
     * æ ¡éªŒä¸šåŠ¡ç±»åž‹æ˜¯å¦è¢«å¼•ç”¨
     *
     * @param oidCollection ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®é›†åˆ
     * @return true表示被引用, false表示没有被引用
     * @throws ServiceException å‚数为空或者查询出错时会抛出错误
     */
    @Override
    public boolean checkBtmTypeUseds(Collection<String> oidCollection) throws ServiceException {
        return false;
    }
    /**
     * æ·»åŠ ä¸šåŠ¡ç±»åž‹
     *
     * @param btmTypeDTO      ä¸šåŠ¡ç±»åž‹æ•°æ®ä¼ è¾“å¯¹è±¡
     * @param autoCreateTable æ˜¯å¦è‡ªåŠ¨åˆ›å»ºè¡¨æ ¼
     * @return æ·»åŠ åŽçš„ä¸šåŠ¡ç±»åž‹
     * @throws ServiceException æ·»åŠ å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚å¸¸
     */
    @Override
    public OmdBtmTypeDTO addSave(OmdBtmTypeDTO btmTypeDTO, boolean autoCreateTable) throws ServiceException {
        TransactionStatus transaction = null;
        DefaultTransactionDefinition def = null;
        if (autoCreateTable) {
            def = new DefaultTransactionDefinition();
            def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
            // äº‹ç‰©éš”离级别,开启新事务,这样会比较安全些。
            transaction = dataSourceTransactionManager.getTransaction(def);
            // èŽ·å¾—äº‹åŠ¡çŠ¶æ€
        }
        OmdBtmType btmTypeDO = new OmdBtmType();
        try {
            VciBaseUtil.alertNotNull(btmTypeDTO, "要添加的业务类型", btmTypeDTO.getId(), "业务类型的英文名称", btmTypeDTO.getName(), "业务类型中文名称");
            if (btmTypeDTO.isViewFlag() && (StringUtils.isBlank(btmTypeDTO.getViewCreateSql())
                || StringUtils.isBlank(btmTypeDTO.getTableName()))) {
                throw new VciBaseException("如果当前是业务类型是视图的时候,请必须输入视图的创建语句和视图名称");
            }
            if (!btmTypeDTO.isViewFlag()) {
                VciBaseUtil.alertCollectionNotNull("属性", btmTypeDTO.getAttributesDTOList());
            }
            if (!btmTypeDTO.getId().matches(OmdRegExpConstant.LETTER)) {
                throw new VciBaseException("业务类型英文名称只能是纯英文,目前为{0}", new Object[]{btmTypeDTO.getId()});
            }
            if (btmTypeDTO.getId().length() > 24) {
                throw new VciBaseException("业务类型英文名称不能超过18,目前长度为{0}", new Object[]{btmTypeDTO.getId().length()});
            }
            List<OmdBtmType> btmTypeDOList = listBtmTypeDOByIdCollection(VciBaseUtil.str2List(btmTypeDTO.getId()));
            if (!CollectionUtils.isEmpty(btmTypeDOList) && btmTypeDOList.size() > 0) {
                OmdBtmType existBtmType = btmTypeDOList.get(0);
                throw new VciBaseException("业务类型英文名称已经存在(不区分大小写),这个英文名称对应的中文名称为{0},创建人{1},创建时间{2}"
                    , new Object[]{existBtmType.getName(), existBtmType.getCreator(), VciDateUtil.date2Str(existBtmType.getCreateTime(), VciDateUtil.DateFormat)});
            }
            /*
            //检查使用的版本规则是否存在
            if (StringUtils.isNotBlank(btmTypeDTO.getRevisionRuleId())) {
                if (revisionRuleServiceI.checkRevisionRuleExist(btmTypeDTO.getRevisionRuleId())) {
                    throw new VciBaseException("版本规则{0}[{1}]在系统中不存在,请先查证",
                        new Object[]{btmTypeDTO.getRevisionRuleId(), btmTypeDTO.getRevisionRuleName()});
                }
            }
            //检查使用的生命周期是否存在
            if (StringUtils.isNotBlank(btmTypeDTO.getLifeCycleId())
                && !FrameWorkLcStatusConstant.EMTYPE_LIFE_CYCLE.equalsIgnoreCase(btmTypeDTO.getLifeCycleId())) {
                if (lifeCycleServiceI.checkLifeCycleExist(btmTypeDTO.getLifeCycleId())) {
                    throw new VciBaseException("生命周期{0}[{1}]在系统中不存在,请先查证",
                        new Object[]{btmTypeDTO.getLifeCycleId(), btmTypeDTO.getLifeCycleName()});
                }
            }
            if (StringUtils.isNotBlank(btmTypeDTO.getSubLifeCycleId())) {
                if (lifeCycleServiceI.checkLifeCycleExist(btmTypeDTO.getSubLifeCycleId())) {
                    throw new VciBaseException("备用生命周期{0}[{1}]中其中有某些在系统中不存在,请先查证",
                        new Object[]{btmTypeDTO.getSubLifeCycleId(), btmTypeDTO.getSubLifeCycleName()});
                }
            }
            */
            if (StringUtils.isBlank(btmTypeDTO.getOid())) {
                btmTypeDTO.setOid(VciBaseUtil.getPk());
            }
            BeanUtil.copy(btmTypeDTO, btmTypeDO);
            String creator = AuthUtil.getUserAccount();
            Date now = new Date();
            btmTypeDO.setCreator(creator);
            btmTypeDO.setCreateTime(now);
            btmTypeDO.setOwner(creator);
            btmTypeDO.setBtmname(OmdBtmTypeConstant.OMD_BTMTYPE);
            btmTypeDO.setTs(now);
            if (StringUtils.isBlank(btmTypeDO.getTableName())) {
                btmTypeDO.setTableName(getTableName(btmTypeDO.getId()));
            }
            //处理属性
            addAttributeForBtm(btmTypeDTO, creator, now);
            baseMapper.insert(btmTypeDO);
            if (autoCreateTable) {
                dataSourceTransactionManager.commit(transaction);
            }
        } catch (ServiceException e) {
            if (autoCreateTable) {
                dataSourceTransactionManager.rollback(transaction);
            }
            throw e;
        } catch (Throwable e) {
            if (autoCreateTable) {
                dataSourceTransactionManager.rollback(transaction);
            }
            throw e;
        }
        if (autoCreateTable) {
            OmdBtmTypeVO btmTypeVO = OmdBtmTypeWrapper.build().entityVO(btmTypeDO);
            btmTypeVO.setAttributes(listHasAttributesByOid(btmTypeDO.getOid()));
            checkTableSame(btmTypeVO);
        }
        return btmTypeDTO;
    }
    /**
     * æ£€æŸ¥ä¸šåŠ¡ç±»åž‹çš„å±žæ€§æ˜¯å¦å’Œæ•°æ®åº“ä¸­ç›¸åŒ
     *
     * @param btmTypeVO ä¸šåŠ¡ç±»åž‹çš„æ˜¾ç¤ºå¯¹è±¡
     */
    private void checkTableSame(OmdBtmTypeVO btmTypeVO) {
        /*List<OmdBtmTypeVO> btmTypeVOList = new ArrayList<>();
        btmTypeVOList.add(btmTypeVO);
        List<OsModifyAttributeInfoDO> modifyAttributeInfoDOList = ddlServiceI.checkDifferent(btmTypeVOList, null);
        try {
            modifyAttributeServiceI.batchAddSave(modifyAttributeInfoDOList);
        } catch (Throwable e) {
            if (logger.isErrorEnabled()) {
                logger.error("保存【修改属性】数据", e);
            }
        }
        ddlServiceI.reflexDifferent(modifyAttributeInfoDOList);
        modifyAttributeServiceI.finishModify(modifyAttributeInfoDOList);*/
    }
    /**
     * æ·»åŠ å±žæ€§åˆ°ä¸šåŠ¡ç±»åž‹ä¸­
     *
     * @param btmTypeDTO ä¸šåŠ¡ç±»åž‹çš„æ•°æ®ä¼ è¾“å¯¹è±¡
     * @param creator    åˆ›å»ºäºº
     * @param now        å½“前时间
     */
    private void addAttributeForBtm(OmdBtmTypeDTO btmTypeDTO, String creator, Date now) throws VciBaseException{
        List<OmdBtmTypeLinkAttributesDTO> attributesDTOList = btmTypeDTO.getAttributesDTOList();
        btmTypeAttributeService.checkAndInsert(btmTypeDTO.getOid(),attributesDTOList,creator,now);
    }
    /**
     * ä¿®æ”¹ä¸šåŠ¡ç±»åž‹
     *
     * @param btmTypeDTO    ä¸šåŠ¡ç±»åž‹æ•°æ®ä¼ è¾“å¯¹è±¡
     * @param autoEditTable æ˜¯å¦è‡ªåŠ¨æ›´æ–°è¡¨æ ¼
     * @return ä¿®æ”¹åŽçš„业务类型
     * @throws ServiceException ä¿®æ”¹å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    @Override
    public OmdBtmTypeDTO editSave(OmdBtmTypeDTO btmTypeDTO, boolean autoEditTable) throws ServiceException {
        return null;
    }
    /**
     * åˆ é™¤ä¸šåŠ¡ç±»åž‹
     *
     * @param btmTypeVO       ä¸šåŠ¡ç±»åž‹æ˜¾ç¤ºå¯¹è±¡
     * @param autoDeleteTable è‡ªåŠ¨åˆ é™¤è¡¨æ ¼
     * @throws ServiceException å¦‚果业务类型被引用,或者删除出错时会抛出异常
     */
    @Override
    public void delete(OmdBtmTypeVO btmTypeVO, boolean autoDeleteTable) throws ServiceException {
    }
    /**
     * æ‰¹é‡åˆ é™¤ä¸šåŠ¡ç±»åž‹
     *
     * @param btmTypeVOList   è¦åˆ é™¤çš„业务类型显示对象列表
     * @param autoDeleteTable è‡ªåŠ¨åˆ é™¤è¡¨æ ¼
     * @throws ServiceException å¦‚果业务类型被引用,或者删除出错时会抛出异常
     */
    @Override
    public void batchDelete(List<OmdBtmTypeVO> btmTypeVOList, boolean autoDeleteTable) throws ServiceException {
    }
    /**
     * æ£€æŸ¥ä¸šåŠ¡ç±»åž‹ä¸Žæ•°æ®åº“è¡¨æ˜¯å¦ä¸€è‡´
     *
     * @param pkBtmType ä¸šåŠ¡ç±»åž‹ä¸»é”®
     * @return ä¸åŒçš„属性信息
     * @throws ServiceException å‚数为空或者查询出错时会抛出异常
     */
    @Override
    public List<OsModifyAttributeInfoDO> checkDbTableSame(String pkBtmType) throws ServiceException {
        return null;
    }
    /**
     * èŽ·å–æ•°æ®åº“è¡¨ï¼Œæ”¯æŒä¸šåŠ¡ç±»åž‹å’Œè§†å›¾
     *
     * @param id ä¸šåŠ¡ç±»åž‹çš„åç§°
     * @return æ•°æ®åº“表的名称
     * @throws ServiceException å‚数为空的时候会抛出异常
     */
    @Override
    public String getTableName(String id) throws ServiceException {
        return null;
    }
    /**
     * å°†ä¸šåŠ¡ç±»åž‹ä½¿ç”¨çš„å±žæ€§çš„ä¼ è¾“å¯¹è±¡è½¬æ¢ä¸ºæ•°æ®å¯¹è±¡
     *
     * @param attributesDTO å±žæ€§çš„æ•°æ®ä¼ è¾“对象
     * @param pkBtmType     ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @param creator       åˆ›å»ºäºº
     * @param now           å½“前时间
     * @return å±žæ€§çš„æ•°æ®å¯¹è±¡
     */
    @Override
    public OmdBtmTypeAttribute btmTypeAttributeDTO2DO(OmdBtmTypeLinkAttributesDTO attributesDTO, String pkBtmType, String creator, Date now) {
        return null;
    }
    /**
     * ä¸šåŠ¡ç±»åž‹çš„å±žæ€§æ˜¾ç¤ºå¯¹è±¡è½¬æ¢ä¸ºæ•°æ®å¯¹è±¡
     *
     * @param thisBtmTypeHasAttributeVOList ä¸šåŠ¡ç±»åž‹å±žæ€§æ˜¾ç¤ºå¯¹è±¡
     * @return æ•°æ®å¯¹è±¡
     */
    @Override
    public List<OmdBtmTypeAttribute> btmTypeAttributeVO2DO(List<OmdBtmTypeAttributeVO> thisBtmTypeHasAttributeVOList) {
        return null;
    }
    /**
     * æ‰¹é‡å°†ä¸šåŠ¡ç±»åž‹çš„æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     *
     * @param attributeDOList å±žæ€§çš„æ•°æ®å¯¹è±¡åˆ—表
     * @return å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡åˆ—表
     */
    @Override
    public List<OmdBtmTypeAttributeVO> batchBtmTypeAttributeDO2VO(List<OmdBtmTypeAttribute> attributeDOList) {
        return null;
    }
    /**
     * æ‰¹é‡å°†ä¸šåŠ¡ç±»åž‹çš„æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     *
     * @param attributesDO å±žæ€§çš„æ•°æ®å¯¹è±¡
     * @return å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡åˆ—表
     */
    @Override
    public OmdBtmTypeAttributeVO btmTypeAttributeDO2VO(OmdBtmTypeAttribute attributesDO) {
        return null;
    }
    /**
     * èŽ·å–ä¸šåŠ¡ç±»åž‹çš„æŒ‡å®šå±žæ€§
     *
     * @param id                    é“¾æŽ¥ç±»åž‹çš„英文名称
     * @param attributeIdCollection å±žæ€§çš„集合,如果为空则获取全部
     * @return å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public List<OmdBtmTypeAttribute> listAttributeDOByIdsForBtm(String id, Collection<String> attributeIdCollection) {
        return null;
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹çš„ç¼–å·èŽ·å–å±žæ€§
     *
     * @param id ä¸šåŠ¡ç±»åž‹çš„ç¼–å·
     * @return å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public List<OmdBtmTypeAttributeVO> listAttributeByBtmTypeId(String id) {
        return null;
    }
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®èŽ·å–å±žæ€§
     *
     * @param oid ä¸šåŠ¡ç±»åž‹çš„ä¸»é”®
     * @return å±žæ€§çš„æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public List<OmdBtmTypeAttributeVO> listAttributeByBtmTypeOid(String oid) {
        return null;
    }
    /**
     * æ‰¹é‡æ ¹æ®ä¸šåŠ¡ç±»åž‹ç¼–å·æˆ–è€…ä¸»é”®èŽ·å–åŒ…å«çš„å±žæ€§
     *
     * @param oidsOrIds ä¸»é”®æˆ–者编号集合
     * @param queryById æ˜¯å¦ä½¿ç”¨ç¼–号查询
     * @return key是业务类型的主键或者编号,值是包含的属性的信息
     * @throws ServiceException å‚数为空或者查询出错会抛出异常
     */
    @Override
    public List<OmdBtmTypeAttributeVO> batchListAttributeByBtmType(Collection<String> oidsOrIds, boolean queryById) throws ServiceException {
        return null;
    }
    /**
     * æ–°å¢žæˆ–修改业务类型
     *
     * @param btmTypeDTO ä¸šåŠ¡ç±»åž‹é¡µé¢ä¼ è¾“å¯¹è±¡
     * @return æ‰§è¡Œç»“æžœ
     */
    @Override
    public boolean submit(OmdBtmTypeDTO btmTypeDTO) {
        //addSave(btmTypeDTO,false);
        try {
            Object result = domainRepeater.submitBtmType(btmTypeDTO.getDomain(), Objects.requireNonNull(BeanUtil.copy(btmTypeDTO, OmdBtmTypeVO.class)));
            if (result instanceof R){
                 R r = (R) result;
                 if (r.isSuccess()){
                     return true;
                 }else {
                     return false;
                 }
            }
        } catch (NacosException e) {
            throw new RuntimeException(e);
        }
        return true;
    }
    @Override
    public boolean deleteLogic(@NotEmpty List<Long> ids) {
        return false;
    }
    @Override
    public boolean changeStatus(@NotEmpty List<Long> ids, Integer status) {
        return false;
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdBtmTypeAttributeWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package com.vci.ubcs.omd.wrapper;
import com.vci.ubcs.omd.dto.OmdBtmTypeDTO;
import com.vci.ubcs.omd.dto.OmdBtmTypeLinkAttributesDTO;
import com.vci.ubcs.omd.entity.OmdBtmType;
import com.vci.ubcs.omd.entity.OmdBtmTypeAttribute;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/23
 */
public class OmdBtmTypeAttributeWrapper extends BaseEntityWrapper<OmdBtmTypeAttribute, OmdBtmTypeAttributeVO> {
    public static OmdBtmTypeAttributeWrapper build() {
        return new OmdBtmTypeAttributeWrapper();
    }
    /**
     * do2vo
     * @param entity pojo
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public OmdBtmTypeAttributeVO entityVO(OmdBtmTypeAttribute entity) {
        OmdBtmTypeAttributeVO vo = Objects.requireNonNull(BeanUtil.copy(entity, OmdBtmTypeAttributeVO.class));
        // åœ¨è¿™é‡Œè®¾ç½®æžšä¸¾æ˜¾ç¤ºå€¼
        return vo;
    }
    /**
     * æ‰¹é‡è½¬vo
     * @param list pojo集合
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    public List<OmdBtmTypeAttributeVO> listEntityVO(List<OmdBtmTypeAttribute> list) {
        return list.stream().map(this::entityVO).collect(Collectors.toList());
    }
    /**
     * æ‹·è´ä¸šåŠ¡ç±»åž‹ æ•°æ®ä¼ è¾“对象到 æ•°æ®å¯¹è±¡
     *
     * @param dto ä¸šåŠ¡ç±»åž‹æ•°æ®ä¼ è¾“å¯¹è±¡
     * @param creator    åˆ›å»ºäºº
     * @param now        å½“æ—¶æ—¶é—´
     */
    public OmdBtmTypeAttribute copyBtmTypeAttributeDTO2Entity(OmdBtmTypeLinkAttributesDTO dto,String btmTypeOid, String creator, Date now){
        OmdBtmTypeAttribute entity = Objects.requireNonNull(BeanUtil.copy(dto, OmdBtmTypeAttribute.class));
        entity.setLastModifier(creator);
        entity.setTs(now);
        entity.setPkBtmType(btmTypeOid);
        // åœ¨è¿™è¿›è¡Œé€šç”¨å­—段处理
        return entity;
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdBtmTypeWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.vci.ubcs.omd.wrapper;
import com.vci.ubcs.omd.dto.OmdBtmTypeDTO;
import com.vci.ubcs.omd.entity.OmdBtmType;
import com.vci.ubcs.omd.vo.OmdBtmTypeVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * Description:
 *
 * @author LiHang
 * @date 2023/4/23
 */
public class OmdBtmTypeWrapper extends BaseEntityWrapper<OmdBtmType, OmdBtmTypeVO> {
    public static OmdBtmTypeWrapper build() {
        return new OmdBtmTypeWrapper();
    }
    /**
     * do2vo
     * @param entity pojo
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public OmdBtmTypeVO entityVO(OmdBtmType entity) {
        OmdBtmTypeVO vo = Objects.requireNonNull(BeanUtil.copy(entity, OmdBtmTypeVO.class));
        // åœ¨è¿™é‡Œè®¾ç½®æžšä¸¾æ˜¾ç¤ºå€¼
        return vo;
    }
    /**
     * æ‰¹é‡è½¬vo
     * @param list pojo集合
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    public List<OmdBtmTypeVO> listEntityVO(List<OmdBtmType> list) {
        return list.stream().map(this::entityVO).collect(Collectors.toList());
    }
    /**
     * æ‹·è´ä¸šåŠ¡ç±»åž‹ æ•°æ®ä¼ è¾“对象到 æ•°æ®å¯¹è±¡
     *
     * @param dto ä¸šåŠ¡ç±»åž‹æ•°æ®ä¼ è¾“å¯¹è±¡
     * @param creator    åˆ›å»ºäºº
     * @param now        å½“æ—¶æ—¶é—´
     */
    public OmdBtmType copyBtmTypeDTO2Entity(OmdBtmTypeDTO dto, String creator, Date now){
        OmdBtmType entity = Objects.requireNonNull(BeanUtil.copy(dto, OmdBtmType.class));
        entity.setLastModifier(creator);
        entity.setTs(now);
        // åœ¨è¿™è¿›è¡Œé€šç”¨å­—段处理
        return entity;
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/OmdAttributeMapper.xml
@@ -25,9 +25,9 @@
        <result column="tenant_id" property="tenantId" jdbcType="NUMERIC"/>
        <result column="key" property="key" jdbcType="VARCHAR"/>
        <result column="label" property="label" jdbcType="VARCHAR"/>
<!--        <result column="type" property="type" jdbcType="VARCHAR"/>-->
        <result column="hashtag" property="hashtag" jdbcType="VARCHAR"/>
        <result column="description" property="description" jdbcType="VARCHAR"/>
        <result column="ts" property="ts" jdbcType="TIMESTAMP"/>
    </resultMap>
    <resultMap id="extraResultMap" type="com.vci.ubcs.omd.entity.OmdAttribute">
@@ -35,14 +35,13 @@
        <result column="max_length" property="maxLength" jdbcType="NUMERIC"/>
        <result column="precision" property="precision" jdbcType="NUMERIC"/>
        <result column="refer_to_id" property="referToId" jdbcType="NUMERIC"/>
<!--        <result column="refer_type" property="referType" jdbcType="VARCHAR"/>-->
        <result column="refer_type_code" property="referTypeCode" jdbcType="VARCHAR"/>
        <result column="refer_type_key" property="referTypeKey" jdbcType="VARCHAR"/>
        <result column="refer_to_name" property="referToName" jdbcType="VARCHAR"/>
<!--        <result column="using_enum" property="usingEnum" jdbcType="VARCHAR"/>-->
<!--        <result column="enum_key" property="enumKey" jdbcType="VARCHAR"/>-->
<!--        <result column="enum_name" property="enumName" jdbcType="VARCHAR"/>-->
<!--        <result column="using_dict" property="usingDict" jdbcType="VARCHAR"/>-->
<!--        <result column="dict_code" property="dictCode" jdbcType="VARCHAR"/>-->
<!--        <result column="dict_key" property="dictKey" jdbcType="VARCHAR"/>-->
        <result column="default_value" property="defaultValue" jdbcType="VARCHAR"/>
        <result column="calculate_type" property="calculateType" jdbcType="VARCHAR"/>
        <result column="calculate_value" property="calculateValue" jdbcType="VARCHAR"/>
    </resultMap>