Source/UBCS-WEB/src/api/code/codeKeyAttrRepeat.js
Source/UBCS-WEB/src/const/code/codeKeyAttrRepeat.js
ÎļþÃû´Ó Source/UBCS-WEB/src/const/code/plCodeKeyattrrepeat.js ÐÞ¸Ä @@ -256,12 +256,12 @@ label: "忽ç¥å¤§å°å", prop: "ignorecaseflag", type: "select", dicUrl: "/api/ubcs-system/dict/dictionary?code=codeKeyFlag", dicUrl: "/api/ubcs-system/enum/dictionary?code=codeKeyFlag", dataType: "String", search: true, props: { label: "dictValue", value: "dictKey" label: "itemName", value: "itemValue" }, rules: [{ required: true, @@ -273,12 +273,12 @@ label: "忽ç¥ç©ºæ ¼", prop: "ignorespaceflag", type: "select", dicUrl: "/api/ubcs-system/dict/dictionary?code=codeKeyFlag", dicUrl: "/api/ubcs-system/enum/dictionary?code=codeKeyFlag", dataType: "String", search: true, props: { label: "dictValue", value: "dictKey" label: "itemName", value: "itemValue" }, rules: [{ required: true, @@ -290,12 +290,12 @@ label: "忽ç¥å ¨é¨ç©ºæ ¼", prop: "ignoreallspaceflag", type: "select", dicUrl: "/api/ubcs-system/dict/dictionary?code=codeKeyFlag", dicUrl: "/api/ubcs-system/enum/dictionary?code=codeKeyFlag", dataType: "String", search: true, props: { label: "dictValue", value: "dictKey" label: "itemName", value: "itemValue" }, rules: [{ required: true, @@ -308,11 +308,11 @@ prop: "ignorewidthflag", type: "select", search: true, dicUrl: "/api/ubcs-system/dict/dictionary?code=codeKeyFlag", dicUrl: "/api/ubcs-system/enum/dictionary?code=codeKeyFlag", dataType: "String", props: { label: "dictValue", value: "dictKey" label: "itemName", value: "itemValue" }, rules: [{ required: true, Source/UBCS-WEB/src/views/code/codeKeyAttrRepeat.vue
ÎļþÃû´Ó Source/UBCS-WEB/src/views/code/plCodeKeyattrrepeat.vue ÐÞ¸Ä @@ -32,8 +32,8 @@ </template> <script> import {getList, getDetail, add, update, remove} from "@/api/code/plCodeKeyattrrepeat"; import option from "@/const/code/plCodeKeyattrrepeat"; import {getList, getDetail, add, update, remove} from "@/api/code/codeKeyAttrRepeat"; import option from "@/const/code/codeKeyAttrRepeat"; import {mapGetters} from "vuex"; export default { @@ -56,10 +56,10 @@ ...mapGetters(["permission"]), permissionList() { return { addBtn: this.vaildData(this.permission.plCodeKeyattrrepeat_add, false), viewBtn: this.vaildData(this.permission.plCodeKeyattrrepeat_view, false), delBtn: this.vaildData(this.permission.plCodeKeyattrrepeat_delete, false), editBtn: this.vaildData(this.permission.plCodeKeyattrrepeat_edit, false) // addBtn: this.vaildData(this.permission.plCodeKeyattrrepeat_add, false), // viewBtn: this.vaildData(this.permission.plCodeKeyattrrepeat_view, false), // delBtn: this.vaildData(this.permission.plCodeKeyattrrepeat_delete, false), // editBtn: this.vaildData(this.permission.plCodeKeyattrrepeat_edit, false) }; }, ids() { Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClsflowtempDTO.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClstempattrDTO.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClstemplateDTO.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeKeyAttrRepeatDTO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeKeyattrrepeatDTO.java ÐÞ¸Ä @@ -16,7 +16,7 @@ */ package com.vci.ubcs.code.dto; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import lombok.Data; import lombok.EqualsAndHashCode; @@ -28,7 +28,7 @@ */ @Data @EqualsAndHashCode(callSuper = true) public class CodeKeyattrrepeatDTO extends CodeKeyattrrepeatEntity { public class CodeKeyAttrRepeatDTO extends CodeKeyAttrRepeat { private static final long serialVersionUID = 1L; } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassifyTemplate.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClstemplateEntity.java ÐÞ¸Ä @@ -35,7 +35,7 @@ @TableName("PL_CODE_CLSTEMPLATE") @ApiModel(value = "PlCodeClstemplate对象", description = "ç¼ç åºå®ä¹-模æ¿ç®¡ç") @EqualsAndHashCode(callSuper = true) public class CodeClstemplateEntity extends BaseModel { public class CodeClassifyTemplate extends BaseModel { /** * 主é¢åºåç±»ä¸»é® Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClsflowtempEntity.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClstempattrEntity.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeKeyAttrRepeat.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeKeyattrrepeatEntity.java ÐÞ¸Ä @@ -38,7 +38,7 @@ @TableName("PL_CODE_KEYATTRREPEAT") @ApiModel(value = "PlCodeKeyattrrepeat对象", description = "å ³é®å±æ§æ¥éè§å") //@EqualsAndHashCode(callSuper = true) public class CodeKeyattrrepeatEntity implements Serializable { public class CodeKeyAttrRepeat implements Serializable { /** * Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodePhaseattrEntity.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClsflowtempVO.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClstempattrVO.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClstemplateVO.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeKeyAttrRepeatVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeKeyattrrepeatVO.java ÐÞ¸Ä @@ -16,7 +16,7 @@ */ package com.vci.ubcs.code.vo; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import lombok.Data; import lombok.EqualsAndHashCode; @@ -28,7 +28,7 @@ */ @Data @EqualsAndHashCode(callSuper = true) public class CodeKeyattrrepeatVO extends CodeKeyattrrepeatEntity { public class CodeKeyAttrRepeatVO extends CodeKeyAttrRepeat { private static final long serialVersionUID = 1L; } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeImportTemplateVO.java
@@ -1,14 +1,12 @@ package com.vci.ubcs.code.vo.pagemodel; import com.vci.ubcs.code.vo.CodeClstemplateVO; import java.util.ArrayList; import java.util.List; public class CodeImportTemplateVO { private List<ColumnVO> cloNamesList=new ArrayList<>(); private CodeClstemplateVO codeClstemplateVO; private CodeClassifyTemplateVO codeClstemplateVO; private CodeClassifyVO codeClassifyVO; Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeImprotDataVO.java
@@ -1,8 +1,6 @@ package com.vci.ubcs.code.vo.pagemodel; import com.vci.ubcs.code.vo.CodeClstemplateVO; import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -49,14 +47,14 @@ * æ°æ® */ private List<Map<String,String>> datas = new ArrayList<>(); private CodeClstemplateVO codeClstemplateVO; private CodeClassifyTemplateVO codeClstemplateVO; private CodeClassifyVO codeClassifyVO; public CodeClstemplateVO getCodeClassifyTemplateVO() { public CodeClassifyTemplateVO getCodeClassifyTemplateVO() { return codeClstemplateVO; } public void setCodeClassifyTemplateVO(CodeClstemplateVO codeClstemplateVO) { public void setCodeClassifyTemplateVO(CodeClassifyTemplateVO codeClstemplateVO) { this.codeClstemplateVO = codeClstemplateVO; } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/MdmUIInfoVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,100 @@ package com.vci.ubcs.code.vo.pagemodel; import java.util.List; public class MdmUIInfoVO implements java.io.Serializable { /** * åºåå */ private static final long serialVersionUID = 4192521596336111375L; /** * 模æ¿çä¿¡æ¯ */ private CodeClassifyTemplateVO templateVO; /** * è¡¨æ ¼çä¿¡æ¯ */ private UITableDefineVO tableDefineVO; /** * 表åçä¿¡æ¯ */ private UIFormDefineVO formDefineVO; /** * æ¥é屿§çç¸å ³è¡¨æ ¼çä¿¡æ¯ */ private UITableDefineVO resembleTableVO; /** * æé®çå 容 */ private List<SmOperationVO> buttons; /** * å½ååç±»æ¯å¦ä¸ºå¶åèç¹ */ private boolean leaf; public List<SmOperationVO> getButtons() { return buttons; } public void setButtons(List<SmOperationVO> buttons) { this.buttons = buttons; } public CodeClassifyTemplateVO getTemplateVO() { return templateVO; } public void setTemplateVO(CodeClassifyTemplateVO templateVO) { this.templateVO = templateVO; } public UITableDefineVO getTableDefineVO() { return tableDefineVO; } public void setTableDefineVO(UITableDefineVO tableDefineVO) { this.tableDefineVO = tableDefineVO; } public UIFormDefineVO getFormDefineVO() { return formDefineVO; } public void setFormDefineVO(UIFormDefineVO formDefineVO) { this.formDefineVO = formDefineVO; } public boolean isLeaf() { return leaf; } public void setLeaf(boolean leaf) { this.leaf = leaf; } public UITableDefineVO getResembleTableVO() { return resembleTableVO; } public void setResembleTableVO(UITableDefineVO resembleTableVO) { this.resembleTableVO = resembleTableVO; } @Override public String toString() { return "MdmUIInfoVO{" + "templateVO=" + templateVO + ", tableDefineVO=" + tableDefineVO + ", formDefineVO=" + formDefineVO + ", resembleTableVO=" + resembleTableVO + ", buttons=" + buttons + ", leaf=" + leaf + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SmOperationVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,161 @@ package com.vci.ubcs.code.vo.pagemodel; /** * èåçæé®å¯¹è±¡ * @author weidy * @date 2022-2-23 */ public class SmOperationVO implements java.io.Serializable{ /** * åºåå */ private static final long serialVersionUID = 8193579608741643735L; /** * åè½çä¸»é® */ private String functionOid; /** * åè½çç¼å· */ private String moduleNo; /** * åè½åæé®å ³èçä¸»é® */ private String oid; /** * å¯ä¸æ è¯ç¬¦ */ private String uniqueFlag; /** * æè¿° */ private String description; /** * å¨åè½ä¸çæåºå· */ private String orderNo; /** * æé®åç§°ï¼æ¯æä½ç±»åçåç§° */ private String name; /** * æé®æµç§°ï¼æ¯å¨åè½åæé®çå ³èä¸çæµç§°ï¼å端使ç¨è¿ä¸ªæ¥æ¾ç¤ºæé® */ private String alias; /** * æ§è¡çjså 容 */ private String executeJs; /** * 徿 æ ·å¼ */ private String iconCls; public String getFunctionOid() { return functionOid; } public void setFunctionOid(String functionOid) { this.functionOid = functionOid; } public String getOid() { return oid; } public void setOid(String oid) { this.oid = oid; } public String getUniqueFlag() { return uniqueFlag; } public void setUniqueFlag(String uniqueFlag) { this.uniqueFlag = uniqueFlag; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getOrderNo() { return orderNo; } public void setOrderNo(String orderNo) { this.orderNo = orderNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAlias() { return alias; } public void setAlias(String alias) { this.alias = alias; } public String getModuleNo() { return moduleNo; } public void setModuleNo(String moduleNo) { this.moduleNo = moduleNo; } public String getExecuteJs() { return executeJs; } public void setExecuteJs(String executeJs) { this.executeJs = executeJs; } public String getIconCls() { return iconCls; } public void setIconCls(String iconCls) { this.iconCls = iconCls; } @Override public String toString() { return "SmOperationVO{" + "functionOid='" + functionOid + '\'' + ", moduleNo='" + moduleNo + '\'' + ", oid='" + oid + '\'' + ", uniqueFlag='" + uniqueFlag + '\'' + ", description='" + description + '\'' + ", orderNo='" + orderNo + '\'' + ", name='" + name + '\'' + ", alias='" + alias + '\'' + ", executeJs='" + executeJs + '\'' + ", iconCls='" + iconCls + '\'' + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SmUserVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,393 @@ package com.vci.ubcs.code.vo.pagemodel; import java.util.Date; /** * ç¨æ·æ¾ç¤ºå¯¹è±¡ï¼æ³¨æåè¿ä¸ªä¸å å«å¯ç åæ®µ * @author weidy * @date 2020/1/29 */ public class SmUserVO extends BaseModelVO { /** * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ */ private static final long serialVersionUID = -8583106405033336802L; /** * ç¨æ·å */ private String id; /** * ç¨æ·å§å */ private String name; /** * ç¨æ·ç±»å */ private String userType; /** * ç¨æ·ç±»åæ¾ç¤ºææ¬ */ private String userTypeText; /** * æå±äººå */ private String pkPerson; /** * æå±äººååç§° */ private String pkPersonName; /** * å¤±ææ¥æ */ private Date disabledate; /** * é®ä»¶å°å */ private String email; /** * çµè¯ */ private String tel; /** * RTXèç³»å· */ private String rtxNo; /** * 宿¶éè®¯è½¯ä»¶è´¦å· */ private String IMNo; /** * æå±é¨é¨ */ private String pkDepartment; /** * æå±é¨é¨åç§° */ private String pkDepartmentName; /** * æå±èå¡ */ private String pkDuty; /** * æå±èå¡åç§° */ private String pkDutyName; /** * æå±å¯ç å®å ¨çç¥ */ private String pkPasswordStrategy; /** * æå±å¯ç å®å ¨çç¥ */ private String pkPasswordStrategyName; /** * æåç»å½æ¶é´ */ private Date lastLoginTime; /** * æåä¿®æ¹å¯ç æ¶é´ */ private Date lastModifyPasswordTime; /** * å¯ç éè¯¯æ¬¡æ° */ private Integer pwdWrongCount; /** * æ§å« */ private String sex; /** * æ§å«æ¾ç¤ºåç§° */ private String sexText; /** * é»è®¤çè¯è¨ç¼ç */ private String langCode; /** * é»è®¤çè¯è¨åç§° */ private String langCodeText; /** * æ¯å¦éå® */ private boolean lockFlag; /** * 头å */ private String photo; @Override public String getId() { return id; } @Override public void setId(String id) { this.id = id; } @Override public String getName() { return name; } @Override public void setName(String name) { this.name = name; } public String getUserType() { return userType; } public void setUserType(String userType) { this.userType = userType; } public String getUserTypeText() { return userTypeText; } public void setUserTypeText(String userTypeText) { this.userTypeText = userTypeText; } public String getPkPerson() { return pkPerson; } public void setPkPerson(String pkPerson) { this.pkPerson = pkPerson; } public String getPkPersonName() { return pkPersonName; } public void setPkPersonName(String pkPersonName) { this.pkPersonName = pkPersonName; } public Date getDisabledate() { return disabledate; } public void setDisabledate(Date disabledate) { this.disabledate = disabledate; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getRtxNo() { return rtxNo; } public void setRtxNo(String rtxNo) { this.rtxNo = rtxNo; } public String getIMNo() { return IMNo; } public void setIMNo(String IMNo) { this.IMNo = IMNo; } public String getPkDepartment() { return pkDepartment; } public void setPkDepartment(String pkDepartment) { this.pkDepartment = pkDepartment; } public String getPkDepartmentName() { return pkDepartmentName; } public void setPkDepartmentName(String pkDepartmentName) { this.pkDepartmentName = pkDepartmentName; } public String getPkDuty() { return pkDuty; } public void setPkDuty(String pkDuty) { this.pkDuty = pkDuty; } public String getPkDutyName() { return pkDutyName; } public void setPkDutyName(String pkDutyName) { this.pkDutyName = pkDutyName; } public String getPkPasswordStrategy() { return pkPasswordStrategy; } public void setPkPasswordStrategy(String pkPasswordStrategy) { this.pkPasswordStrategy = pkPasswordStrategy; } public String getPkPasswordStrategyName() { return pkPasswordStrategyName; } public void setPkPasswordStrategyName(String pkPasswordStrategyName) { this.pkPasswordStrategyName = pkPasswordStrategyName; } public Date getLastLoginTime() { return lastLoginTime; } public void setLastLoginTime(Date lastLoginTime) { this.lastLoginTime = lastLoginTime; } public Date getLastModifyPasswordTime() { return lastModifyPasswordTime; } public void setLastModifyPasswordTime(Date lastModifyPasswordTime) { this.lastModifyPasswordTime = lastModifyPasswordTime; } public Integer getPwdWrongCount() { return pwdWrongCount; } public void setPwdWrongCount(Integer pwdWrongCount) { this.pwdWrongCount = pwdWrongCount; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getSexText() { return sexText; } public void setSexText(String sexText) { this.sexText = sexText; } public String getLangCode() { return langCode; } public void setLangCode(String langCode) { this.langCode = langCode; } public String getLangCodeText() { return langCodeText; } public void setLangCodeText(String langCodeText) { this.langCodeText = langCodeText; } public boolean isLockFlag() { return lockFlag; } public void setLockFlag(boolean lockFlag) { this.lockFlag = lockFlag; } public String getPhoto() { return photo; } public void setPhoto(String photo) { this.photo = photo; } @Override public String toString() { return "SmUserVO{" + "oid='" + getOid() + '\'' + ",id='" + id + '\'' + ", name='" + name + '\'' + ", userType='" + userType + '\'' + ", userTypeText='" + userTypeText + '\'' + ", pkPerson='" + pkPerson + '\'' + ", pkPersonName='" + pkPersonName + '\'' + ", disabledate=" + disabledate + ", email='" + email + '\'' + ", tel='" + tel + '\'' + ", rtxNo='" + rtxNo + '\'' + ", IMNo='" + IMNo + '\'' + ", pkDepartment='" + pkDepartment + '\'' + ", pkDepartmentName='" + pkDepartmentName + '\'' + ", pkDuty='" + pkDuty + '\'' + ", pkDutyName='" + pkDutyName + '\'' + ", pkPasswordStrategy='" + pkPasswordStrategy + '\'' + ", pkPasswordStrategyName='" + pkPasswordStrategyName + '\'' + ", lastLoginTime=" + lastLoginTime + ", lastModifyPasswordTime=" + lastModifyPasswordTime + ", pwdWrongCount=" + pwdWrongCount + ", sex='" + sex + '\'' + ", sexText='" + sexText + '\'' + ", langCode='" + langCode + '\'' + ", langCodeText='" + langCodeText + '\'' + ", lockFlag='" + lockFlag + '\'' + ", photo='" + photo + '\'' + ",description='" + getDescription() + '\'' + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/UIFormDefineVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,136 @@ package com.vci.ubcs.code.vo.pagemodel; import java.util.ArrayList; import java.util.List; /** * 表åçå®ä¹ä¿¡æ¯ * @author weidy * @date 2021/2/15 */ public class UIFormDefineVO implements java.io.Serializable { /** * åºåå */ private static final long serialVersionUID = 4870957433172577436L; /** * 表åçä¸»é® */ private String oid; /** * 表åçç¼å· */ private String id; /** * ä¸å¡ç±»å */ private String btmType; /** * æ¯å¦ä¸ºé¾æ¥ç±»å */ private boolean linkTypeFlag; /** * æ¯è¡æ¾ç¤ºå¤å°å */ private int columnOneRow; /** * æ¥è¯¢æ¨¡æ¿åç§° */ private String queryTemplateName; /** * å å«çæç» */ private List<UIFormItemVO> items = new ArrayList(); /** * freeMarkerç表达å¼çå¼ */ private List<String> freeMarkerEls = new ArrayList<>(); 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 getBtmType() { return btmType; } public void setBtmType(String btmType) { this.btmType = btmType; } public int getColumnOneRow() { return columnOneRow; } public void setColumnOneRow(int columnOneRow) { this.columnOneRow = columnOneRow; } public String getQueryTemplateName() { return queryTemplateName; } public void setQueryTemplateName(String queryTemplateName) { this.queryTemplateName = queryTemplateName; } public List<UIFormItemVO> getItems() { return items; } public void setItems(List<UIFormItemVO> items) { this.items = items; } public boolean isLinkTypeFlag() { return linkTypeFlag; } public void setLinkTypeFlag(boolean linkTypeFlag) { this.linkTypeFlag = linkTypeFlag; } public List<String> getFreeMarkerEls() { return freeMarkerEls; } public void setFreeMarkerEls(List<String> freeMarkerEls) { this.freeMarkerEls = freeMarkerEls; } @Override public String toString() { return "UIFormDefineVO{" + "oid='" + oid + '\'' + ", id='" + id + '\'' + ", btmType='" + btmType + '\'' + ", linkTypeFlag=" + linkTypeFlag + ", columnOneRow=" + columnOneRow + ", queryTemplateName='" + queryTemplateName + '\'' + ", items=" + items + ", freeMarkerEls=" + freeMarkerEls + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/UIFormItemVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,350 @@ package com.vci.ubcs.code.vo.pagemodel; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import com.vci.ubcs.starter.web.pagemodel.UIFormReferVO; import java.util.List; import java.util.Map; /** * 表åçåæ®µ * @author weidy * @date 2021/2/24 */ public class UIFormItemVO implements java.io.Serializable { /** * åºåå */ private static final long serialVersionUID = 3589862839886943864L; /** * åæ®µå */ private String field; /** * æ¾ç¤ºç±»å */ private String text; /** * åªè¯» */ private boolean readOnly; /** * å¿ å¡« */ private boolean required; /** * å¯ä¸ */ private boolean unique; /** * å ³é®å±æ§ */ private boolean keyAttr; /** * é»è®¤å¼ */ private String defaultValue; /** * ç±»å */ private String type = "text"; /** * æ¾ç¤ºè¡¨è¾¾å¼ */ private String displayExtension; /** * æ¶é´æ ¼å¼ */ private String dateFormate; /** * æ¯å¦éè */ private boolean hidden = false; /** * æ ¡éªè§å */ private String verify; /** * æç¤ºä¿¡æ¯ */ private String tooltips; /** * èªå®ä¹ç±»åç§° */ private String customClass; /** * 䏿èåçåç§° */ private String comboxKey; /** * 䏿èåçéé¡¹å¼ */ private List<KeyValue> data = null; /** * éæ©åºçæ è®° */ private String selectLibFlag; /** * åç §æ¾ç¤ºçåæ®µ */ private String showField; /** * åç §çä¿¡æ¯ */ private UIFormReferVO referConfig; /** * éå 屿§ */ private Map<String,String> extendAttrMap; /** * 忬ç屿§ */ private String extendAttrString; /** * åç¼ */ private String prefix; /** * åç¼ */ private String suffix; public boolean isKeyAttr() { return keyAttr; } public void setKeyAttr(boolean keyAttr) { this.keyAttr = keyAttr; } public String getField() { return field; } public void setField(String field) { this.field = field; } public String getText() { return text; } public void setText(String text) { this.text = text; } public boolean isReadOnly() { return readOnly; } public void setReadOnly(boolean readOnly) { this.readOnly = readOnly; } public boolean isRequired() { return required; } public void setRequired(boolean required) { this.required = required; } public String getDefaultValue() { return defaultValue; } public void setDefaultValue(String defaultValue) { this.defaultValue = defaultValue; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getDisplayExtension() { return displayExtension; } public void setDisplayExtension(String displayExtension) { this.displayExtension = displayExtension; } public String getDateFormate() { return dateFormate; } public void setDateFormate(String dateFormate) { this.dateFormate = dateFormate; } public boolean isHidden() { return hidden; } public void setHidden(boolean hidden) { this.hidden = hidden; } public String getVerify() { return verify; } public void setVerify(String verify) { this.verify = verify; } public String getTooltips() { return tooltips; } public void setTooltips(String tooltips) { this.tooltips = tooltips; } public String getCustomClass() { return customClass; } public void setCustomClass(String customClass) { this.customClass = customClass; } public String getComboxKey() { return comboxKey; } public void setComboxKey(String comboxKey) { this.comboxKey = comboxKey; } public List<KeyValue> getData() { return data; } public void setData(List<KeyValue> data) { this.data = data; } public String getShowField() { return showField; } public void setShowField(String showField) { this.showField = showField; } public UIFormReferVO getReferConfig() { return referConfig; } public void setReferConfig(UIFormReferVO referConfig) { this.referConfig = referConfig; } public Map<String, String> getExtendAttrMap() { return extendAttrMap; } public void setExtendAttrMap(Map<String, String> extendAttrMap) { this.extendAttrMap = extendAttrMap; } public String getExtendAttrString() { return extendAttrString; } public void setExtendAttrString(String extendAttrString) { this.extendAttrString = extendAttrString; } public boolean isUnique() { return unique; } public void setUnique(boolean unique) { this.unique = unique; } public String getPrefix() { return prefix; } public void setPrefix(String prefix) { this.prefix = prefix; } public String getSuffix() { return suffix; } public void setSuffix(String suffix) { this.suffix = suffix; } public String getSelectLibFlag() { return selectLibFlag; } public void setSelectLibFlag(String selectLibFlag) { this.selectLibFlag = selectLibFlag; } @Override public String toString() { return "UIFormItemVO{" + "field='" + field + '\'' + ", text='" + text + '\'' + ", readOnly=" + readOnly + ", required=" + required + ", unique=" + unique + ", keyAttr=" + keyAttr + ", defaultValue='" + defaultValue + '\'' + ", type='" + type + '\'' + ", displayExtension='" + displayExtension + '\'' + ", dateFormate='" + dateFormate + '\'' + ", hidden=" + hidden + ", verify='" + verify + '\'' + ", tooltips='" + tooltips + '\'' + ", customClass='" + customClass + '\'' + ", comboxKey='" + comboxKey + '\'' + ", data=" + data + ", selectLibFlag='" + selectLibFlag + '\'' + ", showField='" + showField + '\'' + ", referConfig=" + referConfig + ", extendAttrMap=" + extendAttrMap + ", extendAttrString='" + extendAttrString + '\'' + ", prefix='" + prefix + '\'' + ", suffix='" + suffix + '\'' + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/UITableDefineVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,237 @@ package com.vci.ubcs.code.vo.pagemodel; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * è¡¨æ ¼å®ä¹ * @author weidy * @date 2021/2/15 */ public class UITableDefineVO implements java.io.Serializable { /** * åºåå */ private static final long serialVersionUID = 1664618940805858993L; /** * è¡¨æ ¼çä¸»é® */ private String oid; /** * 表åçç¼å· */ private String id; /** * ä¸å¡ç±»å */ private String btmType; /** * æ¯å¦ä¸ºé¾æ¥ç±»å */ private boolean linkTypeFlag; /** * æ¥è¯¢æ¨¡æ¿åç§° */ private String queryTemplateName; /** * é¡µé¢ */ private UITablePageVO pageVO; /** * å页çå 容 */ private Integer[] limits; /** * éå æ¡ä»¶ */ private String whereSql; /** * æ¯å¦æ¾ç¤ºæ¥è¯¢åºå */ private boolean displayQueryArea; /** * æ¾ç¤ºæä»¶å¤¹ */ private boolean displayFolder ; /** * ç¶åç§°çåæ®µ */ private String folderParentField; /** * å å«çå */ private List<List<UITableFieldVO>> cols; /** * æ¯å¦å å« */ private boolean hasEditor; /** * é«çº§æ¥è¯¢çå */ private List<UITableFieldVO> seniorQueryColumns; /** * æ¥è¯¢çå */ private List<UITableFieldVO> queryColumns; /** * freeMarkerç表达å¼çå¼ */ private List<String> freeMarkerEls = new ArrayList<>(); public boolean isDisplayQueryArea() { return displayQueryArea; } public void setDisplayQueryArea(boolean displayQueryArea) { this.displayQueryArea = displayQueryArea; } public boolean isDisplayFolder() { return displayFolder; } public void setDisplayFolder(boolean displayFolder) { this.displayFolder = displayFolder; } public String getFolderParentField() { return folderParentField; } public void setFolderParentField(String folderParentField) { this.folderParentField = folderParentField; } 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 getBtmType() { return btmType; } public void setBtmType(String btmType) { this.btmType = btmType; } public boolean isLinkTypeFlag() { return linkTypeFlag; } public void setLinkTypeFlag(boolean linkTypeFlag) { this.linkTypeFlag = linkTypeFlag; } public String getQueryTemplateName() { return queryTemplateName; } public void setQueryTemplateName(String queryTemplateName) { this.queryTemplateName = queryTemplateName; } public List<List<UITableFieldVO>> getCols() { return cols; } public void setCols(List<List<UITableFieldVO>> cols) { this.cols = cols; } public List<UITableFieldVO> getQueryColumns() { return queryColumns; } public void setQueryColumns(List<UITableFieldVO> queryColumns) { this.queryColumns = queryColumns; } public UITablePageVO getPageVO() { return pageVO; } public void setPageVO(UITablePageVO pageVO) { this.pageVO = pageVO; } public Integer[] getLimits() { return limits; } public void setLimits(Integer[] limits) { this.limits = limits; } public String getWhereSql() { return whereSql; } public void setWhereSql(String whereSql) { this.whereSql = whereSql; } public List<UITableFieldVO> getSeniorQueryColumns() { return seniorQueryColumns; } public void setSeniorQueryColumns(List<UITableFieldVO> seniorQueryColumns) { this.seniorQueryColumns = seniorQueryColumns; } public boolean isHasEditor() { return hasEditor; } public void setHasEditor(boolean hasEditor) { this.hasEditor = hasEditor; } @Override public String toString() { return "UITableDefineVO{" + "oid='" + oid + '\'' + ", id='" + id + '\'' + ", btmType='" + btmType + '\'' + ", linkTypeFlag=" + linkTypeFlag + ", queryTemplateName='" + queryTemplateName + '\'' + ", pageVO=" + pageVO + ", limits=" + Arrays.toString(limits) + ", whereSql='" + whereSql + '\'' + ", displayQueryArea=" + displayQueryArea + ", displayFolder=" + displayFolder + ", folderParentField='" + folderParentField + '\'' + ", cols=" + cols + ", queryColumns=" + queryColumns + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/UITableFieldVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,402 @@ package com.vci.ubcs.code.vo.pagemodel; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import com.vci.ubcs.starter.web.pagemodel.UIFormReferVO; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * å表çåçä¿¡æ¯ * @author weidy * @date 2021/2/25 */ public class UITableFieldVO implements java.io.Serializable{ /** * åå */ private String field; /** * æ¾ç¤ºçåç§° */ private String title; /** * åæ®µç±»å */ private String fieldType; /** * æ¯å¦æåº */ private boolean sort = false; /** * æåºå段 */ private String sortField ; /** * éèçåæ®µ */ private boolean hidden = false; /** * 宽度 */ private Integer width; /** * æå°ç宽度 */ private Integer minWidth; /** * åºå®ä½ç½®ï¼æ¯ærightåleft */ private String fixed; /** * æå çå */ private Integer colspan = 1; /** * æç«çè¡ */ private Integer rowspan = 1; /** * 模æ¿ççå 容 */ private String templet; /** * æ¶é´æ ¼å¼ */ private String dateFormate; /** * æ¯å¦æä½å */ private boolean optionField = false; /** * æä½åå å«çæé® */ private List<KeyValue> optionButtons; /** * äºä»¶-æ§è¡jsçæ å° */ private Map<String,String> optionJsMap; /** * æ¯å¦ç¼è¾ */ private String edit; /** * ç¼è¾çé ç½® */ private String editConfig ; /** * 坹齿¹å¼ */ private String align = "left"; /** * ç¹æ®æ ·å¼ */ private String style; /** * åå æ ¼ç¹å»äºä»¶ */ private String event; /** * ç¦ç¨ææ½å宽 */ private boolean unresize = false; /** * 䏿èåçåç§° */ private String comboxKey; /** * 䏿èåçéé¡¹å¼ */ private List<KeyValue> data = new ArrayList<>(); /** * åç §æ¾ç¤ºçåæ®µ */ private String showField; /** * æ¥è¯¢çåæ®µ */ private String queryField; /** * åç §çä¿¡æ¯ */ private UIFormReferVO referConfig; public Map<String, String> getOptionJsMap() { return optionJsMap; } public void setOptionJsMap(Map<String, String> optionJsMap) { this.optionJsMap = optionJsMap; } public String getFieldType() { return fieldType; } public void setFieldType(String fieldType) { this.fieldType = fieldType; } public String getDateFormate() { return dateFormate; } public void setDateFormate(String dateFormate) { this.dateFormate = dateFormate; } public String getField() { return field; } public void setField(String field) { this.field = field; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public boolean isSort() { return sort; } public void setSort(boolean sort) { this.sort = sort; } public String getSortField() { return sortField; } public void setSortField(String sortField) { this.sortField = sortField; } public boolean isHidden() { return hidden; } public void setHidden(boolean hidden) { this.hidden = hidden; } public Integer getWidth() { return width; } public void setWidth(Integer width) { this.width = width; } public Integer getMinWidth() { return minWidth; } public void setMinWidth(Integer minWidth) { this.minWidth = minWidth; } public String getFixed() { return fixed; } public void setFixed(String fixed) { this.fixed = fixed; } public Integer getColspan() { return colspan; } public void setColspan(Integer colspan) { this.colspan = colspan; } public Integer getRowspan() { return rowspan; } public void setRowspan(Integer rowspan) { this.rowspan = rowspan; } public String getTemplet() { return templet; } public void setTemplet(String templet) { this.templet = templet; } public boolean isOptionField() { return optionField; } public void setOptionField(boolean optionField) { this.optionField = optionField; } public List<KeyValue> getOptionButtons() { return optionButtons; } public void setOptionButtons(List<KeyValue> optionButtons) { this.optionButtons = optionButtons; } public String getEdit() { return edit; } public void setEdit(String edit) { this.edit = edit; } public String getEditConfig() { return editConfig; } public void setEditConfig(String editConfig) { this.editConfig = editConfig; } public String getAlign() { return align; } public void setAlign(String align) { this.align = align; } public String getStyle() { return style; } public void setStyle(String style) { this.style = style; } public String getEvent() { return event; } public void setEvent(String event) { this.event = event; } public boolean isUnresize() { return unresize; } public void setUnresize(boolean unresize) { this.unresize = unresize; } public String getComboxKey() { return comboxKey; } public void setComboxKey(String comboxKey) { this.comboxKey = comboxKey; } public List<KeyValue> getData() { return data; } public void setData(List<KeyValue> data) { this.data = data; } public String getShowField() { return showField; } public void setShowField(String showField) { this.showField = showField; } public UIFormReferVO getReferConfig() { return referConfig; } public void setReferConfig(UIFormReferVO referConfig) { this.referConfig = referConfig; } public String getQueryField() { return queryField; } public void setQueryField(String queryField) { this.queryField = queryField; } @Override public String toString() { return "UITableFieldVO{" + "field='" + field + '\'' + ", title='" + title + '\'' + ", fieldType='" + fieldType + '\'' + ", sort=" + sort + ", sortField='" + sortField + '\'' + ", hidden=" + hidden + ", width=" + width + ", minWidth=" + minWidth + ", fixed='" + fixed + '\'' + ", colspan=" + colspan + ", rowspan=" + rowspan + ", templet='" + templet + '\'' + ", dateFormate='" + dateFormate + '\'' + ", optionField=" + optionField + ", optionButtons=" + optionButtons + ", optionJsMap=" + optionJsMap + ", edit='" + edit + '\'' + ", editConfig='" + editConfig + '\'' + ", align='" + align + '\'' + ", style='" + style + '\'' + ", event='" + event + '\'' + ", unresize=" + unresize + ", comboxKey='" + comboxKey + '\'' + ", data=" + data + ", showField='" + showField + '\'' + ", queryField='" + queryField + '\'' + ", referConfig=" + referConfig + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/UITablePageVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,49 @@ package com.vci.ubcs.code.vo.pagemodel; /** * è¡¨æ ¼çå页对象 * @author weidy * @date 2021/2/25 */ public class UITablePageVO implements java.io.Serializable{ /** * åºåå */ private static final long serialVersionUID = -6338518925812603615L; /** * æ¯é¡µæ¾ç¤ºæ°é */ private Integer limit = -1; /** * å½åé¡µæ° */ private Integer page = 1; public Integer getLimit() { return limit; } public void setLimit(Integer limit) { this.limit = limit; } public Integer getPage() { return page; } public void setPage(Integer page) { this.page = page; } @Override public String toString() { return "UITablePageVO{" + "limit=" + limit + ", page=" + page + '}'; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyTemplateAttrController.java
@@ -18,10 +18,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.code.dto.CodeClassifyTemplateAttrDTO; import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.vo.CodeOsbtmtypeattributeVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.wrapper.CodeClstempattrWrapper; import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper; 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; @@ -31,9 +36,12 @@ 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; /** * ç¼ç åºå®ä¹-模æ¿å±æ§ æ§å¶å¨ @@ -57,7 +65,7 @@ @ApiOperation(value = "详æ ", notes = "ä¼ å ¥CodeClstempattr") public R<CodeClassifyTemplateAttrVO> detail(CodeClassifyTemplateAttr CodeClstempattr) { CodeClassifyTemplateAttr detail = CodeClstempattrService.getOne(Condition.getQueryWrapper(CodeClstempattr)); return R.data(CodeClstempattrWrapper.build().entityVO(detail)); return R.data(CodeClassifyTemplateAttrWrapper.build().entityVO(detail)); } /** * ç¼ç åºå®ä¹-模æ¿å±æ§ å页 @@ -67,7 +75,7 @@ @ApiOperation(value = "å页", notes = "ä¼ å ¥CodeClstempattr") public R<IPage<CodeClassifyTemplateAttrVO>> list(CodeClassifyTemplateAttr CodeClstempattr, Query query) { IPage<CodeClassifyTemplateAttr> pages = CodeClstempattrService.page(Condition.getPage(query), Condition.getQueryWrapper(CodeClstempattr)); return R.data(CodeClstempattrWrapper.build().pageVO(pages)); return R.data(CodeClassifyTemplateAttrWrapper.build().pageVO(pages)); } /** @@ -122,4 +130,131 @@ } /** * 主é¢åºåç±»çæ¨¡æ¿å±æ§å表 * @param baseQueryObject åºç¡æ¥è¯¢å¯¹è±¡ï¼å 嫿¥è¯¢æ¡ä»¶ï¼åé¡µï¼æåºç * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表 */ @GetMapping("/gridCodeClassifyTemplateAttr") public DataGrid<CodeClassifyTemplateAttrVO> 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<CodeClassifyTemplateAttrVO> addSave(@RequestBody CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO){ CodeClassifyTemplateAttrVO codeClassifyTemplateAttrVO = CodeClstempattrService.addSave(codeClassifyTemplateAttrDTO); return R.data(codeClassifyTemplateAttrVO); } /** * æ¹éä¿ååè¡¨æ°æ® * @param list * @return */ @PostMapping( "/batchAddSave") public R<List<CodeClassifyTemplateAttrVO>> batchAddSaves(@RequestBody List<CodeClassifyTemplateAttrDTO> list){ if(CollectionUtils.isEmpty(list)){ return R.fail("å表ä¸è½ä¸ºç©º!"); } List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOs = CodeClstempattrService.batchAddSave(list); return R.data(codeClassifyTemplateAttrVOs); } /** * ä¿®æ¹ ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ @PutMapping("/editSave") public R<CodeClassifyTemplateAttrVO> editSave(@RequestBody CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO){ return CodeClstempattrService.editSave(codeClassifyTemplateAttrDTO); } /** * å é¤ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ * @return å é¤ç»æåé¦ï¼ï¼successï¼æåï¼failï¼å¤±è´¥ */ @DeleteMapping( "/deleteData") public R delCodeClassifyTemplateAttr(@RequestBody CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) { return CodeClstempattrService.deleteCodeClassifyTemplateAttr(codeClassifyTemplateAttrDTO); } /** * 主é®è·å主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param oid ä¸»é® * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡ */ @GetMapping("/getObjectByOid") public R<CodeClassifyTemplateAttrVO> getObjectByOid(String oid){ CodeClassifyTemplateAttrVO codeClassifyTemplateAttrVO = CodeClstempattrService.getObjectByOid(oid); return R.data(codeClassifyTemplateAttrVO); } /** * 䏻鮿¹éè·å主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param oids 主é®ï¼å¤ä¸ªä»¥éå·åéï¼ä½æ¯åæ§è½å½±åï¼å»ºè®®ä¸æ¬¡æ¥è¯¢ä¸è¶ è¿10000个 * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡ */ @GetMapping("/listDataByOids") public R listCodeClassifyTemplateAttrByOids(String oids){ Collection<CodeClassifyTemplateAttrVO> voCollection = CodeClstempattrService.listCodeClassifyTemplateAttrByOids(VciBaseUtil.str2List(oids)); // BaseResult baseResult = BaseResult.success(); // baseResult.setData(voCollection); return R.data(voCollection); } /** * åç §ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§å表 * @param baseQueryObject åºç¡æ¥è¯¢å¯¹è±¡ï¼å 嫿¥è¯¢æ¡ä»¶ï¼åé¡µï¼æåºç * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表ï¼çæçå 容 */ @GetMapping("/refDataGrid") public DataGrid<CodeClassifyTemplateAttrVO> 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 CodeClassifyTemplateAttrDTO codeClassifyAttrDTO) { return CodeClstempattrService.copyto(codeClassifyAttrDTO); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyTemplateController.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstemplateController.java ÐÞ¸Ä @@ -19,14 +19,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.code.dto.CodeClstemplateDTO; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.dto.CodeClassifyTemplateDTO; import com.vci.ubcs.code.entity.CodeClassifyTemplate; import com.vci.ubcs.code.enumpack.CodeClassifyTemplateLC; import com.vci.ubcs.code.mapper.CodeClstemplateMapper; import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper; import com.vci.ubcs.code.service.ICodeClstemplateService; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.code.wrapper.PlCodeClstemplateWrapper; import com.vci.ubcs.code.wrapper.CodeClassifyTemplateWrapper; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.util.VciBaseUtil; import io.swagger.annotations.Api; @@ -52,13 +54,13 @@ */ @RestController @AllArgsConstructor @RequestMapping("/codeClstemplate") @RequestMapping("/codeClassifyTemplateController") @Api(value = "ç¼ç åºå®ä¹-模æ¿ç®¡ç", tags = "ç¼ç åºå®ä¹-模æ¿ç®¡çæ¥å£") public class CodeClstemplateController extends BladeController { public class CodeClassifyTemplateController extends BladeController { private final ICodeClstemplateService plCodeClstemplateService; CodeClstemplateMapper codeClstemplateMapper; CodeClassifyTemplateMapper codeClassifyTemplateMapper; /** * ç¼ç åºå®ä¹-模æ¿ç®¡ç 详æ @@ -66,9 +68,9 @@ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详æ ", notes = "ä¼ å ¥plCodeClstemplate") public R<CodeClstemplateVO> detail(CodeClstemplateEntity plCodeClstemplate) { CodeClstemplateEntity detail = plCodeClstemplateService.getOne(Condition.getQueryWrapper(plCodeClstemplate)); return R.data(PlCodeClstemplateWrapper.build().entityVO(detail)); public R<CodeClassifyTemplateVO> detail(CodeClassifyTemplate plCodeClstemplate) { CodeClassifyTemplate detail = plCodeClstemplateService.getOne(Condition.getQueryWrapper(plCodeClstemplate)); return R.data(CodeClassifyTemplateWrapper.build().entityVO(detail)); } /** * ç¼ç åºå®ä¹-模æ¿ç®¡ç å页,å类模æ¿å表对åºä»¥åå¹³å°çgridCodeClassifyTemplate @@ -76,9 +78,9 @@ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "å页", notes = "ä¼ å ¥plCodeClstemplate") public R<IPage<CodeClstemplateVO>> list(CodeClstemplateEntity plCodeClstemplate, Query query) { IPage<CodeClstemplateEntity> pages = plCodeClstemplateService.page(Condition.getPage(query), Condition.getQueryWrapper(plCodeClstemplate)); return R.data(PlCodeClstemplateWrapper.build().pageVO(pages)); public R<IPage<CodeClassifyTemplateVO>> list(CodeClassifyTemplate plCodeClstemplate, Query query) { IPage<CodeClassifyTemplate> pages = plCodeClstemplateService.page(Condition.getPage(query), Condition.getQueryWrapper(plCodeClstemplate)); return R.data(CodeClassifyTemplateWrapper.build().pageVO(pages)); } /** @@ -87,8 +89,8 @@ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "å页", notes = "ä¼ å ¥plCodeClstemplate") public R<IPage<CodeClstemplateVO>> page(CodeClstemplateVO plCodeClstemplate, Query query) { IPage<CodeClstemplateVO> pages = plCodeClstemplateService.selectPlCodeClstemplatePage(Condition.getPage(query), plCodeClstemplate); public R<IPage<CodeClassifyTemplateVO>> page(CodeClassifyTemplateVO plCodeClstemplate, Query query) { IPage<CodeClassifyTemplateVO> pages = plCodeClstemplateService.selectPlCodeClstemplatePage(Condition.getPage(query), plCodeClstemplate); return R.data(pages); } @@ -98,7 +100,7 @@ @PostMapping("/save") @ApiOperationSupport(order = 4) @ApiOperation(value = "æ°å¢", notes = "ä¼ å ¥plCodeClstemplate") public R save(@Valid @RequestBody CodeClstemplateEntity plCodeClstemplate) { public R save(@Valid @RequestBody CodeClassifyTemplate plCodeClstemplate) { return R.status(plCodeClstemplateService.save(plCodeClstemplate)); } @@ -108,7 +110,7 @@ @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "ä¿®æ¹", notes = "ä¼ å ¥plCodeClstemplate") public R update(@Valid @RequestBody CodeClstemplateEntity plCodeClstemplate) { public R update(@Valid @RequestBody CodeClassifyTemplate plCodeClstemplate) { return R.status(plCodeClstemplateService.updateById(plCodeClstemplate)); } @@ -118,7 +120,7 @@ @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "æ°å¢æä¿®æ¹", notes = "ä¼ å ¥plCodeClstemplate") public R submit(@Valid @RequestBody CodeClstemplateEntity plCodeClstemplate) { public R submit(@Valid @RequestBody CodeClassifyTemplate plCodeClstemplate) { return R.status(plCodeClstemplateService.saveOrUpdate(plCodeClstemplate)); } @@ -129,7 +131,7 @@ @ApiOperationSupport(order = 7) @ApiOperation(value = "é»è¾å é¤", notes = "ä¼ å ¥ids") public R remove(@ApiParam(value = "主é®éå", required = true) @RequestParam String ids) { return R.status(SqlHelper.retBool(codeClstemplateMapper.deleteBatchIds(Func.toLongList(ids)))); return R.status(SqlHelper.retBool(codeClassifyTemplateMapper.deleteBatchIds(Func.toLongList(ids)))); } /** @@ -142,16 +144,16 @@ return plCodeClstemplateService.treeCodeClassifyTemplate(treeQueryObject); } // /** // * å类模æ¿å表 // * @param baseQueryObject åºç¡æ¥è¯¢å¯¹è±¡ // * @return æ¾ç¤ºå¯¹è±¡ // */ // @GetMapping("/gridCodeClassifyTemplate") // public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(BaseQueryObject baseQueryObject){ // // return plCodeClstemplateService.gridCodeClassifyTemplate(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); // } /** * å类模æ¿å表 * @param baseQueryObject åºç¡æ¥è¯¢å¯¹è±¡ * @return æ¾ç¤ºå¯¹è±¡ */ @GetMapping("/gridCodeClassifyTemplate") public DataGrid<CodeClassifyTemplateVO> gridCodeClassifyTemplate(BaseQueryObject baseQueryObject){ return plCodeClstemplateService.gridCodeClassifyTemplate(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); } /** @@ -160,7 +162,7 @@ * @return æ§è¡ç»æ success为true为å¯ä»¥å é¤ï¼falseè¡¨ç¤ºææ°æ®å¼ç¨ï¼obj为true表示æä¸çº§ */ @PostMapping( "/checkIsCanDelete") public R checkIsCanDelete(@RequestBody CodeClstemplateDTO codeClstemplateDTO) { public R checkIsCanDelete(@RequestBody CodeClassifyTemplateDTO codeClstemplateDTO) { return plCodeClstemplateService.checkIsCanDelete(codeClstemplateDTO); } @@ -171,7 +173,7 @@ * @return å é¤ç»æåé¦ï¼ï¼successï¼æåï¼failï¼å¤±è´¥ */ @DeleteMapping( "/deleteData") public R delCodeClassifyTemplate(@Valid @RequestBody CodeClstemplateDTO codeClstemplateDTO) { public R delCodeClassifyTemplate(@Valid @RequestBody CodeClassifyTemplateDTO codeClstemplateDTO) { return plCodeClstemplateService.deleteCodeClassifyTemplate(codeClstemplateDTO); } @@ -181,8 +183,8 @@ * @return å类模æ¿å¯¹è±¡æ¾ç¤ºå¯¹è±¡ */ @GetMapping("/getObjectByOid") public R<CodeClstemplateVO> getObjectByOid(String oid){ CodeClstemplateVO codeClassifyTemplateVO = plCodeClstemplateService.getObjectByOid(oid); public R<CodeClassifyTemplateVO> getObjectByOid(String oid){ CodeClassifyTemplateVO codeClassifyTemplateVO = plCodeClstemplateService.getObjectByOid(oid); return R.data(codeClassifyTemplateVO); } @@ -192,8 +194,8 @@ * @return å类模æ¿å¯¹è±¡æ¾ç¤ºå¯¹è±¡ */ @GetMapping("/listDataByOids") public R<Collection<CodeClstemplateVO>> listCodeClassifyTemplateByOids(String oids){ Collection<CodeClstemplateVO> voCollection = plCodeClstemplateService.listCodeClassifyTemplateByOids(VciBaseUtil.str2List(oids)); public R<Collection<CodeClassifyTemplateVO>> listCodeClassifyTemplateByOids(String oids){ Collection<CodeClassifyTemplateVO> voCollection = plCodeClstemplateService.listCodeClassifyTemplateByOids(VciBaseUtil.str2List(oids)); return R.data(voCollection) ; } @@ -214,7 +216,7 @@ * @return */ @PostMapping( "/enableData") public R enable( CodeClstemplateDTO codeClstemplateDTO) { public R enable( CodeClassifyTemplateDTO codeClstemplateDTO) { return plCodeClstemplateService.updateLcStatus(codeClstemplateDTO.getOid(), CodeClassifyTemplateLC.RELEASED.getValue()); } @@ -224,7 +226,7 @@ * @return */ @PostMapping( "/disableData") public R disableData( CodeClstemplateDTO codeClassifyDTO) { public R disableData( CodeClassifyTemplateDTO codeClassifyDTO) { return plCodeClstemplateService.updateLcStatus(codeClassifyDTO.getOid(),CodeClassifyTemplateLC.DISABLED.getValue()); } @@ -234,7 +236,7 @@ * @return */ @PostMapping( "/editDate") public R editDate( CodeClstemplateDTO codeClassifyDTO) { public R editDate( CodeClassifyTemplateDTO codeClassifyDTO) { return plCodeClstemplateService.updateLcStatus(codeClassifyDTO.getOid(),CodeClassifyTemplateLC.EDITING.getValue()); } @@ -244,7 +246,7 @@ * @return oid模æ¿oid */ @PostMapping( "/upgrade") public R Upgrade(@RequestBody CodeClstemplateDTO codeClassifyDTO) { public R Upgrade(@RequestBody CodeClassifyTemplateDTO codeClassifyDTO) { return plCodeClstemplateService.Upgrade(codeClassifyDTO); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClsflowtempController.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeKeyAttrRepeatController.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeKeyattrrepeatController.java ÐÞ¸Ä @@ -17,9 +17,8 @@ package com.vci.ubcs.code.controller; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; import com.vci.ubcs.code.mapper.CodeButtonMapper; import com.vci.ubcs.code.mapper.CodeKeyattrrepeatMapper; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import com.vci.ubcs.code.mapper.CodeKeyAttrRepeatMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -31,12 +30,11 @@ import org.springblade.core.mp.support.Query; 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 com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; import com.vci.ubcs.code.wrapper.PlCodeKeyattrrepeatWrapper; import com.vci.ubcs.code.service.ICodeKeyattrrepeatService; import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO; import com.vci.ubcs.code.wrapper.CodeKeyAttrRepeatWrapper; import com.vci.ubcs.code.service.ICodeKeyAttrRepeatService; import org.springblade.core.boot.ctrl.BladeController; /** @@ -49,12 +47,12 @@ @AllArgsConstructor @RequestMapping("/plCodeKeyattrrepeat") @Api(value = "å ³é®å±æ§æ¥éè§å", tags = "å ³é®å±æ§æ¥éè§åæ¥å£") public class CodeKeyattrrepeatController extends BladeController { public class CodeKeyAttrRepeatController extends BladeController { private final ICodeKeyattrrepeatService plCodeKeyattrrepeatService; private final ICodeKeyAttrRepeatService plCodeKeyattrrepeatService; CodeKeyattrrepeatMapper codeKeyattrrepeatMapper; CodeKeyAttrRepeatMapper codeKeyattrrepeatMapper; /** * å ³é®å±æ§æ¥éè§å 详æ @@ -62,9 +60,9 @@ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详æ ", notes = "ä¼ å ¥plCodeKeyattrrepeat") public R<CodeKeyattrrepeatVO> detail(CodeKeyattrrepeatEntity plCodeKeyattrrepeat) { CodeKeyattrrepeatEntity detail = codeKeyattrrepeatMapper.selectOne(Condition.getQueryWrapper(plCodeKeyattrrepeat)); return R.data(PlCodeKeyattrrepeatWrapper.build().entityVO(detail)); public R<CodeKeyAttrRepeatVO> detail(CodeKeyAttrRepeat plCodeKeyattrrepeat) { CodeKeyAttrRepeat detail = codeKeyattrrepeatMapper.selectOne(Condition.getQueryWrapper(plCodeKeyattrrepeat)); return R.data(CodeKeyAttrRepeatWrapper.build().entityVO(detail)); } /** * å ³é®å±æ§æ¥éè§å å页 @@ -72,9 +70,9 @@ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "å页", notes = "ä¼ å ¥plCodeKeyattrrepeat") public R<IPage<CodeKeyattrrepeatVO>> list(CodeKeyattrrepeatEntity plCodeKeyattrrepeat, Query query) { IPage<CodeKeyattrrepeatEntity> pages = codeKeyattrrepeatMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(plCodeKeyattrrepeat)); return R.data(PlCodeKeyattrrepeatWrapper.build().pageVO(pages)); public R<IPage<CodeKeyAttrRepeatVO>> list(CodeKeyAttrRepeat plCodeKeyattrrepeat, Query query) { IPage<CodeKeyAttrRepeat> pages = codeKeyattrrepeatMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(plCodeKeyattrrepeat)); return R.data(CodeKeyAttrRepeatWrapper.build().pageVO(pages)); } /** @@ -83,8 +81,8 @@ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "å页", notes = "ä¼ å ¥plCodeKeyattrrepeat") public R<IPage<CodeKeyattrrepeatVO>> page(CodeKeyattrrepeatVO plCodeKeyattrrepeat, Query query) { IPage<CodeKeyattrrepeatVO> pages = plCodeKeyattrrepeatService.selectPlCodeKeyattrrepeatPage(Condition.getPage(query), plCodeKeyattrrepeat); public R<IPage<CodeKeyAttrRepeatVO>> page(CodeKeyAttrRepeatVO plCodeKeyattrrepeat, Query query) { IPage<CodeKeyAttrRepeatVO> pages = plCodeKeyattrrepeatService.selectPlCodeKeyattrrepeatPage(Condition.getPage(query), plCodeKeyattrrepeat); return R.data(pages); } @@ -94,7 +92,7 @@ @PostMapping("/save") @ApiOperationSupport(order = 4) @ApiOperation(value = "æ°å¢", notes = "ä¼ å ¥plCodeKeyattrrepeat") public R save(@Valid @RequestBody CodeKeyattrrepeatEntity plCodeKeyattrrepeat) { public R save(@Valid @RequestBody CodeKeyAttrRepeat plCodeKeyattrrepeat) { return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.insert(plCodeKeyattrrepeat))); } @@ -104,7 +102,7 @@ @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "ä¿®æ¹", notes = "ä¼ å ¥plCodeKeyattrrepeat") public R update(@Valid @RequestBody CodeKeyattrrepeatEntity plCodeKeyattrrepeat) { public R update(@Valid @RequestBody CodeKeyAttrRepeat plCodeKeyattrrepeat) { return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.updateById(plCodeKeyattrrepeat))); } @@ -114,7 +112,7 @@ @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "æ°å¢æä¿®æ¹", notes = "ä¼ å ¥plCodeKeyattrrepeat") public R submit(@Valid @RequestBody CodeKeyattrrepeatEntity plCodeKeyattrrepeat) { public R submit(@Valid @RequestBody CodeKeyAttrRepeat plCodeKeyattrrepeat) { if(plCodeKeyattrrepeat.getOid() != null){ return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.updateById(plCodeKeyattrrepeat))); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodePhaseAttrController.java
@@ -45,7 +45,7 @@ */ @RestController @AllArgsConstructor @RequestMapping("/CodePhaseattr") @RequestMapping("/codePhaseAttrController") @Api(value = "ç¼ç åºå®ä¹-模æ¿é¶æ®µ-屿§", tags = "ç¼ç åºå®ä¹-模æ¿é¶æ®µ-屿§æ¥å£") public class CodePhaseAttrController extends BladeController { Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -9,8 +9,10 @@ import com.vci.ubcs.code.service.MdmEngineService; import com.vci.ubcs.code.service.MdmIOService; import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO; import com.vci.ubcs.code.vo.pagemodel.MdmUIInfoVO; import com.vci.ubcs.starter.annotation.VciBusinessLog; import com.vci.ubcs.starter.util.LocalFileUtil; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.util.ControllerUtil; import com.vci.ubcs.starter.web.util.LangBaseUtil; import io.swagger.annotations.Api; @@ -27,121 +29,157 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Map; @RestController //@AllArgsConstructor @RequestMapping("/mdmEngineController") @Api(value = "ç¼ç æ°æ®ç®¡ç", tags = "ç¼ç æ°æ®ç®¡ç") public class MdmEngineController { // //// /** //// * æ¥å¿ //// */ // private Logger logger = LoggerFactory.getLogger(getClass()); // /** // * æ¥å¿ // * ä¸»æ°æ®å¼ææå¡ // */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * ä¸»æ°æ®å¼ææå¡ */ @Autowired private MdmEngineService engineService; /** * ä¸»æ°æ®å¯¼å ¥å¯¼åºæå¡ */ @Autowired private MdmIOService mdmIOService; // @Autowired // private MdmEngineService engineService; // /** // * ä¸»æ°æ®å¯¼å ¥å¯¼åºæå¡ // */ // @Autowired // private MdmIOService mdmIOService; // // /** // * ä¸è½½æ¹éç³è¯·çå¯¼å ¥æ¨¡æ¿ // * @param codeClassifyOid åç±»çä¸»é® // * @param response ååºå¯¹è±¡ // * @throws IOException æåºå¼å¸¸ // */ // @GetMapping("/downloadImportExcel") // @VciBusinessLog(operateName = "ä¸è½½æ¹éç³è¯·ç¼ç çå¯¼å ¥æ¨¡æ¿") // public void downloadImportExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{ // String excelName = mdmIOService.createImportExcel(codeClassifyOid,false); // try { // ControllerUtil.writeFileToResponse(response,excelName); // } catch (Throwable e) { // //妿åºé,æé误信æ¯åå°text // String msg = LangBaseUtil.getErrorMsg(e); // if(StringUtils.isBlank(msg)){ // msg = "æªç¥é误"; // } // ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); // } // } // // // /** // * æ¹éç³è¯·ç¼ç çä¿¡æ¯ // * @param secDTOList ç³è¯·ç¼ç çä¿¡æ¯ï¼å¿ é¡»å å«ç 段åå类主é®çä¿¡æ¯ // * @param file æä»¶çå 容 // */ // @VciBusinessLog(operateName = "æ¹éç³è¯·ç¼ç çä¿¡æ¯") // @PostMapping("/batchImportCode") // public R batchImportCode(String secDTOList, String codeClassifyOid, MultipartFile file, HttpServletResponse response) throws Throwable { // CodeOrderDTO orderDTO = new CodeOrderDTO(); // orderDTO.setCodeClassifyOid(codeClassifyOid); // if(StringUtils.isNotBlank(secDTOList)){ // List<CodeOrderSecDTO> secDTOS = JSONObject.parseArray(secDTOList, CodeOrderSecDTO.class); // orderDTO.setSecDTOList(secDTOS); // } // String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); // File file1 = new File(excelFileName); // try { // file.transferTo(new File(excelFileName)); // CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1); // if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ // //æ¾å°mapé // R result = R.fail("å¯¼å ¥å¤±è´¥"); // if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { // String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); // codeImProtRusultVO.setFileOid(filedUUid); // } // result.setData(codeImProtRusultVO); // return result; // }else { // return R.success("æä½æåï¼"); // } // }catch (Throwable e) { // logger.error("å¯¼å ¥é误",e); // String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "é误.txt"; // LocalFileUtil.writeContentToFile( LangBaseUtil.getErrorMsg(e),errorFile); // String uuid=ControllerUtil.putErrorFile(errorFile); // CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO(); // codeImProtRusultVO.setRedisUuid(""); // codeImProtRusultVO.setFileOid(uuid); // codeImProtRusultVO.setFilePath(errorFile); // R result = R.fail("å¯¼å ¥å¤±è´¥"); // result.setData(codeImProtRusultVO); //// result.setObj(codeImProtRusultVO); // return result; // }finally { // file1.delete(); // } // } // // // /** // * ä¿®æ¹ç¶æ // * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ // * @return æ§è¡ç»æ // */ // @PostMapping("changeStatus") // public R changeStatus(BaseModelDTO baseModelDTO) { // engineService.changeStatus(baseModelDTO); // return R.success("æä½æåï¼"); // } // // // /** // * ç³è¯·ç¼ç ä¿å // * @param orderDTO ç¼ç ç³è¯·ç¸å ³çä¿¡æ¯ï¼éè¦æå±æ§åç æ®µç¸å ³çä¿¡æ¯ // * @return æ§è¡ç»æ // */ // @PostMapping("/addSaveCode") // @VciBusinessLog(operateName = "ç³è¯·å个ç¼ç ") // public R addSaveCode(@RequestBody CodeOrderDTO orderDTO){ // return R.success(engineService.addSaveCode(orderDTO)); // } // // // /** // * ä½¿ç¨æ¨¡æ¿ç主é®è·å表åçå®ä¹ // * @param templateOid 模æ¿çä¸»é® // * @param codeClassifyOid ä½¿ç¨æ¨¡æ¿çåç±»ä¸»é® // * @return UIç¸å ³çä¿¡æ¯ï¼ä» å å«è¡¨åï¼ // */ // @GetMapping("/getFormDefineByTemplateOid") // public MdmUIInfoVO getFormDefineByTemplateOid(String templateOid, String codeClassifyOid){ // return engineService.getFormDefineByTemplateOid(templateOid,codeClassifyOid); // } // // /** // * ç¸ä¼¼é¡¹æ¥è¯¢ // * @param orderDTO ç¼ç çç¸å ³ä¿¡æ¯ // * @return æ°æ®å表 // */ // @PostMapping("/resembleQuery") // public DataGrid<Map<String,String>> resembleQuery(@RequestBody CodeOrderDTO orderDTO){ // return engineService.resembleQuery(orderDTO); // } // // /** // * ä¿®æ¹åæ¡ä¸»é¢åºçæ°æ® // * @param orderDTO ç¼ç ç³è¯·ç¸å ³çä¿¡æ¯ï¼ä¸éè¦ç 段çä¿¡æ¯ // * @return æ§è¡ç»æ // */ // @PutMapping("/editSaveCode") // @VciBusinessLog(operateName = "ä¿®æ¹ç¼ç æ°æ®") // public R editSaveCode(@RequestBody CodeOrderDTO orderDTO){ // engineService.editSaveCode(orderDTO); // return R.success("ä¿®æ¹æåï¼"); // } /** * ä¸è½½æ¹éç³è¯·çå¯¼å ¥æ¨¡æ¿ * @param codeClassifyOid åç±»çä¸»é® * @param response ååºå¯¹è±¡ * @throws IOException æåºå¼å¸¸ */ @GetMapping("/downloadImportExcel") @VciBusinessLog(operateName = "ä¸è½½æ¹éç³è¯·ç¼ç çå¯¼å ¥æ¨¡æ¿") public void downloadImportExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{ String excelName = mdmIOService.createImportExcel(codeClassifyOid,false); try { ControllerUtil.writeFileToResponse(response,excelName); } catch (Throwable e) { //妿åºé,æé误信æ¯åå°text String msg = LangBaseUtil.getErrorMsg(e); if(StringUtils.isBlank(msg)){ msg = "æªç¥é误"; } ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); } } /** * æ¹éç³è¯·ç¼ç çä¿¡æ¯ * @param secDTOList ç³è¯·ç¼ç çä¿¡æ¯ï¼å¿ é¡»å å«ç 段åå类主é®çä¿¡æ¯ * @param file æä»¶çå 容 */ @VciBusinessLog(operateName = "æ¹éç³è¯·ç¼ç çä¿¡æ¯") @PostMapping("/batchImportCode") public R batchImportCode(String secDTOList, String codeClassifyOid, MultipartFile file, HttpServletResponse response) throws Throwable { CodeOrderDTO orderDTO = new CodeOrderDTO(); orderDTO.setCodeClassifyOid(codeClassifyOid); if(StringUtils.isNotBlank(secDTOList)){ List<CodeOrderSecDTO> secDTOS = JSONObject.parseArray(secDTOList, CodeOrderSecDTO.class); orderDTO.setSecDTOList(secDTOS); } String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); File file1 = new File(excelFileName); try { file.transferTo(new File(excelFileName)); CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1); if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ //æ¾å°mapé R result = R.fail("å¯¼å ¥å¤±è´¥"); if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); codeImProtRusultVO.setFileOid(filedUUid); } result.setData(codeImProtRusultVO); return result; }else { return R.success("æä½æåï¼"); } }catch (Throwable e) { logger.error("å¯¼å ¥é误",e); String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "é误.txt"; LocalFileUtil.writeContentToFile( LangBaseUtil.getErrorMsg(e),errorFile); String uuid=ControllerUtil.putErrorFile(errorFile); CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO(); codeImProtRusultVO.setRedisUuid(""); codeImProtRusultVO.setFileOid(uuid); codeImProtRusultVO.setFilePath(errorFile); R result = R.fail("å¯¼å ¥å¤±è´¥"); result.setData(codeImProtRusultVO); // result.setObj(codeImProtRusultVO); return result; }finally { file1.delete(); } } /** * ä¿®æ¹ç¶æ * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ @PostMapping("changeStatus") public R changeStatus(BaseModelDTO baseModelDTO) { engineService.changeStatus(baseModelDTO); return R.success("æä½æåï¼"); } /** * ç³è¯·ç¼ç ä¿å * @param orderDTO ç¼ç ç³è¯·ç¸å ³çä¿¡æ¯ï¼éè¦æå±æ§åç æ®µç¸å ³çä¿¡æ¯ * @return æ§è¡ç»æ */ @PostMapping("/addSaveCode") @VciBusinessLog(operateName = "ç³è¯·å个ç¼ç ") public R addSaveCode(@RequestBody CodeOrderDTO orderDTO){ return R.success(engineService.addSaveCode(orderDTO)); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeButtonClient.java
@@ -19,7 +19,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.entity.CodeButton; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; import com.vci.ubcs.code.mapper.CodeButtonMapper; import com.vci.ubcs.code.service.ICodeButtonService; import lombok.AllArgsConstructor; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyTemplateAttrClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClstempattrClient.java ÐÞ¸Ä @@ -37,7 +37,7 @@ @ApiIgnore() @RestController @AllArgsConstructor public class CodeClstempattrClient implements ICodeClstempattrClient { public class CodeClassifyTemplateAttrClient implements ICodeClassifyTemplateAttrClient { private CodeClassifyTemplateAttrMapper codeClstempattrMapper; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyTemplateClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClstemplateClient.java ÐÞ¸Ä @@ -18,13 +18,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.mapper.CodeClstemplateMapper; import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.service.ICodeClstemplateService; import com.vci.ubcs.code.entity.CodeClassifyTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; @@ -38,17 +37,17 @@ @ApiIgnore() @RestController @AllArgsConstructor public class CodeClstemplateClient implements lCodeClstemplateClient { public class CodeClassifyTemplateClient implements lCodeClassifyTemplateClient { private final CodeClstemplateMapper codeClstemplateMapper; private final CodeClassifyTemplateMapper codeClassifyTemplateMapper; @Override @GetMapping(TOP) public BladePage<CodeClstemplateEntity> top(Integer current, Integer size) { public BladePage<CodeClassifyTemplate> top(Integer current, Integer size) { Query query = new Query(); query.setCurrent(current); query.setSize(size); IPage<CodeClstemplateEntity> page = codeClstemplateMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper()); IPage<CodeClassifyTemplate> page = codeClassifyTemplateMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper()); return BladePage.of(page); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClsflowtempClient.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeKeyAttrRepeatClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeKeyattrrepeatClient.java ÐÞ¸Ä @@ -18,14 +18,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; import com.vci.ubcs.code.entity.CodeSynonymEntity; import com.vci.ubcs.code.mapper.CodeKeyattrrepeatMapper; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import com.vci.ubcs.code.mapper.CodeKeyAttrRepeatMapper; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import com.vci.ubcs.code.service.ICodeKeyattrrepeatService; import com.vci.ubcs.code.service.ICodeKeyAttrRepeatService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; @@ -39,19 +38,19 @@ @ApiIgnore() @RestController @AllArgsConstructor public class CodeKeyattrrepeatClient implements lCodeKeyattrrepeatClient { public class CodeKeyAttrRepeatClient implements lCodeKeyAttrRepeatClient { private final ICodeKeyattrrepeatService plCodeKeyattrrepeatService; private final ICodeKeyAttrRepeatService plCodeKeyattrrepeatService; CodeKeyattrrepeatMapper codeKeyattrrepeatMapper; CodeKeyAttrRepeatMapper codeKeyattrrepeatMapper; @Override @GetMapping(TOP) public BladePage<CodeKeyattrrepeatEntity> top(Integer current, Integer size) { public BladePage<CodeKeyAttrRepeat> top(Integer current, Integer size) { Query query = new Query(); query.setCurrent(current); query.setSize(size); IPage<CodeKeyattrrepeatEntity> page = codeKeyattrrepeatMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper()); IPage<CodeKeyAttrRepeat> page = codeKeyattrrepeatMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper()); return BladePage.of(page); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodePhaseAttrClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodePhaseattrClient.java ÐÞ¸Ä @@ -20,7 +20,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.entity.CodePhaseAttr; import com.vci.ubcs.code.mapper.CodePhaseAttrMapper; import com.vci.ubcs.code.mapper.CodePhaseAttrMapper; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; @@ -38,7 +37,7 @@ @ApiIgnore() @RestController @AllArgsConstructor public class CodePhaseattrClient implements ICodePhaseattrClient { public class CodePhaseAttrClient implements ICodePhaseAttrClient { private final CodePhaseAttrMapper codePhaseAttrMapper; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeTempButtonClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeTempbuttonClient.java ÐÞ¸Ä @@ -24,7 +24,6 @@ import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import com.vci.ubcs.code.service.ICodeTempbuttonService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; @@ -38,7 +37,7 @@ @ApiIgnore() @RestController @AllArgsConstructor public class CodeTempbuttonClient implements ICodeTempbuttonClient { public class CodeTempButtonClient implements ICodeTempButtonClient { private final CodeClassifyTemplateButtonMapper codeTempbuttonMapper; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyTemplateAttrClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeClstempattrClient.java ÐÞ¸Ä @@ -31,7 +31,7 @@ @FeignClient( value = "ubcs-code" ) public interface ICodeClstempattrClient { public interface ICodeClassifyTemplateAttrClient { String API_PREFIX = "/clientTempAttr"; String TOP = API_PREFIX + "/top"; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeClsflowtempClient.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodePhaseAttrClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodePhaseattrClient.java ÐÞ¸Ä @@ -31,7 +31,7 @@ @FeignClient( value = "ubcs-code" ) public interface ICodePhaseattrClient { public interface ICodePhaseAttrClient { String API_PREFIX = "/clientPhaseattr"; String TOP = API_PREFIX + "/top"; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeTempButtonClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeTempbuttonClient.java ÐÞ¸Ä @@ -31,7 +31,7 @@ @FeignClient( value = "ubcs-code" ) public interface ICodeTempbuttonClient { public interface ICodeTempButtonClient { String API_PREFIX = "/clientTempButton"; String TOP = API_PREFIX + "/top"; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/lCodeClassifyTemplateClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/lCodeClstemplateClient.java ÐÞ¸Ä @@ -17,7 +17,7 @@ package com.vci.ubcs.code.feign; import org.springblade.core.mp.support.BladePage; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.entity.CodeClassifyTemplate; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -31,7 +31,7 @@ @FeignClient( value = "ubcs-code" ) public interface lCodeClstemplateClient { public interface lCodeClassifyTemplateClient { String API_PREFIX = "/client"; String TOP = API_PREFIX + "/getClstempPage"; @@ -44,6 +44,6 @@ * @return BladePage */ @GetMapping(TOP) BladePage<CodeClstemplateEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); BladePage<CodeClassifyTemplate> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/lCodeKeyAttrRepeatClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/lCodeKeyattrrepeatClient.java ÐÞ¸Ä @@ -16,7 +16,7 @@ */ package com.vci.ubcs.code.feign; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import org.springblade.core.mp.support.BladePage; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -31,7 +31,7 @@ @FeignClient( value = "ubcs-code" ) public interface lCodeKeyattrrepeatClient { public interface lCodeKeyAttrRepeatClient { String API_PREFIX = "/codekey"; String TOP = API_PREFIX + "/keylist"; @@ -44,6 +44,6 @@ * @return BladePage */ @GetMapping(TOP) BladePage<CodeKeyattrrepeatEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); BladePage<CodeKeyAttrRepeat> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateMapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstemplateMapper.java ÐÞ¸Ä @@ -18,9 +18,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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 com.vci.ubcs.code.entity.CodeClassifyTemplate; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -32,7 +31,7 @@ * @author yuxc * @since 2023-04-10 */ public interface CodeClstemplateMapper extends BaseMapper<CodeClstemplateEntity> { public interface CodeClassifyTemplateMapper extends BaseMapper<CodeClassifyTemplate> { /** * èªå®ä¹å页 @@ -41,7 +40,7 @@ * @param plCodeClstemplate * @return */ List<CodeClstemplateVO> selectPlCodeClstemplatePage(IPage page, CodeClstemplateVO plCodeClstemplate); List<CodeClassifyTemplateVO> selectPlCodeClstemplatePage(IPage page, CodeClassifyTemplateVO plCodeClstemplate); /** * è·åææå±çº§ä¸çº§çä¸»é® @@ -68,8 +67,8 @@ // @MapKey("REVISIONSEQ") Map<String,Object> getNextRevision(@Param("nameoid") String nameoid); List<CodeClstemplateEntity> selectCodeClassifyTemplateDOByTree(@Param("codeclassifyoid") String codeclassifyoid, @Param("lcstatus") String lcstatus); List<CodeClassifyTemplate> selectCodeClassifyTemplateDOByTree(@Param("codeclassifyoid") String codeclassifyoid, @Param("lcstatus") String lcstatus); List<Map<String,String>> selectChildHasReleaseTemplate(@Param("lcstatus") String lcstatus, @Param("classifyoid") String classifyoid, Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClsflowtempMapper.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstempattrMapper.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeKeyAttrRepeatMapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeKeyattrrepeatMapper.java ÐÞ¸Ä @@ -18,8 +18,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO; import java.util.List; @@ -29,7 +29,7 @@ * @author yuxc * @since 2023-04-03 */ public interface CodeKeyattrrepeatMapper extends BaseMapper<CodeKeyattrrepeatEntity> { public interface CodeKeyAttrRepeatMapper extends BaseMapper<CodeKeyAttrRepeat> { /** * èªå®ä¹å页 @@ -38,7 +38,7 @@ * @param plCodeKeyattrrepeat * @return */ List<CodeKeyattrrepeatVO> selectPlCodeKeyattrrepeatPage(IPage page, CodeKeyattrrepeatVO plCodeKeyattrrepeat); List<CodeKeyAttrRepeatVO> selectPlCodeKeyattrrepeatPage(IPage page, CodeKeyAttrRepeatVO plCodeKeyattrrepeat); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
@@ -19,4 +19,6 @@ List<String> selectById(@Param("inSql") String inSql); List<Map> selectBySql(@Param("inSql") String inSql); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyProcessTempService.java
@@ -115,5 +115,11 @@ */ List<CodeClassifyProcessTempVO> selectByWrapper(LambdaQueryWrapper<CodeClassifyProcessTemp> queryWrapper); /** * 模æ¿å é¤çæ¶å触å * @param classifyTemplateOid 模æ¿çä¸»é® * @return åå½±åçå 容 */ int codeTemplateDeleteTrigger(String classifyTemplateOid) ; } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyTemplateAttrService.java
@@ -1,14 +1,17 @@ package com.vci.ubcs.code.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.vci.ubcs.code.dto.CodeClassifyTemplateAttrDTO; import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; import com.vci.ubcs.code.vo.CodeOsbtmtypeattributeVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.starter.exception.VciBaseException; 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; @@ -31,13 +34,6 @@ */ IPage<CodeClassifyTemplateAttrVO> gridCodeClassifyTemplateAttr(MPJLambdaWrapper<CodeClassifyTemplateAttr> mpjLambdaWrapper , PageHelper pageHelper) throws VciBaseException; /** * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeClassifyTemplateAttrDOs æ°æ®å¯¹è±¡å表 * @return æ¾ç¤ºå¯¹è±¡ * @throws VciBaseException åæ°ä¸ºç©ºæè ä¸åå¨çæ¶å伿åºå¼å¸¸ */ List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrDO2VOs(Collection<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOs) throws VciBaseException; /** * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ @@ -47,14 +43,6 @@ */ CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) throws VciBaseException; /** * åç §ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§å表 * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåº * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表ï¼çæçå 容 * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ */ IPage<CodeClassifyTemplateAttrVO> refDataGridCodeClassifyTemplateAttr(Map<String, Object> conditionMap, PageHelper pageHelper) throws VciBaseException; /** * èªå®ä¹å页 @@ -73,5 +61,91 @@ List<CodeClassifyTemplateAttrVO> listCodeClassifyTemplateAttrByTemplateOids(Collection<String> templateOidCollection); /** * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeClassifyTemplateAttrDOs æ°æ®å¯¹è±¡å表 * @return æ¾ç¤ºå¯¹è±¡ */ List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrDO2VOs(Collection<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOs); // /** // * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ // * @param codeClassifyTemplateAttrDO æ°æ®å¯¹è±¡ // * @return æ¾ç¤ºå¯¹è±¡ // */ // CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO); /** * æ¥è¯¢ææç主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåº * @return æ§è¡ç»æ */ DataGrid<CodeClassifyTemplateAttrVO> gridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper); /** * å¢å 主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ CodeClassifyTemplateAttrVO addSave(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO); List<CodeClassifyTemplateAttrVO> batchAddSave(List<CodeClassifyTemplateAttrDTO> list); /** * ä¿®æ¹ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ R<CodeClassifyTemplateAttrVO> editSave(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO); /** * å é¤ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ * @return å é¤ç»æåé¦ï¼ï¼successï¼æåï¼failï¼å¤±è´¥ */ R deleteCodeClassifyTemplateAttr(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO); /** * 主é®è·å主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param oid ä¸»é® * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡ */ CodeClassifyTemplateAttrVO getObjectByOid(String oid); /** * 䏻鮿¹éè·å主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param oidCollections 主é®éåï¼ä½æ¯åæ§è½å½±åï¼å»ºè®®ä¸æ¬¡æ¥è¯¢ä¸è¶ è¿10000个 * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡ */ Collection<CodeClassifyTemplateAttrVO> listCodeClassifyTemplateAttrByOids(Collection<String> oidCollections); /** * åç §ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§å表 * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåº * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表ï¼çæçå 容 */ DataGrid<CodeClassifyTemplateAttrVO> 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(CodeClassifyTemplateAttrDTO codeClassifyAttrDTO); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClsflowtempService.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstemplateService.java
@@ -18,13 +18,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.dto.CodeClstemplateDTO; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.code.dto.CodeClassifyTemplateDTO; import com.vci.ubcs.code.entity.CodeClassifyTemplate; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.PageHelper; 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; @@ -37,7 +37,7 @@ * @author yuxc * @since 2023-04-10 */ public interface ICodeClstemplateService extends IService<CodeClstemplateEntity> { public interface ICodeClstemplateService extends IService<CodeClassifyTemplate> { /** * èªå®ä¹å页 @@ -46,7 +46,7 @@ * @param plCodeClstemplate * @return */ IPage<CodeClstemplateVO> selectPlCodeClstemplatePage(IPage<CodeClstemplateVO> page, CodeClstemplateVO plCodeClstemplate); IPage<CodeClassifyTemplateVO> selectPlCodeClstemplatePage(IPage<CodeClassifyTemplateVO> page, CodeClassifyTemplateVO plCodeClstemplate); /** * æ¥è¯¢å类模æ¿å¯¹è±¡ æ @@ -61,29 +61,29 @@ * @param treeQueryObject æ å½¢æ¥è¯¢å¯¹è±¡ * @return æ¥è¯¢ç»æ,æ°æ®å¯¹è±¡ */ List<CodeClstemplateEntity> selectCodeClassifyTemplateDOByTree(TreeQueryObject treeQueryObject); List<CodeClassifyTemplate> selectCodeClassifyTemplateDOByTree(TreeQueryObject treeQueryObject); /** * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeClstemplateEntitys æ°æ®å¯¹è±¡å表 * @param codeClassifyTemplates æ°æ®å¯¹è±¡å表 * @return æ¾ç¤ºå¯¹è±¡ */ List<CodeClstemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClstemplateEntity> codeClstemplateEntitys); List<CodeClassifyTemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClassifyTemplate> codeClassifyTemplates); /** * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeClstemplateEntitys æ°æ®å¯¹è±¡å表 * @param codeClassifyTemplates æ°æ®å¯¹è±¡å表 * @param hasAttr æ¯å¦å å«å±æ§ * @return æ¾ç¤ºå¯¹è±¡ */ List<CodeClstemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClstemplateEntity> codeClstemplateEntitys, boolean hasAttr); List<CodeClassifyTemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClassifyTemplate> codeClassifyTemplates, boolean hasAttr); /** * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeClstemplateEntity æ°æ®å¯¹è±¡ * @param codeClassifyTemplate æ°æ®å¯¹è±¡ * @return æ¾ç¤ºå¯¹è±¡ */ CodeClstemplateVO codeClassifyTemplateDO2VO(CodeClstemplateEntity codeClstemplateEntity); CodeClassifyTemplateVO codeClassifyTemplateDO2VO(CodeClassifyTemplate codeClassifyTemplate); // /** // * å类模æ¿å表 @@ -98,7 +98,7 @@ * @param codeClstemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ï¼å¿ é¡»è¦æoidåts屿§ * @return æ§è¡ç»æ success为true为å¯ä»¥å é¤ï¼falseè¡¨ç¤ºææ°æ®å¼ç¨ï¼obj为true表示æä¸çº§ */ R checkIsCanDelete(CodeClstemplateDTO codeClstemplateDTO); R checkIsCanDelete(CodeClassifyTemplateDTO codeClstemplateDTO); /** * æ£æ¥æ¯å¦æä¸çº§æ¯å¦å ³èäºæ°æ® @@ -121,21 +121,21 @@ * @param codeClstemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ * @return å é¤ç»æåé¦ï¼ï¼successï¼æåï¼failï¼å¤±è´¥ */ R deleteCodeClassifyTemplate(CodeClstemplateDTO codeClstemplateDTO); R deleteCodeClassifyTemplate(CodeClassifyTemplateDTO codeClstemplateDTO); /** * 主é®è·åå类模æ¿å¯¹è±¡ * @param oid ä¸»é® * @return å类模æ¿å¯¹è±¡æ¾ç¤ºå¯¹è±¡ */ CodeClstemplateVO getObjectByOid(String oid) ; CodeClassifyTemplateVO getObjectByOid(String oid) ; /** * 䏻鮿¹éè·åå类模æ¿å¯¹è±¡ * @param oidCollections 主é®éåï¼ä½æ¯åæ§è½å½±åï¼å»ºè®®ä¸æ¬¡æ¥è¯¢ä¸è¶ è¿10000个 * @return å类模æ¿å¯¹è±¡æ¾ç¤ºå¯¹è±¡ */ Collection<CodeClstemplateVO> listCodeClassifyTemplateByOids(List<String> oidCollections); Collection<CodeClassifyTemplateVO> listCodeClassifyTemplateByOids(List<String> oidCollections); /** @@ -156,40 +156,40 @@ /** * åç */ R Upgrade(CodeClstemplateDTO codeClassifyDTO); R Upgrade(CodeClassifyTemplateDTO codeClassifyDTO); /** * 模æ¿å é */ R copyTemplate(CodeClstemplateDTO codeClassifyDTO); R copyTemplate(CodeClassifyTemplateDTO codeClassifyDTO); /** * å类模æ¿å表 * @param plCodeClstemplate æ¥è¯¢æ¡ä»¶ * @param query å页对象 * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页对象 * @return æ¾ç¤ºå¯¹è±¡ */ DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(CodeClstemplateVO plCodeClstemplate, Query query); DataGrid<CodeClassifyTemplateVO> gridCodeClassifyTemplate(Map<String, String> conditionMap, PageHelper pageHelper); /** * å¢å å类模æ¿å¯¹è±¡ * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ R<CodeClstemplateVO> addSave(CodeClstemplateDTO codeClassifyTemplateDTO); R<CodeClassifyTemplateVO> addSave(CodeClassifyTemplateDTO codeClassifyTemplateDTO); /** * ä¿®æ¹å类模æ¿å¯¹è±¡ * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ R<CodeClstemplateVO> editSave(CodeClstemplateDTO codeClassifyTemplateDTO); R<CodeClassifyTemplateVO> editSave(CodeClassifyTemplateDTO codeClassifyTemplateDTO); /** * è·åææååç±»æ¨¡æ¿ * @param codeClassifyOid ç¶åç±»çä¸»é® * @return true表示ç¸å */ List<CodeClstemplateVO> childTemplates(String codeClassifyOid); List<CodeClassifyTemplateVO> childTemplates(String codeClassifyOid); /** * 使ç¨ä¸»é¢åºçå类主é®ï¼è·åçæçæ¨¡æ¿ @@ -197,14 +197,14 @@ * @param hasAttribute æ¯å¦å å«å±æ§ * @return 模æ¿çä¿¡æ¯ */ List<CodeClstemplateVO> listReleaseTemplateByClassifyOid(String codeClassifyOid,boolean hasAttribute); List<CodeClassifyTemplateVO> listReleaseTemplateByClassifyOid(String codeClassifyOid,boolean hasAttribute); /** * ç¨æ¨¡æ¿ççæ¬æ¥æåº * @param templateVOList 模æ¿çæ¾ç¤ºå¯¹è±¡ * @return æåºåçå表 */ List<CodeClstemplateVO> sortTemplateByRevision(List<CodeClstemplateVO> templateVOList); List<CodeClassifyTemplateVO> sortTemplateByRevision(List<CodeClassifyTemplateVO> templateVOList); /** @@ -212,7 +212,7 @@ * @param templateOid ä¸»é® * @return å类模æ¿å¯¹è±¡æ¾ç¤ºå¯¹è±¡ */ CodeClstemplateVO getObjectHasAttrByOid(String templateOid); CodeClassifyTemplateVO getObjectHasAttrByOid(String templateOid); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeKeyAttrRepeatService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeKeyattrrepeatService.java ÐÞ¸Ä @@ -17,8 +17,8 @@ package com.vci.ubcs.code.service; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO; import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -31,7 +31,7 @@ * @author yuxc * @since 2023-04-03 */ public interface ICodeKeyattrrepeatService { public interface ICodeKeyAttrRepeatService { /** * èªå®ä¹å页 @@ -40,7 +40,7 @@ * @param plCodeKeyattrrepeat * @return */ IPage<CodeKeyattrrepeatVO> selectPlCodeKeyattrrepeatPage(IPage<CodeKeyattrrepeatVO> page, CodeKeyattrrepeatVO plCodeKeyattrrepeat); IPage<CodeKeyAttrRepeatVO> selectPlCodeKeyattrrepeatPage(IPage<CodeKeyAttrRepeatVO> page, CodeKeyAttrRepeatVO plCodeKeyattrrepeat); /** * 䏻鮿¹éè·åå ³é®æ°æ®æ¥éè§å @@ -52,24 +52,24 @@ /** * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeKeyattrrepeatEntityS æ°æ®å¯¹è±¡å表 * @param codeKeyAttrRepeats æ°æ®å¯¹è±¡å表 * @return æ¾ç¤ºå¯¹è±¡ */ List<CodeKeyAttrRepeatRuleVO> codeKeyAttrRepeatRuleDO2VOs(Collection<CodeKeyattrrepeatEntity> codeKeyattrrepeatEntityS); List<CodeKeyAttrRepeatRuleVO> codeKeyAttrRepeatRuleDO2VOs(Collection<CodeKeyAttrRepeat> codeKeyAttrRepeats); /** * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeKeyattrrepeatEntity æ°æ®å¯¹è±¡ * @param codeKeyAttrRepeat æ°æ®å¯¹è±¡ * @return æ¾ç¤ºå¯¹è±¡ */ CodeKeyAttrRepeatRuleVO codeKeyAttrRepeatRuleDO2VO(CodeKeyattrrepeatEntity codeKeyattrrepeatEntity); CodeKeyAttrRepeatRuleVO codeKeyAttrRepeatRuleDO2VO(CodeKeyAttrRepeat codeKeyAttrRepeat); /** * 使ç¨åç±»çå ¨é¨ä¿¡æ¯æ¥è·åå ³é®å±æ§å¤æè§åçå 容 * @param classifyFullInfo 主é¢åºåç±»çå ¨é¨ä¿¡æ¯ * @return è§åçæ¾ç¤ºå¯¹è±¡ */ CodeKeyattrrepeatVO getRuleByClassifyFullInfo(CodeClassifyFullInfoBO classifyFullInfo); CodeKeyAttrRepeatVO getRuleByClassifyFullInfo(CodeClassifyFullInfoBO classifyFullInfo); /** * 主é®è·åå ³é®æ°æ®æ¥éè§å Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -2,15 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.dto.datapush.BaseModelDTO; import com.vci.ubcs.code.entity.CodeAllCode; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import java.util.List; /** * ä¸»æ°æ®å¼ææå¡ @@ -18,46 +10,117 @@ * @date 2022-2-21 */ public interface MdmEngineService extends IService<CodeAllCode> { /** * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ * @param codeClassifyOid åç±»çä¸»é® * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ */ CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid); /** * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ * @param codeClassifyOid åç±»çä¸»é® * @param hasAttr å å«å±æ§ * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ */ CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr); /** * è·åæä¸¾ç䏿é项 * @param attrVO 模æ¿å±æ§ç对象 * @return 䏿é项 */ List<KeyValue> listComboboxItems(CodeClassifyTemplateAttrVO attrVO); /** * ä¿®æ¹ç¶æ * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ */ void changeStatus(BaseModelDTO baseModelDTO); /** * ç³è¯·åä¸ç¼ç * @param orderDTO ç³è¯·çä¿¡æ¯ï¼éè¦å å«å±æ§çå 容åç æ®µç¸å ³çå 容 * @return è¿åç¼ç çå 容 */ String addSaveCode(CodeOrderDTO orderDTO); /** * 夿ç¼ç çç æ®µæ¯å¦è¾å ¥æè éæ©äºç å¼ * @param ruleVO è§åçæ¾ç¤ºå¯¹è±¡ * @param orderDTO ç¼ç ç³è¯·çå 容 */ void checkSecValueOnOrder(CodeRuleVO ruleVO, CodeOrderDTO orderDTO); // /** // * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ // * @param codeClassifyOid åç±»çä¸»é® // * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ // */ // CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid); // // /** // * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ // * @param codeClassifyOid åç±»çä¸»é® // * @param hasAttr å å«å±æ§ // * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ // */ // CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr); // // /** // * è·åæä¸¾ç䏿é项 // * @param attrVO 模æ¿å±æ§ç对象 // * @return 䏿é项 // */ // List<KeyValue> listComboboxItems(CodeClassifyTemplateAttrVO attrVO); // // /** // * ä¿®æ¹ç¶æ // * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ // */ // void changeStatus(BaseModelDTO baseModelDTO); // // /** // * ç³è¯·åä¸ç¼ç // * @param orderDTO ç³è¯·çä¿¡æ¯ï¼éè¦å å«å±æ§çå 容åç æ®µç¸å ³çå 容 // * @return è¿åç¼ç çå 容 // */ // String addSaveCode(CodeOrderDTO orderDTO); // // /** // * 夿ç¼ç çç æ®µæ¯å¦è¾å ¥æè éæ©äºç å¼ // * @param ruleVO è§åçæ¾ç¤ºå¯¹è±¡ // * @param orderDTO ç¼ç ç³è¯·çå 容 // */ // void checkSecValueOnOrder(CodeRuleVO ruleVO, CodeOrderDTO orderDTO); // // /** // * å°è£ å ³é®å±æ§çæ¥è¯¢è¯å¥ // * // * @param value å½åçå¼ // * @param keyRuleVO å ³é®å±æ§çæ§å¶è§åï¼å¯ä»¥ä¸ºç©º // * @param attrId 屿§çç¼å· // * @param trim æ¯å¦å»é¤ç©ºæ ¼ // * @param ignoreCase æ¯å¦ä¸åºå大å°å // * @param ignoreWidth æ¯å¦å¿½ç¥å ¨åè§ // * @param trimAll æ¯å¦å¿½ç¥å ¨é¨ç©ºæ ¼ // * @param conditionMap æ¥è¯¢æ¡ä»¶ // */ // void wrapperKeyAttrConditionMap(String value, CodeKeyattrrepeatVO keyRuleVO, String attrId, // boolean trim, boolean ignoreCase, boolean ignoreWidth, // boolean trimAll, Map<String, String> conditionMap); // /** // * åå§åä¸å¡ç±»å // * --å建人é»è®¤ä¸ºå½åç¨æ·ï¼å¦æéè¦ä¿®æ¹ï¼å¯ä»¥å¨è·ååèªè¡å¤ç // * @param btmName ä¸å¡ç±»åçåç§°ï¼ä¼èªå¨åæå°å // * @return CodeWupinEntity // * @throws VciBaseException åå§ååºéçæ¯ä¼æåºå¼å¸¸ // */ // CodeWupinEntity createCBOByBtmName(String btmName); // // /** // * ä¿åå¯è¾å¯éçä¿¡æ¯ // * // * @param templateVO 模æ¿ç对象 // * @param cboList æ°æ®çå 容 // */ // void batchSaveSelectChar(CodeClstemplateVO templateVO, /*List<ClientBusinessObject> cboList*/ // List<String> cboList); // // /** // * ä½¿ç¨æ¨¡æ¿ç主é®è·å表åçä¿¡æ¯ // * @param templateOid 模æ¿çä¸»é® // * @param codeClassifyOid ä½¿ç¨æ¨¡æ¿çåç±»çä¸»é® // * @return uiç¸å ³çå 容 // */ // MdmUIInfoVO getFormDefineByTemplateOid(String templateOid, String codeClassifyOid); // // /** // * 模æ¿å±æ§è½¬æ¢ä¸ºè¡¨åçåæ®µ // * // * @param attrVO 模æ¿å±æ§ // * @param btmType ä¸å¡ç±»å // * @return 表åçåæ®µ // */ // UIFormItemVO templateAttr2FormField(CodeClstempattrVO attrVO, String btmType) ; // // /** // * 模æ¿å±æ§è½¬æ¢ä¸ºè¡¨æ ¼æ¾ç¤ºçé ç½® // * // * @param attrVO 模æ¿å±æ§ // * @param forEdit æ¯å¦æ¯ç¼è¾æé // * @return è¡¨æ ¼çåæ®µ // */ // UITableFieldVO templateAttr2TableField(CodeClstempattrVO attrVO, boolean forEdit); // // /** // * ç¸ä¼¼é¡¹æ¥è¯¢ // * @param orderDTO ç¼ç çç¸å ³ä¿¡æ¯ // * @return æ°æ®å表 // */ // DataGrid<Map<String, String>> resembleQuery(CodeOrderDTO orderDTO); // // /** // * ä¿®æ¹ä¸»é¢åºæ°æ® // * @param orderDTO æ°æ®çå 容ï¼ä¸ç¨å å«ç 段çå å®¹äº // */ // void editSaveCode(CodeOrderDTO orderDTO); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
@@ -6,20 +6,20 @@ import java.io.File; public interface MdmIOService { /** * çæå¯¼å ¥çæä»¶ * @param codeClassifyOid åç±»çä¸»é® * @param isHistory æ¯å¦å岿°æ®å¯¼å ¥ * @return excelçæä»¶å°å */ String createImportExcel(String codeClassifyOid,boolean isHistory); /** * æ¹éç³è¯·ç¼ç æ°æ® * @param orderDTO ç¼ç ç³è¯·ä¿¡æ¯ï¼å¿ é¡»å å«å类主é®åç æ®µçä¿¡æ¯ * @param file excelæä»¶çä¿¡æ¯ * @return æé误信æ¯çexcel */ CodeImProtRusultVO batchImportCode(CodeOrderDTO orderDTO, File file); // // /** // * çæå¯¼å ¥çæä»¶ // * @param codeClassifyOid åç±»çä¸»é® // * @param isHistory æ¯å¦å岿°æ®å¯¼å ¥ // * @return excelçæä»¶å°å // */ // String createImportExcel(String codeClassifyOid,boolean isHistory); // // /** // * æ¹éç³è¯·ç¼ç æ°æ® // * @param orderDTO ç¼ç ç³è¯·ä¿¡æ¯ï¼å¿ é¡»å å«å类主é®åç æ®µçä¿¡æ¯ // * @param file excelæä»¶çä¿¡æ¯ // * @return æé误信æ¯çexcel // */ // CodeImProtRusultVO batchImportCode(CodeOrderDTO orderDTO, File file); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmProductCodeService.java
@@ -3,7 +3,7 @@ import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.dto.CodeOrderSecDTO; import com.vci.ubcs.code.entity.CodeWupinEntity; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import java.util.List; @@ -17,7 +17,7 @@ * @param secDTOList åä¸ªç æ®µçå¼ * @param dataCBOList ä¸å¡æ°æ® */ List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClstemplateVO templateVO, List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<CodeWupinEntity> dataCBOList); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyProcessTempServiceImpl.java
@@ -6,8 +6,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.core.JsonParser; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.CodeClassifyProcessTempDTO; import com.vci.ubcs.code.entity.CodeClassifyProcessTemp; @@ -15,7 +13,6 @@ import com.vci.ubcs.code.service.ICodeClassifyProcessTempService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyProcessTempVO; import com.vci.ubcs.code.wrapper.CodeClassifyProcessTempWrapper; import com.vci.ubcs.common.utils.PageDO2PageVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; @@ -33,12 +30,10 @@ import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.sql.Wrapper; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*; import static com.vci.ubcs.code.constant.MdmBtmTypeConstant.CODE_CLASSIFY_PROCESS_TEMPLATE; /** * å类使ç¨çæµç¨æ¨¡æ¿æå¡æ¥å£ @@ -362,4 +357,25 @@ return count; } /** * 模æ¿å é¤çæ¶å触å * * @param classifyTemplateOid 模æ¿çä¸»é® * @return åå½±åçå 容 */ @Override public int codeTemplateDeleteTrigger(String classifyTemplateOid) { int updateCount = 0; if(com.alibaba.nacos.api.utils.StringUtils.isBlank(classifyTemplateOid)){ Map<String,Object> conditionMap = new HashMap<>(); conditionMap.put("classifyTemplateOid",classifyTemplateOid); List<CodeClassifyProcessTemp> codeClsflowtempEntities = baseMapper.selectByMap(conditionMap); if(!CollectionUtils.isEmpty(codeClsflowtempEntities)){ updateCount += baseMapper.deleteBatchIds(codeClsflowtempEntities.stream() .map(CodeClassifyProcessTemp::getOid).collect(Collectors.toList())); } } return updateCount; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -7,17 +7,17 @@ import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.entity.CodeClassifyTemplate; import com.vci.ubcs.code.entity.CodeOsbtmtypeEntity; import com.vci.ubcs.code.entity.CodeOsbtmtypeattributeEntity; import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; import com.vci.ubcs.code.mapper.CodeClassifyMapper; import com.vci.ubcs.code.mapper.CodeClstemplateMapper; import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper; import com.vci.ubcs.code.mapper.CodeOsbtmtypeMapper; import com.vci.ubcs.code.mapper.CodeOsbtmtypeattributeMapper; import com.vci.ubcs.code.po.CodeClassifyPO; import com.vci.ubcs.code.service.ICodeClassifyService; import com.vci.ubcs.code.service.ICodeKeyattrrepeatService; import com.vci.ubcs.code.service.ICodeKeyAttrRepeatService; import com.vci.ubcs.code.service.ICodeRuleService; import com.vci.ubcs.code.vo.CodeOsattributeVO; import com.vci.ubcs.code.vo.CodeOsbtmtypeVO; @@ -44,7 +44,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.log.exception.ServiceException; import com.vci.ubcs.core.log.exception.ServiceException; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; @@ -66,7 +66,7 @@ private CodeClassifyMapper codeClassifyMapper; @Resource private CodeClstemplateMapper codeClstemplateMapper; private CodeClassifyTemplateMapper codeClassifyTemplateMapper; @Resource private ICodeRuleService codeRuleService; @@ -89,7 +89,7 @@ private RevisionModelUtil revisionModelUtil; @Resource private ICodeKeyattrrepeatService iCodeKeyattrrepeatService; private ICodeKeyAttrRepeatService iCodeKeyattrrepeatService; /** * ä¸çº§èç¹ç屿§åç§° */ @@ -276,7 +276,7 @@ //å ç®ç§°æ¯å¦æå ³è模æ¿ï¼ææ¨¡æ¿è¦å å é¤ Map<String,Object> condition = new HashMap<>(2); condition.put("codeClassifyOid",codeClassify.getOid()); List<CodeClstemplateEntity> codeClstemplateEntities = codeClstemplateMapper.selectByMap(condition); List<CodeClassifyTemplate> codeClstemplateEntities = codeClassifyTemplateMapper.selectByMap(condition); // VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateDO.class); // queryWrapper.addQueryMap("codeClassifyOid",codeClassifyDTO.getOid()); // List<CodeClassifyTemplateDO> codeClassifyTemplateDOListHaveTemplate = codeClassifyTemplateMapper.selectByWrapper(queryWrapper); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -1,33 +1,51 @@ package com.vci.ubcs.code.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.CodeClassifyTemplateAttrDTO; import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.entity.CodeClassifyTemplate; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper; import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper; import com.vci.ubcs.code.mapper.CodeOsbtmtypeattributeMapper; import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.service.ICodeTempphaseService; import com.vci.ubcs.code.vo.CodeOsbtmtypeattributeVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.wrapper.CodeClstempattrWrapper; import com.vci.ubcs.common.utils.PageDO2PageVO; import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.util.Map2MPLLambdaUtil; import com.vci.ubcs.starter.util.MybatisParameterUtil; 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.DataGrid; import com.vci.ubcs.starter.web.pagemodel.PageHelper; 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.context.annotation.Lazy; 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 static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST; /** * 主é¢åºåç±»çæ¨¡æ¿å±æ§æå¡ @@ -42,6 +60,25 @@ */ @Resource private CodeClassifyTemplateAttrMapper codeClassifyTemplateAttrMapper; // @Resource // CodeClstempattrMapper codeClstempattrMapper; // @Resource // ICodeTempphaseService codeTempphaseService; @Resource IDictBizClient iDictBizClient; @Resource CodeClassifyTemplateMapper codeClassifyTemplateMapper; @Resource CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper; @Resource @Lazy ICodeTempphaseService codeTempphaseService; /** * 对象çæä½ */ @Autowired(required = false) private RevisionModelUtil revisionModelUtil; /** * æ¥è¯¢ææç主é¢åºåç±»çæ¨¡æ¿å±æ§ @@ -70,25 +107,25 @@ IPage<CodeClassifyTemplateAttr> doList = codeClassifyTemplateAttrMapper.selectPage(Condition.getPage(query), mpjLambdaWrapper); IPage<CodeClassifyTemplateAttrVO> voList = new Page<>(); if (!CollectionUtils.isEmpty(doList.getRecords())) { voList = CodeClstempattrWrapper.build().pageVO(doList); voList = CodeClassifyTemplateAttrWrapper.build().pageVO(doList); } return voList; } /** * åç §ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§å表 * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåº * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表ï¼çæçå 容 * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ */ @Override public IPage<CodeClassifyTemplateAttrVO> refDataGridCodeClassifyTemplateAttr(Map<String, Object> conditionMap, PageHelper pageHelper) throws VciBaseException{ if(conditionMap == null){ conditionMap = new HashMap<String, Object>(); } return gridCodeClassifyTemplateAttr(Map2MPLLambdaUtil.getMPJLambdaWrapper(conditionMap, CodeClassifyTemplateAttr.class),pageHelper); } // /** // * åç §ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§å表 // * @param conditionMap æ¥è¯¢æ¡ä»¶ // * @param pageHelper å页åæåº // * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表ï¼çæçå 容 // * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ // */ // @Override // public IPage<CodeClassifyTemplateAttrVO> refDataGridCodeClassifyTemplateAttr(Map<String, Object> conditionMap, PageHelper pageHelper) throws VciBaseException{ // if(conditionMap == null){ // conditionMap = new HashMap<String, Object>(); // } // return gridCodeClassifyTemplateAttr(Map2MPLLambdaUtil.getMPJLambdaWrapper(conditionMap, CodeClassifyTemplateAttr.class),pageHelper); // } @Override public IPage<CodeClassifyTemplateAttrVO> selectCodeClstempattrPage(IPage<CodeClassifyTemplateAttrVO> page, CodeClassifyTemplateAttrVO CodeClstempattr) { @@ -158,6 +195,714 @@ return vo; } // @Override // public IPage<CodeClassifyTemplateAttrVO> selectCodeClstempattrPage(IPage<CodeClassifyTemplateAttrVO> page, CodeClassifyTemplateAttrVO CodeClstempattr) { // return page.setRecords(baseMapper.selectCodeClstempattrPage(page, CodeClstempattr)); // } // /** // * ä½¿ç¨æ¨¡æ¿ç主é®è·å模æ¿ç屿§--æ¹é // * // * @param templateOidCollection 模æ¿çä¸»é® // * @return 屿§çä¿¡æ¯ // */ // @Override // public List<CodeClassifyTemplateAttrVO> listCodeClassifyTemplateAttrByTemplateOids(Collection<String> templateOidCollection) { // if(CollectionUtils.isEmpty(templateOidCollection)){ // return new ArrayList<>(); // } // List<CodeClassifyTemplateAttr> attrDOList = new ArrayList<>(); // VciBaseUtil.switchCollectionForOracleIn(templateOidCollection).stream().forEach(templateOids->{ //// Map<String,String> conditionMap = new HashMap<>(); //// conditionMap.put("classifytemplateoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(templateOids.toArray(new String[0])) + ")"); //// PageHelper pageHelper = new PageHelper(-1); //// pageHelper.addDefaultAsc("orderNum"); // List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0]))); // // if(!CollectionUtils.isEmpty(attrDOS)){ // attrDOList.addAll(attrDOS); // } // }); // return codeClassifyTemplateAttrDO2VOs(attrDOList); // } // /** // * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ // * @param codeClassifyTemplateAttrDOs æ°æ®å¯¹è±¡å表 // * @return æ¾ç¤ºå¯¹è±¡ // */ // @Override // public List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrDO2VOs(Collection<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOs){ // List<CodeClassifyTemplateAttrVO> voList = new ArrayList<CodeClassifyTemplateAttrVO>(); // if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOs)){ // for(CodeClassifyTemplateAttr s: codeClassifyTemplateAttrDOs){ // CodeClassifyTemplateAttrVO vo = codeClassifyTemplateAttrDO2VO(s); // if(vo != null){ // voList.add(vo); // } // } // } // return voList; // } // /** // * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ // * @param codeClassifyTemplateAttrDO æ°æ®å¯¹è±¡ // * @return æ¾ç¤ºå¯¹è±¡ // */ // @Override // public CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO){ // CodeClassifyTemplateAttrVO vo = new CodeClassifyTemplateAttrVO(); // if(codeClassifyTemplateAttrDO != null){ // BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo); // //妿ælcstatusçç±»çè¯ // vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributeDataType())); // } // return vo; // } /** * æ¥è¯¢ææç主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåº * @return æ§è¡ç»æ */ @Override public DataGrid<CodeClassifyTemplateAttrVO> gridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) { DataGrid<CodeClassifyTemplateAttrVO> dataGrid=new DataGrid<CodeClassifyTemplateAttrVO>(); //没æä¼ éåæ°ï¼å°±ä¸æ§è¡æ¥è¯¢é»è¾ 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) CodeClassifyTemplateAttr codeClstempattrVO = new CodeClassifyTemplateAttr(); // BeanUtil.toBean(map,codeClstempattrVO); // BeanUtil BeanMap beanMap = BeanMap.create(codeClstempattrVO); beanMap.putAll(conditionMap); // Condition.getQueryWrapper( IPage<CodeClassifyTemplateAttr> 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 CodeClassifyTemplateAttrVO addSave(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO){ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"éè¦æ·»å çæ°æ®å¯¹è±¡"); //å°DTO转æ¢ä¸ºDO CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttr(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); baseMapper.insert(codeClassifyTemplateAttrDO); return codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO); } /** * æ¹éæ·»å * @param codeClassifyTemplateAttrDTOs æ°æ®ä¼ è¾å¯¹è±¡ * @return ä¿ååçæ¾ç¤ºå¯¹è±¡ */ @Override @Transactional public List<CodeClassifyTemplateAttrVO> batchAddSave(List<CodeClassifyTemplateAttrDTO> codeClassifyTemplateAttrDTOs) { if(CollectionUtils.isEmpty(codeClassifyTemplateAttrDTOs)){ return new ArrayList<>(); } //忿屿§çè±æåç§°ï¼ç¬¬ä¸ä¸ªéªè¯éè¦ç¨å° Map<String,CodeClassifyTemplateAttrDTO> 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<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOInsert = new ArrayList<CodeClassifyTemplateAttr>(); List<String> prefix = new ArrayList<>(); List<String> suffix = new ArrayList<>(); List<String> dateFormates = new ArrayList<>(); for (CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO:codeClassifyTemplateAttrDTOs){ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"éè¦æ·»å çæ°æ®å¯¹è±¡"); //å°DTO转æ¢ä¸ºDO CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttr(); 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 CodeClassifyTemplateAttrDTO()).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<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDODelete = baseMapper.selectByMap(condition); //oids List<String> oids = new ArrayList<String>(); for (CodeClassifyTemplateAttr 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(CodeClassifyTemplateAttrDTO 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 CodeClassifyTemplateAttr codeClassifyTemplateAttrDOCopyFromDTO = new CodeClassifyTemplateAttr(); // 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()); CodeClassifyTemplateAttr detail = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); if(!detail.getTs().toString().equals(codeClassifyTemplateAttrDTO.getTs().toString())){//䏿¯ææ°çä¸è®©æ¹ return R.fail("å½åæ°æ®ä¸æ¯ææ°ï¼è¯·å·æ°ååä¿®æ¹ï¼"); } //å°DTO转æ¢ä¸ºDO CodeClassifyTemplateAttr 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(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®å¯¹è±¡",codeClassifyTemplateAttrDTO.getOid(),"主é¢åºåç±»çæ¨¡æ¿å±æ§ç主é®"); CodeClassifyTemplateAttr 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(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO, CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) { // boService.checkTs(codeClassifyTemplateAttrDO); // Map<String,Object> condition = new HashMap<>(2); // condition.put("oid",codeClassifyTemplateAttrDTO.getOid()); // condition.put("ts",codeClassifyTemplateAttrDTO.getTs()); CodeClassifyTemplateAttr 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 CodeClassifyTemplateAttrVO getObjectByOid(String oid) throws VciBaseException{ return codeClassifyTemplateAttrDO2VO(selectByOid(oid)); } /** * 䏻鮿¥è¯¢æ°æ®å¯¹è±¡ * @param oid ä¸»é® * @return æ°æ®å¯¹è±¡ * @throws VciBaseException åæ°ä¸ºç©ºï¼å¹¶ä¸æ°æ®ä¸åå¨çæ¶å伿åºå¼å¸¸ */ private CodeClassifyTemplateAttr selectByOid(String oid) throws VciBaseException{ VciBaseUtil.alertNotNull(oid,"主é®"); CodeClassifyTemplateAttr 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<CodeClassifyTemplateAttrVO> listCodeClassifyTemplateAttrByOids(Collection<String> oidCollections) { VciBaseUtil.alertNotNull(oidCollections,"æ°æ®å¯¹è±¡ä¸»é®éå"); List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = listCodeClassifyTemplateAttrDOByOidCollections(oidCollections); return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOList); } /** * 使ç¨ä¸»é®éåæ¥è¯¢æ°æ®å¯¹è±¡ * @param oidCollections 主é®çéå * @return æ°æ®å¯¹è±¡å表 */ private List<CodeClassifyTemplateAttr> listCodeClassifyTemplateAttrDOByOidCollections(Collection<String> oidCollections){ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = new ArrayList<CodeClassifyTemplateAttr>(); if(!CollectionUtils.isEmpty(oidCollections)){ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); for(Collection<String> oids: oidCollectionsList){ List<CodeClassifyTemplateAttr> tempDOList = baseMapper.selectBatchIds(oids); if(!CollectionUtils.isEmpty(tempDOList)){ codeClassifyTemplateAttrDOList.addAll(tempDOList); } } } return codeClassifyTemplateAttrDOList; } /** * åç §ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§å表 * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåº * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表ï¼çæçå 容 * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ */ @Override public DataGrid<CodeClassifyTemplateAttrVO> 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; } //æ¥è¯¢æ¨¡æ¿å¯¹è±¡ CodeClassifyTemplate codeClassifyTemplateDO = codeClassifyTemplateMapper.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<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = baseMapper.selectByMap(condition); List<String> btmOids = new ArrayList<String>(); for (CodeClassifyTemplateAttr 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; } //æ¥è¯¢æ¨¡æ¿å¯¹è±¡ CodeClassifyTemplate codeClassifyTemplateDO = codeClassifyTemplateMapper.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<CodeClassifyTemplateAttr> wrapper=new QueryWrapper<>(); wrapper.eq("CLASSIFYTEMPLATEOID",templateAttrOid); List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = baseMapper.selectList(wrapper); List<String> btmOids = new ArrayList<String>(); for (CodeClassifyTemplateAttr 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(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ String templateAttrOid = codeClassifyTemplateAttrDTO.getOid(); //æ¥è¯¢åºæ¥è¦å¤å¶ç对象 CodeClassifyTemplateAttr 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<CodeClassifyTemplateAttr> wrapper=new QueryWrapper<>(); wrapper.eq("id",id); //ææid=idçæ¨¡æ¿å±æ§ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList =baseMapper.selectList(wrapper); //è¦å é¤ç模æ¿å±æ§çoids List<String> deleteOids = new ArrayList<String>(); //è¦ä¿®æ¹ç模æ¿å±æ§å¯¹è±¡ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOListInsert = new ArrayList<CodeClassifyTemplateAttr>(); for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDOi:codeClassifyTemplateAttrDOList){ String oid = codeClassifyTemplateAttrDOi.getOid(); String templateOldOid = codeClassifyTemplateAttrDOi.getClassifyTemplateOid(); CodeClassifyTemplateAttr codeClassifyTemplateAttrDOInsert = new CodeClassifyTemplateAttr(); 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); baseMapper.deleteBatchIds(deleteOids); //åæ°å¢ // BatchCBO batchCBOTemplateAttrInsert = codeClassifyTemplateAttrMapper.batchInsert(codeClassifyTemplateAttrDOListInsert); // batchCBOTemplateAttrDelete.copyFromOther(batchCBOTemplateAttrInsert); this.saveBatch(codeClassifyTemplateAttrDOListInsert); // WebUtil.setPersistence(true);//æ§è¡ä¿å // boService.persistenceBatch(batchCBOTemplateAttrDelete);//ä¸èµ·æ§è¡ä¿å return R.success("æä½æåï¼"); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClsflowtempServiceImpl.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -21,21 +21,23 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant; import com.vci.ubcs.code.dto.CodeClstemplateDTO; import com.vci.ubcs.code.dto.CodeClassifyTemplateDTO; import com.vci.ubcs.code.entity.*; 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.ICodeClassifyProcessTempService; import com.vci.ubcs.code.service.ICodeClassifyService; import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.service.ICodeClstemplateService; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; 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.PageHelper; import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; @@ -45,6 +47,7 @@ import org.springblade.core.tool.api.R; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cglib.beans.BeanMap; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -64,7 +67,7 @@ * @since 2023-04-10 */ @Service public class CodeClstemplateServiceImpl extends ServiceImpl<CodeClstemplateMapper, CodeClstemplateEntity> implements ICodeClstemplateService { public class CodeClstemplateServiceImpl extends ServiceImpl<CodeClassifyTemplateMapper, CodeClassifyTemplate> implements ICodeClstemplateService { /** * 模æ¿å±æ§çæå¡ @@ -86,9 +89,9 @@ @Autowired(required = false) private CodeTempbuttonServiceImpl codeTempbuttonServiceImpl; @Autowired(required = false) private CodeClsflowtempServiceImpl codeClsflowtempServiceImpl; @Autowired(required = false) private CodeClsflowtempMapper codeClsflowtempMapper; private ICodeClassifyProcessTempService codeClsflowtempServiceImpl; // @Autowired(required = false) // private CodeClsflowtempMapper codeClsflowtempMapper; @Autowired(required = false) private CodeTemplatePhaseMapper codeTempphaseMapper; @Autowired(required = false) @@ -100,12 +103,12 @@ @Autowired(required = false) private ICodeClassifyService codeClassifyService; @Autowired(required = false) private CodeClstemplateMapper codeClstemplateMapper; private CodeClassifyTemplateMapper codeClassifyTemplateMapper; @Autowired(required = false) private CodePhaseAttrServiceImpl codePhaseattrServiceImpl; @Override public IPage<CodeClstemplateVO> selectPlCodeClstemplatePage(IPage<CodeClstemplateVO> page, CodeClstemplateVO plCodeClstemplate) { public IPage<CodeClassifyTemplateVO> selectPlCodeClstemplatePage(IPage<CodeClassifyTemplateVO> page, CodeClassifyTemplateVO plCodeClstemplate) { return page.setRecords(baseMapper.selectPlCodeClstemplatePage(page, plCodeClstemplate)); } @@ -116,12 +119,12 @@ */ @Override public List<Tree> treeCodeClassifyTemplate(TreeQueryObject treeQueryObject) { List<CodeClstemplateEntity> doList =selectCodeClassifyTemplateDOByTree(treeQueryObject); List<CodeClassifyTemplate> doList =selectCodeClassifyTemplateDOByTree(treeQueryObject); List<CodeClstemplateVO> voList = codeClassifyTemplateDO2VOs(doList); List<CodeClassifyTemplateVO> voList = codeClassifyTemplateDO2VOs(doList); TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME); treeWrapperOptions.copyFromTreeQuery(treeQueryObject); return revisionModelUtil.doList2Trees(voList,treeWrapperOptions,(CodeClstemplateVO s) ->{ return revisionModelUtil.doList2Trees(voList,treeWrapperOptions,(CodeClassifyTemplateVO s) ->{ //å¯ä»¥å¨è¿éå¤çæ èç¹çæ¾ç¤º return s.getId() + " " + s.getName() + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s .getLcStatus()) ? (" ãåç¨ã ") : ""); @@ -135,7 +138,7 @@ * @return æ¥è¯¢ç»æ,æ°æ®å¯¹è±¡ */ @Override public List<CodeClstemplateEntity> selectCodeClassifyTemplateDOByTree(TreeQueryObject treeQueryObject) { public List<CodeClassifyTemplate> selectCodeClassifyTemplateDOByTree(TreeQueryObject treeQueryObject) { // VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(null,CodeClassifyTemplateDO.class); // VciParentQueryOption parentQueryOption = new VciParentQueryOption(); // parentQueryOption.setParentFieldName(PARENT_FIELD_NAME); @@ -155,7 +158,7 @@ * @return æ¾ç¤ºå¯¹è±¡ */ @Override public List<CodeClstemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClstemplateEntity> codeClassifyTemplateDOs) { public List<CodeClassifyTemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClassifyTemplate> codeClassifyTemplateDOs) { return codeClassifyTemplateDO2VOs(codeClassifyTemplateDOs,false); } @@ -166,11 +169,11 @@ * @return æ¾ç¤ºå¯¹è±¡ */ @Override public List<CodeClstemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClstemplateEntity> codeClassifyTemplateDOs,boolean hasAttr) { List<CodeClstemplateVO> voList = new ArrayList<CodeClstemplateVO>(); public List<CodeClassifyTemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClassifyTemplate> codeClassifyTemplateDOs, boolean hasAttr) { List<CodeClassifyTemplateVO> voList = new ArrayList<CodeClassifyTemplateVO>(); if(!CollectionUtils.isEmpty(codeClassifyTemplateDOs)){ for(CodeClstemplateEntity s: codeClassifyTemplateDOs){ CodeClstemplateVO vo = codeClassifyTemplateDO2VO(s); for(CodeClassifyTemplate s: codeClassifyTemplateDOs){ CodeClassifyTemplateVO vo = codeClassifyTemplateDO2VO(s); if(vo != null){ voList.add(vo); } @@ -178,7 +181,7 @@ } if(hasAttr){ //ä¸ä¸ªåç±»é颿»ä¸è½è¶ è¿1000个çæççæ¬å§ï¼ï¼ï¼ VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClstemplateVO::getOid).collect(Collectors.toList())).forEach(tempOids->{ VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClassifyTemplateVO::getOid).collect(Collectors.toList())).forEach(tempOids->{ List<CodeClassifyTemplateAttrVO> attrVOList = codeClstempattrService.listCodeClassifyTemplateAttrByTemplateOids(tempOids); if(!CollectionUtils.isEmpty(attrVOList)){ @@ -186,7 +189,11 @@ voList.stream().forEach(templateVO->{ if(attrVOMap.containsKey(templateVO.getOid())){ templateVO.setAttributes(attrVOMap.get(templateVO.getOid())); List<CodeClassifyTemplateAttrVO> codeClstempattrVO = new ArrayList<>(); for (CodeClassifyTemplateAttrVO codeClassifyTemplateAttrVO : attrVOMap.get(templateVO.getOid())) { codeClstempattrVO.add(codeClassifyTemplateAttrVO); } templateVO.setAttributes(codeClstempattrVO); } }); } @@ -201,8 +208,8 @@ * @return æ¾ç¤ºå¯¹è±¡ */ @Override public CodeClstemplateVO codeClassifyTemplateDO2VO(CodeClstemplateEntity codeClassifyTemplateDO) { CodeClstemplateVO vo = new CodeClstemplateVO(); public CodeClassifyTemplateVO codeClassifyTemplateDO2VO(CodeClassifyTemplate codeClassifyTemplateDO) { CodeClassifyTemplateVO vo = new CodeClassifyTemplateVO(); if(codeClassifyTemplateDO != null){ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDO,vo); //妿ælcstatusçç±»çè¯ @@ -218,37 +225,37 @@ * @return æ§è¡ç»æ success为true为å¯ä»¥å é¤ï¼falseè¡¨ç¤ºææ°æ®å¼ç¨ï¼obj为true表示æä¸çº§ */ @Override public R checkIsCanDelete(CodeClstemplateDTO codeClstemplateDTO) { public R checkIsCanDelete(CodeClassifyTemplateDTO codeClstemplateDTO) { VciBaseUtil.alertNotNull(codeClstemplateDTO,"æ°æ®ä¼ è¾å¯¹è±¡",codeClstemplateDTO.getOid(),"主é®"); CodeClstemplateEntity codeClstemplateEntity = baseMapper.selectById(codeClstemplateDTO.getOid()); return checkIsCanDeleteForDO(codeClstemplateDTO,codeClstemplateEntity); CodeClassifyTemplate codeClassifyTemplate = baseMapper.selectById(codeClstemplateDTO.getOid()); return checkIsCanDeleteForDO(codeClstemplateDTO, codeClassifyTemplate); } /** * æ ¡éªæ¯å¦å¯ä»¥å é¤ï¼å¦æåå¨ä¸çº§ï¼å¹¶ä¸ä¸çº§ææ°æ®å¼ç¨åä¸è½å é¤ * @param codeClstemplateDTO æ°æ®ä¼ è¾å¯¹è±¡ * @param codeClstemplateEntity æ°æ®åºä¸çæ°æ®å¯¹è±¡ * @param codeClassifyTemplate æ°æ®åºä¸çæ°æ®å¯¹è±¡ * @return success为true为å¯ä»¥å é¤ï¼falseè¡¨ç¤ºææ°æ®å¼ç¨ï¼obj为true表示æä¸çº§ */ private R checkIsCanDeleteForDO(CodeClstemplateDTO codeClstemplateDTO, CodeClstemplateEntity codeClstemplateEntity) { CodeClstemplateEntity codeClassifyTemplateDOCopyFromDTO = new CodeClstemplateEntity(); private R checkIsCanDeleteForDO(CodeClassifyTemplateDTO codeClstemplateDTO, CodeClassifyTemplate codeClassifyTemplate) { CodeClassifyTemplate codeClassifyTemplateDOCopyFromDTO = new CodeClassifyTemplate(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClstemplateDTO,codeClassifyTemplateDOCopyFromDTO); //æ£æ¥ts // Map<String,Object> condition = new HashMap<>(2); // condition.put("oid",codeClstemplateDTO.getOid()); // condition.put("ts",codeClstemplateDTO.getTs()); CodeClstemplateEntity detail = baseMapper CodeClassifyTemplate detail = baseMapper .selectById(codeClstemplateDTO.getOid()); if(!detail.getTs().toString().equals(codeClstemplateDTO.getTs().toString())){//䏿¯ææ°çä¸è®©æ¹ return R.fail("å½åæ°æ®ä¸æ¯ææ°ï¼è¯·å·æ°ååä¿®æ¹ï¼"); } //æ ¡éªä¸çº§æ¯å¦æå¼ç¨ if(checkChildIsLinked(codeClstemplateEntity.getOid())){ if(checkChildIsLinked(codeClassifyTemplate.getOid())){ return R.fail(DATA_CASCADE_LINKED_NOT_DELETE); } return R.success(String.valueOf(checkHasChild(codeClstemplateEntity.getOid()))); return R.success(String.valueOf(checkHasChild(codeClassifyTemplate.getOid()))); } /** @@ -301,11 +308,11 @@ */ @Transactional @Override public R deleteCodeClassifyTemplate(CodeClstemplateDTO codeClstemplateDTO) { public R deleteCodeClassifyTemplate(CodeClassifyTemplateDTO codeClstemplateDTO) { checkIsCanDelete(codeClstemplateDTO); VciBaseUtil.alertNotNull(codeClstemplateDTO,"å类模æ¿å¯¹è±¡æ°æ®å¯¹è±¡",codeClstemplateDTO.getOid(),"å类模æ¿å¯¹è±¡ç主é®"); CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(codeClstemplateDTO.getOid()); CodeClassifyTemplate codeClassifyTemplateDO = baseMapper.selectById(codeClstemplateDTO.getOid()); //åªæç¼è¾ä¸æè½å if(!CodeClassifyTemplateLC.EDITING.getValue().equals(codeClassifyTemplateDO.getLcStatus())){ @@ -374,14 +381,14 @@ * @return å类模æ¿å¯¹è±¡æ¾ç¤ºå¯¹è±¡ */ @Override public CodeClstemplateVO getObjectByOid(String oid) { public CodeClassifyTemplateVO getObjectByOid(String oid) { return codeClassifyTemplateDO2VO(selectByOid(oid)); } @Override public Collection<CodeClstemplateVO> listCodeClassifyTemplateByOids(List<String> oidCollections) { public Collection<CodeClassifyTemplateVO> listCodeClassifyTemplateByOids(List<String> oidCollections) { VciBaseUtil.alertNotNull(oidCollections,"æ°æ®å¯¹è±¡ä¸»é®éå"); List<CodeClstemplateEntity> codeClassifyTemplateDOList = listCodeClassifyTemplateDOByOidCollections(oidCollections); List<CodeClassifyTemplate> codeClassifyTemplateDOList = listCodeClassifyTemplateDOByOidCollections(oidCollections); return codeClassifyTemplateDO2VOs(codeClassifyTemplateDOList); } @@ -411,12 +418,12 @@ * @param oidCollections 主é®çéå * @return æ°æ®å¯¹è±¡å表 */ private List<CodeClstemplateEntity> listCodeClassifyTemplateDOByOidCollections(Collection<String> oidCollections){ List<CodeClstemplateEntity> codeClassifyTemplateDOList = new ArrayList<CodeClstemplateEntity>(); private List<CodeClassifyTemplate> listCodeClassifyTemplateDOByOidCollections(Collection<String> oidCollections){ List<CodeClassifyTemplate> codeClassifyTemplateDOList = new ArrayList<CodeClassifyTemplate>(); if(!CollectionUtils.isEmpty(oidCollections)){ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); for(Collection<String> oids: oidCollectionsList){ List<CodeClstemplateEntity> tempDOList = baseMapper.selectBatchIds(oids); //codeClassifyTemplateMapper.selectByPrimaryKeyCollection(oids); List<CodeClassifyTemplate> tempDOList = baseMapper.selectBatchIds(oids); //codeClassifyTemplateMapper.selectByPrimaryKeyCollection(oids); if(!CollectionUtils.isEmpty(tempDOList)){ codeClassifyTemplateDOList.addAll(tempDOList); } @@ -430,13 +437,13 @@ * @param oid ä¸»é® * @return æ°æ®å¯¹è±¡ */ private CodeClstemplateEntity selectByOid(String oid) { private CodeClassifyTemplate selectByOid(String oid) { VciBaseUtil.alertNotNull(oid,"主é®"); CodeClstemplateEntity codeClstemplateEntity = baseMapper.selectById(oid.trim()); if(codeClstemplateEntity == null || StringUtils.isBlank(codeClstemplateEntity.getOid())){ CodeClassifyTemplate codeClassifyTemplate = baseMapper.selectById(oid.trim()); if(codeClassifyTemplate == null || StringUtils.isBlank(codeClassifyTemplate.getOid())){ throw new VciBaseException(DATA_OID_NOT_EXIST); } return codeClstemplateEntity; return codeClassifyTemplate; } /** @@ -448,7 +455,7 @@ @Transactional @Override public R updateLcStatus( String oid, String lcStatus){ CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(oid); CodeClassifyTemplate codeClassifyTemplateDO = baseMapper.selectById(oid); //åç¨çæ¶åï¼éªè¯æ¨¡æ¿æ¯å¦ä¸ºå·²åå¸ if(CodeClassifyTemplateLC.DISABLED.getValue().equals(lcStatus)){ // CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(oid); @@ -470,20 +477,20 @@ */ @Transactional @Override public R Upgrade(CodeClstemplateDTO codeClassifyDTO) { public R Upgrade(CodeClassifyTemplateDTO codeClassifyDTO) { //æ§ç模æ¿oid String templateOldOid = codeClassifyDTO.getOid(); //åªæå·²åå¸çæè½åç CodeClstemplateEntity codeClassifyTemplateDOOld = baseMapper.selectById(templateOldOid); CodeClassifyTemplate codeClassifyTemplateDOOld = baseMapper.selectById(templateOldOid); if(!FRAMEWORK_RELEASE_RELEASED.equals(codeClassifyTemplateDOOld.getLcStatus())){ return R.fail("è¯¥æ¨¡æ¿æªåå¸ï¼ä¸è½åçï¼"); } //éè¦æ°å¢çåçº§æ¨¡æ¿ // ClientBusinessObject clientBusinessObject_template = boService.selectCBOByOid(codeClassifyDTO.getOid(), "codeclstemplate"); CodeClstemplateEntity codeCls_template = baseMapper.selectById(templateOldOid); CodeClstemplateEntity codeCls_template_insert = new CodeClstemplateEntity(); CodeClassifyTemplate codeCls_template = baseMapper.selectById(templateOldOid); CodeClassifyTemplate codeCls_template_insert = new CodeClassifyTemplate(); // ClientBusinessObject clientBusinessObject_template_insert = null; // try { // clientBusinessObject_template_insert = clientBusinessObjectOperation.reviseBusinessObject(clientBusinessObject_template, ""); @@ -547,7 +554,7 @@ } //å¤å¶æ¨¡æ¿æµç¨ List<CodeClsflowtempEntity> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid); List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid); //å¤å¶æ¨¡æ¿é¶æ®µï¼é¶æ®µå±æ§ Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid); @@ -610,16 +617,16 @@ @Override @Transactional public R copyTemplate(CodeClstemplateDTO codeClassifyDTO) { public R copyTemplate(CodeClassifyTemplateDTO codeClassifyDTO) { //æ§ç模æ¿oid String oldOid = codeClassifyDTO.getOid(); //æ°ç模æ¿oid String newOid = VciBaseUtil.getPk(); //åç±»oid,å¤å¶è¿æ¥çæ°çåç±»oid String codeClassifyOid = codeClassifyDTO.getCodeClassifyOid(); String codeClassifyOid = codeClassifyDTO.getCodeclassifyoid(); //å¤å¶æ¨¡æ¿ CodeClstemplateEntity codeClassifyTemplateDO_old = baseMapper.selectById(oldOid);//æ§æ¨¡æ¿ CodeClassifyTemplate codeClassifyTemplateDO_old = baseMapper.selectById(oldOid);//æ§æ¨¡æ¿ //éªè¯ï¼ä¸å¡ç±»åæ¯ä¸æ¯ä¸è´ CodeClassify codeClassifyDO_old = codeClassifyService.selectBtmOrParentBtm(codeClassifyTemplateDO_old.getCodeClassifyOid()); @@ -642,14 +649,14 @@ codeClassifyTemplateDO_old.setDescription(codeClassifyDTO.getDescription());//æè¿° codeClassifyTemplateDO_old.setCodeClassifyOid(codeClassifyOid);//åç±»oid codeClassifyTemplateDO_old.setOid(newOid); List<CodeClstemplateEntity> codeClassifyTemplateDOList = new ArrayList<CodeClstemplateEntity>(); List<CodeClassifyTemplate> codeClassifyTemplateDOList = new ArrayList<CodeClassifyTemplate>(); codeClassifyTemplateDOList.add(codeClassifyTemplateDO_old); //å¤å¶æ¨¡æ¿å±æ§ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = copyTemplateAttr(oldOid,newOid); //å¤å¶æ¨¡æ¿æµç¨ List<CodeClsflowtempEntity> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid); List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid); //å¤å¶æ¨¡æ¿é¶æ®µï¼é¶æ®µå±æ§ Map phase_attrMap = copyTemplatePhase_attr(oldOid,newOid); @@ -726,18 +733,21 @@ /** * å¤å¶æ¨¡æ¿æµç¨ */ public List<CodeClsflowtempEntity> copyTemplateProcess(String templateOldOid,String templateNewOid){ public List<CodeClassifyProcessTemp> 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); // Map<String,Object> condition = new HashMap<>(1); // condition.put("classifyTemplateOid",templateOldOid); QueryWrapper<CodeClassifyProcessTemp> wrapper = new QueryWrapper<>(); wrapper.eq("classifyTemplateOid",templateOldOid); List<CodeClassifyProcessTemp> codeClsflowtempEntities = codeClsflowtempServiceImpl.list(wrapper); // List<CodeClassifyProcessTempDO> codeClassifyProcessTempDOList = codeClassifyProcessTempDaoI.selectByWrapper(processWrapper);//è¦ä¿åçæ°çæ¨¡æ¿æµç¨ for (CodeClsflowtempEntity codeClassifyProcessTempDO:codeClsflowtempEntities){ for (CodeClassifyProcessTemp codeClassifyProcessTempDO:codeClsflowtempEntities){ // String newOid = VciBaseUtil.getPk(); codeClassifyProcessTempDO.setOid(null); //codeClassifyProcessTempDO.setCodeClassifyOid(templateNewOid); codeClassifyProcessTempDO.setClassifytemplateoid(templateNewOid); codeClassifyProcessTempDO.setClassifyTemplateOid(templateNewOid); // codeClsflowtempMapper.insert(codeClassifyProcessTempDO); //modify by lihang - @20220406 设置模æ¿ä¸»é®ä½ç½®åºéï¼å¯¼è´åççæ¨¡æ¿ä¸çæµç¨æ¯ç©ºçã } @@ -841,14 +851,13 @@ /** * å类模æ¿å表 * * @param plCodeClstemplate æ¥è¯¢æ¡ä»¶ * @param query å页对象 * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页对象 * @return æ¾ç¤ºå¯¹è±¡ * @throws VciBaseException æ¥è¯¢åºéçæ¶å伿åºå¼å¸¸ */ @Override public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(CodeClstemplateVO plCodeClstemplate, Query query) throws VciBaseException { DataGrid<CodeClstemplateVO> dataGrid=new DataGrid<CodeClstemplateVO>(); public DataGrid<CodeClassifyTemplateVO> gridCodeClassifyTemplate(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException { DataGrid<CodeClassifyTemplateVO> dataGrid=new DataGrid<CodeClassifyTemplateVO>(); //没æä¼ åç±»idï¼ä¸æ§è¡æ¥è¯¢é»è¾ï¼ç´æ¥è¿å // if(conditionMap.size()==0){ // dataGrid.setData(new ArrayList<>()); @@ -860,14 +869,38 @@ // } // 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))))); // CodeClassifyTemplateVO codeClstemplateVO = new CodeClassifyTemplateVO(); CodeClassifyTemplate codeClstemplateQuery = new CodeClassifyTemplate(); // BeanUtil.toBean(map,codeClstempattrVO); // BeanUtil BeanMap beanMap = BeanMap.create(codeClstemplateQuery); beanMap.putAll(conditionMap); // BeanUtils.copyProperties(codeClstemplateVO,codeClstemplateQuery); if (pageHelper == null) { pageHelper = new PageHelper(-1); } // IPage iPage = new IPage(); Query query = new Query(); // query.setSize(100); if(pageHelper.getLimit() != -1){ query.setSize(pageHelper.getLimit()); query.setCurrent(pageHelper.getPage()); } // List<CodeClstemplateVO> doList = codeClstemplateMapper.selectPlCodeClstemplatePage(Condition.getPage(query), codeClstemplateVO); IPage<CodeClassifyTemplate> doList = baseMapper. selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeClstemplateQuery)); if (!CollectionUtils.isEmpty(doList.getRecords())) { // QueryWrapper<CodeClstemplateVO> codeClstemplateVOQueryWrapper = new QueryWrapper<>(); // codeClstemplateVOQueryWrapper.allEq(plCodeClstemplate); // List<CodeClstemplateEntity> codeClstemplateEntity = new ArrayList<>(); // BeanUtils.copyProperties(doList,codeClstemplateEntity); dataGrid.setData(codeClassifyTemplateDO2VOs(doList.getRecords())); dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeClassifyTemplateMapper.selectCount(Condition.getQueryWrapper(codeClstemplateQuery))))); } return dataGrid; } @@ -880,14 +913,14 @@ * @throws VciBaseException åæ°ä¸ºç©ºï¼å¯ä¸é¡¹ï¼å¿ è¾é¡¹ä¸éè¿æ¶ä¼æåºå¼å¸¸ */ @Override public R<CodeClstemplateVO> addSave(CodeClstemplateDTO codeClassifyTemplateDTO) throws VciBaseException{ public R<CodeClassifyTemplateVO> addSave(CodeClassifyTemplateDTO codeClassifyTemplateDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyTemplateDTO,"éè¦æ·»å çæ°æ®å¯¹è±¡"); //å°DTO转æ¢ä¸ºDO CodeClstemplateEntity codeClassifyTemplateDO = new CodeClstemplateEntity(); CodeClassifyTemplate codeClassifyTemplateDO = new CodeClassifyTemplate(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDTO,codeClassifyTemplateDO); //æ¥è¯¢å类以åä¸çº§åç±»çä¸å¡ç±»åbtmtypeidãbtmtypename List<CodeClassify> codeClassifyDOList = codeClassifyService.selectAllLevelParents(codeClassifyTemplateDTO.getCodeClassifyOid()); List<CodeClassify> codeClassifyDOList = codeClassifyService.selectAllLevelParents(codeClassifyTemplateDTO.getCodeclassifyoid()); //ææåç±»é½æ²¡æä¸å¡ç±»åï¼è¿åæç¤º if(codeClassifyDOList.size()==0){ @@ -991,12 +1024,12 @@ * @throws VciBaseException åæ°ä¸ºç©ºï¼å¯ä¸é¡¹ï¼å¿ è¾é¡¹ä¸éè¿æ¶ä¼æåºå¼å¸¸ */ @Override public R editSave(CodeClstemplateDTO codeClassifyTemplateDTO) throws VciBaseException{ public R editSave(CodeClassifyTemplateDTO codeClassifyTemplateDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyTemplateDTO,"æ°æ®å¯¹è±¡",codeClassifyTemplateDTO.getOid(),"å类模æ¿å¯¹è±¡ä¸»é®"); //æ£æ¥ts CodeClstemplateEntity codeClassifyTemplateDOCopyFromDTO = new CodeClstemplateEntity(); CodeClassifyTemplate codeClassifyTemplateDOCopyFromDTO = new CodeClassifyTemplate(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDTO,codeClassifyTemplateDOCopyFromDTO); CodeClstemplateEntity codeClassifyTemplateDO = null; CodeClassifyTemplate codeClassifyTemplateDO = null; if(codeClassifyTemplateDOCopyFromDTO.getOid() == null){ baseMapper.insert(codeClassifyTemplateDOCopyFromDTO); return R.data(codeClassifyTemplateDOCopyFromDTO); @@ -1004,7 +1037,7 @@ // Map<String,Object> condition = new HashMap<>(2); // condition.put("oid",codeClassifyTemplateDOCopyFromDTO.getOid()); // condition.put("ts",codeClassifyTemplateDOCopyFromDTO.getTs()); CodeClstemplateEntity detail = baseMapper CodeClassifyTemplate detail = baseMapper .selectById(codeClassifyTemplateDOCopyFromDTO.getOid()); // boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOListemplateDOCopyFromDTO); if(detail.getTs().compareTo(codeClassifyTemplateDOCopyFromDTO.getTs()) != 0){//䏿¯ææ°çä¸è®©æ¹ @@ -1038,8 +1071,8 @@ * @return */ @Override public List<CodeClstemplateVO> childTemplates(String codeClassifyOid){ List<CodeClstemplateVO> codeClassifyTemplateVOList=new ArrayList<>(); public List<CodeClassifyTemplateVO> childTemplates(String codeClassifyOid){ List<CodeClassifyTemplateVO> codeClassifyTemplateVOList=new ArrayList<>(); // Map<String/**模æ¿ç主é®**/,String/**åç±»ç主é®**/> childHasTemplateMap =baseMapper // .selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED, // codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue()); @@ -1054,13 +1087,13 @@ } Set<String> templateOid = childHasTemplateMap.keySet(); List<CodeClstemplateEntity> classifyTemplateDOS=new ArrayList<>(); List<CodeClassifyTemplate> classifyTemplateDOS=new ArrayList<>(); if(!CollectionUtils.isEmpty(templateOid)) { classifyTemplateDOS= this.listCodeClassifyTemplateDOByOidCollections(templateOid); }else{ classifyTemplateDOS=selectOnlyTemplateByClassifyOid(codeClassifyOid); } List<CodeClstemplateVO> templateVOList = codeClassifyTemplateDO2VOs(classifyTemplateDOS, true); List<CodeClassifyTemplateVO> templateVOList = codeClassifyTemplateDO2VOs(classifyTemplateDOS, true); if(!CollectionUtils.isEmpty(templateVOList)){ codeClassifyTemplateVOList.addAll(templateVOList); } @@ -1073,7 +1106,7 @@ * @param codeClassifyOid åç±»çä¸»é® * @return 模æ¿çæ°æ®å¯¹è±¡ */ private List<CodeClstemplateEntity> selectOnlyTemplateByClassifyOid(String codeClassifyOid){ private List<CodeClassifyTemplate> selectOnlyTemplateByClassifyOid(String codeClassifyOid){ //1.ç´æ¥æ¥è¯¢ï¼ççè¿ä¸ªåç±»ä¸é¢ææ²¡æåå¸ç¶æçæ¨¡æ¿ //2.å¦ææ²¡æï¼åå¾ä¸æ¾åç±»çå 容ï¼è¿ä¸ªåç±»å±çº§ä¸ä¼å¤ªå¤ï¼æä»¥ç´æ¥éå½å³å¯ //3.妿åç±»ä¸é¢æ·»å äºæ¨¡æ¿ï¼ä½æ¯æ²¡æåå¸ï¼åè¯´ææ¨¡æ¿å¯è½è¿å¨ç¼è¾çç¶æï¼ä¾ç¶ä½¿ç¨ä¸çº§åç±» @@ -1081,11 +1114,11 @@ // Map<String,String> conditionMap = new HashMap<>(); // conditionMap.put("codeClassifyOid",codeClassifyOid); // conditionMap.put("lcstatus",CodeClassifyTemplateLC.RELEASED.getValue()); QueryWrapper<CodeClstemplateEntity> wrapper=new QueryWrapper<>(); QueryWrapper<CodeClassifyTemplate> wrapper=new QueryWrapper<>(); wrapper.eq("codeClassifyOid",codeClassifyOid) .eq("lcstatus",CodeClassifyTemplateLC.RELEASED.getValue()); List<CodeClstemplateEntity> templateDOS = baseMapper.selectList(wrapper); List<CodeClassifyTemplate> templateDOS = baseMapper.selectList(wrapper); if(CollectionUtils.isEmpty(templateDOS)){ //é彿¾ä¸çº§çæ¨¡æ¿ CodeClassify classifyDO = codeClassifyMapper.selectById(codeClassifyOid); @@ -1108,13 +1141,13 @@ * @return 模æ¿çä¿¡æ¯ */ @Override public List<CodeClstemplateVO> listReleaseTemplateByClassifyOid(String codeClassifyOid, boolean hasAttribute) { public List<CodeClassifyTemplateVO> listReleaseTemplateByClassifyOid(String codeClassifyOid, boolean hasAttribute) { VciBaseUtil.alertNotNull(codeClassifyOid,"主é¢åºå类主é®"); List<CodeClstemplateEntity> templateDOS = selectOnlyTemplateByClassifyOid(codeClassifyOid); List<CodeClassifyTemplate> templateDOS = selectOnlyTemplateByClassifyOid(codeClassifyOid); if(CollectionUtils.isEmpty(templateDOS)){ throw new VciBaseException("å½ååç±»ï¼ä»¥åå ¶ä¸çº§åç±»é½æ²¡æè®¾ç½®æ¨¡æ¿"); } List<CodeClstemplateVO> templateVOList = codeClassifyTemplateDO2VOs(templateDOS, true); List<CodeClassifyTemplateVO> templateVOList = codeClassifyTemplateDO2VOs(templateDOS, true); return sortTemplateByRevision(templateVOList); } @@ -1124,7 +1157,7 @@ * @return æåºåçå表 */ @Override public List<CodeClstemplateVO> sortTemplateByRevision(List<CodeClstemplateVO> templateVOList){ public List<CodeClassifyTemplateVO> sortTemplateByRevision(List<CodeClassifyTemplateVO> templateVOList){ if(!CollectionUtils.isEmpty(templateVOList) && templateVOList.size() >1){ //è·åçæ¬å·æå¤§çé£ä¸ª templateVOList = templateVOList.stream().sorted((o1,o2)-> @@ -1142,10 +1175,10 @@ * @throws VciBaseException åæ°ä¸ºç©ºï¼æ°æ®ä¸å卿¶ä¼æåºå¼å¸¸ */ @Override public CodeClstemplateVO getObjectHasAttrByOid(String oid) throws VciBaseException { List<CodeClstemplateEntity> doList = new ArrayList<>(); public CodeClassifyTemplateVO getObjectHasAttrByOid(String oid) throws VciBaseException { List<CodeClassifyTemplate> doList = new ArrayList<>(); doList.add(selectByOid(oid)); List<CodeClstemplateVO> templateVOS = codeClassifyTemplateDO2VOs(doList, true); List<CodeClassifyTemplateVO> templateVOS = codeClassifyTemplateDO2VOs(doList, true); return CollectionUtils.isEmpty(templateVOS)?null:templateVOS.get(0); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyAttrRepeatServiceImpl.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyattrrepeatServiceImpl.java ÐÞ¸Ä @@ -18,11 +18,11 @@ import com.alibaba.nacos.common.utils.StringUtils; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; import com.vci.ubcs.code.mapper.CodeKeyattrrepeatMapper; import com.vci.ubcs.code.service.ICodeKeyattrrepeatService; import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO; import com.vci.ubcs.code.mapper.CodeKeyAttrRepeatMapper; import com.vci.ubcs.code.service.ICodeKeyAttrRepeatService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; import com.vci.ubcs.starter.exception.VciBaseException; @@ -48,13 +48,13 @@ * @since 2023-04-03 */ @Service public class CodeKeyattrrepeatServiceImpl implements ICodeKeyattrrepeatService { public class CodeKeyAttrRepeatServiceImpl implements ICodeKeyAttrRepeatService { @Autowired CodeKeyattrrepeatMapper codeKeyattrrepeatMapper; CodeKeyAttrRepeatMapper codeKeyattrrepeatMapper; @Override public IPage<CodeKeyattrrepeatVO> selectPlCodeKeyattrrepeatPage(IPage<CodeKeyattrrepeatVO> page, CodeKeyattrrepeatVO plCodeKeyattrrepeat) { public IPage<CodeKeyAttrRepeatVO> selectPlCodeKeyattrrepeatPage(IPage<CodeKeyAttrRepeatVO> page, CodeKeyAttrRepeatVO plCodeKeyattrrepeat) { return page.setRecords(codeKeyattrrepeatMapper.selectPlCodeKeyattrrepeatPage(page, plCodeKeyattrrepeat)); } @@ -67,20 +67,20 @@ @Override public List<CodeKeyAttrRepeatRuleVO> listCodeKeyAttrRepeatRuleByOids(Collection<String> oidCollections) { VciBaseUtil.alertNotNull(oidCollections,"æ°æ®å¯¹è±¡ä¸»é®éå"); List<CodeKeyattrrepeatEntity> codeKeyAttrRepeatRuleDOList = listCodeKeyAttrRepeatRuleDOByOidCollections(oidCollections); List<CodeKeyAttrRepeat> codeKeyAttrRepeatRuleDOList = listCodeKeyAttrRepeatRuleDOByOidCollections(oidCollections); return codeKeyAttrRepeatRuleDO2VOs(codeKeyAttrRepeatRuleDOList); } /** * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeKeyattrrepeatEntityS æ°æ®å¯¹è±¡å表 * @param codeKeyAttrRepeats æ°æ®å¯¹è±¡å表 * @return æ¾ç¤ºå¯¹è±¡ */ @Override public List<CodeKeyAttrRepeatRuleVO> codeKeyAttrRepeatRuleDO2VOs(Collection<CodeKeyattrrepeatEntity> codeKeyattrrepeatEntityS){ public List<CodeKeyAttrRepeatRuleVO> codeKeyAttrRepeatRuleDO2VOs(Collection<CodeKeyAttrRepeat> codeKeyAttrRepeats){ List<CodeKeyAttrRepeatRuleVO> voList = new ArrayList<CodeKeyAttrRepeatRuleVO>(); if(!CollectionUtils.isEmpty(codeKeyattrrepeatEntityS)){ for(CodeKeyattrrepeatEntity s: codeKeyattrrepeatEntityS){ if(!CollectionUtils.isEmpty(codeKeyAttrRepeats)){ for(CodeKeyAttrRepeat s: codeKeyAttrRepeats){ CodeKeyAttrRepeatRuleVO vo = codeKeyAttrRepeatRuleDO2VO(s); if(vo != null){ voList.add(vo); @@ -95,12 +95,12 @@ * @param oidCollections 主é®çéå * @return æ°æ®å¯¹è±¡å表 */ private List<CodeKeyattrrepeatEntity> listCodeKeyAttrRepeatRuleDOByOidCollections(Collection<String> oidCollections){ List<CodeKeyattrrepeatEntity> codeKeyAttrRepeatRuleDOList = new ArrayList<CodeKeyattrrepeatEntity>(); private List<CodeKeyAttrRepeat> listCodeKeyAttrRepeatRuleDOByOidCollections(Collection<String> oidCollections){ List<CodeKeyAttrRepeat> codeKeyAttrRepeatRuleDOList = new ArrayList<CodeKeyAttrRepeat>(); if(!CollectionUtils.isEmpty(oidCollections)){ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); for(Collection<String> oids: oidCollectionsList){ List<CodeKeyattrrepeatEntity> tempDOList = codeKeyattrrepeatMapper.selectBatchIds(oids); List<CodeKeyAttrRepeat> tempDOList = codeKeyattrrepeatMapper.selectBatchIds(oids); if(!CollectionUtils.isEmpty(tempDOList)){ codeKeyAttrRepeatRuleDOList.addAll(tempDOList); } @@ -112,14 +112,14 @@ /** * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeKeyattrrepeatEntity æ°æ®å¯¹è±¡ * @param codeKeyAttrRepeat æ°æ®å¯¹è±¡ * @return æ¾ç¤ºå¯¹è±¡ */ @Override public CodeKeyAttrRepeatRuleVO codeKeyAttrRepeatRuleDO2VO(CodeKeyattrrepeatEntity codeKeyattrrepeatEntity) { public CodeKeyAttrRepeatRuleVO codeKeyAttrRepeatRuleDO2VO(CodeKeyAttrRepeat codeKeyAttrRepeat) { CodeKeyAttrRepeatRuleVO vo = new CodeKeyAttrRepeatRuleVO(); if(codeKeyattrrepeatEntity != null) { BeanUtilForVCI.copyPropertiesIgnoreCase(codeKeyattrrepeatEntity, vo); if(codeKeyAttrRepeat != null) { BeanUtilForVCI.copyPropertiesIgnoreCase(codeKeyAttrRepeat, vo); //妿ælcstatusçç±»çè¯ vo.setLcStatusText(FrameworkDataLCStatus.getTextByValue(vo.getLcStatus())); } @@ -133,7 +133,7 @@ * @return è§åçæ¾ç¤ºå¯¹è±¡ */ @Override public CodeKeyattrrepeatVO getRuleByClassifyFullInfo(CodeClassifyFullInfoBO classifyFullInfo) { public CodeKeyAttrRepeatVO getRuleByClassifyFullInfo(CodeClassifyFullInfoBO classifyFullInfo) { VciBaseUtil.alertNotNull(classifyFullInfo,"主é¢åºåç±»çä¿¡æ¯"); String keyAttrRuleOid = classifyFullInfo.getCurrentClassifyVO().getCodekeyattrrepeatoid(); if(StringUtils.isBlank(keyAttrRuleOid)){ @@ -153,7 +153,7 @@ } if(StringUtils.isNotBlank(keyAttrRuleOid)){ CodeKeyAttrRepeatRuleVO objectByOid = getObjectByOid(keyAttrRuleOid); CodeKeyattrrepeatVO codeKeyattrrepeatVO = new CodeKeyattrrepeatVO(); CodeKeyAttrRepeatVO codeKeyattrrepeatVO = new CodeKeyAttrRepeatVO(); BeanUtils.copyProperties(objectByOid,codeKeyattrrepeatVO); return codeKeyattrrepeatVO; } @@ -169,7 +169,7 @@ @Override public CodeKeyAttrRepeatRuleVO getObjectByOid(String oid){ CodeKeyAttrRepeatRuleVO codeKeyAttrRepeatRuleVO = codeKeyAttrRepeatRuleDO2VO(selectByOid(oid)); CodeKeyattrrepeatVO codeKeyattrrepeatVO = new CodeKeyattrrepeatVO(); CodeKeyAttrRepeatVO codeKeyattrrepeatVO = new CodeKeyAttrRepeatVO(); BeanUtils.copyProperties(codeKeyAttrRepeatRuleVO,codeKeyattrrepeatVO); return codeKeyAttrRepeatRuleVO; } @@ -179,10 +179,10 @@ * @return æ°æ®å¯¹è±¡ * @throws VciBaseException åæ°ä¸ºç©ºï¼å¹¶ä¸æ°æ®ä¸åå¨çæ¶å伿åºå¼å¸¸ */ private CodeKeyattrrepeatEntity selectByOid(String oid) { private CodeKeyAttrRepeat selectByOid(String oid) { VciBaseUtil.alertNotNull(oid,"主é®"); CodeKeyattrrepeatEntity codeKeyAttrRepeatRuleDO = codeKeyattrrepeatMapper.selectById(oid.trim()); CodeKeyAttrRepeat codeKeyAttrRepeatRuleDO = codeKeyattrrepeatMapper.selectById(oid.trim()); // .selectByPrimaryKey(oid.trim()); if(codeKeyAttrRepeatRuleDO == null || StringUtils.isBlank(codeKeyAttrRepeatRuleDO.getOid())){ throw new VciBaseException(DATA_OID_NOT_EXIST); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java
@@ -35,7 +35,6 @@ import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseVO; import com.vci.ubcs.code.wrapper.CodeTemplatePhaseWapper; import com.vci.ubcs.common.utils.PageDO2PageVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; @@ -379,8 +378,8 @@ String codePhaseOid = conditionMap.getOrDefault("codePhaseOid", null); MPJLambdaWrapper<CodeClassifyTemplateAttr> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(CodeClassifyTemplateAttr.class) .selectAs(CodeClstemplateEntity::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName) .leftJoin(CodeClstemplateEntity.class, CodeClstemplateEntity::getOid, CodeClassifyTemplateAttr::getClassifyTemplateOid) .selectAs(CodeClassifyTemplate::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName) .leftJoin(CodeClassifyTemplate.class, CodeClassifyTemplate::getOid, CodeClassifyTemplateAttr::getClassifyTemplateOid) .eq(CodeClassifyTemplateAttr::getClassifyTemplateOid,conditionMap.getOrDefault("classifyTemplateOid",null)); if(StringUtils.isNotBlank(codePhaseOid)){ //æé¤é¶æ®µä¸ä½¿ç¨ç @@ -418,8 +417,8 @@ //è¿å¿æ¯ä¸ªè¿è¡¨æ¥è¯¢è¯å¥ MPJLambdaWrapper<CodeClassifyTemplateAttr> mpjLambdaWrapper = new MPJLambdaWrapper<>(); mpjLambdaWrapper.selectAll(CodeClassifyTemplateAttr.class) .selectAs(CodeClstemplateEntity::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName) .leftJoin(CodeClstemplateEntity.class,CodeClstemplateEntity::getOid, CodeClassifyTemplateAttr::getClassifyTemplateOid) .selectAs(CodeClassifyTemplate::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName) .leftJoin(CodeClassifyTemplate.class, CodeClassifyTemplate::getOid, CodeClassifyTemplateAttr::getClassifyTemplateOid) .eq(CodeClassifyTemplateAttr::getClassifyTemplateOid,phaseDO.getCodeClassifyTemplateOid()); if(ids.size()<1000){ mpjLambdaWrapper = mpjLambdaWrapper.in(CodeClassifyTemplateAttr::getId, ids); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/FormulaServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,1165 @@ package com.vci.ubcs.code.service.impl; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.starter.web.constant.VciSystemVarConstants; import com.vci.ubcs.starter.web.toolmodel.DateConverter; import com.vci.ubcs.starter.web.util.Md5; import com.vci.ubcs.starter.web.util.VciDateUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.lang.reflect.Method; import java.math.BigDecimal; import java.time.LocalDate; import java.time.Period; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.TimeUnit; /** * å ¬å¼å¤ç * @author weidy * @date 2022-02-11 * */ @Service public class FormulaServiceImpl { /** * æ¥å¿æä»¶ */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * éç¨æ¥è¯¢ */ @Resource CommonsMapper commonsMapper; // /** // * ä¸å¡æ°æ®æå¡ // */ // @Autowired // private WebBoServiceI boService; /** * æ¯å¦è¿è¡å®æ */ private Boolean formulaBlag = true; /** * è¿ç®ç¬¦ */ public static List<String> lc = new ArrayList<String>(); static { lc.add("+"); lc.add("-"); lc.add("*"); lc.add("/"); } /** * é»è¾è¿ç®ç¬¦ */ public static List<String> lj = new ArrayList<String>(); static { lj.add(">"); lj.add("<"); lj.add("="); lj.add("!"); } /** * 彿°ï¼intæ°ç»æ³¨é,第ä¸ä¸ªæ è¯:0èªå¸¦å½æ° 1èªå®ä¹å½æ°;第äºä¸ªæ è¯:åæ°ä¸ªæ° */ public static Map<String, int[]> funMap = new HashMap<String, int[]>(); // intæ°ç»æ³¨é,第ä¸ä¸ªæ è¯:0èªå¸¦å½æ° 1èªå®ä¹å½æ°;第äºä¸ªæ è¯:åæ°ä¸ªæ° static { // èªå¸¦å½æ°,å¯å©ç¨åå°æºå¶ funMap.put("abs", new int[] { 0, 1 }); funMap.put("acos", new int[] { 0, 1 }); funMap.put("asin", new int[] { 0, 1 }); funMap.put("atan", new int[] { 0, 1 }); funMap.put("cbrt", new int[] { 0, 1 }); funMap.put("ceil", new int[] { 0, 1 }); funMap.put("cos", new int[] { 0, 1 }); funMap.put("cosh", new int[] { 0, 1 }); funMap.put("exp", new int[] { 0, 1 }); funMap.put("expm1", new int[] { 0, 1 }); funMap.put("floor", new int[] { 0, 1 }); funMap.put("log", new int[] { 0, 1 }); funMap.put("log10", new int[] { 0, 1 }); funMap.put("log1p", new int[] { 0, 1 }); funMap.put("random", new int[] { 0, 0 }); funMap.put("rint", new int[] { 0, 1 }); funMap.put("round", new int[] { 0, 1 }); funMap.put("signum", new int[] { 0, 1 }); funMap.put("sin", new int[] { 0, 1 }); funMap.put("sinh", new int[] { 0, 1 }); funMap.put("sqrt", new int[] { 0, 1 }); funMap.put("tan", new int[] { 0, 1 }); funMap.put("tanh", new int[] { 0, 1 }); funMap.put("max", new int[] { 0, 2 }); funMap.put("min", new int[] { 0, 2 }); // èªå®ä¹å½æ° funMap.put("if", new int[] { 1, 3 }); funMap.put("sum", new int[] { 1, 2 }); funMap.put("sub", new int[] { 1, 2 }); funMap.put("mul", new int[] { 1, 2 }); funMap.put("div", new int[] { 1, 2 }); funMap.put("mod", new int[] { 1, 2 }); funMap.put("toInt", new int[] { 1, 1 }); funMap.put("toDouble", new int[] { 1, 1 }); funMap.put("doubleRound", new int[] { 1, 2 }); funMap.put("zeroIfNull", new int[] { 1, 1 }); funMap.put("endsWith", new int[] { 1, 2 }); funMap.put("startsWith", new int[] { 1, 2 }); funMap.put("charAt", new int[] { 1, 2 }); funMap.put("equalsIgnoreCase", new int[] { 1, 2 }); funMap.put("indexOf", new int[] { 1, 2 }); funMap.put("isEmpty", new int[] { 1, 1 }); funMap.put("lastIndexOf", new int[] { 1, 2 }); funMap.put("leftStr", new int[] { 1, 2 }); funMap.put("length", new int[] { 1, 1 }); funMap.put("mid", new int[] { 1, 3 }); funMap.put("right", new int[] { 1, 2 }); funMap.put("rightStr", new int[] { 1, 2 }); funMap.put("tolowercase", new int[] { 1, 1 }); funMap.put("touppercase", new int[] { 1, 1 }); funMap.put("trimzero", new int[] { 1, 1 }); funMap.put("compareDate", new int[] { 1, 2 }); funMap.put("nowDate", new int[] { 1, 0 }); funMap.put("chinaDate", new int[] { 1, 1 }); funMap.put("dateDdd", new int[] { 1, 2 }); funMap.put("dateBalanceYear",new int[] {1,3}); funMap.put("dateBalanceDay",new int[] {1,2}); funMap.put("dateformat", new int[] { 1, 2 }); funMap.put("nowDatetime", new int[] { 1, 0 }); funMap.put("dayOf", new int[] { 1, 1 }); funMap.put("nowMon", new int[] { 1, 1 }); funMap.put("monOf", new int[] { 1, 1 }); funMap.put("nowTime", new int[] { 1, 0 }); funMap.put("nowYear", new int[] { 1, 0 }); funMap.put("yearOf", new int[] { 1, 1 }); funMap.put("getChineseCurrency", new int[] { 1, 1 }); funMap.put("setThmark", new int[] { 1, 1 }); funMap.put("toChinese", new int[] { 1, 1 }); funMap.put("getcolvalue", new int[] { 1, 5 }); funMap.put("MD5", new int[]{1,1}); funMap.put("getValueByMethod", new int[]{1,3}); } /** * å ¬å¼åå§åè½¬æ¢ * * @param str å ¬å¼çå 容 * @return 转æ¢åçå 容 */ private String strCast(String str) { // str = str.toLowerCase();// å»é¤ç©ºæ ¼ï¼åå°å if (str == null ? true : str.length() == 0) { return "0"; } str = str.trim(); if (!checkFormula(str)) { formulaError(); return str; } str = str.replaceAll("ï¼", ","); str = str.replaceAll("\\+-", "-"); str = str.replaceAll("-\\+", "-"); //str = str.replaceAll(" ", ""); return str; } /** * æ£æ¥å ¬å¼ä¸æ¬å·åºç°æ¬¡æ°æ¯å¦æ£ç¡® * * @param formulaStr å ¬å¼çå 容 * @return true è¡¨ç¤ºæ ¡éªæå */ private boolean checkFormula(String formulaStr) { formulaBlag = true; int count = 0; for (int i = 0; i < formulaStr.length(); i++) { String s = String.valueOf(formulaStr.charAt(i)); if ("(".equals(s)) { count++; } else if (")".equals(s)) { count--; } if (count < 0) { formulaBlag = false; break; } } formulaBlag = count == 0; return formulaBlag; } /** * åå²å½æ° * * @param str å符串 * @param bs åå²ç¬¦ * @return 转æ¢åçå 容 */ private String[] spliteFun(String str, String bs) { List<String> list = new ArrayList<String>(); String bds = ""; int bracket = 0; int len = str.length(); for (int i = 0; i < len; i++) { String s = String.valueOf(str.charAt(i)); if ("(".equals(s)) { bracket++; } else if (")".equals(s)) { bracket--; } if (bracket == 0 && bs.equals(s)) { list.add(bds); bds = ""; continue; } bds += s; } list.add(bds); String[] ss = new String[list.size()]; for (int i = 0; i < list.size(); i++) { ss[i] = list.get(i); } return ss; } /** * ç¨æ·èªå®ä¹å½æ° * * @param str å符串 * @param funStr 彿°çå 容 * @return */ private String customFun(String str, String funStr) { String reval = "false"; String[] gss = spliteFun(str, ","); //æ¯ä¸ä¸ªåæ°ï¼æé½åºè¯¥å»ççæ¯å¦è¿æ()ãè¿è¯´æé颿¯æ¹æ³ for (int i = 0; i < gss.length; i++) { String record = gss[i]; if(StringUtils.isNotBlank(record) && record.contains("(") && record.contains(")")){ gss[i] = calculate(gss[i]); } } if ("if".equals(funStr)) { //logger.debug("第ä¸ä¸ªåæ°ï¼" + gss[0]); if (compare(gss[0])) { reval = calculate(gss[1]); } else { reval = calculate(gss[2]); } } else if ("sum".equals(funStr)) { BigDecimal ln = new BigDecimal(gss[0]); BigDecimal rn = new BigDecimal(gss[1]); reval = ln.add(rn).doubleValue() + ""; } else if ("sub".equals(funStr)) { BigDecimal ln = new BigDecimal(gss[0]); BigDecimal rn = new BigDecimal(gss[1]); reval = ln.subtract(rn).doubleValue() + ""; } else if ("mul".equals(funStr)) { BigDecimal ln = new BigDecimal(gss[0]); BigDecimal rn = new BigDecimal(gss[1]); reval = ln.multiply(rn).doubleValue() + ""; } else if ("div".equals(funStr)) { BigDecimal ln = new BigDecimal(gss[0]); BigDecimal rn = new BigDecimal(gss[1]); if (rn.doubleValue() == 0) { formulaError(); //reval = "0"; return reval; } else { reval = ln.divide(rn, 10, BigDecimal.ROUND_HALF_UP) + ""; } } else if ("mod".equals(funStr)) { int rn = Integer.parseInt(gss[1]); if (rn == 0) { formulaError(); return reval; } int ln = Integer.parseInt(gss[0]); reval = (ln % rn) + ""; } else if ("toInt".equals(funStr)) { reval = (int) Math.floor(new Double(calculate(gss[0]))) + ""; } else if("toDouble".equals(funStr)){ reval = new Double(calculate(gss[0])) + ""; }else if("MD5".equals(funStr)){ reval = Md5.md5(calculate(gss[0])); }else if ("doubleRound".equals(funStr)) { try { BigDecimal b = new BigDecimal(calculate(gss[0])); reval = b.setScale(Integer.parseInt(gss[1]), BigDecimal.ROUND_HALF_UP).doubleValue() + ""; } catch (Exception e) { e.printStackTrace(); formulaError(); } } else if ("zeroIfNull".equals(funStr)) { logger.debug(gss[0]); if ("null".equals(gss[0]) || gss[0].trim().length() == 0) { reval = "0"; return reval; } reval = gss[0]; } else if ("endsWith".equals(funStr)) { reval = "false"; if (gss[0].endsWith(gss[1])) { reval = "true"; } } else if ("startsWith".equals(funStr)) { reval = "false"; if (gss[0].startsWith(gss[1])) { reval = "true"; } } else if ("charAt".equals(funStr)) { try { reval = String.valueOf(gss[0].charAt(Integer.parseInt(gss[1]))); } catch (Exception e) { e.printStackTrace(); formulaError(); reval = ""; } } else if ("equalsignoreCase".equals(funStr)) { if (gss[0].equalsIgnoreCase(gss[1])) { reval = "true"; } } else if ("indexOf".equals(funStr)) { reval = gss[0].indexOf(gss[1]) + ""; } else if ("isEmpty".equals(funStr)) { if (gss[0].trim().length() == 0 || "".equals(gss[0]) || "null".equals(gss[0])) { reval = "true"; } } else if ("lastIndexOf".equals(funStr)) { reval = gss[0].lastIndexOf(gss[1]) + ""; } else if ("leftStr".equals(funStr)) { reval = gss[0].substring(0, Integer.parseInt(gss[1])); } else if ("length".equals(funStr)) { reval = gss[0].length() + ""; } else if ("right".equals(funStr)) { reval = String.valueOf(gss[0].charAt(gss[0].length() - Integer.parseInt(gss[1]))); } else if ("rightStr".equals(funStr)) { reval = gss[0] .substring(gss[0].length() - Integer.parseInt(gss[1])); } else if ("mid".equals(funStr)) { try { reval = gss[0].substring(Integer.parseInt(gss[1]), Integer.parseInt(gss[2])); }catch (Exception e) { e.printStackTrace(); formulaError(); reval = ""; } } else if ("tolowercase".equals(funStr)) { reval = gss[0].toLowerCase(); } else if ("touppercase".equals(funStr)) { reval = gss[0].toUpperCase(); } else if ("trimZero".equals(funStr)) { int len = gss[0].length() - 1; for (int i = len; i >= 0; i--) { if (gss[0].charAt(i) == '0') { gss[0] = gss[0].substring(0, gss[0].length() - 1); } else { reval = gss[0]; break; } } } else if ("compareDate".equals(funStr)) { if (gss[0].indexOf("date") != -1) { gss[0] = calculate(gss[0]); } if (gss[1].indexOf("date") != -1) { gss[1] = calculate(gss[1]); } gss[0] = gss[0].replaceAll("`", "-"); gss[1] = gss[1].replaceAll("`", "-"); String result; try { result = VciDateUtil.compareDate(gss[0], gss[1]); if ("=".equals(result)) { reval = "true"; } ; } catch (Exception e) { e.printStackTrace(); formulaError(); } } else if ("nowDate".equals(funStr)) { reval = VciDateUtil.getNowString("yyyy-MM-dd"); } else if ("chinaDate".equals(funStr)) { try { if (gss[0].indexOf("date") != -1) { gss[0] = calculate(gss[0]); } gss[0] = gss[0].replaceAll("`", "-"); reval = VciDateUtil.getChinaDate(gss[0]); return reval; } catch (Exception e) { e.printStackTrace(); formulaError(); } } else if ("dateAdd".equals(funStr)) { try { if (gss[0].indexOf("date") != -1) { gss[0] = calculate(gss[0]); } gss[0] = gss[0].replaceAll("`", "-"); DateConverter dateConverter = new DateConverter(); dateConverter.setAsText(gss[0]); Date date = VciDateUtil.getDateAddDay(dateConverter.getValue(), Integer.parseInt(gss[1])); reval = VciDateUtil.date2Str(date, VciDateUtil.DateTimeFormat); return reval; } catch (Exception e) { e.printStackTrace(); formulaError(); } } else if("dateBalanceYear".equals(funStr)) { //æ±æ¶é´çå·®é¢ //3ä¸ªåæ°ï¼å¯¹æ¯çæºå¼ï¼å¯¹æ¯çç®æ å¼,æ¯å¦è¿ä¸ String sourceDate = gss[0]; String targetDate = gss[1]; boolean remainderType = "true".equalsIgnoreCase(gss[2]) ? true : false; DateConverter dateConverter = new DateConverter(); dateConverter.setAsText(sourceDate); Date sDate = dateConverter.getValue(); Date tDate = new Date(); if (StringUtils.isBlank(targetDate)) { dateConverter.setAsText(targetDate); tDate = dateConverter.getValue(); } Period p = Period.between(LocalDate.parse(VciDateUtil.date2Str(sDate, VciDateUtil.DateTimeMillFormat), DateTimeFormatter.ofPattern(VciDateUtil.DateTimeMillFormat)), LocalDate.parse(VciDateUtil.date2Str(tDate, VciDateUtil.DateTimeMillFormat), DateTimeFormatter.ofPattern(VciDateUtil.DateTimeMillFormat))); reval = String.valueOf((remainderType && (p.getMonths() > 0 || p.getDays() > 0)) ? (p.getYears() + 1) : p.getYears()); //æä»½ç¸å·®æ¯æ²¡åæ³è®¡ç® }else if("dateBalanceDay".equals(funStr)){ String sourceDate = gss[0]; String targetDate = gss[1]; DateConverter dateConverter = new DateConverter(); dateConverter.setAsText(sourceDate); Date sDate = dateConverter.getValue(); Date tDate = new Date(); if (StringUtils.isNotBlank(targetDate)) { dateConverter.setAsText(targetDate); tDate = dateConverter.getValue(); } reval = String.valueOf(TimeUnit.DAYS.convert(Math.abs(sDate.getTime()-tDate.getTime()),TimeUnit.MILLISECONDS)); }else if ("dateformat".equals(funStr)) { if (gss[0].indexOf("date") != -1) { gss[0] = calculate(gss[0]); } gss[0] = gss[0].replaceAll("`", "-"); gss[1] = gss[1].replaceAll("`", "-"); Date date; try { if("''".equalsIgnoreCase(gss[0])) { gss[0] = VciDateUtil.getNowString(); } DateConverter dateConverter =new DateConverter(); dateConverter.setAsText(gss[0]); date = dateConverter.getValue(); reval = VciDateUtil.date2Str(date, gss[1].replace("&"," ")); return reval; } catch (Exception e) { e.printStackTrace(); formulaError(); } } else if ("nowDatetime".equals(funStr)) { reval = VciDateUtil.getNowString(); } else if ("dayOf".equals(funStr)) { if (gss[0].indexOf("date") != -1) { gss[0] = calculate(gss[0]); } gss[0] = gss[0].replaceAll("`", "-"); try { Date date = VciDateUtil.str2Date(gss[0], "yyyy-MM-dd"); reval = date.getDate() + ""; return reval; } catch (Exception e) { e.printStackTrace(); formulaError(); } } else if ("nowNon".equals(funStr)) { try { reval = VciDateUtil.getNowString("MM"); return reval; } catch (Exception e) { e.printStackTrace(); formulaError(); } } else if ("monOf".equals(funStr)) { if (gss[0].indexOf("date") != -1) { gss[0] = calculate(gss[0]); } gss[0] = gss[0].replaceAll("`", "-"); try { Date date = VciDateUtil.str2Date(gss[0], "yyyy-MM-dd"); reval = date.getMonth() + ""; return reval; } catch (Exception e) { e.printStackTrace(); formulaError(); } } else if ("nowTime".equals(funStr)) { reval = VciDateUtil.getNowString("HH:mm:ss"); return reval; } else if ("nowYear".equals(funStr)) { reval = VciDateUtil.getNowString("yyyy"); return reval; } else if ("yearOf".equals(funStr)) { if (gss[0].indexOf("date") != -1) { gss[0] = calculate(gss[0]); } gss[0] = gss[0].replaceAll("`", "-"); try { Date date = VciDateUtil.str2Date(gss[0], "yyyy-MM-dd"); reval = date.getYear() + 1900 + ""; return reval; } catch (Exception e) { e.printStackTrace(); formulaError(); } } else if ("getChineseCurrency".equals(funStr)) { gss[0] = calculate(gss[0]); reval = toChineseCurrency(gss[0]); } else if ("setThmark".equals(funStr)) { String numstr = ""; String[] number = gss[0].split("\\."); //logger.debug(number[0]); for (int i = number[0].length() - 1; i >= 0; i--) { if (i % 3 == 2 && i < number[0].length() - 1) { numstr += ","; } numstr += number[0].charAt(i); } reval = ""; for (int i = numstr.toCharArray().length - 1; i >= 0; i--) { reval += numstr.toCharArray()[i]; } if (gss[0].indexOf(".") != -1) { reval += "." + number[1]; } } else if ("toChinese".equals(funStr)) { gss[0] = calculate(gss[0]); //logger.debug(gss[0]); reval = toChinese(gss[0]); } else if ("getcolvalue".equals(funStr)) { if (gss[0].trim().length() == 0 || gss[1].trim().length() == 0 || gss[2].trim().length() == 0 || gss[3].trim().length() == 0 || gss[4].trim().length() == 0) { formulaError(); return reval; } reval = getColValue(gss[0], gss[1], gss[2], gss[3], gss[4]); }else if("getValueByMethod".equalsIgnoreCase(funStr)){ if (gss[0].trim().length() == 0 || gss[1].trim().length() == 0 || gss[2].trim().length() == 0) { formulaError(); return reval; } reval = getValueByMethod(gss[0], gss[1], gss[2]); } return reval; } // é»è¾è¡¨è¾¾å¼å¤æ private boolean compare(String str) { if ("true".equals(calculate(str))) { return true; } else if ("false".equals(calculate(str))) { return false; } boolean flag = false; boolean bs = false; int len = str.length(); int bracket = 0; String ljbds = ""; double d_left = 0; double d_right = 0; for (int i = 0; i < len; i++) { String s = String.valueOf(str.charAt(i)); if ("(".equals(s)) { bracket++; } else if (")".equals(s)) { bracket--; } if (bracket == 0 && lj.contains(s)) { for (int j = i; j < len; j++) { String ts = String.valueOf(str.charAt(j)); if (lj.contains(ts)) { ljbds += ts; } else { bs = true; break; } } } if (bs) { break; } } //logger.debug("é»è¾è¡¨è¾¾å¼ï¼" + ljbds); String[] s = str.split(ljbds); //logger.debug("左边ï¼" + (s[0])); //logger.debug("å³è¾¹ï¼" + (s[1])); if (isNumber(calculate(s[0])) && isNumber(calculate(s[1]))) { d_left = new Double(calculate(s[0])); d_right = new Double(calculate(s[1])); } else { formulaError(); return false; } if ("<".equals(ljbds)) { if (d_left < d_right) { return true; } } else if (">".equals(ljbds)) { if (d_left > d_right) { return true; } } else if ("=".equals(ljbds)) { if (d_left == d_right) { return true; } } else if (">=".equals(ljbds)) { if (d_left >= d_right) { return true; } } else if ("<=".equals(ljbds)) { if (d_left <= d_right) { return true; } } else if ("<>".equals(ljbds) || "!=".equals(ljbds)) { if (d_left != d_right) { return true; } } else { formulaError(); } return flag; } /** * 使ç¨å ¬å¼è®¡ç®ç»æ * @param dataMap æ¬åºæ¯åéçå¼ * @param calculateString å ¬å¼çå 容 * @return æ§è¡åçå¼ */ public String getValueByFormula(Map<String,String> dataMap,String calculateString){ final String[] finalRule = new String[]{calculateString}; if(!CollectionUtils.isEmpty(dataMap)){ dataMap.forEach((key,value)->{ if(value == null){ value = ""; } finalRule[0] = finalRule[0].replace("${" + key + "}",value); }); } return calculate(finalRule[0]); } /** * éå½è°ç¨è¿ç®ï¼æ³¨æåééè¦èªè¡æ¿æ¢ * * @param str * @return */ public String calculate(String str) { str = this.strCast(str); if (!formulaBlag) { //logger.debug("å ¬å¼ä¸æ£ç¡®"); return str; } boolean onlyFunction = str.length()>2 && str.startsWith("->"); if(onlyFunction){ str = str.substring(2); } //éè¦æ¿æ¢ç³»ç»åé Map<String, String> systemVarValueMap = VciSystemVarConstants.getSystemVarValueMap(); if(!CollectionUtils.isEmpty(systemVarValueMap)){ final String[] finalStr = new String[]{str}; systemVarValueMap.forEach((key,value)->{ if(value == null){ value = ""; } finalStr[0] = finalStr[0].replace( key,value); }); str = finalStr[0]; } String reval = ""; String bds = ""; int bracket = 0;// å¯¹åºæ¬å·ä¸ªæ° int pos = 0; boolean title = false; // å¦æä»¥è´æ°å¼å¤´ï¼å 廿è´å· if (str.substring(0, 1).equals("-")) { str = str.substring(1); title = true; } int len = str.length(); for (int i = 0; i < len; i++) { String s = String.valueOf(str.charAt(i)); pos = i; bracket = 0; if (!lc.contains(s)) {// å¦ææ²¡éå°è¿ç®ç¬¦ if ("(".equals(s)) {// 妿éå°å·¦æ¬å· if (funMap.containsKey(bds)) {// 妿左æ¬å·åæ¯å½æ° for (int j = i + 1; j < len; j++) {// ä»å·¦æ¬å·åå¼å§å¾ªç¯ pos++;// 累计移å¨åç¬¦ä½æ° String ts = String.valueOf(str.charAt(j));// å个å符 // reval+=ts; if ("(".equals(ts))// 妿æ¯å·¦æ¬å·ç´¯è®¡ { bracket++; } else if (")".equals(ts)) {// 妿æ¯å³æ¬å·è¿è¡åå° bracket--; if (bracket == -1) {// 妿æ¯-1,æ è¯æ¬å·ç»æ reval = reval.substring(0, reval.length() - bds.length());// éæ°è·å¾å»æå½æ°å¤´çè¡¨è¾¾å¼ reval += this.funCalculate( str.substring(i + 1, j), bds);// 表达å¼å ä¸å½æ°ç»æ,å½¢ææ°è¡¨è¾¾å¼ i = pos;// 计æ°å¨å¢å bds = "";// 彿°å¤´æ¸ 空 break;// éåºæ¬æ¬¡å¾ªç¯ } } } } else if ("".equals(bds) || lc.contains(bds)) {// å¦ææ¯æ®éè¿ç® //logger.debug("æ®éè¿ç®"); for (int j = i + 1; j < len; j++) { pos++; String ts = String.valueOf(str.charAt(j)); if ("(".equals(ts)) { bracket++; } else if (")".equals(ts)) { bracket--; if (bracket == -1) { logger.debug("å½å计ç®çå符串为ï¼" + str.substring(i + 1, pos)); reval += calculate(str .substring(i + 1, pos)); i = pos; bds = ""; break; } } } } else { logger.debug("æ²¡ææ¤å½æ°"); formulaError(); } } else {// ç´¯å æ»è¡¨è¾¾å¼åæåä¸ä¸ªè¿ç®æ°(æå½æ°) bds += s; reval += s; } } else {// éå°è¿ç®ç¬¦æåä¸ä¸ªè¿ç®æ°(æå½æ°)æ¸ ç©º bds = ""; reval += s; } } // å¦æä¸ºè´æ° å¨åé¢å è´å· if (title) { reval = "0-" + reval; } if(onlyFunction){ return reval; } String result = basicOperation(reval); logger.debug("计ç®ç»æ" + result); return result; } /** * 彿°è¿ç® * * @param gs * @param funStr * @return */ private String funCalculate(String gs, String funStr) { String rval = "0"; logger.debug("彿°åï¼" + funStr); if (funMap.containsKey(funStr)) { int[] csi = funMap.get(funStr); try { if (csi[0] == 0) {// javaå é¨å½æ°,éè¿åå°è°ç¨ Class[] cs = new Class[csi[1]]; Object[] objs = new Object[csi[1]]; String[] gss = splitParameter(gs); for (int i = 0; i < csi[1]; i++) { cs[i] = double.class; objs[i] = new Double(calculate(gss[i])); } Class cls = Class.forName("java.lang.Math"); Method m = cls.getMethod(funStr, cs); logger.debug("æ¹æ³åï¼" + m); rval = String.valueOf(m.invoke(cls, objs)); } else if (csi[0] == 1) {// èªå®ä¹å½æ° rval = customFun(gs, funStr); } } catch (Exception e) { e.printStackTrace(); } } return rval; } // å ¬å¼éçåæ°åå² public static String[] splitParameter(String str) { int len = str.length(); boolean flag = true; String tstr = ""; for (int i = 0; i < len; i++) { String s = String.valueOf(str.charAt(i)); if ("(".equals(s)) { flag = false; } else if (")".equals(s)) { flag = true; } if (flag && ",".equals(s)) { tstr += "@"; } else { tstr += s; } } return tstr.split("@"); } /** * ååè¿ç®è¡¨è¾¾å¼å¤ç * * @param gs * @return */ private String basicOperation(String gs) { gs = gs + "+0"; // å 为ä¸é¢çè®¡ç®æ¯éå°ç¬¦å·æè¿è¡,æä»¥å¤å å ¥ä¸ä¸ªè®¡ç®ç¬¦å·,ä¸å½±åå¼. if(gs.indexOf("-")>-1){//å 嫿-å·æè æ¯è´æ° if(gs.startsWith("-")) { gs = "0" + gs; } // if(gs.indexOf("-")>0&&lc.contains(gs.substring(gs.indexOf("-")-1,gs.indexOf("-")))){//ç´§æ¨çæè¾¹å°±æ¯è¿ç®ç¬¦,æä¹åå // //gs = gs.substring(0,gs.indexOf("-")-1) + "(0" + gs.substring(gs.indexOf("-")) // } } String c1 = "";// 第ä¸ä¸ªè¿ç®ç¬¦å· String c2 = "";// 第äºä¸ªè¿ç®ç¬¦å· String s1 = "";// 第ä¸ä¸ªè¿ç®æ° String s2 = "";// 第äºä¸ªè¿ç®æ° String s3 = "";// 第ä¸ä¸ªè¿ç®æ° int len = gs.length(); for (int i = 0; i < len; i++) { String s = String.valueOf(gs.charAt(i));// è·å¾è¯¥ä½ç½®åç¬¦å¹¶è½¬æ¢æåç¬¦ä¸²åæ¯è¾ if (lc.contains(s)) { // 妿æ¯è¿ç®ç¬¦å· if (c1.length() == 0)// å¦æç¬¬ä¸ä¸ªè¿ç®ç¬¦å·ä¸ºç©º,å å ¥ { c1 = s; } else if (c2.length() == 0) {// å¦å,å¦æç¬¬äºä¸ªè¿ç®ç¬¦å·ä¸ºç©º,å å ¥ c2 = s;// 第äºä¸ªè¿ç®ç¬¦å· if ("+".equals(c2) || "-".equals(c2)) {// å¦æç¬¬äºä¸ªè¿ç®ç¬¦å·çº§å«ä½,é£ä¹è¿è¡è®¡ç® if(s2.trim().length()>0){ s1 = this.operation(s1, c1, s2);// 第ä¸ä¸ªå第äºä¸ªæ°è®¡ç® c1 = c2;// ä¿å第äºä¸ªè¿ç®ç¬¦,å ¶ä»ä¸ºç©º c2 = ""; s2 = ""; }else{//s2è¿æ²¡åºç° s2=this.calculate(gs.substring(i)); s1 = this.operation(s1, c1, s2); break; } } } else {// ä¸è¿°é½ä¿åè¿ if ("+".equals(s) || "-".equals(s)) {// å¦æç¬¬ä¸ä¸ªè¿ç®ç¬¦çº§å«ä½,è¿è¡è¿ç® s2 = this.operation(s2, c2, s3);// å ç®ç¬¬äºä¸ä¸ªæ°,ä¿åè³ç¬¬äºä¸ª s1 = this.operation(s1, c1, s2);// åç®ç¬¬ä¸äºä¸ª,ä¿åè³ç¬¬ä¸ä¸ª c1 = s;// ä¿åå½åè¿ç®ç¬¦,å ¶ä»ä¸ºç©º s2 = ""; c2 = ""; s3 = ""; } else {// å¦æç¬¬ä¸ä¸ªè¿ç®ç¬¦çº§å«é« s2 = this.operation(s2, c2, s3);// å ç®ç¬¬äºä¸ä¸ªæ°,ä¿åè³ç¬¬äºä¸ª c2 = s;// åé¢ä¸å¨,ä¿åè¿ç®ç¬¦ s3 = ""; } } } else if (s1.length() > 0 && c1.length() > 0 && c2.length() == 0) {// å¦æç¬¬ä¸ä¸ªæ°,第ä¸ä¸ªè¿ç®ç¬¦å·²ä¿å,第äºä¸ªè¿ç®ç¬¦æªä¿å,ä¿å第äºå¥æ° s2 += s; } else if (c1.length() == 0) {// å¦ææ²¡æè¿ç®ç¬¦,ä¿å第ä¸ä¸ªæ° s1 += s; } else if (s1.length() > 0 && s2.length() > 0 && c1.length() > 0 && c2.length() > 0) {// å¦æç¬¬ä¸äºä¸ªæ°åè¿ç®ç¬¦é½æ,ä¿å第ä¸ä¸ªæ° s3 += s; } } return s1; } /** * åºæ¬ååè¿ç® * * @param c1 * è¿ç®æ°1 * @param s1 * è¿ç®ç¬¦(å åä¹é¤) * @param c2 * è¿ç®æ°2 * @return */ private String operation(String c1, String s1, String c2) { String reval = "0"; String c22 = ""; try { for (int i = 0; i < c2.length(); i++) { String s = String.valueOf(c2.charAt(i)); if (lj.contains(s)) { break; } c22 += s; } if (isNumber(c1) && isNumber(c22)) { BigDecimal ln = new BigDecimal(c1.trim()); BigDecimal rn = new BigDecimal(c2.trim()); if ("+".equals(s1)) { return ln.add(rn).doubleValue() + ""; } else if ("-".equals(s1)) { return ln.subtract(rn).doubleValue() + ""; } else if ("*".equals(s1)) { return ln.multiply(rn).doubleValue() + ""; } else if ("/".equals(s1)) { if (rn.doubleValue() == 0) { return reval; } else { return ln.divide(rn, 10, BigDecimal.ROUND_HALF_UP) + ""; } } } else { this.formulaError(); return c1+s1+c2; } } catch (Exception e) { this.formulaError(); e.printStackTrace(); } finally { } return reval; } private Boolean isNumber(String str) { return StringUtils.isNotBlank(str) && str.matches("(-)?([1-9]+[0-9]*|0)(\\.[\\d]+)?"); } private String formulaError() { formulaBlag = false; //logger.debug("å ¬å¼éªè¯å¤±è´¥ï¼è¯·éæ°è¾å ¥"); return "fail"; } public String toChineseCurrency(String value) { String doubleValue = this.calculate("doubleround(" + value + ",2)"); String fushu = ""; if (doubleValue.indexOf("-") == 0) { fushu = "è´"; doubleValue = doubleValue.substring(1); // formulaError(); // return ""; } char[] hunit = { 'æ¾', 'ä½°', 'ä»' }; // 段å ä½ç½®è¡¨ç¤º char[] vunit = { 'ä¸', '亿' }; // 段å表示 char[] digit = { 'é¶', '壹', 'è´°', 'å', 'è', 'ä¼', 'é', 'æ', 'æ', 'ç' }; // æ°å表示 //double midVal = (Double.parseDouble(doubleValue) * 100); // è½¬åææ´å½¢ //String valStr = String.valueOf(midVal); // 转åæå符串 //String head = valStr.substring(0, valStr.length() - 2); // åæ´æ°é¨å //String rail = valStr.substring(valStr.length() - 2); // åå°æ°é¨å String head = ""; String rail = "00"; if(doubleValue.indexOf(".")>-1){ head = doubleValue.substring(0,doubleValue.indexOf(".")); rail = doubleValue.substring(doubleValue.indexOf(".")+1); if(rail.trim().length() == 1) { rail += "0";//å¿ é¡»è¦ä¿è¯æå } } else { head = doubleValue; } String prefix = ""; // æ´æ°é¨å转åçç»æ String suffix = ""; // å°æ°é¨å转åçç»æ // å¤çå°æ°ç¹åé¢çæ° if (rail.equals("00")) { // 妿尿°é¨å为0 suffix = "æ´"; } else { suffix = digit[rail.charAt(0) - '0'] + "è§" + digit[rail.charAt(1) - '0'] + "å"; // å¦åæè§å转ååºæ¥ } // å¤çå°æ°ç¹åé¢çæ° char[] chDig = head.toCharArray(); // ææ´æ°é¨å转åæå符æ°ç» char zero = '0'; // æ å¿'0'表示åºç°è¿0 byte zeroSerNum = 0; // è¿ç»åºç°0çæ¬¡æ° for (int i = 0; i < chDig.length; i++) { // 循ç¯å¤çæ¯ä¸ªæ°å int idx = (chDig.length - i - 1) % 4; // åæ®µå ä½ç½® int vidx = (chDig.length - i - 1) / 4; // åæ®µä½ç½® if (chDig[i] == '0') { // 妿å½åå符æ¯0 zeroSerNum++; // è¿ç»0次æ°éå¢ if (zero == '0') { // æ å¿ zero = digit[0]; } else if (idx == 0 && vidx > 0 && zeroSerNum < 4) { prefix += vunit[vidx - 1]; zero = '0'; } continue; } zeroSerNum = 0; // è¿ç»0æ¬¡æ°æ¸ é¶ if (zero != '0') { // 妿æ å¿ä¸ä¸º0,åå ä¸,ä¾å¦ä¸,亿ä»ä¹ç prefix += zero; zero = '0'; } prefix += digit[chDig[i] - '0']; // 转å该æ°å表示 if (idx > 0) { prefix += hunit[idx - 1]; } if (idx == 0 && vidx > 0) { prefix += vunit[vidx - 1]; // æ®µç»æä½ç½®åºè¯¥å 䏿®µåå¦ä¸,亿 } } if (prefix.length() > 0) { prefix += 'å'; // å¦ææ´æ°é¨ååå¨,åæåçåæ · } return fushu + prefix + suffix; // è¿åæ£ç¡®è¡¨ç¤º } private String toChinese(String value) { if (!isNumber(value)) { this.formulaError(); return ""; } String fu = ""; // 妿æ¯è´æ°åé¢å è´ if (value.indexOf("-") == 0) { value = value.substring(1); fu += "è´"; } char[] hunit = { 'æ¾', 'ä½°', 'ä»' }; // 段å ä½ç½®è¡¨ç¤º char[] vunit = { 'ä¸', '亿' }; // 段å表示 char[] digit = { 'é¶', 'ä¸', 'äº', 'ä¸', 'å', 'äº', 'å ', 'ä¸', 'å «', 'ä¹' }; // æ°å表示 String head = ""; String rail = ""; String prefix = ""; // æ´æ°é¨å转åçç»æ String suffix = ""; // å°æ°é¨å转åçç»æ if (value.indexOf(".") != -1 && value.indexOf(".") < value.length() - 1) { String[] number = value.split("\\."); head = number[0]; // åæ´æ°é¨å rail = number[1]; suffix += "ç¹"; } else { head = value; } // å¤çå°æ°ç¹åé¢çæ° for (int i = 0; i < rail.length(); i++) { suffix += digit[rail.charAt(i) - '0']; } // å¤çå°æ°ç¹åé¢çæ° char[] chDig = head.toCharArray(); // ææ´æ°é¨å转åæå符æ°ç» char zero = '0'; // æ å¿'0'表示åºç°è¿0 byte zeroSerNum = 0; // è¿ç»åºç°0çæ¬¡æ° for (int i = 0; i < chDig.length; i++) { // 循ç¯å¤çæ¯ä¸ªæ°å int idx = (chDig.length - i - 1) % 4; // åæ®µå ä½ç½® int vidx = (chDig.length - i - 1) / 4; // åæ®µä½ç½® if (chDig[i] == '0') { // 妿å½åå符æ¯0 zeroSerNum++; // è¿ç»0次æ°éå¢ if (zero == '0') { // æ å¿ zero = digit[0]; } else if (idx == 0 && vidx > 0 && zeroSerNum < 4) { prefix += vunit[vidx - 1]; zero = '0'; } continue; } zeroSerNum = 0; // è¿ç»0æ¬¡æ°æ¸ é¶ if (zero != '0') { // 妿æ å¿ä¸ä¸º0,åå ä¸,ä¾å¦ä¸,亿ä»ä¹ç prefix += zero; zero = '0'; } prefix += digit[chDig[i] - '0']; // 转å该æ°å表示 if (idx > 0) { prefix += hunit[idx - 1]; } if (idx == 0 && vidx > 0) { prefix += vunit[vidx - 1]; // æ®µç»æä½ç½®åºè¯¥å 䏿®µåå¦ä¸,亿 } } return fu + prefix + suffix; // è¿åæ£ç¡®è¡¨ç¤º } private String getColValue(String servername, String tableName, String fieldname, String pkfield, String pkvalue) { //ææ¶ä¸æ¯æserverçæ¹å¼ String sql = "select " + fieldname.trim() + " from " + tableName.trim() + " where " + pkfield + " = '" + pkvalue+"'"; // Map<String,String> param = new HashMap<String, String>(); // param.put(pkfield, pkvalue); String str = ""; try{ List data = commonsMapper.selectById(sql); if(data != null || data.size() > 0) { str = (String) ((HashMap) data.get(0)).get(fieldname.trim()); } }catch(Exception e){ } return str; } private String getValueByMethod(String serviceName,String methods,String paramsString){ //ææ¶ä¸æ¯æéè¿æ¹æ³æ¥è·åå¼ return paramsString; } public static void main(String[] args) { } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1,57 +1,10 @@ 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.extension.service.IService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sun.corba.se.impl.orbutil.ObjectUtility; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.dto.datapush.BaseModelDTO; import com.vci.ubcs.code.entity.CodeAllCode; import com.vci.ubcs.code.entity.CodeOsbtmtypeEntity; import com.vci.ubcs.code.entity.CodeRule; import com.vci.ubcs.code.entity.CodeWupinEntity; import com.vci.ubcs.code.enumpack.CodeDefaultLC; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; import com.vci.ubcs.code.mapper.CodeAllCodeMapper; import com.vci.ubcs.code.mapper.CodeOsbtmtypeMapper; import com.vci.ubcs.code.mapper.CodeRuleMapper; import com.vci.ubcs.code.service.*; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.omd.entity.Dict; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.model.BaseModel; import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import com.vci.ubcs.starter.web.toolmodel.DateConverter; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.VciDateUtil; import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO; import com.vci.ubcs.starter.web.util.WebUtil; import com.vci.ubcs.system.entity.DictBiz; import com.vci.ubcs.system.feign.IDictBizClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; /** * ä¸»æ°æ®å¼ææå¡ @@ -62,395 +15,455 @@ @Service public class MdmEngineServiceImpl extends ServiceImpl<CodeAllCodeMapper, CodeAllCode> implements MdmEngineService { /** * 模æ¿çæå¡ */ @Resource private CodeClstemplateServiceImpl templateService; /** * 模æ¿çæå¡ */ @Resource private CodeOsbtmtypeMapper codeOsbtmtypeMapper; /** * çæç¼ç çæå¡ */ @Resource private MdmProductCodeService productCodeService; /** * åå ¸çæå¡ */ @Resource IDictBizClient iDictBizClient; /** * ç¼ç è§åçæå¡ */ @Autowired private ICodeRuleService ruleService; /** * åç±»çæå¡ */ @Resource private ICodeClassifyService classifyService; /** * å ³é®å±æ§çé ç½® */ @Autowired private ICodeKeyattrrepeatService keyRuleService; /** * æ¥å¿ */ private Logger logger = LoggerFactory.getLogger(getClass()); // @Autowired // private CodeOsbtmtypeMapper codeOsbtmtypeMapper; /** * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ * * @param codeClassifyOid åç±»çä¸»é® * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ */ @Override public CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid) { return getUsedTemplateByClassifyOid(codeClassifyOid, true); } /** * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ * * @param codeClassifyOid åç±»çä¸»é® * @param hasAttr å å«å±æ§ * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ */ @Override public CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr) { List<CodeClstemplateVO> templateVOs = templateService.listReleaseTemplateByClassifyOid(codeClassifyOid, hasAttr); return templateVOs.get(templateVOs.size() - 1); } /** * è·åæä¸¾ç䏿é项 * * @param attrVO 模æ¿å±æ§ç对象 * @return 䏿é项 */ @Override public List<KeyValue> listComboboxItems(CodeClassifyTemplateAttrVO attrVO) { List<KeyValue> comboboxKVs = null; if (StringUtils.isNotBlank(attrVO.getEnumString())) { comboboxKVs = JSONObject.parseArray(attrVO.getEnumString(), KeyValue.class); } else { // comboboxKVs = enumService.getEnum(attrVO.getEnumid()); // Dict dict = new Dict(); // dict.setParentId(Long.valueOf(attrVO.getEnumid())); R<List<DictBiz>> list = iDictBizClient.getList(attrVO.getEnumId()); if(list.isSuccess()){ for (DictBiz datum : list.getData()) { KeyValue keyValue = new KeyValue(); keyValue.setKey(datum.getDictKey()); keyValue.setValue(datum.getDictValue()); comboboxKVs.add(keyValue); } } } return comboboxKVs; } /** * ä¿®æ¹ç¶æ * * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ */ @Override public void changeStatus(BaseModelDTO baseModelDTO) { VciBaseUtil.alertNotNull(baseModelDTO, "æ°æ®ä¿¡æ¯", baseModelDTO.getOid(), "主é®", baseModelDTO.getBtmname(), "ä¸å¡ç±»å", baseModelDTO.getLcStatus(), "ç®æ ç¶æ"); List<String> oids = VciBaseUtil.str2List(baseModelDTO.getOid()); // List<ClientBusinessObject> cboList = boService.selectCBOByOidCollection(oids, baseModelDTO.getBtmname()); //æä¸ªç¹ ä¸å¡ç±»å宿åéè¦ä¿®æ¹ QueryWrapper<CodeOsbtmtypeEntity> wrapper = new QueryWrapper<>(); wrapper.eq("BTMNAME",baseModelDTO.getBtmname()); wrapper.in("OID",oids); List<CodeOsbtmtypeEntity> cboList = codeOsbtmtypeMapper.selectList(wrapper); //è¿éè¦ä¿®æ¹allCodeççå½å¨æ // Map<String, String> conditionMap = new HashMap<>(); QueryWrapper<CodeAllCode> allCodeWrapper = new QueryWrapper<>(); allCodeWrapper.eq("createcodebtm",baseModelDTO.getBtmname()); allCodeWrapper.in("createcodeoid",oids); // conditionMap.put("createcodeoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")"); // conditionMap.put("createcodebtm", baseModelDTO.getBtmname()); List<CodeAllCode> codeCbos = baseMapper.selectList(allCodeWrapper); // List<ClientBusinessObject> codeCbos = boService.queryCBO(MdmBtmTypeConstant.CODE_ALL_CODE, conditionMap); // åæ¶éè¦ä¸å¡æ°æ®å é¤ // /** // * 模æ¿çæå¡ // */ // @Resource // private CodeClstemplateServiceImpl templateService; // /** // * 模æ¿çæå¡ // */ // @Resource // private CodeOsbtmtypeMapper codeOsbtmtypeMapper; // /** // * çæç¼ç çæå¡ // */ // @Resource // private MdmProductCodeService productCodeService; // /** // * åå ¸çæå¡ // */ // @Resource // IDictBizClient iDictBizClient; // /** // * å ¬å¼çæå¡ // */ // @Autowired // private FormulaServiceImpl formulaService; // // /** // * éç¨æ¥è¯¢ // */ // @Resource // CommonsMapper commonsMapper; // /** // * ç¼ç è§åçæå¡ // */ // @Autowired // private ICodeRuleService ruleService; // // /** // * åç±»çæå¡ // */ // @Resource // private ICodeClassifyService classifyService; // // /** // * å ³é®å±æ§çé ç½® // */ // @Autowired // private ICodeKeyattrrepeatService keyRuleService; // /** // * æ¥å¿ // */ // private Logger logger = LoggerFactory.getLogger(getClass()); // // /** // * ç©ºæ ¼ // */ // public static final String SPACE = " "; // // /** // * å¯çº§çåæ®µ // */ // public static final String SECRET_FILED = "secretgrade"; // /** // * ç¨æ·æ°å¢æ°æ®çæ¶åå¯ä»¥æ¥ççå¯çº§ // */ // public static final String MY_DATA_SECRET = "myDataSecret"; // /** // * æ·è´ççæ¬ // */ // public static final String COPY_FROM_VERSION = "copyfromversion"; // /** // * åªæ¯sql // */ // public static final String ONLY = "${vcionly}"; // // /** // * é»è®¤çæ¶é´æ ¼å¼ // */ // private static final String DATETIME_FORMAT = "yyyy-mm-dd hh24:mi:ss"; // // /** // * æ¥ææ ¼å¼ // */ // private static final String DATE_FORMAT = "yyyy-mm-dd"; // // /** // * å¿ è¾ // */ // public static final String REQUIRED_CHAR = "*"; // /** // * æ¿æ¢å符 // */ // public static final String SPECIAL_CHAR = "VCI"; //// @Autowired //// private CodeOsbtmtypeMapper codeOsbtmtypeMapper; // // // // /** // * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ // * // * @param codeClassifyOid åç±»çä¸»é® // * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ // */ // @Override // public CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid) { // return getUsedTemplateByClassifyOid(codeClassifyOid, true); // } // // /** // * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ // * // * @param codeClassifyOid åç±»çä¸»é® // * @param hasAttr å å«å±æ§ // * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ // */ // @Override // public CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr) { // List<CodeClstemplateVO> templateVOs = templateService.listReleaseTemplateByClassifyOid(codeClassifyOid, hasAttr); // return templateVOs.get(templateVOs.size() - 1); // } // // /** // * è·åæä¸¾ç䏿é项 // * // * @param attrVO 模æ¿å±æ§ç对象 // * @return 䏿é项 // */ // @Override // public List<KeyValue> listComboboxItems(CodeClassifyTemplateAttrVO attrVO) { // List<KeyValue> comboboxKVs = null; // if (StringUtils.isNotBlank(attrVO.getEnumString())) { // comboboxKVs = JSONObject.parseArray(attrVO.getEnumString(), KeyValue.class); // } else { //// comboboxKVs = enumService.getEnum(attrVO.getEnumid()); //// Dict dict = new Dict(); //// dict.setParentId(Long.valueOf(attrVO.getEnumid())); // R<List<DictBiz>> list = iDictBizClient.getList(attrVO.getEnumId()); // if(list.isSuccess()){ // for (DictBiz datum : list.getData()) { // KeyValue keyValue = new KeyValue(); // keyValue.setKey(datum.getDictKey()); // keyValue.setValue(datum.getDictValue()); // comboboxKVs.add(keyValue); // } // } // } // return comboboxKVs; // } // /** // * ä¿®æ¹ç¶æ // * // * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ // */ // @Override // public void changeStatus(BaseModelDTO baseModelDTO) { // VciBaseUtil.alertNotNull(baseModelDTO, "æ°æ®ä¿¡æ¯", baseModelDTO.getOid(), "主é®", baseModelDTO.getBtmname(), "ä¸å¡ç±»å", baseModelDTO.getLcStatus(), "ç®æ ç¶æ"); // List<String> oids = VciBaseUtil.str2List(baseModelDTO.getOid()); //// List<ClientBusinessObject> cboList = boService.selectCBOByOidCollection(oids, baseModelDTO.getBtmname()); // //æä¸ªç¹ ä¸å¡ç±»å宿åéè¦ä¿®æ¹ // QueryWrapper<CodeOsbtmtypeEntity> wrapper = new QueryWrapper<>(); // wrapper.eq("BTMNAME",baseModelDTO.getBtmname()); // wrapper.in("OID",oids); // List<CodeOsbtmtypeEntity> cboList = codeOsbtmtypeMapper.selectList(wrapper); // //è¿éè¦ä¿®æ¹allCodeççå½å¨æ //// Map<String, String> conditionMap = new HashMap<>(); // QueryWrapper<CodeAllCode> allCodeWrapper = new QueryWrapper<>(); // allCodeWrapper.eq("createcodebtm",baseModelDTO.getBtmname()); // allCodeWrapper.in("createcodeoid",oids); //// conditionMap.put("createcodeoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")"); //// conditionMap.put("createcodebtm", baseModelDTO.getBtmname()); // List<CodeAllCode> codeCbos = baseMapper.selectList(allCodeWrapper); //// List<ClientBusinessObject> codeCbos = boService.queryCBO(MdmBtmTypeConstant.CODE_ALL_CODE, conditionMap); // // åæ¶éè¦ä¸å¡æ°æ®å é¤ // if (CodeDefaultLC.TASK_BACK.getValue().equals(baseModelDTO.getLcStatus())) { //// BatchCBO batchCBO = new BatchCBO(); //// batchCBO.getDeleteCbos().addAll(cboList); // codeOsbtmtypeMapper.deleteBatchIds(cboList); //// boService.persistenceBatch(batchCBO); // } else { // lifeCycleService.transCboStatus(cboList, baseModelDTO.getLcStatus()); //// lifeCycleService.transCboStatus(cboList, baseModelDTO.getLcStatus()); // } // lifeCycleService.transCboStatus(codeCbos, baseModelDTO.getLcStatus()); } /** * ç³è¯·åä¸ç¼ç * * @param orderDTO ç³è¯·çä¿¡æ¯ï¼éè¦å å«å±æ§çå 容åç æ®µç¸å ³çå 容 * @return è¿åç¼ç çå 容 */ @Override public String addSaveCode(CodeOrderDTO orderDTO) { VciBaseUtil.alertNotNull(orderDTO, "ç¼ç ç³è¯·ç¸å ³ç屿§åç æ®µçå 容é½ä¸ºç©º", orderDTO.getCodeClassifyOid(), "主é¢åºåç±»ç主é®", orderDTO.getTemplateOid(), "模æ¿ç主é®", orderDTO.getCodeRuleOid(), "ç¼ç è§åç主é®"); CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); CodeClstemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid()); CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid()); //1.夿è§åä¸é¤äºæµæ°´ç æ®µï¼æ¯å¦æå ¶ä»ç 段 checkSecValueOnOrder(ruleVO, orderDTO); //2.å¤æå¿ è¾é¡¹ checkRequiredAttrOnOrder(templateVO, orderDTO); //3.å æ³¨å ¥ï¼åç»åï¼æåæ ¡éª switchClassifyLevelOnOrder(templateVO, classifyFullInfo, orderDTO); //4.å¤çç»åè§åãç»åè§åä¸è½ä½¿ç¨ç¼ç ç屿§ï¼å 为ç¼ç ççæå¯è½æ¯éè¦å±æ§ç switchComponentAttrOnOrder(templateVO, orderDTO); //5.æ ¡éªè§å checkVerifyOnOrder(templateVO, orderDTO); //6.å ³é®å±æ§ checkKeyAttrOnOrder(classifyFullInfo, templateVO, orderDTO); //7.æä¸¾è½¬æ¢ checkEnumOnOrder(templateVO, orderDTO); //8.å¤çæ¶é´æ ¼å¼ï¼å¨æ°æ®åºéé¢ä¸è®ºæ¯åç¬¦ä¸²è¿æ¯æ¥ææ ¼å¼ï¼é½ä½¿ç¨ç¸åçæ ¼å¼åå¨ switchDateAttrOnOrder(templateVO, orderDTO); //9.çæç¼ç çä¿¡æ¯ // ClientBusinessObject cbo = boService.createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()); //// lifeCycleService.transCboStatus(codeCbos, baseModelDTO.getLcStatus()); // } // // // /** // * ç³è¯·åä¸ç¼ç // * // * @param orderDTO ç³è¯·çä¿¡æ¯ï¼éè¦å å«å±æ§çå 容åç æ®µç¸å ³çå 容 // * @return è¿åç¼ç çå 容 // */ // @Override // public String addSaveCode(CodeOrderDTO orderDTO) { // VciBaseUtil.alertNotNull(orderDTO, "ç¼ç ç³è¯·ç¸å ³ç屿§åç æ®µçå 容é½ä¸ºç©º", orderDTO.getCodeClassifyOid(), "主é¢åºåç±»ç主é®", // orderDTO.getTemplateOid(), "模æ¿ç主é®", orderDTO.getCodeRuleOid(), "ç¼ç è§åç主é®"); // CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); // CodeClstemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid()); // CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid()); // //1.夿è§åä¸é¤äºæµæ°´ç æ®µï¼æ¯å¦æå ¶ä»ç 段 // checkSecValueOnOrder(ruleVO, orderDTO); // //2.å¤æå¿ è¾é¡¹ // checkRequiredAttrOnOrder(templateVO, orderDTO); // //3.å æ³¨å ¥ï¼åç»åï¼æåæ ¡éª // switchClassifyLevelOnOrder(templateVO, classifyFullInfo, orderDTO); // //4.å¤çç»åè§åãç»åè§åä¸è½ä½¿ç¨ç¼ç ç屿§ï¼å 为ç¼ç ççæå¯è½æ¯éè¦å±æ§ç // switchComponentAttrOnOrder(templateVO, orderDTO); // //5.æ ¡éªè§å // checkVerifyOnOrder(templateVO, orderDTO); // //6.å ³é®å±æ§ // checkKeyAttrOnOrder(classifyFullInfo, templateVO, orderDTO); // //7.æä¸¾è½¬æ¢ // checkEnumOnOrder(templateVO, orderDTO); // //8.å¤çæ¶é´æ ¼å¼ï¼å¨æ°æ®åºéé¢ä¸è®ºæ¯åç¬¦ä¸²è¿æ¯æ¥ææ ¼å¼ï¼é½ä½¿ç¨ç¸åçæ ¼å¼åå¨ // switchDateAttrOnOrder(templateVO, orderDTO); // //9.çæç¼ç çä¿¡æ¯ //// ClientBusinessObject cbo = boService.createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()); // CodeWupinEntity cbo = createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()); // //é»è®¤ç屿§é½ä¸ç¨ä»å端æ·è´ // //设置ç¼ç éè¦çé»è®¤å±æ§çå 容 //// //é»è®¤ç屿§é½ä¸ç¨ä»å端æ·è´ //// //设置ç¼ç éè¦çé»è®¤å±æ§çå 容 // copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, false); // //TODO:å 为é»è®¤ç屿§é½ä¸æ·è´ï¼ç®åéå¢ç å«nameï¼å¹¶æ²¡æä»DTOæ·è´å°cboéãå¢å ä¸ä¸ªåç¬å¤çï¼ä»¥ååçè¦ä¸è¦è°æ´ //// //TODO:å 为é»è®¤ç屿§é½ä¸æ·è´ï¼ç®åéå¢ç å«nameï¼å¹¶æ²¡æä»DTOæ·è´å°cboéãå¢å ä¸ä¸ªåç¬å¤çï¼ä»¥ååçè¦ä¸è¦è°æ´ // cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName()); // //end -- modify by lihang @20220407 //// //end -- modify by lihang @20220407 // List<CodeWupinEntity> cboList = new ArrayList<>(); // // //夿³¨ // cbo.setDescription(orderDTO.getDescription()); // // cboList.add(cbo); //// //// cboList.add(cbo); // List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(),cboList); //// batchSaveSelectChar(templateVO, cboList); // // // List<String> charList = new ArrayList<>(); // for (CodeWupinEntity wupinEntity : cboList) { // charList.add(wupinEntity.getId()); // } // batchSaveSelectChar(templateVO, charList); // return codeList.size() > 0 ? codeList.get(0) : ""; return null; } /** * å¤çåç±»æ³¨å ¥çä¿¡æ¯ * * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼å¿ é¡»è¦å模æ¿ç屿§ * @param classifyFullInfoBO åç±»çå ¨è·¯å¾ * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ */ private void switchClassifyLevelOnOrder(CodeClstemplateVO templateVO, CodeClassifyFullInfoBO classifyFullInfoBO, CodeOrderDTO orderDTO) { Map<String,CodeClassifyTemplateAttrVO> classifyAttrVOMap = templateVO.getAttributes().stream().filter( s -> StringUtils.isNotBlank(s.getClassifyInvokeAttr()) && StringUtils.isNotBlank(s.getClassifyInvokeLevel()) ).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); if (classifyFullInfoBO.getTopClassifyVO() == null) { //éè¦éæ°æ¥è¯¢ä¸ä¸ï¼å 为è¿ä¸ªæ¯æå®çåç±»è¿æ¥ç } if (!CollectionUtils.isEmpty(classifyAttrVOMap)) { classifyAttrVOMap.forEach((attrId, attrVO) -> { //åç±»æ³¨å ¥çç¼å·æè åç§°ï¼ //å±çº§å 嫿å®å±åæå°å± CodeClassifyVO classifyVO = null; if (!CodeLevelTypeEnum.MIN.getValue().equalsIgnoreCase(attrVO.getClassifyInvokeLevel()) && !"min".equalsIgnoreCase(attrVO.getClassifyInvokeLevel())) { //æå®äºå±çº§ç //注æï¼å 为æ¥è¯¢ä¸çº§åç±»åºæ¥çå±çº§æ¯ååºçï¼å³é¡¶å±èç¹æ¯æå¤§çå¼ List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList()); int level = VciBaseUtil.getInt(attrVO.getClassifyInvokeLevel()); if (classifyVOS.size() >= level && level > 0) { classifyVO = classifyVOS.get(level - 1); } } else { //å½åçåç±» classifyVO = classifyFullInfoBO.getCurrentClassifyVO(); } if (classifyVO == null) { //说æå±çº§æè¯¯ orderDTO.getData().put(attrId, "åç±»æ 䏿²¡æå±çº§[" + attrVO.getClassifyInvokeLevel() + "]"); // classifyVO = classifyFullInfoBO.getCurrentClassifyVO(); } else { Map<String, String> classifyDataMap = VciBaseUtil.objectToMapString(classifyVO); String value = classifyDataMap.getOrDefault(attrVO.getClassifyInvokeAttr(), ""); orderDTO.getData().put(attrId, value); } }); } } /** * 夿ç¼ç çç æ®µæ¯å¦è¾å ¥æè éæ©äºç å¼ * * @param ruleVO è§åçæ¾ç¤ºå¯¹è±¡ * @param orderDTO ç¼ç ç³è¯·çå 容 */ @Override public void checkSecValueOnOrder(CodeRuleVO ruleVO, CodeOrderDTO orderDTO) { List<String> unSerialSecOidList = ruleVO.getSecVOList().stream().filter( s -> !(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue().equalsIgnoreCase(s.getSecType()) || CodeSecTypeEnum.CODE_ATTR_SEC.getValue().equalsIgnoreCase(s.getSecType()) || CodeSecTypeEnum.CODE_DATE_SEC.getValue().equalsIgnoreCase(s.getSecType()) || CodeSecTypeEnum.CODE_LEVEL_SEC.getValue().equalsIgnoreCase(s.getSecType()) || VciBaseUtil.getBoolean(s.getNullableFlag())) ).map(CodeBasicSecVO::getOid).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(unSerialSecOidList)) { if (CollectionUtils.isEmpty(orderDTO.getSecDTOList())) { throw new VciBaseException("éæµæ°´ç æ®µ(æè å¿ è¾ç 段ï¼å¿ é¡»è¦è¾å ¥(æéæ©)ç å¼"); } if (orderDTO.getSecDTOList().stream().anyMatch(s -> !unSerialSecOidList.contains(s.getSecOid()) && StringUtils.isBlank(s.getSecValue()))) { throw new VciBaseException("éæµæ°´ç æ®µ(æè å¿ è¾ç 段ï¼å¿ é¡»è¦è¾å ¥(æéæ©)ç å¼"); } } } /** * æ ¡éªå±æ§æ¯å¦ä¸ºå¿ è¾ * * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å 嫿¨¡æ¿å±æ§ * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ */ private void checkRequiredAttrOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { Map<String, CodeClassifyTemplateAttrVO> requiredAttrMap = templateVO.getAttributes().stream().filter( s -> VciBaseUtil.getBoolean(s.getRequireFlag()) && StringUtils.isBlank(s.getComponentRule()) && StringUtils.isBlank(s.getClassifyInvokeAttr())) .collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); if (!CollectionUtils.isEmpty(requiredAttrMap)) { requiredAttrMap.forEach((attrId, attrVO) -> { //åªæä¼ä¸ç¼ç ï¼ç¶æï¼å¤æ³¨ï¼æ¨¡æ¿ä¸»é®ï¼å类主é®è¿å 个æ¯åºå®çï¼å ¶ä½é½æ¯èªè¡é ç½®ç if (StringUtils.isBlank(getValueFromOrderDTO(orderDTO, attrId))) { throw new VciBaseException("屿§ã{0}ãå¿ é¡»è¦è¾å ¥(éæ©)å 容", new String[]{attrVO.getName()}); } }); } } /** * ä»ç¼ç ç³è¯·ä¿¡æ¯å¯¹è±¡ä¸è·åæä¸ªå±æ§çå¼ * * @param orderDTO ç¼ç ç³è¯·å¯¹è±¡ * @param attrId 屿§çç¼å· * @return å¼ */ private String getValueFromOrderDTO(CodeOrderDTO orderDTO, String attrId) { attrId = attrId.toLowerCase(Locale.ROOT); String value = null; if (VciQueryWrapperForDO.BASIC_FIELD_MAP.containsKey(attrId)) { value = WebUtil.getStringValueFromObject(WebUtil.getValueFromField(WebUtil.getFieldForObject(attrId, orderDTO.getClass()).getName(), orderDTO)); } else { //è¯´ææ¯èªè¡é ç½®ç //åç«¯å¿ é¡»è¦ä¼ éå°åç屿§ value = orderDTO.getData().getOrDefault(attrId, ""); } return value; } /** * 转æ¢ç»åè§åçå¼ * * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å 嫿¨¡æ¿å±æ§ * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ */ private void switchComponentAttrOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { Map<String, CodeClassifyTemplateAttrVO> compAttrVOMap = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getComponentRule())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); if (!CollectionUtils.isEmpty(compAttrVOMap)) { Map<String, String> dataMap = WebUtil.objectToMapString(orderDTO); Map<String, String> dataLowMap = new HashMap<>(); if (!CollectionUtils.isEmpty(dataMap)) { dataMap.forEach((key, value) -> { dataLowMap.put(key.toLowerCase(Locale.ROOT), value); }); } dataLowMap.putAll(orderDTO.getData()); compAttrVOMap.forEach((attrId, attrVO) -> { //// return null; // } // // /** // * å¤çåç±»æ³¨å ¥çä¿¡æ¯ // * // * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼å¿ é¡»è¦å模æ¿ç屿§ // * @param classifyFullInfoBO åç±»çå ¨è·¯å¾ // * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ // */ // private void switchClassifyLevelOnOrder(CodeClstemplateVO templateVO, CodeClassifyFullInfoBO classifyFullInfoBO, CodeOrderDTO orderDTO) { // Map<String,CodeClstempattrVO> classifyAttrVOMap = templateVO.getAttributes().stream().filter( // s -> StringUtils.isNotBlank(s.getClassifyinvokeattr()) && StringUtils.isNotBlank(s.getClassifyinvokelevel()) // ).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); // if (classifyFullInfoBO.getTopClassifyVO() == null) { // //éè¦éæ°æ¥è¯¢ä¸ä¸ï¼å 为è¿ä¸ªæ¯æå®çåç±»è¿æ¥ç // // } // if (!CollectionUtils.isEmpty(classifyAttrVOMap)) { // classifyAttrVOMap.forEach((attrId, attrVO) -> { // //åç±»æ³¨å ¥çç¼å·æè åç§°ï¼ // //å±çº§å 嫿å®å±åæå°å± // CodeClassifyVO classifyVO = null; // if (!CodeLevelTypeEnum.MIN.getValue().equalsIgnoreCase(attrVO.getClassifyinvokelevel()) && !"min".equalsIgnoreCase(attrVO.getClassifyinvokelevel())) { // //æå®äºå±çº§ç // //注æï¼å 为æ¥è¯¢ä¸çº§åç±»åºæ¥çå±çº§æ¯ååºçï¼å³é¡¶å±èç¹æ¯æå¤§çå¼ // List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList()); // int level = VciBaseUtil.getInt(attrVO.getClassifyinvokelevel()); // if (classifyVOS.size() >= level && level > 0) { // classifyVO = classifyVOS.get(level - 1); // } // } else { // //å½åçåç±» // classifyVO = classifyFullInfoBO.getCurrentClassifyVO(); // } // if (classifyVO == null) { // //说æå±çº§æè¯¯ // orderDTO.getData().put(attrId, "åç±»æ 䏿²¡æå±çº§[" + attrVO.getClassifyinvokelevel() + "]"); // // classifyVO = classifyFullInfoBO.getCurrentClassifyVO(); // } else { // Map<String, String> classifyDataMap = VciBaseUtil.objectToMapString(classifyVO); // String value = classifyDataMap.getOrDefault(attrVO.getClassifyinvokeattr(), ""); // orderDTO.getData().put(attrId, value); // } // }); // } // } // // // /** // * 夿ç¼ç çç æ®µæ¯å¦è¾å ¥æè éæ©äºç å¼ // * // * @param ruleVO è§åçæ¾ç¤ºå¯¹è±¡ // * @param orderDTO ç¼ç ç³è¯·çå 容 // */ // @Override // public void checkSecValueOnOrder(CodeRuleVO ruleVO, CodeOrderDTO orderDTO) { // List<String> unSerialSecOidList = ruleVO.getSecVOList().stream().filter( // s -> !(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue().equalsIgnoreCase(s.getSecType()) // || CodeSecTypeEnum.CODE_ATTR_SEC.getValue().equalsIgnoreCase(s.getSecType()) // || CodeSecTypeEnum.CODE_DATE_SEC.getValue().equalsIgnoreCase(s.getSecType()) // || CodeSecTypeEnum.CODE_LEVEL_SEC.getValue().equalsIgnoreCase(s.getSecType()) // || VciBaseUtil.getBoolean(s.getNullableFlag())) // ).map(CodeBasicSecVO::getOid).collect(Collectors.toList()); // if (!CollectionUtils.isEmpty(unSerialSecOidList)) { // if (CollectionUtils.isEmpty(orderDTO.getSecDTOList())) { // throw new VciBaseException("éæµæ°´ç æ®µ(æè å¿ è¾ç 段ï¼å¿ é¡»è¦è¾å ¥(æéæ©)ç å¼"); // } // if (orderDTO.getSecDTOList().stream().anyMatch(s -> !unSerialSecOidList.contains(s.getSecOid()) // && StringUtils.isBlank(s.getSecValue()))) { // throw new VciBaseException("éæµæ°´ç æ®µ(æè å¿ è¾ç 段ï¼å¿ é¡»è¦è¾å ¥(æéæ©)ç å¼"); // } // } // } // // /** // * æ ¡éªå±æ§æ¯å¦ä¸ºå¿ è¾ // * // * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å 嫿¨¡æ¿å±æ§ // * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ // */ // private void checkRequiredAttrOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { // Map<String, CodeClstempattrVO> requiredAttrMap = templateVO.getAttributes().stream().filter( // s -> VciBaseUtil.getBoolean(s.getRequireflag()) && StringUtils.isBlank(s.getComponentrule()) // && StringUtils.isBlank(s.getClassifyinvokeattr())) // .collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); // if (!CollectionUtils.isEmpty(requiredAttrMap)) { // requiredAttrMap.forEach((attrId, attrVO) -> { // //åªæä¼ä¸ç¼ç ï¼ç¶æï¼å¤æ³¨ï¼æ¨¡æ¿ä¸»é®ï¼å类主é®è¿å 个æ¯åºå®çï¼å ¶ä½é½æ¯èªè¡é ç½®ç // if (StringUtils.isBlank(getValueFromOrderDTO(orderDTO, attrId))) { // throw new VciBaseException("屿§ã{0}ãå¿ é¡»è¦è¾å ¥(éæ©)å 容", new String[]{attrVO.getName()}); // } // }); // } // } // // /** // * ä»ç¼ç ç³è¯·ä¿¡æ¯å¯¹è±¡ä¸è·åæä¸ªå±æ§çå¼ // * // * @param orderDTO ç¼ç ç³è¯·å¯¹è±¡ // * @param attrId 屿§çç¼å· // * @return å¼ // */ // private String getValueFromOrderDTO(CodeOrderDTO orderDTO, String attrId) { // attrId = attrId.toLowerCase(Locale.ROOT); // String value = null; // if (VciQueryWrapperForDO.BASIC_FIELD_MAP.containsKey(attrId)) { // value = WebUtil.getStringValueFromObject(WebUtil.getValueFromField(WebUtil.getFieldForObject(attrId, orderDTO.getClass()).getName(), orderDTO)); // } else { // //è¯´ææ¯èªè¡é ç½®ç // //åç«¯å¿ é¡»è¦ä¼ éå°åç屿§ // value = orderDTO.getData().getOrDefault(attrId, ""); // } // return value; // } // // /** // * 转æ¢ç»åè§åçå¼ // * // * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å 嫿¨¡æ¿å±æ§ // * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ // */ // private void switchComponentAttrOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { // Map<String, CodeClstempattrVO> compAttrVOMap = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getComponentrule())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); // if (!CollectionUtils.isEmpty(compAttrVOMap)) { // Map<String, String> dataMap = WebUtil.objectToMapString(orderDTO); // // Map<String, String> dataLowMap = new HashMap<>(); // if (!CollectionUtils.isEmpty(dataMap)) { // dataMap.forEach((key, value) -> { // dataLowMap.put(key.toLowerCase(Locale.ROOT), value); // }); // } // dataLowMap.putAll(orderDTO.getData()); // compAttrVOMap.forEach((attrId, attrVO) -> { // dataLowMap.put(attrId, formulaService.getValueByFormula(dataLowMap, attrVO.getComponentrule())); }); dataLowMap.forEach((key, value) -> { setValueToOrderDTO(orderDTO, key, value); }); } } /** * 设置æ°çå¼å°ç³è¯·å¯¹è±¡ä¸ * * @param orderDTO ç¼ç ç³è¯·å¯¹è±¡ * @param attrId 屿§çç¼å· * @param value å¼ */ private void setValueToOrderDTO(CodeOrderDTO orderDTO, String attrId, String value) { attrId = attrId.toLowerCase(Locale.ROOT); if (VciQueryWrapperForDO.BASIC_FIELD_MAP.containsKey(attrId)) { WebUtil.setValueToField(WebUtil.getFieldForObject(attrId, orderDTO.getClass()).getName(), orderDTO, value); } else { orderDTO.getData().put(attrId, value); } } /** * æ ¡éªæ£åè¡¨è¾¾å¼æ¯å¦æ£ç¡® * * @param templateVO 模æ¿çä¿¡æ¯ï¼å¿ é¡»å å«å±æ§çå 容 * @param orderDTO ç¼ç ç³è¯·çç¸å ³çä¿¡æ¯ */ private void checkVerifyOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { Map<String, CodeClassifyTemplateAttrVO> verifyAttrVOMap = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getVerifyRule())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); if (!CollectionUtils.isEmpty(verifyAttrVOMap)) { verifyAttrVOMap.forEach((attrId, attrVO) -> { String value = getValueFromOrderDTO(orderDTO, attrId); if (StringUtils.isNotBlank(value) && !value.matches(attrVO.getVerifyRule())) { //æ ¡éªæ£åè¡¨è¾¾å¼ throw new VciBaseException("屿§[{0}]çå¼ä¸ç¬¦åæ ¡éªè§åçè¦æ±", new String[]{attrVO.getName()}); } }); } } /** * æ ¡éªå ³é®å±æ§ * * @param classifyFullInfo åç±»çå ¨é¨ä¿¡æ¯ * @param templateVO 模æ¿çå 容ï¼å¿ é¡»å 嫿¨¡æ¿å±æ§ * @param orderDTO ç¼ç ç³è¯·çç¸å ³çä¿¡æ¯ */ private void checkKeyAttrOnOrder(CodeClassifyFullInfoBO classifyFullInfo, CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { //å è·åå ³é®å±æ§çè§åï¼ä¹å©ç¨ç»§æ¿çæ¹å¼ CodeKeyattrrepeatVO keyRuleVO = keyRuleService.getRuleByClassifyFullInfo(classifyFullInfo); //注æçæ¯keyRuleVOå¯è½ä¸ºç©ºï¼è¡¨ç¤ºä¸ä½¿ç¨è§åæ§å¶ //è·åææçå ³é®å±æ§ Map<String, CodeClassifyTemplateAttrVO> ketAttrMap = templateVO.getAttributes().stream().filter(s -> VciBaseUtil.getBoolean(s.getKeyAttrFlag())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); Map<String, String> conditionMap = new HashMap<>(); boolean trimAll = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnoreallspaceflag()); //å ¨é¨å»ç©ºçä¼å 级大äºå»ç©º boolean trim = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorespaceflag()); boolean ignoreCase = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorecaseflag()); boolean ignoreWidth = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorewidthflag()); ketAttrMap.forEach((attrId, attrVO) -> { String value = getValueFromOrderDTO(orderDTO, attrId); if (value == null) { value = ""; } // }); // dataLowMap.forEach((key, value) -> { // setValueToOrderDTO(orderDTO, key, value); // }); // } // } // // // /** // * 设置æ°çå¼å°ç³è¯·å¯¹è±¡ä¸ // * // * @param orderDTO ç¼ç ç³è¯·å¯¹è±¡ // * @param attrId 屿§çç¼å· // * @param value å¼ // */ // private void setValueToOrderDTO(CodeOrderDTO orderDTO, String attrId, String value) { // attrId = attrId.toLowerCase(Locale.ROOT); // if (VciQueryWrapperForDO.BASIC_FIELD_MAP.containsKey(attrId)) { // WebUtil.setValueToField(WebUtil.getFieldForObject(attrId, orderDTO.getClass()).getName(), orderDTO, value); // } else { // orderDTO.getData().put(attrId, value); // } // } // // /** // * æ ¡éªæ£åè¡¨è¾¾å¼æ¯å¦æ£ç¡® // * // * @param templateVO 模æ¿çä¿¡æ¯ï¼å¿ é¡»å å«å±æ§çå 容 // * @param orderDTO ç¼ç ç³è¯·çç¸å ³çä¿¡æ¯ // */ // private void checkVerifyOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { // Map<String, CodeClstempattrVO> verifyAttrVOMap = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getVerifyrule())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); // if (!CollectionUtils.isEmpty(verifyAttrVOMap)) { // verifyAttrVOMap.forEach((attrId, attrVO) -> { // String value = getValueFromOrderDTO(orderDTO, attrId); // if (StringUtils.isNotBlank(value) && !value.matches(attrVO.getVerifyrule())) { // //æ ¡éªæ£åè¡¨è¾¾å¼ // throw new VciBaseException("屿§[{0}]çå¼ä¸ç¬¦åæ ¡éªè§åçè¦æ±", new String[]{attrVO.getName()}); // } // }); // } // } // // /** // * æ ¡éªå ³é®å±æ§ // * // * @param classifyFullInfo åç±»çå ¨é¨ä¿¡æ¯ // * @param templateVO 模æ¿çå 容ï¼å¿ é¡»å 嫿¨¡æ¿å±æ§ // * @param orderDTO ç¼ç ç³è¯·çç¸å ³çä¿¡æ¯ // */ // private void checkKeyAttrOnOrder(CodeClassifyFullInfoBO classifyFullInfo, CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { // //å è·åå ³é®å±æ§çè§åï¼ä¹å©ç¨ç»§æ¿çæ¹å¼ // CodeKeyattrrepeatVO keyRuleVO = keyRuleService.getRuleByClassifyFullInfo(classifyFullInfo); // //注æçæ¯keyRuleVOå¯è½ä¸ºç©ºï¼è¡¨ç¤ºä¸ä½¿ç¨è§åæ§å¶ // //è·åææçå ³é®å±æ§ // Map<String, CodeClstempattrVO> ketAttrMap = templateVO.getAttributes().stream().filter(s -> VciBaseUtil.getBoolean(s.getKeyattrflag())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); // Map<String, String> conditionMap = new HashMap<>(); // boolean trimAll = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnoreallspaceflag()); // //å ¨é¨å»ç©ºçä¼å 级大äºå»ç©º // boolean trim = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorespaceflag()); // boolean ignoreCase = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorecaseflag()); // boolean ignoreWidth = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorewidthflag()); // ketAttrMap.forEach((attrId, attrVO) -> { // String value = getValueFromOrderDTO(orderDTO, attrId); // if (value == null) { // value = ""; // } // wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap); }); //没æéå¶åç±»ï¼ä½æ¯ä¸ä¸ªæ¨¡æ¿åªå¯è½å¨ä¸ä¸ªä¸å¡ç±»åéé¢ï¼æä»¥ç´æ¥æ¥è¯¢è¿ä¸ªä¸å¡ç±»åå³å¯ // }); // // //没æéå¶åç±»ï¼ä½æ¯ä¸ä¸ªæ¨¡æ¿åªå¯è½å¨ä¸ä¸ªä¸å¡ç±»åéé¢ï¼æä»¥ç´æ¥æ¥è¯¢è¿ä¸ªä¸å¡ç±»åå³å¯ // // if (!CollectionUtils.isEmpty(conditionMap)) { // final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()) + " t where 1 = 1 "}; // conditionMap.forEach((key, value) -> { @@ -463,26 +476,27 @@ // sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'"; // } // sql[0] += " and islastR = '1' and islastV = '1' "; // if (boService.queryCountBySql(sql[0], new HashMap<>()) > 0) { //// if (boService.queryCountBySql(sql[0], new HashMap<>()) > 0) { // if (Integer.parseInt(commonsMapper.selectById(sql[0]).get(0)) > 0) { // String ruleInfoMsg = keyRuleVO == null ? "" : "æ¥è¯¢è§åï¼å»é¤ç©ºæ ¼--{0},忽ç¥å¤§å°å--{1},忽ç¥å ¨åè§--{2},忽ç¥å ¨é¨ç©ºæ ¼--{3}"; // String[] objs = new String[]{trim ? "æ¯" : "å¦", ignoreCase ? "æ¯" : "å¦", ignoreWidth ? "æ¯" : "å¦", trimAll ? "æ¯" : "å¦"}; // throw new VciBaseException("æ ¹æ®æ¨å¡«åçå ³é®å±æ§çå 容ï¼ç»åå ³é®å±æ§æ¥è¯¢è§åï¼åç°è¿ä¸ªæ°æ®å·²ç»å¨ç³»ç»ä¸åå¨äºã请修æ£!ã" + ruleInfoMsg, objs); // } // } } /** * å°è£ å ³é®å±æ§çæ¥è¯¢è¯å¥ * * @param value å½åçå¼ * @param keyRuleVO å ³é®å±æ§çæ§å¶è§åï¼å¯ä»¥ä¸ºç©º * @param attrId 屿§çç¼å· * @param trim æ¯å¦å»é¤ç©ºæ ¼ * @param ignoreCase æ¯å¦ä¸åºå大å°å * @param ignoreWidth æ¯å¦å¿½ç¥å ¨åè§ * @param trimAll æ¯å¦å¿½ç¥å ¨é¨ç©ºæ ¼ * @param conditionMap æ¥è¯¢æ¡ä»¶ */ // } // // /** // * å°è£ å ³é®å±æ§çæ¥è¯¢è¯å¥ // * // * @param value å½åçå¼ // * @param keyRuleVO å ³é®å±æ§çæ§å¶è§åï¼å¯ä»¥ä¸ºç©º // * @param attrId 屿§çç¼å· // * @param trim æ¯å¦å»é¤ç©ºæ ¼ // * @param ignoreCase æ¯å¦ä¸åºå大å°å // * @param ignoreWidth æ¯å¦å¿½ç¥å ¨åè§ // * @param trimAll æ¯å¦å¿½ç¥å ¨é¨ç©ºæ ¼ // * @param conditionMap æ¥è¯¢æ¡ä»¶ // */ // @Override // public void wrapperKeyAttrConditionMap(String value, CodeKeyattrrepeatVO keyRuleVO, String attrId, // boolean trim, boolean ignoreCase, boolean ignoreWidth, @@ -531,132 +545,134 @@ // } // } // } /** * æ ¡éªæä¸¾çå 容 * * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å å«å±æ§ * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ */ private void checkEnumOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { //妿æä¸¾å¯ä»¥ä¿®æ¹ï¼åä¸éè¦æ ¡éªæ¯å¦ç¬¦åæä¸¾çé项 Map<String, CodeClassifyTemplateAttrVO> enumAttrVOMap = templateVO.getAttributes().stream().filter(s -> (StringUtils.isNotBlank(s.getEnumString()) || StringUtils.isNotBlank(s.getEnumId())) && !VciBaseUtil.getBoolean(s.getEnumEditFlag())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); if (!CollectionUtils.isEmpty(enumAttrVOMap)) { enumAttrVOMap.forEach((attrId, attrVO) -> { String value = getValueFromOrderDTO(orderDTO, attrId); if (StringUtils.isNotBlank(value)) { //æå¼æè½æ ¡éª List<KeyValue> comboboxKVs = listComboboxItems(attrVO); if (!comboboxKVs.stream().anyMatch(s -> value.equalsIgnoreCase(s.getKey()))) { throw new VciBaseException("屿§ã{0}ãçå¼ä¸ç¬¦åæä¸¾çè¦æ±", new String[]{attrVO.getName()}); } } }); } } /** * è½¬æ¢æ¶é´çæ ¼å¼ * * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å å«å±æ§ * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ */ private void switchDateAttrOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { Map<String, CodeClassifyTemplateAttrVO> dateAttrVOMap = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getCodeDateFormat())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); if (!CollectionUtils.isEmpty(dateAttrVOMap)) { dateAttrVOMap.forEach((attrId, attrVO) -> { String value = getValueFromOrderDTO(orderDTO, attrId); if (StringUtils.isNotBlank(value)) { DateConverter dateConverter = new DateConverter(); dateConverter.setAsText(value); value = VciDateUtil.date2Str(dateConverter.getValue(), VciDateUtil.DateTimeMillFormat); setValueToOrderDTO(orderDTO, attrId, value); } }); } } /** * æ·è´æ°æ®å°cboå¯¹è±¡ä¸ * * @param classifyFullInfo åç±»çå ¨é¨ä¿¡æ¯ * @param cbo ä¸å¡æ°æ® * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ * @param edit æ¯å¦ä¸ºä¿®æ¹ */ private void copyValueToCBO(CodeClassifyFullInfoBO classifyFullInfo, CodeWupinEntity cbo, CodeOrderDTO orderDTO, CodeClstemplateVO templateVO, boolean edit) { String fullPath = ""; if (!CollectionUtils.isEmpty(classifyFullInfo.getParentClassifyVOs())) { fullPath = classifyFullInfo.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))) .map(CodeClassifyVO::getOid).collect(Collectors.joining("##")); } else { fullPath = classifyFullInfo.getCurrentClassifyVO().getOid(); } // BeanUtils. BeanUtils.copyProperties(orderDTO.getData(),cbo); cbo.setMaterialtype(Short.valueOf("1001")); // orderDTO.getData().forEach((key, value) -> { // if (!edit || (!checkUnAttrUnEdit(key) && // !VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(key))) { // try { // cbo.setAttributeValue(key, value); // } catch (Exception e) { // logger.error("è®¾ç½®å±æ§çå¼é误", e); // } // } // }); try { cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid()); cbo.setCodetemplateoid(templateVO.getOid()); cbo.setCodeclsfpath(fullPath); // cbo.setMaterialclassify("model_type"); // cbo.setMaterialname(orderDTO.getData().get("materialname")); // cbo.setShifoupihaoguanli("true"); // cbo.setKucunwl("true"); // cbo.setXiaoshouwl("false"); if (!edit && StringUtils.isBlank(orderDTO.getLcStatus())) { //æ¾çå½å¨æçèµ·å§ç¶æï¼æä¸ªç¹ï¼ççå½å¨ææ¯å¦éè¦å建 if (StringUtils.isNotBlank(cbo.getLctid())) { // OsLifeCycleVO lifeCycleVO = lifeCycleService.getLifeCycleById(cbo.getLctid()); // if (lifeCycleVO != null) { // cbo.setLcStatus("Editing"); //// cbo.setLcStatus(lifeCycleVO.getStartStatus()); // } else { cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); // // /** // * æ ¡éªæä¸¾çå 容 // * // * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å å«å±æ§ // * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ // */ // private void checkEnumOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { // //妿æä¸¾å¯ä»¥ä¿®æ¹ï¼åä¸éè¦æ ¡éªæ¯å¦ç¬¦åæä¸¾çé项 // // Map<String, CodeClstempattrVO> enumAttrVOMap = templateVO.getAttributes().stream().filter(s -> (StringUtils.isNotBlank(s.getEnumstring()) || StringUtils.isNotBlank(s.getEnumid())) && !VciBaseUtil.getBoolean(s.getEnumeditflag())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); // if (!CollectionUtils.isEmpty(enumAttrVOMap)) { // enumAttrVOMap.forEach((attrId, attrVO) -> { // String value = getValueFromOrderDTO(orderDTO, attrId); // if (StringUtils.isNotBlank(value)) { // CodeClassifyTemplateAttrVO codeClassifyTemplateAttrVO = new CodeClassifyTemplateAttrVO(); // BeanUtils.copyProperties(attrVO,codeClassifyTemplateAttrVO); // //æå¼æè½æ ¡éª // List<KeyValue> comboboxKVs = listComboboxItems(codeClassifyTemplateAttrVO); // if (!comboboxKVs.stream().anyMatch(s -> value.equalsIgnoreCase(s.getKey()))) { // throw new VciBaseException("屿§ã{0}ãçå¼ä¸ç¬¦åæä¸¾çè¦æ±", new String[]{attrVO.getName()}); // } } else { cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); } } int secret = VciBaseUtil.getInt(cbo.getSecretGrade().toString()); //æä¸ªç¹ï¼åç»çå¯çº§æå¡æ¯å¦å¯ç¨ // if (secret == 0 || !secretService.checkDataSecret(secret)) { if (secret == 0 ) { Integer userSecret = VciBaseUtil.getCurrentUserSecret(); // cbo.setAttributeValue(SECRET_FIELD, String.valueOf((userSecret == null || userSecret == 0) ? UserSecretEnum.NONE.getValue() : userSecret)); cbo.setSecretGrade(userSecret == null || userSecret == 0 ? UserSecretEnum.NONE.getValue() : userSecret); } } catch (Throwable e) { logger.error("设置é»è®¤ç屿§çå¼é误", e); } } /** * åå§åä¸å¡ç±»å * --å建人é»è®¤ä¸ºå½åç¨æ·ï¼å¦æéè¦ä¿®æ¹ï¼å¯ä»¥å¨è·ååèªè¡å¤ç * @param btmName ä¸å¡ç±»åçåç§°ï¼ä¼èªå¨åæå°å * @return CodeWupinEntity * @throws VciBaseException åå§ååºéçæ¯ä¼æåºå¼å¸¸ */ // } // }); // } // } // // /** // * è½¬æ¢æ¶é´çæ ¼å¼ // * // * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ï¼éè¦å å«å±æ§ // * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ // */ // private void switchDateAttrOnOrder(CodeClstemplateVO templateVO, CodeOrderDTO orderDTO) { // Map<String, CodeClstempattrVO> dateAttrVOMap = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getCodedateformat())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); // if (!CollectionUtils.isEmpty(dateAttrVOMap)) { // dateAttrVOMap.forEach((attrId, attrVO) -> { // String value = getValueFromOrderDTO(orderDTO, attrId); // if (StringUtils.isNotBlank(value)) { // DateConverter dateConverter = new DateConverter(); // dateConverter.setAsText(value); // value = VciDateUtil.date2Str(dateConverter.getValue(), VciDateUtil.DateTimeMillFormat); // setValueToOrderDTO(orderDTO, attrId, value); // } // }); // } // } // // /** // * æ·è´æ°æ®å°cboå¯¹è±¡ä¸ // * // * @param classifyFullInfo åç±»çå ¨é¨ä¿¡æ¯ // * @param cbo ä¸å¡æ°æ® // * @param orderDTO ç¼ç ç³è¯·çä¿¡æ¯ // * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ // * @param edit æ¯å¦ä¸ºä¿®æ¹ // */ // private void copyValueToCBO(CodeClassifyFullInfoBO classifyFullInfo, CodeWupinEntity cbo, // CodeOrderDTO orderDTO, CodeClstemplateVO templateVO, // boolean edit) { // String fullPath = ""; // if (!CollectionUtils.isEmpty(classifyFullInfo.getParentClassifyVOs())) { // fullPath = classifyFullInfo.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))) // .map(CodeClassifyVO::getOid).collect(Collectors.joining("##")); // } else { // fullPath = classifyFullInfo.getCurrentClassifyVO().getOid(); // } // //// BeanUtils. // BeanUtils.copyProperties(orderDTO.getData(),cbo); // cbo.setMaterialtype(Short.valueOf("1001")); //// orderDTO.getData().forEach((key, value) -> { //// if (!edit || (!checkUnAttrUnEdit(key) && //// !VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(key))) { //// try { //// cbo.setAttributeValue(key, value); //// } catch (Exception e) { //// logger.error("è®¾ç½®å±æ§çå¼é误", e); //// } //// } //// }); // try { // // cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid()); // cbo.setCodetemplateoid(templateVO.getOid()); // cbo.setCodeclsfpath(fullPath); //// cbo.setMaterialclassify("model_type"); //// cbo.setMaterialname(orderDTO.getData().get("materialname")); //// cbo.setShifoupihaoguanli("true"); //// cbo.setKucunwl("true"); //// cbo.setXiaoshouwl("false"); // if (!edit && StringUtils.isBlank(orderDTO.getLcStatus())) { // //æ¾çå½å¨æçèµ·å§ç¶æï¼æä¸ªç¹ï¼ççå½å¨ææ¯å¦éè¦å建 // if (StringUtils.isNotBlank(cbo.getLctid())) { //// OsLifeCycleVO lifeCycleVO = lifeCycleService.getLifeCycleById(cbo.getLctid()); //// if (lifeCycleVO != null) { //// cbo.setLcStatus("Editing"); ////// cbo.setLcStatus(lifeCycleVO.getStartStatus()); //// } else { // cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); //// } // } else { // cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); // } // // } // // int secret = VciBaseUtil.getInt(cbo.getSecretGrade().toString()); // //æä¸ªç¹ï¼åç»çå¯çº§æå¡æ¯å¦å¯ç¨ //// if (secret == 0 || !secretService.checkDataSecret(secret)) { // if (secret == 0 ) { // Integer userSecret = VciBaseUtil.getCurrentUserSecret(); //// cbo.setAttributeValue(SECRET_FIELD, String.valueOf((userSecret == null || userSecret == 0) ? UserSecretEnum.NONE.getValue() : userSecret)); // cbo.setSecretGrade(userSecret == null || userSecret == 0 ? UserSecretEnum.NONE.getValue() : userSecret); // } // } catch (Throwable e) { // logger.error("设置é»è®¤ç屿§çå¼é误", e); // } // } // // // /** // * åå§åä¸å¡ç±»å // * --å建人é»è®¤ä¸ºå½åç¨æ·ï¼å¦æéè¦ä¿®æ¹ï¼å¯ä»¥å¨è·ååèªè¡å¤ç // * @param btmName ä¸å¡ç±»åçåç§°ï¼ä¼èªå¨åæå°å // * @return CodeWupinEntity // * @throws VciBaseException åå§ååºéçæ¯ä¼æåºå¼å¸¸ // */ // @Override // public CodeWupinEntity createCBOByBtmName(String btmName) // throws VciBaseException { @@ -728,49 +744,1087 @@ // //// return cbo; // } /** * æ¯å¦ä¸ºä¿®æ¹å¿½ç¥ç屿§ * @param attrName 屿§çåå * @return true 表示åºè¯¥å¿½ç¥ */ boolean checkUnAttrUnEdit(String attrName){ return (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName) ||"ts".equalsIgnoreCase(attrName) || "lastmodifier".equalsIgnoreCase(attrName) || "lastmodifytime".equalsIgnoreCase(attrName) || "createtime".equalsIgnoreCase(attrName) || "checkintime".equalsIgnoreCase(attrName) ||"checkouttime".equalsIgnoreCase(attrName)); } /** * ä¿åå¯è¾å¯éçä¿¡æ¯ * * @param templateVO 模æ¿ç对象 * @param cboList æ°æ®çå 容 */ // // /** // * æ¯å¦ä¸ºä¿®æ¹å¿½ç¥ç屿§ // * @param attrName 屿§çåå // * @return true 表示åºè¯¥å¿½ç¥ // */ // boolean checkUnAttrUnEdit(String attrName){ // return (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName) // ||"ts".equalsIgnoreCase(attrName) // || "lastmodifier".equalsIgnoreCase(attrName) // || "lastmodifytime".equalsIgnoreCase(attrName) // || "createtime".equalsIgnoreCase(attrName) // || "checkintime".equalsIgnoreCase(attrName) // ||"checkouttime".equalsIgnoreCase(attrName)); // } // // /** // * ä¿åå¯è¾å¯éçä¿¡æ¯ // * // * @param templateVO 模æ¿ç对象 // * @param cboList æ°æ®çå 容 // */ // @Override // public void batchSaveSelectChar(CodeClstemplateVO templateVO, List<ClientBusinessObject> cboList) { // public void batchSaveSelectChar(CodeClstemplateVO templateVO, /*List<ClientBusinessObject> cboList*/ // List<String> cboList) { // if (templateVO != null && !CollectionUtils.isEmpty(cboList)) { // //æ¯å¼æ¥çï¼æä»¥ç´æ¥å¾ªç¯ // List<CodeClassifyTemplateAttrVO> selectAttrVOs = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getLibraryidentification())).collect(Collectors.toList()); // List<CodeClstempattrVO> selectAttrVOs = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getLibraryidentification())).collect(Collectors.toList()); // // if (!CollectionUtils.isEmpty(selectAttrVOs)) { //// SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); // selectAttrVOs.parallelStream().forEach(attrVO -> { // List<String> valuesList = new CopyOnWriteArrayList<>(); // cboList.parallelStream().forEach(cbo -> { // String value = cbo.getAttributeValue(attrVO.getId()); // if (StringUtils.isNotBlank(value)) { // valuesList.add(value); // } // }); // List<String> valuesList = cboList; //// cboList.parallelStream().forEach(cbo -> { //// String value = cbo.get.getAttributeValue(attrVO.getId()); //// if (StringUtils.isNotBlank(value)) { //// valuesList.add(value); //// } //// }); // if (!CollectionUtils.isEmpty(valuesList)) { // charService.saveBySameNamespaceAndFlag(templateVO.getBtmTypeId(), attrVO.getLibraryIdentification(), valuesList, sessionInfo); // for (String s : valuesList) { // DictBiz dictBiz = new DictBiz(); // dictBiz.setCode(templateVO.getBtmTypeId()); // dictBiz.setDictKey(s); // dictBiz.setDictValue(s); // //ä»åæ¥çcharServiceï¼å¯è¾å¯éï¼æ´æ¹ä¸ºè°ç¨omdä¸çæ¥å£æ¥å®ç° // iDictBizClient.getCheck(dictBiz); // } //// charService.saveBySameNamespaceAndFlag(templateVO.getBtmTypeId(), attrVO.getLibraryIdentification(), valuesList, sessionInfo); // } // }); // } // } // } // // @Override // public MdmUIInfoVO getFormDefineByTemplateOid(String templateOid, String codeClassifyOid) { // CodeClstemplateVO templateVO = templateService.getObjectHasAttrByOid(templateOid); // MdmUIInfoVO uiInfoVO = new MdmUIInfoVO(); // uiInfoVO.setTemplateVO(templateVO); // uiInfoVO.setFormDefineVO(wrapperFormDefineByTemplate(templateVO, codeClassifyOid)); // wrapperResemble(templateVO, uiInfoVO); // return uiInfoVO; // } // // // /** // * 模æ¿å±æ§è½¬æ¢ä¸ºè¡¨åå®ä¹çä¿¡æ¯ // * // * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ // * @param codeClassifyOid åç±»ç主é®ï¼ä¸ºç©ºçæ¶åï¼è·åæ¨¡æ¿æå±çå类主é®.ç¨äºäº§çåç±»æ³¨å ¥ // * @return è¡¨æ ¼çä¿¡æ¯ // */ // private UIFormDefineVO wrapperFormDefineByTemplate(CodeClstemplateVO templateVO, String codeClassifyOid) { // UIFormDefineVO formDefineVO = new UIFormDefineVO(); // formDefineVO.setOid(templateVO.getOid()); // formDefineVO.setBtmType(templateVO.getBtmTypeId()); // if (StringUtils.isBlank(codeClassifyOid)) { // codeClassifyOid = templateVO.getCodeClassifyOid(); // } // CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyOid); // // List<UIFormItemVO> itemVOS = new ArrayList<>(); // Map<String, List<CodeClstempattrVO>> attrGroupMap = templateVO.getAttributes().stream(). // filter(s -> StringUtils.isNotBlank(s.getAttributegroup())).collect(Collectors.groupingBy(s -> s.getAttributegroup())); // // templateVO.getAttributes().forEach(attrVO -> { // UIFormItemVO formItemVO = templateAttr2FormField(attrVO, templateVO.getBtmTypeId()); // itemVOS.add(formItemVO); // }); // //å¤ç屿§åç» // if (!CollectionUtils.isEmpty(attrGroupMap)) { // //æç §åç»ç屿§æåï¼æ¾å°æ¯ä¸ä¸ªåç»ç第ä¸ä¸ªå±æ§ // for (String key : attrGroupMap.keySet()) { // List<CodeClstempattrVO> value = attrGroupMap.get(key); // //æ¾å°è¿ä¸ªåç»ç屿§ç第ä¸ä¸ª // CodeClstempattrVO attrVO = value.stream().sorted(((o1, o2) -> o1.getOrdernum().compareTo(o2.getOrdernum()))).findFirst().get(); // //æä»¬æ¾å°è¿ä¸ªå±æ§å¨æç»çitemVOséçä½ç½® // UIFormItemVO lineVO = new UIFormItemVO(); // lineVO.setField(attrVO.getId() + "_line"); // lineVO.setType("line"); // lineVO.setText(key); // //æ¾ä½ç½® // for (int i = 0; i < itemVOS.size(); i++) { // UIFormItemVO record = itemVOS.get(i); // if (record.getField().equalsIgnoreCase(attrVO.getId())) { // itemVOS.add(i, lineVO); // break; // } // } // } // } // // CodeOrderDTO orderDTO = new CodeOrderDTO(); // switchClassifyLevelOnOrder(templateVO, classifyFullInfo, orderDTO); // if (!CollectionUtils.isEmpty(orderDTO.getData())) { // orderDTO.getData().forEach((key, value) -> { // for (int i = 0; i < itemVOS.size(); i++) { // UIFormItemVO itemVO = itemVOS.get(i); // if (itemVO.getField().equalsIgnoreCase(key)) { // itemVO.setDefaultValue(value); // break; // } // } // }); // } // formDefineVO.setItems(itemVOS); // //æ¥è¯¢æ¯å¦æåç±»æ³¨å ¥ç // return formDefineVO; // } // /** // * 屿§ç±»åä¸jsä¸çåæ®µç±»åçæ å° // */ // private static Map<String, String> vciFieldTypeMap = new HashMap<String, String>() {{ // put(VciFieldTypeEnum.VTString.name(), "text"); // put(VciFieldTypeEnum.VTInteger.name(), "text"); // put(VciFieldTypeEnum.VTLong.name(), "text"); // put(VciFieldTypeEnum.VTDouble.name(), "text"); // put(VciFieldTypeEnum.VTClob.name(), "text"); // put(VciFieldTypeEnum.VTBoolean.name(), "truefalse"); // put(VciFieldTypeEnum.VTDateTime.name(), "datetime"); // put(VciFieldTypeEnum.VTDate.name(), "datetime"); // put(VciFieldTypeEnum.VTTime.name(), "datetime"); // put(VciFieldTypeEnum.VTFilePath.name(), "file"); // }}; // // /** // * 模æ¿å±æ§è½¬æ¢ä¸ºè¡¨åçåæ®µ // * // * @param attrVO 模æ¿å±æ§ // * @param btmType ä¸å¡ç±»å // * @return 表åçåæ®µ // */ // @Override // public UIFormItemVO templateAttr2FormField(CodeClstempattrVO attrVO, String btmType) { // // UIFormItemVO itemVO = new UIFormItemVO(); // if (SECRET_FILED.equalsIgnoreCase(attrVO.getId())) { //// attrVO.setEnumid(OsEnumServiceImpl.MY_DATA_SECRET); // attrVO.setEnumid(MY_DATA_SECRET); // } // itemVO.setField(attrVO.getId()); // itemVO.setText(attrVO.getName()); // itemVO.setType(vciFieldTypeMap.getOrDefault(attrVO.getAttributedatatype(), "text")); // if (VciBaseUtil.getBoolean(attrVO.getTextareaflag())) { // itemVO.setType("textarea"); // } // if (VciFieldTypeEnum.VTLong.name().equalsIgnoreCase(attrVO.getAttributedatatype()) // || VciFieldTypeEnum.VTInteger.name().equalsIgnoreCase(attrVO.getAttributedatatype()) // || VciFieldTypeEnum.VTDouble.name().equalsIgnoreCase(attrVO.getAttributedatatype())) { // itemVO.setVerify("number"); // } // itemVO.setReadOnly(VciBaseUtil.getBoolean(attrVO.getReadonlyflag())); // itemVO.setKeyAttr(VciBaseUtil.getBoolean(attrVO.getKeyattrflag())); // itemVO.setRequired(VciBaseUtil.getBoolean(attrVO.getRequireflag())); // itemVO.setDefaultValue(attrVO.getDefaultvalue()); // itemVO.setDateFormate(attrVO.getCodedateformat()); // itemVO.setHidden(!VciBaseUtil.getBoolean(attrVO.getFormdisplayflag())); // itemVO.setVerify(attrVO.getVerifyrule()); // itemVO.setPrefix(attrVO.getPrefixvalue()); // itemVO.setSuffix(attrVO.getSuffixvalue()); // itemVO.setTooltips(attrVO.getExplain()); // itemVO.setSelectLibFlag(attrVO.getLibraryidentification()); // //ççæ¯å¦ææä¸¾ // if ((StringUtils.isNotBlank(attrVO.getEnumstring()) // && !"[]".equalsIgnoreCase(attrVO.getEnumstring())) || // StringUtils.isNotBlank(attrVO.getEnumid())) { // itemVO.setType("combox"); // itemVO.setComboxKey(attrVO.getEnumid()); // if (StringUtils.isNotBlank(attrVO.getEnumstring())) { // //æå®ç䏿æ¡å 容 // itemVO.setData(JSONObject.parseArray(attrVO.getEnumstring(), KeyValue.class)); // if (StringUtils.isBlank(attrVO.getEnumid())) { // itemVO.setComboxKey(itemVO.getField() + "_data"); // } // } // } // //çæ¯å¦æåç § // if (StringUtils.isNotBlank(attrVO.getReferbtmid()) || StringUtils.isNotBlank(attrVO.getReferconfig())) { // itemVO.setType("refer"); // itemVO.setShowField(itemVO.getField() + "name"); // if (StringUtils.isNotBlank(attrVO.getReferconfig())) { // //é ç½®çå 容 // itemVO.setReferConfig(JSONObject.parseObject(attrVO.getReferconfig(), UIFormReferVO.class)); // } else { // UIFormReferVO formReferVO = new UIFormReferVO(); // formReferVO.setType("default"); // formReferVO.setReferType(attrVO.getReferbtmid()); // itemVO.setReferConfig(formReferVO); // } // } // // //妿æ¯ç»åè§åï¼åç±»æ³¨å ¥çï¼æ¾ç¤ºä¸ºåªè¯» // if (StringUtils.isNotBlank(attrVO.getComponentrule())) { // itemVO.setReadOnly(true); // itemVO.setTooltips("æ¬å±æ§ä¸ºç»åè§å"); // itemVO.setRequired(false); // } // if (StringUtils.isNotBlank(attrVO.getClassifyinvokeattr())) { // itemVO.setReadOnly(!VciBaseUtil.getBoolean(attrVO.getClassifyinvokeeditflag())); // itemVO.setTooltips("æ¬å±æ§æ¯åç±»æ³¨å ¥"); // itemVO.setRequired(false); // } // // if (VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(itemVO.getField())) { // //æ¯çå½å¨æç¶æ // itemVO.setType("combox"); // itemVO.setComboxKey(btmType + LC_STATUS_SUBFIX); // } // return itemVO; // } // // // /** // * å°è£ ç¸ä¼¼é¡¹æ¥è¯¢çå表 // * // * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ // * @param uiInfoVO 页é¢çä¿¡æ¯ // */ // private void wrapperResemble(CodeClstemplateVO templateVO, MdmUIInfoVO uiInfoVO) { // List<CodeClstempattrVO> resembleAttrList = templateVO.getAttributes().stream().filter(s -> VciBaseUtil.getBoolean(s.getSamerepeatattrflag()) // || VciQueryWrapperForDO.ID_FIELD.equalsIgnoreCase(s.getId())).collect(Collectors.toList()); // if (!CollectionUtils.isEmpty(resembleAttrList) && resembleAttrList.size() > 1) { // UITableDefineVO resembleTable = new UITableDefineVO(); // resembleTable.setOid(templateVO.getOid()); // resembleTable.setBtmType(templateVO.getBtmTypeId()); // resembleTable.setDisplayQueryArea(false); // resembleTable.setPageVO(new UITablePageVO()); // //å¤çææçåï¼è¿ä¸ªæ¨¡æ¿æ²¡æåå¹¶çè¡¨å¤´çæ åµ // List<UITableFieldVO> fieldVOList = new ArrayList<>(); // resembleAttrList.forEach(attrVO -> { // UITableFieldVO tableFieldVO = templateAttr2TableField(attrVO,false); // tableFieldVO.setHidden(false); // fieldVOList.add(tableFieldVO); // }); // List<List<UITableFieldVO>> cols = new ArrayList<>(); // cols.add(fieldVOList); // resembleTable.setCols(cols); // uiInfoVO.setResembleTableVO(resembleTable); // } // } // // // /** // * 模æ¿å±æ§è½¬æ¢ä¸ºè¡¨æ ¼æ¾ç¤ºçé ç½® // * // * @param attrVO 模æ¿å±æ§ // * @param forEdit æ¯å¦æ¯ç¼è¾æé // * @return è¡¨æ ¼çåæ®µ // */ // @Override // public UITableFieldVO templateAttr2TableField(CodeClstempattrVO attrVO,boolean forEdit) { // UITableFieldVO fieldVO = new UITableFieldVO(); // if (SECRET_FILED.equalsIgnoreCase(attrVO.getId())) { // attrVO.setEnumid(MY_DATA_SECRET); // } // fieldVO.setField(attrVO.getId()); // fieldVO.setTitle(attrVO.getName()); // fieldVO.setFieldType(vciFieldTypeMap.getOrDefault(attrVO.getAttributedatatype(), "text")); // fieldVO.setSort(true); // fieldVO.setSortField(fieldVO.getField()); // fieldVO.setQueryField(fieldVO.getField()); // if (forEdit){ // fieldVO.setHidden(!VciBaseUtil.getBoolean(attrVO.getFormdisplayflag())); // }else { // fieldVO.setHidden(!VciBaseUtil.getBoolean(attrVO.getTabledisplayflag())); // } // if (attrVO.getAttrtablewidth() != null && attrVO.getAttrtablewidth() > 0) { // fieldVO.setMinWidth(Integer.valueOf(attrVO.getAttrtablewidth())); // fieldVO.setWidth(Integer.valueOf(attrVO.getAttrtablewidth())); // } // //ççæ¯å¦ææä¸¾ // if ((StringUtils.isNotBlank(attrVO.getEnumstring()) // && !"[]".equalsIgnoreCase(attrVO.getEnumstring())) || // StringUtils.isNotBlank(attrVO.getEnumid())) { // fieldVO.setFieldType("combox"); // fieldVO.setField(fieldVO.getField() + "Text"); // fieldVO.setComboxKey(attrVO.getEnumid()); // if (StringUtils.isNotBlank(attrVO.getEnumstring())) { // //æå®ç䏿æ¡å 容 // fieldVO.setData(JSONObject.parseArray(attrVO.getEnumstring(), KeyValue.class)); // if (StringUtils.isBlank(attrVO.getEnumid())) { // fieldVO.setComboxKey(fieldVO.getField() + "_data"); // } // }else { // List<KeyValue> osEnumItemVOList= enumService.getEnum(attrVO.getEnumid()); // fieldVO.setData(osEnumItemVOList); // } // } // //çæ¯å¦æåç § // if (StringUtils.isNotBlank(attrVO.getReferbtmid()) || StringUtils.isNotBlank(attrVO.getReferconfig())) { // fieldVO.setFieldType("refer"); // fieldVO.setQueryField(fieldVO.getField()); // fieldVO.setField(fieldVO.getField() + "name"); // fieldVO.setShowField(fieldVO.getField()); // if (StringUtils.isNotBlank(attrVO.getReferconfig())) { // //é ç½®çå 容 // fieldVO.setReferConfig(JSONObject.parseObject(attrVO.getReferconfig(), UIFormReferVO.class)); // } else { // UIFormReferVO formReferVO = new UIFormReferVO(); // formReferVO.setType("default"); // formReferVO.setReferType(attrVO.getReferbtmid()); // fieldVO.setReferConfig(formReferVO); // } // } // if (VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(fieldVO.getSortField())) { // fieldVO.setField("lcstatus_text"); // } // Map<String, String> eventJsMap = new HashMap<>(); // //è¶ é¾æ¥ä¸æ¨¡æ¿æ¯äºæ¥ // if (StringUtils.isNotBlank(attrVO.getTablehref())) { // String event = fieldVO.getSortField() + "_href"; // eventJsMap.put(event, attrVO.getTablehref()); // fieldVO.setTemplet("function(d){ return '<a class=\"layui-btn layui-btn-intable \" lay-event=\"" + event + "\">d." + fieldVO.getField() + "</a>';}"); // } // if (StringUtils.isNotBlank(attrVO.getTabledisplayjs())) { // //ç´æ¥åfunction(d){ return xxxxx;} // fieldVO.setTemplet(attrVO.getTabledisplayjs()); // } // if (StringUtils.isBlank(fieldVO.getTemplet()) && VciFieldTypeEnum.VTBoolean.name().equalsIgnoreCase(attrVO.getAttributedatatype())) { // fieldVO.setTemplet("function(d){return $webUtil.formateBoolean(d." + fieldVO.getField() + ");}"); // } // fieldVO.setOptionJsMap(eventJsMap); // fieldVO.setStyle(attrVO.getTabledisplaystyle()); // //å表éä¸å è®¸ç´æ¥ç¼è¾ // fieldVO.setDateFormate(attrVO.getCodedateformat()); // return fieldVO; // } // // // /** // * ç¸ä¼¼é¡¹æ¥è¯¢ // * // * @param orderDTO ç¼ç çç¸å ³ä¿¡æ¯ // * @return æ°æ®å表 // */ // @Override // public DataGrid<Map<String, String>> resembleQuery(CodeOrderDTO orderDTO) { // VciBaseUtil.alertNotNull(orderDTO, "ç³è¯·çä¿¡æ¯", orderDTO.getCodeClassifyOid(), "å类主é®", orderDTO.getTemplateOid(), "模æ¿ä¸»é®"); // CodeClassifyFullInfoBO fullInfoBO = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); // CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid()); // switchClassifyLevelOnOrder(templateVO, fullInfoBO, orderDTO); // switchDateAttrOnOrder(templateVO, orderDTO); // switchComponentAttrOnOrder(templateVO, orderDTO); // //éè¦è·åæ¯å¦æç¸ä¼¼æ¥è¯¢å±æ§ // Map<String, CodeClassifyTemplateAttrVO> attrVOs = templateVO.getAttributes().stream().filter(s -> VciBaseUtil.getBoolean(s.getSamerepeatattrflag())).collect(Collectors.toMap(s -> s.getId(), t -> t)); // if (CollectionUtils.isEmpty(attrVOs)) { // //齿²¡æå±æ§ï¼è¯å®ä¸è½æ¥è¯¢äº // return new DataGrid<>(); // } // Map<String, String> conditionMap = new HashMap<>(); // //æä»¬é¦å è·åææ²¡ææ¥è¯¢è§å // CodeResembleRuleVO resembleRuleVO = Optional.ofNullable(getUseResembleRule(fullInfoBO, fullInfoBO.getCurrentClassifyVO())).orElseGet(() -> new CodeResembleRuleVO()); // attrVOs.forEach((attrId, attrVO) -> { // String value = getValueFromOrderDTO(orderDTO, attrId); // if (value == null) { // value = ""; // } // wrapperResembleConditionMap(value, resembleRuleVO, attrId, conditionMap); // }); // // //没æéå¶åç±»ï¼ä½æ¯ä¸ä¸ªæ¨¡æ¿åªå¯è½å¨ä¸ä¸ªä¸å¡ç±»åéé¢ï¼æä»¥ç´æ¥æ¥è¯¢è¿ä¸ªä¸å¡ç±»åå³å¯ // if (!CollectionUtils.isEmpty(conditionMap)) { // Map<String, String> andConditionMap = new HashMap<>(); // andConditionMap.put("islastr", "1"); // andConditionMap.put("islastv", "1"); // if (StringUtils.isNotBlank(orderDTO.getOid())) { // andConditionMap.put("oid", QueryOptionConstant.NOTEQUAL + orderDTO.getOid()); // } // conditionMap.putAll(andConditionMap); // PageHelper pageHelper = new PageHelper(-1); // pageHelper.addDefaultDesc("id"); // return queryGrid(fullInfoBO.getTopClassifyVO().getBtmtypeid(), templateVO, conditionMap, pageHelper); // } // return new DataGrid<>(); // } // // /** // * è·å使ç¨çç¸ä¼¼æ¥è¯¢è§å // * // * @param fullInfoBO ç±»å ¨é¨ä¿¡æ¯ // * @param currentClassifyVO å½åçåç±» // * @return è§åï¼å¦æä¸åå¨ä¼è¿åNull // */ // @Override // public CodeResembleRuleVO getUseResembleRule(CodeClassifyFullInfoBO fullInfoBO, CodeClassifyVO currentClassifyVO) { // if (currentClassifyVO == null) { // return null; // } // if (currentClassifyVO != null && StringUtils.isNotBlank(currentClassifyVO.getCodeResembleRuleOid())) { // //说æå·²ç»åå¨ // return resembleRuleService.getObjectByOid(currentClassifyVO.getCodeResembleRuleOid()); // } // if (StringUtils.isBlank(currentClassifyVO.getParentcodeclassifyoid())) { // return null; // } // Map<String, CodeClassifyVO> classifyVOMap = fullInfoBO.getParentClassifyVOs().stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); // return getUseResembleRule(fullInfoBO, classifyVOMap.getOrDefault(currentClassifyVO.getParentcodeclassifyoid(), null)); // } // // /** // * å°è£ ç¸ä¼¼é¡¹æ¥è¯¢çæ¥è¯¢æ¡ä»¶çæ å° // * // * @param value å¼ // * @param resembleRuleVO ç¸ä¼¼é¡¹è§å // * @param attrId 屿§çç¼å· // * @param conditionMap æ¥è¯¢æ¡ä»¶ // */ // @Override // public void wrapperResembleConditionMap(String value, CodeResembleRuleVO resembleRuleVO, String attrId, Map<String, String> conditionMap) { // boolean ignoreSpace = VciBaseUtil.getBoolean(resembleRuleVO.getIgnorespaceflag()) || VciBaseUtil.getBoolean(resembleRuleVO.getIgnoreallspaceflag()); // if (StringUtils.isBlank(value)) { // //ä¸ºç©ºçæ¶å就䏿¥è¯¢å®å°±æ¯ // } else { // String queryKey = ""; // String queryValue = ""; // boolean ignoreCase = VciBaseUtil.getBoolean(resembleRuleVO.getIgnorecaseflag()); // boolean ignoreWidth = VciBaseUtil.getBoolean(resembleRuleVO.getIgnorewidthflag()); // boolean trimAll = VciBaseUtil.getBoolean(resembleRuleVO.getIgnoreallspaceflag()); // boolean trim = VciBaseUtil.getBoolean(resembleRuleVO.getIgnoreallspaceflag()); // String temp = ""; // if (ignoreCase && ignoreSpace && ignoreWidth) { // //忽ç¥å¤§å°åï¼ä¸å»ç©ºï¼å¿½ç¥å ¨åè§ // temp = (trimAll ? "REPLACE" : "TRIM") + "(UPPER(to_single_byte('%s')) " + (trimAll ? ",' ','')" : ")"); // } else if (ignoreCase && ignoreSpace && !ignoreWidth) { // //忽ç¥å¤§å°åãå»ç©ºãä¸å¿½ç¥å ¨åè§ // temp = (trimAll ? "REPLACE" : "TRIM") + "(UPPER(%s) " + (trimAll ? ",' ','')" : ")"); // } else if (ignoreCase && !ignoreSpace && ignoreWidth) { // //忽ç¥å¤§å°åãä¸å»ç©ºã忽ç¥å ¨åè§ // temp = "UPPER(to_single_byte('%s'))"; // } else if (!ignoreCase && ignoreSpace && ignoreWidth) { // //ä¸å¿½ç¥å¤§å°åãå»ç©ºã忽ç¥å ¨åè§ // temp = (trimAll ? "REPLACE" : "TRIM") + "(to_single_byte('%s') " + (trimAll ? ",' ','')" : ")"); // } else if (ignoreCase && !ignoreSpace && !ignoreWidth) { // //忽ç¥å¤§å°åãä¸å»ç©ºãä¸å¿½ç¥å ¨åè§ // temp = "UPPER(%s)"; // } else if (!ignoreCase && !ignoreCase && ignoreWidth) { // //ä¸å¿½ç¥å¤§å°åãä¸å»ç©ºã忽ç¥å ¨åè§ // temp = "to_single_byte('%s')"; // } else if (!ignoreCase && ignoreSpace && !ignoreWidth) { // //ä¸å¿½ç¥å¤§å°åãå»ç©ºãä¸å¿½ç¥å ¨åè§ // temp = (trimAll ? "REPLACE" : "TRIM") + "(%s " + (trimAll ? ",' ','')" : ")"); // } else if (!ignoreCase && !ignoreSpace && !ignoreWidth) { // //ä¸å¿½ç¥å¤§å°åãä¸å»ç©ºãä¸å¿½ç¥å ¨åè§ // temp = "%s"; // } // if (StringUtils.isNotBlank(resembleRuleVO.getLinkCharacter())) { // List<String> chars = VciBaseUtil.str2List(resembleRuleVO.getLinkCharacter()); // for (int i = 0; i < chars.size(); i++) { // String s = chars.get(i); // temp = "replace(" + temp + ",'" + s + "','')"; // } // } // queryValue = String.format(temp, (trim ? value.trim() : value)); // temp = temp.replace("to_single_byte('%s')","to_single_byte(%s)"); // queryKey = String.format(temp, "t."+attrId); // conditionMap.put(queryKey, QueryOptionConstant.OR + queryValue); // } // } // // // /** // * æ¥è¯¢ç¼ç æ°æ®çå表 // * // * @param btmType ä¸å¡ç±»å // * @param templateVO 模æ¿ç对象ï¼éè¦å 嫿¨¡æ¿ç屿§ // * @param conditionMap æ¥è¯¢æ¡ä»¶ // * @param pageHelper å页对象 // * @return æ°æ®å表 // */ // @Override // public DataGrid<Map<String, String>> queryGrid(String btmType, CodeClassifyTemplateVO templateVO, Map<String, String> conditionMap, PageHelper pageHelper) { // CodeTemplateAttrSqlBO sqlBO = getSqlByTemplateVO(btmType, templateVO, conditionMap, pageHelper); //// List<Map> maps = boService.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); // List<Map> maps = commonsMapper.selectBySql(sqlBO.getSqlHasPage()); // DataGrid<Map<String, String>> dataGrid = new DataGrid<>(); // List<Map<String, String>> dataList = new ArrayList<>(); // if (!CollectionUtils.isEmpty(maps)) { // maps.stream().forEach(map -> { // Map<String, String> data = new HashMap<>(); // map.forEach((key, value) -> { // data.put(((String) key).toLowerCase(Locale.ROOT), (String) value); // }); // dataList.add(data); // }); // } // dataGrid.setData(dataList); // if (!CollectionUtils.isEmpty(dataList)) { // wrapperData(dataGrid.getData(), templateVO, sqlBO.getSelectFieldList(), false); // dataGrid.setTotal(Long.parseLong(commonsMapper.selectBySql(sqlBO.getSqlCount()).get(0).values().toArray()[0].toString());); // } // return dataGrid; // } // // // /** // * å°è£ æ¥è¯¢åºæ¥çæ°æ® // * // * @param dataMap æ°æ®çæ å° // * @param templateVO 模æ¿ç屿§ // * @param onlySelectAttrIdList ä» ä» æ¥è¯¢ç屿§å段 // * @param form 表åéä½¿ç¨ // */ // @Override // public void wrapperData(List<Map<String, String>> dataMap, CodeClassifyTemplateVO templateVO, // Collection<String> onlySelectAttrIdList, boolean form) { // if (onlySelectAttrIdList == null) { // onlySelectAttrIdList = new ArrayList<>(); // } // //å 转æ¢ä¸ä¸æ¶é´æ ¼å¼ // List<String> finalOnlySelectAttrIdList = onlySelectAttrIdList.stream().collect(Collectors.toList()); // List<CodeClassifyTemplateAttrVO> dateFormatAttrVOs = templateVO.getAttributes().stream().filter( // s -> StringUtils.isNotBlank(s.getCodeDateFormat()) && // (finalOnlySelectAttrIdList.size() == 0 || finalOnlySelectAttrIdList.contains(s.getId().toLowerCase(Locale.ROOT))) // ).collect(Collectors.toList()); // //æä¸¾çå 容 // List<CodeClassifyTemplateAttrVO> enumAttrVOs = templateVO.getAttributes().stream().filter( // s -> (StringUtils.isNotBlank(s.getEnumId()) || StringUtils.isNotBlank(s.getEnumString())) // && // (finalOnlySelectAttrIdList.size() == 0 || finalOnlySelectAttrIdList.contains(s.getId().toLowerCase(Locale.ROOT))) // ).collect(Collectors.toList()); // // List<String> userIds = new ArrayList<>(); // dataMap.stream().forEach(data -> { // //å¤çæ¶é´ // if (!form) { // //表åçæ¶ååªè½ç¨ç»ä¸çæ¶é´æ ¼å¼ // wrapperDateFormat(dateFormatAttrVOs, data); // } // //å¤çæä¸¾ // wrapperEnum(enumAttrVOs, data); // String lcstatus = data.get(VciQueryWrapperForDO.LC_STATUS_FIELD); // String copyFromVersion = data.getOrDefault(COPY_FROM_VERSION,""); // if ((CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(lcstatus) || CodeDefaultLC.AUDITING.getValue().equalsIgnoreCase(lcstatus)) // && StringUtils.isBlank(copyFromVersion) // ) { // data.put(VciQueryWrapperForDO.ID_FIELD, "******"); // } // data.put(VciQueryWrapperForDO.LC_STATUS_FIELD_TEXT.toLowerCase(Locale.ROOT), CodeDefaultLC.getTextByValue(lcstatus)); // if(CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(lcstatus) // && StringUtils.isNotBlank(copyFromVersion)){ // data.put(VciQueryWrapperForDO.LC_STATUS_FIELD_TEXT.toLowerCase(Locale.ROOT), "ä¿®æ¹ä¸"); // } // if (data.containsKey("creator")) { // userIds.add(data.get("creator")); // } // if (data.containsKey("lastmodifier")) { // userIds.add(data.get("lastmodifier")); // } // }); // if (!CollectionUtils.isEmpty(userIds)) { // Map<String, SmUserVO> userVOMap = Optional.ofNullable(userQueryService.listUserByUserIds(userIds)).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); // dataMap.stream().forEach(data -> { // String creator = data.getOrDefault("creator", null); // if (StringUtils.isNotBlank(creator) && userVOMap.containsKey(creator.toLowerCase(Locale.ROOT))) { // data.put("creator", creator + "(" + userVOMap.get(creator.toLowerCase(Locale.ROOT)).getName() + ")"); // } // String lastmodifier = data.getOrDefault("lastmodifier", null); // if (StringUtils.isNotBlank(lastmodifier) && userVOMap.containsKey(lastmodifier.toLowerCase(Locale.ROOT))) { // data.put("lastmodifier", lastmodifier + "(" + userVOMap.get(lastmodifier.toLowerCase(Locale.ROOT)).getName() + ")"); // } // }); // } // } // // // /** // * å¤çæ¶é´æ ¼å¼ // * // * @param dateFormatAttrVOs æ¶é´æ ¼å¼ç屿§ // * @param data å½åè¡æ°æ® // */ // private void wrapperDateFormat(Collection<CodeClassifyTemplateAttrVO> dateFormatAttrVOs, Map<String, String> data) { // if (!CollectionUtils.isEmpty(dateFormatAttrVOs)) { // dateFormatAttrVOs.stream().forEach(dateFormatAttrVO -> { // String attrId = dateFormatAttrVO.getId().toLowerCase(Locale.ROOT); // String oldValue = data.getOrDefault(attrId, null); // if (StringUtils.isNotBlank(oldValue)) { // DateConverter dateConverter = new DateConverter(); // try { // dateConverter.setAsText(oldValue); // Date value = dateConverter.getValue(); // if (value != null) { // data.put(attrId, VciDateUtil.date2Str(value, dateFormatAttrVO.getCodeDateFormat())); // } // } catch (Throwable e) { // //转æ¢å¯è½æé®é¢ï¼è¿å°±ä½¿ç¨åæ¬åå¨çå¼ // } // } // }); // } // } // // // /** // * å¤çæä¸¾çå 容ï¼å¦æä¸å¨æä¸¾ä¸ï¼ä¼è¿å忬çå¼ // * // * @param enumAttrVOs æä¸¾å±æ§ // * @param data å½åè¡æ°æ® // */ // private void wrapperEnum(Collection<CodeClassifyTemplateAttrVO> enumAttrVOs, Map<String, String> data) { // //å¤çæä¸¾çå 容ï¼ä¸ºäºå ¼å®¹ä»¥åçæ°æ®,å¦ææ°æ®ä¸è½ä½¿ç¨æä¸¾è½¬æ¢çè¯ï¼é£è¿æ¯æ¾ç¤ºä»¥åçå¼ // if (!CollectionUtils.isEmpty(enumAttrVOs)) { // enumAttrVOs.stream().forEach(enumAttrVO -> { // String attrId = enumAttrVO.getId().toLowerCase(Locale.ROOT); // String oldValue = data.getOrDefault(attrId, null); // if (StringUtils.isNotBlank(oldValue)) { // List<KeyValue> comboxKVs = listComboboxItems(enumAttrVO); // String newValue = oldValue; // KeyValue keyValue = Optional.ofNullable(comboxKVs).orElseGet(() -> new ArrayList<>()).stream().filter(s -> s.getKey().equalsIgnoreCase(oldValue)).findFirst().orElseGet(() -> null); // if (keyValue != null) { // newValue = keyValue.getValue(); // } // data.put(attrId + "Text", newValue); // } // }); // } // } // // // /** // * æ ¹æ®æ¨¡æ¿å±æ§çæç¸åºçsqlä¿¡æ¯ // * // * @param btmType ä¸å¡ç±»å // * @param templateVO æ¨¡æ¿æ¾ç¤ºå¯¹è±¡ï¼å¿ é¡»å å«å±æ§ // * @param conditionMap æ¥è¯¢æ¡ä»¶ // * @param pageHelper å页åæåºå¯¹è±¡ // * @return sqlçç¸å ³ä¿¡æ¯ // */ // @Override // public CodeTemplateAttrSqlBO getSqlByTemplateVO(String btmType, CodeClassifyTemplateVO templateVO, Map<String, String> conditionMap, PageHelper pageHelper) { // //å 为åç §ä¸ä¸å®æ¯å¨å¹³å°ç屿§æ± éé¢è®¾ç½®ï¼æä»¥æä»¬å¾éè¦èªè¡å¤ç // //åèVciQueryWrapperæ¥å¤ç // //1. æ¾å°ææçåæ®µï¼ // Map<String, CodeClassifyTemplateAttrVO> attrVOMap = templateVO.getAttributes().stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); // List<String> selectFieldList = attrVOMap.keySet().stream().collect(Collectors.toList()); // // //ææçåç §çåæ®µ // Map<String/**屿§å段**/, String> joinTableList = new ConcurrentHashMap<>(); // List<CodeClassifyTemplateAttrVO> referAttrVOs = templateVO.getAttributes().stream().filter( // s -> StringUtils.isNotBlank(s.getReferBtmId()) || StringUtils.isNotBlank(s.getReferConfig()) // ).collect(Collectors.toList()); // Map<String/**åç §ç屿§**/, String/**å®é çåæ®µ**/> referFieldMap = new HashMap<>(); // if (!CollectionUtils.isEmpty(referAttrVOs)) { // referAttrVOs.parallelStream().forEach(attrVO -> { // UIFormReferVO referVO = null; // if (StringUtils.isNotBlank(attrVO.getReferConfig())) { // referVO = JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class); // } else { // referVO = new UIFormReferVO(); // referVO.setReferType(attrVO.getReferBtmId()); // referVO.setValueField(VciQueryWrapperForDO.OID_FIELD); // referVO.setTextField("name"); // } // // String referTable = VciBaseUtil.getTableName(referVO.getReferType()); // String referTableNick = attrVO.getId() + "0"; // String left = " left join " + referTable + " " + referTableNick + " on " + referTableNick + "." + referVO.getValueField() + " = t." + attrVO.getId(); // joinTableList.put(attrVO.getId(), left); // String referShowField = attrVO.getId() + "Name"; // List<String> textFields = VciBaseUtil.str2List(referVO.getTextField()); // String showFieldInSource = ""; // if (textFields.contains("name")) { // showFieldInSource = "name"; // } else { // showFieldInSource = textFields.get(0); // } // referFieldMap.put(attrVO.getId(), referTableNick + "." + showFieldInSource); // selectFieldList.add(referTableNick + "." + showFieldInSource + " as " + referShowField); // }); // } // Optional.ofNullable(attributeService.getDefaultAttributeVOMap()).orElseGet(() -> new HashMap<>()).keySet().stream().forEach(attrId -> { // if (!selectFieldList.contains(attrId) && !"secretgrade".equalsIgnoreCase(attrId)) { // selectFieldList.add(attrId); // } // }); // if (!selectFieldList.contains(CODE_FIELD)) { // selectFieldList.add(CODE_FIELD); // } // if (!selectFieldList.contains(CODE_CLASSIFY_OID_FIELD)) { // selectFieldList.add(CODE_CLASSIFY_OID_FIELD); // } // if (!selectFieldList.contains(CODE_TEMPLATE_OID_FIELD)) { // selectFieldList.add(CODE_TEMPLATE_OID_FIELD); // } // if (!selectFieldList.contains(CODE_FULL_PATH_FILED)) { // selectFieldList.add(CODE_FULL_PATH_FILED); // } // // //å¤çæ¥è¯¢æ¡ä»¶ // //TODO éªè¯sqlæ³¨å ¥ // List<String> andSql = new ArrayList<>(); // List<String> orSql = new ArrayList<>(); // if (!CollectionUtils.isEmpty(conditionMap)) { // Map<String, String> orConditionMap = new HashMap<>(); // Map<String, String> andCondtionMap = new HashMap<>(); // //å å离orçæ¥è¯¢æ¡ä»¶ï¼å¦å¤å½æ¥è¯¢æ¡ä»¶æ¯ç©ºçæ¶åä¹ä¸æ¥è¯¢ // conditionMap.forEach((k, v) -> { // if (StringUtils.isNotBlank(v)) { // if (v.startsWith(QueryOptionConstant.OR)) { // orConditionMap.put(k, v.substring(QueryOptionConstant.OR.length())); // } else { // andCondtionMap.put(k, v); // } // } // }); // // andCondtionMap.forEach((k, v) -> { // andSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap)); // }); // orConditionMap.forEach((k, v) -> { // orSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap)); // }); // } // //ç»åèµ·æ¥ // StringBuilder andSb = new StringBuilder(); // andSql.stream().forEach(s -> { // andSb.append(s).append(SPACE).append(QueryOptionConstant.AND).append(SPACE); // }); // // String andString = andSb.toString().trim(); // String endWithSql = QueryOptionConstant.AND; // if (andString.endsWith(endWithSql)) { // andString = andString.substring(0, andString.length() - endWithSql.length()); // } // // String orString = orSql.stream().collect(Collectors.joining(" or ")); // String whereSql = ""; // if (StringUtils.isNotBlank(orString)) { // if (StringUtils.isBlank(andString)) { // andString = " 1 = 1 "; // } // whereSql = SPACE + "(" + SPACE + andString + SPACE + ") and (" + SPACE + orString + SPACE + ")" + SPACE; // } else { // whereSql = andString + SPACE; // } // if (attrVOMap.keySet().contains("secretgrade")) { // Integer userSecret = VciBaseUtil.getCurrentUserSecret(); // if (userSecret == null || userSecret == 0) { // userSecret = secretService.getMinUserSecret(); // } // whereSql += " and ( t.secretGrade <= " + userSecret + ") "; // } // String tableName = VciBaseUtil.getTableName(btmType); // String sql = "select " + selectFieldList.stream().map(s -> (s.contains(".") ? s : ("t." + s))).collect(Collectors.joining(",")) // + " from " + tableName + SPACE + "t" + SPACE // + joinTableList.values().stream().collect(Collectors.joining(SPACE)) // + (StringUtils.isBlank(whereSql) ? "" : " where ") + whereSql; // if (pageHelper == null) { // pageHelper = new PageHelper(-1); // } // //ççæåº // String orderSql = pageHelper.getOrderSql("t"); // sql += (orderSql == null ? "" : orderSql); // String whereSubfixForPage = " ) A where rownum < " + (pageHelper.getLimit() * pageHelper.getPage() + 1) + ") where RN >= " // + (pageHelper.getLimit() * (pageHelper.getPage() - 1) + 1); // String sqlHasPage = pageHelper.getLimit() > 0 ? ("select * from (select A.*,rownum RN from (" + sql + whereSubfixForPage) : sql; // String sqlCount = "select count(1) from " + tableName + SPACE + "t" + SPACE + joinTableList.values().stream().collect(Collectors.joining(SPACE)) // + (StringUtils.isBlank(whereSql) ? "" : " where ") + whereSql; // CodeTemplateAttrSqlBO sqlBO = new CodeTemplateAttrSqlBO(); // sqlBO.setTableName(tableName); // sqlBO.setJoinTable(joinTableList); // sqlBO.setNickName("t"); //// sqlBO.setPageHelper(pageHelper); // sqlBO.setSqlHasPage(sqlHasPage); // sqlBO.setSqlCount(sqlCount); // sqlBO.setSqlUnPage(sql); // return sqlBO; // } // // // /** // * ç»åæ¥è¯¢æ¡ä»¶çsql // * // * @param key åæ®µ // * @param value åå // * @param referFieldMap åç §çåæ®µ // * @param attrVOMap 屿§çæ å° // * @return Sqlè¯å¥ // */ // private String getConditionSql(String key, String value, Map<String/**åç §ç屿§**/, String/**å®é ç屿§**/> referFieldMap, Map<String, CodeClassifyTemplateAttrVO> attrVOMap) { // if (key.endsWith("_begin")) { // //è¯´ææ¯>=çãæä»¬éè¦å è·åä¸ä¸ // String field = (key.substring(0, key.length() - 6).toLowerCase().trim()); // if (referFieldMap.containsKey(field)) { // //说æè¿æ¯åç §éé¢çï¼æä»¬é»è®¤è¿ç§æ åµä¸é½æ¯å符串å§ï¼å 为åç §ç屿§ä¸ä¸å®ç¨çå¹³å°ç屿§æ± éçï¼æä»¥å¤§é¨åæ åµä¸ï¼æ¾ç¤ºç屿§é½æ¯åç¬¦ä¸²å§ // return referFieldMap.get(field) + SPACE + " >= '" + value + "'" + SPACE; // } else { // return (field.contains(".") ? "" : "t.") + field + SPACE + " >= " + getStringValueInWhere(value, field, attrVOMap); // } // } else if (key.endsWith("_end")) { // //è¯´ææ¯<=çãæä»¬éè¦å è·åä¸ä¸ // String field = (key.substring(0, key.length() - 6).toLowerCase().trim()); // if (referFieldMap.containsKey(field)) { // //说æè¿æ¯åç §éé¢çï¼æä»¬é»è®¤è¿ç§æ åµä¸é½æ¯å符串å§ï¼å 为åç §ç屿§ä¸ä¸å®ç¨çå¹³å°ç屿§æ± éçï¼æä»¥å¤§é¨åæ åµä¸ï¼æ¾ç¤ºç屿§é½æ¯åç¬¦ä¸²å§ // return referFieldMap.get(field) + SPACE + " <= '" + value + "'" + SPACE; // } else { // return (field.contains(".") ? "" : "t.") + field + SPACE + " <= " + getStringValueInWhere(field, value, attrVOMap); // } // } else { // if (referFieldMap.containsKey(key)) { // //è¯´ææ¯åç §çï¼æä»¬åç §çæ¥è¯¢é½è®¤ä¸ºæ¯å符串ï¼å¦ææ¯æ¶é´æ ¼å¼çæ¥è¯¢è¯å®æé®é¢ï¼ // String selectKey = referFieldMap.get(key); // return getSqlByValue(selectKey, value, null); // } else { // return getSqlByValue(key, value, attrVOMap); // } // } // // } // // /** // * è·åæ¥è¯¢æ¡ä»¶ä¸çå¼çï¼å¤çä¸åçç±»å // * // * @param value å¼ // * @param field åæ®µåç§° // * @return æ¥ææè æ¶é´æ ¼å¼ä¼å æ¬to_dateï¼å符串ä¼å ' // */ // private String getStringValueInWhere(String field, String value, Map<String, CodeClassifyTemplateAttrVO> attrVOMap) { // if ((field.contains(".") && !field.toLowerCase(Locale.ROOT).startsWith("t.")) || attrVOMap == null // || !field.replace("t.", "").matches(RegExpConstant.LETTER) || value.startsWith(ONLY)) { // //说æå¯è½æ¯æå®çæä¸ªæ¡ä»¶ï¼ç´æ¥è¿å // if (value.startsWith(ONLY)) { // value = value.replace(ONLY, ""); // } // if ((value.startsWith("(") && value.endsWith(")")) || (value.startsWith("'") && value.endsWith("'"))) { // return value; // } // if (field.contains(".") && attrVOMap != null && attrVOMap.containsKey(field.split("\\.")[0].toLowerCase(Locale.ROOT))) { // //æ¯åç § // return "'" + value + "'"; // } else { // return value; // } // } else { // //ççæ¯ä¸æ¯è¿ä¸ªå¯¹è±¡éç屿§ // if (attrVOMap.containsKey(field)) { // VciFieldTypeEnum fieldTypeEnum = VciFieldTypeEnum.valueOf(attrVOMap.get(field).getAttributeDataType()); // if ("ts".equalsIgnoreCase(field)) { // return "to_timestamp('" + value + "', '" + DATETIME_FORMAT + ".ff')"; // } // DateConverter dateConverter = new DateConverter(); // if (VciFieldTypeEnum.VTDateTime.equals(fieldTypeEnum)) { // //å®é ä¸ï¼æ°æ®åºé½æ¯timestampçç±»å. // dateConverter.setAsText(value); // return "to_date('" + dateConverter.getAsText(VciDateUtil.DateTimeFormat) + "','" + DATETIME_FORMAT + "')"; // } else if (VciFieldTypeEnum.VTDate.equals(fieldTypeEnum)) { // dateConverter.setAsText(value); // return "to_date('" + dateConverter.getAsText(VciDateUtil.DateFormat) + "','" + DATE_FORMAT + "')"; // } else if (VciFieldTypeEnum.VTDouble.equals(fieldTypeEnum) // || VciFieldTypeEnum.VTLong.equals(fieldTypeEnum) // || VciFieldTypeEnum.VTInteger.equals(fieldTypeEnum)) { // return value; // } else { // return "'" + value + "'"; // } // } else { // if ((value.startsWith("(") && value.endsWith(")")) || (value.startsWith("'") && value.endsWith("'"))) { // return value; // } // return "'" + value + "'"; // } // } // // } // // /** // * å°è£ æç»çsqlè¯å¥ä¸çå¼é¨å // * // * @param selectKey æ¥è¯¢çåæ®µ // * @param value å¼ // * @param attrVOMap 屿§çæ¾ç¤ºå¯¹è±¡æ å° // * @return sqléçå¼ // */ // private String getSqlByValue(String selectKey, String value, Map<String, CodeClassifyTemplateAttrVO> attrVOMap) { // StringBuilder sql = new StringBuilder(); // if (!selectKey.contains(".") && (attrVOMap.containsKey(selectKey.toLowerCase(Locale.ROOT)) || attributeService.isDefaultAttr(selectKey) || selectKey.matches(RegExpConstant.LETTER))) { // sql.append("t."); // } // if (value.startsWith(QueryOptionConstant.IN)) { // sql.append(selectKey) // .append(SPACE) // .append("in") // .append(SPACE) // .append("(") // .append(value.replace(QueryOptionConstant.IN, "")) // .append(")"); // } else if (value.startsWith(QueryOptionConstant.NOTIN)) { // sql.append(selectKey) // .append(SPACE) // .append("not in") // .append(SPACE) // .append("(") // .append(value.replace(QueryOptionConstant.NOTIN, "")) // .append(")"); // } else if (value.startsWith(QueryOptionConstant.NOTEQUAL)) { // value = value.replace(QueryOptionConstant.NOTEQUAL, ""); // value = getStringValueInWhere(selectKey, value, attrVOMap); // sql.append(selectKey) // .append(SPACE) // .append(QueryOptionConstant.NOTEQUAL) // .append(SPACE) // .append(value); // } else if (value.startsWith(QueryOptionConstant.MORETHAN)) { // value = value.replace(QueryOptionConstant.MORETHAN, ""); // value = getStringValueInWhere(selectKey, value, attrVOMap); // sql.append(selectKey) // .append(SPACE) // .append(QueryOptionConstant.MORETHAN) // .append(SPACE) // .append(value); // } else if (value.startsWith(QueryOptionConstant.MORE)) { // value = value.replace(QueryOptionConstant.MORE, ""); // value = getStringValueInWhere(selectKey, value, attrVOMap); // sql.append(selectKey) // .append(SPACE) // .append(QueryOptionConstant.MORE) // .append(SPACE) // .append(value); // } else if (value.startsWith(QueryOptionConstant.LESSTHAN)) { // value = value.replace(QueryOptionConstant.LESSTHAN, ""); // value = getStringValueInWhere(selectKey, value, attrVOMap); // // sql.append(selectKey) // .append(SPACE) // .append(QueryOptionConstant.LESSTHAN) // .append(SPACE) // .append(value); // } else if (value.startsWith(QueryOptionConstant.LESS)) { // value = value.replace(QueryOptionConstant.LESS, ""); // value = getStringValueInWhere(selectKey, value, attrVOMap); // // sql.append(selectKey) // .append(SPACE) // .append(QueryOptionConstant.LESS) // .append(SPACE) // .append(value); // } else if (value.startsWith(QueryOptionConstant.ISNOTNULL)) { // sql.append(selectKey) // .append(SPACE) // .append(" is not null"); // } else if (value.startsWith(QueryOptionConstant.ISNULL)) { // sql.append(selectKey) // .append(SPACE) // .append(" is null"); // } else if (value.contains("*")) { // //è¯´ææ¯likeï¼æè lefe like ,right like // value = getStringValueInWhere(selectKey, value, attrVOMap); // sql.append(selectKey) // .append(SPACE) // .append("like") // .append(SPACE) // // .append("'") // .append(value.replace("*", "%")) // // .append("'") // .append(SPACE); // } else { // value= value.replace(SPECIAL_CHAR,REQUIRED_CHAR); // value = getStringValueInWhere(selectKey, value, attrVOMap); // // sql.append(selectKey) // .append(SPACE) // .append(QueryOptionConstant.EQUAL) // .append(SPACE) // .append(value); // } // sql.append(SPACE); // return sql.toString(); // } // // /** // * ä¿®æ¹ä¸»é¢åºæ°æ® // * // * @param orderDTO æ°æ®çå 容ï¼ä¸ç¨å å«ç 段çå å®¹äº // */ // @Override // public void editSaveCode(CodeOrderDTO orderDTO) { // VciBaseUtil.alertNotNull(orderDTO, "ç¼ç ç³è¯·ç¸å ³ç屿§çå 容é½ä¸ºç©º", orderDTO.getOid(), "æ°æ®ä¸»é®", // orderDTO.getCodeClassifyOid(), "主é¢åºåç±»ç主é®"); //// CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); // CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); // //æ¾ä¸å¡ç±»åï¼ç¶å使ç¨ä¸»é®å»è·åæ°æ®åºéçæ°æ® //// List<ClientBusinessObject> cbos = boService.queryCBO(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), WebUtil.getOidQuery(orderDTO.getOid())); // // QueryWrapper<CodeOsbtmtypeEntity> btmWrapper = new QueryWrapper<>(); // btmWrapper.eq("OID",orderDTO.getOid()); // CodeWupinEntity cbo = codeOsbtmtypeMapper.selectOne(btmWrapper); // //// CodeClstemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid()); //// CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid()); // // if (cbo != null) { // throw new VciBaseException(DATA_OID_NOT_EXIST); // } //// ClientBusinessObject cbo = cbos.get(0); // if (!cbo.getTs().toString().contains(VciDateUtil.date2Str(orderDTO.getTs(), VciDateUtil.DateTimeFormat))) { // throw new VciBaseException("æ°æ®ä¸æ¯ææ°çï¼å¯è½ä»äººå·²ç»ä¿®æ¹ï¼è¯·å·æ°ååè¯"); // } // if (!CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(cbo.getLcStatus()) && !orderDTO.isEditInProcess()) { // throw new VciBaseException("æ°æ®ä¸æ¯{0}çç¶æï¼ä¸å 许修æ¹", new String[]{CodeDefaultLC.EDITING.getText()}); // } // // //æ³¨ææ¨¡æ¿ä¸è½ä½¿ç¨æ°æ®åå¨çæ¶åçæ¨¡æ¿ï¼å 为å¯è½ä¼åå // // //1. å¤æå¿ è¾é¡¹ // CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid()); // checkRequiredAttrOnOrder(templateVO, orderDTO); // //2.å æ³¨å ¥ï¼åç»åï¼æåæ ¡éª // switchClassifyLevelOnOrder(templateVO, classifyFullInfo, orderDTO); // //3.å¤çç»åè§åãç»åè§åä¸è½ä½¿ç¨ç¼ç ç屿§ï¼å 为ç¼ç ççæå¯è½æ¯éè¦å±æ§ç // switchComponentAttrOnOrder(templateVO, orderDTO); // //4.æ ¡éªè§å // checkVerifyOnOrder(templateVO, orderDTO); // //5.å¤æå ³é®å±æ§ // checkKeyAttrOnOrder(classifyFullInfo, templateVO, orderDTO); // //6.æ ¡éªæä¸¾çå 容æ¯å¦æ£ç¡® // checkEnumOnOrder(templateVO, orderDTO); // //7.å¤çæ¶é´æ ¼å¼ï¼å¨æ°æ®åºéé¢ä¸è®ºæ¯åç¬¦ä¸²è¿æ¯æ¥ææ ¼å¼ï¼é½ä½¿ç¨ç¸åçæ ¼å¼åå¨ // switchDateAttrOnOrder(templateVO, orderDTO); // //é»è®¤çå 容ä¸è½åï¼æä»¥åªéè¦æ·è´èªå®ä¹çç¸å ³å±æ§å³å¯ // copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, true); // //ä¼ä¸ç åéå¢ç çä¸ä¿®æ¹ // cbo.setDescription(orderDTO.getDescription()); // cbo.setName(orderDTO.getName()); // try { // cbo.setDescription(orderDTO.getDescription()); // cbo.setName(orderDTO.getName()); ////// cbo.setAttributeValueWithNoCheck("description", orderDTO.getDescription()); //// cbo.setAttributeValue("name", orderDTO.getName()); // } catch (Exception e) { // e.printStackTrace(); // } // // // List<CodeWupinEntity> cboList = new ArrayList<>(); // // //夿³¨ // cbo.setDescription(orderDTO.getDescription()); // cboList.add(cbo); //// //// cboList.add(cbo); // List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(),cboList); // // // List<String> charList = new ArrayList<>(); // for (CodeWupinEntity wupinEntity : cboList) { // charList.add(wupinEntity.getId()); // } // batchSaveSelectChar(templateVO, charList); // return codeList.size() > 0 ? codeList.get(0) : ""; // // // // // //ä¿®æ¹çæ¶åï¼ç¼ç æ¯ä¸åç //// BatchCBO batchCBO = new BatchCBO(); //// batchCBO.getUpdateCbos().add(cbo); //// List<ClientBusinessObject> cboList = new ArrayList<>(); //// cboList.add(cbo); //// boService.persistenceBatch(batchCBO); // batchSaveSelectChar(templateVO, cboList); // } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -1,419 +1,381 @@ package com.vci.ubcs.code.service.impl; import com.alibaba.nacos.common.utils.StringUtils; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.service.ICodeClassifyService; import com.vci.ubcs.code.service.MdmEngineService; import com.vci.ubcs.code.service.MdmIOService; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO; 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.SheetDataSet; import com.vci.ubcs.starter.poi.bo.SheetRowData; import com.vci.ubcs.starter.poi.bo.WriteExcelOption; import com.vci.ubcs.starter.poi.util.ExcelUtil; import com.vci.ubcs.starter.util.LocalFileUtil; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.VciDateUtil; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.RichTextString; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.io.File; import java.util.*; import java.util.stream.Collectors; import static com.alibaba.druid.util.FnvHash.Constants.LIMIT; import static com.vci.ubcs.code.constant.MdmEngineConstant.CODE_FIELD; import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_ATTR_LIST; import static com.vci.ubcs.starter.poi.util.ExcelUtil.KEY_ATTR_CHAR; import static com.vci.ubcs.starter.poi.util.ExcelUtil.REQUIRED_CHAR; @Service public class MdmIOServiceImpl implements MdmIOService { /** * 主é¢åºåç±»çæå¡ */ @Resource private ICodeClassifyService classifyService; /** * 模æ¿çæå¡ */ @Resource private CodeClstemplateServiceImpl templateService; /** * ä¸»æ°æ®å¼æçæå¡ */ @Resource private MdmEngineService engineService; /** * çæå¯¼å ¥çæä»¶ * * @param codeClassifyOid åç±»çä¸»é® * @param isHistory æ¯å¦å岿°æ®å¯¼å ¥ * @return excelçæä»¶å°å */ @Override public String createImportExcel(String codeClassifyOid, boolean isHistory) { List<CodeClstemplateVO> templateVOList=new ArrayList<>(); VciBaseUtil.alertNotNull("å¯¼åºæ¨¡æ¿","导åºçé ç½®",codeClassifyOid,"主é¢åºåç±»ç主é®"); CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid); if(isHistory){ templateVOList= templateService.childTemplates(codeClassifyOid); }else{ //æ¾æ¨¡æ¿ CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); templateVOList.add(templateVO); } WriteExcelOption eo = new WriteExcelOption(); eo.setAppend(true); //å¢å 模æ¿çä¿¡æ¯å¯¼å ¥ LinkedList<WriteExcelData> tempEDList = new LinkedList<>(); tempEDList.add(new WriteExcelData(0,0,"模æ¿ä¸»é®")); tempEDList.add(new WriteExcelData(0,1,"模æ¿ä»£å·")); tempEDList.add(new WriteExcelData(0,2,"模æ¿åç§°")); for(int j=0;j<templateVOList.size();j++){ CodeClstemplateVO templateVO=templateVOList.get(j); //ç»åæ ¼å¼çä¸å¯¼å ¥ï¼ // æä¸¾çæä¾åºåçéæ© //æ¶é´å ¨é¨ç»ä¸ä¸ºyyyy-MM-dd HH:mm:ss //åç §çèªè¡è¾å ¥åç§° //åç±»æ³¨å ¥çä¸ç¨ï¼é½æ¯å¯¼å ¥åèªå¨å¤çç //ç¼ç ï¼ç¶æçåæ®µä¸å¯¼å ¥ List<CodeClassifyTemplateAttrVO> templateAttrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_ATTR_LIST.contains(s.getId()) && StringUtils.isBlank(s.getComponentRule()) && StringUtils.isBlank(s.getClassifyInvokeAttr()) && (isHistory || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); if(CollectionUtils.isEmpty(templateAttrVOS)){ throw new VciBaseException("æ¨¡æ¿æ²¡æé 置任ä½ãè¡¨åæ¾ç¤ºãä¸ºãæ¯ãç屿§"); } List<CodeClassifyTemplateAttrVO> idAttrVOList = templateVO.getAttributes().stream().filter(s -> s.getId().equalsIgnoreCase(CODE_FIELD)).collect(Collectors.toList()); LinkedList<WriteExcelData> excelDataList = new LinkedList<>(); Workbook workbook = new HSSFWorkbook(); if(isHistory){ excelDataList.add(new WriteExcelData(0,0,"å类路å¾")); excelDataList.add(new WriteExcelData(0,1,"ç æ®µå®½åº¦")); excelDataList.add(new WriteExcelData(0,2,!CollectionUtils.isEmpty(idAttrVOList)?idAttrVOList.get(0).getName():"ä¼ä¸ç¼ç ")); } for (int i = 0; i < templateAttrVOS.size(); i++) { CodeClassifyTemplateAttrVO attrVO = templateAttrVOS.get(i); Object text = attrVO.getName(); text = exportKeyAndRequired(workbook,attrVO,text); int colIndex = (isHistory?3:0) + i; WriteExcelData excelData = new WriteExcelData(0, colIndex, text); if(StringUtils.isNotBlank(attrVO.getCodeDateFormat()) || VciFieldTypeEnum.VTDateTime.name().equalsIgnoreCase(attrVO.getAttributeDataType()) || VciFieldTypeEnum.VTDate.name().equalsIgnoreCase(attrVO.getAttributeDataType()) ||VciFieldTypeEnum.VTTime.name().equalsIgnoreCase(attrVO.getAttributeDataType())){ excelData.setDateFormat(VciDateUtil.DateTimeFormat); } if(text instanceof RichTextString){ excelData.setFontColor(String.valueOf(HSSFColor.HSSFColorPredefined.RED.getIndex())); } excelDataList.add(excelData); if(StringUtils.isNotBlank(attrVO.getEnumString()) || StringUtils.isNotBlank(attrVO.getEnumId())){ //æ·»å æ°æ®æææ§ List<String> enumValueList = new ArrayList<>(); enumValueList.add(""); List<KeyValue> valueList = engineService.listComboboxItems(attrVO); if(!CollectionUtils.isEmpty(valueList)){ valueList.stream().forEach(kv->{ enumValueList.add(kv.getValue()); }); } //é»è®¤å 1䏿¡ WriteExcelData ed = new WriteExcelData(1,colIndex,""); ed.setRowTo(100); ed.setColTo(colIndex); ed.setValidation(true); ed.setValidationDataList(enumValueList); ed.setValidationErrorMsg("请å¨åºåä¸éæ©æ£ç¡®çå¼"); excelDataList.add(ed); } if(VciFieldTypeEnum.VTBoolean.name().equalsIgnoreCase(attrVO.getAttributeDataType())){ List<String> booleanList = new ArrayList<>(); booleanList.add("æ¯"); booleanList.add("å¦"); //é»è®¤å 1䏿¡ WriteExcelData ed = new WriteExcelData(1,colIndex,""); ed.setRowTo(100); ed.setColTo(colIndex); ed.setValidation(true); ed.setValidationDataList(booleanList); ed.setValidationErrorMsg("请å¨åºåä¸éæ©æ£ç¡®çå¼"); excelDataList.add(ed); } } eo.addSheetDataList(j+templateVO.getName(),excelDataList); tempEDList.add(new WriteExcelData(j+1,0,templateVO.getOid())); tempEDList.add(new WriteExcelData(j+1,1,templateVO.getId())); tempEDList.add(new WriteExcelData(j+1,2,templateVO.getName())); } String excelName = LocalFileUtil.getDefaultTempFolder() + File.separator + codeClassifyVO.getName() + (isHistory?"_å岿°æ®å¯¼å ¥æ¨¡æ¿.xls": "_å¯¼å ¥æ¨¡æ¿.xls"); eo.addSheetDataList(templateVOList.size()+"模æ¿ä¿¡æ¯ã请å¿å é¤æç§»å¨ã",tempEDList); ExcelUtil.writeDataToFile(excelName,eo); return excelName; } /** * 导åºçæ¶åå°è£ å¿ è¾åå ³é®å±æ§ * @param attrVO 屿§çæ¾ç¤ºå¯¹è±¡ * @param text åå æ ¼çå¼ */ private Object exportKeyAndRequired(Workbook workbook,CodeClassifyTemplateAttrVO attrVO,Object text){ //å¿ è¾å *ï¼å ³é®å±æ§ä¸ºèè² if (VciBaseUtil.getBoolean(attrVO.getRequireFlag()) || VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())) { String value = text.toString(); if(VciBaseUtil.getBoolean(attrVO.getRequireFlag())) { value += REQUIRED_CHAR; } if(VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())){ value += KEY_ATTR_CHAR; } RichTextString ts = new HSSFRichTextString(value); if(VciBaseUtil.getBoolean(attrVO.getRequireFlag())){ Font font = workbook.createFont(); font.setColor(HSSFColor.HSSFColorPredefined.RED.getIndex()); ts.applyFont(font); } if(VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())){ Font font = workbook.createFont(); font.setColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex()); ts.applyFont(font); } return ts; } return text; } /** * æ¹éç³è¯·ç¼ç æ°æ® * * @param orderDTO ç¼ç ç³è¯·ä¿¡æ¯ï¼å¿ é¡»å å«å类主é®åç æ®µçä¿¡æ¯ * @param file excelæä»¶çä¿¡æ¯ * @return æé误信æ¯çexcelçæä»¶ */ @Override public CodeImProtRusultVO batchImportCode(CodeOrderDTO orderDTO, File file) { VciBaseUtil.alertNotNull(orderDTO,"ç¼ç ç³è¯·ç¸å ³çæ°æ®",orderDTO.getCodeClassifyOid(),"主é¢åºå类主é®"); ReadExcelOption reo = new ReadExcelOption(); reo.setReadAllSheet(true); List<SheetDataSet> sheetDataSetList = ExcelUtil.readDataObjectFromExcel(file,null,reo); if(CollectionUtils.isEmpty(sheetDataSetList) || CollectionUtils.isEmpty(sheetDataSetList.get(0).getRowData()) ||sheetDataSetList.get(0).getRowData().size()<1){ throw new VciBaseException("没æè¯»åå°ä»»ä½çæ°æ®"); } if(sheetDataSetList.size()>LIMIT+1){ throw new VciBaseException("为äºä¿è¯ç³»ç»çç¨³å®æ§ï¼è¯·ä¸æ¬¡ä¸è¦å¯¼å ¥è¶ è¿1䏿¡çæ°æ®"); } //å æ¾å°æ¯ä¸è¡çæ é¢ï¼ç¶åæ ¹æ®æ 颿¥è·å对åºç屿§ SheetDataSet dataSet = sheetDataSetList.get(0); //æ¾ç¬¬ä¸è¡ï¼ä¸ºäºæ¾æ é¢ CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid()); //æ ¡éªæ¨¡æ¿æ¯ä¸æ¯ææ°ç checkTemplateSync(sheetDataSetList,templateVO,0); //å ä¸ç¨ç®¡å±æ§æ¯å¦é½åå¨ï¼å 转æ¢ä¸ä¸æ°æ® Map<String,String> errorMap = new HashMap<>(); String redisUUid=batchImportCodes(orderDTO,templateVO,dataSet,errorMap,true); CodeImProtRusultVO codeImProtRusultVO = new CodeImProtRusultVO(); List<String> needRowIndexList = new ArrayList<>(); // String filePath = returnErrorToExcel(dataSet.getRowData(), errorMap, needRowIndexList, dataSet.getColName()); // if(StringUtils.isNotBlank(filePath)) { // codeImProtRusultVO.setFilePath(filePath); // } // if(StringUtils.isNotBlank(redisUUid)){ // codeImProtRusultVO.setRedisUuid(redisUUid); // } return null; // return codeImProtRusultVO; } /** * æ ¡éªæ¨¡æ¿æ¯å¦ä¸ºåæ¥ç * @param sheetDataSetList exceléçå 容 * @param templateVO 模æ¿çä¿¡æ¯ */ private void checkTemplateSync(List<SheetDataSet> sheetDataSetList,CodeClstemplateVO templateVO,int i){ String templateOidInExcel = ""; String templateName=""; if(!CollectionUtils.isEmpty(sheetDataSetList) && sheetDataSetList.size()>1 && !CollectionUtils.isEmpty(sheetDataSetList.get(sheetDataSetList.size()-1).getColName())){ List<SheetRowData> rowData= sheetDataSetList.get(sheetDataSetList.size()-1).getRowData(); templateName=rowData.get(i).getData().get(2); templateOidInExcel=rowData.get(i).getData().get(0); //templateOidInExcel = sheetDataSetList.get(sheetDataSetList.size()-1).getColName().get(sheetDataSetList.size()-i); } /* if(!CollectionUtils.isEmpty(sheetDataSetList) && sheetDataSetList.size()>1 && !CollectionUtils.isEmpty(sheetDataSetList.get(sheetDataSetList.size()-1).getColName())){ List<SheetRowData> rowData= sheetDataSetList.get(sheetDataSetList.size()-1).getRowData(); templateOidInExcel=rowData.get(i).getData().get(0); //templateOidInExcel = sheetDataSetList.get(sheetDataSetList.size()-1).getColName().get(sheetDataSetList.size()-i); }*/ if(StringUtils.isBlank(templateOidInExcel) || !templateOidInExcel.equalsIgnoreCase(templateVO.getOid())){ throw new VciBaseException("模æ¿ã"+templateName+"ãä¸çæ°æ®è·åçæ¨¡çä¿¡æ¯ä¸å½å模æ¿ä¸å¹é ï¼è¯·ç¡®ä¿excelæä»¶éæã模æ¿ä¿¡æ¯-请å¿ç§»å¨æå é¤ãçå·¥ä½è¡¨ï¼ä¸ç¡®ä¿æ¯æ¬¡å¯¼å ¥é½æ¯å ä¸è½½çå¯¼å ¥æ¨¡æ¿åæ·»å çæ°æ®"); } } /*** * æ¹éå¤çç³è¯·æ°æ® * @param orderDTO * @param templateVO * @param dataSet * @return */ private String batchImportCodes(CodeOrderDTO orderDTO,CodeClstemplateVO templateVO,SheetDataSet dataSet,Map<String,String> errorMap,boolean isEnumType){ List<String> codeList=new ArrayList<>(); // CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); //è§åç主é®éè¦å»è·å // CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); // //1.夿è§åä¸é¤äºæµæ°´ç æ®µï¼æ¯å¦æå ¶ä»ç 段 // engineService.checkSecValueOnOrder(ruleVO,orderDTO); // List<SheetRowData> rowDataList = dataSet.getRowData(); // // //é¤å»é»è®¤ç屿§.è¿æåªæè¡¨åæ¾ç¤ºçåæ®µæå¯¼å ¥ // List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> // !DEFAULT_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormdisplayflag()) // ).collect(Collectors.toList()); // Map<Integer/**åå·**/,String/**åæ®µçåç§°**/> fieldIndexMap = new HashMap<>(); // List<String> titleRowData = dataSet.getColName(); // Map<String/**䏿åç§°**/, String/**è±æåç§°**/> attrNameIdMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getName(), t -> t.getId().toLowerCase(Locale.ROOT),(o1, o2)->o2)); // getFieldIndexMap(titleRowData,attrNameIdMap,fieldIndexMap); // /** // * 主é¢åºåç±»çæå¡ // */ // @Resource // private ICodeClassifyService classifyService; // // //éè¦å¤ææ¯å¦ææç屿§é½å¨æ¨¡æ¿ä¸äº // List<CodeClassifyTemplateAttrVO> unExistAttrVOs = attrVOS.stream().filter(s -> !fieldIndexMap.containsValue(s.getId().toLowerCase(Locale.ROOT)) // && StringUtils.isBlank(s.getComponentrule()) && StringUtils.isBlank(s.getClassifyinvokeattr())//ç»åè§åååç±»æ³¨å ¥ç¡®å®æ²¡ç»ç¨æ·å¯¼åºå» // ).collect(Collectors.toList()); // if(!CollectionUtils.isEmpty(unExistAttrVOs)){ // throw new VciBaseException("ã" + unExistAttrVOs.stream().map(CodeClassifyTemplateAttrVO::getName) + "ãè¿äºå±æ§å¨åè¡¨ä¸æ²¡ææ¾å°"); // } // List<ClientBusinessObject> cboList = new ArrayList<>(); // String fullPath = getFullPath(classifyFullInfo); // excelToCbo(classifyFullInfo,fieldIndexMap,rowDataList,templateVO,cboList,fullPath,true); // /** // * 模æ¿çæå¡ // */ // @Resource // private CodeClstemplateServiceImpl templateService; // // //é½è½¬æ¢å®äºãéè¦æ¹éæ£æ¥ // //妿åºéäºï¼æä»¬ä¾ç¶æ§è¡ææçæ°æ®ï¼æ æçæ°æ®ååå°excelä¸ // //2.å¤æå¿ è¾é¡¹ããéè¦å ¨é¨ç屿§ï¼å¦ææ¯å¿ è¾ï¼ä½æ¯è¡¨åéé¢ä¸æ¾ç¤ºçï¼åªè½æ¯åç±»æ³¨å ¥æè ç»åè§å // batchCheckRequiredAttrOnOrder(templateVO,cboList,errorMap); // //3.å¤æå ³é®å±æ§ // CodeImportResultVO keyResultVO = batchCheckKeyAttrOnOrder(classifyFullInfo, templateVO, cboList); // Set<String> selfRepeatRowIndexList = keyResultVO.getSelfRepeatRowIndexList(); // Set<String> keyAttrRepeatRowIndexList = keyResultVO.getKeyAttrRepeatRowIndexList(); // if(!CollectionUtils.isEmpty(selfRepeatRowIndexList)){ // selfRepeatRowIndexList.stream().forEach(rowIndex->{ // errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";å¨å½åå¤ççæ°æ®æä»¶ä¸å ³é®å±æ§éå¤" ); // }); // } // if(!CollectionUtils.isEmpty(keyAttrRepeatRowIndexList)){ // keyAttrRepeatRowIndexList.stream().forEach(rowIndex->{ // errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";å ³é®å±æ§ä¸ç³»ç»ä¸çéå¤" ); // }); // } // //åç±»æ³¨å ¥ // batchSwitchClassifyAttrOnOrder(attrVOS,cboList,classifyFullInfo,false); // //boolean // reSwitchBooleanAttrOnOrder(attrVOS,cboList); // //4.æ ¡éªè§å // batchCheckVerifyOnOrder(attrVOS, cboList,errorMap); // if(isEnumType) {//æ¯å¦éè¦æ ¡éªæä¸¾/åç § // //5.æ ¡éªæä¸¾æ¯å¦æ£ç¡® // batchSwitchEnumAttrOnOrder(attrVOS, cboList, errorMap); // //7.å¤çåç §çæ åµ // batchSwitchReferAttrOnOrder(attrVOS,cboList,errorMap); // } // //6.æ¶é´æ ¼å¼çéªè¯ // //6.æ¶é´çï¼å¿ é¡»ç»ä¸ä¸ºyyyy-MM-dd HH:mm:ss // batchSwitchDateAttrOnOrder(attrVOS,cboList,errorMap); // //æåå¼ç»åè§å // batchSwitchComponentAttrOnOrder(attrVOS,cboList); // String uuid=redisService.getUUIDEveryDay(); // Map<String, ClientBusinessObject> rowIndexCboMap = cboList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getAttributeValue((IMPORT_ROW_INDEX)), t -> t)); // /** // * ä¸»æ°æ®å¼æçæå¡ // */ // @Resource // private MdmEngineService engineService; // // if(errorMap.size()>0) { // createRedisDatas(uuid + "-error",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, errorMap,false); // /** // * çæå¯¼å ¥çæä»¶ // * // * @param codeClassifyOid åç±»çä¸»é® // * @param isHistory æ¯å¦å岿°æ®å¯¼å ¥ // * @return excelçæä»¶å°å // */ // @Override // public String createImportExcel(String codeClassifyOid, boolean isHistory) { // List<CodeClstemplateVO> templateVOList=new ArrayList<>(); // // VciBaseUtil.alertNotNull("å¯¼åºæ¨¡æ¿","导åºçé ç½®",codeClassifyOid,"主é¢åºåç±»ç主é®"); // // CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid); // // if(isHistory){ // templateVOList= templateService.childTemplates(codeClassifyOid); // }else{ // //æ¾æ¨¡æ¿ // CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); // templateVOList.add(templateVO); // } // boolean isCreateUUid=false; // List<ClientBusinessObject> needSaveCboList = cboList.stream().filter(cbo -> { // String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); // return !errorMap.containsKey(rowIndex); // }).collect(Collectors.toList()); // //ç¸ä¼¼æ ¡éª // Map<String,String>resembleMap=new HashMap<>(); // List<DataResembleVO> dataResembleVOS=new ArrayList<>(); // String btmtypeid= classifyFullInfo.getTopClassifyVO().getBtmtypeid(); // bathcResembleQuery(orderDTO.getCodeClassifyOid(),templateVO,needSaveCboList,resembleMap,btmtypeid,dataResembleVOS); // if(resembleMap.size()>0) { // isCreateUUid=true; // if(!CollectionUtils.isEmpty(dataResembleVOS)) { // redisService.setCacheList(uuid + "-resemble-data", dataResembleVOS); // createRedisDatas(uuid + "-resemble",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, resembleMap, false); // // WriteExcelOption eo = new WriteExcelOption(); // eo.setAppend(true); // //å¢å 模æ¿çä¿¡æ¯å¯¼å ¥ // LinkedList<WriteExcelData> tempEDList = new LinkedList<>(); // tempEDList.add(new WriteExcelData(0,0,"模æ¿ä¸»é®")); // tempEDList.add(new WriteExcelData(0,1,"模æ¿ä»£å·")); // tempEDList.add(new WriteExcelData(0,2,"模æ¿åç§°")); // for(int j=0;j<templateVOList.size();j++){ // CodeClstemplateVO templateVO=templateVOList.get(j); // CodeClassifyTemplateVO codeClassifyTemplateVO = new CodeClassifyTemplateVO(); // BeanUtils.copyProperties(templateVO,codeClassifyTemplateVO); // //ç»åæ ¼å¼çä¸å¯¼å ¥ï¼ // // æä¸¾çæä¾åºåçéæ© // //æ¶é´å ¨é¨ç»ä¸ä¸ºyyyy-MM-dd HH:mm:ss // //åç §çèªè¡è¾å ¥åç§° // //åç±»æ³¨å ¥çä¸ç¨ï¼é½æ¯å¯¼å ¥åèªå¨å¤çç // //ç¼ç ï¼ç¶æçåæ®µä¸å¯¼å ¥ // List<CodeClassifyTemplateAttrVO> templateAttrVOS = codeClassifyTemplateVO.getAttributes().stream().filter(s -> // !DEFAULT_ATTR_LIST.contains(s.getId()) // && StringUtils.isBlank(s.getComponentRule()) // && StringUtils.isBlank(s.getClassifyInvokeAttr()) // && (isHistory || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) // ).collect(Collectors.toList()); // // if(CollectionUtils.isEmpty(templateAttrVOS)){ // throw new VciBaseException("æ¨¡æ¿æ²¡æé 置任ä½ãè¡¨åæ¾ç¤ºãä¸ºãæ¯ãç屿§"); // } // } // //æé¤é误çï¼å©ä¸æ£ç¡®ç // Map<String,String> newErrorMap=new HashMap<>(); // newErrorMap.putAll(resembleMap); // newErrorMap.putAll(errorMap); // needSaveCboList = cboList.stream().filter(cbo -> { // String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); // return !newErrorMap.containsKey(rowIndex); // }).collect(Collectors.toList()); // if((errorMap.size()>0&&needSaveCboList.size()>0)||resembleMap.size()>0){ // isCreateUUid=true; // } // createRedisByCodeClassify(uuid + "-class",templateVO,dataSet,fieldIndexMap,false); // if(newErrorMap.size()>0) { // createRedisDatas(uuid + "-ok",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, newErrorMap,true); // }else { // uuid=""; // //è¦æä»¥ä¸çé误ç齿åºåï¼åç»§ç»å¤çæ¶é´åç»åè§å // needSaveCboList = cboList.stream().filter(cbo -> { // String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); // return !newErrorMap.containsKey(rowIndex); // }).collect(Collectors.toList()); // if (!CollectionUtils.isEmpty(needSaveCboList)) { // //9.æä»¬å¤çä¸å¡æ°æ® // //çæç¼ç çå 容 // codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), needSaveCboList); // //妿æ¯ç¼ç çæå¤±è´¥ï¼åç´æ¥å°±å¤±è´¥äºï¼å ¶ä»çå¤æåºæ¥æé误çæä»¬é½ç»ä¸è¿åå°exceléé¢ // engineService.batchSaveSelectChar(templateVO, needSaveCboList); // List<CodeClassifyTemplateAttrVO> idAttrVOList = codeClassifyTemplateVO.getAttributes().stream().filter(s -> s.getId().equalsIgnoreCase(CODE_FIELD)).collect(Collectors.toList()); // LinkedList<WriteExcelData> excelDataList = new LinkedList<>(); // Workbook workbook = new HSSFWorkbook(); // if(isHistory){ // excelDataList.add(new WriteExcelData(0,0,"å类路å¾")); // excelDataList.add(new WriteExcelData(0,1,"ç æ®µå®½åº¦")); // excelDataList.add(new WriteExcelData(0,2,!CollectionUtils.isEmpty(idAttrVOList)?idAttrVOList.get(0).getName():"ä¼ä¸ç¼ç ")); // } // for (int i = 0; i < templateAttrVOS.size(); i++) { // CodeClassifyTemplateAttrVO attrVO = templateAttrVOS.get(i); // // Object text = attrVO.getName(); // text = exportKeyAndRequired(workbook,attrVO,text); // int colIndex = (isHistory?3:0) + i; // WriteExcelData excelData = new WriteExcelData(0, colIndex, text); // if(StringUtils.isNotBlank(attrVO.getCodeDateFormat()) // || VciFieldTypeEnum.VTDateTime.name().equalsIgnoreCase(attrVO.getAttributeDataType()) // || VciFieldTypeEnum.VTDate.name().equalsIgnoreCase(attrVO.getAttributeDataType()) // ||VciFieldTypeEnum.VTTime.name().equalsIgnoreCase(attrVO.getAttributeDataType())){ // excelData.setDateFormat(VciDateUtil.DateTimeFormat); // } // if(text instanceof RichTextString){ // excelData.setFontColor(String.valueOf(HSSFColor.HSSFColorPredefined.RED.getIndex())); // } // excelDataList.add(excelData); // if(StringUtils.isNotBlank(attrVO.getEnumString()) || StringUtils.isNotBlank(attrVO.getEnumId())){ // //æ·»å æ°æ®æææ§ // List<String> enumValueList = new ArrayList<>(); // enumValueList.add(""); // List<KeyValue> valueList = engineService.listComboboxItems(attrVO); // if(!CollectionUtils.isEmpty(valueList)){ // valueList.stream().forEach(kv->{ // enumValueList.add(kv.getValue()); // }); // } // //é»è®¤å 1䏿¡ // WriteExcelData ed = new WriteExcelData(1,colIndex,""); // ed.setRowTo(100); // ed.setColTo(colIndex); // ed.setValidation(true); // ed.setValidationDataList(enumValueList); // ed.setValidationErrorMsg("请å¨åºåä¸éæ©æ£ç¡®çå¼"); // excelDataList.add(ed); // } // if(VciFieldTypeEnum.VTBoolean.name().equalsIgnoreCase(attrVO.getAttributeDataType())){ // List<String> booleanList = new ArrayList<>(); // // booleanList.add("æ¯"); // booleanList.add("å¦"); // //é»è®¤å 1䏿¡ // WriteExcelData ed = new WriteExcelData(1,colIndex,""); // ed.setRowTo(100); // ed.setColTo(colIndex); // ed.setValidation(true); // ed.setValidationDataList(booleanList); // ed.setValidationErrorMsg("请å¨åºåä¸éæ©æ£ç¡®çå¼"); // excelDataList.add(ed); // } // } // eo.addSheetDataList(j+templateVO.getName(),excelDataList); // tempEDList.add(new WriteExcelData(j+1,0,templateVO.getOid())); // tempEDList.add(new WriteExcelData(j+1,1,templateVO.getId())); // tempEDList.add(new WriteExcelData(j+1,2,templateVO.getName())); // } // if(!isCreateUUid){ // return uuid=""; // String excelName = LocalFileUtil.getDefaultTempFolder() + File.separator + codeClassifyVO.getName() + (isHistory?"_å岿°æ®å¯¼å ¥æ¨¡æ¿.xls": "_å¯¼å ¥æ¨¡æ¿.xls"); // eo.addSheetDataList(templateVOList.size()+"模æ¿ä¿¡æ¯ã请å¿å é¤æç§»å¨ã",tempEDList); // ExcelUtil.writeDataToFile(excelName,eo); // return excelName; // } // // /** // * 导åºçæ¶åå°è£ å¿ è¾åå ³é®å±æ§ // * @param attrVO 屿§çæ¾ç¤ºå¯¹è±¡ // * @param text åå æ ¼çå¼ // */ // private Object exportKeyAndRequired(Workbook workbook,CodeClassifyTemplateAttrVO attrVO,Object text){ // //å¿ è¾å *ï¼å ³é®å±æ§ä¸ºèè² // if (VciBaseUtil.getBoolean(attrVO.getRequireFlag()) || VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())) { // String value = text.toString(); // if(VciBaseUtil.getBoolean(attrVO.getRequireFlag())) { // value += REQUIRED_CHAR; // } // if(VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())){ // value += KEY_ATTR_CHAR; // } // RichTextString ts = new HSSFRichTextString(value); // if(VciBaseUtil.getBoolean(attrVO.getRequireFlag())){ // Font font = workbook.createFont(); // font.setColor(HSSFColor.HSSFColorPredefined.RED.getIndex()); // ts.applyFont(font); // } // // if(VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())){ // Font font = workbook.createFont(); // font.setColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex()); // ts.applyFont(font); // } // return ts; // } // return uuid; return null; } // return text; // } // // // /** // * æ¹éç³è¯·ç¼ç æ°æ® // * // * @param orderDTO ç¼ç ç³è¯·ä¿¡æ¯ï¼å¿ é¡»å å«å类主é®åç æ®µçä¿¡æ¯ // * @param file excelæä»¶çä¿¡æ¯ // * @return æé误信æ¯çexcelçæä»¶ // */ // @Override // public CodeImProtRusultVO batchImportCode(CodeOrderDTO orderDTO, File file) { // VciBaseUtil.alertNotNull(orderDTO,"ç¼ç ç³è¯·ç¸å ³çæ°æ®",orderDTO.getCodeClassifyOid(),"主é¢åºå类主é®"); // ReadExcelOption reo = new ReadExcelOption(); // reo.setReadAllSheet(true); // List<SheetDataSet> sheetDataSetList = ExcelUtil.readDataObjectFromExcel(file,null,reo); // if(CollectionUtils.isEmpty(sheetDataSetList) || CollectionUtils.isEmpty(sheetDataSetList.get(0).getRowData()) // ||sheetDataSetList.get(0).getRowData().size()<1){ // throw new VciBaseException("没æè¯»åå°ä»»ä½çæ°æ®"); // } // if(sheetDataSetList.size()>LIMIT+1){ // throw new VciBaseException("为äºä¿è¯ç³»ç»çç¨³å®æ§ï¼è¯·ä¸æ¬¡ä¸è¦å¯¼å ¥è¶ è¿1䏿¡çæ°æ®"); // } // //å æ¾å°æ¯ä¸è¡çæ é¢ï¼ç¶åæ ¹æ®æ 颿¥è·å对åºç屿§ // SheetDataSet dataSet = sheetDataSetList.get(0); // //æ¾ç¬¬ä¸è¡ï¼ä¸ºäºæ¾æ é¢ // CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid()); // // //æ ¡éªæ¨¡æ¿æ¯ä¸æ¯ææ°ç // checkTemplateSync(sheetDataSetList,templateVO,0); // //å ä¸ç¨ç®¡å±æ§æ¯å¦é½åå¨ï¼å 转æ¢ä¸ä¸æ°æ® // Map<String,String> errorMap = new HashMap<>(); // String redisUUid=batchImportCodes(orderDTO,templateVO,dataSet,errorMap,true); // CodeImProtRusultVO codeImProtRusultVO = new CodeImProtRusultVO(); // List<String> needRowIndexList = new ArrayList<>(); //// String filePath = returnErrorToExcel(dataSet.getRowData(), errorMap, needRowIndexList, dataSet.getColName()); //// if(StringUtils.isNotBlank(filePath)) { //// codeImProtRusultVO.setFilePath(filePath); //// } //// if(StringUtils.isNotBlank(redisUUid)){ //// codeImProtRusultVO.setRedisUuid(redisUUid); //// } // return null; //// return codeImProtRusultVO; // } // // /** // * æ ¡éªæ¨¡æ¿æ¯å¦ä¸ºåæ¥ç // * @param sheetDataSetList exceléçå 容 // * @param templateVO 模æ¿çä¿¡æ¯ // */ // private void checkTemplateSync(List<SheetDataSet> sheetDataSetList,CodeClstemplateVO templateVO,int i){ // String templateOidInExcel = ""; // String templateName=""; // if(!CollectionUtils.isEmpty(sheetDataSetList) // && sheetDataSetList.size()>1 && !CollectionUtils.isEmpty(sheetDataSetList.get(sheetDataSetList.size()-1).getColName())){ // List<SheetRowData> rowData= sheetDataSetList.get(sheetDataSetList.size()-1).getRowData(); // templateName=rowData.get(i).getData().get(2); // templateOidInExcel=rowData.get(i).getData().get(0); // //templateOidInExcel = sheetDataSetList.get(sheetDataSetList.size()-1).getColName().get(sheetDataSetList.size()-i); // } // /* if(!CollectionUtils.isEmpty(sheetDataSetList) // && sheetDataSetList.size()>1 && !CollectionUtils.isEmpty(sheetDataSetList.get(sheetDataSetList.size()-1).getColName())){ // List<SheetRowData> rowData= sheetDataSetList.get(sheetDataSetList.size()-1).getRowData(); // templateOidInExcel=rowData.get(i).getData().get(0); // //templateOidInExcel = sheetDataSetList.get(sheetDataSetList.size()-1).getColName().get(sheetDataSetList.size()-i); // }*/ // if(StringUtils.isBlank(templateOidInExcel) || !templateOidInExcel.equalsIgnoreCase(templateVO.getOid())){ // throw new VciBaseException("模æ¿ã"+templateName+"ãä¸çæ°æ®è·åçæ¨¡çä¿¡æ¯ä¸å½å模æ¿ä¸å¹é ï¼è¯·ç¡®ä¿excelæä»¶éæã模æ¿ä¿¡æ¯-请å¿ç§»å¨æå é¤ãçå·¥ä½è¡¨ï¼ä¸ç¡®ä¿æ¯æ¬¡å¯¼å ¥é½æ¯å ä¸è½½çå¯¼å ¥æ¨¡æ¿åæ·»å çæ°æ®"); // } // // } // // // /*** // * æ¹éå¤çç³è¯·æ°æ® // * @param orderDTO // * @param templateVO // * @param dataSet // * @return // */ // private String batchImportCodes(CodeOrderDTO orderDTO,CodeClstemplateVO templateVO,SheetDataSet dataSet,Map<String,String> errorMap,boolean isEnumType){ // List<String> codeList=new ArrayList<>(); //// CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); // //è§åç主é®éè¦å»è·å //// CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); //// //1.夿è§åä¸é¤äºæµæ°´ç æ®µï¼æ¯å¦æå ¶ä»ç 段 //// engineService.checkSecValueOnOrder(ruleVO,orderDTO); //// List<SheetRowData> rowDataList = dataSet.getRowData(); //// //// //é¤å»é»è®¤ç屿§.è¿æåªæè¡¨åæ¾ç¤ºçåæ®µæå¯¼å ¥ //// List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> //// !DEFAULT_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormdisplayflag()) //// ).collect(Collectors.toList()); //// Map<Integer/**åå·**/,String/**åæ®µçåç§°**/> fieldIndexMap = new HashMap<>(); //// List<String> titleRowData = dataSet.getColName(); //// Map<String/**䏿åç§°**/, String/**è±æåç§°**/> attrNameIdMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getName(), t -> t.getId().toLowerCase(Locale.ROOT),(o1, o2)->o2)); //// getFieldIndexMap(titleRowData,attrNameIdMap,fieldIndexMap); //// //// //éè¦å¤ææ¯å¦ææç屿§é½å¨æ¨¡æ¿ä¸äº //// List<CodeClassifyTemplateAttrVO> unExistAttrVOs = attrVOS.stream().filter(s -> !fieldIndexMap.containsValue(s.getId().toLowerCase(Locale.ROOT)) //// && StringUtils.isBlank(s.getComponentrule()) && StringUtils.isBlank(s.getClassifyinvokeattr())//ç»åè§åååç±»æ³¨å ¥ç¡®å®æ²¡ç»ç¨æ·å¯¼åºå» //// ).collect(Collectors.toList()); //// if(!CollectionUtils.isEmpty(unExistAttrVOs)){ //// throw new VciBaseException("ã" + unExistAttrVOs.stream().map(CodeClassifyTemplateAttrVO::getName) + "ãè¿äºå±æ§å¨åè¡¨ä¸æ²¡ææ¾å°"); //// } //// List<ClientBusinessObject> cboList = new ArrayList<>(); //// String fullPath = getFullPath(classifyFullInfo); //// excelToCbo(classifyFullInfo,fieldIndexMap,rowDataList,templateVO,cboList,fullPath,true); //// //// //é½è½¬æ¢å®äºãéè¦æ¹éæ£æ¥ //// //妿åºéäºï¼æä»¬ä¾ç¶æ§è¡ææçæ°æ®ï¼æ æçæ°æ®ååå°excelä¸ //// //2.å¤æå¿ è¾é¡¹ããéè¦å ¨é¨ç屿§ï¼å¦ææ¯å¿ è¾ï¼ä½æ¯è¡¨åéé¢ä¸æ¾ç¤ºçï¼åªè½æ¯åç±»æ³¨å ¥æè ç»åè§å //// batchCheckRequiredAttrOnOrder(templateVO,cboList,errorMap); //// //3.å¤æå ³é®å±æ§ //// CodeImportResultVO keyResultVO = batchCheckKeyAttrOnOrder(classifyFullInfo, templateVO, cboList); //// Set<String> selfRepeatRowIndexList = keyResultVO.getSelfRepeatRowIndexList(); //// Set<String> keyAttrRepeatRowIndexList = keyResultVO.getKeyAttrRepeatRowIndexList(); //// if(!CollectionUtils.isEmpty(selfRepeatRowIndexList)){ //// selfRepeatRowIndexList.stream().forEach(rowIndex->{ //// errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";å¨å½åå¤ççæ°æ®æä»¶ä¸å ³é®å±æ§éå¤" ); //// }); //// } //// if(!CollectionUtils.isEmpty(keyAttrRepeatRowIndexList)){ //// keyAttrRepeatRowIndexList.stream().forEach(rowIndex->{ //// errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";å ³é®å±æ§ä¸ç³»ç»ä¸çéå¤" ); //// }); //// } //// //åç±»æ³¨å ¥ //// batchSwitchClassifyAttrOnOrder(attrVOS,cboList,classifyFullInfo,false); //// //boolean //// reSwitchBooleanAttrOnOrder(attrVOS,cboList); //// //4.æ ¡éªè§å //// batchCheckVerifyOnOrder(attrVOS, cboList,errorMap); //// if(isEnumType) {//æ¯å¦éè¦æ ¡éªæä¸¾/åç § //// //5.æ ¡éªæä¸¾æ¯å¦æ£ç¡® //// batchSwitchEnumAttrOnOrder(attrVOS, cboList, errorMap); //// //7.å¤çåç §çæ åµ //// batchSwitchReferAttrOnOrder(attrVOS,cboList,errorMap); //// } //// //6.æ¶é´æ ¼å¼çéªè¯ //// //6.æ¶é´çï¼å¿ é¡»ç»ä¸ä¸ºyyyy-MM-dd HH:mm:ss //// batchSwitchDateAttrOnOrder(attrVOS,cboList,errorMap); //// //æåå¼ç»åè§å //// batchSwitchComponentAttrOnOrder(attrVOS,cboList); //// String uuid=redisService.getUUIDEveryDay(); //// Map<String, ClientBusinessObject> rowIndexCboMap = cboList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getAttributeValue((IMPORT_ROW_INDEX)), t -> t)); //// //// if(errorMap.size()>0) { //// createRedisDatas(uuid + "-error",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, errorMap,false); //// } //// boolean isCreateUUid=false; //// List<ClientBusinessObject> needSaveCboList = cboList.stream().filter(cbo -> { //// String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); //// return !errorMap.containsKey(rowIndex); //// }).collect(Collectors.toList()); //// //ç¸ä¼¼æ ¡éª //// Map<String,String>resembleMap=new HashMap<>(); //// List<DataResembleVO> dataResembleVOS=new ArrayList<>(); //// String btmtypeid= classifyFullInfo.getTopClassifyVO().getBtmtypeid(); //// bathcResembleQuery(orderDTO.getCodeClassifyOid(),templateVO,needSaveCboList,resembleMap,btmtypeid,dataResembleVOS); //// if(resembleMap.size()>0) { //// isCreateUUid=true; //// if(!CollectionUtils.isEmpty(dataResembleVOS)) { //// redisService.setCacheList(uuid + "-resemble-data", dataResembleVOS); //// createRedisDatas(uuid + "-resemble",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, resembleMap, false); //// } //// } //// //æé¤é误çï¼å©ä¸æ£ç¡®ç //// Map<String,String> newErrorMap=new HashMap<>(); //// newErrorMap.putAll(resembleMap); //// newErrorMap.putAll(errorMap); //// needSaveCboList = cboList.stream().filter(cbo -> { //// String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); //// return !newErrorMap.containsKey(rowIndex); //// }).collect(Collectors.toList()); //// if((errorMap.size()>0&&needSaveCboList.size()>0)||resembleMap.size()>0){ //// isCreateUUid=true; //// } //// createRedisByCodeClassify(uuid + "-class",templateVO,dataSet,fieldIndexMap,false); //// if(newErrorMap.size()>0) { //// createRedisDatas(uuid + "-ok",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, newErrorMap,true); //// }else { //// uuid=""; //// //è¦æä»¥ä¸çé误ç齿åºåï¼åç»§ç»å¤çæ¶é´åç»åè§å //// needSaveCboList = cboList.stream().filter(cbo -> { //// String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); //// return !newErrorMap.containsKey(rowIndex); //// }).collect(Collectors.toList()); //// if (!CollectionUtils.isEmpty(needSaveCboList)) { //// //9.æä»¬å¤çä¸å¡æ°æ® //// //çæç¼ç çå 容 //// codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), needSaveCboList); //// //妿æ¯ç¼ç çæå¤±è´¥ï¼åç´æ¥å°±å¤±è´¥äºï¼å ¶ä»çå¤æåºæ¥æé误çæä»¬é½ç»ä¸è¿åå°exceléé¢ //// engineService.batchSaveSelectChar(templateVO, needSaveCboList); //// } //// } //// if(!isCreateUUid){ //// return uuid=""; //// } //// return uuid; // return null; // } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -11,22 +11,19 @@ import com.vci.ubcs.code.enumpack.CodeGetValueTypeEnum; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; import com.vci.ubcs.code.mapper.CodeAllCodeMapper; import com.vci.ubcs.code.mapper.CodeSerialValueMapper; import com.vci.ubcs.code.service.ICodeWupinService; import com.vci.ubcs.code.service.MdmProductCodeService; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.constant.QueryOptionConstant; import com.vci.ubcs.starter.web.constant.RegExpConstant; import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.VciDateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -57,7 +54,7 @@ private ICodeWupinService iCodeWupinService; @Override public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClstemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<CodeWupinEntity> dataCBOList) { public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<CodeWupinEntity> dataCBOList) { // BatchCBO batchCBO = new BatchCBO(); // WebUtil.setPersistence(false); // dataCBOList = dataCBOList.stream().sorted(((o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()))).collect(Collectors.toList()); @@ -588,7 +585,7 @@ * @param allCodeDOList ææçç å¼ç对象å表 */ private void wrapperAllCode(CodeClassifyFullInfoBO classifyFullInfoBO,CodeRuleVO ruleVO, CodeWupinEntity cbo,CodeClstemplateVO templateVO, CodeWupinEntity cbo,CodeClassifyTemplateVO templateVO, List<CodeAllCode> allCodeDOList,String serialUnitString,String serialValueString){ CodeAllCode allCodeDO = new CodeAllCode(); allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid()); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClassifyProcessTempWrapper.java
@@ -1,11 +1,8 @@ package com.vci.ubcs.code.wrapper; import com.vci.ubcs.code.entity.CodeClassifyProcessTemp; import com.vci.ubcs.code.entity.CodeClassifyValue; import com.vci.ubcs.code.enumpack.CodeClassifyProcessUseEnum; import com.vci.ubcs.code.vo.CodeClsflowtempVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyProcessTempVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyValueVO; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClassifyTemplateAttrWrapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClstempattrWrapper.java ÐÞ¸Ä @@ -29,10 +29,10 @@ * @author yuxc * @since 2023-04-19 */ public class CodeClstempattrWrapper extends BaseEntityWrapper<CodeClassifyTemplateAttr, CodeClassifyTemplateAttrVO> { public class CodeClassifyTemplateAttrWrapper extends BaseEntityWrapper<CodeClassifyTemplateAttr, CodeClassifyTemplateAttrVO> { public static CodeClstempattrWrapper build() { return new CodeClstempattrWrapper(); public static CodeClassifyTemplateAttrWrapper build() { return new CodeClassifyTemplateAttrWrapper(); } @Override Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClassifyTemplateWrapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/PlCodeClstemplateWrapper.java ÐÞ¸Ä @@ -16,10 +16,11 @@ */ package com.vci.ubcs.code.wrapper; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.code.entity.CodeClassifyTemplate; import java.util.Objects; /** @@ -28,15 +29,15 @@ * @author yuxc * @since 2023-04-10 */ public class PlCodeClstemplateWrapper extends BaseEntityWrapper<CodeClstemplateEntity, CodeClstemplateVO> { public class CodeClassifyTemplateWrapper extends BaseEntityWrapper<CodeClassifyTemplate, CodeClassifyTemplateVO> { public static PlCodeClstemplateWrapper build() { return new PlCodeClstemplateWrapper(); public static CodeClassifyTemplateWrapper build() { return new CodeClassifyTemplateWrapper(); } @Override public CodeClstemplateVO entityVO(CodeClstemplateEntity plCodeClstemplate) { CodeClstemplateVO plCodeClstemplateVO = Objects.requireNonNull(BeanUtil.copy(plCodeClstemplate, CodeClstemplateVO.class)); public CodeClassifyTemplateVO entityVO(CodeClassifyTemplate plCodeClstemplate) { CodeClassifyTemplateVO plCodeClstemplateVO = Objects.requireNonNull(BeanUtil.copy(plCodeClstemplate, CodeClassifyTemplateVO.class)); //User createUser = UserCache.getUser(plCodeClstemplate.getCreateUser()); //User updateUser = UserCache.getUser(plCodeClstemplate.getUpdateUser()); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClsflowtempWrapper.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeKeyAttrRepeatWrapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/PlCodeKeyattrrepeatWrapper.java ÐÞ¸Ä @@ -16,10 +16,10 @@ */ package com.vci.ubcs.code.wrapper; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO; import java.util.Objects; /** @@ -28,15 +28,15 @@ * @author yuxc * @since 2023-04-03 */ public class PlCodeKeyattrrepeatWrapper extends BaseEntityWrapper<CodeKeyattrrepeatEntity, CodeKeyattrrepeatVO> { public class CodeKeyAttrRepeatWrapper extends BaseEntityWrapper<CodeKeyAttrRepeat, CodeKeyAttrRepeatVO> { public static PlCodeKeyattrrepeatWrapper build() { return new PlCodeKeyattrrepeatWrapper(); public static CodeKeyAttrRepeatWrapper build() { return new CodeKeyAttrRepeatWrapper(); } @Override public CodeKeyattrrepeatVO entityVO(CodeKeyattrrepeatEntity plCodeKeyattrrepeat) { CodeKeyattrrepeatVO codeKeyattrrepeatVO = Objects.requireNonNull(BeanUtil.copy(plCodeKeyattrrepeat, CodeKeyattrrepeatVO.class)); public CodeKeyAttrRepeatVO entityVO(CodeKeyAttrRepeat plCodeKeyattrrepeat) { CodeKeyAttrRepeatVO codeKeyattrrepeatVO = Objects.requireNonNull(BeanUtil.copy(plCodeKeyattrrepeat, CodeKeyAttrRepeatVO.class)); //User createUser = UserCache.getUser(plCodeKeyattrrepeat.getCreateUser()); //User updateUser = UserCache.getUser(plCodeKeyattrrepeat.getUpdateUser()); Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateMapper.xml
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClstemplateMapper.xml ÐÞ¸Ä @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.vci.ubcs.code.mapper.CodeClstemplateMapper"> <mapper namespace="com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="plCodeClstemplateResultMap" type="com.vci.ubcs.code.entity.CodeClstemplateEntity"> <resultMap id="plCodeClstemplateResultMap" type="com.vci.ubcs.code.entity.CodeClassifyTemplate"> <result column="OID" property="oid"/> <result column="REVISIONOID" property="revisionOid"/> <result column="NAMEOID" property="nameOid"/> Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClsflowtempMapper.xml
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClstempattrMapper.xml
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeKeyAttrRepeatMapper.xml
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeKeyattrrepeatMapper.xml ÐÞ¸Ä @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.vci.ubcs.code.mapper.CodeKeyattrrepeatMapper"> <mapper namespace="com.vci.ubcs.code.mapper.CodeKeyAttrRepeatMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="plCodeKeyattrrepeatResultMap" type="com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity"> <resultMap id="plCodeKeyattrrepeatResultMap" type="com.vci.ubcs.code.entity.CodeKeyAttrRepeat"> <result column="OID" property="oid"/> <result column="REVISIONOID" property="revisionoid"/> <result column="NAMEOID" property="nameoid"/> Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
@@ -18,5 +18,9 @@ ${inSql} </select> <select id="selectBySql" resultType="java.util.Map"> ${inSql} </select> </mapper>