diff --git a/business-entity-engine-api/src/main/java/com/inspur/edp/bef/engine/entity/EntityResourceInfo.java b/business-entity-engine-api/src/main/java/com/inspur/edp/bef/engine/entity/EntityResourceInfo.java index 6af24632930b560cc82e4f9e0ca193cd88caf634..987d6c7fe45983285e085880212d568cd6c1f827 100644 --- a/business-entity-engine-api/src/main/java/com/inspur/edp/bef/engine/entity/EntityResourceInfo.java +++ b/business-entity-engine-api/src/main/java/com/inspur/edp/bef/engine/entity/EntityResourceInfo.java @@ -40,6 +40,7 @@ import com.inspur.edp.das.commonmodel.IGspCommonElement; import com.inspur.edp.das.commonmodel.IGspCommonObject; import com.inspur.edp.das.commonmodel.entity.element.GspBillCodeGenerateOccasion; import com.inspur.edp.das.commonmodel.entity.object.GspUniqueConstraint; +import io.iec.edp.caf.commons.utils.CollectionUtils; import io.iec.edp.caf.databaseobject.api.entity.DatabaseObjectColumn; import io.iec.edp.caf.databaseobject.api.entity.DatabaseObjectTableCore; import org.apache.commons.lang3.StringUtils; @@ -48,10 +49,7 @@ import java.util.ArrayList; import java.util.List; public class EntityResourceInfo extends BefEntityResInfoImpl { - private final GspBizEntityObject obj; private final BeModelResInfo beModelResInfo; - private final GspBusinessEntity businessEntity; - private String primaryKey; private String parentKey; @@ -59,8 +57,8 @@ public class EntityResourceInfo extends BefEntityResInfoImpl { GspBusinessEntity businessEntity) { super(obj.getCode(), obj.getI18nResourceInfoPrefix() + ".Name", beModelResInfo, obj.getID(), obj.getName()); this.beModelResInfo = beModelResInfo; - this.businessEntity = businessEntity; - this.obj = obj; + setBusinessEntity(businessEntity); + setBizEntityObject(obj); initColumns1(); initUQConstraintInfos1(); initChildInfos1(beModelResInfo); @@ -74,7 +72,7 @@ public class EntityResourceInfo extends BefEntityResInfoImpl { } private void intCodeRuleInfos() { - for (IGspCommonField item : obj.getContainElements()) { + for (IGspCommonField item : getBizEntityObject().getContainElements()) { IGspCommonElement element = (IGspCommonElement) item; if (!element.getBillCodeConfig().getCanBillCode()) { @@ -91,9 +89,9 @@ public class EntityResourceInfo extends BefEntityResInfoImpl { private void initColumnGenerateInfo() { ColumnGenerateInfo info = new ColumnGenerateInfo(); - info.setGenerateType(obj.getColumnGenerateID().getGenerateType()); - if (obj.getColumnGenerateID().getCloumnParameter() != null && !obj.getColumnGenerateID().getCloumnParameter().isEmpty()) { - info.getParams().addAll(obj.getColumnGenerateID().getCloumnParameter()); + info.setGenerateType(getBizEntityObject().getColumnGenerateID().getGenerateType()); + if (!CollectionUtils.isEmpty(getBizEntityObject().getColumnGenerateID().getCloumnParameter())) { + info.getParams().addAll(getBizEntityObject().getColumnGenerateID().getCloumnParameter()); } this.setColumnGenerateInfo(info); } @@ -117,29 +115,30 @@ public class EntityResourceInfo extends BefEntityResInfoImpl { /** * 返回主键LabelID信息 + * * @return 主键LabelID */ public String getPrimaryKey() { - if(StringUtils.isEmpty(this.primaryKey)){ + if (StringUtils.isEmpty(this.primaryKey)) { //根据ID信息构造主键,对应LabelID - List keys = obj.getPrimaryKeys(); + List keys = getBizEntityObject().getPrimaryKeys(); this.primaryKey = String.join(",", keys); } return this.primaryKey; } public String getParentProprety() { - if(obj.getIsRootNode()) { + if (getBizEntityObject().getIsRootNode()) { return null; } - if(StringUtils.isEmpty(this.parentKey)) { + if (StringUtils.isEmpty(this.parentKey)) { //根据外键集合构造 - GspAssociationKeyCollection collection = obj.getKeys(); + GspAssociationKeyCollection collection = getBizEntityObject().getKeys(); List parentKeys = new ArrayList<>(); - for(GspAssociationKey key : collection){ + for (GspAssociationKey key : collection) { String sourceElementId = key.getSourceElement(); - IGspCommonElement element = obj.findElement(sourceElementId); - if(element!=null) { + IGspCommonElement element = getBizEntityObject().findElement(sourceElementId); + if (element != null) { parentKeys.add(element.getLabelID()); } } @@ -150,13 +149,13 @@ public class EntityResourceInfo extends BefEntityResInfoImpl { protected void initColumns1() { //todo 好多地方都重复了,BefBaseAdaptor的columns也用dbo进行构造 - DatabaseObjectTableCore dbo = (DatabaseObjectTableCore) BefRtBeanUtil.getDboRtService().getDatabaseObject(obj.getRefObjectName()); + DatabaseObjectTableCore dbo = (DatabaseObjectTableCore) BefRtBeanUtil.getDboRtService().getDatabaseObject(getBizEntityObject().getRefObjectName()); if (dbo == null) { - throw new BefEngineExceptionBase(ErrorCodes.BEF_ENGINE_0013, obj.getBelongModel().getName(), - obj.getName(), obj.getRefObjectName()); + throw new BefEngineExceptionBase(ErrorCodes.BEF_ENGINE_0013, getBizEntityObject().getBelongModel().getName(), + getBizEntityObject().getName(), getBizEntityObject().getRefObjectName()); } - for (IGspCommonField field : obj.getContainElements()) { + for (IGspCommonField field : getBizEntityObject().getContainElements()) { if (field.getObjectType() == GspElementObjectType.Association && (field.getChildAssociations() == null || field.getChildAssociations().isEmpty())) { continue; @@ -164,7 +163,7 @@ public class EntityResourceInfo extends BefEntityResInfoImpl { DataTypePropertyInfo dataTypePropertyInfo = new BefPropInfoGenerator().getDataTypePropertyInfo(field); //是为了长度校验时,识别出smallInt类型字段进行值范围比较,给dataTypePropertyInfo增加数据类型字段 DatabaseObjectColumn column = dbo.getColumnById(((IGspCommonElement) field).getColumnID()); - if(column != null){ + if (column != null) { GspDbDataType gspDbDataType = DataTypeConvertor.transDataType(column.getDataType()); dataTypePropertyInfo.setDbDataType(gspDbDataType); } @@ -174,17 +173,17 @@ public class EntityResourceInfo extends BefEntityResInfoImpl { } protected void initUQConstraintInfos1() { - if (obj.getContainConstraints() == null || obj.getContainConstraints().isEmpty()) + if (getBizEntityObject().getContainConstraints() == null || getBizEntityObject().getContainConstraints().isEmpty()) return; - for (GspUniqueConstraint gspUniqueConstraint : obj.getContainConstraints()) { + for (GspUniqueConstraint gspUniqueConstraint : getBizEntityObject().getContainConstraints()) { UniqueConstraintInfo uniqueConstraintInfo = new UniqueConstraintInfo(); uniqueConstraintInfo.setDisplayValueKey(gspUniqueConstraint.getI18nResourceInfoPrefix() + ".TipInfo"); ArrayList elements = new ArrayList<>(); for (String eleID : gspUniqueConstraint.getElementList()) { - elements.add(obj.findElement(eleID).getLabelID()); + elements.add(getBizEntityObject().findElement(eleID).getLabelID()); } uniqueConstraintInfo.setFields(elements); - uniqueConstraintInfo.setNodeCode(obj.getCode()); + uniqueConstraintInfo.setNodeCode(getBizEntityObject().getCode()); // 默认显示名称 uniqueConstraintInfo.setDefaultDisplayName(gspUniqueConstraint.getName()); addUQConstraintInfo(gspUniqueConstraint.getCode(), uniqueConstraintInfo); @@ -193,39 +192,31 @@ public class EntityResourceInfo extends BefEntityResInfoImpl { @Override public boolean isRoot() { - return obj.getIsRootNode(); + return getBizEntityObject().getIsRootNode(); } @Override public String getConfigId() { - return businessEntity.getDotnetGeneratedConfigID(); + return getBusinessEntity().getDotnetGeneratedConfigID(); } protected void initChildInfos1(CefModelResInfoImpl modelResInfo) { - if (obj.getContainChildObjects() == null || obj.getContainChildObjects().isEmpty()) { + if (getBizEntityObject().getContainChildObjects() == null || getBizEntityObject().getContainChildObjects().isEmpty()) { return; } - for (IGspCommonObject childObj : obj.getContainChildObjects()) { - addChildEntityResInfo(new EntityResourceInfo((GspBizEntityObject) childObj, beModelResInfo, businessEntity)); + for (IGspCommonObject childObj : getBizEntityObject().getContainChildObjects()) { + addChildEntityResInfo(new EntityResourceInfo((GspBizEntityObject) childObj, beModelResInfo, getBusinessEntity())); } } public LogicDeleteResInfo getLogicDeleteResInfo() { - LogicDeleteControlInfo logicDeleteControlInfo = this.obj.getLogicDeleteControlInfo(); + LogicDeleteControlInfo logicDeleteControlInfo = this.getBizEntityObject().getLogicDeleteControlInfo(); if (logicDeleteControlInfo == null) return null; return new LogicDeleteResInfo(logicDeleteControlInfo.getEnableLogicDelete(), logicDeleteControlInfo.getLogicDeleteControlElementId()); } - protected GspBizEntityObject getBizEntityObject() { - return this.obj; - } - protected BeModelResInfo getBeModelResInfo() { return this.beModelResInfo; } - - protected GspBusinessEntity getBusinessEntity() { - return this.businessEntity; - } } diff --git a/business-entity-engine-repository/src/main/java/com/inspur/edp/bef/engine/repository/adaptor/BefBaseAdaptor.java b/business-entity-engine-repository/src/main/java/com/inspur/edp/bef/engine/repository/adaptor/BefBaseAdaptor.java index 21ad11e9e3d81898ca642d20076318fe3279e75c..185fee848e1f505825193808c82e463048d3c8d1 100644 --- a/business-entity-engine-repository/src/main/java/com/inspur/edp/bef/engine/repository/adaptor/BefBaseAdaptor.java +++ b/business-entity-engine-repository/src/main/java/com/inspur/edp/bef/engine/repository/adaptor/BefBaseAdaptor.java @@ -101,8 +101,6 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { private DatabaseObjectTableCore dbo; private EntityDac entityDac; private IGspCommonElement parentIdEle; - private final Map parallelTableDboInfos = new HashMap<>(); - private final Map parallelTableMap = new HashMap<>(); protected BaseSqlGenerator getSqlGenerator(GspDbType gspDbType) { return (BaseSqlGenerator) SqlGeneratorFactory.getSqlProcessor(gspDbType); @@ -124,9 +122,8 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { String parentIdEleId = bizEntityObject.getKeys().get(0).getSourceElement(); parentIdEle = bizEntityObject.findElement(parentIdEleId); } - initParallelTableDboInfo(); + initParallelTableInfos(bizEntityObject); initAssociations(); - initParallelTableInfos(); initColumns(); sqlGenerator = getSqlGenerator(gspDbType); } @@ -218,43 +215,6 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { } } - /** - * 初始化平行表信息 - */ - protected void initParallelTableInfos() { - if (this.bizEntityObject.getParallelTableCollection() == null || this.bizEntityObject.getParallelTableCollection().isEmpty()) { - return; - } - for (ParallelTable parallelTable : this.bizEntityObject.getParallelTableCollection()) { - ParallelTableInfo parallelTableInfo = new ParallelTableInfo(); - parallelTableInfo.setParallelTableCode(parallelTable.getCode()); - parallelTableInfo.setDboId(parallelTable.getRefDboID()); - String tableCode = this.parallelTableDboInfos.get(parallelTable.getID()).getCode(); - parallelTableInfo.setTableCode(tableCode); - DatabaseObjectTableCore dbo = parallelTableDboInfos.get(parallelTable.getID()); - DatabaseObjectColumn idColumn = dbo.getColumnById(parallelTable.getPrimaryKey()); - parallelTableInfo.setPrimaryKeyCode(idColumn.getCode()); - - if(org.apache.commons.lang3.StringUtils.isNotEmpty(parallelTable.getParentID())){ - DatabaseObjectColumn parentIdColumn = dbo.getColumnById(parallelTable.getParentID()); - if(parentIdColumn == null){ - throw new BefRespositoryException(ErrorCodes.BEF_ENGINE_2038, parallelTable.getCode(), parallelTable.getParentID()); - } - parallelTableInfo.setParentIdCode(parentIdColumn.getCode()); - } - - this.parallelTableInfos.put(parallelTable.getCode(), parallelTableInfo); - } - } - - private DatabaseObjectTableCore getParallelTableRefDbo(String parallelTableId) { - return this.parallelTableDboInfos.get(parallelTableId); - } - - private DatabaseObjectTableCore getParallelTableDbo(String parallelTableId) { - return (DatabaseObjectTableCore) BefRtBeanUtil.getDboRtService().getDatabaseObject(parallelTableId); - } - private void initUdtColumn(IGspCommonElement element) { //单值UDT、关联UDT、多值单列UDT对应的childElements大小是1 //dodo 多值多列也有可能只设置了一列 @@ -278,7 +238,7 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { throwDboColumnNotFoundException(element, element.getBelongObject()); } if (tempDbo != dbo) { - String parallelTableCode = this.parallelTableMap.get(gspBizEntityElement.getRefParallelTableId()).getCode(); + String parallelTableCode = this.getParallelTable(gspBizEntityElement.getRefParallelTableId()).getCode(); initColumn(element, element, column, parallelTableCode); } else { initColumn(element, element, column); @@ -311,14 +271,12 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { } childEle.setIsUdt(true); if (tempDbo != dbo) { - String parallelTableCode = this.parallelTableMap.get(gspBizEntityElement.getRefParallelTableId()).getCode(); + String parallelTableCode = this.getParallelTable(gspBizEntityElement.getRefParallelTableId()).getCode(); initColumn(childEle, element, column, parallelTableCode); } else { initColumn(childEle, element, column); } - } - } /** @@ -332,7 +290,7 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { if (!org.apache.commons.lang3.StringUtils.isEmpty(gspBizEntityElement.getRefParallelTableId())) { DatabaseObjectTableCore parallelTableDbo = getParallelTableRefDbo(gspBizEntityElement.getRefParallelTableId()); column = parallelTableDbo.getColumnById(element.getColumnID()); - String tableCode = this.parallelTableMap.get(gspBizEntityElement.getRefParallelTableId()).getCode(); + String tableCode = this.getParallelTable(gspBizEntityElement.getRefParallelTableId()).getCode(); initColumn(element, element, column, tableCode); } else { column = dbo.getColumnById(element.getColumnID()); @@ -569,7 +527,7 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { deleteSql = String.format(sqlGenerator.getDeleteSql(), "@TableName@", tableAlias); } else{ - ParallelTableInfo parallelTable = this.parallelTableInfos.get(parallelTableCode); + ParallelTableInfo parallelTable = this.getParallelTableInfo(parallelTableCode); deleteSql = String.format(sqlGenerator.getDeleteSql(), "@TableName@", parallelTable.getParallelTableCode()); } return deleteSql; @@ -580,12 +538,8 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { // region Insert @Override protected String innerGetInsertSql() { - return innerGetInsertSql(""); - } - - protected String innerGetInsertSql(String parallelTableCode) { batchInsert = true; - initInsertSql(parallelTableCode); + initInsertSql(""); //todo 去掉类成员变量 return insertSql; } @@ -603,7 +557,7 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { //跟之前一致,并且在当前实例上做缓存。 StringBuilder columnNames = new StringBuilder(); StringBuilder valueParameter = new StringBuilder(); - ParallelTableInfo parallelTableInfo = this.parallelTableInfos.get(parallelTableCode); + ParallelTableInfo parallelTableInfo = this.getParallelTableInfo(parallelTableCode); if(parallelTableInfo != null){ columnNames.append(parallelTableInfo.getPrimaryKeyCode()); valueParameter.append("?"); @@ -1149,21 +1103,6 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { } } - /** - * 初始化平行表信息 - */ - private void initParallelTableDboInfo() { - if (this.bizEntityObject.getParallelTableCollection() == null || this.bizEntityObject.getParallelTableCollection().isEmpty()) { - return; - } - for (ParallelTable parallelTable : this.bizEntityObject.getParallelTableCollection()) { - DatabaseObjectTableCore parallelTableDbo = getParallelTableDbo(parallelTable.getRefDboID()); - this.parallelTableDboInfos.put(parallelTable.getID(), parallelTableDbo); - - this.parallelTableMap.put(parallelTable.getID(), parallelTable); - } - } - private void initEleAssociations(IGspCommonField element) { if (element.getChildAssociations() == null || element.getChildAssociations().isEmpty()) { return; @@ -1171,7 +1110,6 @@ public class BefBaseAdaptor extends EntityRelationalAdaptor { for (GspAssociation association : element.getChildAssociations()) { initEleAssociation(association); } - } private void initEleAssociation(GspAssociation association) { diff --git a/business-entity-engine-repository/src/main/java/com/inspur/edp/bef/engine/repository/exception/ErrorCodes.java b/business-entity-engine-repository/src/main/java/com/inspur/edp/bef/engine/repository/exception/ErrorCodes.java index f774cfafa336df924a82084dc93028c66ef5bcba..2509434cef8db02f0f1ead5d6e69c188c698bfc5 100644 --- a/business-entity-engine-repository/src/main/java/com/inspur/edp/bef/engine/repository/exception/ErrorCodes.java +++ b/business-entity-engine-repository/src/main/java/com/inspur/edp/bef/engine/repository/exception/ErrorCodes.java @@ -155,9 +155,4 @@ public class ErrorCodes { */ public static String BEF_ENGINE_2037 = "BEF_ENGINE_2037"; - /** - * 未在dbo上找到平行表:{0}的ParentId列:{1}信息,请检查 - */ - public static String BEF_ENGINE_2038 = "BEF_ENGINE_2038"; - } diff --git a/i18n/bef_engine_repository.resources/bef_engine_repository_exception.properties b/i18n/bef_engine_repository.resources/bef_engine_repository_exception.properties index 6682861440480448cf8a17d89f2dceb132a52753..55336103ce2bf7cb83bdc8b6f50f51c9106f28e8 100644 --- a/i18n/bef_engine_repository.resources/bef_engine_repository_exception.properties +++ b/i18n/bef_engine_repository.resources/bef_engine_repository_exception.properties @@ -35,4 +35,3 @@ BEF_ENGINE_2034=\u679A\u4E3E\u5B57\u6BB5[{0}]\u8FDB\u884C\u6570\u636E\u8F6C\u636 BEF_ENGINE_2035=\u5B57\u6BB5{0}\u5B58\u5728\u672A\u52A0\u5BC6\u5386\u53F2\u6570\u636E\uFF0C\u8BF7\u5148\u68C0\u67E5\u6570\u636E\u3002 BEF_ENGINE_2036=\u5B57\u6BB5[{0}]\u7C7B\u578B\u8F6C\u6362\u51FA\u9519\uFF0C\u5BF9\u5E94BE[{1}],\u5BF9\u8C61[{2}],\u5B57\u6BB5[{3}] BEF_ENGINE_2037=\u5B57\u6BB5[{0}]\u5BF9\u5E94\u5B50\u5143\u7D20{1}\u5728Udt\u5143\u6570\u636E{2}\u4E2D\u672A\u627E\u5230\uFF0C\u5BF9\u5E94BE[{3}],\u5BF9\u8C61[{4}],\u5B57\u6BB5[{5}] -BEF_ENGINE_2038=\u672A\u5728dbo\u4E0A\u627E\u5230\u5E73\u884C\u8868{0}\u7684ParentId\u5217:{1}\u4FE1\u606F\uFF0C\u8BF7\u68C0\u67E5 \ No newline at end of file diff --git a/i18n/bef_engine_repository.resources/en/bef_engine_repository_exception.en.properties b/i18n/bef_engine_repository.resources/en/bef_engine_repository_exception.en.properties index 2e1a9f84c6093cf9ce6a4a477f732930eb104e95..07c2c0a45e845e40e67f98e26f24b6b17031f264 100644 --- a/i18n/bef_engine_repository.resources/en/bef_engine_repository_exception.en.properties +++ b/i18n/bef_engine_repository.resources/en/bef_engine_repository_exception.en.properties @@ -35,4 +35,3 @@ BEF_ENGINE_2034=An error occurred during data conversion of the enumeration fiel BEF_ENGINE_2035=Field {0} has unencrypted historical data, please check the data first. BEF_ENGINE_2036=Type conversion error for field [{0}], corresponding to BE [{1}], object [{2}], field [{3}] BEF_ENGINE_2037=Field [{0}] corresponding to sub element {1} not found in Udt metadata {2}, corresponding to BE [{3}], object [{4}], field [{5}] -BEF_ENGINE_2038=The ParentId column information {1} for the parallel table {0} was not found on dbo. Please check diff --git a/i18n/bef_engine_repository.resources/zh-CHT/bef_engine_repository_exception.zh-CHT.properties b/i18n/bef_engine_repository.resources/zh-CHT/bef_engine_repository_exception.zh-CHT.properties index 04a1141a94ce73ae6f717328e64b1fdf17155ff7..1708566111f774f30255f0c86a6c990a59fb60ee 100644 --- a/i18n/bef_engine_repository.resources/zh-CHT/bef_engine_repository_exception.zh-CHT.properties +++ b/i18n/bef_engine_repository.resources/zh-CHT/bef_engine_repository_exception.zh-CHT.properties @@ -35,4 +35,3 @@ BEF_ENGINE_2034=\u679A\u8209\u6B04\u4F4D[{0}]\u9032\u884C\u8CC7\u6599\u8F49\u63D BEF_ENGINE_2035=\u6B04\u4F4D{0}\u5B58\u5728\u672A\u52A0\u5BC6\u6B77\u53F2\u8CC7\u6599\uFF0C\u8ACB\u5148\u6AA2\u67E5\u6578\u64DA\u3002 BEF_ENGINE_2036=\u6B04\u4F4D[{0}]\u985E\u578B\u8F49\u63DB\u51FA\u932F\uFF0C\u5C0D\u61C9BE[{1}]\uFF0C\u5C0D\u8C61[{2}]\uFF0C\u6B04\u4F4D[{3}] BEF_ENGINE_2037=\u6B04\u4F4D[{0}]\u5C0D\u61C9\u5B50\u5143\u7D20{1}\u5728Udt\u4E2D\u7E7C\u8CC7\u6599{2}\u4E2D\u672A\u627E\u5230\uFF0C\u5C0D\u61C9BE[{3}]\uFF0C\u5C0D\u8C61[{4}]\uFF0C\u6B04\u4F4D[{5}] -BEF_ENGINE_2038=\u672A\u5728dbo\u4E0A\u627E\u5230\u5E73\u884C\u8868{0}\u7684ParentId\u5217:{1}\u4FE1\u606F\uFF0C\u8ACB\u6AA2\u67E5 \ No newline at end of file diff --git a/pom.xml b/pom.xml index 47e35f27e72789524f7583fc0667fd07277b3b6c..87fb1ce0c4c1cd24a440382ec6dba6361553504a 100644 --- a/pom.xml +++ b/pom.xml @@ -41,7 +41,7 @@ common-entity-variable-engine-core - 0.3.8 + 0.3.9-SNAPSHOT 0.3.3 0.2.1 0.1.40