.idea/workspace.xml
@@ -2,10 +2,12 @@ <project version="4"> <component name="ChangeListManager"> <list default="true" id="16f0b01c-a58c-44dd-9719-cb51eacd47bf" name="Default Changelist" comment="å¢å æ åç §ç»ä»¶"> <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/api/refer/tree.js" afterDir="false" /> <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue" afterDir="false" /> <change afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/FormTemplate/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS-WEB/src/components/FormTemplate/index.vue" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeRuleVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeRuleVO.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionVO.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionValueVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionValueVO.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultClassifyVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultClassifyVO.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java" afterDir="false" /> </list> <option name="SHOW_DIALOG" value="false" /> <option name="HIGHLIGHT_CONFLICTS" value="true" /> @@ -25,9 +27,14 @@ <property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> <property name="WebServerToolWindowFactoryState" value="false" /> <property name="aspect.path.notification.shown" value="true" /> <property name="last_opened_file_path" value="$PROJECT_DIR$/Source/UBCS" /> <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> <property name="nodejs_npm_path_reset_for_default_project" value="true" /> <property name="project.structure.last.edited" value="Project" /> <property name="project.structure.proportion" value="0.0" /> <property name="project.structure.side.proportion" value="0.0" /> </component> <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" /> <component name="TaskManager"> <task active="true" id="Default" summary="Default task"> <changelist id="16f0b01c-a58c-44dd-9719-cb51eacd47bf" name="Default Changelist" comment="" /> @@ -36,9 +43,13 @@ <option name="presentableId" value="Default" /> <updated>1679912923408</updated> <workItem from="1679912925465" duration="56000" /> <workItem from="1688456866976" duration="772000" /> </task> <servers /> </component> <component name="TypeScriptGeneratedFilesManager"> <option name="version" value="3" /> </component> <component name="VcsManagerConfiguration"> <MESSAGE value="å¢å æ åç §ç»ä»¶" /> <option name="LAST_COMMIT_MESSAGE" value="å¢å æ åç §ç»ä»¶" /> Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/classify/LibraryVO.java
@@ -6,7 +6,7 @@ import java.util.List; @XStreamAlias("library ") @XStreamAlias("library") public class LibraryVO { @XStreamAsAttribute private String id; Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeRuleVO.java
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionVO.java
@@ -67,7 +67,7 @@ /*** * ç æ®µç å¼ */ private List<CodeSectionValueVO> sectionValues; private List<CodeSectionValueVO> sectionValue; /** * æ¥ææ ¼å¼ */ @@ -146,6 +146,22 @@ this.codeDateFormatStr = codeDateFormatStr; } public String getParentClassifySecOid() { return parentClassifySecOid; } public void setParentClassifySecOid(String parentClassifySecOid) { this.parentClassifySecOid = parentClassifySecOid; } public List<CodeSectionValueVO> getSectionValue() { return sectionValue; } public void setSectionValue(List<CodeSectionValueVO> sectionValue) { this.sectionValue = sectionValue; } @Override public String toString() { return "CodeSectionVO{" + Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSectionValueVO.java
@@ -1,19 +1,38 @@ package com.vci.ubcs.code.vo.webserviceModel.coderule; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; @XStreamAlias("sectionValue") public class CodeSectionValueVO { public CodeSectionValueVO() { } public CodeSectionValueVO(String id, String num, String value,String name ,String description) { this.id = id; this.num = num; this.value = value; this.description = description; } /*** * ç å¼ä¸»é® */ @XStreamAsAttribute private String id; /*** * ç å¼ç¼å· */ @XStreamAsAttribute private String num; @XStreamAsAttribute private String name; /*** * ç æ®µå¼ */ @XStreamAsAttribute private String value; /** @@ -21,4 +40,55 @@ */ @XStreamAsAttribute private String description; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getNum() { return num; } public void setNum(String num) { this.num = num; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "CodeSectionValueVO{" + "id='" + id + '\'' + ", num='" + num + '\'' + ", name='" + name + '\'' + ", value='" + value + '\'' + ", description='" + description + '\'' + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultClassifyRuleVO.java
@@ -2,20 +2,21 @@ public class ResultClassifyRuleVO { private ResultClassifyRuleData resultData; private ResultClassifyRuleData data; public ResultClassifyRuleData getResultData() { return resultData; } public void setResultData(ResultClassifyRuleData resultData) { this.resultData = resultData; } public ResultClassifyRuleData getData() { return data; } @Override public String toString() { return "ResultClassifyVO{" + "resultData=" + resultData + '}'; } public void setData(ResultClassifyRuleData data) { this.data = data; } @Override public String toString() { return "ResultClassifyRuleVO{" + "data=" + data + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultClassifyVO.java
@@ -50,7 +50,7 @@ * è§åid */ @XStreamAsAttribute private CodeRuleVO codeRuleVO; private ResultCodeRuleVO codeRule; /*** * æ¯å¦ä¸ºå¶åèç¹ */ @@ -129,9 +129,17 @@ isLeaf = leaf; } public ResultCodeRuleVO getCodeRule() { return codeRule; } public void setCodeRule(ResultCodeRuleVO codeRule) { this.codeRule = codeRule; } @Override public String toString() { return "ClassifyVO{" + return "ResultClassifyVO{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", pid='" + pid + '\'' + @@ -140,6 +148,7 @@ ", fullPathName='" + fullPathName + '\'' + ", lcStatus='" + lcStatus + '\'' + ", codeRuleId='" + codeRuleId + '\'' + ", codeRule=" + codeRule + ", isLeaf=" + isLeaf + '}'; } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/ResultCodeRuleVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,90 @@ package com.vci.ubcs.code.vo.webserviceModel.coderule; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; import com.thoughtworks.xstream.annotations.XStreamImplicit; import java.util.List; @XStreamAlias("codeRule") public class ResultCodeRuleVO { /** * ç¼ç è§åçç¼å· */ @XStreamAsAttribute private String id; /** * è§åç¼å· */ @XStreamAsAttribute private String num; /** * ç¼ç è§åçåç§° */ @XStreamAsAttribute private String name; /** * è§åçæè¿° */ @XStreamAsAttribute private String description; /** * ç¼ç çç æ®µä¿¡æ¯ */ @XStreamImplicit private List<CodeSectionVO> codeSection; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getNum() { return num; } public void setNum(String num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public List<CodeSectionVO> getCodeSection() { return codeSection; } public void setCodeSection(List<CodeSectionVO> codeSection) { this.codeSection = codeSection; } @Override public String toString() { return "CodeRuleVO{" + "id='" + id + '\'' + ", num='" + num + '\'' + ", name='" + name + '\'' + ", description='" + description + '\'' + ", codeSection=" + codeSection + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/result.json
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,94 @@ { "resultData": { "msg": "æå!", "library": { "classify": [ { "classCode": "020202", "lcStatus": "Enabled", "name": "å£ç", "description": "å£ç", "pid": "0C600A6A-6398-FC30-D13E-121201FDA908", "codeRule": { "num": "001-copy", "description": "ç©åç¼ç è§å", "codeSection": [ { "sectionValue": [ { "num": "0", "id": "B6C55202-A224-9098-6A82-E3FC5DEEF790", "value": "020202" } ], "num": "01", "codeSecLengthType": "code_sec_length_variable", "name": "å±çº§ç 段", "secType": "codelevelsec", "id": "1674682431208296448", "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D" }, { "sectionValue": [], "num": "02", "name": "æµæ°´ç 段", "description": "æµæ°´ç 段", "secType": "codeserialsec", "id": "801B6412-E617-214A-08A5-9EDF5821AA66", "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D", "codeSecLength": "4" } ], "id": "9FE2AF3E-2940-BD80-D46F-E3853314673D" }, "id": "B6C55202-A224-9098-6A82-E3FC5DEEF790", "leaf": false }, { "classCode": "020201", "lcStatus": "Enabled", "name": "é", "description": "é", "pid": "0C600A6A-6398-FC30-D13E-121201FDA908", "codeRule": { "num": "001-copy", "description": "ç©åç¼ç è§å", "codeSection": [ { "sectionValue": [ { "num": "0", "id": "46B5DB5E-F783-DFE9-B48A-C4A367D02AC0", "value": "020201" } ], "num": "01", "codeSecLengthType": "code_sec_length_variable", "name": "å±çº§ç 段", "secType": "codelevelsec", "id": "1674682431208296448", "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D" }, { "sectionValue": [], "num": "02", "name": "æµæ°´ç 段", "description": "æµæ°´ç 段", "secType": "codeserialsec", "id": "801B6412-E617-214A-08A5-9EDF5821AA66", "pkCodeRule": "9FE2AF3E-2940-BD80-D46F-E3853314673D", "codeSecLength": "4" } ], "id": "9FE2AF3E-2940-BD80-D46F-E3853314673D" }, "id": "46B5DB5E-F783-DFE9-B48A-C4A367D02AC0", "leaf": false } ], "name": "", "id": "wupin" }, "errorid": "0" } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -38,10 +38,7 @@ import com.vci.ubcs.starter.web.enumpck.BooleanEnum; import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import com.vci.ubcs.starter.web.pagemodel.UIFormReferVO; import com.vci.ubcs.starter.web.pagemodel.*; import com.vci.ubcs.starter.web.toolmodel.DateConverter; import com.vci.ubcs.starter.web.util.*; import lombok.AllArgsConstructor; @@ -1451,7 +1448,8 @@ @Override public R batchImportData(List<CodeImprotSaveDatVO> codeImprotSaveDatVOList, String classifyAttr, boolean isImprot) { List<BaseModel> dataCBOList=new ArrayList<>(); boolean success=true; codeImprotSaveDatVOList.stream().forEach(codeImprotSaveDatVO -> { List<SheetRowData> rowDataList = new ArrayList<>(); List<ClientBusinessObject>cboList=new ArrayList<>(); @@ -1490,19 +1488,31 @@ String fullPath = getFullPath(classifyFullInfo); excelToCbo(classifyFullInfo,fieldIndexMap,rowDataList, codeClassifyTemplateVO,cboList,fullPath,!isImprot); Map<String,String> errorMap=new HashMap<>(); Map<String/**è·¯å¾**/, CodeClassifyVO> pathMap=new HashMap<>() ; //æ ¡éªç¼ç è§ååç æ®µæ¯å¦æ£ç¡® Map<String, List<String>> ruleRowIndexMap = new ConcurrentHashMap<>(); Map<String, CodeRuleVO> ruleVOMap =new ConcurrentHashMap<>(); if(isImprot) { Map<String/**主é®**/, String/**è·¯å¾**/> childOidPathMap = getChildClassifyPathMap(classifyFullInfo, fullPath); //é½è½¬æ¢å®äºãéè¦æ¹éæ£æ¥ //æ¾ææçå类路å¾,éè¦æ ¡éªè·¯å¾æ¯å¦æ£ç¡®ï¼æ¯å¦é½å¨å½åçåç±»çä¸çº§ List<CodeClassifyVO> childClassifyVOs = classifyService.listChildrenClassify(orderDTO.getCodeClassifyOid(), true, classifyAttr, true); Map<String/**è·¯å¾**/, CodeClassifyVO> pathMap = Optional.ofNullable(childClassifyVOs).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getPath().startsWith("#") ? s.getPath().substring(1) : s.getPath(), t -> t)); pathMap = Optional.ofNullable(childClassifyVOs).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getPath().startsWith("#") ? s.getPath().substring(1) : s.getPath(), t -> t)); Map<String/**主é®**/, CodeClassifyVO> classifyVOMap = Optional.ofNullable(childClassifyVOs).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); classifyVOMap.put(classifyFullInfo.getCurrentClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO()); pathMap.put("#current#", classifyFullInfo.getCurrentClassifyVO()); //æä»¬éè¦å¤æè¿äºåç±»çæ¨¡æ¿æ¯ä¸æ¯ä¸æ ·çï¼åªéè¦æ ¡éªï¼ä¸ç¨è·å //æ£æ¥åç±»çè·¯å¾ checkClassifyPathInHistory(cboList, errorMap, pathMap, childOidPathMap); //æ£æ¥è§å Map<String/**å类主é®**/, String/**è§å主é®**/> ruleOidMap = new ConcurrentHashMap<String, String>(); List<String> unExistRuleClassifyOidList = new CopyOnWriteArrayList<>(); checkRuleOidInHistory(classifyVOMap, ruleOidMap, unExistRuleClassifyOidList); ruleVOMap = ruleService.listCodeRuleByIds(ruleOidMap.values(), true).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); checkSecLengthInHistory(cboList, classifyVOMap, ruleVOMap, ruleOidMap, errorMap, ruleRowIndexMap); } //åç±»æ³¨å ¥ batchSwitchClassifyAttrOnOrder(attrVOS,cboList,classifyFullInfo,isImprot); //boolean @@ -1532,36 +1542,58 @@ //4.æ ¡éªè§å batchCheckVerifyOnOrder(attrVOS, cboList,errorMap); //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); List<ClientBusinessObject>needSaveCboList = cboList.stream().filter(cbo -> { String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); return !errorMap.containsKey(rowIndex); }).collect(Collectors.toList()); log.info("åç±»ï¼"+classifyFullInfo.getCurrentClassifyVO().getName()+"æ°æ®:"+needSaveCboList.size()); if (!CollectionUtils.isEmpty(needSaveCboList)) { // List<BaseModel> dataCBOList=new ArrayList<>(); needSaveCboList.stream().forEach(clientBusinessObject -> { BaseModel baseModel=new BaseModel(); BeanUtil.convert(clientBusinessObject,baseModel); //baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject)); dataCBOList.add(baseModel); // allNeedSaveCboList.add(baseModel); }); try { //9.æä»¬å¤çä¸å¡æ°æ® if (isImprot) { productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, ruleVO, null, dataCBOList); }else { productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList); if(isImprot){ List<ClientBusinessObject> needSaveCboList = cboList.stream().filter(cbo -> { String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); return !errorMap.containsKey(rowIndex); }).collect(Collectors.toList()); List<ClientBusinessObject> finalNeedSaveCboList = needSaveCboList; Map<String, CodeRuleVO> finalRuleVOMap = ruleVOMap; ruleRowIndexMap.keySet().parallelStream().forEach(ruleOid -> { List <BaseModel>dataCBOList=new CopyOnWriteArrayList<>(); List<String> rowIndexList = ruleRowIndexMap.get(ruleOid); List<ClientBusinessObject> thisCbos = needSaveCboList.stream().filter(cbo -> rowIndexList.contains(cbo.getAttributeValue(IMPORT_ROW_INDEX)) && !errorMap.containsKey(cbo.getAttributeValue(IMPORT_ROW_INDEX))).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(thisCbos)) { thisCbos.stream().forEach(clientBusinessObject -> { BaseModel baseModel = new BaseModel(); BeanUtil.convert(clientBusinessObject, baseModel); dataCBOList.add(baseModel); }); try { productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, finalRuleVOMap.get(ruleOid), null, dataCBOList); } catch (Throwable e) { //success=false; log.error("æ¹é产çç¼ç çæ¶ååºéäº", e); thisCbos.stream().forEach(cbo -> { String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); errorMap.put(rowIndex, errorMap.getOrDefault(rowIndex, "") + ";ç³»ç»é误ï¼å卿°æ®çæ¶ååºéäº"); }); } } } catch (Exception e) { e.printStackTrace(); engineService.batchSaveSelectChar(codeClassifyTemplateVO, dataCBOList); }); }else { List<BaseModel> dataCBOList=new ArrayList<>(); List<ClientBusinessObject> needSaveCboList = cboList.stream().filter(cbo -> { String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); return !errorMap.containsKey(rowIndex); }).collect(Collectors.toList()); log.info("åç±»ï¼" + classifyFullInfo.getCurrentClassifyVO().getName() + "æ°æ®:" + needSaveCboList.size()); if (!CollectionUtils.isEmpty(needSaveCboList)) { needSaveCboList.stream().forEach(clientBusinessObject -> { BaseModel baseModel = new BaseModel(); BeanUtil.convert(clientBusinessObject, baseModel); dataCBOList.add(baseModel); }); try { productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList); } catch (Exception e) { e.printStackTrace(); } //妿æ¯ç¼ç çæå¤±è´¥ï¼åç´æ¥å°±å¤±è´¥äºï¼å ¶ä»çå¤æåºæ¥æé误çæä»¬é½ç»ä¸è¿åå°exceléé¢ engineService.batchSaveSelectChar(codeClassifyTemplateVO, dataCBOList); } } //妿æ¯ç¼ç çæå¤±è´¥ï¼åç´æ¥å°±å¤±è´¥äºï¼å ¶ä»çå¤æåºæ¥æé误çæä»¬é½ç»ä¸è¿åå°exceléé¢ engineService.batchSaveSelectChar(codeClassifyTemplateVO, dataCBOList); }); return R.success(isImprot?"æ¹éåå²å¯¼å ¥æå":"æ¹éç³è¯·æå"); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -20,6 +20,11 @@ import com.vci.ubcs.code.vo.webserviceModel.attrmap.*; import com.vci.ubcs.code.vo.webserviceModel.attrmap.DataObjectVO; import com.vci.ubcs.code.vo.webserviceModel.classify.*; import com.vci.ubcs.code.vo.webserviceModel.classify.QueryClassifyVO; import com.vci.ubcs.code.vo.webserviceModel.classify.QueryData; import com.vci.ubcs.code.vo.webserviceModel.classify.QueryLibraryVO; import com.vci.ubcs.code.vo.webserviceModel.classify.ResultClassifyVO; import com.vci.ubcs.code.vo.webserviceModel.coderule.*; import com.vci.ubcs.code.vo.webserviceModel.data.*; import com.vci.ubcs.code.vo.webserviceModel.result.json.*; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultClassfyVO; @@ -48,6 +53,7 @@ import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST; import static com.vci.ubcs.code.constant.MdmEngineConstant.IMPORT_ROW_INDEX; import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC; /*** @@ -480,17 +486,48 @@ errorid = "101"; throw new Throwable("æ¥å£åæ°ï¼è´¦å·ä¿¡æ¯è·å失败"); } if(!CollectionUtils.isEmpty(classifyIdList)){ //å ç®ç§°æ¯å¦æå ³è模æ¿ï¼ææ¨¡æ¿è¦å å é¤ List<CodeClassify> libIdDos = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, classifyIdList)); codeClassifyVOS=classifyService.codeClassifyDO2VOs(libIdDos); }else { List<CodeClassify> libIdDos = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId, libId)); String oid= libIdDos.get(0).getOid(); TreeQueryObject treeQueryObject=new TreeQueryObject(); treeQueryObject.setParentOid(oid); treeQueryObject.setQueryAllLevel(true); codeClassifyVOS=classifyService.selectCodeClassifyDOByTree(treeQueryObject); List<CodeClassify> libIdDos =classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, libId)); if(CollectionUtils.isEmpty(libIdDos)) { CodeClassify libCodeClassify =libIdDos.get(0); String oid=libCodeClassify.getOid(); if (!CollectionUtils.isEmpty(classifyIdList)) { //å ç®ç§°æ¯å¦æå ³è模æ¿ï¼ææ¨¡æ¿è¦å å é¤ List<CodeClassify> childCodeClassifyList = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, classifyIdList)); List<CodeClassify>newchildCodeClassifyList=new ArrayList<>(); if(!CollectionUtils.isEmpty(childCodeClassifyList)) { Map<String,String> errorMap=new HashMap<>(); childCodeClassifyList.stream().forEach(codeClassify -> { CodeClassifyVO toClassifyVO= classifyService.getTopClassifyVO(codeClassify.getOid()); if(toClassifyVO.getOid().equals(libCodeClassify.getOid())){ newchildCodeClassifyList.add(codeClassify); } }); Map<String/**åç±»ç¼å·**/, CodeClassify/**å类对象**/> classifyfCodeMap = newchildCodeClassifyList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t)); classifyIdList.stream().forEach(classifyfCode -> { if(!classifyfCodeMap.containsKey(classifyfCode)) { errorMap.put("error", errorMap.getOrDefault("error", "") + ";æ ¹æ®classCodeï¼ã" + classifyfCode + "ãå¨library:ã" + libCodeClassify.getId() + "ã䏿ªæ¥è¯¢å°"); } }); if(errorMap.size()>0){ errorid = "101"; msg = errorMap.getOrDefault("error",""); throw new Throwable(msg); } codeClassifyVOS = classifyService.codeClassifyDO2VOs(newchildCodeClassifyList); }else{ errorid = "101"; msg = "æ¥å£åæ°ï¼classCode æªæ¥è¯¢å°å¯¹åºçå类信æ¯"; throw new Throwable(msg); } } else { TreeQueryObject treeQueryObject = new TreeQueryObject(); treeQueryObject.setParentOid(oid); treeQueryObject.setQueryAllLevel(true); codeClassifyVOS = classifyService.selectCodeClassifyDOByTree(treeQueryObject); } }else{ errorid = "101"; throw new Throwable("æ¥å£åæ°ï¼è´¦å·ä¿¡æ¯è·å失败"); } LibraryVO libraryVo=new LibraryVO(); libraryVo.setId(libId); @@ -750,9 +787,9 @@ String systemId=""; log.info("æ¥è¯¢åç±»çæ°æ®åæ°:->"+data); log.info("æ¥è¯¢åç±»çæ°æ®ç±»å:->"+dataType); ResultClassifyVO resultClassifyVO =new ResultClassifyVO(); List<ClassifyVO> classifyVOList=new ArrayList<>(); ResultData resultData=new ResultData(); ResultClassifyRuleVO resultClassifyRuleVO =new ResultClassifyRuleVO(); List<com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO> classifyVOList=new ArrayList<>(); ResultClassifyRuleData resultClassifyRuleData=new ResultClassifyRuleData(); try { if (StringUtils.isBlank(data)) { errorid = "101"; @@ -807,14 +844,89 @@ treeQueryObject.setQueryAllLevel(true); codeClassifyVOS=classifyService.selectCodeClassifyDOByTree(treeQueryObject); } LibraryVO libraryVo=new LibraryVO(); libraryVo.setId(libId); libraryVo.setName(""); ResultLibraryVO resultLibraryVO=new ResultLibraryVO(); resultLibraryVO.setId(libId); resultLibraryVO.setName(""); if(!CollectionUtils.isEmpty(codeClassifyVOS)){ errorid = "0"; msg="æå!"; codeClassifyVOS.stream().forEach(codeClassifyDO -> { ClassifyVO classifyVO=new ClassifyVO(); //åå»å å«ç 段çç¼ç è§å CodeRuleVO codeRuleVO= this.engineService.getCodeRuleByClassifyOid(codeClassifyDO.getOid()); ResultCodeRuleVO resultCodeRuleVO=new ResultCodeRuleVO(); if(codeRuleVO!=null){ CodeRuleVO resultClassifyRuleVO1=new CodeRuleVO(); List<CodeBasicSecVO> codeBasicSecVOS= codeRuleVO.getSecVOList(); List<CodeSectionVO> codeSectionVOList=new CopyOnWriteArrayList<>(); if(!CollectionUtils.isEmpty(codeBasicSecVOS)){ codeBasicSecVOS.stream().forEach(codeBasicSecVO -> { List<CodeSectionValueVO> codeSectionValueVOList=new ArrayList<>(); String secType= codeBasicSecVO.getSecType(); if(secType.equals("codevariablesec")){//å¯åç æ®µ CodeSectionValueVO sectionValueVO=new CodeSectionValueVO("","","","",""); codeSectionValueVOList.add(sectionValueVO); }else if(secType.equals("codefixedsec")){//åºå®ç 段 List<CodeFixedValueVO> fixedValueVOList=codeBasicSecVO.getFixedValueVOList(); fixedValueVOList.stream().forEach(codeFixedValueVO -> { CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(codeFixedValueVO.getOid(),codeFixedValueVO.getOrderNum()+"",codeFixedValueVO.getId(),codeFixedValueVO.getName(),codeFixedValueVO.getDescription()); codeSectionValueVOList.add(sectionValueVO); }); }else if(secType.equals("codeclassifysec")){//åç±»ç æ®µ String secOid=codeBasicSecVO.getOid(); String parentClassifySecOid= codeBasicSecVO.getParentClassifySecOid(); List<CodeClassifyValueVO> codeClassifyValueVOS= this.codeClassifyValueService.listCodeClassifyValueBySecOid(secOid,parentClassifySecOid); if(CollectionUtils.isEmpty(codeClassifyValueVOS)){ codeClassifyValueVOS.stream().forEach(codeClassifyValueVO -> { CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(codeClassifyValueVO.getOid(),codeClassifyValueVO.getOrderNum()+"",codeClassifyValueVO.getId(),codeClassifyValueVO.getName(),codeClassifyValueVO.getDescription()); }); } }else if(secType.equals("codedatesec")){//æ¥æç æ®µ }else if(secType.equals("coderefersec")){//å¼ç¨ç 段 }else if(secType.equals("codelevelsec")) {//å±çº§ç 段 int level = codeBasicSecVO.getCodeLevelValue(); CodeClassifyVO levelCodeClassifyVO = new CodeClassifyVO(); CodeClassifyFullInfoBO classifyFullInfoBO = this.classifyService.getClassifyFullInfo(codeClassifyDO.getOid()); if(codeBasicSecVO.getCodeLevelType().equals("code_level_special")){//æå®å±çº§ List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList()); if (classifyVOS.size() >= level && level > 0) { levelCodeClassifyVO = classifyVOS.get(level - 1); } }else{//æå°å± levelCodeClassifyVO=codeClassifyDO; } CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(levelCodeClassifyVO.getOid(),"0",levelCodeClassifyVO.getId(),codeBasicSecVO.getName(),codeBasicSecVO.getDescription()); codeSectionValueVOList.add(sectionValueVO); }else if(secType.equals("codeattrsec")){//屿§ç 段 }else if(secType.equals("codeserialsec")){//æµæ°´ç 段 } //æå»ºè§åç æ®µ CodeSectionVO codeSectionVO=new CodeSectionVO(); codeSectionVO.setId(codeBasicSecVO.getOid());//ä¸»é® codeSectionVO.setName(codeBasicSecVO.getName());//ç æ®µåç§° codeSectionVO.setCodeSecLength(codeBasicSecVO.getCodeSecLength());//ç æ®µé¿åº¦ codeSectionVO.setNum(codeBasicSecVO.getId());//ç æ®µç¼å· codeSectionVO.setCodeDateFormatStr(codeBasicSecVO.getCodeDateFormatStr());//æ¥æç±»å codeSectionVO.setCodeSecLengthType(codeBasicSecVO.getCodeSecLengthType());//ç æ®µé¿åº¦ç±»å codeSectionVO.setPkCodeRule(codeRuleVO.getOid()); codeSectionVO.setSecType(codeBasicSecVO.getSecType());//ç æ®µç±»å codeSectionVO.setDescription(codeBasicSecVO.getDescription()); codeSectionVO.setParentClassifySecOid(codeBasicSecVO.getParentClassifySecOid()); codeSectionVO.setSectionValue(codeSectionValueVOList); codeSectionVOList.add(codeSectionVO); }); } //æå»ºè§åä¿¡æ¯ resultCodeRuleVO.setId(codeRuleVO.getOid()); resultCodeRuleVO.setNum(codeRuleVO.getId()); resultCodeRuleVO.setDescription(codeRuleVO.getDescription()); resultCodeRuleVO.setCodeSection(codeSectionVOList); } //æå»ºåç±»ä¿¡æ¯ com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO classifyVO=new com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO(); classifyVO.setId(codeClassifyDO.getOid()); classifyVO.setLcStatus(codeClassifyDO.getLcStatus()); classifyVO.setClassCode(codeClassifyDO.getId()); @@ -822,32 +934,33 @@ classifyVO.setName(codeClassifyDO.getName()); classifyVO.setPid(codeClassifyDO.getParentcodeclassifyoid()); classifyVO.setFullPathName(codeClassifyDO.getPath()); classifyVO.setCodeRule(resultCodeRuleVO); classifyVOList.add(classifyVO); }); libraryVo.setClassify(classifyVOList); resultLibraryVO.setClassify(classifyVOList); }else{ errorid = "100"; msg="æªæ¥è¯¢å°ç¸å ³çå类信æ¯"; } issucess=true; resultData.setLibrary(libraryVo); resultClassifyRuleData.setLibrary(resultLibraryVO); }catch (Throwable e){ e.printStackTrace();; msg="æ¥è¯¢å类失败:"+e.getMessage(); }finally { resultData.setErrorid(errorid); resultData.setMsg(msg); resultClassifyVO.setResultData(resultData); resultClassifyRuleData.setErrorid(errorid); resultClassifyRuleData.setMsg(msg); resultClassifyRuleVO.setData(resultClassifyRuleData); } if(dataType.equals("xml")){ //ç»ç»è¿åæ¥å£ä¿¡æ¯ XStream xStream = new XStream(new DomDriver()); xStream.processAnnotations(XMLResultSystemVO.class); xStream.autodetectAnnotations(true); resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(resultData); resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(resultClassifyRuleData); }else{ Object object = JSONObject.toJSON(resultClassifyVO); Object object = JSONObject.toJSON(resultClassifyRuleVO); resultStr = object.toString(); } try {