已修改66个文件
已删除3个文件
已重命名1个文件
已添加13个文件
| | |
| | | * 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 å°å |
| | |
| | | */ |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | */ |
| | | 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; |
| | | |
| | |
| | | <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>--> |
| | |
| | | /** |
| | | * åç±»ç æ®µä¸»é® |
| | | */ |
| | | private String codeClassifySecOid; |
| | | private String codeclassifysecoid; |
| | | |
| | | /** |
| | | * åç±»ç æ®µä¸»é®æ¾ç¤ºææ¬ |
| | |
| | | /** |
| | | * ç å¼åºå· |
| | | */ |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | |
| | | /** |
| | | * è·å ç å¼åºå· |
| | | */ |
| | | 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(); |
| | | } |
| | | } |
| | |
| | | <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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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(); |
| | | } |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | 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"; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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", "æ¶é´æ³"); |
| | | } |
| | | }; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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() { |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
| | |
| | | /** |
| | | * æ·»å æè
ç§»é¤ç屿§ä¿¡æ¯ |
| | | */ |
| | | private List<BtmTypeLinkAttributesDTO> attributesDTOList; |
| | | private List<BtmTypeLinkAttributesDTO> attributes; |
| | | |
| | | /** |
| | | * æ¶é´æ³ï¼ç¨äºæ ¡éªæ¯å¦ææ°æ°æ® |
| | |
| | | */ |
| | | private String description; |
| | | |
| | | |
| | | /** |
| | | * æ¯å¦æ§å¶çæ¬ |
| | | */ |
| | | private String revisionFlag; |
| | | /** |
| | | * çæ¬è§åçç¼å· |
| | | */ |
| | |
| | | * C# |
| | | */ |
| | | private String shape; |
| | | |
| | | /** |
| | | * æ¯å¦æ§å¶çå½å¨æ |
| | | */ |
| | | private String lifeCycleFlag; |
| | | |
| | | /** |
| | | * çå½å¨æçè±æåç§° |
| | |
| | | * ä¸è´æ§æ è¯ |
| | | */ |
| | | private String consistence; |
| | | |
| | | /** |
| | | * æ°æ®åºè¡¨ä¸ä¸å¡ç±»ååæ¥å¤±è´¥æ¬¡æ° |
| | | private Integer syncFailTimes; |
| | | */ |
| | | } |
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/ModifyAttributeInfoDO.java ÐÞ¸Ä |
| | |
| | | @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; |
| | | |
| | | /** |
| | | * æ·»å ç屿§ |
| | |
| | | /** |
| | | * å é¤ç屿§ |
| | | */ |
| | | private String deleteAttibutes; |
| | | private String deleteAttributes; |
| | | |
| | | /** |
| | | * 屿§ä¿®æ¹åçå
容 |
| | |
| | | * å建æ¶é´ |
| | | */ |
| | | 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; |
| | | } |
| | |
| | | */ |
| | | @FeignClient( |
| | | value = AppConstant.APPLICATION_NAME_OMD, |
| | | fallback = IDictClientFallback.class |
| | | fallback = IBtmTypeFallback.class |
| | | ) |
| | | public interface IBtmTypeClient { |
| | | |
| | |
| | | String API_PREFIX = "/client"; |
| | | /** |
| | | * åç
§å表æ¥è¯¢ |
| | | */ |
| | | String GET_REF_PAGE = API_PREFIX + "/btm-type/get-ref-page"; |
| | | /** |
| | | * åç
§å表æ¥è¯¢æ å页 |
| | | */ |
| | | String GET_REF = API_PREFIX + "/btm-type/get-ref"; |
| | | /** |
| | |
| | | * @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); |
| | | |
| | | /** |
| | | * æ ¹æ®è±æåç§°æ¹éæ¥è¯¢å¯¹è±¡ |
| | |
| | | * @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("è·åæ°æ®å¤±è´¥"); |
| | | } |
| | | |
| | |
| | | * |
| | | * @author Chill |
| | | */ |
| | | @Component |
| | | @Component("Dictclient2") |
| | | public class IDictClientFallback implements IDictClient { |
| | | @Override |
| | | public R<Dict> getById(Long id) { |
| | |
| | | package com.vci.ubcs.omd.vo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | * @author weidy |
| | | * @date 2019/10/11 6:04 PM |
| | | */ |
| | | @Data |
| | | public class LinkTypeVO implements java.io.Serializable { |
| | | |
| | | /** |
| | |
| | | * 龿¥ç±»å䏿åç§° |
| | | */ |
| | | private String name; |
| | | |
| | | /** |
| | | * æ°æ®åºè¡¨ |
| | | */ |
| | | private String tableName; |
| | | |
| | | /** |
| | | * æè¿° |
| | |
| | | /** |
| | | * from端ä¸å¡ç±»åæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | private List<BtmTypeVO> fromBtmTypeVOS; |
| | | private List<BtmTypeVO> fromBtmTypes; |
| | | |
| | | /** |
| | | * from端ä¸å¡ç±»ååç§° |
| | |
| | | /** |
| | | * to端ä¸å¡ç±»åæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | private List<BtmTypeVO> toBtmTypeVOS; |
| | | private List<BtmTypeVO> toBtmTypes; |
| | | |
| | | /** |
| | | * ä¸å¡ç±»ååç§° |
| | | */ |
| | | private String btmname; |
| | | private String btmName; |
| | | |
| | | /** |
| | | * æ¥æè
|
| | |
| | | * å
å«å±æ§ |
| | | */ |
| | | 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 + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | 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; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | return 0.0D; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | public static boolean getBoolean(String s) { |
| | | return BooleanEnum.TRUE.getValue().equals(s); |
| | | } |
| | | |
| | | public static String removeComma(String s) { |
| | |
| | | } 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); |
| | | } |
| | | } |
| | | |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | */ |
| | | 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å¯å¨å¨ |
| | |
| | | * ludc |
| | | */ |
| | | @UbcsCloudApplication |
| | | @ComponentScan("com.vci.ubcs.*") |
| | | public class CodeApplication { |
| | | |
| | | public static void main(String[] args) { |
| | |
| | | */ |
| | | @GetMapping("/treeCodeClassifyValue") |
| | | public List<Tree> treeCodeClassifyValue(TreeQueryObject treeQueryObject) { |
| | | return codeClassifyValueService.treeCodeClassifyValue(treeQueryObject); |
| | | return codeClassifyValueService.treeCodeClassifyValue(treeQueryObject); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return å é¤ç»æåé¦ï¼ï¼successï¼æåï¼failï¼å¤±è´¥ |
| | | */ |
| | | @DeleteMapping( "/deleteData") |
| | | public R delCodeClassifyValue(@RequestBody CodeClassifyValueDTO codeClassifyValueDTO) { |
| | | public R delCodeClassifyValue( CodeClassifyValueDTO codeClassifyValueDTO) { |
| | | return codeClassifyValueService.deleteCodeClassifyValue(codeClassifyValueDTO); |
| | | } |
| | | |
| | |
| | | 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(""); |
| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿å±æ§ æ§å¶å¨ |
| | |
| | | */ |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("/codeClassifyTempAttrController") |
| | | @RequestMapping("/CodeClstempattr") |
| | | @Api(value = "ç¼ç åºå®ä¹-模æ¿å±æ§", tags = "ç¼ç åºå®ä¹-模æ¿å±æ§æ¥å£") |
| | | public class CodeClstempattrController extends BladeController { |
| | | |
| | | private final ICodeClstempattrService codeClstempattrService; |
| | | private final ICodeClstempattrService CodeClstempattrService; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿å±æ§ 详æ
|
| | |
| | | @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)); |
| | | } |
| | | /** |
| | |
| | | @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)); |
| | | } |
| | | |
| | |
| | | @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); |
| | | } |
| | | |
| | |
| | | @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)); |
| | | } |
| | | |
| | | /** |
| | |
| | | @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)); |
| | | } |
| | | |
| | | /** |
| | |
| | | @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)); |
| | | } |
| | | |
| | | /** |
| | |
| | | @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 æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @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 æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @PutMapping("/editSave") |
| | | public R<CodeClstempattrVO> editSave(@RequestBody CodeClstempattrDTO codeClassifyTemplateAttrDTO){ |
| | | return codeClstempattrService.editSave(codeClassifyTemplateAttrDTO); |
| | | } |
| | | |
| | | /** |
| | | * å é¤ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ |
| | | * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ |
| | | * @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); |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | 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 æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @PostMapping( "/addSave") |
| | | public R<CodeClstemplateVO> addSave(@RequestBody CodeClstemplateDTO codeClassifyTemplateDTO){ |
| | | return plCodeClstemplateService.addSave(codeClassifyTemplateDTO); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ å类模æ¿å¯¹è±¡ |
| | | * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ |
| | | * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @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()); |
| | | // } |
| | | |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | @PostMapping( "/editDate") |
| | | public R editDate(@RequestBody CodeClstemplateDTO codeClassifyDTO) { |
| | | public R editDate( CodeClstemplateDTO codeClassifyDTO) { |
| | | return plCodeClstemplateService.updateLcStatus(codeClassifyDTO.getOid(),CodeClassifyTemplateLC.EDITING.getValue()); |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | @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); |
| | |
| | | */ |
| | | List<CodeClstempattrVO> selectCodeClstempattrPage(IPage page, CodeClstempattrVO CodeClstempattr); |
| | | |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢æåº |
| | | * |
| | |
| | | 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 æ¥å£ |
| | |
| | | */ |
| | | 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); |
| | | } |
| | |
| | | |
| | | |
| | | List<CodePhaseattrEntity> selectByPhasea(String oid); |
| | | |
| | | List<CodePhaseattrEntity> selectByPhaseaIds(String oids); |
| | | List<CodePhaseattrEntity> listLinkAttrDOByTemplateAttrDOS(String id,String codeClassifyTemplateOid); |
| | | } |
| | |
| | | * @return 主é¢åºæ¾ç¤ºæ |
| | | */ |
| | | List<Tree> treeTopCodeClassify(TreeQueryObject treeQueryObject); |
| | | |
| | | /** |
| | | * è·åè¿ä¸ªåç±»ä¸çä¸å¡ç±»åï¼å½å没æå°±è·åä¸çº§ç第ä¸ä¸ªä¸å¡ç±»å |
| | | * @param oid å½ååç±»çoid |
| | | * @return oid,id,name,btmtypeid,btmtypename |
| | | */ |
| | | CodeClassify selectBtmOrParentBtm(String oid); |
| | | |
| | | /** |
| | | * è·åææä¸çº§æ°æ® |
| | | * @param oid æ°æ®ä¸»é® |
| | | * @return æ¥è¯¢ç»æ |
| | | */ |
| | | List<CodeClassify> selectAllLevelParents(String oid); |
| | | } |
| | |
| | | |
| | | 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; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿å±æ§ æå¡ç±» |
| | |
| | | * @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åtséè¦ä¼ è¾ |
| | | * @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); |
| | | } |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿ç®¡ç æå¡ç±» |
| | |
| | | * åç |
| | | */ |
| | | 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); |
| | | } |
| | |
| | | |
| | | 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; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿é¶æ®µ æå¡ç±» |
| | |
| | | * @return åå½±åçæ°æ® |
| | | */ |
| | | int codeTemplateDeleteTrigger(String classifyTemplateOid); |
| | | |
| | | /** |
| | | * 模æ¿ä¿®æ¹è§¦ååè½ |
| | | * @param codeClassifyTemplateAttrDOInsert 屿§çæ°æ®å¯¹è±¡ |
| | | * @return åå½±åçæ°æ® |
| | | */ |
| | | List<CodeClstempattrEntity> codeTemplateAttrModifyTrigger(List<CodeClstempattrEntity> codeClassifyTemplateAttrDOInsert); |
| | | } |
| | |
| | | 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()); |
| | |
| | | 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)){ |
| | | // æ ¹æ®æ¥è¯¢åºæ¥çidæ§è¡åºå®ç 段æ§è¡å é¤ |
| | | fixedValueMapper.deleteBatchIds(collectOid); |
| | | } |
| | | // æ ¹æ®æ¥è¯¢åºæ¥çidæ§è¡åºå®ç 段æ§è¡å é¤ |
| | | deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet()))>0; |
| | | } |
| | | // 4ãåå é¤åç±»ç æ®µ |
| | | List<CodeBasicSec> classifySecList = deleteList.stream().filter(sec -> { |
| | |
| | | // å°è¦ä½ä¸ºå 餿¡ä»¶ç弿¾å¨ä¸ä¸ªéåéé¢ |
| | | 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)); |
| | | // æ ¹æ®æ¥è¯¢åºæ¥ç主é®idæ§è¡åºå®ç 段æ§è¡å é¤ |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | return treeCodeClassify(treeQueryObject); |
| | | } |
| | | |
| | | /** |
| | | * è·åè¿ä¸ªåç±»ä¸çä¸å¡ç±»åï¼å½å没æå°±è·åä¸çº§ç第ä¸ä¸ªä¸å¡ç±»å |
| | | * @param oid å½ååç±»çoid |
| | | * @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 å½ååç±»çoid |
| | | * @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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | /** |
| | | * ä¸çº§èç¹ç屿§åç§° |
| | | */ |
| | | private static final String PARENT_FIELD_NAME = "parentClassifyValueOid"; |
| | | private static final String PARENT_FIELD_NAME = "parentClassifyValueOid"; |
| | | |
| | | /** |
| | | * æ¥è¯¢åç±»ç æ®µçç å¼ æ |
| | |
| | | @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); |
| | |
| | | * @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("ä¸å
许å¨ç¶ç å¼ä¸ç´æ¥æ·»å åç å¼"); |
| | |
| | | //å°DTO转æ¢ä¸ºDO |
| | | 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()) |
| | |
| | | //å°DTO转æ¢ä¸ºDO |
| | | 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; |
| | | } |
| | |
| | | VciBaseUtil.alertNotNull(codeClassifyValueDTO,"åç±»ç æ®µçç 弿°æ®å¯¹è±¡",codeClassifyValueDTO.getOid(),"åç±»ç æ®µçç å¼ç主é®"); |
| | | CodeClassifyValue codeClassifyValueDO = selectByOid(codeClassifyValueDTO.getOid()); |
| | | R baseResult = checkIsCanDeleteForDO(codeClassifyValueDTO,codeClassifyValueDO); |
| | | if(!baseResult.isSuccess()) { |
| | | if(baseResult.isSuccess()) { |
| | | //æ¾ä¸çº§çï¼è¿ä¸ªæ¯å¯ä»¥å é¤çæ¶åR |
| | | List<String> childrenOids = codeClassifyValueMapper.selectAllLevelChildOid(codeClassifyValueDO.getOid().trim()); |
| | | if (!CollectionUtils.isEmpty(childrenOids)) { |
| | |
| | | |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | */ |
| | | 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; |
| | | |
| | | /** |
| | | * ç¼ç åºå®ä¹-模æ¿å±æ§ æå¡å®ç°ç±» |
| | |
| | | |
| | | @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) { |
| | |
| | | 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,"éè¦æ·»å çæ°æ®å¯¹è±¡"); |
| | | //å°DTO转æ¢ä¸ºDO |
| | | 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,"éè¦æ·»å çæ°æ®å¯¹è±¡"); |
| | | //å°DTO转æ¢ä¸ºDO |
| | | 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()); |
| | | } |
| | | //å¤æä¼ è¿æ¥çæä¸¾æ³¨å
¥æ¯å¦æ¯jsonArræ ¼å¼ |
| | | 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()}); |
| | | } |
| | | |
| | | //å¤æä¼ è¿æ¥çåç
§é
ç½®æ¯å¦æ¯jsonæ ¼å¼ |
| | | 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(),"主é¢åºåç±»çæ¨¡æ¿å±æ§ä¸»é®"); |
| | | |
| | | //å¤æä¼ è¿æ¥çæä¸¾æ³¨å
¥æ¯å¦æ¯jsonArræ ¼å¼ |
| | | if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getEnumstring())&&!checkKVArr(codeClassifyTemplateAttrDTO.getEnumstring())){ |
| | | throw new VciBaseException("æä¸¾æ³¨å
¥æ°æ®æ ¼å¼é误!"); |
| | | } |
| | | |
| | | //å¤æä¼ è¿æ¥çåç
§é
ç½®æ¯å¦æ¯jsonæ ¼å¼ |
| | | if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferbtmid())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferbtmid())){ |
| | | throw new VciBaseException("æä¸¾æ³¨å
¥æ°æ®æ ¼å¼é误!"); |
| | | } |
| | | |
| | | |
| | | //æ£æ¥ts |
| | | CodeClstempattrEntity codeClassifyTemplateAttrDOCopyFromDTO = new CodeClstempattrEntity(); |
| | | // BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDOCopyFromDTO); |
| | | // boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOCopyFromDTO); |
| | | |
| | | //æ£æ¥ts |
| | | // 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("å½åæ°æ®ä¸æ¯ææ°ï¼è¯·å·æ°ååä¿®æ¹ï¼"); |
| | | } |
| | | |
| | | //å°DTO转æ¢ä¸ºDO |
| | | CodeClstempattrEntity codeClassifyTemplateAttrDO = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); |
| | | revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); |
| | | baseMapper.updateById(codeClassifyTemplateAttrDO); |
| | | return R.data(codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ |
| | | * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ |
| | | * @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为true为å¯ä»¥å é¤ï¼falseè¡¨ç¤ºææ°æ®å¼ç¨ï¼obj为true表示æä¸çº§ |
| | | */ |
| | | 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); |
| | | //æé»è®¤ç屿§ä¹æ·»å å°boAttrs |
| | | 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); |
| | | //è¿ä¸ªæ¨¡æ¿ä¸å·²ç»æç屿§ |
| | | //æé»è®¤ç屿§ä¹æ·»å å°boAttrs |
| | | 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); |
| | | //ææid=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("æä½æåï¼"); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | |
| | | 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)); |
| | |
| | | // 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); |
| | | } |
| | | |
| | |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(codeClstemplateDTO,codeClassifyTemplateDOCopyFromDTO); |
| | | |
| | | //æ£æ¥ts |
| | | // 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())); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param codeClstemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ |
| | | * @return å é¤ç»æåé¦ï¼ï¼successï¼æåï¼failï¼å¤±è´¥ |
| | | */ |
| | | @Transactional |
| | | @Override |
| | | public R deleteCodeClassifyTemplate(CodeClstemplateDTO codeClstemplateDTO) { |
| | | checkIsCanDelete(codeClstemplateDTO); |
| | |
| | | * åç
§æ å类模æ¿å¯¹è±¡ |
| | | * @param treeQueryObject æ å½¢æ¥è¯¢å¯¹è±¡ |
| | | * @return å类模æ¿å¯¹è±¡æ¾ç¤ºæ |
| | | * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | @Transactional |
| | | @Override |
| | | public List<Tree> referTree(TreeQueryObject treeQueryObject) { |
| | | if(treeQueryObject == null){ |
| | |
| | | * @param lcStatus |
| | | * @return |
| | | */ |
| | | @Transactional |
| | | @Override |
| | | public R updateLcStatus( String oid, String lcStatus){ |
| | | CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(oid); |
| | |
| | | * åç |
| | | * @param codeClassifyDTO |
| | | */ |
| | | @Transactional |
| | | @Override |
| | | public R Upgrade(CodeClstemplateDTO codeClassifyDTO) { |
| | | |
| | |
| | | //éè¦æ°å¢çåçº§æ¨¡æ¿ |
| | | // 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 |
| | | //åçåä¸è½ä½¿ç¨insertæ¹æ³ï¼å 为é£ä¸ªæ°¸è¿æ¯æ°å¢ä¸æ¡æ°æ®ï¼ |
| | | //䏿¹å
ä»dto转ç»doï¼ç¶åæåççåå§åç屿§æ·è´ç»doï¼æååä»doæ·è´å°cboä¸ |
| | | // //modify by weidy@2022-2-27 |
| | | // //åçåä¸è½ä½¿ç¨insertæ¹æ³ï¼å 为é£ä¸ªæ°¸è¿æ¯æ°å¢ä¸æ¡æ°æ®ï¼ |
| | | // //䏿¹å
ä»dto转ç»doï¼ç¶åæåççåå§åç屿§æ·è´ç»doï¼æååä»doæ·è´å°cboä¸ |
| | | // WebUtil.copyValueToCboFromObj(clientBusinessObject_template_insert,codeClassifyTemplateDO); |
| | | //åçè¿åçæ¨¡æ¿oid |
| | | String templateNewOid = codeCls_template_insert.getOid(); |
| | | |
| | | //éè¦å¤å¶ç模æ¿å±æ§ |
| | | //æ¥è¯¢è模æ¿ä¸è¾¹çææå±æ§ï¼èµå¼æ°æ¨¡æ¿oid |
| | | // //åçè¿åçæ¨¡æ¿oid |
| | | // 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ä¿åçæ¶åæ²¡æè½å¤èªå¨updateæºæ°æ®çisLastR |
| | | //batchCBOTemplate.getCreateCbos().add(clientBusinessObject_template_insert); |
| | | //使ç¨saveRevisionBuisnessObjectå¯ä»¥è§£å³è¿ä¸ªé®é¢ï¼è¿éå
ææ¶æ§è¡ä¸¤æ¬¡ä¿å |
| | | // //batchCBOä¿åçæ¶åæ²¡æè½å¤èªå¨updateæºæ°æ®çisLastR |
| | | // //batchCBOTemplate.getCreateCbos().add(clientBusinessObject_template_insert); |
| | | // //使ç¨saveRevisionBuisnessObjectå¯ä»¥è§£å³è¿ä¸ªé®é¢ï¼è¿éå
ææ¶æ§è¡ä¸¤æ¬¡ä¿å |
| | | // 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); |
| | |
| | | // 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,å¤å¶è¿æ¥çæ°çåç±»oid |
| | | 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,模æ¿é¶æ®µèoid:模æ¿å±æ§æ°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>(); |
| | | //没æä¼ åç±»idï¼ä¸æ§è¡æ¥è¯¢é»è¾ï¼ç´æ¥è¿å |
| | | // 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,"éè¦æ·»å çæ°æ®å¯¹è±¡"); |
| | | //å°DTO转æ¢ä¸ºDO |
| | | CodeClstemplateEntity codeClassifyTemplateDO = new CodeClstemplateEntity(); |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDTO,codeClassifyTemplateDO); |
| | | |
| | | //æ¥è¯¢å类以åä¸çº§åç±»çä¸å¡ç±»åbtmtypeidãbtmtypename |
| | | List<CodeClassify> codeClassifyDOList = codeClassifyService.selectAllLevelParents(codeClassifyTemplateDTO.getCodeClassifyOid()); |
| | | |
| | | //ææåç±»é½æ²¡æä¸å¡ç±»åï¼è¿åæç¤º |
| | | if(codeClassifyDOList.size()==0){ |
| | | return R.fail("æ·»å æ¨¡æ¿æ·»å 失败,åç±»åä¸çº§åç±»é½æ²¡æå
³èä¸å¡ç±»åï¼"); |
| | | } |
| | | |
| | | //设置btmtypeidåname |
| | | 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(),"å类模æ¿å¯¹è±¡ä¸»é®"); |
| | | //æ£æ¥ts |
| | | 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("å½åæ°æ®ä¸æ¯ææ°ï¼è¯·å·æ°ååä¿®æ¹ï¼"); |
| | | } |
| | | |
| | | //å°DTO转æ¢ä¸ºDO |
| | | 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)); |
| | | } |
| | | } |
| | |
| | | |
| | | 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; |
| | |
| | | |
| | | @Autowired(required = false) |
| | | private CodePhaseattrMapper codePhaseattrMapper; |
| | | @Autowired(required = false) |
| | | private CodePhaseattrServiceImpl codePhaseattrServiceImpl; |
| | | |
| | | @Override |
| | | public IPage<CodeTempphaseVO> selectCodeTempphasePage(IPage<CodeTempphaseVO> page, CodeTempphaseVO CodeTempphase) { |
| | |
| | | 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())); |
| | |
| | | } |
| | | } |
| | | 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; |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | 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; |
| | |
| | | @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; |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | com.vci.ubcs.starter.revision.service.RevisionModelUtil |
| | |
| | | </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> |
| | |
| | | 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: æ°æ®åºæä½æ§å¶å¨ |
| | |
| | | |
| | | /** |
| | | * æ°å¢æä¿®æ¹æ°æ®åºè¡¨ |
| | | * @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | 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())); |
| | | } |
| | | } |
| | |
| | | * @param tableName è¡¨æ ¼çåç§° |
| | | * @return æ°æ®åºè¡¨çåæ®µä¿¡æ¯ |
| | | */ |
| | | @ResultMap("ddlTableColumnInfo") |
| | | @Select("") |
| | | List<DdlTableInDataBaseBO> selectTableColumnInfo(@Param("tableName") String tableName); |
| | | |
| | | /** |
| | |
| | | * @param tableName è¡¨æ ¼çåç§° |
| | | * @return æ°æ®åºè¡¨çåæ®µä¿¡æ¯ |
| | | */ |
| | | @ResultMap("ddlTableColumnInfo") |
| | | @Select("") |
| | | List<DdlTableInDataBaseBO> selectTableColumnInfo(@Param("tableName")String tableName); |
| | | |
| | | /** |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.ddl.mapper; |
| | | |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | /** |
| | | * Description: |
| | | * |
| | | * @author LiHang |
| | | * @date 2023/4/26 |
| | | */ |
| | | @Repository |
| | | public interface DllMySqlMapper extends DllMapper{ |
| | | } |
| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | @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); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | |
| | | |
| | | 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; |
| | |
| | | * @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æ°æ®åºDDLæä½æå¡æå"); |
| | | }else { |
| | | System.out.println("[fail]::å è½½Sql Serveræ°æ®åºDDLæä½æå¡å¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | 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; |
| | | |
| | |
| | | * @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æ°æ®åºDDLæä½æå¡æå"); |
| | | }else { |
| | | System.out.println("[fail]::å è½½MySqlæ°æ®åºDDLæä½æå¡å¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | 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; |
| | |
| | | * @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æ°æ®åºDDLæä½æå¡æå"); |
| | | }else { |
| | | System.out.println("[fail]::å è½½Oracleæ°æ®åºDDLæä½æå¡å¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | @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 |
| | |
| | | */ |
| | | String DEFAULT = "default"; |
| | | |
| | | /** |
| | | * å符串 |
| | | */ |
| | | String VARCHAR = "varchar2"; |
| | | |
| | | /** |
| | | * æ°å |
| | | */ |
| | | String NUMBER = "number"; |
| | | |
| | | /** |
| | | * æ¥æï¼æ¥ææ¶é´ï¼æ¶é´æ³ |
| | | */ |
| | | String TIMESTAMP = "TIMESTAMP"; |
| | | |
| | | /** |
| | | * è·åå建çsqlè¯å¥ä¸å±æ§é¨å |
| | | * @param attributeVOList 屿§çç«ç¢ |
| | | * @return sqlè¯å¥ |
| | | */ |
| | | String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> attributeVOList); |
| | | |
| | | /** |
| | | * å¤çæ´æ°ç±»åçsqlè½¬æ¢ |
| | | * @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); |
| | | |
| | | /** |
| | | * å¤çå¸å°ç±»åçsqlè½¬æ¢ |
| | | * @param attributeVO 屿§ |
| | | * @return sql |
| | | */ |
| | | String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO); |
| | | |
| | | /** |
| | | * å¤çæ¥ææ¶é´ç±»åçsqlè½¬æ¢ |
| | | * @param attributeVO 屿§ |
| | | * @return sql |
| | | */ |
| | | String dealDateTimeCreateSql(BtmTypeAttributeVO attributeVO); |
| | | |
| | | /** |
| | | * å¤çå符串类åçsqlè½¬æ¢ |
| | | * @param attributeVO 屿§ |
| | | * @return sql |
| | | */ |
| | | String dealStringCreateSql(BtmTypeAttributeVO attributeVO); |
| | | } |
| | |
| | | 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çå¤çæ¥å£ |
| | |
| | | * @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; |
| | | |
| | |
| | | return mapper.countAll(tableName); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * å¤çæ´æ°ç±»åçsqlè½¬æ¢ |
| | | * |
| | | * è·ååæ®µå建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 ""; |
| | | } |
| | | |
| | | /** |
| | | * å¤çå¸å°ç±»åçsqlè½¬æ¢ |
| | | * |
| | | * @param attributeVO 屿§ |
| | | * @return sql |
| | | */ |
| | | @Override |
| | | public String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO) { |
| | | return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO); |
| | | } |
| | | |
| | | /** |
| | | * å¤çæ¥ææ¶é´ç±»åçsqlè½¬æ¢ |
| | | * |
| | | * @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(); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | 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(){ |
| | |
| | | return processor; |
| | | } |
| | | } |
| | | return DllOracleMapperProcessor.SINGLE.INSTANCE; |
| | | return VciSpringUtil.getBean(DllOracleMapperProcessor.class); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | * @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æ°æ®åºDLLæä½æå¡æå"); |
| | | }else { |
| | | System.out.println("[fail]::å è½½Sql Serveræ°æ®åºDLLæä½æå¡å¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | return "oracle.jdbc.OracleDiver".equals(url); |
| | | } |
| | | |
| | | /** |
| | | * è·åå建çsqlè¯å¥ä¸å±æ§é¨å |
| | | * |
| | | * @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(",")); |
| | | } |
| | | |
| | | /** |
| | | * å¤çæ´æ°ç±»åçsqlè½¬æ¢ |
| | | * |
| | | * @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(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å¤çå¸å°ç±»åçsqlè½¬æ¢ |
| | | * |
| | | * @param attributeVO 屿§ |
| | | * @return sql |
| | | */ |
| | | @Override |
| | | public String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO) { |
| | | return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO); |
| | | } |
| | | |
| | | /** |
| | | * å¤çæ¥ææ¶é´ç±»åçsqlè½¬æ¢ |
| | | * |
| | | * @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(); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | * @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æ°æ®åºDLLæä½æå¡æå"); |
| | | }else { |
| | | System.out.println("[fail]::å è½½MySqlæ°æ®åºDLLæä½æå¡å¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | return "oracle.jdbc.OracleDiver".equals(url); |
| | | } |
| | | |
| | | /** |
| | | * è·åå建çsqlè¯å¥ä¸å±æ§é¨å |
| | | * |
| | | * @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); |
| | | } |
| | | |
| | | /** |
| | | * å¤çæ´æ°ç±»åçsqlè½¬æ¢ |
| | | * ææ°æ®åºå段类åå举ææç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(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å¤çå¸å°ç±»åçsqlè½¬æ¢ |
| | | * |
| | | * @param attributeVO 屿§ |
| | | * @return sql |
| | | */ |
| | | @Override |
| | | public String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO) { |
| | | return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO); |
| | | } |
| | | |
| | | /** |
| | | * å¤çæ¥ææ¶é´ç±»åçsqlè½¬æ¢ |
| | | * |
| | | * @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); |
| | | } |
| | | |
| | | } |
| | |
| | | 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: |
| | |
| | | * @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æ°æ®åºDLLæä½æå¡æå"); |
| | | }else { |
| | | System.out.println("[fail]::å è½½Oracleæ°æ®åºDLLæä½æå¡å¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | | * è·åå建çsqlè¯å¥ä¸å±æ§é¨å |
| | | * |
| | | * @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(); |
| | | } |
| | | |
| | | /** |
| | | * å¤çæ¥ææ¶é´ç±»åçsqlè½¬æ¢ |
| | | * |
| | | * @param attributeVO 屿§ |
| | | * @return sql |
| | | */ |
| | | @Override |
| | | public String dealDateTimeCreateSql(BtmTypeAttributeVO attributeVO) { |
| | | return TIMESTAMP + SPACE + dealNullableSql(attributeVO); |
| | | } |
| | | |
| | | /** |
| | | * å¤çå¸å°ç±»åçsqlè½¬æ¢ |
| | | * |
| | | * @param attributeVO 屿§ |
| | | * @return sql |
| | | */ |
| | | @Override |
| | | public String dealBooleanCreateSql(BtmTypeAttributeVO attributeVO) { |
| | | return VARCHAR + "(5)" + SPACE + dealDefaultAndNull(attributeVO); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | * @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æ°æ®åºDLLæä½æå¡æå"); |
| | | }else { |
| | | System.out.println("[fail]::å è½½SqlListæ°æ®åºDLLæä½æå¡å¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | return "org.sqlite.JDBC".equals(url); |
| | | } |
| | | |
| | | @Override |
| | | protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) { |
| | | return getMappingBOInMap(fieldTypeEnum,FIELD_MAP); |
| | | } |
| | | |
| | | /** |
| | | * è·åå建çsqlè¯å¥ä¸å±æ§é¨å |
| | | * ææ°æ®åºå段类åå举ææç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); |
| | | } |
| | | } |
| | |
| | | |
| | | 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; |
| | |
| | | * @throws VciBaseException åæ°ä¸ºç©ºæè
å建表åºç°äºéè¯¯çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | void createDbTablesByOidCollection(Collection<String> oidCollection) throws VciBaseException; |
| | | |
| | | /** |
| | | * è·åå建çsqlè¯å¥ä¸å±æ§é¨å |
| | | * @param attributeVOList 屿§çç«ç¢ |
| | | * @return sqlè¯å¥ |
| | | */ |
| | | String getCreateSqlByAttributeForBtm(List<BtmTypeAttributeVO> attributeVOList); |
| | | |
| | | /** |
| | | * æ¹éå°ä¸å¡ç±»ååå»ºæ°æ®åºè¡¨ |
| | |
| | | * @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; |
| | | |
| | | /** |
| | | * è·åæ°æ®åºä¸ææçè¡¨æ ¼ |
| | |
| | | |
| | | /** |
| | | * æ°æ®åºæ°å¢æä¿®æ¹è¡¨ |
| | | * @param dto ä¸å¡ç±»åä¼ è¾å¯¹è±¡ |
| | | * @param ddlDTO ä¸å¡ç±»åä¼ è¾å¯¹è±¡ |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | R submitBtmType(BtmTypeDTO dto); |
| | | R submit(BtmAndLinkTypeDdlDTO ddlDTO); |
| | | |
| | | /** |
| | | * æè¡¨åè·åè¡¨ä¿¡æ¯ |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | */ |
| | | 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 + "]æ£å¨è¢«å
¶ä»ç¨æ·æä½"); |
| | | } |
| | | } |
| | | |
| | | 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 + "]æ£å¨è¢«å
¶ä»ç¨æ·æä½"); |
| | | } |
| | | } |
| | | |
| | | 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("è§£é对象ä¸åå¨"); |
| | | } |
| | | } |
| | | |
| | | 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("è§£é对象ä¸åå¨"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¡éªä¸å¡ç±»åçæ°æ®åºè¡¨ä¸æ¯å¦ææ°æ® |
| | |
| | | */ |
| | | @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)) { |
| | |
| | | } 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()); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·åå建çsqlè¯å¥ä¸å±æ§é¨å |
| | | * |
| | | * @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(",")); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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); |
| | |
| | | * @param attributeVOList è¦æ·»å ç屿§å段 |
| | | */ |
| | | private void changeColumnsForTable(String tableName, List<BtmTypeAttributeVO> attributeVOList) { |
| | | String attributeSql = dllMapper.getCreateSqlByAttributeForBtm(attributeVOList); |
| | | String attributeSql = getCreateSqlByAttributeForBtm(attributeVOList); |
| | | //å
å¤æè¡¨æ ¼æ¯å¦åå¨ |
| | | boolean tableExist = false; |
| | | try { |
| | |
| | | */ |
| | | 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()); |
| | | }); |
| | | } |
| | |
| | | */ |
| | | @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("è¦ä¿®æ¹å±æ§åé¿åº¦çä¸å¡ç±»åä¸åå¨"); |
| | |
| | | * @param attributeVOList 屿§çæ¾ç¤ºå¯¹è±¡ |
| | | * @throws VciBaseException æ§è¡æè
è·åsqlè¯å¥çæ¶ååºç°éè¯¯ä¼æåºå¼å¸¸ |
| | | */ |
| | | <<<<<<< 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); |
| | |
| | | */ |
| | | @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) -> { |
| | | |
| | | }); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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; |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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; |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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)); |
| | |
| | | /** |
| | | * ä¸å¡ç±»åæ°æ®åºæ°å¢æä¿®æ¹è¡¨ |
| | | * |
| | | * @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()); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public DdlTableBO getTableColumnByTableName(String tableName) { |
| | | VciBaseUtil.alertNotNull(tableName,"表å"); |
| | | VciBaseUtil.alertNotNull(tableName, "表å"); |
| | | DdlTableBO tableBO = getTableInfoByTableName(tableName); |
| | | List<DdlTableInDataBaseBO> columnInfo = selectTableColumnInfo(tableName); |
| | | tableBO.setColumns(columnInfo); |
| | |
| | | |
| | | /** |
| | | * 表åè·åè¡¨ä¿¡æ¯ |
| | | * |
| | | * @param tableName 表å |
| | | * @return è¡¨ä¿¡æ¯ |
| | | */ |
| | | private DdlTableBO getTableInfoByTableName(String tableName){ |
| | | private DdlTableBO getTableInfoByTableName(String tableName) { |
| | | VciBaseUtil.alertNotNull(tableName, "è¡¨æ ¼åç§°"); |
| | | return ddlMapper.selectTableComment(tableName); |
| | | } |
| | |
| | | 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; |
| | |
| | | * @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | 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()); |
| | | } |
| | | } |
| | | } |
| | |
| | | * @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<>(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * åç
§å表æ¥è¯¢ |
| | | * |
| | | * @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 |
| | |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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> { |
| | | } |
| | |
| | | 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; |
| | |
| | | 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: é¢å转åå¨ |
| | |
| | | * @author LiHang |
| | | * @date 2023/4/25 |
| | | */ |
| | | @Component |
| | | public class DomainRepeater { |
| | | private DomainRepeater() { |
| | | } |
| | | |
| | | /** |
| | | * æ§å¶å¨è·¯å¾ |
| | |
| | | /** |
| | | * æ°å¢æä¿®æ¹ç转åè·¯å¾åç§° |
| | | */ |
| | | 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()); |
| | | } |
| | | } |
| | |
| | | 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:ä¸å¡ç±»åå
³è屿§çæå¡ |
| | |
| | | * @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); |
| | | |
| | | /** |
| | | * æ¹éæå
¥ |
| | |
| | | * @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); |
| | | } |
| | |
| | | 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; |
| | |
| | | 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 èªå¨å é¤è¡¨æ ¼ |
| | |
| | | * @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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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> { |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | */ |
| | | @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; |
| | | } |
| | | |
| | |
| | | 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: ä¸å¡ç±»åå
³è屿§çæå¡å®ç°ç±» |
| | |
| | | * @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)) { |
| | |
| | | //æ£æ¥å±æ§æ¯å¦é½åå¨ |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | |
| | | ).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); |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | import javax.validation.constraints.NotEmpty; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * Description: ä¸å¡ç±»åæå¡çå®ç°ç±» |
| | |
| | | */ |
| | | @Autowired |
| | | private IBtmTypeAttributeService btmTypeAttributeService; |
| | | |
| | | /** |
| | | * åæ®µä¿®æ¹ä¿¡æ¯çæå¡ |
| | | */ |
| | | @Autowired |
| | | private IModifyAttributeService modifyAttributeService; |
| | | |
| | | /** |
| | | * 表ååç¼ |
| | | */ |
| | | public static final String PL = "PL"; |
| | | |
| | | /** |
| | | * è®¾ç½®å¹³å°æ¬èº«çä¸å¡ç±»å |
| | |
| | | */ |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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; |
| | | } |
| | | |
| | |
| | | */ |
| | | @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; |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public List<BtmTypeVO> listBtmTypeByIds(String ids) throws ServiceException { |
| | | return null; |
| | | Func.requireNotNull(ids,"è±æåç§°ä¸è½ä¸ºç©º"); |
| | | return listBtmTypeByIdCollection(Func.toStrList(",",ids)); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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))); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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)); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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; |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public String getNameByOid(String oid) throws ServiceException { |
| | | return null; |
| | | return Objects.requireNonNull(baseMapper.selectOne(Wrappers.<BtmType>query().lambda().eq(BtmType::getOid,oid))).getName(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public String getNameById(String id) throws ServiceException { |
| | | return null; |
| | | return Objects.requireNonNull(baseMapper.selectOne(Wrappers.<BtmType>query().lambda().eq(BtmType::getId,id))).getName(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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; |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public Map<String, List<BtmTypeAttributeVO>> batchListHasAttributesByOidCollection(Collection<String> oidCollection) throws ServiceException { |
| | | return null; |
| | | return btmTypeAttributeService.batchListHasAttributesByBtmTypeOidCollection(oidCollection).stream().collect(Collectors.groupingBy(BtmTypeAttributeVO::getPkBtmType)); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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)); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public boolean checkBtmTypeUsed(String pkBtmType) throws ServiceException { |
| | | return false; |
| | | VciBaseUtil.alertNotNull(pkBtmType, "ä¸å¡ç±»å主é®"); |
| | | return checkBtmTypeUseds(VciBaseUtil.str2List(pkBtmType)); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public boolean checkBtmTypeUseds(Collection<String> oidCollection) throws ServiceException { |
| | | VciBaseUtil.alertCollectionNotNull("æ ¡éªæ¯å¦å¼ç¨çä¸å¡ç±»å对象ç主é®", oidCollection); |
| | | //æ£æ¥é¾æ¥ç±»å |
| | | //å ä¸ºé¾æ¥ç±»åä¸fromBtmTypeåtoBtmType齿¯éå·åéçï¼æä»¥ç´æ¥æ¥è¯¢ææç龿¥ç±»åä¸ç使ç¨çä¸å¡ç±»ååç§° |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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åreflexDifferentç»åäº |
| | | 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()); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @throws ServiceException åæ°ä¸ºç©ºæè
æ¥è¯¢åºéæ¶ä¼æåºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public List<ModifyAttributeInfoDO> checkDbTableSame(String pkBtmType) throws ServiceException { |
| | | public List<ModifyAttributeInfo> checkDbTableSame(String pkBtmType) throws ServiceException { |
| | | return null; |
| | | } |
| | | |
| | |
| | | * @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; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | // å¨è¿è¿è¡éç¨å段å¤ç |
| | | return entity; |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
| | | } |