From 3579af2945dd38d841a23cd340acd474bb63773a Mon Sep 17 00:00:00 2001 From: lihang <lihang@vci-tech.com> Date: 星期四, 04 五月 2023 18:02:01 +0800 Subject: [PATCH] 业务类型与DDL服务相关的添加 --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java | 190 + Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMySqlMapper.java | 2 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java | 39 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstemplateMapper.java | 14 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstempattrService.java | 79 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMySqlMapperProcessor.java | 20 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java | 24 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllBehavior.java | 76 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/VciSpringUtil.java | 42 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessStrategy.java | 19 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java | 16 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java | 618 ----- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java | 27 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/BtmTypeCache.java | 2 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 1 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java | 100 + Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMsMapperProcessor.java | 18 Source/UBCS/ubcs-service-api/ubcs-ddl-api/pom.xml | 8 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java | 1 Source/UBCS/ubcs-service/ubcs-code/pom.xml | 31 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyValueDTO.java | 36 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java | 20 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeLcStatusConstant.java | 16 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/BtmTypeDTO.java | 2 Source/UBCS/ubcs-ops/ubcs-xxljob-admin/src/main/java/com/vci/ubcs/xxl/job/admin/JobAdminApplication.java | 1 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/ModifyAttributeInfo.java | 40 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java | 193 - Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java | 50 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstempattrServiceImpl.java | 691 ------- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstemplateService.java | 29 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/ModifyAttributeWrapper.java | 42 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeWrapper.java | 34 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java | 3 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java | 158 - Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/CodeApplication.java | 4 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessorStrategy.java | 14 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeFieldConstant.java | 112 + Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IModifyAttributeService.java | 13 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java | 160 - Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java | 20 Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/enums/BusinessTypeEnum.java | 35 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java | 1 Source/UBCS/ubcs-ops/ubcs-xxljob/src/main/java/com/vci/ubcs/job/executor/JobApplication.java | 1 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessor.java | 1 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/ModifyAttributeInfoMapper.java | 13 Source/UBCS/ubcs-ops/ubcs-flow/src/test/java/com/vci/flow/test/launch/LauncherTestServiceImpl.java | 1 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java | 6 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java | 20 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictClientFallback.java | 2 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlOracleMapperProcessor.java | 34 Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml | 5 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstemplateController.java | 68 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstempattrController.java | 151 - Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java | 135 - Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeFallback.java | 14 Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlFieldMappingAttrBO.java | 75 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMSMapper.java | 2 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllMySqlMapper.java | 13 Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/enums/ModifyTableTaskEnum.java | 41 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/BtmAndLinkTypeDdlDTO.java | 26 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 44 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java | 596 +++++ Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BooleanEnum.java | 12 /dev/null | 50 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java | 201 -- Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java | 28 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstempattrMapper.java | 1 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/ModifyAtributeServiceImpl.java | 29 Source/UBCS/ubcs-common/src/main/java/com/vci/ubcs/common/constant/LauncherConstant.java | 6 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java | 53 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java | 17 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodePhaseattrMapper.java | 3 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeButtonWrapper.java | 11 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/BtmType.java | 15 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java | 14 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java | 91 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java | 36 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempphaseService.java | 11 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeAttributeMapper.java | 26 Source/UBCS/ubcs-service/ubcs-ddl/pom.xml | 5 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java | 510 ++-- 81 files changed, 2,195 insertions(+), 3,173 deletions(-) diff --git a/Source/UBCS/ubcs-common/src/main/java/com/vci/ubcs/common/constant/LauncherConstant.java b/Source/UBCS/ubcs-common/src/main/java/com/vci/ubcs/common/constant/LauncherConstant.java index fa92a46..ff73742 100644 --- a/Source/UBCS/ubcs-common/src/main/java/com/vci/ubcs/common/constant/LauncherConstant.java +++ b/Source/UBCS/ubcs-common/src/main/java/com/vci/ubcs/common/constant/LauncherConstant.java @@ -41,19 +41,19 @@ * nacos dev 鍦板潃 */ //String NACOS_DEV_ADDR = "dev.vci-tech.com:38848"; - String NACOS_DEV_ADDR = "192.168.93.183:38848"; + String NACOS_DEV_ADDR = "127.0.0.1:8848"; /** * nacos prod 鍦板潃 */ //String NACOS_PROD_ADDR = "dev.vci-tech.com:38848"; - String NACOS_PROD_ADDR = "192.168.93.129:38848"; + String NACOS_PROD_ADDR = "127.0.0.1:8848"; /** * nacos test 鍦板潃 */ //String NACOS_TEST_ADDR = "dev.vci-tech.com:38848"; - String NACOS_TEST_ADDR = "192.168.93.133:38848"; + String NACOS_TEST_ADDR = "127.0.0.1:8848"; /** * sentinel dev 鍦板潃 diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/test/java/com/vci/flow/test/launch/LauncherTestServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/test/java/com/vci/flow/test/launch/LauncherTestServiceImpl.java index 172d3d2..7508dda 100644 --- a/Source/UBCS/ubcs-ops/ubcs-flow/src/test/java/com/vci/flow/test/launch/LauncherTestServiceImpl.java +++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/test/java/com/vci/flow/test/launch/LauncherTestServiceImpl.java @@ -16,7 +16,6 @@ */ package com.vci.flow.test.launch; -import com.vci.ubcs.common.constant.LauncherConstant; import org.springblade.core.auto.service.AutoService; import org.springblade.core.launch.service.LauncherService; import org.springblade.core.launch.utils.PropsUtil; diff --git a/Source/UBCS/ubcs-ops/ubcs-xxljob-admin/src/main/java/com/vci/ubcs/xxl/job/admin/JobAdminApplication.java b/Source/UBCS/ubcs-ops/ubcs-xxljob-admin/src/main/java/com/vci/ubcs/xxl/job/admin/JobAdminApplication.java index 3ae7b79..935f785 100644 --- a/Source/UBCS/ubcs-ops/ubcs-xxljob-admin/src/main/java/com/vci/ubcs/xxl/job/admin/JobAdminApplication.java +++ b/Source/UBCS/ubcs-ops/ubcs-xxljob-admin/src/main/java/com/vci/ubcs/xxl/job/admin/JobAdminApplication.java @@ -1,6 +1,5 @@ package com.vci.ubcs.xxl.job.admin; -import com.vci.ubcs.common.constant.LauncherConstant; import org.springblade.core.cloud.client.UbcsCloudApplication; import org.springblade.core.launch.UbcsApplication; diff --git a/Source/UBCS/ubcs-ops/ubcs-xxljob/src/main/java/com/vci/ubcs/job/executor/JobApplication.java b/Source/UBCS/ubcs-ops/ubcs-xxljob/src/main/java/com/vci/ubcs/job/executor/JobApplication.java index b793a5a..2715f72 100644 --- a/Source/UBCS/ubcs-ops/ubcs-xxljob/src/main/java/com/vci/ubcs/job/executor/JobApplication.java +++ b/Source/UBCS/ubcs-ops/ubcs-xxljob/src/main/java/com/vci/ubcs/job/executor/JobApplication.java @@ -16,7 +16,6 @@ */ package com.vci.ubcs.job.executor; -import com.vci.ubcs.common.constant.LauncherConstant; import org.springblade.core.cloud.client.UbcsCloudApplication; import org.springblade.core.launch.UbcsApplication; diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml b/Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml index a1095d2..c341358 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml @@ -12,11 +12,6 @@ <name>${project.artifactId}</name> <version>${bladex.project.version}</version> <dependencies> - <dependency> - <groupId>com.github.jsqlparser</groupId> - <artifactId>jsqlparser</artifactId> - <version>4.2</version> - </dependency> <!-- <dependency>--> <!-- <groupId>com.thoughtworks.xstream</groupId>--> diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyValueDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyValueDTO.java index a766e26..9d106fd 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyValueDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyValueDTO.java @@ -19,7 +19,7 @@ /** * 鍒嗙被鐮佹涓婚敭 */ - private String codeClassifySecOid; + private String codeclassifysecoid; /** * 鍒嗙被鐮佹涓婚敭鏄剧ず鏂囨湰 @@ -28,26 +28,26 @@ /** * 鐮佸�煎簭鍙� */ - private Integer orderNum; + private Integer ordernum; /** * 涓婄骇鍒嗙被鐮佸�间富閿� */ - private String parentClassifyValueOid; + private String parentclassifyvalueoid; /** * 鑾峰彇 鍒嗙被鐮佹涓婚敭 */ - public String getCodeClassifySecOid (){ - return codeClassifySecOid; + public String getCodeclassifysecoid (){ + return codeclassifysecoid; } /** * 璁剧疆 鍒嗙被鐮佹涓婚敭 */ - public void setCodeClassifySecOid (String codeClassifySecOid){ - this.codeClassifySecOid = codeClassifySecOid; + public void setCodeclassifysecoid (String codeclassifysecoid){ + this.codeclassifysecoid = codeclassifysecoid; } /** @@ -66,39 +66,39 @@ /** * 鑾峰彇 鐮佸�煎簭鍙� */ - public Integer getOrderNum (){ - return orderNum; + public Integer getOrdernum (){ + return ordernum; } /** * 璁剧疆 鐮佸�煎簭鍙� */ - public void setOrderNum (Integer orderNum){ - this.orderNum = orderNum; + public void setOrdernum (Integer ordernum){ + this.ordernum = ordernum; } /** * 鑾峰彇 涓婄骇鍒嗙被鐮佸�间富閿� */ - public String getParentClassifyValueOid (){ - return parentClassifyValueOid; + public String getParentclassifyvalueoid (){ + return parentclassifyvalueoid; } /** * 璁剧疆 涓婄骇鍒嗙被鐮佸�间富閿� */ - public void setParentClassifyValueOid (String parentClassifyValueOid){ - this.parentClassifyValueOid = parentClassifyValueOid; + public void setParentclassifyvalueoid (String parentclassifyvalueoid){ + this.parentclassifyvalueoid = parentclassifyvalueoid; } @Override public String toString() { return "CodeClassifyValueDTO{" + - "codeClassifySecOid='" + codeClassifySecOid +"',"+ + "codeclassifysecoid='" + codeclassifysecoid +"',"+ "codeclassifysecoidName='" + codeclassifysecoidName +"'," + - "orderNum='" + orderNum +"',"+ - "parentClassifyValueOid='" + parentClassifyValueOid +"',"+ + "ordernum='" + ordernum +"',"+ + "parentclassifyvalueoid='" + parentclassifyvalueoid +"',"+ "}" + super.toString(); } } diff --git a/Source/UBCS/ubcs-service-api/ubcs-ddl-api/pom.xml b/Source/UBCS/ubcs-service-api/ubcs-ddl-api/pom.xml index 930e082..80770a5 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-ddl-api/pom.xml +++ b/Source/UBCS/ubcs-service-api/ubcs-ddl-api/pom.xml @@ -17,12 +17,4 @@ <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> diff --git a/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlFieldMappingAttrBO.java b/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlFieldMappingAttrBO.java new file mode 100644 index 0000000..101f07f --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlFieldMappingAttrBO.java @@ -0,0 +1,75 @@ +package com.vci.ubcs.ddl.bo; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import org.springblade.core.tool.utils.StringPool; +import org.springblade.core.tool.utils.StringUtil; + +/** + * Description: + * + * @author LiHang + * @date 2023/4/28 + */ +@Getter +public class DdlFieldMappingAttrBO { + + /** + * 绫诲瀷 + */ + private final String dataType; + + /** + * 闀垮害 + */ + @Setter + private Integer dataLength; + + /** + * 绮惧害 + */ + @Setter + private Integer dataPrecision; + + /** + * 鍏佽涓虹┖ + */ + @Setter + private Boolean nullable; + + /** + * 榛樿鍊� + */ + @Setter + private String defaultValue; + + + public DdlFieldMappingAttrBO(String dataType, Integer dataLength, Integer dataPrecision, Boolean nullable, String defaultValue) { + this.dataType = dataType; + this.dataLength = dataLength; + this.dataPrecision = dataPrecision; + this.nullable = nullable; + this.defaultValue = defaultValue; + } + + @Override + public String toString() { + StringBuilder stringBuilder = new StringBuilder().append(dataType); + if (dataLength != null){ + stringBuilder.append(StringPool.SPACE).append(StringPool.LEFT_BRACKET).append(dataLength).append(StringPool.RIGHT_BRACKET).append(StringPool.SPACE); + } + if (dataPrecision != null){ + stringBuilder.append(StringPool.SPACE).append(StringPool.LEFT_BRACKET).append(dataLength == null ? 22 : dataLength).append(StringPool.COMMA).append(dataPrecision).append(StringPool.RIGHT_BRACKET).append(StringPool.SPACE); + } + if (!nullable){ + stringBuilder.append(StringPool.SPACE).append("not null").append(StringPool.SPACE); + } + if (StringUtil.isNotBlank(defaultValue)){ + stringBuilder.append(StringPool.SPACE).append("default").append(StringPool.SPACE).append(defaultValue).append(StringPool.SPACE); + } + return stringBuilder.toString(); + } + + +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/enums/BusinessTypeEnum.java b/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/enums/BusinessTypeEnum.java new file mode 100644 index 0000000..ae9b98b --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/enums/BusinessTypeEnum.java @@ -0,0 +1,35 @@ +package com.vci.ubcs.ddl.enums; + +/** + * Description:瀵硅薄寤烘ā绫诲瀷 + * + * @author LiHang + * @date 2023/4/30 + */ +public enum BusinessTypeEnum { + /** + * 涓氬姟绫诲瀷 + */ + BTM("bussiness_type_model","涓氬姟绫诲瀷"), + /** + * 閾炬帴绫诲瀷 + */ + LINK("link_type_model","閾炬帴绫诲瀷") + ; + private String value; + + private String name; + + BusinessTypeEnum(String value, String name) { + this.value = value; + this.name = name; + } + + public String getValue() { + return value; + } + + public String getName() { + return name; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/enums/ModifyTableTaskEnum.java b/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/enums/ModifyTableTaskEnum.java new file mode 100644 index 0000000..56479b9 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/enums/ModifyTableTaskEnum.java @@ -0,0 +1,41 @@ +package com.vci.ubcs.ddl.enums; + +/** + * Description: DDL鎿嶄綔浠诲姟绫诲瀷 + * + * @author LiHang + * @date 2023/4/30 + */ +public enum ModifyTableTaskEnum { + /** + * 鏂板缓 + */ + CREATE("create","鏂板缓"), + /** + * 淇敼 + */ + EDIT("edit","淇敼"), + /** + * 涓�鑷存�ф鏌� + */ + CONSISTENCY_CHECK("consistency_check","涓�鑷存�ф鏌�") + ; + + private String value; + + private String name; + + ModifyTableTaskEnum(String value, String name) { + this.value = value; + this.name = name; + } + + public String getValue() { + return value; + } + + public String getName() { + return name; + } + +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/BtmTypeCache.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/BtmTypeCache.java index 59526d8..2897d65 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/BtmTypeCache.java +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/BtmTypeCache.java @@ -22,8 +22,6 @@ 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"; diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeFieldConstant.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeFieldConstant.java new file mode 100644 index 0000000..67c34cc --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeFieldConstant.java @@ -0,0 +1,112 @@ +package com.vci.ubcs.omd.constant; + +import java.util.HashMap; +import java.util.Map; + +/** + * Description: + * + * @author LiHang + * @date 2023/4/27 + */ +public class BtmTypeFieldConstant { + + public static Map<String, String> USER_TABLE_COMPATIBILITY_BTM_MAP; + + public static Map<String, String> USER_TABLE_COMPATIBILITY_FIELD_MAP; + + public static final Boolean DEFAULT_QUERY_SECRET; + + public static final Boolean DEFAULT_QUERY_DATA_RIGHT; + + public static final Map<String, String> REVISION_MANAGE_FIELD_MAP; + + public static final Map<String, String> BASIC_FIELD_MAP; + + public static final Map<String, String> BASE_MODEL_COMPATIBILITY_MAP; + + public static final Map<String, String> LIFECYCLE_MANAGE_FIELD_MAP; + + public static final Map<String, String> SECRET_MANAGE_FIELD_MAP; + + public static final Map<String, String> LINK_TYPE_FIELD_MAP; + + static { + USER_TABLE_COMPATIBILITY_BTM_MAP = new HashMap(); + USER_TABLE_COMPATIBILITY_FIELD_MAP = new HashMap(); + DEFAULT_QUERY_SECRET = true; + DEFAULT_QUERY_DATA_RIGHT = false; + REVISION_MANAGE_FIELD_MAP = new HashMap() { + { + this.put("nameoid", "瀵硅薄涓婚敭"); + this.put("revisionoid", "鐗堟湰涓婚敭"); + this.put("lastr", "鏄惁鏈�鏂扮増鏈�"); + this.put("firstr", "鏄惁鏈�鑰佺増鏈�"); + this.put("lastv", "鏄惁鏈�鏂扮増娆�"); + this.put("firstv", "鏄惁鏈�鑰佺増娆�"); + this.put("revisionrule", "鐗堟湰瑙勫垯"); + this.put("revisionseq", "鐗堟湰鎺掑簭鍙�"); + this.put("revisionvalue", "鐗堟湰鍊�"); + this.put("versionrule", "鐗堟瑙勫垯"); + this.put("versionseq", "鐗堟鎺掑簭鍙�"); + this.put("versionvalue", "鐗堟鍊�"); + this.put("checkinby", "绛惧叆浜�"); + this.put("checkintime", "绛惧叆鏃堕棿"); + this.put("checkoutby", "绛惧嚭浜�"); + this.put("checkouttime", "绛惧嚭鏃堕棿"); + this.put("copyfromversion", "鎷疯礉鐗堟湰鏉ユ簮"); + } + }; + BASIC_FIELD_MAP = new HashMap() { + { + this.put("oid", "涓婚敭"); + this.put("btmname", "涓氬姟绫诲瀷鐨勫悕绉�"); + this.put("id", "缂栧彿"); + this.put("name", "鍚嶇О"); + this.put("description", "鎻忚堪"); + this.put("creator", "鍒涘缓浜�"); + this.put("createtime", "鍒涘缓鏃堕棿"); + this.put("lastmodifier", "鏈�鍚庢椂闂翠汉"); + this.put("lastmodifytime", "鏈�鍚庝慨鏀规椂闂�"); + this.put("ts", "鏃堕棿鎴�"); + this.put("owner", "鎷ユ湁鑰�"); + } + }; + BASE_MODEL_COMPATIBILITY_MAP = new HashMap() { + { + this.put("lastr", "islastr"); + this.put("firstr", "isfirstr"); + this.put("lastv", "islastv"); + this.put("firstv", "isfirstv"); + } + }; + LIFECYCLE_MANAGE_FIELD_MAP = new HashMap() { + { + this.put("lcstatus", "鐢熷懡鍛ㄦ湡鍊�"); + } + }; + SECRET_MANAGE_FIELD_MAP = new HashMap() { + { + this.put("secretgrade", "瀵嗙骇鍊�"); + } + }; + LINK_TYPE_FIELD_MAP = new HashMap() { + { + this.put("oid", "涓婚敭"); + this.put("creator", "鍒涘缓浜�"); + this.put("createtime", "鍒涘缓鏃堕棿"); + this.put("lastmodifier", "鏈�鍚庢椂闂翠汉"); + this.put("lastmodifytime", "鏈�鍚庝慨鏀规椂闂�"); + this.put("f_oid", "from绔富閿�"); + this.put("f_revisionoid", "from绔増鏈富閿�"); + this.put("f_nameoid", "from绔璞′富閿�"); + this.put("f_btmname", "from绔笟鍔$被鍨�"); + this.put("t_oid", "to绔富閿�"); + this.put("t_revisionoid", "to绔増鏈富閿�"); + this.put("t_nameoid", "to绔璞′富閿�"); + this.put("t_btmname", "to绔笟鍔$被鍨�"); + this.put("ts", "鏃堕棿鎴�"); + } + }; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeLcStatusConstant.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeLcStatusConstant.java new file mode 100644 index 0000000..458a829 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeLcStatusConstant.java @@ -0,0 +1,16 @@ +package com.vci.ubcs.omd.constant; + +/** + * Description: + * + * @author LiHang + * @date 2023/4/27 + */ +public class BtmTypeLcStatusConstant { + public static final String FRAME_WORK_LIFE_CYCLE_NAME = "frameworkDataLc"; + public static final String EMTYPE_LIFE_CYCLE = "defaultLC"; + public static final String RELEASE_LIFE_CYCLE = "releaseDataLc"; + + public BtmTypeLcStatusConstant() { + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/BtmAndLinkTypeDdlDTO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/BtmAndLinkTypeDdlDTO.java new file mode 100644 index 0000000..e8d2f75 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/BtmAndLinkTypeDdlDTO.java @@ -0,0 +1,26 @@ +package com.vci.ubcs.omd.dto; + +import com.vci.ubcs.omd.vo.BtmTypeVO; +import com.vci.ubcs.omd.vo.LinkTypeVO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * Description: + * + * @author LiHang + * @date 2023/4/27 + */ +@Data +public class BtmAndLinkTypeDdlDTO implements Serializable { + /** + * 搴忓垪鍖� + */ + private static final long serialVersionUID = 1199602927699648522L; + + List<BtmTypeVO> btmTypeList; + + List<LinkTypeVO> linkTypeList; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/BtmTypeDTO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/BtmTypeDTO.java index 4cdba00..723c7ea 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/BtmTypeDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/BtmTypeDTO.java @@ -137,7 +137,7 @@ /** * 娣诲姞鎴栬�呯Щ闄ょ殑灞炴�т俊鎭� */ - private List<BtmTypeLinkAttributesDTO> attributesDTOList; + private List<BtmTypeLinkAttributesDTO> attributes; /** * 鏃堕棿鎴筹紝鐢ㄤ簬鏍¢獙鏄惁鏈�鏂版暟鎹� diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/BtmType.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/BtmType.java index 141f7ef..c221329 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/BtmType.java +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/BtmType.java @@ -48,7 +48,10 @@ */ private String description; - + /** + * 鏄惁鎺у埗鐗堟湰 + */ + private String revisionFlag; /** * 鐗堟湰瑙勫垯鐨勭紪鍙� */ @@ -88,6 +91,11 @@ * C# */ private String shape; + + /** + * 鏄惁鎺у埗鐢熷懡鍛ㄦ湡 + */ + private String lifeCycleFlag; /** * 鐢熷懡鍛ㄦ湡鐨勮嫳鏂囧悕绉� @@ -168,9 +176,4 @@ * 涓�鑷存�ф爣璇� */ private String consistence; - - /** - * 鏁版嵁搴撹〃涓庝笟鍔$被鍨嬪悓姝ュけ璐ユ鏁� - private Integer syncFailTimes; - */ } diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/ModifyAttributeInfoDO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/ModifyAttributeInfo.java similarity index 66% rename from Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/ModifyAttributeInfoDO.java rename to Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/ModifyAttributeInfo.java index 50ea8d6..6526d96 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/ModifyAttributeInfoDO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/ModifyAttributeInfo.java @@ -16,36 +16,36 @@ @Data @TableName("pl_omd_modify_attr_info") @ApiModel(value = "闇�瑕佷慨鏀规暟鎹簱琛ㄤ腑瀛楁鐨勪俊鎭�", description = "闇�瑕佷慨鏀规暟鎹簱琛ㄤ腑瀛楁鐨勪俊鎭�") -public class ModifyAttributeInfoDO implements Serializable { +public class ModifyAttributeInfo implements Serializable { /** * 绂佹淇敼杩欎釜鍊� */ private static final long serialVersionUID = 2996604298980606103L; /** - * 涓氬姟绫诲瀷缂栧彿 + * 鑻辨枃鍚嶇О */ private String id; /** - * 涓氬姟绫诲瀷鍚嶇О + * 涓枃鍚嶇О */ private String name; /** - * 鏄惁涓洪摼鎺ョ被鍨� + * 瀵硅薄绫诲瀷 */ - private String linkTypeFlag; + private String businessType; /** - * 琛ㄦ牸鍚嶇О + * 鏁版嵁搴撹〃鍚� */ private String tableName; /** - * 鏄惁鍒涘缓琛ㄦ牸 + * 浠诲姟鎵цFlag */ - private String createTableFlag; + private String taskName; /** * 娣诲姞鐨勫睘鎬� @@ -60,7 +60,7 @@ /** * 鍒犻櫎鐨勫睘鎬� */ - private String deleteAttibutes; + private String deleteAttributes; /** * 灞炴�т慨鏀瑰墠鐨勫唴瀹� @@ -125,26 +125,4 @@ * 鍒涘缓鏃堕棿 */ 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; } diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java index 78fb003..01bf78a 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java @@ -21,7 +21,7 @@ */ @FeignClient( value = AppConstant.APPLICATION_NAME_OMD, - fallback = IDictClientFallback.class + fallback = IBtmTypeFallback.class ) public interface IBtmTypeClient { @@ -31,6 +31,10 @@ String API_PREFIX = "/client"; /** * 鍙傜収鍒楄〃鏌ヨ + */ + String GET_REF_PAGE = API_PREFIX + "/btm-type/get-ref-page"; + /** + * 鍙傜収鍒楄〃鏌ヨ鏃犲垎椤� */ String GET_REF = API_PREFIX + "/btm-type/get-ref"; /** @@ -62,8 +66,17 @@ * @param domain 棰嗗煙鍊� * @return 鏌ヨ缁撴灉 */ + @GetMapping(GET_REF_PAGE) + R<IPage<BtmTypeVO>> getRefPage(@RequestParam("condition")Map<String,Object> condition, @RequestParam("query")Query query, @RequestParam("domain") String domain); + + /** + * 鍙傜収鍒楄〃鏌ヨ + * @param condition 鏌ヨ鏉′欢 + * @param domain 棰嗗煙鍊� + * @return 鏌ヨ缁撴灉 + */ @GetMapping(GET_REF) - R<IPage<BtmTypeVO>> getRef(@RequestParam("condition")Map<String,Object> condition, @RequestParam("query")Query query, @RequestParam("domain") String domain); + R<List<BtmTypeVO>> getRef(@RequestParam("condition")Map<String,Object> condition, @RequestParam("domain") String domain); /** * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鏌ヨ瀵硅薄 diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeFallback.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeFallback.java index 69a0465..d1d54a0 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeFallback.java +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeFallback.java @@ -54,7 +54,19 @@ * @return 鏌ヨ缁撴灉 */ @Override - public R<IPage<BtmTypeVO>> getRef(Map<String, Object> condition, Query query, String domain) { + public R<IPage<BtmTypeVO>> getRefPage(Map<String, Object> condition, Query query, String domain) { + return R.fail("鑾峰彇鏁版嵁澶辫触"); + } + + /** + * 鍙傜収鍒楄〃鏌ヨ + * + * @param condition 鏌ヨ鏉′欢 + * @param domain 棰嗗煙鍊� + * @return 鏌ヨ缁撴灉 + */ + @Override + public R<List<BtmTypeVO>> getRef(Map<String, Object> condition, String domain) { return R.fail("鑾峰彇鏁版嵁澶辫触"); } diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictClientFallback.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictClientFallback.java index d5879fb..36e1569 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictClientFallback.java +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictClientFallback.java @@ -27,7 +27,7 @@ * * @author Chill */ -@Component +@Component("Dictclient2") public class IDictClientFallback implements IDictClient { @Override public R<Dict> getById(Long id) { diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java index 03cdf93..1c43b92 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java @@ -1,5 +1,7 @@ package com.vci.ubcs.omd.vo; +import lombok.Data; + import java.util.Date; import java.util.List; @@ -9,6 +11,7 @@ * @author weidy * @date 2019/10/11 6:04 PM */ +@Data public class LinkTypeVO implements java.io.Serializable { /** @@ -30,6 +33,11 @@ * 閾炬帴绫诲瀷涓枃鍚嶇О */ private String name; + + /** + * 鏁版嵁搴撹〃 + */ + private String tableName; /** * 鎻忚堪 @@ -54,7 +62,7 @@ /** * from绔笟鍔$被鍨嬫樉绀哄璞� */ - private List<BtmTypeVO> fromBtmTypeVOS; + private List<BtmTypeVO> fromBtmTypes; /** * from绔笟鍔$被鍨嬪悕绉� @@ -74,12 +82,12 @@ /** * to绔笟鍔$被鍨嬫樉绀哄璞� */ - private List<BtmTypeVO> toBtmTypeVOS; + private List<BtmTypeVO> toBtmTypes; /** * 涓氬姟绫诲瀷鍚嶇О */ - private String btmname; + private String btmName; /** * 鎷ユ湁鑰� @@ -115,191 +123,4 @@ * 鍖呭惈灞炴�� */ private List<LinkTypeAttributeVO> 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<BtmTypeVO> getFromBtmTypeVOS() { - return fromBtmTypeVOS; - } - - public void setFromBtmTypeVOS(List<BtmTypeVO> 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<BtmTypeVO> getToBtmTypeVOS() { - return toBtmTypeVOS; - } - - public void setToBtmTypeVOS(List<BtmTypeVO> 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<LinkTypeAttributeVO> getAttributes() { - return attributes; - } - - public void setAttributes(List<LinkTypeAttributeVO> 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 + - '}'; - } } diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java index e7675ec..40100cc 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java @@ -1,5 +1,4 @@ package com.vci.ubcs.starter.revision.service; -//package com.vci.starter.revision.service; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.vci.ubcs.starter.revision.model.BaseModel; diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/PatternUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/PatternUtil.java deleted file mode 100644 index b40a46a..0000000 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/PatternUtil.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.vci.ubcs.starter.util; - - -import com.baomidou.mybatisplus.core.toolkit.StringUtils; - -import java.util.ArrayList; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class PatternUtil { - - //*${xxx}* - public static Pattern dynamic = Pattern.compile(".*\\$\\{([a-z]+)\\}.*"); - public static Pattern dynamicLimitCount = Pattern.compile("\\$\\{([a-z]+)\\}"); - /** - * 鍒ゆ柇鍐呭涓槸鍚﹀寘鍚姩鎬佸弬鏁�(${key}褰㈠紡鐨�) - * - * @param content 瑕佸垽鏂殑鍐呭 - * @return - */ - public static boolean isContainsDynamicParameter(String content) { - if(StringUtils.isBlank(content)){ - return false; - } - return dynamic.matcher(content).matches(); - } - - /** - * 鎸夌収鍔ㄦ�佸唴瀹圭殑鍙傛暟鍑虹幇椤哄簭,灏嗗弬鏁版斁鍒癓ist涓� - * - * @param content - * @return - */ - public static List<String> getKeyListByContent(String content) { - if(StringUtils.isBlank(content)){ - return new ArrayList<>(); - } - Set<String> paramSet = new LinkedHashSet<>(); - Matcher m = dynamicLimitCount.matcher(content); - while (m.find()) { - paramSet.add(m.group(1)); - } - return new ArrayList<>(paramSet); - } - - -} diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/VciSpringUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/VciSpringUtil.java new file mode 100644 index 0000000..246345f --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/VciSpringUtil.java @@ -0,0 +1,42 @@ +package com.vci.ubcs.starter.util; + +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + + +/** + * Description: + * + * @author LiHang + * @date 2023/4/26 + */ +@Component +public class VciSpringUtil implements ApplicationContextAware { + + private static ApplicationContext applicationContext; + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + if (VciSpringUtil.applicationContext == null){ + VciSpringUtil.applicationContext = applicationContext; + } + } + + public static ApplicationContext getApplicationContext(){ + return applicationContext; + } + + public static Object getBean(String name){ + return getApplicationContext().getBean(name); + } + + public static <T> T getBean(Class<T> clazz){ + return getApplicationContext().getBean(clazz); + } + + public static <T> T getBean(String name,Class<T> clazz){ + return getApplicationContext().getBean(name,clazz); + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BooleanEnum.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BooleanEnum.java index 3e5837e..0efecd3 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BooleanEnum.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BooleanEnum.java @@ -1,7 +1,19 @@ package com.vci.ubcs.starter.web.enumpck; +/** + * Description: + * + * @author LiHang + * @date 2023/4/27 + */ public enum BooleanEnum { + /** + * true + */ TRUE("true"), + /** + * false + */ FASLE("false"); private final String value; diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/BeanUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/BeanUtil.java deleted file mode 100644 index 9df9508..0000000 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/BeanUtil.java +++ /dev/null @@ -1,174 +0,0 @@ -package com.vci.ubcs.starter.web.util; - - -import com.vci.ubcs.starter.web.toolmodel.DateConverter; -import org.springframework.cglib.beans.BeanCopier; -import org.springframework.cglib.core.Converter; - -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -public class BeanUtil { - private static final ConcurrentMap<String, BeanCopier> beanCopierMap = new ConcurrentHashMap(); - - public BeanUtil() { - } - - public static BeanCopier getBeanCopier(Class<?> source, Class<?> target, boolean useConverter) { - String beanCopierKey = generateBeanKey(source, target); - if (beanCopierMap.containsKey(beanCopierKey)) { - return (BeanCopier)beanCopierMap.get(beanCopierKey); - } else { - BeanCopier beanCopier = BeanCopier.create(source, target, useConverter); - beanCopierMap.putIfAbsent(beanCopierKey, beanCopier); - return (BeanCopier)beanCopierMap.get(beanCopierKey); - } - } - - public static String generateBeanKey(Class<?> source, Class<?> target) { - return source.getName() + "@" + target.getName(); - } - - public static void convert(Object source, Object target, boolean useConvert) { - if (source != null && target != null) { - BeanCopier beanCopier = getBeanCopier(source.getClass(), target.getClass(), useConvert); - beanCopier.copy(source, target, useConvert ? new DeepCopyConverter(target) : null); - } - - } - - public static void convert(Object source, Object target) { - convert(source, target, true); - } - - public static class DeepCopyConverter implements Converter { - private Object target; - - public DeepCopyConverter(Object target) { - this.target = target; - } - - public Object convert(Object value, Class targetClazz, Object methodName) { - if (value instanceof List) { - List values = (List)value; - List retList = new ArrayList(values.size()); - this.copyForCollection(values, retList, methodName); - return retList; - } else { - if (value instanceof Set) { - Set values = (Set)value; - Set retSet = new HashSet(); - this.copyForCollection(values, retSet, methodName); - } else if (value instanceof Vector) { - Vector values = (Vector)value; - Vector retVector = new Vector(); - this.copyForCollection(values, retVector, methodName); - } else if (value instanceof Map) { - Map values = (Map)value; - Map retMap = new HashMap(); - Iterator var6 = values.keySet().iterator(); - - while(var6.hasNext()) { - Object key = var6.next(); - Object mapValue = values.get(key); - String tempFieldName = methodName.toString().replace("set", ""); - String fieldName = tempFieldName.substring(0, 1).toLowerCase() + tempFieldName.substring(1); - Class clazz = ClassUtil.getElementType(this.target.getClass(), fieldName); - Object targetAttr = null; - - try { - targetAttr = clazz.newInstance(); - } catch (Throwable var15) { - } - - BeanUtil.convert(mapValue, targetAttr); - retMap.put(key, targetAttr); - } - } else if (!ClassUtil.isPrimitive(targetClazz)) { - Object targetAttr = null; - - try { - targetAttr = targetClazz.newInstance(); - } catch (Throwable var14) { - } - - BeanUtil.convert(value, targetAttr); - return targetAttr; - } - - if (value instanceof Boolean && targetClazz.equals(String.class)) { - return String.valueOf(value); - } else if (!(value instanceof String) || !targetClazz.equals(Boolean.class) && !targetClazz.equals(Boolean.TYPE)) { - if (value instanceof Date && targetClazz.equals(String.class)) { - return VciDateUtil.date2Str((Date)value, "yyyy-MM-dd HH:mm:ss.SSS"); - } else if (value instanceof String && targetClazz.equals(Date.class)) { - DateConverter dateConverter = new DateConverter(); - dateConverter.setAsText((String)value); - return dateConverter.getValue(); - } else { - return value; - } - } else { - return "true".equalsIgnoreCase((String)value) ? true : false; - } - } - } - - private void copyForCollection(Collection<?> sourceCollection, Collection targetCollection, Object methodName) { - Iterator var4 = sourceCollection.iterator(); - - while(true) { - while(var4.hasNext()) { - Object source = var4.next(); - if (source instanceof Collection) { - List<Object> targetValues = new ArrayList(); - this.copyForCollection((Collection)source, targetValues, methodName); - targetCollection.add(targetValues); - } else { - String tempFieldName; - String fieldName; - Class clazz; - Object targetAttr; - if (!(source instanceof Map)) { - tempFieldName = methodName.toString().replace("set", ""); - fieldName = tempFieldName.substring(0, 1).toLowerCase() + tempFieldName.substring(1); - clazz = ClassUtil.getElementType(this.target.getClass(), fieldName); - targetAttr = null; - - try { - targetAttr = clazz.newInstance(); - } catch (Throwable var13) { - } - - BeanUtil.convert(source, targetAttr); - targetCollection.add(targetAttr); - } else { - tempFieldName = methodName.toString().replace("set", ""); - fieldName = tempFieldName.substring(0, 1).toLowerCase() + tempFieldName.substring(1); - clazz = ClassUtil.getElementType(this.target.getClass(), fieldName); - targetAttr = null; - - try { - targetAttr = clazz.newInstance(); - } catch (Throwable var14) { - } - - Map map = (Map)source; - Iterator var11 = map.keySet().iterator(); - - while(var11.hasNext()) { - Object key = var11.next(); - VciBaseUtil.setValueForField(key.toString(), targetAttr, VciBaseUtil.getStringValueFromObject(map.get(key))); - } - - targetCollection.add(targetAttr); - } - } - } - - return; - } - } - } -} diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ClassUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ClassUtil.java deleted file mode 100644 index 353cace..0000000 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ClassUtil.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.vci.ubcs.starter.web.util; - - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -public class ClassUtil { - private static final Map<Class<?>, Class<?>> primitiveMap = new HashMap(9); - - public ClassUtil() { - } - - public static boolean isPrimitive(Class<?> clazz) { - return primitiveMap.containsKey(clazz) ? true : clazz.isPrimitive(); - } - - public static Class<?> getElementType(Class<?> tartget, String fieldName) { - Class<?> elementTypeClass = null; - - try { - Type type = VciBaseUtil.getFieldForObject(fieldName, tartget).getGenericType(); - ParameterizedType t = (ParameterizedType)type; - String classStr = t.getActualTypeArguments()[0].toString().replace("class ", ""); - if (classStr.contains("<")) { - classStr = classStr.substring(classStr.lastIndexOf("<") + 1, classStr.indexOf(">")); - } - - elementTypeClass = Thread.currentThread().getContextClassLoader().loadClass(classStr); - return elementTypeClass; - } catch (SecurityException | ClassNotFoundException var6) { - throw new RuntimeException("get fieldName[" + fieldName + "] error", var6); - } - } - - static { - primitiveMap.put(String.class, String.class); - primitiveMap.put(Boolean.class, Boolean.TYPE); - primitiveMap.put(Byte.class, Byte.TYPE); - primitiveMap.put(Character.class, Character.TYPE); - primitiveMap.put(Double.class, Double.TYPE); - primitiveMap.put(Float.class, Float.TYPE); - primitiveMap.put(Integer.class, Integer.TYPE); - primitiveMap.put(Long.class, Long.TYPE); - primitiveMap.put(Short.class, Short.TYPE); - primitiveMap.put(Date.class, Date.class); - } -} diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java index 6f45676..4cc6e8d 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java @@ -9,7 +9,6 @@ import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.vci.ubcs.starter.exception.VciBaseException; -import com.vci.ubcs.starter.web.enumpck.BooleanEnum; import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.toolmodel.DateConverter; import org.slf4j.Logger; @@ -136,11 +135,6 @@ return 0.0D; } } - } - - - public static boolean getBoolean(String s) { - return BooleanEnum.TRUE.getValue().equals(s); } public static String removeComma(String s) { @@ -1200,20 +1194,6 @@ } catch (Throwable var7) { if (log.isErrorEnabled()) { log.error("璁剧疆灞炴�х殑鍊煎嚭閿欎簡閿欒", var7); - } - } - - } - - public static void setValueForField(String fieldName, Object obj, String value) { - try { - Field field = getFieldForObject(fieldName, obj); - if (field != null) { - setValueForField(field, obj, value); - } - } catch (Exception var4) { - if (log.isErrorEnabled()) { - log.error("璁剧疆灞炴�х殑鍊煎嚭閿欎簡閿欒", var4); } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/pom.xml b/Source/UBCS/ubcs-service/ubcs-code/pom.xml index a4f1521..c985036 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/pom.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/pom.xml @@ -23,28 +23,17 @@ <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-ddl</artifactId>--> +<!-- <artifactId>ubcs-omd-api</artifactId>--> <!-- <version>3.0.1.RELEASE</version>--> -<!-- <exclusions>--> -<!-- <exclusion>--> -<!-- <groupId>com.vci</groupId>--> -<!-- <artifactId>vci-starter-word</artifactId>--> -<!-- </exclusion>--> -<!-- </exclusions>--> +<!-- <scope>compile</scope>--> <!-- </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> @@ -61,12 +50,6 @@ <groupId>cn.easyproject</groupId> <artifactId>orai18n</artifactId> <version>${orai18n.version}</version> - </dependency> - <dependency> - <groupId>com.vci.ubcs</groupId> - <artifactId>ubcs-dict-api</artifactId> - <version>3.0.1.RELEASE</version> - <scope>compile</scope> </dependency> </dependencies> diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/CodeApplication.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/CodeApplication.java index 3582ec3..3240265 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/CodeApplication.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/CodeApplication.java @@ -16,10 +16,13 @@ */ package com.vci.ubcs.code; +import com.vci.ubcs.ddl.mapper.DdlOracleMapper; +import com.vci.ubcs.starter.util.VciSpringUtil; import org.springblade.core.cloud.client.UbcsCloudApplication; import org.springblade.core.launch.UbcsApplication; import org.springblade.core.launch.constant.AppConstant; import org.springframework.context.annotation.ComponentScan; +import org.springframework.stereotype.Component; /** * Code鍚姩鍣� @@ -28,6 +31,7 @@ * ludc */ @UbcsCloudApplication +@ComponentScan("com.vci.ubcs.*") public class CodeApplication { public static void main(String[] args) { diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java index b443a2b..2d3afc3 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java @@ -42,7 +42,7 @@ */ @GetMapping("/treeCodeClassifyValue") public List<Tree> treeCodeClassifyValue(TreeQueryObject treeQueryObject) { - return codeClassifyValueService.treeCodeClassifyValue(treeQueryObject); + return codeClassifyValueService.treeCodeClassifyValue(treeQueryObject); } /** @@ -81,7 +81,7 @@ * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� */ @DeleteMapping( "/deleteData") - public R delCodeClassifyValue(@RequestBody CodeClassifyValueDTO codeClassifyValueDTO) { + public R delCodeClassifyValue( CodeClassifyValueDTO codeClassifyValueDTO) { return codeClassifyValueService.deleteCodeClassifyValue(codeClassifyValueDTO); } @@ -130,7 +130,7 @@ CodeClassifyValueDTO codeFixedValueDTO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(json.get(i))), CodeClassifyValueDTO.class); dtoList.add(codeFixedValueDTO); } - String codeclassifysecoid = (String) param.get("codeClassifySecOid"); + String codeclassifysecoid = (String) param.get("codeclassifysecoid"); VciBaseUtil.alertNotNull(dtoList,"鐮佸�奸泦鍚�"); if (CollectionUtils.isEmpty(dtoList)){ return R.success(""); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstempattrController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstempattrController.java index 533194c..2ac1921 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstempattrController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstempattrController.java @@ -18,15 +18,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import com.vci.ubcs.code.dto.CodeClstempattrDTO; import com.vci.ubcs.code.entity.CodeClstempattrEntity; import com.vci.ubcs.code.service.ICodeClstempattrService; import com.vci.ubcs.code.vo.CodeClstempattrVO; -import com.vci.ubcs.code.vo.CodeOsbtmtypeattributeVO; import com.vci.ubcs.code.wrapper.CodeClstempattrWrapper; -import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; -import com.vci.ubcs.starter.web.pagemodel.DataGrid; -import com.vci.ubcs.starter.web.util.VciBaseUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -36,12 +31,9 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; -import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; -import java.util.Collection; -import java.util.List; /** * 缂栫爜搴撳畾涔�-妯℃澘灞炴�� 鎺у埗鍣� @@ -51,11 +43,11 @@ */ @RestController @AllArgsConstructor -@RequestMapping("/codeClassifyTempAttrController") +@RequestMapping("/CodeClstempattr") @Api(value = "缂栫爜搴撳畾涔�-妯℃澘灞炴��", tags = "缂栫爜搴撳畾涔�-妯℃澘灞炴�ф帴鍙�") public class CodeClstempattrController extends BladeController { - private final ICodeClstempattrService codeClstempattrService; + private final ICodeClstempattrService CodeClstempattrService; /** * 缂栫爜搴撳畾涔�-妯℃澘灞炴�� 璇︽儏 @@ -64,7 +56,7 @@ @ApiOperationSupport(order = 1) @ApiOperation(value = "璇︽儏", notes = "浼犲叆CodeClstempattr") public R<CodeClstempattrVO> detail(CodeClstempattrEntity CodeClstempattr) { - CodeClstempattrEntity detail = codeClstempattrService.getOne(Condition.getQueryWrapper(CodeClstempattr)); + CodeClstempattrEntity detail = CodeClstempattrService.getOne(Condition.getQueryWrapper(CodeClstempattr)); return R.data(CodeClstempattrWrapper.build().entityVO(detail)); } /** @@ -74,7 +66,7 @@ @ApiOperationSupport(order = 2) @ApiOperation(value = "鍒嗛〉", notes = "浼犲叆CodeClstempattr") public R<IPage<CodeClstempattrVO>> list(CodeClstempattrEntity CodeClstempattr, Query query) { - IPage<CodeClstempattrEntity> pages = codeClstempattrService.page(Condition.getPage(query), Condition.getQueryWrapper(CodeClstempattr)); + IPage<CodeClstempattrEntity> pages = CodeClstempattrService.page(Condition.getPage(query), Condition.getQueryWrapper(CodeClstempattr)); return R.data(CodeClstempattrWrapper.build().pageVO(pages)); } @@ -85,7 +77,7 @@ @ApiOperationSupport(order = 3) @ApiOperation(value = "鍒嗛〉", notes = "浼犲叆CodeClstempattr") public R<IPage<CodeClstempattrVO>> page(CodeClstempattrVO CodeClstempattr, Query query) { - IPage<CodeClstempattrVO> pages = codeClstempattrService.selectCodeClstempattrPage(Condition.getPage(query), CodeClstempattr); + IPage<CodeClstempattrVO> pages = CodeClstempattrService.selectCodeClstempattrPage(Condition.getPage(query), CodeClstempattr); return R.data(pages); } @@ -96,7 +88,7 @@ @ApiOperationSupport(order = 4) @ApiOperation(value = "鏂板", notes = "浼犲叆CodeClstempattr") public R save(@Valid @RequestBody CodeClstempattrEntity CodeClstempattr) { - return R.status(codeClstempattrService.save(CodeClstempattr)); + return R.status(CodeClstempattrService.save(CodeClstempattr)); } /** @@ -106,7 +98,7 @@ @ApiOperationSupport(order = 5) @ApiOperation(value = "淇敼", notes = "浼犲叆CodeClstempattr") public R update(@Valid @RequestBody CodeClstempattrEntity CodeClstempattr) { - return R.status(codeClstempattrService.updateById(CodeClstempattr)); + return R.status(CodeClstempattrService.updateById(CodeClstempattr)); } /** @@ -116,7 +108,7 @@ @ApiOperationSupport(order = 6) @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆CodeClstempattr") public R submit(@Valid @RequestBody CodeClstempattrEntity CodeClstempattr) { - return R.status(codeClstempattrService.saveOrUpdate(CodeClstempattr)); + return R.status(CodeClstempattrService.saveOrUpdate(CodeClstempattr)); } /** @@ -126,133 +118,8 @@ @ApiOperationSupport(order = 7) @ApiOperation(value = "閫昏緫鍒犻櫎", notes = "浼犲叆ids") public R remove(@ApiParam(value = "涓婚敭闆嗗悎", required = true) @RequestParam String ids) { - return R.status(codeClstempattrService.removeBatchByIds(Func.toLongList(ids))); + return R.status(CodeClstempattrService.removeBatchByIds(Func.toLongList(ids))); } - /** - * 涓婚搴撳垎绫荤殑妯℃澘灞炴�у垪琛� - * @param baseQueryObject 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞″垪琛� - */ - @GetMapping("/gridCodeClassifyTemplateAttr") - public DataGrid<CodeClstempattrVO> gridCodeClassifyTemplateAttr(BaseQueryObject baseQueryObject){ - if(baseQueryObject == null){ - baseQueryObject = new BaseQueryObject(); - } - return codeClstempattrService.gridCodeClassifyTemplateAttr(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); - } - - /** - * 澧炲姞 涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞� - * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� - */ - @PostMapping( "/addSave") - public R<CodeClstempattrVO> addSave(@RequestBody CodeClstempattrDTO codeClassifyTemplateAttrDTO){ - CodeClstempattrVO codeClassifyTemplateAttrVO = codeClstempattrService.addSave(codeClassifyTemplateAttrDTO); - return R.data(codeClassifyTemplateAttrVO); - } - - /** - * 鎵归噺淇濆瓨鍒楄〃鏁版嵁 - * @param list - * @return - */ - @PostMapping( "/batchAddSave") - public R<List<CodeClstempattrVO>> batchAddSaves(@RequestBody List<CodeClstempattrDTO> list){ - if(CollectionUtils.isEmpty(list)){ - return R.fail("鍒楄〃涓嶈兘涓虹┖!"); - } - List<CodeClstempattrVO> codeClassifyTemplateAttrVOs = codeClstempattrService.batchAddSave(list); - return R.data(codeClassifyTemplateAttrVOs); - } - - /** - * 淇敼 涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞� - * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� - */ - @PutMapping("/editSave") - public R<CodeClstempattrVO> editSave(@RequestBody CodeClstempattrDTO codeClassifyTemplateAttrDTO){ - return codeClstempattrService.editSave(codeClassifyTemplateAttrDTO); - } - - /** - * 鍒犻櫎涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈� - * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� - */ - @DeleteMapping( "/deleteData") - public R delCodeClassifyTemplateAttr(@RequestBody CodeClstempattrDTO codeClassifyTemplateAttrDTO) { - return codeClstempattrService.deleteCodeClassifyTemplateAttr(codeClassifyTemplateAttrDTO); - } - - /** - * 涓婚敭鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param oid 涓婚敭 - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞� - */ - @GetMapping("/getObjectByOid") - public R<CodeClstempattrVO> getObjectByOid(String oid){ - CodeClstempattrVO codeClassifyTemplateAttrVO = codeClstempattrService.getObjectByOid(oid); - return R.data(codeClassifyTemplateAttrVO); - } - - - /** - * 涓婚敭鎵归噺鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param oids 涓婚敭锛屽涓互閫楀彿鍒嗛殧锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓� - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞� - */ - @GetMapping("/listDataByOids") - public R listCodeClassifyTemplateAttrByOids(String oids){ - Collection<CodeClstempattrVO> voCollection = codeClstempattrService.listCodeClassifyTemplateAttrByOids(VciBaseUtil.str2List(oids)); -// BaseResult baseResult = BaseResult.success(); -// baseResult.setData(voCollection); - return R.data(voCollection); - } - - /** - * 鍙傜収涓婚搴撳垎绫荤殑妯℃澘灞炴�у垪琛� - * @param baseQueryObject 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹� - */ - @GetMapping("/refDataGrid") - public DataGrid<CodeClstempattrVO> refDataGridCodeClassifyTemplateAttr(BaseQueryObject baseQueryObject){ - if(baseQueryObject == null){ - baseQueryObject = new BaseQueryObject(); - } - return codeClstempattrService.refDataGridCodeClassifyTemplateAttr(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); - } - - /** - * 鏌ヨ杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬�,鎺掗櫎鎺夎繖涓ā鏉垮凡缁忓瓨鍦ㄧ殑灞炴�� - * @param baseQueryObject - * @return - */ - @GetMapping("/codeClassifyTemplateAttrByBtm") - public DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtm(BaseQueryObject baseQueryObject){ - return codeClstempattrService.codeClassifyTemplateAttrByBtm(baseQueryObject); - } - - /** - * 鏌ヨ杩欎釜涓氬姟绫诲瀷涓嬨�佽繖涓ā鏉垮凡缁忓瓨鍦ㄧ殑灞炴�� - * @param baseQueryObject - * @return - */ - @GetMapping("/codeClassifyTemplateAttrByBtmHave") - public DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtmHave(BaseQueryObject baseQueryObject){ - return codeClstempattrService.codeClassifyTemplateAttrByBtmHave(baseQueryObject); - } - - /** - * 鍚屾鍒板叾浠栨ā鏉� - * @param codeClassifyAttrDTO id 鑻辨枃鍚嶇О - * @return 鎵ц缁撴灉 - */ - @PostMapping( "/copyto") - public R copyto(@RequestBody CodeClstempattrDTO codeClassifyAttrDTO) { - return codeClstempattrService.copyto(codeClassifyAttrDTO); - } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstemplateController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstemplateController.java index db94cd2..4f61b25 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstemplateController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstemplateController.java @@ -25,9 +25,8 @@ import com.vci.ubcs.code.mapper.CodeClstemplateMapper; import com.vci.ubcs.code.service.ICodeClstemplateService; import com.vci.ubcs.code.vo.CodeClstemplateVO; -import com.vci.ubcs.code.wrapper.PlCodeClstemplateWrapper; import com.vci.ubcs.starter.revision.model.TreeQueryObject; -import com.vci.ubcs.starter.web.pagemodel.DataGrid; +import com.vci.ubcs.code.wrapper.PlCodeClstemplateWrapper; import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.util.VciBaseUtil; import io.swagger.annotations.Api; @@ -143,37 +142,16 @@ return plCodeClstemplateService.treeCodeClassifyTemplate(treeQueryObject); } - /** - * 鍒嗙被妯℃澘鍒楄〃 - * @param plCodeClstemplate 鍩虹鏌ヨ瀵硅薄 - * @return 鏄剧ず瀵硅薄 - */ - @GetMapping("/gridCodeClassifyTemplate") - public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(CodeClstemplateVO plCodeClstemplate, Query query){ - - return plCodeClstemplateService.gridCodeClassifyTemplate(plCodeClstemplate,query); - - } - - /** - * 澧炲姞 鍒嗙被妯℃澘瀵硅薄 - * @param codeClassifyTemplateDTO 鍒嗙被妯℃澘瀵硅薄鏁版嵁浼犺緭瀵硅薄 - * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� - */ - @PostMapping( "/addSave") - public R<CodeClstemplateVO> addSave(@RequestBody CodeClstemplateDTO codeClassifyTemplateDTO){ - return plCodeClstemplateService.addSave(codeClassifyTemplateDTO); - } - - /** - * 淇敼 鍒嗙被妯℃澘瀵硅薄 - * @param codeClassifyTemplateDTO 鍒嗙被妯℃澘瀵硅薄鏁版嵁浼犺緭瀵硅薄 - * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� - */ - @PutMapping("/editSave") - public R<CodeClstemplateVO> editSave(@RequestBody CodeClstemplateDTO codeClassifyTemplateDTO){ - return plCodeClstemplateService.editSave(codeClassifyTemplateDTO); - } +// /** +// * 鍒嗙被妯℃澘鍒楄〃 +// * @param baseQueryObject 鍩虹鏌ヨ瀵硅薄 +// * @return 鏄剧ず瀵硅薄 +// */ +// @GetMapping("/gridCodeClassifyTemplate") +// public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(BaseQueryObject baseQueryObject){ +// +// return plCodeClstemplateService.gridCodeClassifyTemplate(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); +// } /** @@ -256,7 +234,7 @@ * @return */ @PostMapping( "/editDate") - public R editDate(@RequestBody CodeClstemplateDTO codeClassifyDTO) { + public R editDate( CodeClstemplateDTO codeClassifyDTO) { return plCodeClstemplateService.updateLcStatus(codeClassifyDTO.getOid(),CodeClassifyTemplateLC.EDITING.getValue()); } @@ -269,27 +247,5 @@ public R Upgrade(@RequestBody CodeClstemplateDTO codeClassifyDTO) { return plCodeClstemplateService.Upgrade(codeClassifyDTO); - } - - @GetMapping( "/upgrade1") - public R upgrade1(@RequestBody CodeClstemplateDTO codeClassifyDTO) { - return Upgrade(codeClassifyDTO); - } - - /** - * 鍏嬮殕 - * @param codeClassifyDTO - * @return oid妯℃澘oid - */ - @PostMapping( "/copy") - public R copyTemplate(@RequestBody CodeClstemplateDTO codeClassifyDTO) { - - return plCodeClstemplateService.copyTemplate(codeClassifyDTO); - } - - @GetMapping( "/copyTemplate1") - public R copyTemplate1(@RequestBody CodeClstemplateDTO codeClassifyDTO) { - - return copyTemplate(codeClassifyDTO); } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java index ce03874..a363528 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java @@ -81,9 +81,6 @@ @MapKey("oid") List<Map<String,Object>> selectAllLevelParentByOid(@Param("oid") String oid); - @MapKey("oid") - List<Map<String,Object>> selectAllLevelParents(@Param("oid") String oid); - @MapKey("oid") List<Map<String,Object>> selectByFieldPath(@Param("fieldPath") String fieldPath); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstempattrMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstempattrMapper.java index 38fb156..4b111c0 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstempattrMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstempattrMapper.java @@ -39,7 +39,6 @@ */ List<CodeClstempattrVO> selectCodeClstempattrPage(IPage page, CodeClstempattrVO CodeClstempattr); - /** * 鏉′欢鏌ヨ鎺掑簭 * diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstemplateMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstemplateMapper.java index 7d2b7d2..5e87d10 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstemplateMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstemplateMapper.java @@ -20,11 +20,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.vo.CodeClstemplateVO; -import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; import java.util.List; -import java.util.Map; /** * 缂栫爜搴撳畾涔�-妯℃澘绠$悊 Mapper 鎺ュ彛 @@ -59,17 +57,5 @@ */ int countAllLevelChildOid(@Param("oid") String oid); - /** - * 鏍¢獙鏄惁鏈変笅绾ц妭鐐癸紝涓嶆牎楠屾槸鍚﹀叧鑱斾簡鏁版嵁 - * - * @param nameoid - * @return - */ -// @MapKey("REVISIONSEQ") - Map<String,Object> getNextRevision(@Param("nameoid") String nameoid); - - - List<CodeClstemplateEntity> selectCodeClassifyTemplateDOByTree(@Param("codeclassifyoid") String codeclassifyoid, - @Param("lcstatus") String lcstatus); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodePhaseattrMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodePhaseattrMapper.java index b6c6d1b..7765694 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodePhaseattrMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodePhaseattrMapper.java @@ -41,7 +41,4 @@ List<CodePhaseattrEntity> selectByPhasea(String oid); - - List<CodePhaseattrEntity> selectByPhaseaIds(String oids); - List<CodePhaseattrEntity> listLinkAttrDOByTemplateAttrDOS(String id,String codeClassifyTemplateOid); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java index 1e46c34..a9fc3a5 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java @@ -198,18 +198,4 @@ * @return 涓婚搴撴樉绀烘爲 */ List<Tree> treeTopCodeClassify(TreeQueryObject treeQueryObject); - - /** - * 鑾峰彇杩欎釜鍒嗙被涓嬬殑涓氬姟绫诲瀷锛屽綋鍓嶆病鏈夊氨鑾峰彇涓婄骇鐨勭涓�涓笟鍔$被鍨� - * @param oid 褰撳墠鍒嗙被鐨刼id - * @return oid,id,name,btmtypeid,btmtypename - */ - CodeClassify selectBtmOrParentBtm(String oid); - - /** - * 鑾峰彇鎵�鏈変笅绾ф暟鎹� - * @param oid 鏁版嵁涓婚敭 - * @return 鏌ヨ缁撴灉 - */ - List<CodeClassify> selectAllLevelParents(String oid); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstempattrService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstempattrService.java index 42150b7..27c01d0 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstempattrService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstempattrService.java @@ -18,18 +18,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import com.vci.ubcs.code.dto.CodeClstempattrDTO; import com.vci.ubcs.code.entity.CodeClstempattrEntity; import com.vci.ubcs.code.vo.CodeClstempattrVO; -import com.vci.ubcs.code.vo.CodeOsbtmtypeattributeVO; -import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; -import com.vci.ubcs.starter.web.pagemodel.DataGrid; -import com.vci.ubcs.starter.web.pagemodel.PageHelper; -import org.springblade.core.tool.api.R; import java.util.Collection; import java.util.List; -import java.util.Map; /** * 缂栫爜搴撳畾涔�-妯℃澘灞炴�� 鏈嶅姟绫� @@ -68,77 +61,5 @@ * @return 鏄剧ず瀵硅薄 */ CodeClstempattrVO codeClassifyTemplateAttrDO2VO(CodeClstempattrEntity codeClassifyTemplateAttrDO); - /** - * 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param conditionMap 鏌ヨ鏉′欢 - * @param pageHelper 鍒嗛〉鍜屾帓搴� - * @return 鎵ц缁撴灉 - */ - DataGrid<CodeClstempattrVO> gridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper); - - /** - * 澧炲姞涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞� - * @return 鎵ц缁撴灉 - */ - CodeClstempattrVO addSave(CodeClstempattrDTO codeClassifyTemplateAttrDTO); - - List<CodeClstempattrVO> batchAddSave(List<CodeClstempattrDTO> list); - - /** - * 淇敼涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞� - * @return 鎵ц缁撴灉 - */ - R<CodeClstempattrVO> editSave(CodeClstempattrDTO codeClassifyTemplateAttrDTO); - - /** - * 鍒犻櫎涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈� - * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� - */ - R deleteCodeClassifyTemplateAttr(CodeClstempattrDTO codeClassifyTemplateAttrDTO); - - /** - * 涓婚敭鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param oid 涓婚敭 - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞� - */ - CodeClstempattrVO getObjectByOid(String oid); - - /** - * 涓婚敭鎵归噺鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓� - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞� - */ - Collection<CodeClstempattrVO> listCodeClassifyTemplateAttrByOids(Collection<String> oidCollections); - - /** - * 鍙傜収涓婚搴撳垎绫荤殑妯℃澘灞炴�у垪琛� - * @param conditionMap 鏌ヨ鏉′欢 - * @param pageHelper 鍒嗛〉鍜屾帓搴� - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹� - */ - DataGrid<CodeClstempattrVO> refDataGridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper); - - /** - * 鏌ヨ杩欎釜妯℃澘锛屼笟鍔$被鍨嬩笅鐨勬墍鏈夋湭閫夋嫨鐨勫睘鎬� - * @param baseQueryObject - * @return - */ - DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtm(BaseQueryObject baseQueryObject); - /** - * 鏌ヨ杩欎釜妯℃澘锛屼笟鍔$被鍨嬩笅宸查�夋嫨鐨勫睘鎬� - * @param baseQueryObject - * @return - */ - DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtmHave(BaseQueryObject baseQueryObject); - - /** - * 鍚屾鍒板叾浠栨ā鏉� - * @param codeClassifyAttrDTO oid - * @return - */ - R copyto(CodeClstempattrDTO codeClassifyAttrDTO); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstemplateService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstemplateService.java index 6ab44e2..71898f2 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstemplateService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstemplateService.java @@ -22,14 +22,11 @@ import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.starter.revision.model.TreeQueryObject; -import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.Tree; -import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import java.util.Collection; import java.util.List; -import java.util.Map; /** * 缂栫爜搴撳畾涔�-妯℃澘绠$悊 鏈嶅姟绫� @@ -157,30 +154,4 @@ * 鍗囩増 */ R Upgrade(CodeClstemplateDTO codeClassifyDTO); - /** - * 妯℃澘鍏嬮殕 - */ - R copyTemplate(CodeClstemplateDTO codeClassifyDTO); - - /** - * 鍒嗙被妯℃澘鍒楄〃 - * @param plCodeClstemplate 鏌ヨ鏉′欢 - * @param query 鍒嗛〉瀵硅薄 - * @return 鏄剧ず瀵硅薄 - */ - DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(CodeClstemplateVO plCodeClstemplate, Query query); - - /** - * 澧炲姞鍒嗙被妯℃澘瀵硅薄 - * @param codeClassifyTemplateDTO 鍒嗙被妯℃澘瀵硅薄鏁版嵁浼犺緭瀵硅薄 - * @return 鎵ц缁撴灉 - */ - R<CodeClstemplateVO> addSave(CodeClstemplateDTO codeClassifyTemplateDTO); - - /** - * 淇敼鍒嗙被妯℃澘瀵硅薄 - * @param codeClassifyTemplateDTO 鍒嗙被妯℃澘瀵硅薄鏁版嵁浼犺緭瀵硅薄 - * @return 鎵ц缁撴灉 - */ - R<CodeClstemplateVO> editSave(CodeClstemplateDTO codeClassifyTemplateDTO); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempphaseService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempphaseService.java index 549ab9d..2ee891a 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempphaseService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempphaseService.java @@ -18,12 +18,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import com.vci.ubcs.code.entity.CodeClstempattrEntity; import com.vci.ubcs.code.entity.CodeTempphaseEntity; -import com.vci.ubcs.code.vo.CodePhaseattrVO; import com.vci.ubcs.code.vo.CodeTempphaseVO; - -import java.util.List; /** * 缂栫爜搴撳畾涔�-妯℃澘闃舵 鏈嶅姟绫� @@ -49,11 +45,4 @@ * @return 鍙楀奖鍝嶇殑鏁版嵁 */ int codeTemplateDeleteTrigger(String classifyTemplateOid); - - /** - * 妯℃澘淇敼瑙﹀彂鍔熻兘 - * @param codeClassifyTemplateAttrDOInsert 灞炴�х殑鏁版嵁瀵硅薄 - * @return 鍙楀奖鍝嶇殑鏁版嵁 - */ - List<CodeClstempattrEntity> codeTemplateAttrModifyTrigger(List<CodeClstempattrEntity> codeClassifyTemplateAttrDOInsert); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java index cab8c88..6237099 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java @@ -124,12 +124,8 @@ if (CollectionUtils.isEmpty(deleteList)){ return true; } - boolean deletFlag = false; // 2銆佸啀鍒犻櫎鍩虹鐮佹 - Set<String> basicOids = deleteList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet()); - if(basicOids.size()>0 || !Func.isEmpty(basicOids)){ - deletFlag = codeBasicSecMapper.deleteBatchIds(basicOids) > 0; - } + boolean deletFlag = codeBasicSecMapper.deleteBatchIds(deleteList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet())) > 0; // 3銆佸啀鏍规嵁鍒犻櫎鍥哄畾鐮佹锛屼笡鏌ヨ鍑烘潵鐨勫熀纭�鐮佹涓繃婊ゅ嚭鍖呭惈鍥哄畾鐮佹鐨勮褰� List<CodeBasicSec> fixedSecList = deleteList.stream().filter(sec -> { return CodeSecTypeEnum.CODE_FIXED_SEC.getValue().equals(sec.getSecType()); @@ -139,11 +135,8 @@ Set<String> fixedSecOidSet = fixedSecList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet()); // 閫氳繃澶栭敭杩涜鏌ヨ List<CodeFixedValue> fixedValueS = fixedValueMapper.selectList(Wrappers.<CodeFixedValue>query().lambda().in(CodeFixedValue::getCodeFixedSecOid,fixedSecOidSet)); - Set<String> collectOid = fixedValueS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet()); - if(collectOid.size()>0 || !Func.isEmpty(collectOid)){ - // 鏍规嵁鏌ヨ鍑烘潵鐨刬d鎵ц鍥哄畾鐮佹鎵ц鍒犻櫎 - fixedValueMapper.deleteBatchIds(collectOid); - } + // 鏍规嵁鏌ヨ鍑烘潵鐨刬d鎵ц鍥哄畾鐮佹鎵ц鍒犻櫎 + deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet()))>0; } // 4銆佸啀鍒犻櫎鍒嗙被鐮佹 List<CodeBasicSec> classifySecList = deleteList.stream().filter(sec -> { @@ -153,12 +146,9 @@ // 灏嗚浣滀负鍒犻櫎鏉′欢鐨勫�兼斁鍦ㄤ竴涓泦鍚堥噷闈� Set<String> classifySecOidSet = classifySecList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet()); // 閫氳繃澶栭敭杩涜鏌ヨ - List<CodeClassifyValue> classifyValues = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query().lambda().in(CodeClassifyValue::getCodeClassifySecOid,classifySecOidSet)); + List<CodeClassifyValue> fixedValueS = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query().lambda().in(CodeClassifyValue::getCodeClassifySecOid,classifySecOidSet)); // 鏍规嵁鏌ヨ鍑烘潵鐨勪富閿甶d鎵ц鍥哄畾鐮佹鎵ц鍒犻櫎 - Set<String> codeclassifyOids = classifyValues.stream().map(CodeClassifyValue::getOid).collect(Collectors.toSet()); - if(codeclassifyOids.size()>0 || !Func.isEmpty(codeclassifyOids)){ - fixedValueMapper.deleteBatchIds(codeclassifyOids); - } + deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeClassifyValue::getOid).collect(Collectors.toSet()))>0; } return deletFlag; } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java index 3481b1b..6547785 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; +import com.vci.ubcs.starter.revision.model.TreeQueryObject; +import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.entity.CodeOsbtmtypeEntity; @@ -23,15 +25,13 @@ import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; -import com.vci.ubcs.core.log.exception.ServiceException; +import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.bo.WriteExcelData; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.poi.bo.ReadExcelOption; import com.vci.ubcs.starter.poi.bo.WriteExcelOption; import com.vci.ubcs.starter.poi.constant.ExcelLangCodeConstant; import com.vci.ubcs.starter.poi.util.ExcelUtil; -import com.vci.ubcs.starter.revision.model.TreeQueryObject; -import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.LocalFileUtil; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; @@ -40,6 +40,7 @@ import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.LangBaseUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; +import org.springblade.core.log.exception.ServiceException; import org.apache.poi.hssf.util.HSSFColor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -984,41 +985,4 @@ return treeCodeClassify(treeQueryObject); } - /** - * 鑾峰彇杩欎釜鍒嗙被涓嬬殑涓氬姟绫诲瀷锛屽綋鍓嶆病鏈夊氨鑾峰彇涓婄骇鐨勭涓�涓笟鍔$被鍨� - * @param oid 褰撳墠鍒嗙被鐨刼id - * @return oid,id,name,btmtypeid,btmtypename锛屾病鏈夊氨杩斿洖null - */ - @Override - public CodeClassify selectBtmOrParentBtm(String oid){ - List<CodeClassify> oidList = selectAllLevelParents(oid); - return oidList.size()==0?null:oidList.get(0); - } - - /** - * 鑾峰彇鎵�鏈夊眰绾т笂绾у叧鑱斾笟鍔$被鍨嬫暟鎹� - * @param oid 褰撳墠鍒嗙被鐨刼id - * @return oid,id,name,btmtypeid,btmtypename - */ - @Override - public List<CodeClassify> selectAllLevelParents(String oid){ -// String sql = "select oid,id,name,btmtypeid,btmtypename from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY) + " where btmtypeid is not null start with oid= :oid connect by prior PARENTCODECLASSIFYOID=oid "; -// Map< String,String> conditionMap = new HashMap< String,String>(); -// conditionMap.put("oid",oid); -// List<Map> dataList = boService.queryBySqlForMap(sql,conditionMap); - List<Map<String, Object>> dataList = codeClassifyMapper.selectAllLevelParents(oid); - List<CodeClassify> oidList = new ArrayList<CodeClassify>(); - if(!CollectionUtils.isEmpty(dataList)){ - for(Map data:dataList){ - CodeClassify codeClassifyDO = new CodeClassify(); - codeClassifyDO.setOid(VciBaseUtil.getStringValueFromObject(data.get("OID"))); - codeClassifyDO.setId(VciBaseUtil.getStringValueFromObject(data.get("ID"))); - codeClassifyDO.setName(VciBaseUtil.getStringValueFromObject(data.get("NAME"))); - codeClassifyDO.setBtmTypeId(VciBaseUtil.getStringValueFromObject(data.get("BTMTYPEID"))); - codeClassifyDO.setBtmTypeName(VciBaseUtil.getStringValueFromObject(data.get("BTMTYPENAME"))); - oidList.add(codeClassifyDO); - } - } - return oidList; - } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java index b9b5fdd..e9749c9 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java @@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.CodeClassifyValueDTO; -import com.vci.ubcs.code.entity.CodeBasicSec; import com.vci.ubcs.code.entity.CodeClassifyValue; -import com.vci.ubcs.code.enumpack.*; +import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; import com.vci.ubcs.code.mapper.CodeClassifyValueMapper; import com.vci.ubcs.code.service.ICodeBasicSecService; import com.vci.ubcs.code.service.ICodeClassifyValueService; @@ -21,7 +19,6 @@ import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; -import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -52,7 +49,7 @@ /** * 涓婄骇鑺傜偣鐨勫睘鎬у悕绉� */ - private static final String PARENT_FIELD_NAME = "parentClassifyValueOid"; + private static final String PARENT_FIELD_NAME = "parentClassifyValueOid"; /** * 鏌ヨ鍒嗙被鐮佹鐨勭爜鍊� 鏍� @@ -63,7 +60,7 @@ @Override public List<Tree> treeCodeClassifyValue(TreeQueryObject treeQueryObject) throws VciBaseException { // List<CodeClassifyValueDO> doList =selectCodeClassifyValueDOByTree(treeQueryObject); - List<CodeClassifyValue> doList = selectCodeClassifyValueDO4Tree(treeQueryObject); + List<CodeClassifyValue> doList =selectCodeClassifyValueDO4Tree(treeQueryObject); List<CodeClassifyValueVO> voList = CodeClassifyValueWrapper.build().listVO(doList); TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME); treeWrapperOptions.copyFromTreeQuery(treeQueryObject); @@ -81,13 +78,12 @@ * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 */ @Override - @Transactional(rollbackFor = Exception.class) public boolean addSave(CodeClassifyValueDTO codeClassifyValueDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyValueDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄"); //娣诲姞瀵圭爜鍊煎瓙鐖剁骇鐨勫垽鏂� - if(StringUtils.isNotBlank(codeClassifyValueDTO.getParentClassifyValueOid())){ - String parentclassifyvalueoid = codeClassifyValueDTO.getParentClassifyValueOid(); - String codeclassifysecoid = codeClassifyValueDTO.getCodeClassifySecOid(); + if(StringUtils.isNotBlank(codeClassifyValueDTO.getParentclassifyvalueoid())){ + String parentclassifyvalueoid = codeClassifyValueDTO.getParentclassifyvalueoid(); + String codeclassifysecoid = codeClassifyValueDTO.getCodeclassifysecoid(); CodeClassifyValue parentDO = codeClassifyValueMapper.selectById(parentclassifyvalueoid); if (parentDO.getCodeClassifySecOid().equalsIgnoreCase(codeclassifysecoid)){ throw new VciBaseException("涓嶅厑璁稿湪鐖剁爜鍊间腑鐩存帴娣诲姞瀛愮爜鍊�"); @@ -96,16 +92,6 @@ //灏咲TO杞崲涓篋O CodeClassifyValue codeClassifyValueDO = new CodeClassifyValue(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyValueDTO,codeClassifyValueDO); - //濉厖涓�浜涢粯璁ゅ�� - codeClassifyValueDO.setOid(VciBaseUtil.getPk()); - codeClassifyValueDO.setRevisionOid(VciBaseUtil.getPk()); - codeClassifyValueDO.setNameOid(VciBaseUtil.getPk()); - codeClassifyValueDO.setBtmname(MdmBtmTypeConstant.CODE_CLASSIFY_VALUE); - codeClassifyValueDO.setTs(new Date()); - codeClassifyValueDO.setCreateTime(new Date()); - codeClassifyValueDO.setCreator(AuthUtil.getUserId().toString()); - codeClassifyValueDO.setLastModifier(AuthUtil.getUserId().toString()); - codeClassifyValueDO.setLastModifyTime(new Date()); //鏌ヨ List<CodeClassifyValue> existList = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query() .lambda().eq(CodeClassifyValue::getCodeClassifySecOid, codeClassifyValueDO.getCodeClassifySecOid()) @@ -128,10 +114,6 @@ //灏咲TO杞崲涓篋O CodeClassifyValue codeClassifyValueDO = selectByOid(codeClassifyValueDTO.getOid()); revisionModelUtil.copyFromDTOIgnore(codeClassifyValueDTO,codeClassifyValueDO); - //濉厖涓�浜涢粯璁ゅ�� - codeClassifyValueDO.setTs(new Date()); - codeClassifyValueDO.setLastModifier(AuthUtil.getUserId().toString()); - codeClassifyValueDO.setLastModifyTime(new Date()); boolean resBoolean = codeClassifyValueMapper.updateById(codeClassifyValueDO) > 0; return resBoolean; } @@ -221,7 +203,7 @@ VciBaseUtil.alertNotNull(codeClassifyValueDTO,"鍒嗙被鐮佹鐨勭爜鍊兼暟鎹璞�",codeClassifyValueDTO.getOid(),"鍒嗙被鐮佹鐨勭爜鍊肩殑涓婚敭"); CodeClassifyValue codeClassifyValueDO = selectByOid(codeClassifyValueDTO.getOid()); R baseResult = checkIsCanDeleteForDO(codeClassifyValueDTO,codeClassifyValueDO); - if(!baseResult.isSuccess()) { + if(baseResult.isSuccess()) { //鎵句笅绾х殑锛岃繖涓槸鍙互鍒犻櫎鐨勬椂鍊橰 List<String> childrenOids = codeClassifyValueMapper.selectAllLevelChildOid(codeClassifyValueDO.getOid().trim()); if (!CollectionUtils.isEmpty(childrenOids)) { @@ -298,12 +280,12 @@ List<CodeClassifyValue> updateList = new ArrayList<>(); dtoList.forEach(dto -> { - if(StringUtils.isNotBlank(dto.getOid())){ + if( StringUtils.isNotBlank( dto.getOid() )){ List<CodeClassifyValue> collect = valueDOList.stream().filter(value -> { return dto.getOid().equals(value.getOid()); }).collect(Collectors.toList()); collect.forEach(ccv -> { - ccv.setOrderNum(dto.getOrderNum()); + ccv.setOrderNum(dto.getOrdernum()); ccv.setId(dto.getId()); ccv.setName(dto.getName()); updateList.add(ccv); @@ -353,8 +335,9 @@ List<String> oids = codeBasicSecService.getOidByCodeclassifysecOid(conditionMap.get("codeclassifysecoid")); LambdaQueryWrapper<CodeClassifyValue> wrapper = Wrappers.<CodeClassifyValue>query() .lambda().in(CodeClassifyValue::getCodeClassifySecOid,oids) - .orderByAsc(CodeClassifyValue::getOrderNum); + .orderByDesc(CodeClassifyValue::getOrderNum); return codeClassifyValueMapper.selectList(wrapper); } + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstempattrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstempattrServiceImpl.java index ccc9518..404f4d4 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstempattrServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstempattrServiceImpl.java @@ -16,47 +16,23 @@ */ package com.vci.ubcs.code.service.impl; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.nacos.common.utils.StringUtils; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.vci.ubcs.code.constant.MdmBtmTypeConstant; -import com.vci.ubcs.code.dto.CodeClstempattrDTO; import com.vci.ubcs.code.entity.CodeClstempattrEntity; -import com.vci.ubcs.code.entity.CodeClstemplateEntity; -import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; import com.vci.ubcs.code.mapper.CodeClstempattrMapper; -import com.vci.ubcs.code.mapper.CodeClstemplateMapper; -import com.vci.ubcs.code.mapper.CodeOsbtmtypeattributeMapper; import com.vci.ubcs.code.service.ICodeClstempattrService; -import com.vci.ubcs.code.service.ICodeTempphaseService; import com.vci.ubcs.code.vo.CodeClstempattrVO; -import com.vci.ubcs.code.vo.CodeOsbtmtypeattributeVO; -import com.vci.ubcs.starter.exception.VciBaseException; -import com.vci.ubcs.starter.revision.service.RevisionModelUtil; -import com.vci.ubcs.starter.util.PatternUtil; + import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; -import com.vci.ubcs.starter.web.pagemodel.*; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; -import com.vci.ubcs.starter.web.util.VciDateUtil; -import com.vci.ubcs.system.entity.DictBiz; -import com.vci.ubcs.system.feign.IDictBizClient; -import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; -import org.springblade.core.tool.api.R; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cglib.beans.BeanMap; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; -import java.util.*; -import java.util.stream.Collectors; - -import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; /** * 缂栫爜搴撳畾涔�-妯℃澘灞炴�� 鏈嶅姟瀹炵幇绫� @@ -69,22 +45,6 @@ @Resource CodeClstempattrMapper codeClstempattrMapper; -// @Resource -// ICodeTempphaseService codeTempphaseService; - @Resource - IDictBizClient iDictBizClient; - @Resource - CodeClstemplateMapper codeClstemplateMapper; - @Resource - CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper; - @Resource - ICodeTempphaseService codeTempphaseService; - - /** - * 瀵硅薄鐨勬搷浣� - */ - @Autowired(required = false) - private RevisionModelUtil revisionModelUtil; @Override public IPage<CodeClstempattrVO> selectCodeClstempattrPage(IPage<CodeClstempattrVO> page, CodeClstempattrVO CodeClstempattr) { @@ -151,648 +111,5 @@ vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributedatatype())); } return vo; - } - - /** - * 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param conditionMap 鏌ヨ鏉′欢 - * @param pageHelper 鍒嗛〉鍜屾帓搴� - * @return 鎵ц缁撴灉 - */ - @Override - public DataGrid<CodeClstempattrVO> gridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) { - DataGrid<CodeClstempattrVO> dataGrid=new DataGrid<CodeClstempattrVO>(); - //娌℃湁浼犻�掑弬鏁帮紝灏变笉鎵ц鏌ヨ閫昏緫 - if(conditionMap.size()==0){ - dataGrid.setData(new ArrayList<>()); - dataGrid.setTotal(0); - return dataGrid; - } - - if (pageHelper == null) { - pageHelper = new PageHelper(-1); - } - pageHelper.addDefaultAsc("ordernum"); -// IPage iPage = new IPage(); - Query query = new Query(); - query.setAscs("ordernum"); -// query.setSize(100); - if(pageHelper.getLimit() != -1){ - query.setSize(pageHelper.getLimit()); - query.setCurrent(pageHelper.getPage()); - } -// Condition.getPage(query) - CodeClstempattrVO codeClstempattrVO = new CodeClstempattrVO(); -// BeanUtil.toBean(map,codeClstempattrVO); -// BeanUtil - BeanMap beanMap = BeanMap.create(codeClstempattrVO); - - beanMap.putAll(conditionMap); -// Condition.getQueryWrapper( - IPage<CodeClstempattrEntity> doList = baseMapper. - selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeClstempattrVO)); - - - if (!CollectionUtils.isEmpty(doList.getRecords())) { -// CodeClstempattrEntity codeClstempattrEntity = new CodeClstempattrEntity(); -// BeanUtils.copyProperties(conditionMap, codeClstempattrEntity); -// List<CodeClstempattrEntity> codeClstempattrEntities = new ArrayList<>(); -// BeanUtils.copyProperties(doList,codeClstempattrEntities); -// codeClstempattrEntities.addAll(doList); - dataGrid.setData(codeClassifyTemplateAttrDO2VOs(doList.getRecords())); - dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(baseMapper.selectCount(Condition.getQueryWrapper(codeClstempattrVO))))); - } - return dataGrid; - } - - /** - * 澧炲姞涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞� - * @return 鎵ц缁撴灉 - */ - @Override - public CodeClstempattrVO addSave(CodeClstempattrDTO codeClassifyTemplateAttrDTO){ - VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄"); - //灏咲TO杞崲涓篋O - CodeClstempattrEntity codeClassifyTemplateAttrDO = new CodeClstempattrEntity(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); - baseMapper.insert(codeClassifyTemplateAttrDO); - return codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO); - } - - - /** - * 鎵归噺娣诲姞 - * @param codeClassifyTemplateAttrDTOs 鏁版嵁浼犺緭瀵硅薄 - * @return 淇濆瓨鍚庣殑鏄剧ず瀵硅薄 - */ - @Override - @Transactional - public List<CodeClstempattrVO> batchAddSave(List<CodeClstempattrDTO> codeClassifyTemplateAttrDTOs) { - if(CollectionUtils.isEmpty(codeClassifyTemplateAttrDTOs)){ - return new ArrayList<>(); - } - - //鍙栨墍鏈夊睘鎬х殑鑻辨枃鍚嶇О锛岀涓変釜楠岃瘉闇�瑕佺敤鍒� - Map<String,CodeClstempattrDTO> attrDTOMap =codeClassifyTemplateAttrDTOs.stream().collect(Collectors.toMap(s->s.getId().toLowerCase(Locale.ROOT), t->t)); - - //鎵惧睘鎬т腑鏂囧悕瀛楅噸澶� - Map<String, Long> nameCountMap = codeClassifyTemplateAttrDTOs.stream().collect(Collectors.groupingBy(s -> s.getName(), Collectors.counting())); - List<String> repeatNameList = nameCountMap.keySet().stream().filter(s -> nameCountMap.get(s) > 1).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(repeatNameList)){ - throw new VciBaseException("妯℃澘灞炴�т腑鏂囧悕绉般�恵0}銆戦噸澶�",new String[]{ repeatNameList.stream().collect(Collectors.joining(","))}); - } - //鎵惧睘鎬ц嫳鏂囧悕瀛楅噸澶� - Map<String, Long> idCountMap = codeClassifyTemplateAttrDTOs.stream().collect(Collectors.groupingBy(s -> s.getId().toLowerCase(Locale.ROOT), Collectors.counting())); - List<String> repeatIdList = idCountMap.keySet().stream().filter(s -> idCountMap.get(s) > 1).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(repeatIdList)){ - throw new VciBaseException("妯℃澘灞炴�ц嫳鏂囧悕绉般�恵0}銆戦噸澶�",new String[]{ repeatIdList.stream().collect(Collectors.joining(","))}); - } - - //妯℃澘oid - String CLASSIFYTEMPLATEOID = null; - //杞崲 - List<CodeClstempattrEntity> codeClassifyTemplateAttrDOInsert = new ArrayList<CodeClstempattrEntity>(); - List<String> prefix = new ArrayList<>(); - List<String> suffix = new ArrayList<>(); - List<String> dateFormates = new ArrayList<>(); - for (CodeClstempattrEntity codeClassifyTemplateAttrDTO:codeClassifyTemplateAttrDTOs){ - VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄"); - //灏咲TO杞崲涓篋O - CodeClstempattrEntity codeClassifyTemplateAttrDO = new CodeClstempattrEntity(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); - codeClassifyTemplateAttrDOInsert.add(codeClassifyTemplateAttrDO); - - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getPrefixvalue())){ - prefix.add(codeClassifyTemplateAttrDO.getPrefixvalue()); - } - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getSuffixvalue())){ - suffix.add(codeClassifyTemplateAttrDO.getSuffixvalue()); - } - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getCodedateformat())){ - dateFormates.add(codeClassifyTemplateAttrDO.getCodedateformat()); - } - //鍒ゆ柇浼犺繃鏉ョ殑鏋氫妇娉ㄥ叆鏄惁鏄痡sonArr鏍煎紡 - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getEnumstring())&&!checkKVArr(codeClassifyTemplateAttrDO.getEnumstring())){ - throw new VciBaseException("{0}{1}灞炴�х殑鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()}); - } - //鍒嗙被娉ㄥ叆 - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getClassifyinvokeattr()) - && !CodeLevelTypeEnum.MIN.getValue().equalsIgnoreCase(codeClassifyTemplateAttrDO.getClassifyinvokelevel()) - && VciBaseUtil.getInt(codeClassifyTemplateAttrDO.getClassifyinvokelevel()) < 0){ - throw new VciBaseException("{0}{1}灞炴�х殑鏄垎绫绘敞鍏ワ紝浣嗘槸娉ㄥ叆灞傜骇涓嶈兘灏忎簬0!",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()}); - } - - //鍒ゆ柇浼犺繃鏉ョ殑鍙傜収閰嶇疆鏄惁鏄痡son鏍煎紡 - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getReferconfig())&&!checkKVObj(codeClassifyTemplateAttrDO.getReferconfig())){ - throw new VciBaseException("{0}{1}灞炴�х殑鍙傜収閰嶇疆鏁版嵁鏍煎紡閿欒!",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()}); - } - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getCodedateformat()) && !checkDateFormat(codeClassifyTemplateAttrDO.getCodedateformat())){ - throw new VciBaseException("{0}{1}灞炴�х殑鏃堕棿鏍煎紡涓嶇鍚堣姹�",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()}); - } - //濡傛灉鏄粍鍚堣鍒欙紝閲岄潰浣跨敤鐨勫睘鎬т笉鑳界己澶憋紝涔熼兘寰楁樉绀� - String componentrule = codeClassifyTemplateAttrDTO.getComponentrule(); - boolean isContainsDynamicParameter = PatternUtil.isContainsDynamicParameter(componentrule); - if(isContainsDynamicParameter){ - List<String> userdAttrList = PatternUtil.getKeyListByContent(componentrule);//鍖呭惈鐨勬墍鏈�${xxx}涓殑xxx - if(!CollectionUtils.isEmpty(userdAttrList)){ - String unExistAttr = userdAttrList.stream().filter(s -> !attrDTOMap.containsKey(s.toLowerCase(Locale.ROOT))).collect(Collectors.joining(",")); - if(StringUtils.isNotBlank(unExistAttr)){ - throw new VciBaseException("{0}灞炴�ф槸缁勫悎瑙勫垯锛屼絾鏄鍒欓噷鍖呭惈鐨勫睘鎬{1}]鍦ㄥ綋鍓嶆ā鏉夸腑涓嶅瓨鍦�!",new String[]{codeClassifyTemplateAttrDO.getName(), unExistAttr}); - } - //瑕佺湅鐪嬭〃鍗曟槸鍚︽樉绀� - String unFormDisplayAttr = userdAttrList.stream().filter(s -> !VciBaseUtil.getBoolean(attrDTOMap.getOrDefault(s.toLowerCase(Locale.ROOT), - new CodeClstempattrDTO()).getFormdisplayflag())).collect(Collectors.joining(",")); - if(StringUtils.isNotBlank(unFormDisplayAttr)){ - throw new VciBaseException("{0}灞炴�ф槸缁勫悎瑙勫垯锛屼絾鏄鍒欓噷鍖呭惈鐨勫睘鎬{1}]鍦ㄥ綋鍓嶆ā鏉夸腑娌℃湁璁剧疆 琛ㄥ崟鏄剧ず ",new String[]{codeClassifyTemplateAttrDO.getName(),unFormDisplayAttr}); - } - } - } - - if(CLASSIFYTEMPLATEOID==null){ - CLASSIFYTEMPLATEOID = codeClassifyTemplateAttrDTO.getClassifytemplateoid(); - } - - } - - //鎵ц鏁版嵁淇濆瓨鎿嶄綔 -// WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛� - - //鍏堥兘鍒犱簡 -// VciQueryWrapperForDO deleteAttrWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); -// deleteAttrWrapper.addQueryMap("CLASSIFYTEMPLATEOID",CLASSIFYTEMPLATEOID); - Map<String,Object> condition = new HashMap<>(); - condition.put("CLASSIFYTEMPLATEOID",CLASSIFYTEMPLATEOID); - List<CodeClstempattrEntity> codeClassifyTemplateAttrDODelete = baseMapper.selectByMap(condition); - - //oids - List<String> oids = new ArrayList<String>(); - for (CodeClstempattrEntity codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDODelete){ - oids.add(codeClassifyTemplateAttrDO.getOid()); - } -// BatchCBO batchCBOTemplateDelete = new BatchCBO(); - if(!CollectionUtils.isEmpty(oids)){ - baseMapper.deleteBatchIds(oids); - } - - //鍐嶆柊澧� - if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){ - this.saveBatch(codeClassifyTemplateAttrDOInsert); - } - - //璋冪敤闃舵 - if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){ - codeTempphaseService.codeTemplateAttrModifyTrigger(codeClassifyTemplateAttrDOInsert); - - } - - -// SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); - //澶勭悊鍙緭鍙�夌殑瀛楃 - if(!CollectionUtils.isEmpty(prefix)){ - for (String s : prefix) { - DictBiz dictBiz = new DictBiz(); - dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR); - dictBiz.setDictKey(s); - dictBiz.setDictValue("prefix"); - iDictBizClient.getCheck(dictBiz) ; - } -// .saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"prefix",prefix,sessionInfo); - } - if(!CollectionUtils.isEmpty(suffix)){ - for (String s : suffix) { - DictBiz dictBiz = new DictBiz(); - dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR); - dictBiz.setDictKey(s); - dictBiz.setDictValue("suffix"); - iDictBizClient.getCheck(dictBiz) ; - } -// charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"suffix",suffix,sessionInfo); - } - if(!CollectionUtils.isEmpty(dateFormates)){ - for (String s : dateFormates) { - DictBiz dictBiz = new DictBiz(); - dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR); - dictBiz.setDictKey(s); - dictBiz.setDictValue("dateFormates"); - iDictBizClient.getCheck(dictBiz) ; - } -// charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"dateFormates",dateFormates,sessionInfo); - } - -// WebUtil.setPersistence(true);//鎵ц淇濆瓨 -// boService.persistenceBatch(batchCBOTemplateDelete);//涓�璧锋墽琛屼繚瀛� - return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOInsert); - } - - public boolean checkKVArr(String kvString){ - boolean isKV = true; - try { - JSONObject.parseArray(kvString, KeyValue.class); - }catch (Exception e){ - isKV=false; - } - return isKV; - } - public boolean checkKVObj(String kvString){ - boolean isKV = true; - try { - JSONObject.parseObject(kvString, UIFormReferVO.class); - }catch (Exception e){ - isKV=false; - } - return isKV; - } - - /** - * 鏍¢獙鏃堕棿鏍煎紡 - * @param dateFormat 鏃堕棿鏍煎紡 - * @return true琛ㄧず鏍¢獙閫氳繃 - */ - public boolean checkDateFormat(String dateFormat){ - try{ - VciDateUtil.date2Str(new Date(),dateFormat); - return true; - }catch (Throwable e){ - return false; - } - } - - - /** - * 淇敼涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞� - * @return 鎵ц缁撴灉 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 - */ - @Override - public R editSave(CodeClstempattrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"鏁版嵁瀵硅薄",codeClassifyTemplateAttrDTO.getOid(),"涓婚搴撳垎绫荤殑妯℃澘灞炴�т富閿�"); - - //鍒ゆ柇浼犺繃鏉ョ殑鏋氫妇娉ㄥ叆鏄惁鏄痡sonArr鏍煎紡 - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getEnumstring())&&!checkKVArr(codeClassifyTemplateAttrDTO.getEnumstring())){ - throw new VciBaseException("鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!"); - } - - //鍒ゆ柇浼犺繃鏉ョ殑鍙傜収閰嶇疆鏄惁鏄痡son鏍煎紡 - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferbtmid())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferbtmid())){ - throw new VciBaseException("鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!"); - } - - - //妫�鏌s - CodeClstempattrEntity codeClassifyTemplateAttrDOCopyFromDTO = new CodeClstempattrEntity(); -// BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDOCopyFromDTO); -// boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOCopyFromDTO); - - //妫�鏌s -// Map<String,Object> condition = new HashMap<>(2); -// condition.put("oid",codeClassifyTemplateAttrDTO.getOid()); -// condition.put("ts",codeClassifyTemplateAttrDTO.getTs()); - CodeClstempattrEntity detail = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); - if(!detail.getTs().toString().equals(codeClassifyTemplateAttrDTO.getTs().toString())){//涓嶆槸鏈�鏂扮殑涓嶈鏀� - return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); - } - - //灏咲TO杞崲涓篋O - CodeClstempattrEntity codeClassifyTemplateAttrDO = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); - revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); - baseMapper.updateById(codeClassifyTemplateAttrDO); - return R.data(codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO)); - } - - /** - * 鍒犻櫎涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈� - * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� - * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯� - */ - @Override - public R deleteCodeClassifyTemplateAttr(CodeClstempattrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹璞�",codeClassifyTemplateAttrDTO.getOid(),"涓婚搴撳垎绫荤殑妯℃澘灞炴�х殑涓婚敭"); - CodeClstempattrEntity codeClassifyTemplateAttrDO = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); - R baseResult = checkIsCanDeleteForDO(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); - if(baseResult.isSuccess()) { - }else{ - return baseResult; - } - //鎵ц鍒犻櫎鎿嶄綔 - int deleteNum = baseMapper.deleteById(codeClassifyTemplateAttrDO.getOid()); - return deleteNum>0?R.success(DELETE_SUCCESS):R.fail(DELETE_FAIL); - } - - /** - * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎 - * @param codeClassifyTemplateAttrDTO 鏁版嵁浼犺緭瀵硅薄 - * @param codeClassifyTemplateAttrDO 鏁版嵁搴撲腑鐨勬暟鎹璞� - * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾� - */ - private R checkIsCanDeleteForDO(CodeClstempattrDTO codeClassifyTemplateAttrDTO, CodeClstempattrEntity codeClassifyTemplateAttrDO) { -// boService.checkTs(codeClassifyTemplateAttrDO); -// Map<String,Object> condition = new HashMap<>(2); -// condition.put("oid",codeClassifyTemplateAttrDTO.getOid()); -// condition.put("ts",codeClassifyTemplateAttrDTO.getTs()); - CodeClstempattrEntity detail = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); -// .selectOne(Condition.getQueryWrapper(condition,CodeClstempattrEntity.class)); - - if(!detail.getTs().toString().equals(codeClassifyTemplateAttrDTO.getTs().toString())){//涓嶆槸鏈�鏂扮殑涓嶈鏀� - return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); - } - if(!checkIsLinked(codeClassifyTemplateAttrDO.getOid())) { - return R.success("鍙互鍒犻櫎锛�"); - }else{ - return R.fail(DATA_LINKED_NOT_DELETE); - } - } - - /** - * 鏍¢獙鏄惁琚紩鐢� - * @param oid 涓婚敭 - * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父 - */ - private boolean checkIsLinked(String oid) throws VciBaseException{ - //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟 - return false; - } - - /** - * 涓婚敭鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param oid 涓婚敭 - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞� - * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父 - */ - @Override - public CodeClstempattrVO getObjectByOid(String oid) throws VciBaseException{ - return codeClassifyTemplateAttrDO2VO(selectByOid(oid)); - } - /** - * 涓婚敭鏌ヨ鏁版嵁瀵硅薄 - * @param oid 涓婚敭 - * @return 鏁版嵁瀵硅薄 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - private CodeClstempattrEntity selectByOid(String oid) throws VciBaseException{ - VciBaseUtil.alertNotNull(oid,"涓婚敭"); - CodeClstempattrEntity codeClassifyTemplateAttrDO = baseMapper.selectById(oid.trim()); - if(codeClassifyTemplateAttrDO == null || StringUtils.isBlank(codeClassifyTemplateAttrDO.getOid())){ - throw new VciBaseException(DATA_OID_NOT_EXIST); - } - return codeClassifyTemplateAttrDO; - } - - /** - * 涓婚敭鎵归噺鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓� - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞� - * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭 - */ - @Override - public Collection<CodeClstempattrVO> listCodeClassifyTemplateAttrByOids(Collection<String> oidCollections) { - VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎"); - List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = listCodeClassifyTemplateAttrDOByOidCollections(oidCollections); - return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOList); - } - - /** - * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄 - * @param oidCollections 涓婚敭鐨勯泦鍚� - * @return 鏁版嵁瀵硅薄鍒楄〃 - */ - private List<CodeClstempattrEntity> listCodeClassifyTemplateAttrDOByOidCollections(Collection<String> oidCollections){ - List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = new ArrayList<CodeClstempattrEntity>(); - if(!CollectionUtils.isEmpty(oidCollections)){ - Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); - for(Collection<String> oids: oidCollectionsList){ - List<CodeClstempattrEntity> tempDOList = baseMapper.selectBatchIds(oids); - if(!CollectionUtils.isEmpty(tempDOList)){ - codeClassifyTemplateAttrDOList.addAll(tempDOList); - } - } - } - return codeClassifyTemplateAttrDOList; - } - - /** - * 鍙傜収涓婚搴撳垎绫荤殑妯℃澘灞炴�у垪琛� - * @param conditionMap 鏌ヨ鏉′欢 - * @param pageHelper 鍒嗛〉鍜屾帓搴� - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹� - * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<CodeClstempattrVO> refDataGridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ - if(conditionMap == null){ - conditionMap = new HashMap<String, String>(); - } - return gridCodeClassifyTemplateAttr(conditionMap,pageHelper); - } - - /** - * 鏌ヨ杩欎釜妯℃澘锛屼笟鍔$被鍨嬩笅鐨勬墍鏈夋湭閫夋嫨鐨勫睘鎬� - * @param baseQueryObject - * @return - */ - @Override - public DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtm(BaseQueryObject baseQueryObject){ - if(baseQueryObject.getConditionMap() == null){ - baseQueryObject.setConditionMap(new HashMap<>()); - } - DataGrid<CodeOsbtmtypeattributeVO> dataGrid=new DataGrid<CodeOsbtmtypeattributeVO>(); - //妯℃澘oid - String templateAttrOid = baseQueryObject.getConditionMap().get("oid"); - String name = baseQueryObject.getConditionMap().getOrDefault("name",""); - String id = baseQueryObject.getConditionMap().getOrDefault("id",""); - - //娌℃湁oid涓嶆墽琛岄�昏緫 - if(StringUtils.isBlank(templateAttrOid)){ - dataGrid.setData(new ArrayList<>()); - dataGrid.setTotal(0); - return dataGrid; - } - - //鏌ヨ妯℃澘瀵硅薄 - CodeClstemplateEntity codeClassifyTemplateDO = codeClstemplateMapper.selectById(templateAttrOid); - - //杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬� - List<CodeOsbtmtypeattributeVO> boAttrs = (List<CodeOsbtmtypeattributeVO>) codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId());// this.btmService.listAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId()); -// codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId()); -// BeanUtils.copyProperties(codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId()),boAttrs); - //鎶婇粯璁ょ殑灞炴�т篃娣诲姞鍒癰oAttrs - if(boAttrs == null){ - boAttrs = new ArrayList<>(); - } - if(!false){ -// List<CodeOsbtmtypeattributeVO> finalBoAttrs = boAttrs; -// attributeService.getDefaultAttributeVOs().stream().forEach(attr-> { -// CodeOsbtmtypeattributeVO attributeVO = new CodeOsbtmtypeattributeVO(); -// BeanUtil.convert(attr, attributeVO); -// if ("id".equalsIgnoreCase(attributeVO.getId())) { -// attributeVO.setName("浼佷笟缂栫爜"); -// } -// if ("name".equalsIgnoreCase(attributeVO.getId())) { -// attributeVO.setName("闆嗗洟鐮�"); -// } -// attributeVO.setAttrDataType(attr.getAttributeDataType()); -// attributeVO.setAttributeLength(attr.getAttrLength()); -// attributeVO.setReferBtmTypeId(attr.getBtmTypeId()); -// attributeVO.setReferBtmTypeName(attr.getBtmTypeName()); -// finalBoAttrs.add(attributeVO); -// }); -// boAttrs = finalBoAttrs; - Object o = null; - } - - //杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬� -// VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); -// queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid); - Map<String,Object> condition = new HashMap<>(1); - condition.put("CLASSIFYTEMPLATEOID",templateAttrOid); - List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = codeClstempattrMapper.selectByMap(condition); - - List<String> btmOids = new ArrayList<String>(); - for (CodeClstempattrEntity codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){ - btmOids.add(codeClassifyTemplateAttrDO.getId()); - } - - //杩囨护鎺夊凡缁忓瓨鍦ㄧ殑灞炴�� - List<CodeOsbtmtypeattributeVO> boAttrss = new ArrayList<CodeOsbtmtypeattributeVO>(); - - for (CodeOsbtmtypeattributeVO osBtmTypeAttributeVO:boAttrs){ - if(!btmOids.contains(osBtmTypeAttributeVO.getId())){ - //鐪嬬湅鏄笉鏄湁妯$硦鏌ヨ - boolean inSearch = true; - if(StringUtils.isNotBlank(name) && !osBtmTypeAttributeVO.getName().contains(name.replace("*",""))){ - inSearch = false; - } - if(StringUtils.isNotBlank(id) && !osBtmTypeAttributeVO.getId().contains(id.replace("*",""))){ - inSearch = false; - } - if(inSearch) { - boAttrss.add(osBtmTypeAttributeVO); - } - } - } - dataGrid.setData(boAttrss); - dataGrid.setTotal(boAttrss.size()); - return dataGrid; - } - - - - /** - * 鏌ヨ杩欎釜妯℃澘锛屼笟鍔$被鍨嬩笅宸查�夋嫨鐨勫睘鎬� - * @param baseQueryObject - * @return - */ - @Override - public DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtmHave(BaseQueryObject baseQueryObject){ - DataGrid<CodeOsbtmtypeattributeVO> dataGrid=new DataGrid<CodeOsbtmtypeattributeVO>(); - //妯℃澘oid - String templateAttrOid = baseQueryObject.getConditionMap().get("oid"); - - //娌℃湁oid涓嶆墽琛岄�昏緫 - if(StringUtils.isBlank(templateAttrOid)){ - dataGrid.setData(new ArrayList<>()); - dataGrid.setTotal(0); - return dataGrid; - } - - //鏌ヨ妯℃澘瀵硅薄 - CodeClstemplateEntity codeClassifyTemplateDO = codeClstemplateMapper.selectById(templateAttrOid); - - //杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬� - List<CodeOsbtmtypeattributeVO> boAttrs = (List<CodeOsbtmtypeattributeVO>) codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId());//this.btmService.listAttributeByBtmIdHasDefault(codeClassifyTemplateDO.getBtmTypeId()); -// codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId()); -// BeanUtils.copyProperties(codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId()),boAttrs); - //杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬� - //鎶婇粯璁ょ殑灞炴�т篃娣诲姞鍒癰oAttrs - if(boAttrs == null){ - boAttrs = new ArrayList<>(); - } -// VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); -// queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid); - -// Map<String,Object> condition = new HashMap<>(1); -// condition.put("CLASSIFYTEMPLATEOID",templateAttrOid); - - QueryWrapper<CodeClstempattrEntity> wrapper=new QueryWrapper<>(); - wrapper.eq("CLASSIFYTEMPLATEOID",templateAttrOid); - - List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = codeClstempattrMapper.selectList(wrapper); - List<String> btmOids = new ArrayList<String>(); - for (CodeClstempattrEntity codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){ - btmOids.add(codeClassifyTemplateAttrDO.getId()); - } - - //杩囨护鎺夐櫎浜嗚嚜韬殑鍒殑灞炴�� - List<CodeOsbtmtypeattributeVO> boAttrss = new ArrayList<CodeOsbtmtypeattributeVO>(); - - for (CodeOsbtmtypeattributeVO osBtmTypeAttributeVO:boAttrs){ - if(btmOids.contains(osBtmTypeAttributeVO.getId())){ - boAttrss.add(osBtmTypeAttributeVO); - } - } - dataGrid.setData(boAttrss); - dataGrid.setTotal(boAttrss.size()); - return dataGrid; - } - - - /** - * 鍚屾鍒板叾浠栨ā鏉� - * @param codeClassifyTemplateAttrDTO oid - * @return - */ - @Override - public R copyto(CodeClstempattrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ - - String templateAttrOid = codeClassifyTemplateAttrDTO.getOid(); - - //鏌ヨ鍑烘潵瑕佸鍒剁殑瀵硅薄 - CodeClstempattrEntity codeClassifyTemplateAttrDO = selectByOid(templateAttrOid); - String id = codeClassifyTemplateAttrDO.getId();//鑻辨枃鍚嶇О - String classfyTemplateOid = codeClassifyTemplateAttrDO.getClassifytemplateoid(); - - //鏌ヨ鍏朵粬id=id鐨勬ā鏉垮睘鎬� -// VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); -// queryWrapper.addQueryMap("id",id); -// Map<String,Object> condition = new HashMap<>(1); -// condition.put("id",id); - QueryWrapper<CodeClstempattrEntity> wrapper=new QueryWrapper<>(); - wrapper.eq("id",id); - //鎵�鏈塱d=id鐨勬ā鏉垮睘鎬� - List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList =codeClstempattrMapper.selectList(wrapper); - - //瑕佸垹闄ょ殑妯℃澘灞炴�х殑oids - List<String> deleteOids = new ArrayList<String>(); - //瑕佷慨鏀圭殑妯℃澘灞炴�у璞� - List<CodeClstempattrEntity> codeClassifyTemplateAttrDOListInsert = new ArrayList<CodeClstempattrEntity>(); - for (CodeClstempattrEntity codeClassifyTemplateAttrDOi:codeClassifyTemplateAttrDOList){ - String oid = codeClassifyTemplateAttrDOi.getOid(); - String templateOldOid = codeClassifyTemplateAttrDOi.getClassifytemplateoid(); - - CodeClstempattrEntity codeClassifyTemplateAttrDOInsert = new CodeClstempattrEntity(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,codeClassifyTemplateAttrDOInsert); - codeClassifyTemplateAttrDOInsert.setOid(oid); - codeClassifyTemplateAttrDOInsert.setClassifytemplateoid(templateOldOid); - codeClassifyTemplateAttrDOListInsert.add(codeClassifyTemplateAttrDOInsert); - - deleteOids.add(codeClassifyTemplateAttrDOi.getOid()); - } - -// WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛� - - //鍒犻櫎 -// BatchCBO batchCBOTemplateAttrDelete = codeClassifyTemplateAttrDOissifyTemplateAttrMapper.batchDeleteByOids(deleteOids); - codeClstempattrMapper.deleteBatchIds(deleteOids); - //鍐嶆柊澧� -// BatchCBO batchCBOTemplateAttrInsert = codeClassifyTemplateAttrMapper.batchInsert(codeClassifyTemplateAttrDOListInsert); -// batchCBOTemplateAttrDelete.copyFromOther(batchCBOTemplateAttrInsert); - this.saveBatch(codeClassifyTemplateAttrDOListInsert); - -// WebUtil.setPersistence(true);//鎵ц淇濆瓨 -// boService.persistenceBatch(batchCBOTemplateAttrDelete);//涓�璧锋墽琛屼繚瀛� - - return R.success("鎿嶄綔鎴愬姛锛�"); } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java index 1271459..c2f8b5e 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java @@ -20,37 +20,36 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.dto.CodeClstemplateDTO; -import com.vci.ubcs.code.entity.*; +import com.vci.ubcs.code.entity.CodeClstempattrEntity; +import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.enumpack.CodeClassifyTemplateLC; import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; -import com.vci.ubcs.code.mapper.*; -import com.vci.ubcs.code.service.ICodeClassifyService; +import com.vci.ubcs.code.mapper.CodeClstempattrMapper; +import com.vci.ubcs.code.mapper.CodeClstemplateMapper; import com.vci.ubcs.code.service.ICodeClstemplateService; import com.vci.ubcs.code.vo.CodeClstempattrVO; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.model.TreeQueryObject; + + import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; -import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; -import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.*; import java.util.stream.Collectors; -import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.*; +import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_RELEASED; +import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.LC_STATUS; import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*; import static com.vci.ubcs.code.service.impl.CodeClassifyServiceImpl.PARENT_FIELD_NAME; @@ -84,23 +83,6 @@ private CodeTempbuttonServiceImpl codeTempbuttonServiceImpl; @Autowired(required = false) private CodeClsflowtempServiceImpl codeClsflowtempServiceImpl; - @Autowired(required = false) - private CodeClsflowtempMapper codeClsflowtempMapper; - @Autowired(required = false) - private CodeTempphaseMapper codeTempphaseMapper; - @Autowired(required = false) - private CodeTempbuttonMapper codeTempbuttonMapper; - @Autowired(required = false) - private CodePhaseattrMapper codePhaseattrMapper; - @Autowired(required = false) - private ICodeClassifyService codeClassifyService; - @Autowired(required = false) - private CodeClstemplateMapper codeClstemplateMapper; - @Autowired(required = false) - private CodePhaseattrServiceImpl codePhaseattrServiceImpl; - - - @Override public IPage<CodeClstemplateVO> selectPlCodeClstemplatePage(IPage<CodeClstemplateVO> page, CodeClstemplateVO plCodeClstemplate) { return page.setRecords(baseMapper.selectPlCodeClstemplatePage(page, plCodeClstemplate)); @@ -137,12 +119,8 @@ // VciParentQueryOption parentQueryOption = new VciParentQueryOption(); // parentQueryOption.setParentFieldName(PARENT_FIELD_NAME); // queryWrapperForDO.parentQueryChild(treeQueryObject,parentQueryOption); -// CodeClstemplateEntity codeClstemplateEntity = new CodeClstemplateEntity(); -// codeClstemplateEntity.set - return baseMapper.selectCodeClassifyTemplateDOByTree( - treeQueryObject.getConditionMap().get("codeclassifyoid"), - treeQueryObject.getConditionMap().get("lcStatus")); -// return baseMapper.selectList(Condition.getQueryWrapper(codeClstemplateEntity)); + CodeClstemplateEntity codeClstemplateEntity = new CodeClstemplateEntity(); + return baseMapper.selectList(Condition.getQueryWrapper(codeClstemplateEntity)); // return codeClassifyTemplateMapper.selectByWrapper(queryWrapperForDO); } @@ -232,20 +210,19 @@ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClstemplateDTO,codeClassifyTemplateDOCopyFromDTO); //妫�鏌s -// Map<String,Object> condition = new HashMap<>(2); -// condition.put("oid",codeClstemplateDTO.getOid()); -// condition.put("ts",codeClstemplateDTO.getTs()); + Map<String,Object> condition = new HashMap<>(2); + condition.put("oid",codeClstemplateDTO.getOid()); + condition.put("ts",codeClstemplateDTO.getTs()); CodeClstemplateEntity detail = baseMapper - .selectById(codeClstemplateDTO.getOid()); - - if(!detail.getTs().toString().equals(codeClstemplateDTO.getTs().toString())){//涓嶆槸鏈�鏂扮殑涓嶈鏀� + .selectOne(Condition.getQueryWrapper(condition,CodeClstemplateEntity.class)); + if(detail == null){//涓嶆槸鏈�鏂扮殑涓嶈鏀� return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); } //鏍¢獙涓嬬骇鏄惁鏈夊紩鐢� if(checkChildIsLinked(codeClstemplateEntity.getOid())){ return R.fail(DATA_CASCADE_LINKED_NOT_DELETE); } - return R.success(String.valueOf(checkHasChild(codeClstemplateEntity.getOid()))); + return R.status(checkHasChild(codeClstemplateEntity.getOid())); } /** @@ -296,7 +273,6 @@ * @param codeClstemplateDTO 鍒嗙被妯℃澘瀵硅薄鏁版嵁浼犺緭瀵硅薄锛宱id鍜宼s闇�瑕佷紶杈� * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� */ - @Transactional @Override public R deleteCodeClassifyTemplate(CodeClstemplateDTO codeClstemplateDTO) { checkIsCanDelete(codeClstemplateDTO); @@ -386,8 +362,8 @@ * 鍙傜収鏍� 鍒嗙被妯℃澘瀵硅薄 * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄 * @return 鍒嗙被妯℃澘瀵硅薄鏄剧ず鏍� + * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ - @Transactional @Override public List<Tree> referTree(TreeQueryObject treeQueryObject) { if(treeQueryObject == null){ @@ -442,7 +418,6 @@ * @param lcStatus * @return */ - @Transactional @Override public R updateLcStatus( String oid, String lcStatus){ CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(oid); @@ -465,7 +440,6 @@ * 鍗囩増 * @param codeClassifyDTO */ - @Transactional @Override public R Upgrade(CodeClstemplateDTO codeClassifyDTO) { @@ -480,95 +454,93 @@ //闇�瑕佹柊澧炵殑鍗囩骇妯℃澘 // ClientBusinessObject clientBusinessObject_template = boService.selectCBOByOid(codeClassifyDTO.getOid(), "codeclstemplate"); CodeClstemplateEntity codeCls_template = baseMapper.selectById(templateOldOid); - CodeClstemplateEntity codeCls_template_insert = new CodeClstemplateEntity(); + CodeClstemplateEntity codeCls_template_insert = null; // ClientBusinessObject clientBusinessObject_template_insert = null; // try { -// clientBusinessObject_template_insert = clientBusinessObjectOperation.reviseBusinessObject(clientBusinessObject_template, ""); - codeCls_template_insert.setOid(VciBaseUtil.getPk()); - codeCls_template_insert.setRevisionOid(VciBaseUtil.getPk()); - codeCls_template_insert.setNameOid(codeCls_template.getNameOid()); - codeCls_template_insert.setBtmname(codeCls_template.getBtmname()); - codeCls_template_insert.setLastR(String.valueOf(1)); - codeCls_template_insert.setFirstR(String.valueOf(0)); - codeCls_template_insert.setFirstV(String.valueOf(1)); - codeCls_template_insert.setLastV(String.valueOf(1)); - codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName()); - codeCls_template_insert.setCreateTime(new Date()); - codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName()); - codeCls_template_insert.setLastModifyTime(new Date()); - codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule()); - codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule()); - Map rvObj = baseMapper.getNextRevision(codeCls_template.getNameOid()); - codeCls_template_insert.setRevisionSeq(Integer.parseInt(rvObj.get("REVISIONSEQ").toString())); - codeCls_template_insert.setRevisionValue(rvObj.get("REVISIONVAL").toString()); +//// clientBusinessObject_template_insert = clientBusinessObjectOperation.reviseBusinessObject(clientBusinessObject_template, ""); +//// codeCls_template_insert.setOid((new ObjectUtility()).getNewObjectID36()); +//// toBo.setRevisionid((new ObjectUtility()).getNewObjectID36()); +// codeCls_template_insert.setNameOid(codeCls_template.getNameOid()); +// codeCls_template_insert.setBtmname(codeCls_template.getBtmname()); +//// codeCls_template_insert.setIsLast(1); +//// codeCls_template_insert.setIsFirstr(0); +//// codeCls_template_insert.setIsFirstv(1); +//// codeCls_template_insert.setIsLastV(1); +// codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName()); +// codeCls_template_insert.setCreateTime(new Date()); +// codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName()); +// codeCls_template_insert.setLastModifyTime(new Date()); +// codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule()); +// codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule()); +// RevisionValueObject rvObj = this.getNextRevision(fromBo.getBtmName(), fromBo.getNameoid(), item.revRuleName, item.revInput, revisionVal); +// codeCls_template_insert.setRevisionSeq(rvObj.getRevisionSeq()); +// codeCls_template_insert.setRevisionValue(rvObj.getRevisionVal()); // VersionValueObject versionObj = this.getVersionValue(item.verRuleName); - codeCls_template_insert.setVersionSeq(Integer.parseInt(rvObj.get("VERSIONSEQ").toString())); - codeCls_template_insert.setVersionValue(rvObj.get("VERSIONVAL").toString()); - codeCls_template_insert.setLctid(codeCls_template.getLctid()); - codeCls_template_insert.setLcStatus("Editing"); - codeCls_template_insert.setId(codeCls_template.getId()); - codeCls_template_insert.setName(codeCls_template.getName()); - codeCls_template_insert.setDescription(codeCls_template.getDescription()); - codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName()); -// codeCls_template_insert.setCheckinBy(userName); - codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid()); +// codeCls_template_insert.setVersionSeq(versionObj.getVersionSeq()); +// codeCls_template_insert.setVersionValue(versionObj.getVersionVal()); +// codeCls_template_insert.setLctId(codeCls_template.getLctId()); +// codeCls_template_insert.setLcStatus(this.getLcFirstStatus(item.lifeCycle)); +// codeCls_template_insert.setId(codeCls_template.getId()); +// codeCls_template_insert.setName(codeCls_template.getName()); +// codeCls_template_insert.setDescription(codeCls_template.getDescription()); +// codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName()); +//// codeCls_template_insert.setCheckinBy(userName); +// codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid()); // }catch (VCIError e){ // e.printStackTrace(); // logger.error("===============>鍒嗙被妯℃澘-鍗囩増澶嶅埗鍑洪敊oid锛� "+templateOldOid+",mes"+e.error_message); // return BaseResult.error("鍗囩増鍑洪敊"); // } - int insertCount = baseMapper.insert(codeCls_template_insert); -// CodeClstemplateEntity codeClassifyTemplateDO = new CodeClstemplateEntity(); +// +// +// CodeClassifyTemplateDO codeClassifyTemplateDO = new CodeClassifyTemplateDO(); // BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyDTO,codeClassifyTemplateDO); // WebUtil.copyValueToObjectFromCbos(clientBusinessObject_template_insert,codeClassifyTemplateDO); - //modify by weidy@2022-2-27 - //鍗囩増鍚庝笉鑳戒娇鐢╥nsert鏂规硶锛屽洜涓洪偅涓案杩滄槸鏂板涓�鏉℃暟鎹紝 - //涓婃柟鍏堜粠dto杞粰do锛岀劧鍚庢妸鍗囩増鐨勫垵濮嬪寲鐨勫睘鎬ф嫹璐濈粰do锛屾渶鍚庡啀浠巇o鎷疯礉鍒癱bo涓� +// //modify by weidy@2022-2-27 +// //鍗囩増鍚庝笉鑳戒娇鐢╥nsert鏂规硶锛屽洜涓洪偅涓案杩滄槸鏂板涓�鏉℃暟鎹紝 +// //涓婃柟鍏堜粠dto杞粰do锛岀劧鍚庢妸鍗囩増鐨勫垵濮嬪寲鐨勫睘鎬ф嫹璐濈粰do锛屾渶鍚庡啀浠巇o鎷疯礉鍒癱bo涓� // WebUtil.copyValueToCboFromObj(clientBusinessObject_template_insert,codeClassifyTemplateDO); - //鍗囩増杩囧悗鐨勬ā鏉縪id - String templateNewOid = codeCls_template_insert.getOid(); - - //闇�瑕佸鍒剁殑妯℃澘灞炴�� - //鏌ヨ鑰佹ā鏉夸笅杈圭殑鎵�鏈夊睘鎬э紝璧嬪�兼柊妯℃澘oid +// //鍗囩増杩囧悗鐨勬ā鏉縪id +// String templateNewOid = codeClassifyTemplateDO.getOid(); +// +// //闇�瑕佸鍒剁殑妯℃澘灞炴�� +// //鏌ヨ鑰佹ā鏉夸笅杈圭殑鎵�鏈夊睘鎬э紝璧嬪�兼柊妯℃澘oid // VciQueryWrapperForDO codeClassifyTemplateAttrQuery = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); // codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid); - Map<String,Object> condition = new HashMap<>(1); - condition.put("classifyTemplateOid",templateOldOid); - List<CodeClstempattrEntity> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition); // List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery); - for (CodeClstempattrEntity codeClassifyTemplateAttrDO :codeClstempattrEntities){ +// for (CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO :codeClassifyTemplateAttrDOList){ // String attrOid = VciBaseUtil.getPk(); - codeClassifyTemplateAttrDO.setOid(null); - codeClassifyTemplateAttrDO.setClassifytemplateoid(templateNewOid); - codeClstempattrMapper.insert(codeClassifyTemplateAttrDO); - } - - //澶嶅埗妯℃澘娴佺▼ - List<CodeClsflowtempEntity> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid); - //澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬� - Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid); - - List<CodeTempphaseEntity> codeClassifyPhaseDOList = (ArrayList<CodeTempphaseEntity>)phase_attrMap.get("phase");//妯℃澘闃舵 - List<CodePhaseattrEntity> codePhaseAttrDOList = (ArrayList<CodePhaseattrEntity>)phase_attrMap.get("phaseAttr");//闃舵灞炴�� - - //澶嶅埗妯℃澘鎸夐挳 - List<CodeTempbuttonEntity> codeClassifyTemplateButtonDOList = copyTemplateButton(templateOldOid,templateNewOid); - - //涓�璧蜂繚瀛樻暟鎹� +// codeClassifyTemplateAttrDO.setOid(attrOid); +// codeClassifyTemplateAttrDO.setClassifyTemplateOid(templateNewOid); +// } +// +// //澶嶅埗妯℃澘娴佺▼ +// List<CodeClassifyProcessTempDO> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid); +// +// //澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬� +// Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid); +// +// List<CodeTemplatePhaseDO> codeClassifyPhaseDOList = (ArrayList<CodeTemplatePhaseDO>)phase_attrMap.get("phase");//妯℃澘闃舵 +// List<CodePhaseAttrDO> codePhaseAttrDOList = (ArrayList<CodePhaseAttrDO>)phase_attrMap.get("phaseAttr");//闃舵灞炴�� +// +// //澶嶅埗妯℃澘鎸夐挳 +// List<CodeClassifyTemplateButtonDO> codeClassifyTemplateButtonDOList = copyTemplateButton(templateOldOid,templateNewOid); +// +// //涓�璧蜂繚瀛樻暟鎹� // WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛� - //淇濆瓨妯℃澘 +// //淇濆瓨妯℃澘 // BatchCBO batchCBOTemplate = new BatchCBO(); - //batchCBO淇濆瓨鐨勬椂鍊欐病鏈夎兘澶熻嚜鍔╱pdate婧愭暟鎹殑isLastR - //batchCBOTemplate.getCreateCbos().add(clientBusinessObject_template_insert); - //浣跨敤saveRevisionBuisnessObject鍙互瑙e喅杩欎釜闂锛岃繖閲屽厛鏆傛椂鎵ц涓ゆ淇濆瓨 +// //batchCBO淇濆瓨鐨勬椂鍊欐病鏈夎兘澶熻嚜鍔╱pdate婧愭暟鎹殑isLastR +// //batchCBOTemplate.getCreateCbos().add(clientBusinessObject_template_insert); +// //浣跨敤saveRevisionBuisnessObject鍙互瑙e喅杩欎釜闂锛岃繖閲屽厛鏆傛椂鎵ц涓ゆ淇濆瓨 // try { // clientBusinessObjectOperation.saveRevisionBuinessObject(clientBusinessObject_template_insert); // } catch (VCIError vciError) { // throw new VciBaseException("鍗囩増淇濆瓨鍑洪敊浜�",new String[0],vciError); // } - // end --modify by lihang @20220408 - //codeClassifyTemplateMapper.insert(codeClassifyTemplateDO); - //淇濆瓨妯℃澘灞炴�� +// // end --modify by lihang @20220408 +// //codeClassifyTemplateMapper.insert(codeClassifyTemplateDO); +// //淇濆瓨妯℃澘灞炴�� // if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOList)){ // BatchCBO batchCBOTemplateAttr = codeClassifyTemplateAttrDaoI.batchInsert(codeClassifyTemplateAttrDOList); // batchCBOTemplate.copyFromOther(batchCBOTemplateAttr); @@ -600,432 +572,8 @@ // WebUtil.setPersistence(true);//鎵ц淇濆瓨 // // boService.persistenceBatch(batchCBOTemplate);//涓�璧锋墽琛屼繚瀛� - +// // return BaseResult.success("鍗囩増鎴愬姛锛�"); return R.success("鍗囩増鎴愬姛锛�"); - } - - @Override - @Transactional - public R copyTemplate(CodeClstemplateDTO codeClassifyDTO) { - //鏃х殑妯℃澘oid - String oldOid = codeClassifyDTO.getOid(); - //鏂扮殑妯℃澘oid - String newOid = VciBaseUtil.getPk(); - //鍒嗙被oid,澶嶅埗杩囨潵鐨勬柊鐨勫垎绫籵id - String codeClassifyOid = codeClassifyDTO.getCodeClassifyOid(); - - //澶嶅埗妯℃澘 - CodeClstemplateEntity codeClassifyTemplateDO_old = baseMapper.selectById(oldOid);//鏃фā鏉� - - //楠岃瘉锛屼笟鍔$被鍨嬫槸涓嶆槸涓�鑷� - CodeClassify codeClassifyDO_old = codeClassifyService.selectBtmOrParentBtm(codeClassifyTemplateDO_old.getCodeClassifyOid()); - if(codeClassifyDO_old==null){ - return R.fail("澶嶅埗鐨勬ā鏉挎墍灞炲垎绫讳互鍙婁笂绾ф病鏈変笟鍔$被鍨嬶紝璇烽噸鏂伴�夋嫨!"); - } - - //鎵惧綋鍓嶅垎绫讳笅鐨勪笟鍔$被鍨� - CodeClassify codeClassifyDO_new = codeClassifyService.selectBtmOrParentBtm(codeClassifyOid); - if(codeClassifyDO_new==null){ - return R.fail("褰撳墠鍒嗙被娌℃湁涓氬姟绫诲瀷锛岃閲嶆柊閫夋嫨!"); - } - - if(!codeClassifyDO_old.getBtmTypeId().equals(codeClassifyDO_new.getBtmTypeId())){ - return R.fail("閫夋嫨鐨勫垎绫诲拰褰撳墠鍒嗙被涓氬姟绫诲瀷涓嶄竴鑷达紝璇烽噸鏂伴�夋嫨!"); - } - - codeClassifyTemplateDO_old.setId(codeClassifyDTO.getId());//鑻辨枃鍚嶇О - codeClassifyTemplateDO_old.setName(codeClassifyDTO.getName());//涓枃鍚嶇О - codeClassifyTemplateDO_old.setDescription(codeClassifyDTO.getDescription());//鎻忚堪 - codeClassifyTemplateDO_old.setCodeClassifyOid(codeClassifyOid);//鍒嗙被oid - codeClassifyTemplateDO_old.setOid(newOid); - List<CodeClstemplateEntity> codeClassifyTemplateDOList = new ArrayList<CodeClstemplateEntity>(); - codeClassifyTemplateDOList.add(codeClassifyTemplateDO_old); - - //澶嶅埗妯℃澘灞炴�� - List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = copyTemplateAttr(oldOid,newOid); - - //澶嶅埗妯℃澘娴佺▼ - List<CodeClsflowtempEntity> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid); - - //澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬� - Map phase_attrMap = copyTemplatePhase_attr(oldOid,newOid); - - List<CodeTempphaseEntity> codeClassifyPhaseDOList = (ArrayList<CodeTempphaseEntity>)phase_attrMap.get("phase");//妯℃澘闃舵 - List<CodePhaseattrEntity> codePhaseAttrDOList = (ArrayList<CodePhaseattrEntity>)phase_attrMap.get("phaseAttr");//闃舵灞炴�� - - //澶嶅埗妯℃澘鎸夐挳 - List<CodeTempbuttonEntity> codeClassifyTemplateButtonDOList = copyTemplateButton(oldOid,newOid); - -// baseMapper.insert(codeClassifyTemplateDOList); - this.saveBatch(codeClassifyTemplateDOList); - codeTempbuttonServiceImpl.saveBatch(codeClassifyTemplateButtonDOList); - codeClsflowtempServiceImpl.saveBatch(codeClassifyProcessTempDOList); - codeClstempattrService.saveBatch(codeClassifyTemplateAttrDOList); - codeTempphaseServiceImpl.saveBatch(codeClassifyPhaseDOList); - codePhaseattrServiceImpl.saveBatch(codePhaseAttrDOList); - //涓�璧蜂繚瀛樻暟鎹� -// WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛� -// //淇濆瓨妯℃澘 -// BatchCBO batchCBOTemplate = codeClassifyTemplateMapper.batchInsert(codeClassifyTemplateDOList); -// //淇濆瓨妯℃澘灞炴�� -// if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOList)) { -// BatchCBO batchCBOTemplateAttr = codeClassifyTemplateAttrDaoI.batchInsert(codeClassifyTemplateAttrDOList); -// batchCBOTemplate.copyFromOther(batchCBOTemplateAttr); -// } -// -// //淇濆瓨妯℃澘娴佺▼ -// if(!CollectionUtils.isEmpty(codeClassifyProcessTempDOList)) { -// BatchCBO batchCBOTemplateProcessAttr = codeClassifyProcessTempDaoI.batchInsert(codeClassifyProcessTempDOList); -// batchCBOTemplate.copyFromOther(batchCBOTemplateProcessAttr); -// } -// -// //妯℃澘闃舵 -// if(!CollectionUtils.isEmpty(codeClassifyPhaseDOList)) { -// BatchCBO batchCBOTemplatePhaseAttr = codeTemplatePhaseDaoI.batchInsert(codeClassifyPhaseDOList); -// batchCBOTemplate.copyFromOther(batchCBOTemplatePhaseAttr); -// } -// -// //妯℃澘闃舵灞炴�� -// if(!CollectionUtils.isEmpty(codePhaseAttrDOList)) { -// BatchCBO batchCBOTemplatePhaseAttrAttr = codePhaseAttrDaoI.batchInsert(codePhaseAttrDOList); -// batchCBOTemplate.copyFromOther(batchCBOTemplatePhaseAttrAttr); -// } -// -// //妯℃澘鎸夐挳 -// if(!CollectionUtils.isEmpty(codeClassifyTemplateButtonDOList)) { -// BatchCBO batchCBOTemplateButtonAttr = codeClassifyTemplateButtonDaoI.batchInsert(codeClassifyTemplateButtonDOList); -// batchCBOTemplate.copyFromOther(batchCBOTemplateButtonAttr); -// } -// -// -// WebUtil.setPersistence(true);//鎵ц淇濆瓨 -// -// boService.persistenceBatch(batchCBOTemplate);//涓�璧锋墽琛屼繚瀛� - return R.success("澶嶅埗鎴愬姛锛�"); - } - - - private HashMap<String,Object> getVersionValue(int verRuleName) { - HashMap<String,Object> obj = new HashMap<>(2); - obj.put("VersionSeq",1); - if (verRuleName == 0) { - obj.put("VersionVal","1"); - } else if (verRuleName == 1) { - obj.put("VersionVal","a"); - } else if (verRuleName == 2) { - obj.put("VersionVal","0"); - } - - return obj; - } - - /** - * 澶嶅埗妯℃澘娴佺▼ - */ - public List<CodeClsflowtempEntity> copyTemplateProcess(String templateOldOid,String templateNewOid){ -// VciQueryWrapperForDO processWrapper = new VciQueryWrapperForDO(CodeClassifyProcessTempDO.class); -// processWrapper.addQueryMap("classifyTemplateOid",templateOldOid); - Map<String,Object> condition = new HashMap<>(1); - condition.put("classifyTemplateOid",templateOldOid); - List<CodeClsflowtempEntity> codeClsflowtempEntities = codeClsflowtempMapper.selectByMap(condition); -// List<CodeClassifyProcessTempDO> codeClassifyProcessTempDOList = codeClassifyProcessTempDaoI.selectByWrapper(processWrapper);//瑕佷繚瀛樼殑鏂扮殑妯℃澘娴佺▼ - for (CodeClsflowtempEntity codeClassifyProcessTempDO:codeClsflowtempEntities){ -// String newOid = VciBaseUtil.getPk(); - codeClassifyProcessTempDO.setOid(null); - //codeClassifyProcessTempDO.setCodeClassifyOid(templateNewOid); - codeClassifyProcessTempDO.setClassifytemplateoid(templateNewOid); -// codeClsflowtempMapper.insert(codeClassifyProcessTempDO); - //modify by lihang - @20220406 璁剧疆妯℃澘涓婚敭浣嶇疆鍑洪敊锛屽鑷村崌鐗堢殑妯℃澘涓殑娴佺▼鏄┖鐨勩�� - } - return codeClsflowtempEntities; - } - - - /** - * 澶嶅埗妯℃澘闃舵锛屾ā鏉垮睘鎬� - * @param templateOldOid - * @param templateNewOid - * @return map phase:(List<CodeTemplatePhaseDO>) phaseAttr:(List<CodePhaseAttrDO>) - */ - public Map copyTemplatePhase_attr(String templateOldOid,String templateNewOid){ - //妯℃澘闃舵 -// VciQueryWrapperForDO phaseWrapper = new VciQueryWrapperForDO(CodeTemplatePhaseDO.class); -// phaseWrapper.addQueryMap("codeClassifyTemplateOid",templateOldOid); - Map<String,Object> condition = new HashMap<>(1); - condition.put("codeclassifyTemplateOid",templateOldOid); - List<CodeTempphaseEntity> codeTempphaseEntities = codeTempphaseMapper.selectByMap(condition); -// List<CodeTemplatePhaseDO> codeClassifyPhaseDOList = codeTemplatePhaseDaoI.selectByWrapper(phaseWrapper);//瑕佷繚瀛樼殑鏂扮殑妯℃澘娴佺▼ - Map<String,String> phaseKeyMap = new HashMap<String,String>();//闇�瑕佸鍒剁殑妯℃澘闃舵灞炴��,key:value,妯℃澘闃舵鑰乷id:妯℃澘灞炴�ф柊oid - List<String> phaseOidList = new ArrayList<String>(); - for (CodeTempphaseEntity codeTemplatePhaseDO:codeTempphaseEntities){ - String oldoid = codeTemplatePhaseDO.getOid(); - String newOid = VciBaseUtil.getPk(); - codeTemplatePhaseDO.setOid(newOid); - codeTemplatePhaseDO.setCodeclassifytemplateoid(templateNewOid); - phaseKeyMap.put(oldoid,newOid); - phaseOidList.add(oldoid); - } - - //妯℃澘闃舵鐨勫睘鎬� - List<CodePhaseattrEntity> codePhaseAttrDOList = new ArrayList<CodePhaseattrEntity>(); - - if(!CollectionUtils.isEmpty(phaseOidList)){//size()==0涓嬭竟鏂规硶浼氭姤閿� -// Map<String,String> conditionMap = new HashMap<>(); -// conditionMap.put("codephaseoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(phaseOidList.toArray(new String[0])) + ")"); -// codePhaseAttrDOList = codePhaseAttrDaoI.selectByCondition(conditionMap,new PageHelper(-1)); - codePhaseAttrDOList = codePhaseattrMapper.selectByPhaseaIds(VciBaseUtil.toInSql(phaseOidList.toArray(new String[0]))); - } - for (CodePhaseattrEntity codePhaseAttrDO:codePhaseAttrDOList){ - String oldPhaseoid = codePhaseAttrDO.getCodephaseoid(); -// String newOid = VciBaseUtil.getPk(); - codePhaseAttrDO.setOid(null); - codePhaseAttrDO.setCodephaseoid(phaseKeyMap.get(oldPhaseoid)); -// codePhaseattrMapper.insert(codePhaseAttrDO); - } - Map phaseMap = new HashMap(); - phaseMap.put("phase",codeTempphaseEntities); - phaseMap.put("phaseAttr",codePhaseAttrDOList); - return phaseMap; - } - - /** - * 澶嶅埗妯℃澘鎸夐挳 - */ - public List<CodeTempbuttonEntity> copyTemplateButton(String templateOldOid,String templateNewOid){ - - Map<String,Object> condition = new HashMap<>(1); - condition.put("classifyTemplateOid",templateOldOid); -// VciQueryWrapperForDO buttonWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateButtonDO.class); -// buttonWrapper.addQueryMap("classifyTemplateOid",templateOldOid); - List<CodeTempbuttonEntity> codeTempbuttonEntities = codeTempbuttonMapper.selectByMap(condition); -// List<CodeClassifyTemplateButtonDO> codeClassifyTemplateButtonDOList = codeClassifyTemplateButtonDaoI.selectByWrapper(buttonWrapper); - for (CodeTempbuttonEntity codeClassifyTemplateButtonDO:codeTempbuttonEntities){ -// String newOid = VciBaseUtil.getPk(); - codeClassifyTemplateButtonDO.setOid(null); - codeClassifyTemplateButtonDO.setClassifytemplateoid(templateNewOid); - } - return codeTempbuttonEntities; - } - - - /** - * 澶嶅埗妯℃澘灞炴�� - */ - public List<CodeClstempattrEntity> copyTemplateAttr(String templateOldOid,String templateNewOid){ - -// VciQueryWrapperForDO codeClassifyTemplateAttrQuery = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); -// codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid); - - Map<String,Object> condition = new HashMap<>(1); - condition.put("classifyTemplateOid",templateOldOid); - -// List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery); - List<CodeClstempattrEntity> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition); - - for (CodeClstempattrEntity codeClassifyTemplateAttrDO :codeClstempattrEntities){ -// String attrOid = VciBaseUtil.getPk(); - codeClassifyTemplateAttrDO.setOid(null); - codeClassifyTemplateAttrDO.setClassifytemplateoid(templateNewOid); -// codeClstempattrMapper.insert(codeClassifyTemplateAttrDO); - } - return codeClstempattrEntities; - } - - - /** - * 鍒嗙被妯℃澘鍒楄〃 - * - * @param plCodeClstemplate 鏌ヨ鏉′欢 - * @param query 鍒嗛〉瀵硅薄 - * @return 鏄剧ず瀵硅薄 - * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(CodeClstemplateVO plCodeClstemplate, Query query) throws VciBaseException { - DataGrid<CodeClstemplateVO> dataGrid=new DataGrid<CodeClstemplateVO>(); - //娌℃湁浼犲垎绫籭d锛屼笉鎵ц鏌ヨ閫昏緫锛岀洿鎺ヨ繑鍥� -// if(conditionMap.size()==0){ -// dataGrid.setData(new ArrayList<>()); -// dataGrid.setTotal(0); -// return dataGrid; -// } -// if (pageHelper == null) { -// pageHelper = new PageHelper(-1); -// } -// pageHelper.addDefaultDesc("revisionSeq"); - - - - List<CodeClstemplateVO> doList = codeClstemplateMapper.selectPlCodeClstemplatePage(Condition.getPage(query), plCodeClstemplate); - if (!CollectionUtils.isEmpty(doList)) { -// QueryWrapper<CodeClstemplateVO> codeClstemplateVOQueryWrapper = new QueryWrapper<>(); -// codeClstemplateVOQueryWrapper.allEq(plCodeClstemplate); - List<CodeClstemplateEntity> codeClstemplateEntity = new ArrayList<>(); - BeanUtils.copyProperties(doList,codeClstemplateEntity); - dataGrid.setData(codeClassifyTemplateDO2VOs(codeClstemplateEntity)); - dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeClstemplateMapper.selectCount(Condition.getQueryWrapper(plCodeClstemplate))))); - } - return dataGrid; - } - - - /** - * 澧炲姞鍒嗙被妯℃澘瀵硅薄 - * @param codeClassifyTemplateDTO 鍒嗙被妯℃澘瀵硅薄鏁版嵁浼犺緭瀵硅薄 - * @return 鎵ц缁撴灉 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 - */ - @Override - public R<CodeClstemplateVO> addSave(CodeClstemplateDTO codeClassifyTemplateDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeClassifyTemplateDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄"); - //灏咲TO杞崲涓篋O - CodeClstemplateEntity codeClassifyTemplateDO = new CodeClstemplateEntity(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDTO,codeClassifyTemplateDO); - - //鏌ヨ鍒嗙被浠ュ強涓婄骇鍒嗙被鐨勪笟鍔$被鍨媌tmtypeid銆乥tmtypename - List<CodeClassify> codeClassifyDOList = codeClassifyService.selectAllLevelParents(codeClassifyTemplateDTO.getCodeClassifyOid()); - - //鎵�鏈夊垎绫婚兘娌℃湁涓氬姟绫诲瀷锛岃繑鍥炴彁绀� - if(codeClassifyDOList.size()==0){ - return R.fail("娣诲姞妯℃澘娣诲姞澶辫触,鍒嗙被鍜屼笂绾у垎绫婚兘娌℃湁鍏宠仈涓氬姟绫诲瀷锛�"); - } - - //璁剧疆btmtypeid鍜宯ame - CodeClassify codeClassifyDO = codeClassifyDOList.get(0); - codeClassifyTemplateDO.setBtmTypeId(codeClassifyDO.getBtmTypeId()); - codeClassifyTemplateDO.setBtmTypeName(codeClassifyDO.getBtmTypeName()); - codeClassifyTemplateDO.setLcStatus(FRAMEWORK_RELEASE_EDITING); - codeClassifyTemplateDO.setTs(new Date()); - codeClassifyTemplateDO.setOwner(AuthUtil.getUser().getUserName()); - codeClassifyTemplateDO.setLctid("codeClsTempLc"); - codeClassifyTemplateDO.setVersionValue("1"); - codeClassifyTemplateDO.setVersionSeq(1); - codeClassifyTemplateDO.setRevisionValue("1"); - codeClassifyTemplateDO.setRevisionSeq(1); - codeClassifyTemplateDO.setVersionRule("0"); - codeClassifyTemplateDO.setRevisionRule("numberversionrule"); - codeClassifyTemplateDO.setLastModifyTime(new Date()); - codeClassifyTemplateDO.setLastModifier(AuthUtil.getUser().getUserName()); - codeClassifyTemplateDO.setCreator(AuthUtil.getUser().getUserName()); - codeClassifyTemplateDO.setCreateTime(new Date()); - codeClassifyTemplateDO.setLastV("1"); - codeClassifyTemplateDO.setLastR("1"); - codeClassifyTemplateDO.setFirstV("1"); - codeClassifyTemplateDO.setFirstR("1"); - codeClassifyTemplateDO.setBtmname("codeclstemplate"); - - baseMapper.insert(codeClassifyTemplateDO); - //榛樿娣诲姞妯℃澘灞炴�� -// List<CodeClassifyTemplateAttrDO> attrDOList = new ArrayList<>(); - -// CodeClassifyTemplateAttrDO codeAttr = new CodeClassifyTemplateAttrDO(); -// codeAttr.setId("id"); -// codeAttr.setName("浼佷笟缂栫爜"); -// codeAttr.setAttributeDataType("VTString"); -// codeAttr.setAttrTableWidth(150); -// codeAttr.setOrderNum(1); -// codeAttr.setFormDisplayFlag(BooleanEnum.TRUE.getValue()); -// codeAttr.setTableDisplayFlag(BooleanEnum.TRUE.getValue()); -// codeAttr.setClassifyTemplateOid(codeClassifyTemplateDO.getOid()); -// attrDOList.add(codeAttr); -// -// -// CodeClassifyTemplateAttrDO groupAttr = new CodeClassifyTemplateAttrDO(); -// groupAttr.setId("name"); -// groupAttr.setName("闆嗗洟鐮�"); -// groupAttr.setAttributeDataType("VTString"); -// groupAttr.setAttrTableWidth(150); -// groupAttr.setOrderNum(2); -// groupAttr.setFormDisplayFlag(BooleanEnum.TRUE.getValue()); -// groupAttr.setTableDisplayFlag(BooleanEnum.TRUE.getValue()); -// groupAttr.setClassifyTemplateOid(codeClassifyTemplateDO.getOid()); -// attrDOList.add(groupAttr); -// -// CodeClassifyTemplateAttrDO descAttr = new CodeClassifyTemplateAttrDO(); -// descAttr.setId("description"); -// descAttr.setName("鎻忚堪"); -// descAttr.setAttrTableWidth(150); -// descAttr.setAttributeDataType("VTString"); -// descAttr.setOrderNum(3); -// descAttr.setFormDisplayFlag(BooleanEnum.TRUE.getValue()); -// descAttr.setTableDisplayFlag(BooleanEnum.TRUE.getValue()); -// descAttr.setClassifyTemplateOid(codeClassifyTemplateDO.getOid()); -// attrDOList.add(descAttr); -// -// CodeClassifyTemplateAttrDO statusAttr = new CodeClassifyTemplateAttrDO(); -// statusAttr.setId("lcstatus"); -// statusAttr.setName("鐘舵��"); -// statusAttr.setAttrTableWidth(70); -// statusAttr.setOrderNum(4); -// statusAttr.setFormDisplayFlag(BooleanEnum.TRUE.getValue()); -// statusAttr.setTableDisplayFlag(BooleanEnum.TRUE.getValue()); -// statusAttr.setAttributeDataType("VTString"); -// statusAttr.setClassifyTemplateOid(codeClassifyTemplateDO.getOid()); -// attrDOList.add(statusAttr); -// -// -// CodeClassifyTemplateAttrDO secAttr = new CodeClassifyTemplateAttrDO(); -// secAttr.setId("secretgrade"); -// secAttr.setName("瀵嗙骇"); -// secAttr.setAttrTableWidth(70); -// secAttr.setAttributeDataType(VciFieldTypeEnum.VTInteger.name()); -// secAttr.setEnumId("Enumsecretgrade"); -// secAttr.setEnumName("瀵嗙骇"); -// secAttr.setOrderNum(4); -// secAttr.setFormDisplayFlag(BooleanEnum.TRUE.getValue()); -// secAttr.setTableDisplayFlag(BooleanEnum.TRUE.getValue()); -// secAttr.setClassifyTemplateOid(codeClassifyTemplateDO.getOid()); -// attrDOList.add(secAttr); - - return R.data(codeClassifyTemplateDO2VO(codeClassifyTemplateDO)); - } - - /** - * 淇敼鍒嗙被妯℃澘瀵硅薄 - * @param codeClassifyTemplateDTO 鍒嗙被妯℃澘瀵硅薄鏁版嵁浼犺緭瀵硅薄 - * @return 鎵ц缁撴灉 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 - */ - @Override - public R editSave(CodeClstemplateDTO codeClassifyTemplateDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeClassifyTemplateDTO,"鏁版嵁瀵硅薄",codeClassifyTemplateDTO.getOid(),"鍒嗙被妯℃澘瀵硅薄涓婚敭"); - //妫�鏌s - CodeClstemplateEntity codeClassifyTemplateDOCopyFromDTO = new CodeClstemplateEntity(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDTO,codeClassifyTemplateDOCopyFromDTO); - CodeClstemplateEntity codeClassifyTemplateDO = null; - if(codeClassifyTemplateDOCopyFromDTO.getOid() == null){ - baseMapper.insert(codeClassifyTemplateDOCopyFromDTO); - return R.data(codeClassifyTemplateDOCopyFromDTO); - }else{ -// Map<String,Object> condition = new HashMap<>(2); -// condition.put("oid",codeClassifyTemplateDOCopyFromDTO.getOid()); -// condition.put("ts",codeClassifyTemplateDOCopyFromDTO.getTs()); - CodeClstemplateEntity detail = baseMapper - .selectById(codeClassifyTemplateDOCopyFromDTO.getOid()); - // boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOListemplateDOCopyFromDTO); - if(detail.getTs().compareTo(codeClassifyTemplateDOCopyFromDTO.getTs()) != 0){//涓嶆槸鏈�鏂扮殑涓嶈鏀� - return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); - } - - //灏咲TO杞崲涓篋O - codeClassifyTemplateDO = selectByOid(codeClassifyTemplateDTO.getOid()); - String lcstatus = codeClassifyTemplateDO.getLcStatus(); - String versionvalue = codeClassifyTemplateDO.getVersionValue(); - - //鍙湁缂栬緫涓墠鑳戒慨鏀� - if(!CodeClassifyTemplateLC.EDITING.getValue().equals(codeClassifyTemplateDO.getLcStatus())){ - return R.fail("鍙湁缂栬緫涓殑锛屾ā鏉挎墠鑳戒慨鏀癸紒"); - } - revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateDTO,codeClassifyTemplateDO); - //涓嶄慨鏀圭増鏈彿鍜岀姸鎬� - codeClassifyTemplateDO.setLcStatus(lcstatus); - codeClassifyTemplateDO.setVersionValue(versionvalue); - codeClassifyTemplateDO.setTs(new Date()); - codeClassifyTemplateDO.setLastModifier(AuthUtil.getUser().getUserName()); - codeClassifyTemplateDO.setLastModifyTime(new Date()); - baseMapper.updateById(codeClassifyTemplateDO); - } - return R.data(codeClassifyTemplateDO2VO(codeClassifyTemplateDO)); } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java index 5cd0156..07bd3f5 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java @@ -18,14 +18,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.vci.ubcs.code.entity.CodeClstempattrEntity; import com.vci.ubcs.code.entity.CodePhaseattrEntity; import com.vci.ubcs.code.entity.CodeTempphaseEntity; import com.vci.ubcs.code.mapper.CodePhaseattrMapper; import com.vci.ubcs.code.mapper.CodeTempphaseMapper; import com.vci.ubcs.code.service.ICodeTempphaseService; import com.vci.ubcs.code.vo.CodeTempphaseVO; -import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -47,8 +45,6 @@ @Autowired(required = false) private CodePhaseattrMapper codePhaseattrMapper; - @Autowired(required = false) - private CodePhaseattrServiceImpl codePhaseattrServiceImpl; @Override public IPage<CodeTempphaseVO> selectCodeTempphasePage(IPage<CodeTempphaseVO> page, CodeTempphaseVO CodeTempphase) { @@ -65,7 +61,7 @@ public int codeTemplateDeleteTrigger(String templateOid) { int updateCount = 0; Map<String,Object> condition = new HashMap<>(1); - condition.put("codeclassifytemplateoid",templateOid); + condition.put("classifyTemplateOid",templateOid); List<CodeTempphaseEntity> codeTempphaseEntities = baseMapper.selectByMap(condition); if(!CollectionUtils.isEmpty(codeTempphaseEntities)) { updateCount += baseMapper.deleteBatchIds(codeTempphaseEntities.stream().map(CodeTempphaseEntity::getOid).collect(Collectors.toList())); @@ -77,36 +73,6 @@ } } return updateCount; - } - /** - * 妯℃澘淇敼瑙﹀彂鍔熻兘 - * @param attrDOList 灞炴�х殑鏁版嵁瀵硅薄 - * @return 鍙楀奖鍝嶇殑鏁版嵁 - */ - @Override - public List<CodeClstempattrEntity> codeTemplateAttrModifyTrigger(List<CodeClstempattrEntity> attrDOList){ - //灞炴�т慨鏀圭殑鏃跺�欙紝闇�瑕佸悓姝ヤ慨鏀瑰搴斿睘鎬х殑鍚嶇О -// BatchCBO batchCBO = new BatchCBO(); - List<CodePhaseattrEntity> phaseAttrDOS =codePhaseattrMapper.listLinkAttrDOByTemplateAttrDOS(VciBaseUtil.toInSql(attrDOList.stream() - .map(CodeClstempattrEntity::getId).collect(Collectors.toList()).toArray(new String[0])),attrDOList.get(0).getClassifytemplateoid()); - if(!CollectionUtils.isEmpty(phaseAttrDOS)){ - //璇存槑鏈夊睘鎬�,鎴戜滑鍘绘浛鎹竴涓� - Map<String, CodeClstempattrEntity> attrDOMap = attrDOList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t)); - phaseAttrDOS.stream().forEach(phaseAttrDO->{ - if(attrDOMap.containsKey(phaseAttrDO.getId())){ - CodeClstempattrEntity attrDO = attrDOMap.get(phaseAttrDO.getId()); - phaseAttrDO.setId(attrDO.getId()); - phaseAttrDO.setName(attrDO.getName()); - phaseAttrDO.setAttributegroup(attrDO.getAttributegroup()); - } - }); -// codePhaseattrMapper. - codePhaseattrServiceImpl.saveBatch(phaseAttrDOS); -// BatchCBO updateCBO = -// codePhaseAttrMapper.batchUpdate(phaseAttrDOS); -// batchCBO.copyFromOther(updateCBO); - } - return attrDOList; } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeButtonWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeButtonWrapper.java index b82e17f..08d3bb8 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeButtonWrapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeButtonWrapper.java @@ -18,9 +18,14 @@ import com.vci.ubcs.code.entity.CodeButtonEntity; import com.vci.ubcs.code.vo.CodeButtonVO; -import com.vci.ubcs.omd.cache.DictCache; +import com.vci.ubcs.system.cache.DictBizCache; +import com.vci.ubcs.system.cache.DictCache; +import com.vci.ubcs.system.enums.DictEnum; import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springframework.boot.autoconfigure.security.SecurityProperties; import java.util.List; import java.util.Objects; @@ -40,8 +45,8 @@ @Override public CodeButtonVO entityVO(CodeButtonEntity codebutton) { CodeButtonVO codebuttonVO = Objects.requireNonNull(BeanUtil.copy(codebutton, CodeButtonVO.class)); - codebuttonVO.setUsedpositiontypeName(DictCache.getValue("codeButtonPosition", codebutton.getUsedpositiontype())); - codebuttonVO.setLcstatusName(DictCache.getValue("codeLcstatus", codebutton.getLcstatus())); + codebuttonVO.setUsedpositiontypeName(DictBizCache.getValue("codeButtonPosition", codebutton.getUsedpositiontype())); + codebuttonVO.setLcstatusName(DictBizCache.getValue("codeLcstatus", codebutton.getLcstatus())); return codebuttonVO; } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..29c4455 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.vci.ubcs.starter.revision.service.RevisionModelUtil diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/pom.xml b/Source/UBCS/ubcs-service/ubcs-ddl/pom.xml index 85cf200..b19d3f3 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/pom.xml +++ b/Source/UBCS/ubcs-service/ubcs-ddl/pom.xml @@ -25,6 +25,11 @@ </dependency> <dependency> <groupId>com.vci.ubcs</groupId> + <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> diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java index b06a46d..2683a9a 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java @@ -3,17 +3,22 @@ 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.BtmAndLinkTypeDdlDTO; import com.vci.ubcs.omd.dto.BtmTypeDTO; +import com.vci.ubcs.omd.entity.ModifyAttributeInfo; +import com.vci.ubcs.omd.vo.BtmTypeVO; 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.springblade.core.tool.utils.Func; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; +import java.util.Objects; /** * Description: 鏁版嵁搴撴搷浣滄帶鍒跺櫒 @@ -33,14 +38,14 @@ /** * 鏂板鎴栦慨鏀规暟鎹簱琛� - * @param dto 涓氬姟绫诲瀷 + * @param ddlDTO 涓氬姟绫诲瀷+閾炬帴绫诲瀷 * @return 鎵ц缁撴灉 */ - @PostMapping("/submitBtmType") + @PostMapping("/submit") @ApiOperationSupport(order = 1) - @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆涓氬姟绫诲瀷浼犺緭瀵硅薄") - public R submitBtmType(@Valid @RequestBody BtmTypeDTO dto) { - return ddlService.submitBtmType(dto); + @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "涓氬姟绫诲瀷閾炬帴绫诲瀷浼犺緭瀵硅薄") + public R submitBtmType(@RequestBody BtmAndLinkTypeDdlDTO ddlDTO) { + return ddlService.submit(ddlDTO); } /** @@ -65,4 +70,17 @@ public R<List<DdlTableBO>> getAllTableInfo(){ return R.data(ddlService.getAllTableInfo()); } + + /** + * 鑾峰彇鏁版嵁搴撳拰涓氬姟绫诲瀷涓殑涓嶅悓鐨勫湴鏂� + * @param ddlDTO 鍖呭惈涓氬姟绫诲瀷鍜岄摼鎺ョ被鍨嬬殑鍖呰 + * @return 涓嶅悓鐨勫湴鏂癸紝姣忎竴涓笟鍔$被鍨嬫垨鑰呴摼鎺ョ被鍨嬩竴鏉℃暟鎹� + */ + @PostMapping("/checkDifferentAndReflex") + @ApiOperation(value = "妫�鏌ヤ笟鍔$被鍨嬬殑鏁版嵁涓庢暟鎹簱涓槸鍚︾浉鍚�") + @ApiOperationSupport(order = 5) + public R<List<ModifyAttributeInfo>> checkDifferentAndReflex(@RequestBody BtmAndLinkTypeDdlDTO ddlDTO){ + Func.requireNotNull(ddlDTO,"涓氬姟绫诲瀷涓庨摼鎺ュ璞′紶杈撳璞′笉鑳戒负绌�"); + return R.data(ddlService.checkDifferent(ddlDTO.getBtmTypeList(),ddlDTO.getLinkTypeList())); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMSMapper.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMSMapper.java index f0d0635..316ee29 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMSMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMSMapper.java @@ -63,8 +63,6 @@ * @param tableName 琛ㄦ牸鐨勫悕绉� * @return 鏁版嵁搴撹〃鐨勫瓧娈典俊鎭� */ - @ResultMap("ddlTableColumnInfo") - @Select("") List<DdlTableInDataBaseBO> selectTableColumnInfo(@Param("tableName") String tableName); /** diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMySqlMapper.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMySqlMapper.java index 80ad6ae..561e833 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMySqlMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlMySqlMapper.java @@ -91,8 +91,6 @@ * @param tableName 琛ㄦ牸鐨勫悕绉� * @return 鏁版嵁搴撹〃鐨勫瓧娈典俊鎭� */ - @ResultMap("ddlTableColumnInfo") - @Select("") List<DdlTableInDataBaseBO> selectTableColumnInfo(@Param("tableName")String tableName); /** diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllMySqlMapper.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllMySqlMapper.java new file mode 100644 index 0000000..8fee3c0 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllMySqlMapper.java @@ -0,0 +1,13 @@ +package com.vci.ubcs.ddl.mapper; + +import org.springframework.stereotype.Repository; + +/** + * Description: + * + * @author LiHang + * @date 2023/4/26 + */ +@Repository +public interface DllMySqlMapper extends DllMapper{ +} diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessStrategy.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessStrategy.java index 86caebf..5f77cc6 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessStrategy.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessStrategy.java @@ -1,8 +1,15 @@ package com.vci.ubcs.ddl.processor.ddl; import com.alibaba.nacos.shaded.com.google.common.collect.Lists; +import com.vci.ubcs.ddl.mapper.DdlMSMapper; +import com.vci.ubcs.ddl.mapper.DdlMySqlMapper; +import com.vci.ubcs.ddl.mapper.DdlOracleMapper; +import com.vci.ubcs.starter.util.VciSpringUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.util.List; /** @@ -16,20 +23,20 @@ @Value("${spring.datasource.driver-class-name}") private static final String DATABASE_DRIVER = ""; - public static List<DdlMapperProcessor> processors = Lists.newArrayList(); + private final static List<DdlMapperProcessor> PROCESSORS = Lists.newArrayList(); static { - processors.add(new DdlMsMapperProcessor()); - processors.add(new DdlMySqlMapperProcessor()); - processors.add(new DdlOracleMapperProcessor()); + PROCESSORS.add(VciSpringUtil.getBean(DdlOracleMapperProcessor.class)); + PROCESSORS.add(VciSpringUtil.getBean(DdlMySqlMapperProcessor.class)); + PROCESSORS.add(VciSpringUtil.getBean(DdlMsMapperProcessor.class)); } public static DdlMapperProcessor getProcessor(){ - for (DdlMapperProcessor processor : processors) { + for (DdlMapperProcessor processor : PROCESSORS) { if (processor.support(DATABASE_DRIVER)){ return processor; } } - return DdlOracleMapperProcessor.SINGLE.INSTANCE; + return VciSpringUtil.getBean(DdlOracleMapperProcessor.class); } } diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessor.java index 4a94892..94a78d2 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessor.java @@ -3,6 +3,7 @@ import com.vci.ubcs.ddl.bo.DdlTableBO; import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO; import com.vci.ubcs.ddl.mapper.DdlMapper; +import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import java.util.List; diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMsMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMsMapperProcessor.java index c69fd05..a21d862 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMsMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMsMapperProcessor.java @@ -3,7 +3,9 @@ import com.vci.ubcs.ddl.mapper.DdlMSMapper; import com.vci.ubcs.ddl.mapper.DdlMapper; +import com.vci.ubcs.starter.util.VciSpringUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import javax.annotation.PostConstruct; @@ -17,20 +19,20 @@ * @author LiHang * @date 2023/4/24 */ +@Component public class DdlMsMapperProcessor extends DdlMapperProcessor{ - @Resource - private DdlMSMapper msMapper; + private static DdlMapper mapper = VciSpringUtil.getBean(DdlMSMapper.class); - private static DdlMapper mapper; - - @PostConstruct - public void init(){ - mapper = msMapper; - } public DdlMsMapperProcessor() { super(mapper); + System.out.println("-----------------"); + if (mapper != null){ + System.out.println("[success]::鍔犺浇Sql Server鏁版嵁搴揇DL鎿嶄綔鏈嶅姟鎴愬姛"); + }else { + System.out.println("[fail]::鍔犺浇Sql Server鏁版嵁搴揇DL鎿嶄綔鏈嶅姟澶辫触"); + } } @Override diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMySqlMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMySqlMapperProcessor.java index 4973cdb..d7e8ca5 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMySqlMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMySqlMapperProcessor.java @@ -3,7 +3,9 @@ import com.vci.ubcs.ddl.mapper.DdlMapper; import com.vci.ubcs.ddl.mapper.DdlMySqlMapper; +import com.vci.ubcs.starter.util.VciSpringUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; +import org.springframework.stereotype.Component; import org.springframework.stereotype.Repository; import org.springframework.util.CollectionUtils; @@ -17,21 +19,19 @@ * @author LiHang * @date 2023/4/24 */ -@Repository +@Component public class DdlMySqlMapperProcessor extends DdlMapperProcessor{ - @Resource - private DdlMySqlMapper myMapper; - - private static DdlMapper mapper; - - @PostConstruct - public void init(){ - mapper = myMapper; - } + private static DdlMapper mapper = VciSpringUtil.getBean(DdlMySqlMapper.class); public DdlMySqlMapperProcessor() { super(mapper); + System.out.println("-----------------"); + if (mapper != null){ + System.out.println("[success]::鍔犺浇MySql鏁版嵁搴揇DL鎿嶄綔鏈嶅姟鎴愬姛"); + }else { + System.out.println("[fail]::鍔犺浇MySql鏁版嵁搴揇DL鎿嶄綔鏈嶅姟澶辫触"); + } } @Override diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlOracleMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlOracleMapperProcessor.java index 52a20fa..174344c 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlOracleMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlOracleMapperProcessor.java @@ -2,6 +2,10 @@ import com.vci.ubcs.ddl.mapper.DdlMapper; import com.vci.ubcs.ddl.mapper.DdlOracleMapper; +import com.vci.ubcs.starter.util.VciSpringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.Resource; @@ -12,30 +16,24 @@ * @author LiHang * @date 2023/4/24 */ +@Component public class DdlOracleMapperProcessor extends DdlMapperProcessor{ - @Resource - private DdlOracleMapper oracleMapper; + private static DdlMapper mapper = VciSpringUtil.getBean(DdlOracleMapper.class); + + public DdlOracleMapperProcessor() { + super(mapper); + System.out.println("-----------------"); + if (mapper != null){ + System.out.println("[success]::鍔犺浇Oracle鏁版嵁搴揇DL鎿嶄綔鏈嶅姟鎴愬姛"); + }else { + System.out.println("[fail]::鍔犺浇Oracle鏁版嵁搴揇DL鎿嶄綔鏈嶅姟澶辫触"); + } + } @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 diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllBehavior.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllBehavior.java index a37b163..de6622d 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllBehavior.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllBehavior.java @@ -26,80 +26,4 @@ */ String DEFAULT = "default"; - /** - * 瀛楃涓� - */ - String VARCHAR = "varchar2"; - - /** - * 鏁板瓧 - */ - String NUMBER = "number"; - - /** - * 鏃ユ湡锛屾棩鏈熸椂闂达紝鏃堕棿鎴� - */ - String TIMESTAMP = "TIMESTAMP"; - - /** - * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒� - * @param attributeVOList 灞炴�х殑绔嬬 - * @return sql璇彞 - */ - String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> attributeVOList); - - /** - * 澶勭悊鏁存暟绫诲瀷鐨剆ql杞崲 - * @param attributeVO 灞炴�� - * @return sql - */ - String dealNumberCreateSql(BtmTypeAttributeVO attributeVO); - - /** - * 璋冪敤澶勭悊榛樿鍊煎拰闈炵┖ - * @param attributeVO 灞炴�� - * @return 鎵ц缁撴灉 - */ - String dealDefaultAndNull(BtmTypeAttributeVO attributeVO); - - /** - * 澶勭悊榛樿鍊� - * @param defaultValue 榛樿鍊� - * @return sql - */ - String dealDefaultValue(String defaultValue); - - /** - * 澶勭悊娴偣鏁扮被鍨嬬殑sql杞崲 - * @param attributeVO 灞炴�� - * @return sql - */ - String dealDoubleCreateSql(BtmTypeAttributeVO attributeVO); - - /** - * 澶勭悊闈炵┖ - * @return sql - */ - String dealNullableSql(BtmTypeAttributeVO attributeVO); - - /** - * 澶勭悊甯冨皵绫诲瀷鐨剆ql杞崲 - * @param attributeVO 灞炴�� - * @return sql - */ - String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO); - - /** - * 澶勭悊鏃ユ湡鏃堕棿绫诲瀷鐨剆ql杞崲 - * @param attributeVO 灞炴�� - * @return sql - */ - String dealDateTimeCreateSql(BtmTypeAttributeVO attributeVO); - - /** - * 澶勭悊瀛楃涓茬被鍨嬬殑sql杞崲 - * @param attributeVO 灞炴�� - * @return sql - */ - String dealStringCreateSql(BtmTypeAttributeVO attributeVO); } diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java index 4ea938e..619a79c 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessor.java @@ -1,8 +1,19 @@ package com.vci.ubcs.ddl.processor.dll; -import com.vci.ubcs.ddl.mapper.DllMapper; +import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO; +import com.vci.ubcs.ddl.mapper.*; import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; -import org.apache.commons.lang3.StringUtils; +import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; +import com.vci.ubcs.starter.web.util.VciBaseUtil; +import org.apache.commons.collections4.BidiMap; +import org.apache.commons.collections4.bidimap.DualHashBidiMap; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.StringPool; +import org.springblade.core.tool.utils.StringUtil; + +import java.util.ArrayList; +import java.util.List; /** * Description:DLL鐨勫鐞嗘帴鍙� @@ -10,7 +21,57 @@ * @author LiHang * @date 2023/4/24 */ -public abstract class DllMapperProcessor implements DllBehavior { +public abstract class DllMapperProcessor { + + private final static BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> FIELD_MAPPING_MAP; + + static { + FIELD_MAPPING_MAP = new DualHashBidiMap<>(); + FIELD_MAPPING_MAP.put(VciFieldTypeEnum.VTInteger,new DdlFieldMappingAttrBO("NUMBER",22,null,true,null)); + FIELD_MAPPING_MAP.put(VciFieldTypeEnum.VTLong,new DdlFieldMappingAttrBO("NUMBER",22,null,true,null)); + FIELD_MAPPING_MAP.put(VciFieldTypeEnum.VTDouble,new DdlFieldMappingAttrBO("NUMBER",26,8,true,null)); + FIELD_MAPPING_MAP.put(VciFieldTypeEnum.VTBoolean,new DdlFieldMappingAttrBO("VARCHAR2",5,null,true,null)); + FIELD_MAPPING_MAP.put(VciFieldTypeEnum.VTDate,new DdlFieldMappingAttrBO("TIMESTAMP",6,null,true,null)); + FIELD_MAPPING_MAP.put(VciFieldTypeEnum.VTTime,new DdlFieldMappingAttrBO("TIMESTAMP",6,null,true,null)); + FIELD_MAPPING_MAP.put(VciFieldTypeEnum.VTDateTime,new DdlFieldMappingAttrBO("TIMESTAMP",6,null,true,null)); + FIELD_MAPPING_MAP.put(VciFieldTypeEnum.VTFilePath,new DdlFieldMappingAttrBO("VARCHAR2",100,null,true,null)); + FIELD_MAPPING_MAP.put(VciFieldTypeEnum.VTClob,new DdlFieldMappingAttrBO("VTClob",null,null,true,null)); + FIELD_MAPPING_MAP.put(VciFieldTypeEnum.VTString,new DdlFieldMappingAttrBO("VARCHAR2",255,null,true,null)); + } + + protected abstract DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum); + + protected final DdlFieldMappingAttrBO getMappingBOInMap(VciFieldTypeEnum fieldTypeEnum,BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> map){ + if (!map.containsKey(fieldTypeEnum)){ + throw new VciBaseException("鎵句笉鍒板瓧娈电殑鏄犲皠"); + } + DdlFieldMappingAttrBO bo = map.get(fieldTypeEnum); + return BeanUtil.copy(bo,DdlFieldMappingAttrBO.class); + } + + protected static BidiMap<VciFieldTypeEnum,DdlFieldMappingAttrBO> getMappingMapCopy(){ + BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> map = new DualHashBidiMap<>(); + map.putAll(FIELD_MAPPING_MAP); + return map; + } + + /** + * 鎸夋暟鎹簱瀛楁绫诲瀷鍒椾妇鎵�鏈夌殑VCI瀛楁绫诲瀷 + * @param columnStr 鏁版嵁搴撳瓧娈电被鍨� + * @return VCI瀛楁绫诲瀷 + */ + public List<VciFieldTypeEnum> listFieldByColumnStr(String columnStr){ + return listFieldInMapByColumnStr(columnStr,FIELD_MAPPING_MAP); + } + + protected final List<VciFieldTypeEnum> listFieldInMapByColumnStr(String columnStr,BidiMap<VciFieldTypeEnum,DdlFieldMappingAttrBO> map){ + VciBaseUtil.alertNotNull(columnStr,"鏁版嵁搴撳瓧娈电被鍨�",map,"瀛楁鏄犲皠闆嗗悎"); + List<VciFieldTypeEnum> fieldTypeList = new ArrayList<>(); + map.values().stream().filter(s -> StringUtil.equals(s.getDataType(),columnStr)).forEach(s -> { + fieldTypeList.add(map.getKey(s)); + }); + return fieldTypeList; + } private DllMapper mapper; @@ -64,126 +125,24 @@ return mapper.countAll(tableName); } + + /** - * 澶勭悊鏁存暟绫诲瀷鐨剆ql杞崲 - * + * 鑾峰彇瀛楁鍒涘缓sql + * @param fieldType VT瀛楁绫诲瀷 * @param attributeVO 灞炴�� * @return sql */ - @Override - public String dealNumberCreateSql(BtmTypeAttributeVO attributeVO) { - StringBuilder snb = new StringBuilder().append(NUMBER + SPACE); - dealDefaultAndNull(attributeVO); - return snb.toString(); - } - - /** - * 璋冪敤澶勭悊榛樿鍊煎拰闈炵┖ - * - * @param attributeVO 灞炴�� - * @return 鎵ц缁撴灉 - */ - @Override - public String dealDefaultAndNull(BtmTypeAttributeVO attributeVO) { - String value = ""; - if (StringUtils.isNotBlank(attributeVO.getDefaultValue())) { - value += dealDefaultValue(attributeVO.getDefaultValue()); + public String getColumnTypeSql(VciFieldTypeEnum fieldType,BtmTypeAttributeVO attributeVO){ + DdlFieldMappingAttrBO mappingBO = getMappingBO(fieldType); + mappingBO.setDataLength(attributeVO.getAttributeLength()); + if (fieldType.equals(VciFieldTypeEnum.VTDouble)){ + mappingBO.setDataPrecision(attributeVO.getPrecisionLength()); } + mappingBO.setNullable(attributeVO.isNullableFlag()); + mappingBO.setDefaultValue(attributeVO.getDefaultValue()); + return mappingBO.toString() + (StringUtil.equals(attributeVO.getId(),"OID") ? StringPool.SPACE + "primary key" + StringPool.SPACE : ""); - 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(BtmTypeAttributeVO 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(BtmTypeAttributeVO attributeVO) { - if (!attributeVO.isNullableFlag()) { - return SPACE + "not null" + SPACE; - } - return ""; - } - - /** - * 澶勭悊甯冨皵绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO) { - return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO); - } - - /** - * 澶勭悊鏃ユ湡鏃堕棿绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealDateTimeCreateSql(BtmTypeAttributeVO attributeVO) { - return "DATETIME" + SPACE + dealDefaultAndNull(attributeVO); - } - - /** - * 澶勭悊瀛楃涓茬被鍨嬬殑sql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealStringCreateSql(BtmTypeAttributeVO 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(); - } } diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessorStrategy.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessorStrategy.java index 1395817..678ed44 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessorStrategy.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessorStrategy.java @@ -1,8 +1,14 @@ package com.vci.ubcs.ddl.processor.dll; import com.alibaba.nacos.shaded.com.google.common.collect.Lists; +import com.vci.ubcs.ddl.mapper.DllMsMapper; +import com.vci.ubcs.ddl.mapper.DllOracleMapper; +import com.vci.ubcs.ddl.mapper.DllSqlLiteMapper; +import com.vci.ubcs.starter.util.VciSpringUtil; import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.util.List; /** @@ -19,8 +25,10 @@ public static List<DllMapperProcessor> processors = Lists.newArrayList(); static { - processors.add(new DllOracleMapperProcessor()); - processors.add(new DllSqlLiteMapperProcessor()); + processors.add(VciSpringUtil.getBean(DllMsMapperProcessor.class)); + processors.add(VciSpringUtil.getBean(DllSqlLiteMapperProcessor.class)); + processors.add(VciSpringUtil.getBean(DllMySqlMapperProcessor.class)); + processors.add(VciSpringUtil.getBean(DllOracleMapperProcessor.class)); } public static DllMapperProcessor getProcessor(){ @@ -29,6 +37,6 @@ return processor; } } - return DllOracleMapperProcessor.SINGLE.INSTANCE; + return VciSpringUtil.getBean(DllOracleMapperProcessor.class); } } diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java index 6ade30a..599dc62 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java @@ -1,18 +1,17 @@ package com.vci.ubcs.ddl.processor.dll; +import com.vci.ubcs.ddl.mapper.DdlMSMapper; import com.vci.ubcs.ddl.mapper.DllMapper; import com.vci.ubcs.ddl.mapper.DllMsMapper; import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; import com.vci.ubcs.starter.exception.VciBaseException; -<<<<<<< HEAD +import com.vci.ubcs.starter.util.VciSpringUtil; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; -import org.apache.commons.lang3.StringUtils; -======= ->>>>>>> dd3a6c681f938fd53d5f6cc3a4fcee40e71b259c +import org.springblade.core.tool.utils.StringPool; +import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; +import java.util.Arrays; import java.util.List; /** @@ -21,24 +20,19 @@ * @author LiHang * @date 2023/4/24 */ +@Component public class DllMsMapperProcessor extends DllMapperProcessor { - @Resource - private DllMsMapper realMapper; - - private static DllMapper mapper; - - @PostConstruct - public void init(){ - mapper = realMapper; - } + private static DllMapper mapper = VciSpringUtil.getBean(DllMsMapper.class); public DllMsMapperProcessor() { super(mapper); - } - - public static class SINGLE { - public static DllMsMapperProcessor INSTANCE = new DllMsMapperProcessor(); + System.out.println("-----------------"); + if (mapper != null){ + System.out.println("[success]::鍔犺浇Sql Server鏁版嵁搴揇LL鎿嶄綔鏈嶅姟鎴愬姛"); + }else { + System.out.println("[fail]::鍔犺浇Sql Server鏁版嵁搴揇LL鎿嶄綔鏈嶅姟澶辫触"); + } } @Override @@ -46,131 +40,5 @@ return "oracle.jdbc.OracleDiver".equals(url); } - /** - * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒� - * - * @param attributeVOList 灞炴�х殑绔嬬 - * @return sql璇彞 - */ - @Override - public String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> 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(",")); - } - /** - * 澶勭悊鏁存暟绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealNumberCreateSql(BtmTypeAttributeVO attributeVO) { - return "INT" + SPACE + dealDefaultAndNull(attributeVO); - } - - /** - * 澶勭悊娴偣鏁扮被鍨嬬殑sql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealDoubleCreateSql(BtmTypeAttributeVO 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(); - } - - - /** - * 澶勭悊甯冨皵绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO) { - return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO); - } - - /** - * 澶勭悊鏃ユ湡鏃堕棿绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealDateTimeCreateSql(BtmTypeAttributeVO attributeVO) { - return "DATETIME" + SPACE + dealNullableSql(attributeVO); - } - - /** - * 澶勭悊瀛楃涓茬被鍨嬬殑sql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealStringCreateSql(BtmTypeAttributeVO 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(); - } } diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java index 0115dfd..2d548e1 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java @@ -1,18 +1,14 @@ package com.vci.ubcs.ddl.processor.dll; +import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO; import com.vci.ubcs.ddl.mapper.DllMapper; -import com.vci.ubcs.ddl.mapper.DllOracleMapper; -import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; -import com.vci.ubcs.starter.exception.VciBaseException; -<<<<<<< HEAD +import com.vci.ubcs.ddl.mapper.DllMySqlMapper; +import com.vci.ubcs.starter.util.VciSpringUtil; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; -import org.apache.commons.lang3.StringUtils; -======= ->>>>>>> dd3a6c681f938fd53d5f6cc3a4fcee40e71b259c +import org.apache.commons.collections4.BidiMap; +import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; import java.util.List; /** @@ -21,24 +17,36 @@ * @author LiHang * @date 2023/4/24 */ +@Component public class DllMySqlMapperProcessor extends DllMapperProcessor { - @Resource - private DllOracleMapper realMapper; + private static final DllMapper MAPPER = VciSpringUtil.getBean(DllMySqlMapper.class); - private static DllMapper mapper; + private static final BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> FIELD_MAP = getMappingMapCopy(); - @PostConstruct - public void init() { - mapper = realMapper; + + static { + // 闇�瑕侀噸鏂版槧灏勭殑瀛楁绫诲瀷鍦ㄨ繖閲屽啓 + FIELD_MAP.put(VciFieldTypeEnum.VTDouble,new DdlFieldMappingAttrBO("NUMERIC",26,8,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTInteger,new DdlFieldMappingAttrBO("INT",22,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTLong,new DdlFieldMappingAttrBO("BIGINT",22,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTBoolean,new DdlFieldMappingAttrBO("VARCHAR",5,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTDate,new DdlFieldMappingAttrBO("DATETIME",null,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTDateTime,new DdlFieldMappingAttrBO("DATETIME",null,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTTime,new DdlFieldMappingAttrBO("DATETIME",null,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTFilePath,new DdlFieldMappingAttrBO("VARCHAR",100,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTClob,new DdlFieldMappingAttrBO("varchar(max)",100,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTString,new DdlFieldMappingAttrBO("VARCHAR",100,null,true,null)); } public DllMySqlMapperProcessor() { - super(mapper); - } - - public static class SINGLE { - public static DllMySqlMapperProcessor INSTANCE = new DllMySqlMapperProcessor(); + super(MAPPER); + System.out.println("-----------------"); + if (MAPPER != null){ + System.out.println("[success]::鍔犺浇MySql鏁版嵁搴揇LL鎿嶄綔鏈嶅姟鎴愬姛"); + }else { + System.out.println("[fail]::鍔犺浇MySql鏁版嵁搴揇LL鎿嶄綔鏈嶅姟澶辫触"); + } } @Override @@ -46,118 +54,20 @@ return "oracle.jdbc.OracleDiver".equals(url); } - /** - * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒� - * - * @param attributeVOList 灞炴�х殑绔嬬 - * @return sql璇彞 - */ @Override - public String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> 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(",")); + protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) { + return getMappingBOInMap(fieldTypeEnum,FIELD_MAP); } /** - * 澶勭悊鏁存暟绫诲瀷鐨剆ql杞崲 + * 鎸夋暟鎹簱瀛楁绫诲瀷鍒椾妇鎵�鏈夌殑VCI瀛楁绫诲瀷 * - * @param attributeVO 灞炴�� - * @return sql + * @param columnStr 鏁版嵁搴撳瓧娈电被鍨� + * @return VCI瀛楁绫诲瀷 */ @Override - public String dealNumberCreateSql(BtmTypeAttributeVO 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(BtmTypeAttributeVO 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(); - } - - - /** - * 澶勭悊甯冨皵绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO) { - return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO); - } - - /** - * 澶勭悊鏃ユ湡鏃堕棿绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealDateTimeCreateSql(BtmTypeAttributeVO attributeVO) { - return "DATETIME" + SPACE + dealDefaultAndNull(attributeVO); + public List<VciFieldTypeEnum> listFieldByColumnStr(String columnStr) { + return listFieldInMapByColumnStr(columnStr,FIELD_MAP); } } diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java index 9e92da4..d45ed39 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllOracleMapperProcessor.java @@ -1,23 +1,13 @@ package com.vci.ubcs.ddl.processor.dll; -<<<<<<< HEAD -======= -import com.vci.starter.web.enumpck.VciFieldTypeEnum; ->>>>>>> dd3a6c681f938fd53d5f6cc3a4fcee40e71b259c +import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO; import com.vci.ubcs.ddl.mapper.DllMapper; import com.vci.ubcs.ddl.mapper.DllOracleMapper; -import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; -import com.vci.ubcs.starter.exception.VciBaseException; -<<<<<<< HEAD +import com.vci.ubcs.starter.util.VciSpringUtil; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; -import org.apache.commons.lang3.StringUtils; -import org.springframework.util.CollectionUtils; -======= ->>>>>>> dd3a6c681f938fd53d5f6cc3a4fcee40e71b259c +import org.apache.commons.collections4.BidiMap; +import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; -import java.util.List; /** * Description: @@ -25,122 +15,31 @@ * @author LiHang * @date 2023/4/24 */ +@Component public class DllOracleMapperProcessor extends DllMapperProcessor { - @Resource - private DllOracleMapper realMapper; + private static DllMapper mapper = VciSpringUtil.getBean(DllOracleMapper.class); - private static DllMapper mapper; - - @PostConstruct - public void init(){ - mapper = realMapper; - } + private static final BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> FIELD_MAP = getMappingMapCopy(); public DllOracleMapperProcessor() { super(mapper); + System.out.println("-----------------"); + if (mapper != null){ + System.out.println("[success]::鍔犺浇Oracle鏁版嵁搴揇LL鎿嶄綔鏈嶅姟鎴愬姛"); + }else { + System.out.println("[fail]::鍔犺浇Oracle鏁版嵁搴揇LL鎿嶄綔鏈嶅姟澶辫触"); + } } - public static class SINGLE { - public static DllOracleMapperProcessor INSTANCE = new DllOracleMapperProcessor(); + + @Override + protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) { + return getMappingBOInMap(fieldTypeEnum,FIELD_MAP); } @Override public boolean support(String url) { return "oracle.jdbc.OracleDiver".equals(url); - } - - /** - * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒� - * - * @param attributeVOList 灞炴�х殑绔嬬 - * @return sql璇彞 - */ - @Override - public String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> 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(BtmTypeAttributeVO 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(); - } - - /** - * 澶勭悊鏃ユ湡鏃堕棿绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealDateTimeCreateSql(BtmTypeAttributeVO attributeVO) { - return TIMESTAMP + SPACE + dealNullableSql(attributeVO); - } - - /** - * 澶勭悊甯冨皵绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO) { - return VARCHAR + "(5)" + SPACE + dealDefaultAndNull(attributeVO); } } diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java index 4abfa2f..0b1fa0a 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllSqlLiteMapperProcessor.java @@ -1,11 +1,13 @@ package com.vci.ubcs.ddl.processor.dll; +import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO; import com.vci.ubcs.ddl.mapper.DllMapper; import com.vci.ubcs.ddl.mapper.DllSqlLiteMapper; -import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; +import com.vci.ubcs.starter.util.VciSpringUtil; +import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; +import org.apache.commons.collections4.BidiMap; +import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; import java.util.List; /** @@ -14,21 +16,33 @@ * @author LiHang * @date 2023/4/24 */ +@Component public class DllSqlLiteMapperProcessor extends DllMapperProcessor{ + private static DllMapper mapper = VciSpringUtil.getBean(DllSqlLiteMapper.class); + private static final BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> FIELD_MAP = getMappingMapCopy(); - @Resource - private DllSqlLiteMapper realMapper; - - private static DllMapper mapper; - - @PostConstruct - public void init(){ - mapper = realMapper; + static { + // 闇�瑕侀噸鏂版槧灏勭殑瀛楁绫诲瀷鍦ㄨ繖閲屽啓 + FIELD_MAP.put(VciFieldTypeEnum.VTDouble,new DdlFieldMappingAttrBO("NUMERIC",26,8,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTInteger,new DdlFieldMappingAttrBO("INT",22,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTLong,new DdlFieldMappingAttrBO("INT",22,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTBoolean,new DdlFieldMappingAttrBO("VARCHAR",5,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTDate,new DdlFieldMappingAttrBO("DATETIME",null,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTDateTime,new DdlFieldMappingAttrBO("DATETIME",null,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTTime,new DdlFieldMappingAttrBO("DATETIME",null,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTFilePath,new DdlFieldMappingAttrBO("VARCHAR",100,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTClob,new DdlFieldMappingAttrBO("varchar(max)",100,null,true,null)); + FIELD_MAP.put(VciFieldTypeEnum.VTString,new DdlFieldMappingAttrBO("VARCHAR",100,null,true,null)); } - public DllSqlLiteMapperProcessor() { super(mapper); + System.out.println("-----------------"); + if (mapper != null){ + System.out.println("[success]::鍔犺浇SqlLite鏁版嵁搴揇LL鎿嶄綔鏈嶅姟鎴愬姛"); + }else { + System.out.println("[fail]::鍔犺浇SqlList鏁版嵁搴揇LL鎿嶄綔鏈嶅姟澶辫触"); + } } @Override @@ -36,14 +50,19 @@ return "org.sqlite.JDBC".equals(url); } + @Override + protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) { + return getMappingBOInMap(fieldTypeEnum,FIELD_MAP); + } + /** - * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒� + * 鎸夋暟鎹簱瀛楁绫诲瀷鍒椾妇鎵�鏈夌殑VCI瀛楁绫诲瀷 * - * @param attributeVOList 灞炴�х殑绔嬬 - * @return sql璇彞 + * @param columnStr 鏁版嵁搴撳瓧娈电被鍨� + * @return VCI瀛楁绫诲瀷 */ @Override - public String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> attributeVOList) { - return null; + public List<VciFieldTypeEnum> listFieldByColumnStr(String columnStr) { + return listFieldInMapByColumnStr(columnStr,FIELD_MAP); } } diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java index f0a3c8f..915dfa5 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java @@ -2,8 +2,9 @@ import com.vci.starter.word.bo.WordMergeStartTableDataBO; import com.vci.ubcs.ddl.bo.DdlTableBO; +import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO; import com.vci.ubcs.omd.dto.BtmTypeDTO; -import com.vci.ubcs.omd.entity.ModifyAttributeInfoDO; +import com.vci.ubcs.omd.entity.ModifyAttributeInfo; import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.omd.vo.LinkTypeAttributeVO; @@ -66,6 +67,13 @@ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呭垱寤鸿〃鍑虹幇浜嗛敊璇殑鏃跺�欎細鎶涘嚭寮傚父 */ void createDbTablesByOidCollection(Collection<String> oidCollection) throws VciBaseException; + + /** + * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒� + * @param attributeVOList 灞炴�х殑绔嬬 + * @return sql璇彞 + */ + String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> attributeVOList); /** * 鎵归噺灏嗕笟鍔$被鍨嬪垱寤烘暟鎹簱琛� @@ -157,14 +165,16 @@ * @param linkTypeVOList 閾炬帴绫诲瀷瀵硅薄锛屾湁灞炴�ф椂闇�瑕佸寘鍚睘鎬� * @return 涓嶅悓鐨勫湴鏂癸紝姣忎竴涓笟鍔$被鍨嬫垨鑰呴摼鎺ョ被鍨嬩竴鏉℃暟鎹� */ - List<ModifyAttributeInfoDO> checkDifferent(List<BtmTypeVO> btmTypeVOList, List<LinkTypeVO> linkTypeVOList) throws VciBaseException; + List<ModifyAttributeInfo> checkDifferent(List<BtmTypeVO> btmTypeVOList, List<LinkTypeVO> linkTypeVOList) throws VciBaseException; /** * 娓呯悊涓氬姟绫诲瀷涓拰鏁版嵁搴撻噷涓嶄竴鏍风殑 * @param differentAttributeList 涓嶅悓鐨勫睘鎬х殑鍒楄〃 + * @param btmTypeVOList 涓氬姟绫诲瀷鏁版嵁 + * @param linkTypeVOList 閾炬帴绫诲瀷鏁版嵁 * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮墽琛屽嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ - void reflexDifferent(List<ModifyAttributeInfoDO> differentAttributeList) throws VciBaseException; + void reflexDifferent(List<ModifyAttributeInfo> differentAttributeList,List<BtmTypeVO> btmTypeVOList, List<LinkTypeVO> linkTypeVOList) throws VciBaseException; /** * 鑾峰彇鏁版嵁搴撲腑鎵�鏈夌殑琛ㄦ牸 @@ -220,10 +230,10 @@ /** * 鏁版嵁搴撴柊澧炴垨淇敼琛� - * @param dto 涓氬姟绫诲瀷浼犺緭瀵硅薄 + * @param ddlDTO 涓氬姟绫诲瀷浼犺緭瀵硅薄 * @return 鎵ц缁撴灉 */ - R submitBtmType(BtmTypeDTO dto); + R submit(BtmAndLinkTypeDdlDTO ddlDTO); /** * 鎸夎〃鍚嶈幏鍙栬〃淇℃伅 diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java index 561ae46..85e886c 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java @@ -1,14 +1,12 @@ package com.vci.ubcs.ddl.service.impl; -<<<<<<< HEAD -import com.alibaba.nacos.client.naming.NacosNamingService; -======= -import com.vci.starter.web.util.VciBaseUtil; ->>>>>>> dd3a6c681f938fd53d5f6cc3a4fcee40e71b259c +import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException; 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.enums.BusinessTypeEnum; +import com.vci.ubcs.ddl.enums.ModifyTableTaskEnum; import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessStrategy; import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessor; import com.vci.ubcs.ddl.processor.dll.DllMapperProcessor; @@ -17,15 +15,17 @@ import com.vci.ubcs.ddl.properties.DdlPropertise; import com.vci.ubcs.ddl.service.IDdlService; import com.vci.ubcs.omd.cache.BtmTypeCache; -import com.vci.ubcs.omd.dto.BtmTypeDTO; -import com.vci.ubcs.omd.entity.ModifyAttributeInfoDO; -import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; -import com.vci.ubcs.omd.vo.BtmTypeVO; -import com.vci.ubcs.omd.vo.LinkTypeAttributeVO; -import com.vci.ubcs.omd.vo.LinkTypeVO; +import com.vci.ubcs.omd.constant.BtmTypeFieldConstant; +import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant; +import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO; +import com.vci.ubcs.omd.entity.ModifyAttributeInfo; +import com.vci.ubcs.omd.vo.*; import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.web.enumpck.BooleanEnum; +import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.apache.commons.lang3.StringUtils; +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; @@ -34,7 +34,9 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.validation.constraints.NotNull; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; /** @@ -63,15 +65,61 @@ */ private final DdlMapperProcessor ddlMapper = DdlMapperProcessStrategy.getProcessor(); + /** * dll鏁版嵁鎿嶄綔鏈嶅姟 */ private final DllMapperProcessor dllMapper = DllMapperProcessorStrategy.getProcessor(); - /** - * 琛ㄥ悕鍓嶇紑 - */ - private final String TABLE_PREFIX = "PL"; + private static final String YES = "Y"; + + private static final String NO = "N"; + + private final Map<String, BtmTypeVO> idBtmMap = new ConcurrentHashMap<>(); + + private final Map<String, LinkTypeVO> idLinkMap = new ConcurrentHashMap<>(); + + private void putBtm(@NotNull BtmTypeVO... voList) throws ServiceException { + String collect = Arrays.stream(voList).map(BtmTypeVO::getId).filter(idBtmMap::containsKey).collect(Collectors.joining(",")); + if (StringUtils.isBlank(collect)) { + Arrays.stream(voList).forEach(vo -> { + idBtmMap.put(vo.getId(), vo); + }); + } else { + throw new ServiceException("涓氬姟绫诲瀷:[" + collect + "]姝e湪琚叾浠栫敤鎴锋搷浣�"); + } + } + + private void putLink(@NotNull LinkTypeVO... voList) throws ServiceException { + String collect = Arrays.stream(voList).map(LinkTypeVO::getId).filter(idLinkMap::containsKey).collect(Collectors.joining(",")); + if (StringUtils.isBlank(collect)) { + Arrays.stream(voList).forEach(vo -> { + idLinkMap.put(vo.getId(), vo); + }); + } else { + throw new ServiceException("閾炬帴绫诲瀷:[" + collect + "]姝e湪琚叾浠栫敤鎴锋搷浣�"); + } + } + + private void removeBtm(@NotNull BtmTypeVO... btmTypeVO) throws ServiceException { + if (Arrays.stream(btmTypeVO).allMatch(s -> idBtmMap.containsKey(s.getId()))) { + for (BtmTypeVO vo : btmTypeVO) { + idBtmMap.remove(vo.getId()); + } + } else { + throw new ServiceException("瑙i攣瀵硅薄涓嶅瓨鍦�"); + } + } + + private void removeLink(@NotNull LinkTypeVO... linkTypeVO) throws ServiceException { + if (Arrays.stream(linkTypeVO).allMatch(s -> idLinkMap.containsKey(s.getId()))) { + for (LinkTypeVO vo : linkTypeVO) { + idLinkMap.remove(vo.getId()); + } + } else { + throw new ServiceException("瑙i攣瀵硅薄涓嶅瓨鍦�"); + } + } /** * 鏍¢獙涓氬姟绫诲瀷鐨勬暟鎹簱琛ㄤ腑鏄惁鏈夋暟鎹� @@ -165,7 +213,7 @@ */ @Override public void createDbTablesByOidCollection(Collection<String> oidCollection) throws VciBaseException { - VciBaseUtil.alertCollectionNotNull("涓氬姟绫诲瀷/閾炬帴绫诲瀷鐨勪富閿泦鍚�", oidCollection); + VciBaseUtil.alertNotNull("涓氬姟绫诲瀷/閾炬帴绫诲瀷鐨勪富閿泦鍚�", oidCollection); List<BtmTypeVO> btmTypeVOList = BtmTypeCache.listBtmTypeByOidCollection(oidCollection); // List<OsLinkTypeVO> linkTypeVOList = linkTypeService.listLinkTypeByOidCollection(oidCollection); if (!CollectionUtils.isEmpty(btmTypeVOList)) { @@ -194,16 +242,33 @@ } else { String tableName = btmTypeVO.getTableName(); if (!checkTableExistByTableName(tableName)) { - String attributeSql = dllMapper.getCreateSqlByAttributeForBtm(btmTypeVO.getAttributes()); + String attributeSql = getCreateSqlByAttributeForBtm(btmTypeVO.getAttributes()); dllMapper.createTableBySql(tableName, attributeSql); if (StringUtils.isNotBlank(btmTypeVO.getName())) { dllMapper.commentTable(tableName, btmTypeVO.getName()); } - btmTypeVO.getAttributes().stream().forEach(s -> { + btmTypeVO.getAttributes().forEach(s -> { dllMapper.commentColumnTable(tableName, s.getId(), s.getName()); }); } } + } + + /** + * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒� + * + * @param attributeVOList 灞炴�х殑绔嬬 + * @return sql璇彞 + */ + @Override + public String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> attributeVOList) { + StringBuilder sb = new StringBuilder(); + attributeVOList.forEach(a -> { + sb.append(a.getId()).append(StringPool.SPACE); + VciFieldTypeEnum fieldTypeEnum = VciFieldTypeEnum.forValue(a.getAttrDataType()); + sb.append(dllMapper.getColumnTypeSql(fieldTypeEnum, a)); + }); + return sb.substring(0, sb.lastIndexOf(",")); } /** @@ -238,7 +303,7 @@ */ @Override public void changeColumnForBtm(List<BtmTypeAttributeVO> modifyLengthAttrVOList) throws VciBaseException { - VciBaseUtil.alertCollectionNotNull("瑕佷慨鏀归暱搴︾殑灞炴�ч泦", modifyLengthAttrVOList); + VciBaseUtil.alertNotNull("瑕佷慨鏀归暱搴︾殑灞炴�ч泦", modifyLengthAttrVOList); Map<String, List<BtmTypeAttributeVO>> btmTypeHasAttributeVOMap = modifyLengthAttrVOList.stream().collect(Collectors.groupingBy(BtmTypeAttributeVO::getPkBtmType)); btmTypeHasAttributeVOMap.forEach((k, v) -> { BtmTypeVO btmTypeVO = BtmTypeCache.getDetail(k); @@ -265,7 +330,7 @@ * @param attributeVOList 瑕佹坊鍔犵殑灞炴�у瓧娈� */ private void changeColumnsForTable(String tableName, List<BtmTypeAttributeVO> attributeVOList) { - String attributeSql = dllMapper.getCreateSqlByAttributeForBtm(attributeVOList); + String attributeSql = getCreateSqlByAttributeForBtm(attributeVOList); //鍏堝垽鏂〃鏍兼槸鍚﹀瓨鍦� boolean tableExist = false; try { @@ -289,7 +354,7 @@ */ private void commentColumnsForTable(String tableName, List<BtmTypeAttributeVO> attributeVOList) { if (StringUtils.isNotBlank(tableName) && !CollectionUtils.isEmpty(attributeVOList)) { - attributeVOList.stream().forEach(s -> { + attributeVOList.forEach(s -> { ddlMapper.commentColumnTable(tableName, s.getId(), s.getName()); }); } @@ -314,9 +379,9 @@ */ @Override public void addColumn2TableForBtm(List<BtmTypeAttributeVO> addAttrDOList) throws VciBaseException { - VciBaseUtil.alertCollectionNotNull("瑕佹坊鍔犲埌鏁版嵁搴撹〃涓殑灞炴�ч泦", addAttrDOList); - Map<String, List<BtmTypeAttributeVO>> btmTypeHasAttributeVOMap = addAttrDOList.stream().collect(Collectors.groupingBy(BtmTypeAttributeVO::getPkBtmType)); - btmTypeHasAttributeVOMap.forEach((k, v) -> { + VciBaseUtil.alertNotNull("瑕佹坊鍔犲埌鏁版嵁搴撹〃涓殑灞炴�ч泦", addAttrDOList); + Map<String, List<BtmTypeAttributeVO>> btmTypeHasAttributeMap = addAttrDOList.stream().collect(Collectors.groupingBy(BtmTypeAttributeVO::getPkBtmType)); + btmTypeHasAttributeMap.forEach((k, v) -> { BtmTypeVO btmTypeVO = BtmTypeCache.getDetail(k); if (btmTypeVO == null || StringUtils.isBlank(btmTypeVO.getOid())) { throw new VciBaseException("瑕佷慨鏀瑰睘鎬у垪闀垮害鐨勪笟鍔$被鍨嬩笉瀛樺湪"); @@ -334,12 +399,8 @@ * @param attributeVOList 灞炴�х殑鏄剧ず瀵硅薄 * @throws VciBaseException 鎵ц鎴栬�呰幏鍙杝ql璇彞鐨勬椂鍊欏嚭鐜伴敊璇細鎶涘嚭寮傚父 */ -<<<<<<< HEAD - private void addColumnForTable(String tableName, List<OmdBtmTypeAttributeVO> attributeVOList) throws VciBaseException{ -======= private void addColumnForTable(String tableName, List<BtmTypeAttributeVO> attributeVOList) { ->>>>>>> dd3a6c681f938fd53d5f6cc3a4fcee40e71b259c - String attributeSql = dllMapper.getCreateSqlByAttributeForBtm(attributeVOList); + String attributeSql = getCreateSqlByAttributeForBtm(attributeVOList); //鍏堝垽鏂〃鏍兼槸鍚﹀瓨鍦� if (!checkTableExistByTableName(tableName)) { BtmTypeAttributeVO attributeVO = attributeVOList.get(0); @@ -358,7 +419,11 @@ */ @Override public void addColumn2TableForLink(List<LinkTypeAttributeVO> addAttrDOListForLinkType) throws VciBaseException { + VciBaseUtil.alertNotNull("瑕佹坊鍔犲埌鏁版嵁搴撹〃涓睘鎬ч泦",addAttrDOListForLinkType); + Map<String, List<LinkTypeAttributeVO>> linkTypeHasAttributeVOMap = addAttrDOListForLinkType.stream().collect(Collectors.groupingBy(LinkTypeAttributeVO::getPkLinkType)); + linkTypeHasAttributeVOMap.forEach((k,v) -> { + }); } /** @@ -458,8 +523,281 @@ * @return 涓嶅悓鐨勫湴鏂癸紝姣忎竴涓笟鍔$被鍨嬫垨鑰呴摼鎺ョ被鍨嬩竴鏉℃暟鎹� */ @Override - public List<ModifyAttributeInfoDO> checkDifferent(List<BtmTypeVO> btmTypeVOList, List<LinkTypeVO> linkTypeVOList) throws VciBaseException { - return null; + public List<ModifyAttributeInfo> checkDifferent(List<BtmTypeVO> btmTypeVOList, List<LinkTypeVO> linkTypeVOList) throws VciBaseException { + if (CollectionUtils.isEmpty(btmTypeVOList) && CollectionUtils.isEmpty(linkTypeVOList)) { + throw new VciBaseException("瑕佹鏌ョ殑涓氬姟绫诲瀷鍜岄摼鎺ョ被鍨嬩负绌�"); + } + List<ModifyAttributeInfo> modifyAttributeInfoList = new ArrayList<>(); + if (!CollectionUtils.isEmpty(btmTypeVOList)) { + modifyAttributeInfoList.addAll(checkBtmType(btmTypeVOList)); + } + if (!CollectionUtils.isEmpty(linkTypeVOList)) { + modifyAttributeInfoList.addAll(checkLinkType(linkTypeVOList)); + } + if (CollectionUtils.isEmpty(modifyAttributeInfoList)) { + reflexDifferent(modifyAttributeInfoList, btmTypeVOList, linkTypeVOList); + } + return modifyAttributeInfoList; + } + + /** + * 妫�鏌ヤ笟鍔$被鍨� + * + * @param btmTypeVOList 涓氬姟绫诲瀷 + * @return 妫�鏌ョ粨鏋� + */ + private List<ModifyAttributeInfo> checkBtmType(List<BtmTypeVO> btmTypeVOList) { + List<ModifyAttributeInfo> modifyAttributeInfoDOList = new ArrayList<>(); + btmTypeVOList.stream().filter(s -> !isCompatibilityTable(s.getId(),null)).forEach(btm -> { + ModifyAttributeInfo modifyAttributeInfo = new ModifyAttributeInfo(); + modifyAttributeInfo.setId(btm.getId()); + modifyAttributeInfo.setName(btm.getName()); + modifyAttributeInfo.setTableName(btm.getTableName()); + modifyAttributeInfo.setBusinessType(BusinessTypeEnum.BTM.getValue()); + // 1. 瑙嗗浘鍜屾柊寤虹殑锛岀洿鎺ュ垱寤猴紝璁板綍鍒涘缓鍘嗗彶 + if (btm.isViewFlag() || !checkTableExistByTableName(btm.getTableName())){ + modifyAttributeInfo.setTaskName(ModifyTableTaskEnum.CREATE.getValue()); + modifyAttributeInfo.setModifyColumnReason(ModifyTableTaskEnum.CREATE.getValue()); + }else { + VciBaseUtil.alertNotNull(btm.getAttributes(),"涓氬姟绫诲瀷" + btm.getId() + "鐨勫睘鎬�"); + List<DdlTableInDataBaseBO> columnDataInTable = selectTableColumnInfo(btm.getTableName()); + if (CollectionUtils.isEmpty(columnDataInTable)){ + modifyAttributeInfo.setAddAttributes(btm.getAttributes().stream().map(s -> s.getId().toLowerCase().trim()).collect(Collectors.joining(","))); + modifyAttributeInfo.setTaskName(ModifyTableTaskEnum.EDIT.getValue()); + modifyAttributeInfo.setModifyColumnReason(ModifyTableTaskEnum.CREATE.getValue()); + }else { + // 2. 瀛樺湪鐨勬墠鍒ゆ柇锛屽垎鏂板灞炴�с�佸睘鎬ф洿鏀广�佸睘鎬у垹闄ゅ垎鍒搷浣� + // 3. 灞炴�ф搷浣滀腑鐗瑰埆鍒ゆ柇[鏄惁鎺у埗鐗堟湰][鏄惁鎺у埗瀵嗙骇][鏄惁鎺у埗鐢熷懡鍛ㄦ湡]鏉ユ坊鍔犲搴斿睘鎬� + Map<String, DdlTableInDataBaseBO> tableColumMap = columnDataInTable.stream().collect(Collectors.toMap(t -> t.getId().toLowerCase().trim(), k -> k)); + Map<String, BtmTypeAttributeVO> attributeMap = btm.getAttributes().stream().collect(Collectors.toMap(t -> t.getId().toLowerCase().trim(), k -> k)); + List<String> addList = new ArrayList<>(); + List<String> editList = new ArrayList<>(); + List<String> deleteList = new ArrayList<>(); + List<String> beforeList = new ArrayList<>(); + attributeMap.forEach((k,v) -> { + String attributeLowId = k.toLowerCase(); + if (!checkIsDefaultColumn(attributeLowId)) { + if (tableColumMap.containsKey(k)) { + //璇存槑浠ュ墠涔熸湁锛岄偅灏辩湅鏄惁闇�瑕佷慨鏀� + DdlTableInDataBaseBO columnInDB = tableColumMap.get(k); + if (columnInDB.getAttributeLength() == null) { + columnInDB.setAttributeLength(0); + } + boolean needEdit = false; + if (!v.getName().equalsIgnoreCase(columnInDB.getName())) { + //璇存槑闇�瑕佷慨鏀� + needEdit = true; + } + if (needEdit || checkNeedEditAttr(v, columnInDB)) { + editList.add(v.getId()); + beforeList.add(columnInDB.getId() + StringPool.SPACE + columnInDB.getAttrDataType() + "(" + columnInDB.getAttributeLength() + ")" + StringPool.SPACE + columnInDB.getNullableFlag() + + StringPool.SPACE + columnInDB.getPrecisionLength() + StringPool.SPACE + columnInDB.getScaleLength() + StringPool.SPACE + columnInDB.getName()); + } + } else { + addList.add(v.getId()); + } + } else { + //閽堝榛樿灞炴�э紝濡傛灉浠ュ墠娌℃湁锛岀幇鍦ㄦ湁鍙互娣诲姞锛屽鏋滀互鍓� + if (!tableColumMap.containsKey(k)) { + boolean needAddNewField = false; + if (!BtmTypeLcStatusConstant.EMTYPE_LIFE_CYCLE.equalsIgnoreCase(btm.getLifeCycleId()) && BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP.containsKey(attributeLowId)) { + needAddNewField = true; + } + if (StringUtils.isNotBlank(btm.getRevisionRuleId()) && BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP.containsKey(attributeLowId)) { + needAddNewField = true; + } + if (btm.isSecretFlag() && BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP.containsKey(attributeLowId)) { + needAddNewField = true; + } + if (needAddNewField) { + addList.add(v.getId()); + } + } + } + }); + tableColumMap.forEach((k, v) -> { + if (!attributeMap.containsKey(k)) { + deleteList.add(k); + } + }); + modifyAttributeInfo.setOrderModifyUserName(AuthUtil.getUserAccount()); + modifyAttributeInfo.setOrderModifyDate(new Date()); + modifyAttributeInfo.setModifyColumnReason(ModifyTableTaskEnum.CONSISTENCY_CHECK.getValue()); + modifyAttributeInfo.setTaskName(ModifyTableTaskEnum.CONSISTENCY_CHECK.getValue()); + modifyAttributeInfo.setAddAttributes(String.join(",", addList)); + modifyAttributeInfo.setModifyAttributes(String.join(",", editList)); + modifyAttributeInfo.setDeleteAttributes(String.join(",", deleteList)); + modifyAttributeInfo.setBeforeModifyAttributes(String.join(",", beforeList)); + } + } + }); + return modifyAttributeInfoDOList; + } + + private boolean checkIsDefaultColumn(String attributeLowId) { + return ((BtmTypeFieldConstant.BASIC_FIELD_MAP.containsKey(attributeLowId) + && !VciBaseUtil.inArray(new String[]{"id", "name", "description"}, attributeLowId)) + || BtmTypeFieldConstant.LINK_TYPE_FIELD_MAP.containsKey(attributeLowId) + || BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP.containsKey(attributeLowId) + || BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP.containsKey(attributeLowId) + || BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP.containsKey(attributeLowId)); + } + + /** + * 妫�鏌ラ摼鎺ョ被鍨� + * + * @param linkTypeVOList 閾炬帴绫诲瀷 + * @return 妫�鏌ョ粨鏋� + */ + private List<ModifyAttributeInfo> checkLinkType(List<LinkTypeVO> linkTypeVOList) { + List<ModifyAttributeInfo> modifyAttributeInfoDOList = new ArrayList<>(); + linkTypeVOList.stream().filter(s -> !isCompatibilityTable(null,s.getId())).forEach(link -> { + ModifyAttributeInfo modifyAttributeInfo = new ModifyAttributeInfo(); + modifyAttributeInfo.setId(link.getId()); + modifyAttributeInfo.setName(link.getName()); + modifyAttributeInfo.setTableName(link.getTableName()); + modifyAttributeInfo.setBusinessType(BusinessTypeEnum.LINK.getValue()); + // 1. 瑙嗗浘鍜屾柊寤虹殑锛岀洿鎺ュ垱寤猴紝璁板綍鍒涘缓鍘嗗彶 + if (!checkTableExistByTableName(link.getTableName())){ + modifyAttributeInfo.setTaskName(ModifyTableTaskEnum.CREATE.getValue()); + modifyAttributeInfo.setModifyColumnReason(ModifyTableTaskEnum.CREATE.getValue()); + }else { + VciBaseUtil.alertNotNull(link.getAttributes(), "閾炬帴绫诲瀷" + link.getId() + "鐨勫睘鎬�"); + List<DdlTableInDataBaseBO> columnDataInTable = selectTableColumnInfo(link.getTableName()); + if (CollectionUtils.isEmpty(columnDataInTable)) { + modifyAttributeInfo.setAddAttributes(link.getAttributes().stream().map(s -> s.getId().toLowerCase().trim()).collect(Collectors.joining(","))); + modifyAttributeInfo.setTaskName(ModifyTableTaskEnum.EDIT.getValue()); + modifyAttributeInfo.setModifyColumnReason(ModifyTableTaskEnum.CREATE.getValue()); + } else { + // 2. 瀛樺湪鐨勬墠鍒ゆ柇锛屽垎鏂板灞炴�с�佸睘鎬ф洿鏀广�佸睘鎬у垹闄ゅ垎鍒搷浣� + // 3. 灞炴�ф搷浣滀腑鐗瑰埆鍒ゆ柇[鏄惁鎺у埗鐗堟湰][鏄惁鎺у埗瀵嗙骇][鏄惁鎺у埗鐢熷懡鍛ㄦ湡]鏉ユ坊鍔犲搴斿睘鎬� + Map<String, DdlTableInDataBaseBO> tableColumMap = columnDataInTable.stream().collect(Collectors.toMap(t -> t.getId().toLowerCase().trim(), k -> k)); + Map<String, LinkTypeAttributeVO> attributeMap = link.getAttributes().stream().collect(Collectors.toMap(t -> t.getId().toLowerCase().trim(), k -> k)); + List<String> addList = new ArrayList<>(); + List<String> editList = new ArrayList<>(); + List<String> deleteList = new ArrayList<>(); + List<String> beforeList = new ArrayList<>(); + attributeMap.forEach((k, v) -> { + String attributeLowId = k.toLowerCase(); + if (!(BtmTypeFieldConstant.LINK_TYPE_FIELD_MAP.containsKey(attributeLowId))) { + if (tableColumMap.containsKey(k)) { + //璇存槑浠ュ墠涔熸湁锛岄偅灏辩湅鏄惁闇�瑕佷慨鏀� + DdlTableInDataBaseBO columnInDB = tableColumMap.get(k); + if (columnInDB.getAttributeLength() == null) { + columnInDB.setAttributeLength(0); + } + boolean needEdit = false; + if (!v.getName().equalsIgnoreCase(columnInDB.getName())) { + //璇存槑闇�瑕佷慨鏀� + needEdit = true; + } + BtmTypeAttributeVO btmTypeAttributeVO = new BtmTypeAttributeVO(); + BeanUtil.copy(v, btmTypeAttributeVO); + if (needEdit || checkNeedEditAttr(btmTypeAttributeVO, columnInDB)) { + editList.add(v.getId()); + beforeList.add(columnInDB.getId() + StringPool.SPACE + columnInDB.getAttrDataType() + "(" + columnInDB.getAttributeLength() + ")" + StringPool.SPACE + columnInDB.getNullableFlag() + + StringPool.SPACE + columnInDB.getPrecisionLength() + StringPool.SPACE + columnInDB.getScaleLength() + StringPool.SPACE + columnInDB.getName()); + } + } else { + addList.add(v.getId()); + } + } else { + //閽堝榛樿灞炴�э紝濡傛灉浠ュ墠娌℃湁锛岀幇鍦ㄦ湁鍙互娣诲姞锛屽鏋滀互鍓� + if (!tableColumMap.containsKey(k)) { + boolean needAddNewField = false; + if (BtmTypeFieldConstant.LINK_TYPE_FIELD_MAP.containsKey(attributeLowId)) { + //鏄摼鎺ョ被鍨嬬殑灞炴�э紝浠ュ墠娌℃湁灏辨坊鍔犱笂 + needAddNewField = true; + } + if (needAddNewField) { + addList.add(v.getId()); + } + } + } + }); + tableColumMap.forEach((k, v) -> { + if (!attributeMap.containsKey(k)) { + deleteList.add(k); + } + }); + modifyAttributeInfo.setOrderModifyUserName(AuthUtil.getUserAccount()); + modifyAttributeInfo.setOrderModifyDate(new Date()); + modifyAttributeInfo.setModifyColumnReason(ModifyTableTaskEnum.CONSISTENCY_CHECK.getValue()); + modifyAttributeInfo.setTaskName(ModifyTableTaskEnum.CONSISTENCY_CHECK.getValue()); + modifyAttributeInfo.setAddAttributes(String.join(",", addList)); + modifyAttributeInfo.setModifyAttributes(String.join(",", editList)); + modifyAttributeInfo.setDeleteAttributes(String.join(",", deleteList)); + modifyAttributeInfo.setBeforeModifyAttributes(String.join(",", beforeList)); + } + + } + }); + return modifyAttributeInfoDOList; + } + + /** + * 鍒ゆ柇鏄惁闇�瑕佷慨鏀瑰睘鎬� + * + * @param btmTypeAttributeVO 灞炴�х殑鏄剧ず瀵硅薄 + * @param tableInDB 鏁版嵁搴撹〃閲岀殑瀵硅薄 + * @return true琛ㄧず闇�瑕佷慨鏀癸紝false琛ㄧず涓嶄慨鏀� + */ + private boolean checkNeedEditAttr(BtmTypeAttributeVO btmTypeAttributeVO, DdlTableInDataBaseBO tableInDB) { + if (tableInDB.getAttributeLength() == null) { + tableInDB.setAttributeLength(0); + } + if (tableInDB.getPrecisionLength() == null) { + tableInDB.setPrecisionLength(20); + } + if (tableInDB.getScaleLength() == null) { + tableInDB.setScaleLength(0); + } + String nullInDb = ""; + if (YES.equalsIgnoreCase(tableInDB.getNullableFlag())) { + nullInDb = BooleanEnum.TRUE.getValue(); + } else if (NO.equalsIgnoreCase(tableInDB.getNullableFlag())) { + nullInDb = BooleanEnum.FASLE.getValue(); + } + if (!(String.valueOf(btmTypeAttributeVO.isNullableFlag()).equalsIgnoreCase(nullInDb))) { + return true; + } + if (StringUtils.isNotBlank(btmTypeAttributeVO.getDefaultValue())) { + return true; + } + + + List<VciFieldTypeEnum> fieldTypes = dllMapper.listFieldByColumnStr(tableInDB.getAttrDataType()); + if (CollectionUtils.isEmpty(fieldTypes)) { + throw new VciBaseException("娌℃湁鎵惧埌瀵瑰簲鐨勫瓧娈电被鍨�"); + } + Set<String> names = fieldTypes.stream().map(Enum::name).collect(Collectors.toSet()); + String attributeDataType = btmTypeAttributeVO.getAttrDataType(); + if (names.size() > 1) { + return !names.contains(attributeDataType); + } else { + VciFieldTypeEnum fieldType = fieldTypes.get(0); + if (attributeDataType.equalsIgnoreCase(fieldType.name())) { + switch (fieldType) { + case VTString: + if (btmTypeAttributeVO.getAttributeLength().intValue() != tableInDB.getAttributeLength().intValue()) { + return true; + } + break; + case VTDouble: + //涓嶈秴杩�128 + if (btmTypeAttributeVO.getPrecisionLength().intValue() != tableInDB.getPrecisionLength().intValue()) { + return true; + } + if (btmTypeAttributeVO.getScaleLength().intValue() != tableInDB.getScaleLength().intValue()) { + return true; + } + break; + default: + break; + } + } + return false; + } } /** @@ -469,8 +807,138 @@ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮墽琛屽嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ @Override - public void reflexDifferent(List<ModifyAttributeInfoDO> differentAttributeList) throws VciBaseException { + public void reflexDifferent(List<ModifyAttributeInfo> differentAttributeList, List<BtmTypeVO> btmTypeVOList, List<LinkTypeVO> linkTypeVOList) throws VciBaseException { + VciBaseUtil.alertNotNull(differentAttributeList, "瑕佹竻鐞嗙殑鏁版嵁搴撶殑淇℃伅涓虹┖"); + Map<String, BtmTypeVO> idBtmTypeMap = btmTypeVOList.stream().collect(Collectors.toMap(BtmTypeVO::getId, t -> t, (o1, o2) -> o1)); + Map<String, LinkTypeVO> idLinkTypeMap = linkTypeVOList.stream().collect(Collectors.toMap(LinkTypeVO::getId, t -> t, (o1, o2) -> o1)); + differentAttributeList.forEach(s -> { +// BtmTypeVO btmType = idBtmTypeMap.get(id); + if (ModifyTableTaskEnum.CREATE.getValue().equalsIgnoreCase(s.getTaskName())) { + //鐩存帴鍒涘缓琛ㄦ牸 +// createDbTableForBtm(btmType); + createDbTablesById(s.getId()); + } else { + String addAttributes = s.getAddAttributes(); + if (StringUtils.isNotBlank(s.getModifyAttributes()) || StringUtils.isNotBlank(s.getDeleteAttributes())) { + //闇�瑕佸幓鍒ゆ柇鏄惁鍙互鏇存敼 + if (checkTableHasDataByTableName(s.getTableName())) { + //鏈夋暟鎹殑璇濓紝寰楅渶瑕佸垽鏂睘鎬ф槸鍚﹀彲浠ヤ慨鏀� + if (StringUtils.isNotBlank(s.getDeleteAttributes())) { + s.setHandleResult("琛ㄦ牸瀛樺湪鏁版嵁锛屼笉鍏佽鍒犻櫎瀛楁"); + return; + } + List<DdlTableInDataBaseBO> columnInDbList = selectTableColumnInfo(s.getTableName()); + Map<String, DdlTableInDataBaseBO> columnInDbMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(columnInDbList)) { + columnInDbMap = columnInDbList.stream().collect(Collectors.toMap(t -> t.getId().toLowerCase(), k -> k)); + } + List<BtmTypeAttributeVO> attributeVOList = idBtmTypeMap.getOrDefault(s.getId(), new BtmTypeVO()).getAttributes().stream().filter(vo -> Func.toStrList(",", s.getAddAttributes()).stream().anyMatch(id -> StringUtils.equals(vo.getId().toLowerCase(), id))).collect(Collectors.toList()); + //鏈夊彲鑳戒箣鍓嶅垽鏂殑鏃跺�欐暟鎹簱瀛樺湪锛岃�岀幇鍦ㄤ笉瀛樺湪浜� + List<String> unExitInDbIdList = new ArrayList<>(); + Map<String, DdlTableInDataBaseBO> finalColumnInDbMap = columnInDbMap; + List<BtmTypeAttributeVO> needEditAttributeVOList = new ArrayList<>(); + if (!CollectionUtils.isEmpty(attributeVOList)) { + attributeVOList.forEach(t -> { + if (finalColumnInDbMap.containsKey(t.getId().toLowerCase().trim())) { + needEditAttributeVOList.add(t); + } else { + unExitInDbIdList.add(t.getId()); + } + }); + } + if (!CollectionUtils.isEmpty(needEditAttributeVOList)) { + List<BtmTypeAttributeVO> unModifyAttrVOList = needEditAttributeVOList.stream().filter(t -> !checkNotCanEditAttr(t.getAttrDataType(), finalColumnInDbMap.get(t.getId().trim().toLowerCase()))).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(unModifyAttrVOList)) { + s.setHandleResult("琛ㄦ牸瀛樺湪鏁版嵁锛�" + unModifyAttrVOList.stream().map(BtmTypeAttributeVO::getId).collect(Collectors.joining(",")) + "杩欎簺瀛楁涓嶈兘淇敼"); + return; + } + needEditAttributeVOList.stream().forEach(t -> { + String attributeLowerId = t.getId().trim().toLowerCase(); + DdlTableInDataBaseBO columInDb = finalColumnInDbMap.get(attributeLowerId); + if (!t.getName().equalsIgnoreCase(columInDb.getName())) { + ddlMapper.commentColumnTable(s.getTableName(), t.getId(), t.getName()); + } + if (columInDb.getAttributeLength() != null && t.getAttributeLength() != null + && t.getAttributeLength() < columInDb.getAttributeLength()) { + t.setAttributeLength(columInDb.getAttributeLength()); + } + List<BtmTypeAttributeVO> attributeVOS = new ArrayList<>(); + boolean nowNeedNull = false; + if (!YES.equalsIgnoreCase(columInDb.getNullableFlag()) && !t.isNullableFlag()) { + //璇存槑浠ュ墠鏄笉鑳戒负绌虹殑,浣嗘槸浠ュ墠涔熸槸涓嶄负绌虹殑锛屼慨鏀逛細鎶ラ敊锛屾墍浠ヨ繖涓皟鏁翠竴涓� + t.setNullableFlag(true); + } else if (!YES.equalsIgnoreCase(columInDb.getNullableFlag()) && t.isNullableFlag()) { + //浠ュ墠涓嶄负绌猴紝鐜板湪涓虹┖ + nowNeedNull = true; + } + attributeVOS.add(t); + String attributeSql = getCreateSqlByAttributeForBtm(attributeVOS); + if (nowNeedNull) { + attributeSql += StringPool.SPACE + "null" + StringPool.SPACE; + } + ddlMapper.modifyTableBySql(s.getTableName(), attributeSql); + }); + } + if (!CollectionUtils.isEmpty(unExitInDbIdList)) { + if (StringUtils.isBlank(addAttributes)) { + addAttributes = String.join(",", unExitInDbIdList); + } else { + addAttributes += "," + String.join(",", unExitInDbIdList); + ; + } + } + } else { + //璇存槑娌℃湁鏁版嵁锛岄偅鍙互鎶婁慨鏀圭殑鍒楀拰鍒犻櫎鐨勫垪閮藉垹闄わ紝鐒跺悗閲嶆柊娣诲姞 + if (StringUtils.isNotBlank(s.getModifyAttributes())) { + List<BtmTypeAttributeVO> attributeVOList = idBtmTypeMap.getOrDefault(s.getId(), new BtmTypeVO()).getAttributes().stream().filter(vo -> Func.toStrList(",", s.getModifyAttributes()).stream().anyMatch(id -> StringUtils.equals(vo.getId(), id))).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(attributeVOList)) { + attributeVOList.forEach(t -> { + List<BtmTypeAttributeVO> attributeVOS = new ArrayList<>(); + attributeVOS.add(t); + dropColumnByName(s.getTableName(), t.getId()); + addColumnForTable(s.getTableName(), attributeVOS); + ddlMapper.commentColumnTable(s.getTableName(), t.getId(), t.getName()); + }); + } + } + //闇�瑕佸垹闄ょ殑鍒� + if (StringUtils.isNotBlank(s.getDeleteAttributes())) { + List<String> attributeIdList = VciBaseUtil.str2List(s.getDeleteAttributes()); + Optional.ofNullable(attributeIdList).orElseGet(ArrayList::new).forEach(t -> { + dropColumnByName(s.getTableName(), t); + }); + } + } + } + if (StringUtils.isNotBlank(addAttributes)) { + //鍙槸娣诲姞灞炴�у�� + if (BusinessTypeEnum.LINK.getValue().equalsIgnoreCase(s.getBusinessType())) { + List<LinkTypeAttributeVO> attributeVOList = idLinkTypeMap.getOrDefault(s.getId(), new LinkTypeVO()).getAttributes().stream().filter(vo -> Func.toStrList(",", s.getAddAttributes()).stream().anyMatch(id -> StringUtils.equals(vo.getId(), id))).collect(Collectors.toList()); + //鏄摼鎺ョ被鍨� +// List<LinkTypeAttributeVO> attributeVOList = linkTypeService.listAttributeVOByIdsForLink(s.getId(), VciBaseUtil.str2List(s.getAddAttributes())); + addColumn2TableForLink(attributeVOList); + } else { + List<BtmTypeAttributeVO> attributeVOList = idBtmTypeMap.getOrDefault(s.getId(), new BtmTypeVO()).getAttributes().stream().filter(vo -> Func.toStrList(",", s.getAddAttributes()).stream().anyMatch(id -> StringUtils.equals(vo.getId(), id))).collect(Collectors.toList()); + addColumn2TableForBtm(attributeVOList); + } + } + } + }); + } + + private boolean checkNotCanEditAttr(String attributeDataType, DdlTableInDataBaseBO tableInDB) { + if (tableInDB != null && StringUtils.isNotBlank(attributeDataType)) { + List<VciFieldTypeEnum> fieldTypeEnums = dllMapper.listFieldByColumnStr(tableInDB.getAttrDataType()); + Set<String> names = fieldTypeEnums.stream().map(Enum::name).collect(Collectors.toSet()); + if (names.contains(attributeDataType)) { + return true; + } + return true; + } else { + //鍥犱负鏁版嵁搴撻噷娌℃湁杩欎釜琛ㄦ牸鏃� + return true; + } } /** @@ -492,7 +960,7 @@ */ @Override public List<DdlTableBO> listTableInfoInDB(Collection<String> tableNamesCollections) throws VciBaseException { - VciBaseUtil.alertCollectionNotNull("鏁版嵁搴撹〃鍚嶇О涓嶈兘涓虹┖", tableNamesCollections); + VciBaseUtil.alertNotNull("鏁版嵁搴撹〃鍚嶇О涓嶈兘涓虹┖", tableNamesCollections); List<DdlTableBO> tableBOList = new ArrayList<>(); tableNamesCollections.stream().forEach(s -> { tableBOList.add(ddlMapper.selectTableComment(s)); @@ -561,49 +1029,30 @@ /** * 涓氬姟绫诲瀷鏁版嵁搴撴柊澧炴垨淇敼琛� * - * @param dto 涓氬姟绫诲瀷浼犺緭瀵硅薄 + * @param ddlDTO 涓氬姟绫诲瀷閾炬帴绫诲瀷浼犺緭瀵硅薄 * @return 鎵ц缁撴灉 */ @Override - public R submitBtmType(BtmTypeDTO dto) { - VciBaseUtil.alertNotNull(dto, "涓氬姟绫诲瀷", dto.getAttributesDTOList(), "涓氬姟绫诲瀷灞炴��"); - BtmTypeVO btmTypeVO = Objects.requireNonNull(BeanUtil.copy(dto, BtmTypeVO.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); + public R<List<ModifyAttributeInfo>> submit(BtmAndLinkTypeDdlDTO ddlDTO) { + try { + List<ModifyAttributeInfo> changedList = new ArrayList<>(); + if (!CollectionUtils.isEmpty(ddlDTO.getBtmTypeList())) { + List<BtmTypeVO> btmTypeList = ddlDTO.getBtmTypeList(); + putBtm(btmTypeList.toArray(new BtmTypeVO[0])); + changedList.addAll(checkDifferent(btmTypeList, null)); + removeBtm(btmTypeList.toArray(new BtmTypeVO[0])); } - } - return R.success("000000"); - } - - /** - * 妫�鏌ヤ笟鍔$被鍨嬬殑琛ㄦ槸鍚﹀瓨鍦紝濡傛灉瀛樺湪鍒欐瘮杈冨樊鍒繘琛屼慨鏀癸紝涓嶅瓨鍦ㄥ垯鍒涘缓 - * - * @param btmTypeVO 涓氬姟绫诲瀷 - */ - private void checkModifyOrCreateTable(BtmTypeVO btmTypeVO) { - if (checkTableExistByTableName(btmTypeVO.getTableName())) { - // 琛ㄥ凡瀛樺湪锛屾牎楠屽睘鎬� - List<BtmTypeVO> vos = new ArrayList<>(); - vos.add(btmTypeVO); - List<ModifyAttributeInfoDO> differentAttributeList = checkDifferent(vos, null); - if (CollectionUtils.isEmpty(differentAttributeList)) { - // 鍙互鐩存帴鍒犻櫎鍐嶅垱寤� - dropTableByName(btmTypeVO.getTableName()); - createDbTableForBtm(btmTypeVO); - } else { - // TODO: 淇敼鐨勬殏鏃惰繕娌″仛 + if (!CollectionUtils.isEmpty(ddlDTO.getLinkTypeList())) { + List<LinkTypeVO> linkTypeList = ddlDTO.getLinkTypeList(); + putLink(linkTypeList.toArray(new LinkTypeVO[0])); + changedList.addAll(checkDifferent(null,linkTypeList)); + removeLink(linkTypeList.toArray(new LinkTypeVO[0])); } - } else { - createDbTableForBtm(btmTypeVO); + R<List<ModifyAttributeInfo>> result = R.success("鏁版嵁搴撴搷浣滄垚鍔�"); + result.setData(changedList); + return result; + } catch (ServiceException e) { + throw new RuntimeException(e.getMessage()); } } @@ -615,7 +1064,7 @@ */ @Override public DdlTableBO getTableColumnByTableName(String tableName) { - VciBaseUtil.alertNotNull(tableName,"琛ㄥ悕"); + VciBaseUtil.alertNotNull(tableName, "琛ㄥ悕"); DdlTableBO tableBO = getTableInfoByTableName(tableName); List<DdlTableInDataBaseBO> columnInfo = selectTableColumnInfo(tableName); tableBO.setColumns(columnInfo); @@ -635,10 +1084,11 @@ /** * 琛ㄥ悕鑾峰彇琛ㄤ俊鎭� + * * @param tableName 琛ㄥ悕 * @return 琛ㄤ俊鎭� */ - private DdlTableBO getTableInfoByTableName(String tableName){ + private DdlTableBO getTableInfoByTableName(String tableName) { VciBaseUtil.alertNotNull(tableName, "琛ㄦ牸鍚嶇О"); return ddlMapper.selectTableComment(tableName); } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java index 2a88bb7..698a29a 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java @@ -1,11 +1,13 @@ package com.vci.ubcs.omd.controller; +import com.alibaba.nacos.api.exception.NacosException; 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.BtmTypeDTO; import com.vci.ubcs.omd.entity.BtmType; +import com.vci.ubcs.omd.repeater.DomainRepeater; import com.vci.ubcs.omd.service.IBtmTypeService; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.omd.wrapper.BtmTypeWrapper; @@ -107,12 +109,12 @@ * @param dto 鍏冩暟鎹〉闈紶杈撳璞� * @return 鎵ц缁撴灉 */ - @PostMapping("/submit") + @PostMapping("/submit/{auto}") @ApiOperationSupport(order = 3) - @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆鍏冩暟鎹璞�") - public R submit(@Valid @RequestBody BtmTypeDTO dto) { + @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆涓氬姟绫诲瀷瀵硅薄") + public R submit(@Valid @RequestBody BtmTypeDTO dto,@PathVariable(value = "auto") boolean auto) { CacheUtil.clear(OmdCacheConstant.BTM_CACHE); - return R.status(btmTypeService.submit(dto)); + return btmTypeService.submit(dto,auto); } /** @@ -134,4 +136,18 @@ } return R.status(btmTypeService.removeBatchByIds(oidList)); } + + /** + * 鑾峰彇棰嗗煙鍊� + */ + @GetMapping("/domain") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "鑾峰彇棰嗗煙鍊�") + public R<List<String>> getDomain(){ + try { + return R.data(DomainRepeater.getDomain()); + } catch (NacosException e) { + return R.fail(e.getErrMsg()); + } + } } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java index 5625897..9cc00c3 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java @@ -54,7 +54,7 @@ * @return 鏌ヨ缁撴灉 */ @Override - public R<IPage<BtmTypeVO>> getRef(Map<String, Object> condition, Query query, String domain) { + public R<IPage<BtmTypeVO>> getRefPage(Map<String, Object> condition, Query query, String domain) { Func.requireNotNull(domain,"棰嗗煙鍊�"); IPage<BtmType> page = btmTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(condition, BtmType.class).lambda().eq(BtmType::getDomain, domain).orderByAsc(BtmType::getId)); IPage<BtmTypeVO> pageVO = new Page<>(); @@ -66,6 +66,20 @@ } /** + * 鍙傜収鍒楄〃鏌ヨ + * + * @param condition 鏌ヨ鏉′欢 + * @param domain 棰嗗煙鍊� + * @return 鏌ヨ缁撴灉 + */ + @Override + public R<List<BtmTypeVO>> getRef(Map<String, Object> condition, String domain) { + Func.requireNotNull(domain,"棰嗗煙鍊�"); + List<BtmType> list = btmTypeService.list(Condition.getQueryWrapper(condition, BtmType.class).lambda().eq(BtmType::getDomain, domain).orderByAsc(BtmType::getId)); + return R.data(BtmTypeWrapper.build().listEntityVO(list)); + } + + /** * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鏌ヨ瀵硅薄 * * @param ids 瀵硅薄鑻辨枃鍚嶇О 浣嗘槸涓嶈兘瓒呰繃1000 diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeAttributeMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeAttributeMapper.java index 793bec1..867a903 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeAttributeMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeAttributeMapper.java @@ -1,13 +1,37 @@ package com.vci.ubcs.omd.mapper; import com.vci.ubcs.omd.entity.BtmTypeAttribute; +import org.apache.ibatis.annotations.Param; import org.springblade.core.mp.mapper.BladeMapper; +import java.util.Collection; +import java.util.List; + /** - * Description: + * Description: 涓氬姟绫诲瀷鍏宠仈灞炴�х殑mapper * * @author LiHang * @date 2023/4/23 */ public interface BtmTypeAttributeMapper extends BladeMapper<BtmTypeAttribute> { + + int batchDelete(List<String> records); + + + int batchUpdate(List<BtmTypeAttribute> btmTypeAttributeDOList); + + /** + * 鑾峰彇涓氬姟绫诲瀷涓殑鎸囧畾灞炴�� + * @param id 涓氬姟绫诲瀷鐨勪富閿� + * @param attributeIdCollection 灞炴�х殑id, + * @return 灞炴�х殑鏁版嵁瀵硅薄 + */ + List<BtmTypeAttribute> selectByBtmTypeIdAndAttributeIds(@Param("btmTypeId")String id, @Param("ids") Collection<String> attributeIdCollection); + + /** + * 閫氳繃涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉拌幏鍙栧叧鑱旂殑灞炴�� + * @param ids 涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉伴泦鍚� + * @return 鍖呭惈鐨勫睘鎬� + */ + List<BtmTypeAttribute> selectByBtmTypeIds(@Param("ids") Collection<String> ids); } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/ModifyAttributeInfoMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/ModifyAttributeInfoMapper.java new file mode 100644 index 0000000..d23f570 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/ModifyAttributeInfoMapper.java @@ -0,0 +1,13 @@ +package com.vci.ubcs.omd.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.vci.ubcs.omd.entity.ModifyAttributeInfo; + +/** + * Description: + * + * @author LiHang + * @date 2023/5/4 + */ +public interface ModifyAttributeInfoMapper extends BaseMapper<ModifyAttributeInfo> { +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java index 2ee2237..24e772c 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/repeater/DomainRepeater.java @@ -6,7 +6,10 @@ import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.pojo.Instance; +import com.alibaba.nacos.api.naming.pojo.ServiceInfo; +import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO; import com.vci.ubcs.omd.vo.BtmTypeVO; +import com.vci.ubcs.omd.vo.LinkTypeVO; import org.springblade.core.launch.constant.AppConstant; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; @@ -16,13 +19,13 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Component; +import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; import javax.annotation.PostConstruct; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; +import java.util.*; +import java.util.stream.Collectors; /** * Description: 棰嗗煙杞彂鍣� @@ -30,9 +33,8 @@ * @author LiHang * @date 2023/4/25 */ +@Component public class DomainRepeater { - private DomainRepeater() { - } /** * 鎺у埗鍣ㄨ矾寰� @@ -42,63 +44,183 @@ /** * 鏂板鎴栦慨鏀圭殑杞彂璺緞鍚嶇О */ - public static final String API_SUBMIT_BTM_TYPE = API_PREFIX + StringPool.SLASH +"submitBtmType"; + public static final String API_SUBMIT = API_PREFIX + StringPool.SLASH + "submit"; /** * 琛ㄥ悕鑾峰彇琛ㄤ俊鎭� */ - public static final String API_GET_TABLE_INFO = API_PREFIX + StringPool.SLASH +"getTableColumnByTableName"; + 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"; + public static final String API_GET_ALL_TABLE_INFO = API_PREFIX + StringPool.SLASH + "getAllTableInfo"; + /** + * 鑾峰彇鏁版嵁搴撳拰涓氬姟绫诲瀷涓殑涓嶅悓鐨勫湴鏂� + */ + public static final String API_CHECK_DIFFERENT_REFLEX = API_PREFIX + StringPool.SLASH + "checkDifferentAndReflex"; + /** + * 鐢ㄤ簬鏋勫缓闈欐�佹湇鍔$被 + */ + public static DomainRepeater domainRepeater; /** * Nacos鏈嶅姟鍒楄〃 */ - private static NamingService namingService = SINGLE.build(); + private static NamingService namingService; - private static class SINGLE { - @Autowired - private NacosServiceManager manager; - private static NacosServiceManager nacosServiceManager; + @Autowired + private NacosServiceManager manager; - @Autowired - private NacosDiscoveryProperties properties; - private static NacosDiscoveryProperties nacosDiscoveryProperties; + @Autowired + private NacosDiscoveryProperties properties; - @PostConstruct - private void init(){ - nacosServiceManager = manager; - nacosDiscoveryProperties = properties; - } - private static NamingService build(){ - return nacosServiceManager.getNamingService(nacosDiscoveryProperties.getNacosProperties()); - } + @PostConstruct + private void init() { + domainRepeater = this; + namingService = manager.getNamingService(properties.getNacosProperties()); } - public static R submitBtmType (String serviceName, BtmTypeVO btmTypeVO) throws NacosException { - Instance service = namingService.selectOneHealthyInstance(AppConstant.APPLICATION_GATEWAY_NAME); + /** + * 涓�鑷存�ф鏌� + * @param ddlDTO 涓氬姟绫诲瀷銆侀摼鎺ョ被鍨嬩紶杈撳璞� + * @param serviceName 鏈嶅姟鍚� + * @return 鎵ц缁撴灉锛屾湁淇敼鐨勫氨浼氳繑鍥炪�� + * @throws NacosException nacos鏌ヨ鏈嶅姟鍑洪敊鏃舵姏鍑哄紓甯� + */ + public static R checkDifferent(BtmAndLinkTypeDdlDTO ddlDTO,String serviceName) throws NacosException { try { - String url = "http://" + service.getIp() +StringPool.COLON+ service.getPort() + StringPool.SLASH + serviceName + StringPool.SLASH + API_SUBMIT_BTM_TYPE; - ResponseEntity<R> responseEntity = executePost(url, JSONObject.toJSONString(btmTypeVO), null); - if (responseEntity.getStatusCode().equals(HttpStatus.OK)){ - return responseEntity.getBody(); + String url = getUrl(serviceName, API_CHECK_DIFFERENT_REFLEX); + ResponseEntity<R> responseEntity = executePost(url, JSONObject.toJSONString(ddlDTO), null); + if (responseEntity.getStatusCode().equals(HttpStatus.OK)) { + R body = Objects.requireNonNull(responseEntity.getBody()); + return body; } return R.fail(String.valueOf(responseEntity.getStatusCode().value())); + }catch (HttpClientErrorException e) { + if (HttpStatus.NOT_FOUND.equals(e.getStatusCode())) { + R fail = R.fail("璋冪敤鏈嶅姟澶辫触"); + fail.setCode(HttpStatus.NOT_FOUND.value()); + return fail; + } } catch (Exception e) { throw new RuntimeException(e); } + return R.fail("鏈煡閿欒"); } - private static ResponseEntity<R> executePost(String url, String body,Map<String,String> extraHeaders) throws IOException { + /** + * 鏍规嵁api鎺ュ彛鎷兼帴url鍦板潃 + * @param serviceName 鏈嶅姟鍚� + * @param api 鎺ュ彛鍦板潃 + * @return url鍦板潃 + * @throws NacosException nacos鏌ヨ鏈嶅姟鍑洪敊鏃舵姏鍑哄紓甯� + */ + + public static String getUrl(String serviceName,String api) throws NacosException { + Instance service = namingService.selectOneHealthyInstance(AppConstant.APPLICATION_GATEWAY_NAME); + return "http://" + service.getIp() + StringPool.COLON + service.getPort() + StringPool.SLASH + serviceName + StringPool.SLASH + api; + } + + + /** + * 鏂板鎴栦慨鏀逛笟鍔$被鍨� + * @param vo 涓氬姟绫诲瀷浼犺緭瀵硅薄 + * @param serviceName 鏈嶅姟鍚� + * @return 鎵ц缁撴灉锛屾湁淇敼鐨勫氨浼氳繑鍥炪�� + */ + public static R submitBtmType(String serviceName, BtmTypeVO vo) { + try { + String url = getUrl(serviceName, API_SUBMIT); + BtmAndLinkTypeDdlDTO ddlDTO = new BtmAndLinkTypeDdlDTO(); + ddlDTO.setBtmTypeList(new ArrayList<>(Collections.singletonList(vo))); + ResponseEntity<R> responseEntity = executePost(url, JSONObject.toJSONString(ddlDTO), null); + if (responseEntity.getStatusCode().equals(HttpStatus.OK)) { + return responseEntity.getBody(); + } + return R.fail(String.valueOf(responseEntity.getStatusCode().value())); + } catch (HttpClientErrorException e) { + if (HttpStatus.NOT_FOUND.equals(e.getStatusCode())) { + R fail = R.fail("璋冪敤鏈嶅姟澶辫触"); + fail.setCode(HttpStatus.NOT_FOUND.value()); + return fail; + } + } catch (Exception e) { + throw new RuntimeException(e); + } + return R.fail("鏈煡閿欒"); + } + + /** + * 鏂板鎴栦慨鏀归摼鎺ョ被鍨� + * @param vo 涓氬姟绫诲瀷浼犺緭瀵硅薄 + * @param serviceName 鏈嶅姟鍚� + * @return 鎵ц缁撴灉锛屾湁淇敼鐨勫氨浼氳繑鍥炪�� + */ + public static R submitLinkType(String serviceName, LinkTypeVO vo) { + try { + String url = getUrl(serviceName, API_SUBMIT); + BtmAndLinkTypeDdlDTO ddlDTO = new BtmAndLinkTypeDdlDTO(); + ddlDTO.setLinkTypeList(new ArrayList<>(Collections.singletonList(vo))); + ResponseEntity<R> responseEntity = executePost(url, JSONObject.toJSONString(ddlDTO), null); + if (responseEntity.getStatusCode().equals(HttpStatus.OK)) { + return responseEntity.getBody(); + } + return R.fail(String.valueOf(responseEntity.getStatusCode().value())); + } catch (HttpClientErrorException e) { + if (HttpStatus.NOT_FOUND.equals(e.getStatusCode())) { + R fail = R.fail("璋冪敤鏈嶅姟澶辫触"); + fail.setCode(HttpStatus.NOT_FOUND.value()); + return fail; + } + } catch (Exception e) { + throw new RuntimeException(e); + } + return R.fail("鏈煡閿欒"); + } + + /** + * 鎵цhttpPost鎺ュ彛 + * + * @param url 鍦板潃 + * @param body 璇锋眰浣� + * @param extraHeaders 璇锋眰澶村弬鏁� + * @return 鎵ц缁撴灉 + */ + private static ResponseEntity<R> executePost(String url, String body, Map<String, String> extraHeaders) { RestTemplate restTemplate = new RestTemplate(); HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.add("Content-Type","application/json;charset=UTF-8"); + httpHeaders.add("Content-Type", "application/json;charset=UTF-8"); httpHeaders.add("Blade-Auth", AuthUtil.getHeader()); Optional.ofNullable(extraHeaders).orElseGet(HashMap::new).forEach(httpHeaders::add); - HttpEntity<String> request = new HttpEntity<>(body,httpHeaders); + HttpEntity<String> request = new HttpEntity<>(body, httpHeaders); return restTemplate.postForEntity(url, request, R.class); } + + /** + * 鑾峰彇鎵�鏈夊凡娉ㄥ唽鐨勬湇鍔� + * @return 涓嶅寘鍚粯璁ゆ湇鍔$殑鍏朵粬鏈嶅姟 + * @throws NacosException + */ + public static List<String> getDomain() throws NacosException { + List<ServiceInfo> services = namingService.getSubscribeServices(); + Set<String> serviceNames = new HashSet<>(); + serviceNames.add(AppConstant.APPLICATION_GATEWAY_NAME); + serviceNames.add(AppConstant.APPLICATION_ADMIN_NAME); + serviceNames.add(AppConstant.APPLICATION_AUTH_NAME); + serviceNames.add(AppConstant.APPLICATION_DESK_NAME); + serviceNames.add(AppConstant.APPLICATION_DEVELOP_NAME); + serviceNames.add(AppConstant.APPLICATION_FLOW_NAME); + serviceNames.add(AppConstant.APPLICATION_FLOWDESIGN_NAME); + serviceNames.add(AppConstant.APPLICATION_LOG_NAME); + serviceNames.add(AppConstant.APPLICATION_REPORT_NAME); + serviceNames.add(AppConstant.APPLICATION_SWAGGER_NAME); + serviceNames.add(AppConstant.APPLICATION_SYSTEM_NAME); + serviceNames.add(AppConstant.APPLICATION_TURBINE_NAME); + serviceNames.add(AppConstant.APPLICATION_USER_NAME); + serviceNames.add(AppConstant.APPLICATION_WEBSOCKET_NAME); + serviceNames.add(AppConstant.APPLICATION_ZIPKIN_NAME); + serviceNames.add(AppConstant.APPLICATION_NAME_OMD); + return services.stream().map(ServiceInfo::getName).filter(s -> !serviceNames.contains(s)).collect(Collectors.toList()); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java index dabf1bb..372316a 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java @@ -3,10 +3,10 @@ import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO; import com.vci.ubcs.omd.entity.BtmTypeAttribute; import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; +import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseService; -import java.util.Date; -import java.util.List; +import java.util.*; /** * Description:涓氬姟绫诲瀷鍏宠仈灞炴�х殑鏈嶅姟 @@ -22,9 +22,9 @@ * @param attributesDTOList 椤甸潰浼犺緭瀵硅薄闆嗗悎 * @param creator 鍒涘缓浜� * @param now ts鏃堕棿鎴� - * @return 鍙楀奖鍝嶇殑琛屾暟 + * @return 淇濆瓨鐨勬樉绀哄璞� */ - int checkAndInsert(String btmTypeOid, List<BtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now); + List<BtmTypeAttributeVO> checkAndInsert(String btmTypeOid, List<BtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now); /** * 鎵归噺鎻掑叆 @@ -38,4 +38,46 @@ * @return 鏌ヨ缁撴灉 */ List<BtmTypeAttributeVO> getAttributeByBtmTypeOid(String btmTypeOid); + + + /** + * 鏍规嵁涓氬姟绫诲瀷涓婚敭鑾峰彇鍏宠仈鐨勬墍鏈夊睘鎬у璞� + * + * @param oidCollection 涓氬姟绫诲瀷涓婚敭闆嗗悎 + * @return 鎵�鏈夌殑灞炴�у璞★紝鍖呮嫭绯荤粺鍐呯疆灞炴�э紝key鏄笟鍔$被鍨嬩富閿紝value鏄寘鍚殑灞炴�� + * @throws ServiceException 涓氬姟绫诲瀷涓嶅瓨鍦紝鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑哄紓甯� + */ + List<BtmTypeAttributeVO> batchListHasAttributesByBtmTypeOidCollection(Collection<String> oidCollection); + + /** + * 妫�鏌ュ睘鎬у瓨鍦ㄥ苟鍒犻櫎 + * @param records 涓婚敭闆嗗悎 + * @return 鍙楀奖鍝嶇殑琛屾暟 + */ + int checkAndRemove(List<String> records); + + /** + * 妫�鏌ュ睘鎬у瓨鍦ㄥ苟娣诲姞 + * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭 + * @param attributesDTOList 椤甸潰浼犺緭瀵硅薄闆嗗悎 + * @param creator 鍒涘缓浜� + * @param now ts鏃堕棿鎴� + * @return 淇濆瓨鐨勬樉绀哄璞� + */ + List<BtmTypeAttributeVO> checkAndUpdate(String btmTypeOid, List<BtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now); + + /** + * 鑾峰彇涓氬姟绫诲瀷涓殑鎸囧畾灞炴�� + * @param id 涓氬姟绫诲瀷鐨勪富閿� + * @param attributeIdCollection 灞炴�х殑id,鑻ヤ负绌哄垯鑾峰彇鍏ㄩ儴 + * @return 灞炴�х殑鏁版嵁瀵硅薄 + */ + List<BtmTypeAttribute> selectByBtmTypeIdAndAttributeIds(String id, Collection<String> attributeIdCollection); + + /** + * 閫氳繃涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉拌幏鍙栧叧鑱旂殑灞炴�� + * @param idList 涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉伴泦鍚� + * @return 鍖呭惈鐨勫睘鎬� + */ + List<BtmTypeAttribute> selectByBtmTypeIds(List<String> idList); } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java index 066dbe1..f59367e 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java @@ -4,12 +4,13 @@ import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO; import com.vci.ubcs.omd.entity.BtmType; import com.vci.ubcs.omd.entity.BtmTypeAttribute; -import com.vci.ubcs.omd.entity.ModifyAttributeInfoDO; +import com.vci.ubcs.omd.entity.ModifyAttributeInfo; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; import com.vci.ubcs.omd.vo.LinkTypeVO; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseService; +import org.springblade.core.tool.api.R; import java.util.Collection; import java.util.Date; @@ -170,24 +171,6 @@ boolean checkBtmTypeUseds(Collection<String> oidCollection) throws ServiceException; /** - * 娣诲姞涓氬姟绫诲瀷 - * @param btmTypeDTO 涓氬姟绫诲瀷鏁版嵁浼犺緭瀵硅薄 - * @param autoCreateTable 鏄惁鑷姩鍒涘缓琛ㄦ牸 - * @return 娣诲姞鍚庣殑涓氬姟绫诲瀷 - * @throws ServiceException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - BtmTypeDTO addSave(BtmTypeDTO btmTypeDTO, boolean autoCreateTable) throws ServiceException; - - /** - * 淇敼涓氬姟绫诲瀷 - * @param btmTypeDTO 涓氬姟绫诲瀷鏁版嵁浼犺緭瀵硅薄 - * @param autoEditTable 鏄惁鑷姩鏇存柊琛ㄦ牸 - * @return 淇敼鍚庣殑涓氬姟绫诲瀷 - * @throws ServiceException 淇敼鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - BtmTypeDTO editSave(BtmTypeDTO btmTypeDTO, boolean autoEditTable) throws ServiceException; - - /** * 鍒犻櫎涓氬姟绫诲瀷 * @param btmTypeVO 涓氬姟绫诲瀷鏄剧ず瀵硅薄 * @param autoDeleteTable 鑷姩鍒犻櫎琛ㄦ牸 @@ -209,82 +192,22 @@ * @return 涓嶅悓鐨勫睘鎬т俊鎭� * @throws ServiceException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑哄紓甯� */ - List<ModifyAttributeInfoDO> checkDbTableSame(String pkBtmType) throws ServiceException; + List<ModifyAttributeInfo> checkDbTableSame(String pkBtmType) throws ServiceException; /** * 鑾峰彇鏁版嵁搴撹〃锛屾敮鎸佷笟鍔$被鍨嬪拰瑙嗗浘 * @param id 涓氬姟绫诲瀷鐨勫悕绉� + * @param domain 棰嗗煙鍚嶇О * @return 鏁版嵁搴撹〃鐨勫悕绉� * @throws ServiceException 鍙傛暟涓虹┖鐨勬椂鍊欎細鎶涘嚭寮傚父 */ - String getTableName(String id) throws ServiceException; - - /** - * 灏嗕笟鍔$被鍨嬩娇鐢ㄧ殑灞炴�х殑浼犺緭瀵硅薄杞崲涓烘暟鎹璞� - * @param attributesDTO 灞炴�х殑鏁版嵁浼犺緭瀵硅薄 - * @param pkBtmType 涓氬姟绫诲瀷鐨勪富閿� - * @param creator 鍒涘缓浜� - * @param now 褰撳墠鏃堕棿 - * @return 灞炴�х殑鏁版嵁瀵硅薄 - */ - BtmTypeAttribute btmTypeAttributeDTO2DO(BtmTypeLinkAttributesDTO attributesDTO, String pkBtmType, String creator, Date now); - - /** - * 涓氬姟绫诲瀷鐨勫睘鎬ф樉绀哄璞¤浆鎹负鏁版嵁瀵硅薄 - * @param thisBtmTypeHasAttributeVOList 涓氬姟绫诲瀷灞炴�ф樉绀哄璞� - * @return 鏁版嵁瀵硅薄 - */ - List<BtmTypeAttribute> btmTypeAttributeVO2DO(List<BtmTypeAttributeVO> thisBtmTypeHasAttributeVOList); - - /** - * 鎵归噺灏嗕笟鍔$被鍨嬬殑鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� - * @param attributeDOList 灞炴�х殑鏁版嵁瀵硅薄鍒楄〃 - * @return 灞炴�х殑鏄剧ず瀵硅薄鍒楄〃 - */ - List<BtmTypeAttributeVO> batchBtmTypeAttributeDO2VO(List<BtmTypeAttribute> attributeDOList); - - /** - * 鎵归噺灏嗕笟鍔$被鍨嬬殑鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� - * @param attributesDO 灞炴�х殑鏁版嵁瀵硅薄 - * @return 灞炴�х殑鏄剧ず瀵硅薄鍒楄〃 - */ - BtmTypeAttributeVO btmTypeAttributeDO2VO(BtmTypeAttribute attributesDO); - - /** - * 鑾峰彇涓氬姟绫诲瀷鐨勬寚瀹氬睘鎬� - * @param id 閾炬帴绫诲瀷鐨勮嫳鏂囧悕绉� - * @param attributeIdCollection 灞炴�х殑闆嗗悎锛屽鏋滀负绌哄垯鑾峰彇鍏ㄩ儴 - * @return 灞炴�х殑鏄剧ず瀵硅薄 - */ - List<BtmTypeAttribute> listAttributeDOByIdsForBtm(String id, Collection<String> attributeIdCollection); - - /** - * 鏍规嵁涓氬姟绫诲瀷鐨勭紪鍙疯幏鍙栧睘鎬� - * @param id 涓氬姟绫诲瀷鐨勭紪鍙� - * @return 灞炴�х殑鏄剧ず瀵硅薄 - */ - List<BtmTypeAttributeVO> listAttributeByBtmTypeId(String id); - - /** - * 鏍规嵁涓氬姟绫诲瀷鐨勪富閿幏鍙栧睘鎬� - * @param oid 涓氬姟绫诲瀷鐨勪富閿� - * @return 灞炴�х殑鏄剧ず瀵硅薄 - */ - List<BtmTypeAttributeVO> listAttributeByBtmTypeOid(String oid); - - /** - * 鎵归噺鏍规嵁涓氬姟绫诲瀷缂栧彿鎴栬�呬富閿幏鍙栧寘鍚殑灞炴�� - * @param oidsOrIds 涓婚敭鎴栬�呯紪鍙烽泦鍚� - * @param queryById 鏄惁浣跨敤缂栧彿鏌ヨ - * @return key鏄笟鍔$被鍨嬬殑涓婚敭鎴栬�呯紪鍙凤紝鍊兼槸鍖呭惈鐨勫睘鎬х殑淇℃伅 - * @throws ServiceException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欎細鎶涘嚭寮傚父 - */ - List<BtmTypeAttributeVO> batchListAttributeByBtmType(Collection<String> oidsOrIds, boolean queryById) throws ServiceException; + String getTableName(String id,String domain) throws ServiceException; /** * 鏂板鎴栦慨鏀逛笟鍔$被鍨� * @param btmTypeDTO 涓氬姟绫诲瀷椤甸潰浼犺緭瀵硅薄 + * @param autoCreateTable 鑷姩鍒涘缓琛� * @return 鎵ц缁撴灉 */ - boolean submit(BtmTypeDTO btmTypeDTO); + R submit(BtmTypeDTO btmTypeDTO,boolean autoCreateTable); } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IModifyAttributeService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IModifyAttributeService.java new file mode 100644 index 0000000..5ec3afe --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IModifyAttributeService.java @@ -0,0 +1,13 @@ +package com.vci.ubcs.omd.service; + +import com.vci.ubcs.omd.entity.ModifyAttributeInfo; +import org.springblade.core.mp.base.BaseService; + +/** + * Description:闇�瑕佷慨鏀规暟鎹簱琛ㄤ腑瀛楁鐨勪俊鎭湇鍔� + * + * @author LiHang + * @date 2023/5/4 + */ +public interface IModifyAttributeService extends BaseService<ModifyAttributeInfo> { +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java index c61c7f3..a2deddc 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java @@ -1,5 +1,6 @@ package com.vci.ubcs.omd.service.impl; +import com.alibaba.cloud.commons.lang.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -12,6 +13,8 @@ import com.vci.ubcs.omd.vo.AttributeVO; import com.vci.ubcs.omd.wrapper.AttributeWrapper; import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.web.constant.OmdRegExpConstant; +import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.log.exception.ServiceException; @@ -180,6 +183,30 @@ */ @Override public boolean checkAttributePass(String id, String attrDataType, Integer attributeLength, String defaultValue) throws VciBaseException { + String attributeDataTypeText = VciFieldTypeEnum.getTextByValue(attrDataType); + if(StringUtils.isBlank(attributeDataTypeText)){ + throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勫睘鎬х殑绫诲瀷涓嶇鍚堣姹�",new Object[]{id}); + } + //蹇呴』瑕佽緭鍏ラ暱搴� + if( VciBaseUtil.inArray(new String[] {VciFieldTypeEnum.VTString.name()},attrDataType) + && (attributeLength == null ||attributeLength < 1)){ + throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勫睘鎬х殑涓簕1}绫诲瀷鏃讹紝蹇呴』瑕佽緭鍏ラ暱搴︾殑鍊�",new Object[]{id,attributeDataTypeText}); + } + //鍒ゆ柇榛樿鍊� + if(StringUtils.isNotBlank(defaultValue)){ + if(VciFieldTypeEnum.VTDouble.name().equalsIgnoreCase(attrDataType) + && !defaultValue.matches(OmdRegExpConstant.DOUBLE)){ + throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勫睘鎬х殑榛樿鍊间笉鏄弻绮惧害绫诲瀷",new Object[]{id}); + } + if(VciFieldTypeEnum.VTInteger.name().equalsIgnoreCase(defaultValue) + && !defaultValue.matches(OmdRegExpConstant.INT)){ + throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勫睘鎬х殑榛樿鍊间笉鏄暣鏁板瀷",new Object[]{id}); + } + if(VciFieldTypeEnum.VTLong.name().equalsIgnoreCase(defaultValue) + && !defaultValue.matches(OmdRegExpConstant.LONG)){ + throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勫睘鎬х殑榛樿鍊间笉鏄暱鏁村舰",new Object[]{id}); + } + } return true; } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java index 94cbe3d..880efbc 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java @@ -9,16 +9,15 @@ import com.vci.ubcs.omd.service.IBtmTypeAttributeService; import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; import com.vci.ubcs.omd.wrapper.BtmTypeAttributeWrapper; +import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.web.util.VciBaseUtil; 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; +import java.util.*; /** * Description: 涓氬姟绫诲瀷鍏宠仈灞炴�х殑鏈嶅姟瀹炵幇绫� @@ -49,7 +48,7 @@ * @return 鍙楀奖鍝嶇殑琛屾暟 */ @Override - public int checkAndInsert(String btmTypeOid, List<BtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now) { + public List<BtmTypeAttributeVO> checkAndInsert(String btmTypeOid, List<BtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now) { List<String> attributeIdList = new ArrayList<>(); List<BtmTypeAttribute> btmTypeAttributeDOList = new ArrayList<>(); if (!CollectionUtils.isEmpty(attributesDTOList)) { @@ -61,14 +60,62 @@ //妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪 boolean exists = attributeService.checkAttributeExists(attributeIdList); if (!exists){ - return -1; + return null; } - return batchInsert(btmTypeAttributeDOList); + batchInsert(btmTypeAttributeDOList); + return BtmTypeAttributeWrapper.build().listEntityVO(btmTypeAttributeDOList); // btmTypeAttributeDOList.stream().forEachOrdered(s -> { // btmTypeAttributeDOMapper.insert(s); // }); } - return 0; + return null; + } + + /** + * 妫�鏌ュ睘鎬у瓨鍦ㄥ苟鍒犻櫎 + * + * @param records 涓婚敭闆嗗悎 + * @return 鍙楀奖鍝嶇殑琛屾暟 + */ + @Override + public int checkAndRemove(List<String> records) { + if (CollectionUtils.isEmpty(records)){ + return 0; + } + return baseMapper.batchDelete(records); + } + + /** + * 妫�鏌ュ睘鎬у瓨鍦ㄥ苟娣诲姞 + * + * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭 + * @param attributesDTOList 椤甸潰浼犺緭瀵硅薄闆嗗悎 + * @param creator 鍒涘缓浜� + * @param now ts鏃堕棿鎴� + * @return 鍙楀奖鍝嶇殑琛屾暟 + */ + @Override + public List<BtmTypeAttributeVO> checkAndUpdate(String btmTypeOid, List<BtmTypeLinkAttributesDTO> attributesDTOList, String creator, Date now) { + List<String> attributeIdList = new ArrayList<>(); + List<BtmTypeAttribute> btmTypeAttributeDOList = new ArrayList<>(); + if (!CollectionUtils.isEmpty(attributesDTOList)) { + attributesDTOList.stream().forEachOrdered(s -> { + attributeService.checkAttribute(s); + btmTypeAttributeDOList.add(BtmTypeAttributeWrapper.build().copyBtmTypeAttributeDTO2Entity(s,btmTypeOid, creator, now)); + attributeIdList.add(s.getId().toLowerCase().trim()); + }); + //妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪 + boolean exists = attributeService.checkAttributeExists(attributeIdList); + if (!exists){ + return null; + } + baseMapper.batchUpdate(btmTypeAttributeDOList); + return BtmTypeAttributeWrapper.build().listEntityVO(btmTypeAttributeDOList); +// btmTypeAttributeDOList.stream().forEachOrdered(s -> { +// btmTypeAttributeDOMapper.insert(s); +// }); + } + return null; } /** @@ -95,4 +142,41 @@ ).orElseGet(ArrayList::new) ); } + + /** + * 鏍规嵁涓氬姟绫诲瀷涓婚敭鑾峰彇鍏宠仈鐨勬墍鏈夊睘鎬у璞� + * + * @param oidCollection 涓氬姟绫诲瀷涓婚敭闆嗗悎 + * @return 鎵�鏈夌殑灞炴�у璞★紝鍖呮嫭绯荤粺鍐呯疆灞炴�э紝key鏄笟鍔$被鍨嬩富閿紝value鏄寘鍚殑灞炴�� + * @throws VciBaseException 涓氬姟绫诲瀷涓嶅瓨鍦紝鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑哄紓甯� + */ + @Override + public List<BtmTypeAttributeVO> batchListHasAttributesByBtmTypeOidCollection(Collection<String> oidCollection) throws VciBaseException { + VciBaseUtil.alertNotNull(oidCollection,"涓氬姟绫诲瀷涓婚敭"); + List<BtmTypeAttribute> doList = baseMapper.selectList(Wrappers.<BtmTypeAttribute>query().lambda().in(BtmTypeAttribute::getPkBtmType, oidCollection)); + return BtmTypeAttributeWrapper.build().listEntityVO(doList); + } + + /** + * 鑾峰彇涓氬姟绫诲瀷涓殑鎸囧畾灞炴�� + * + * @param id 涓氬姟绫诲瀷鐨勪富閿� + * @param attributeIdCollection 灞炴�х殑id,鑻ヤ负绌哄垯鑾峰彇鍏ㄩ儴 + * @return 灞炴�х殑鏁版嵁瀵硅薄 + */ + @Override + public List<BtmTypeAttribute> selectByBtmTypeIdAndAttributeIds(String id, Collection<String> attributeIdCollection) { + return baseMapper.selectByBtmTypeIdAndAttributeIds(id,attributeIdCollection); + } + + /** + * 閫氳繃涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉拌幏鍙栧叧鑱旂殑灞炴�� + * + * @param idList 涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉伴泦鍚� + * @return 鍖呭惈鐨勫睘鎬� + */ + @Override + public List<BtmTypeAttribute> selectByBtmTypeIds(List<String> idList) { + return baseMapper.selectByBtmTypeIds(idList); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java index bd51b5c..994199f 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java @@ -4,22 +4,27 @@ 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.BtmTypeConstant; +import com.vci.ubcs.omd.constant.BtmTypeFieldConstant; +import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO; import com.vci.ubcs.omd.repeater.DomainRepeater; import com.vci.ubcs.omd.service.IBtmTypeAttributeService; +import com.vci.ubcs.omd.service.IModifyAttributeService; +import com.vci.ubcs.omd.wrapper.BtmTypeAttributeWrapper; import com.vci.ubcs.omd.wrapper.BtmTypeWrapper; +import com.vci.ubcs.omd.wrapper.ModifyAttributeWrapper; import com.vci.ubcs.starter.web.constant.OmdRegExpConstant; import com.vci.ubcs.omd.dto.BtmTypeDTO; import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO; import com.vci.ubcs.omd.entity.BtmType; import com.vci.ubcs.omd.entity.BtmTypeAttribute; -import com.vci.ubcs.omd.entity.ModifyAttributeInfoDO; +import com.vci.ubcs.omd.entity.ModifyAttributeInfo; import com.vci.ubcs.omd.mapper.BtmTypeMapper; import com.vci.ubcs.omd.service.IBtmTypeService; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; import com.vci.ubcs.omd.vo.LinkTypeVO; import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.VciDateUtil; import org.springblade.core.log.exception.ServiceException; @@ -27,6 +32,7 @@ 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.jdbc.datasource.DataSourceTransactionManager; import org.springframework.stereotype.Service; @@ -37,6 +43,7 @@ import javax.validation.constraints.NotEmpty; import java.util.*; +import java.util.stream.Collectors; /** * Description: 涓氬姟绫诲瀷鏈嶅姟鐨勫疄鐜扮被 @@ -58,6 +65,17 @@ */ @Autowired private IBtmTypeAttributeService btmTypeAttributeService; + + /** + * 瀛楁淇敼淇℃伅鐨勬湇鍔� + */ + @Autowired + private IModifyAttributeService modifyAttributeService; + + /** + * 琛ㄥ悕鍓嶇紑 + */ + public static final String PL = "PL"; /** * 璁剧疆骞冲彴鏈韩鐨勪笟鍔$被鍨� @@ -93,7 +111,10 @@ */ @Override public List<BtmTypeVO> listBtmTypeByOids(String pkBtmTypes) throws ServiceException { - return null; + VciBaseUtil.alertNotNull(pkBtmTypes, "涓氬姟绫诲瀷鐨勪富閿�"); + List<String> pkList = new ArrayList<>(); + Collections.addAll(pkList, pkBtmTypes.split(",")); + return listBtmTypeByOidCollection(pkList); } /** @@ -105,6 +126,12 @@ */ @Override public List<BtmTypeVO> listBtmTypeByOidCollection(Collection<String> pkBtmTypeCollection) throws ServiceException { + if (!CollectionUtils.isEmpty(pkBtmTypeCollection)) { + List<BtmType> btmTypeDOList = listBtmTypeDOByOidCollection(pkBtmTypeCollection); + if (!CollectionUtils.isEmpty(btmTypeDOList)) { + return BtmTypeWrapper.build().listEntityVO(btmTypeDOList); + } + } return null; } @@ -117,6 +144,11 @@ */ @Override public BtmTypeVO getBtmTypeById(String id) throws ServiceException { + VciBaseUtil.alertNotNull(id, "涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉�"); + List<BtmTypeVO> btmTypeVOList = listBtmTypeByIds(id); + if (!CollectionUtils.isEmpty(btmTypeVOList)) { + return btmTypeVOList.get(0); + } return null; } @@ -129,7 +161,8 @@ */ @Override public List<BtmTypeVO> listBtmTypeByIds(String ids) throws ServiceException { - return null; + Func.requireNotNull(ids,"鑻辨枃鍚嶇О涓嶈兘涓虹┖"); + return listBtmTypeByIdCollection(Func.toStrList(",",ids)); } /** @@ -141,7 +174,7 @@ */ @Override public List<BtmTypeVO> listBtmTypeByIdCollection(Collection<String> idCollection) throws ServiceException { - return null; + return CollectionUtils.isEmpty(idCollection) ? null : BtmTypeWrapper.build().listEntityVO(baseMapper.selectList(Wrappers.<BtmType>query().lambda().in(BtmType::getId,idCollection))); } /** @@ -153,7 +186,7 @@ */ @Override public List<BtmType> listBtmTypeDOByIdCollection(Collection<String> idCollection) throws ServiceException { - return null; + return CollectionUtils.isEmpty(idCollection) ? null : baseMapper.selectList(Wrappers.<BtmType>query().lambda().in(BtmType::getId, idCollection)); } /** @@ -165,6 +198,9 @@ */ @Override public List<BtmType> listBtmTypeDOByOidCollection(Collection<String> oidCollection) throws ServiceException { + if (!CollectionUtils.isEmpty(oidCollection)) { + return baseMapper.selectList(Wrappers.<BtmType>query().lambda().in(BtmType::getOid, oidCollection)); + } return null; } @@ -177,7 +213,7 @@ */ @Override public String getNameByOid(String oid) throws ServiceException { - return null; + return Objects.requireNonNull(baseMapper.selectOne(Wrappers.<BtmType>query().lambda().eq(BtmType::getOid,oid))).getName(); } /** @@ -189,7 +225,7 @@ */ @Override public String getNameById(String id) throws ServiceException { - return null; + return Objects.requireNonNull(baseMapper.selectOne(Wrappers.<BtmType>query().lambda().eq(BtmType::getId,id))).getName(); } /** @@ -213,6 +249,16 @@ */ @Override public List<BtmTypeAttributeVO> listHasAttributeById(String id) throws ServiceException { + VciBaseUtil.alertNotNull(id,"涓氬姟绫诲瀷鑻辨枃鍚嶇О"); + List<String> ids = Func.toStrList(",", id); + Map<String, List<BtmTypeAttributeVO>> attributeMap = batchListHasAttributesByIdCollection(ids); + if (!CollectionUtils.isEmpty(attributeMap)) { + List<BtmTypeAttributeVO> attributeVOList = new ArrayList<>(); + attributeMap.forEach((k, v) -> { + attributeVOList.addAll(v); + }); + return attributeVOList; + } return null; } @@ -225,7 +271,7 @@ */ @Override public Map<String, List<BtmTypeAttributeVO>> batchListHasAttributesByOidCollection(Collection<String> oidCollection) throws ServiceException { - return null; + return btmTypeAttributeService.batchListHasAttributesByBtmTypeOidCollection(oidCollection).stream().collect(Collectors.groupingBy(BtmTypeAttributeVO::getPkBtmType)); } /** @@ -237,7 +283,8 @@ */ @Override public Map<String, List<BtmTypeAttributeVO>> batchListHasAttributesByIdCollection(Collection<String> idCollection) throws ServiceException { - return null; + List<String> btmTypeOidList = baseMapper.selectList(Wrappers.<BtmType>query().lambda().in(BtmType::getId, idCollection)).stream().map(BtmType::getOid).collect(Collectors.toList()); + return btmTypeAttributeService.batchListHasAttributesByBtmTypeOidCollection(btmTypeOidList).stream().collect(Collectors.groupingBy(BtmTypeAttributeVO::getPkBtmType)); } /** @@ -261,7 +308,8 @@ */ @Override public boolean checkBtmTypeUsed(String pkBtmType) throws ServiceException { - return false; + VciBaseUtil.alertNotNull(pkBtmType, "涓氬姟绫诲瀷涓婚敭"); + return checkBtmTypeUseds(VciBaseUtil.str2List(pkBtmType)); } /** @@ -273,113 +321,40 @@ */ @Override public boolean checkBtmTypeUseds(Collection<String> oidCollection) throws ServiceException { + VciBaseUtil.alertCollectionNotNull("鏍¢獙鏄惁寮曠敤鐨勪笟鍔$被鍨嬪璞$殑涓婚敭", oidCollection); + //妫�鏌ラ摼鎺ョ被鍨� + //鍥犱负閾炬帴绫诲瀷涓璮romBtmType鍜宼oBtmType閮芥槸閫楀彿鍒嗛殧鐨勶紝鎵�浠ョ洿鎺ユ煡璇㈡墍鏈夌殑閾炬帴绫诲瀷涓殑浣跨敤鐨勪笟鍔$被鍨嬪悕绉� + List<BtmType> btmTypeDOList = listBtmTypeDOByOidCollection(oidCollection); + if (CollectionUtils.isEmpty(btmTypeDOList)) { + return false; + } + /*Set<String> usedBtmTypeSet = linkTypeServiceI.listUsedBtmType(); + if (btmTypeDOList.stream().anyMatch(s -> usedBtmTypeSet.contains(s.getId().trim().toLowerCase()))) { + return true; + }*/ return false; } /** - * 娣诲姞涓氬姟绫诲瀷 - * - * @param btmTypeDTO 涓氬姟绫诲瀷鏁版嵁浼犺緭瀵硅薄 - * @param autoCreateTable 鏄惁鑷姩鍒涘缓琛ㄦ牸 - * @return 娣诲姞鍚庣殑涓氬姟绫诲瀷 - * @throws ServiceException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 + * 娣诲姞榛樿鐨勫瓧娈� + * @param attributes 瀛楁闆� + * @param fieldMap 榛樿瀛楁闆� + * @return 娣诲姞鍚庣殑瀛楁闆� */ - @Override - public BtmTypeDTO addSave(BtmTypeDTO 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); - // 鑾峰緱浜嬪姟鐘舵�� - } - BtmType btmTypeDO = new BtmType(); - try { - VciBaseUtil.alertNotNull(btmTypeDTO, "瑕佹坊鍔犵殑涓氬姟绫诲瀷", btmTypeDTO.getId(), "涓氬姟绫诲瀷鐨勮嫳鏂囧悕绉�", btmTypeDTO.getName(), "涓氬姟绫诲瀷涓枃鍚嶇О"); - if (btmTypeDTO.isViewFlag() && (StringUtils.isBlank(btmTypeDTO.getViewCreateSql()) - || StringUtils.isBlank(btmTypeDTO.getTableName()))) { - throw new VciBaseException("濡傛灉褰撳墠鏄笟鍔$被鍨嬫槸瑙嗗浘鐨勬椂鍊欙紝璇峰繀椤昏緭鍏ヨ鍥剧殑鍒涘缓璇彞鍜岃鍥惧悕绉�"); + private List<BtmTypeLinkAttributesDTO> addAttributeByFieldMap(List<BtmTypeLinkAttributesDTO> attributes, Map<String, String> fieldMap) { + Map<String, BtmTypeLinkAttributesDTO> existFieldMap = attributes.stream().collect(Collectors.toMap(BtmTypeLinkAttributesDTO::getId, t -> t, (o1, o2) -> o1)); + fieldMap.forEach((k,v) -> { + if (!existFieldMap.containsKey(k)){ + BtmTypeLinkAttributesDTO attr = new BtmTypeLinkAttributesDTO(); + attr.setId(k); + attr.setAttrDataType(VciFieldTypeEnum.VTString.name()); + attr.setAttributeLength(50); + attr.setNullableFlag(false); + attr.setDescription(v); + attributes.add(attr); } - 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<BtmType> btmTypeDOList = listBtmTypeDOByIdCollection(VciBaseUtil.str2List(btmTypeDTO.getId())); - if (!CollectionUtils.isEmpty(btmTypeDOList) && btmTypeDOList.size() > 0) { - BtmType 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(BtmTypeConstant.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) { - BtmTypeVO btmTypeVO = BtmTypeWrapper.build().entityVO(btmTypeDO); - btmTypeVO.setAttributes(listHasAttributesByOid(btmTypeDO.getOid())); - checkTableSame(btmTypeVO); - } - return btmTypeDTO; + }); + return attributes; } /** @@ -388,43 +363,44 @@ * @param btmTypeVO 涓氬姟绫诲瀷鐨勬樉绀哄璞� */ private void checkTableSame(BtmTypeVO btmTypeVO) { - /*List<OmdBtmTypeVO> btmTypeVOList = new ArrayList<>(); + List<BtmTypeVO> btmTypeVOList = new ArrayList<>(); btmTypeVOList.add(btmTypeVO); - List<OsModifyAttributeInfoDO> modifyAttributeInfoDOList = ddlServiceI.checkDifferent(btmTypeVOList, null); + BtmAndLinkTypeDdlDTO ddlDTO = new BtmAndLinkTypeDdlDTO(); + ddlDTO.setBtmTypeList(btmTypeVOList); try { - modifyAttributeServiceI.batchAddSave(modifyAttributeInfoDOList); - } catch (Throwable e) { - if (logger.isErrorEnabled()) { - logger.error("淇濆瓨銆愪慨鏀瑰睘鎬с�戞暟鎹�", e); + // 灏嗕互鍓嶇殑checkDifferent鍜宺eflexDifferent缁撳悎浜� + R result = DomainRepeater.checkDifferent(ddlDTO,btmTypeVO.getDomain()); + if (result.isSuccess()){ + List<ModifyAttributeInfo> infoList = new ArrayList<>(); + Object data = result.getData(); + if (data instanceof List){ + List dataList = (List) data; + dataList.forEach(s -> { + if (s instanceof ModifyAttributeInfo){ + ModifyAttributeInfo info = (ModifyAttributeInfo) s; + infoList.add(info); + } + }); + modifyAttributeService.saveBatch(ModifyAttributeWrapper.build().listEntityBeforeSave(infoList)); + } } + } catch (NacosException e) { + if (log.isDebugEnabled()) { + log.error("淇濆瓨銆愪慨鏀瑰睘鎬с�戞暟鎹�", e); + } + throw new RuntimeException(e); } - ddlServiceI.reflexDifferent(modifyAttributeInfoDOList); - modifyAttributeServiceI.finishModify(modifyAttributeInfoDOList);*/ +// modifyAttributeServiceI.finishModify(modifyAttributeInfoList); } /** * 娣诲姞灞炴�у埌涓氬姟绫诲瀷涓� * * @param btmTypeDTO 涓氬姟绫诲瀷鐨勬暟鎹紶杈撳璞� - * @param creator 鍒涘缓浜� - * @param now 褰撳墠鏃堕棿 */ - private void addAttributeForBtm(BtmTypeDTO btmTypeDTO, String creator, Date now) throws VciBaseException{ - List<BtmTypeLinkAttributesDTO> attributesDTOList = btmTypeDTO.getAttributesDTOList(); - btmTypeAttributeService.checkAndInsert(btmTypeDTO.getOid(),attributesDTOList,creator,now); - } - - /** - * 淇敼涓氬姟绫诲瀷 - * - * @param btmTypeDTO 涓氬姟绫诲瀷鏁版嵁浼犺緭瀵硅薄 - * @param autoEditTable 鏄惁鑷姩鏇存柊琛ㄦ牸 - * @return 淇敼鍚庣殑涓氬姟绫诲瀷 - * @throws ServiceException 淇敼鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - @Override - public BtmTypeDTO editSave(BtmTypeDTO btmTypeDTO, boolean autoEditTable) throws ServiceException { - return null; + private List<BtmTypeAttributeVO> addAttributeForBtm(BtmTypeDTO btmTypeDTO) throws VciBaseException{ + List<BtmTypeLinkAttributesDTO> attributesDTOList = btmTypeDTO.getAttributes(); + return btmTypeAttributeService.checkAndInsert(btmTypeDTO.getOid(),attributesDTOList,AuthUtil.getUserAccount(),new Date()); } /** @@ -459,7 +435,7 @@ * @throws ServiceException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑哄紓甯� */ @Override - public List<ModifyAttributeInfoDO> checkDbTableSame(String pkBtmType) throws ServiceException { + public List<ModifyAttributeInfo> checkDbTableSame(String pkBtmType) throws ServiceException { return null; } @@ -471,102 +447,14 @@ * @throws ServiceException 鍙傛暟涓虹┖鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public String getTableName(String id) throws ServiceException { - return null; - } - - /** - * 灏嗕笟鍔$被鍨嬩娇鐢ㄧ殑灞炴�х殑浼犺緭瀵硅薄杞崲涓烘暟鎹璞� - * - * @param attributesDTO 灞炴�х殑鏁版嵁浼犺緭瀵硅薄 - * @param pkBtmType 涓氬姟绫诲瀷鐨勪富閿� - * @param creator 鍒涘缓浜� - * @param now 褰撳墠鏃堕棿 - * @return 灞炴�х殑鏁版嵁瀵硅薄 - */ - @Override - public BtmTypeAttribute btmTypeAttributeDTO2DO(BtmTypeLinkAttributesDTO attributesDTO, String pkBtmType, String creator, Date now) { - return null; - } - - /** - * 涓氬姟绫诲瀷鐨勫睘鎬ф樉绀哄璞¤浆鎹负鏁版嵁瀵硅薄 - * - * @param thisBtmTypeHasAttributeVOList 涓氬姟绫诲瀷灞炴�ф樉绀哄璞� - * @return 鏁版嵁瀵硅薄 - */ - @Override - public List<BtmTypeAttribute> btmTypeAttributeVO2DO(List<BtmTypeAttributeVO> thisBtmTypeHasAttributeVOList) { - return null; - } - - /** - * 鎵归噺灏嗕笟鍔$被鍨嬬殑鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� - * - * @param attributeDOList 灞炴�х殑鏁版嵁瀵硅薄鍒楄〃 - * @return 灞炴�х殑鏄剧ず瀵硅薄鍒楄〃 - */ - @Override - public List<BtmTypeAttributeVO> batchBtmTypeAttributeDO2VO(List<BtmTypeAttribute> attributeDOList) { - return null; - } - - /** - * 鎵归噺灏嗕笟鍔$被鍨嬬殑鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� - * - * @param attributesDO 灞炴�х殑鏁版嵁瀵硅薄 - * @return 灞炴�х殑鏄剧ず瀵硅薄鍒楄〃 - */ - @Override - public BtmTypeAttributeVO btmTypeAttributeDO2VO(BtmTypeAttribute attributesDO) { - return null; - } - - /** - * 鑾峰彇涓氬姟绫诲瀷鐨勬寚瀹氬睘鎬� - * - * @param id 閾炬帴绫诲瀷鐨勮嫳鏂囧悕绉� - * @param attributeIdCollection 灞炴�х殑闆嗗悎锛屽鏋滀负绌哄垯鑾峰彇鍏ㄩ儴 - * @return 灞炴�х殑鏄剧ず瀵硅薄 - */ - @Override - public List<BtmTypeAttribute> listAttributeDOByIdsForBtm(String id, Collection<String> attributeIdCollection) { - return null; - } - - /** - * 鏍规嵁涓氬姟绫诲瀷鐨勭紪鍙疯幏鍙栧睘鎬� - * - * @param id 涓氬姟绫诲瀷鐨勭紪鍙� - * @return 灞炴�х殑鏄剧ず瀵硅薄 - */ - @Override - public List<BtmTypeAttributeVO> listAttributeByBtmTypeId(String id) { - return null; - } - - /** - * 鏍规嵁涓氬姟绫诲瀷鐨勪富閿幏鍙栧睘鎬� - * - * @param oid 涓氬姟绫诲瀷鐨勪富閿� - * @return 灞炴�х殑鏄剧ず瀵硅薄 - */ - @Override - public List<BtmTypeAttributeVO> listAttributeByBtmTypeOid(String oid) { - return null; - } - - /** - * 鎵归噺鏍规嵁涓氬姟绫诲瀷缂栧彿鎴栬�呬富閿幏鍙栧寘鍚殑灞炴�� - * - * @param oidsOrIds 涓婚敭鎴栬�呯紪鍙烽泦鍚� - * @param queryById 鏄惁浣跨敤缂栧彿鏌ヨ - * @return key鏄笟鍔$被鍨嬬殑涓婚敭鎴栬�呯紪鍙凤紝鍊兼槸鍖呭惈鐨勫睘鎬х殑淇℃伅 - * @throws ServiceException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欎細鎶涘嚭寮傚父 - */ - @Override - public List<BtmTypeAttributeVO> batchListAttributeByBtmType(Collection<String> oidsOrIds, boolean queryById) throws ServiceException { - return null; + public String getTableName(String id,String domain) throws ServiceException { + VciBaseUtil.alertNotNull(id,"涓氬姟绫诲瀷鑻辨枃鍚嶇О",domain,"棰嗗煙鍚嶇О"); + if (domain.contains("ubcs-")){ + domain = domain.split("ubcs-")[1]; + }else { + throw new VciBaseException("棰嗗煙鍚嶇О涓嶇鍚堣鍒�"); + } + return PL + StringPool.UNDERSCORE + domain + StringPool.UNDERSCORE + id; } /** @@ -576,16 +464,154 @@ * @return 鎵ц缁撴灉 */ @Override - public boolean submit(BtmTypeDTO btmTypeDTO) { - addSave(btmTypeDTO,false); - try { - R result = DomainRepeater.submitBtmType(btmTypeDTO.getDomain(), Objects.requireNonNull(BeanUtil.copy(btmTypeDTO, BtmTypeVO.class))); - return result.isSuccess(); - } catch (NacosException e) { - throw new RuntimeException(e); + public R submit(BtmTypeDTO btmTypeDTO, boolean autoCreateTable) { + TransactionStatus transaction = null; + DefaultTransactionDefinition def = null; + if (autoCreateTable) { + def = new DefaultTransactionDefinition(); + def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); + // 浜嬬墿闅旂绾у埆锛屽紑鍚柊浜嬪姟锛岃繖鏍蜂細姣旇緝瀹夊叏浜涖�� + transaction = dataSourceTransactionManager.getTransaction(def); + // 鑾峰緱浜嬪姟鐘舵�� } + checkBtmTypeBeforeSave(btmTypeDTO); + BtmType btmTypeDO = Optional.ofNullable(BeanUtil.copy(btmTypeDTO, BtmType.class)).orElseGet(BtmType::new); + List<BtmTypeLinkAttributesDTO> attributes = btmTypeDTO.getAttributes(); + List<BtmTypeAttributeVO> afterAttributes; + if (StringUtils.isBlank(btmTypeDO.getOid())){ + btmTypeDO = BtmTypeWrapper.build().entityBeforeInsert(btmTypeDO); + if (StringUtils.isBlank(btmTypeDO.getTableName())) { + btmTypeDO.setTableName(getTableName(btmTypeDO.getId(),btmTypeDO.getDomain())); + } + // 娣诲姞灞炴�� + afterAttributes = addAttributeForBtm(btmTypeDTO); + baseMapper.insert(btmTypeDO); + }else { + BtmTypeVO btmTypeByOid = getBtmTypeByOid(btmTypeDO.getOid()); + List<BtmTypeAttributeVO> beforeAttributes = btmTypeByOid.getAttributes(); + // 澶勭悊灞炴�э紝澶氫綑鐨勫垹闄わ紝涓嶅瓨鍦ㄧ殑娣诲姞 + afterAttributes = updateAttributeForBtm(btmTypeByOid.getOid(),beforeAttributes, attributes); + } + BtmTypeVO btmTypeVO = BtmTypeWrapper.build().entityVO(btmTypeDO); + btmTypeVO.setAttributes(afterAttributes); + try { + if (autoCreateTable) { + checkTableSame(btmTypeVO); + R result = DomainRepeater.submitBtmType(btmTypeDTO.getDomain(), btmTypeVO); + if (result.isSuccess()){ + List<ModifyAttributeInfo> infoList = new ArrayList<>(); + Object data = result.getData(); + if (data instanceof List){ + List dataList = (List) data; + dataList.forEach(s -> { + if (s instanceof ModifyAttributeInfo){ + ModifyAttributeInfo info = (ModifyAttributeInfo) s; + infoList.add(info); + } + }); + modifyAttributeService.saveBatch(ModifyAttributeWrapper.build().listEntityBeforeSave(infoList)); + } + dataSourceTransactionManager.commit(transaction); + }else { + dataSourceTransactionManager.rollback(transaction); + } + } + } catch (Throwable e) { + if (autoCreateTable) { + dataSourceTransactionManager.rollback(transaction); + } + } + return R.data(btmTypeVO); } + /** + * 鏇存柊涓氬姟绫诲瀷鐨勫睘鎬� + * @param oid 閫愭笎 + * @param beforeAttr 鏇存柊鍓嶇殑灞炴�� + * @param afterAttr 鏇存柊鍚庣殑灞炴�� + */ + private List<BtmTypeAttributeVO> updateAttributeForBtm(String oid, List<BtmTypeAttributeVO> beforeAttr, List<BtmTypeLinkAttributesDTO> afterAttr) { + List<BtmTypeAttributeVO> deleteList = beforeAttr.stream().filter(before -> afterAttr.stream().noneMatch(after -> StringUtils.equals(before.getId(), after.getId()))).collect(Collectors.toList()); + List<BtmTypeLinkAttributesDTO> addList = afterAttr.stream().filter(after -> beforeAttr.stream().noneMatch(before -> StringUtils.equals(before.getId(), after.getId()))).collect(Collectors.toList()); + List<BtmTypeLinkAttributesDTO> modifyList = new ArrayList<>(); + Map<String, BtmTypeAttributeVO> beforeAttrMap = beforeAttr.stream().collect(Collectors.toMap(BtmTypeAttributeVO::getId, t -> t, (o1, o2) -> o1)); + Map<String, BtmTypeLinkAttributesDTO> afterAttrMap = afterAttr.stream().collect(Collectors.toMap(BtmTypeLinkAttributesDTO::getId, t -> t, (o1, o2) -> o1)); + afterAttrMap.forEach((k,v) -> { + if (beforeAttrMap.containsKey(k)){ + modifyList.add(v); + } + }); + btmTypeAttributeService.checkAndRemove(deleteList.stream().map(BtmTypeAttributeVO::getOid).collect(Collectors.toList())); + List<BtmTypeAttributeVO> voListAdd = btmTypeAttributeService.checkAndInsert(oid, addList, AuthUtil.getUserAccount(), new Date()); + List<BtmTypeAttributeVO> voListUpdate = btmTypeAttributeService.checkAndUpdate(oid, modifyList, AuthUtil.getUserAccount(), new Date()); + List<BtmTypeAttributeVO> returnList = new ArrayList<>(); + returnList.addAll(Objects.requireNonNull(voListAdd)); + returnList.addAll(Objects.requireNonNull(voListUpdate)); + return returnList; + } + + /** + * 妫�鏌ヤ笟鍔$被鍨嬬鍚堣鑼� + * @param btmTypeDTO 涓氬姟绫诲瀷椤甸潰浼犺緭瀵硅薄 + */ + private void checkBtmTypeBeforeSave(BtmTypeDTO btmTypeDTO) { + 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.getAttributes()); + } + 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<BtmType> btmTypeDOList = listBtmTypeDOByIdCollection(VciBaseUtil.str2List(btmTypeDTO.getId())); + if (!CollectionUtils.isEmpty(btmTypeDOList) && btmTypeDOList.size() > 0) { + BtmType existBtmType = btmTypeDOList.get(0); + throw new VciBaseException("涓氬姟绫诲瀷鑻辨枃鍚嶇О宸茬粡瀛樺湪锛堜笉鍖哄垎澶у皬鍐欙級锛岃繖涓嫳鏂囧悕绉板搴旂殑涓枃鍚嶇О涓簕0},鍒涘缓浜簕1},鍒涘缓鏃堕棿{2}" + , new Object[]{existBtmType.getName(), existBtmType.getCreator(), VciDateUtil.date2Str(existBtmType.getCreateTime(), VciDateUtil.DateFormat)}); + } + if (btmTypeDTO.isRevisionFlag()){ + // 闇�瑕佹帶鍒剁増鏈� + // 妫�鏌ヤ娇鐢ㄧ殑鐗堟湰瑙勫垯鏄惁瀛樺湪 +// if (StringUtils.isNotBlank(btmTypeDTO.getRevisionRuleId())) { +// if (revisionRuleServiceI.checkRevisionRuleExist(btmTypeDTO.getRevisionRuleId())) { +// throw new VciBaseException("鐗堟湰瑙勫垯{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉", +// new Object[]{btmTypeDTO.getRevisionRuleId(), btmTypeDTO.getRevisionRuleName()}); +// } +// } + btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP)); + } + if (btmTypeDTO.isLifeCycleFlag()){ + // 闇�瑕佹帶鍒剁敓鍛藉懆鏈� + //妫�鏌ヤ娇鐢ㄧ殑鐢熷懡鍛ㄦ湡鏄惁瀛樺湪 +// 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()}); +// } +// } + btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP)); + } + if (btmTypeDTO.isSecretFlag()){ + // 闇�瑕佹帶鍒跺瘑绾� + btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP)); + } + if (StringUtils.isBlank(btmTypeDTO.getOid())) { + btmTypeDTO.setOid(VciBaseUtil.getPk()); + } + } @Override public boolean deleteLogic(@NotEmpty List<Long> ids) { return false; diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/ModifyAtributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/ModifyAtributeServiceImpl.java new file mode 100644 index 0000000..1849cb5 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/ModifyAtributeServiceImpl.java @@ -0,0 +1,29 @@ +package com.vci.ubcs.omd.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.omd.entity.ModifyAttributeInfo; +import com.vci.ubcs.omd.mapper.ModifyAttributeInfoMapper; +import com.vci.ubcs.omd.service.IModifyAttributeService; +import org.springframework.stereotype.Service; + +import javax.validation.constraints.NotEmpty; +import java.util.List; + +/** + * Description: 闇�瑕佷慨鏀规暟鎹簱琛ㄤ腑瀛楁鐨勪俊鎭湇鍔″疄鐜扮被 + * + * @author LiHang + * @date 2023/5/4 + */ +@Service +public class ModifyAtributeServiceImpl extends ServiceImpl<ModifyAttributeInfoMapper, ModifyAttributeInfo> implements IModifyAttributeService { + @Override + public boolean deleteLogic(@NotEmpty List<Long> ids) { + return false; + } + + @Override + public boolean changeStatus(@NotEmpty List<Long> ids, Integer status) { + return false; + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java index b917e31..dfb98cc 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java @@ -59,5 +59,4 @@ // 鍦ㄨ繖杩涜閫氱敤瀛楁澶勭悊 return entity; } - } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeWrapper.java index 221bf19..744366a 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeWrapper.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeWrapper.java @@ -3,7 +3,10 @@ import com.vci.ubcs.omd.dto.BtmTypeDTO; import com.vci.ubcs.omd.entity.BtmType; import com.vci.ubcs.omd.vo.BtmTypeVO; +import com.vci.ubcs.starter.web.enumpck.BooleanEnum; +import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.BeanUtil; import java.util.Date; @@ -31,6 +34,12 @@ public BtmTypeVO entityVO(BtmType entity) { BtmTypeVO vo = Objects.requireNonNull(BeanUtil.copy(entity, BtmTypeVO.class)); // 鍦ㄨ繖閲岃缃灇涓炬樉绀哄�� + vo.setRevisionFlag(BooleanEnum.TRUE.getValue().equals(entity.getRevisionFlag())); + vo.setSecretFlag(BooleanEnum.TRUE.getValue().equals(entity.getSecretFlag())); + vo.setLifeCycleFlag(BooleanEnum.TRUE.getValue().equals(entity.getLifeCycleFlag())); + vo.setInputRevisionFlag(BooleanEnum.TRUE.getValue().equals(entity.getInputRevisionFlag())); + vo.setViewFlag(BooleanEnum.TRUE.getValue().equalsIgnoreCase(entity.getViewFlag())); + vo.setAbstractFlag(BooleanEnum.TRUE.getValue().equals(entity.getAbstractFlag())); return vo; } @@ -58,4 +67,29 @@ return entity; } + public BtmType entityBeforeInsert(BtmType btmType) { + btmType = entityBeforeSave(btmType); + String userAccount = AuthUtil.getUserAccount(); + btmType.setOwner(userAccount); + btmType.setCreator(userAccount); + Date now = new Date(); + btmType.setCreateTime(now); + return btmType; + } + + /** + * 鎻掑叆鍓嶅寘瑁呴粯璁ゅ瓧娈� + * @param btmTypeDO do鏁版嵁 + * @return 鍖呰鍚� + */ + public BtmType entityBeforeSave(BtmType btmTypeDO) { + btmTypeDO.setOid(VciBaseUtil.getPk()); + btmTypeDO.setBtmname("btmType"); + Date now = new Date(); + String userAccount = AuthUtil.getUserAccount(); + btmTypeDO.setLastModifier(userAccount); + btmTypeDO.setLastModifyTime(now); + btmTypeDO.setTs(now); + return btmTypeDO; + } } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/ModifyAttributeWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/ModifyAttributeWrapper.java new file mode 100644 index 0000000..b024482 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/ModifyAttributeWrapper.java @@ -0,0 +1,42 @@ +package com.vci.ubcs.omd.wrapper; + +import com.vci.ubcs.omd.entity.ModifyAttributeInfo; +import com.vci.ubcs.omd.vo.ModifyAttributeInfoVO; +import com.vci.ubcs.starter.web.enumpck.BooleanEnum; +import com.vci.ubcs.starter.web.util.VciBaseUtil; +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.secure.utils.AuthUtil; + +import java.util.Date; +import java.util.List; + +/** + * Description: + * + * @author LiHang + * @date 2023/5/4 + */ +public class ModifyAttributeWrapper extends BaseEntityWrapper<ModifyAttributeInfo, ModifyAttributeInfoVO> { + + public static ModifyAttributeWrapper build() { + return new ModifyAttributeWrapper(); + } + + @Override + public ModifyAttributeInfoVO entityVO(ModifyAttributeInfo entity) { + return null; + } + + public List<ModifyAttributeInfo> listEntityBeforeSave(List<ModifyAttributeInfo> dataList){ + dataList.forEach(data -> { + data.setOid(VciBaseUtil.getPk()); + data.setCreateTime(new Date()); + data.setCreator(AuthUtil.getUserAccount()); + data.setBtmname("modifyAttributeInfo"); + data.setHandleDate(new Date()); + data.setHandleFinishFlag(BooleanEnum.TRUE.getValue()); + data.setHandleUserName(AuthUtil.getUserAccount()); + }); + return dataList; + } +} -- Gitblit v1.9.3