From bde0c065b9917dafde2737a57389a8a1c6892fe5 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 22 五月 2023 09:43:15 +0800 Subject: [PATCH] 修改FormulaServiceImpl中出现main函数打包失败问题 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 254 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 223 insertions(+), 31 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java index df1c12d..689147f 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java @@ -6,10 +6,10 @@ 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.CodeClstempattrVO; -import com.vci.ubcs.code.vo.CodeClstemplateVO; -import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; -import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO; +import com.vci.ubcs.code.vo.pagemodel.*; +import com.vci.ubcs.code.vo.webserviceModel.attrmap.DataObjectVO; +import com.vci.ubcs.code.vo.webserviceModel.attrmap.RowDatas; +import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.starter.bo.WriteExcelData; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.poi.bo.ReadExcelOption; @@ -19,15 +19,19 @@ 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.DataGrid; 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 lombok.AllArgsConstructor; 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.springblade.core.redis.cache.BladeRedis; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -37,11 +41,11 @@ 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.code.constant.MdmEngineConstant.*; import static com.vci.ubcs.starter.poi.util.ExcelUtil.KEY_ATTR_CHAR; import static com.vci.ubcs.starter.poi.util.ExcelUtil.REQUIRED_CHAR; +@AllArgsConstructor @Service public class MdmIOServiceImpl implements MdmIOService { @@ -64,6 +68,8 @@ @Resource private MdmEngineService engineService; + private final BladeRedis bladeRedis; + /** * 鐢熸垚瀵煎叆鐨勬枃浠� * @@ -73,7 +79,7 @@ */ @Override public String createImportExcel(String codeClassifyOid, boolean isHistory) { - List<CodeClstemplateVO> templateVOList=new ArrayList<>(); + List<CodeClassifyTemplateVO> templateVOList=new ArrayList<>(); VciBaseUtil.alertNotNull("瀵煎嚭妯℃澘","瀵煎嚭鐨勯厤缃�",codeClassifyOid,"涓婚搴撳垎绫荤殑涓婚敭"); @@ -83,7 +89,7 @@ templateVOList= templateService.childTemplates(codeClassifyOid); }else{ //鎵炬ā鏉� - CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); + CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); templateVOList.add(templateVO); } @@ -95,25 +101,26 @@ tempEDList.add(new WriteExcelData(0,1,"妯℃澘浠e彿")); tempEDList.add(new WriteExcelData(0,2,"妯℃澘鍚嶇О")); for(int j=0;j<templateVOList.size();j++){ - CodeClstemplateVO templateVO=templateVOList.get(j); - + CodeClassifyTemplateVO templateVO=templateVOList.get(j); + CodeClassifyTemplateVO codeClassifyTemplateVO = new CodeClassifyTemplateVO(); + BeanUtils.copyProperties(templateVO,codeClassifyTemplateVO); //缁勫悎鏍煎紡鐨勪笉瀵煎叆锛� // 鏋氫妇鐨勬彁渚涘簭鍒楃殑閫夋嫨 //鏃堕棿鍏ㄩ儴缁熶竴涓簓yyy-MM-dd HH:mm:ss //鍙傜収鐨勮嚜琛岃緭鍏ュ悕绉� //鍒嗙被娉ㄥ叆鐨勪笉鐢紝閮芥槸瀵煎叆鍚庤嚜鍔ㄥ鐞嗙殑 //缂栫爜锛岀姸鎬佺瓑瀛楁涓嶅鍏� - List<CodeClstempattrVO> templateAttrVOS = templateVO.getAttributes().stream().filter(s -> + 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())) + && StringUtils.isBlank(s.getComponentRule()) + && StringUtils.isBlank(s.getClassifyInvokeAttr()) + && (isHistory || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); if(CollectionUtils.isEmpty(templateAttrVOS)){ throw new VciBaseException("妯℃澘娌℃湁閰嶇疆浠讳綍銆愯〃鍗曟樉绀恒�戜负銆愭槸銆戠殑灞炴��"); } - List<CodeClstempattrVO> idAttrVOList = templateVO.getAttributes().stream().filter(s -> s.getId().equalsIgnoreCase(CODE_FIELD)).collect(Collectors.toList()); + 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){ @@ -122,23 +129,23 @@ excelDataList.add(new WriteExcelData(0,2,!CollectionUtils.isEmpty(idAttrVOList)?idAttrVOList.get(0).getName():"浼佷笟缂栫爜")); } for (int i = 0; i < templateAttrVOS.size(); i++) { - CodeClstempattrVO attrVO = templateAttrVOS.get(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())){ + 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())){ + if(StringUtils.isNotBlank(attrVO.getEnumString()) || StringUtils.isNotBlank(attrVO.getEnumId())){ //娣诲姞鏁版嵁鏈夋晥鎬� List<String> enumValueList = new ArrayList<>(); enumValueList.add(""); @@ -157,7 +164,7 @@ ed.setValidationErrorMsg("璇峰湪搴忓垪涓�夋嫨姝g‘鐨勫��"); excelDataList.add(ed); } - if(VciFieldTypeEnum.VTBoolean.name().equalsIgnoreCase(attrVO.getAttributedatatype())){ + if(VciFieldTypeEnum.VTBoolean.name().equalsIgnoreCase(attrVO.getAttributeDataType())){ List<String> booleanList = new ArrayList<>(); booleanList.add("鏄�"); @@ -188,24 +195,24 @@ * @param attrVO 灞炴�х殑鏄剧ず瀵硅薄 * @param text 鍗曞厓鏍肩殑鍊� */ - private Object exportKeyAndRequired(Workbook workbook,CodeClstempattrVO attrVO,Object text){ + private Object exportKeyAndRequired(Workbook workbook,CodeClassifyTemplateAttrVO attrVO,Object text){ //蹇呰緭鍔�*锛屽叧閿睘鎬т负钃濊壊 - if (VciBaseUtil.getBoolean(attrVO.getRequireflag()) || VciBaseUtil.getBoolean(attrVO.getKeyattrflag())) { + if (VciBaseUtil.getBoolean(attrVO.getRequireFlag()) || VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())) { String value = text.toString(); - if(VciBaseUtil.getBoolean(attrVO.getRequireflag())) { + if(VciBaseUtil.getBoolean(attrVO.getRequireFlag())) { value += REQUIRED_CHAR; } - if(VciBaseUtil.getBoolean(attrVO.getKeyattrflag())){ + if(VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())){ value += KEY_ATTR_CHAR; } RichTextString ts = new HSSFRichTextString(value); - if(VciBaseUtil.getBoolean(attrVO.getRequireflag())){ + if(VciBaseUtil.getBoolean(attrVO.getRequireFlag())){ Font font = workbook.createFont(); font.setColor(HSSFColor.HSSFColorPredefined.RED.getIndex()); ts.applyFont(font); } - if(VciBaseUtil.getBoolean(attrVO.getKeyattrflag())){ + if(VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())){ Font font = workbook.createFont(); font.setColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex()); ts.applyFont(font); @@ -239,7 +246,7 @@ //鍏堟壘鍒版瘡涓�琛岀殑鏍囬锛岀劧鍚庢牴鎹爣棰樻潵鑾峰彇瀵瑰簲鐨勫睘鎬� SheetDataSet dataSet = sheetDataSetList.get(0); //鎵剧涓�琛岋紝涓轰簡鎵炬爣棰� - CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid()); + CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid()); //鏍¢獙妯℃澘鏄笉鏄渶鏂扮殑 checkTemplateSync(sheetDataSetList,templateVO,0); @@ -264,7 +271,7 @@ * @param sheetDataSetList excel閲岀殑鍐呭 * @param templateVO 妯℃澘鐨勪俊鎭� */ - private void checkTemplateSync(List<SheetDataSet> sheetDataSetList,CodeClstemplateVO templateVO,int i){ + private void checkTemplateSync(List<SheetDataSet> sheetDataSetList,CodeClassifyTemplateVO templateVO,int i){ String templateOidInExcel = ""; String templateName=""; if(!CollectionUtils.isEmpty(sheetDataSetList) @@ -294,7 +301,7 @@ * @param dataSet * @return */ - private String batchImportCodes(CodeOrderDTO orderDTO,CodeClstemplateVO templateVO,SheetDataSet dataSet,Map<String,String> errorMap,boolean isEnumType){ + private String batchImportCodes(CodeOrderDTO orderDTO,CodeClassifyTemplateVO templateVO,SheetDataSet dataSet,Map<String,String> errorMap,boolean isEnumType){ List<String> codeList=new ArrayList<>(); // CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); //瑙勫垯鐨勪富閿渶瑕佸幓鑾峰彇 @@ -416,4 +423,189 @@ // return uuid; return null; } + + @Override + public List<CodeImportTemplateVO> gridclassifys(String redisOid) { + List<CodeImportTemplateVO> codeImportTemplateVOs=new ArrayList<>(); + VciBaseUtil.alertNotNull(redisOid,"鍒嗙被",redisOid,"鍒嗙被缂撳瓨涓婚敭"); + + List<CodeImportTemplateVO> redisServiceCacheObjects=bladeRedis.lRange(redisOid,0,-1); + if(redisServiceCacheObjects!=null){ + codeImportTemplateVOs= redisServiceCacheObjects; + } + return codeImportTemplateVOs; + } + + /*** + * 浠庣紦瀛橀噷鑾峰彇鍒伴渶瑕佸鍏ョ殑鐩稿叧鏁版嵁 + * @param codeClssifyOid + * @param redisOid + * @return + */ + @Override + public DataGrid<Map<String, String>> gridDatas(String codeClssifyOid, String redisOid) { + VciBaseUtil.alertNotNull(redisOid,"瀵煎叆鐩镐技鏁版嵁",redisOid,"鏁版嵁缂撳瓨涓婚敭"); + List<CodeImprotDataVO> codeImprotDataVOs = bladeRedis.lRange(redisOid+"-"+codeClssifyOid,0,-1); +// redisService.getCacheList(redisOid+"-"+codeClssifyOid); + CodeImprotDataVO codeImprotDataVO=new CodeImprotDataVO(); + if(!CollectionUtils.isEmpty(codeImprotDataVOs)){ + if(StringUtils.isNotBlank(codeClssifyOid)){ + Map<String/**鍒嗙被鍚嶇О**/, CodeImprotDataVO/**鑻辨枃鍚嶇О**/> codeClassifyDatasMap = codeImprotDataVOs.stream().collect(Collectors.toMap(s -> s.getCodeClassifyOid(), t -> t,(o1, o2)->o2)); + if(codeClassifyDatasMap.containsKey(codeClssifyOid)){ + codeImprotDataVO= codeClassifyDatasMap.get(codeClssifyOid); + }else{ + codeImprotDataVO= codeImprotDataVOs.get(0); + } + } + } + DataGrid<Map<String, String>> dataGrid = new DataGrid<>(); + List<Map<String, String>> dataList = new ArrayList<>(); + if(codeImprotDataVO!=null){ + dataList= codeImprotDataVO.getDatas(); + } + dataGrid.setData(dataList); + if (!CollectionUtils.isEmpty(dataList)) { + dataGrid.setTotal(dataList.size()); + } + return dataGrid; + } + + /** + * + * @param oid + * @param redisOid + * @return + */ + @Override + public DataGrid<Map<String,String>> gridRowResemble(String oid,String redisOid){ + VciBaseUtil.alertNotNull(redisOid,"瀵煎叆鐩镐技鏁版嵁",redisOid,"鏁版嵁缂撳瓨涓婚敭"); + List<DataResembleVO> codeImprotDataVOs = bladeRedis.lRange(redisOid,0,-1);; + DataGrid<Map<String, String>> dataGrid = new DataGrid<>(); + List<Map<String, String>> dataList = new ArrayList<>(); + + if(!CollectionUtils.isEmpty(codeImprotDataVOs)){ + Map<String/**鍒嗙被鍚嶇О**/, DataResembleVO/**鏁版嵁瀵硅薄**/> rowResembleDataMap = codeImprotDataVOs.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t,(o1, o2)->o2)); + if(rowResembleDataMap.containsKey(oid)){ + DataResembleVO dataResembleVO= rowResembleDataMap.get(oid); + dataList= dataResembleVO.getDataList(); + } + } + + dataGrid.setData(dataList); + if (!CollectionUtils.isEmpty(dataList)) { + dataGrid.setTotal(dataList.size()); + } + return dataGrid; + } + + /** + * 闆嗘垚鎵归噺鐢宠鏁版嵁 + * @param orderDTO 鍒嗙被鐨勪富閿� + * @param dataObjectVO 鏁版嵁淇℃伅 + * @param resultDataObjectDetailDOs 閿欒淇℃伅 + * @return 鏈夐敊璇俊鎭殑excel + */ + @Override + public void batchSyncApplyCode(CodeOrderDTO orderDTO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs) { + Map<String,String> errorMap=new HashMap<>(); + VciBaseUtil.alertNotNull(orderDTO,"缂栫爜鐢宠鐩稿叧鐨勬暟鎹�",orderDTO.getCodeClassifyOid(),"涓婚搴撳垎绫讳富閿�"); + CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); + //瑙勫垯鐨勪富閿渶瑕佸幓鑾峰彇 + CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); + //1.鍒ゆ柇瑙勫垯涓櫎浜嗘祦姘寸爜娈碉紝鏄惁鏈夊叾浠栫爜娈� + //engineService.checkSecValueOnOrder(ruleVO,orderDTO); + //鏌ヨ鍒嗙被鍜屾ā鏉� + //鍏堟壘鍒版瘡涓�琛岀殑鏍囬锛岀劧鍚庢牴鎹爣棰樻潵鑾峰彇瀵瑰簲鐨勫睘鎬� + List<RowDatas> rowDataList = dataObjectVO.getRowData(); + Map<String , RowDatas>rowDataMap=new LinkedHashMap<>(); + rowDataList.stream().forEach(rowData->{ + rowDataMap.put(rowData.getRowIndex(),rowData); + }); + //鎵剧涓�琛岋紝涓轰簡鎵炬爣棰� + CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid()); + + //鏍¢獙妯℃澘鏄笉鏄渶鏂扮殑 + //checkTemplateSync(sheetDataSetList,templateVO); + //闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁琛ㄥ崟鏄剧ず鐨勫瓧娈垫墠瀵煎叆 + List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s ->!DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) + ).collect(Collectors.toList()); + Map<Integer/**鍒楀彿**/,String/**瀛楁鐨勫悕绉�**/> fieldIndexMap = new HashMap<>(); + List<String> titleRowData = dataObjectVO.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)) + && com.alibaba.cloud.commons.lang.StringUtils.isBlank(s.getComponentRule()) && com.alibaba.cloud.commons.lang.StringUtils.isBlank(s.getClassifyInvokeAttr())//缁勫悎瑙勫垯鍜屽垎绫绘敞鍏ョ‘瀹炴病缁欑敤鎴峰鍑哄幓 + ).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(unExistAttrVOs)){ + throw new VciBaseException("銆�" + unExistAttrVOs.stream().map(CodeClassifyTemplateAttrVO::getName) + "銆戣繖浜涘睘鎬у湪excel涓病鏈夋壘鍒�"); + } + + String fullPath = getFullPath(classifyFullInfo); + + // List<CodeClassifyProcessTempVO> codeClassifyProcessTempVOS=codeClassifyProcessTempService.listProcessTemplate(templateVO.getOid(),"code_cls_flow_use_order"); + boolean isProcess=false; + //娉ㄩ噴鎺夋澶勪笅闈㈡墍鏈夐兘鎸夌収涓嶅垽鏂祦绋嬪瓨鍌ㄧ姸鎬佷簡 + /** if(!CollectionUtils.isEmpty(codeClassifyProcessTempVOS)){ + isProcess=true; + }***/ + //List<ClientBusinessObject> cboList = new ArrayList<>(); + //Map<String,String> codeOidToSystemOidMap=new HashMap<>();//瀛樺偍缂栫爜鏁版嵁鍜岄泦鎴愮郴缁熸暟鎹畂id瀵圭収鏄犲皠 + //excelToCbo(classifyFullInfo,titleRowData,fieldIndexMap,rowDataList,templateVO,cboList,fullPath,isProcess,"create",errorMap,codeOidToSystemOidMap); + + //閮借浆鎹㈠畬浜嗐�傞渶瑕佹壒閲忔鏌� + //濡傛灉鍑洪敊浜嗭紝鎴戜滑渚濈劧鎵ц鏈夋晥鐨勬暟鎹紝鏃犳晥鐨勬暟鎹啓鍥炲埌excel涓� + //2.鍒ゆ柇蹇呰緭椤广�傘�傞渶瑕佸叏閮ㄧ殑灞炴�э紝濡傛灉鏄繀杈擄紝浣嗘槸琛ㄥ崟閲岄潰涓嶆樉绀虹殑锛屽彧鑳芥槸鍒嗙被娉ㄥ叆鎴栬�呯粍鍚堣鍒� + + } + + @Override + public void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs) { + + } + + /** + * 鑾峰彇鍒嗙被鐨勫叏璺緞 + * @param classifyFullInfo 鍒嗙被鐨勫叏閮ㄤ俊鎭� + * @return 鍏ㄨ矾寰� + */ + private String getFullPath(CodeClassifyFullInfoBO classifyFullInfo){ + String fullPath = ""; + if(!CollectionUtils.isEmpty(classifyFullInfo.getParentClassifyVOs())){ + fullPath = classifyFullInfo.getParentClassifyVOs().stream().sorted(((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel()))) + .map(CodeClassifyVO::getOid).collect(Collectors.joining("##")); + }else{ + fullPath = classifyFullInfo.getCurrentClassifyVO().getOid(); + } + return fullPath; + } + + /** + * excel鐨勬爣棰樹笂鑾峰彇瀛楁鎵�鍦ㄧ殑浣嶇疆 + * @param titleRowData 鏍囬鐨勫唴瀹� + * @param attrNameIdMap 妯℃澘涓睘鎬у悕绉板拰鑻辨枃鐨勬槧灏� + * @param fieldIndexMap 浣嶇疆鍜岃嫳鏂囧瓧娈电殑鏄犲皠 + */ + private void getFieldIndexMap(List<String> titleRowData,Map<String/**鍚嶇О**/,String/**瀛楁鍚�**/> attrNameIdMap,Map<Integer/**浣嶇疆**/,String/**鑻辨枃鍚嶅瓧**/> fieldIndexMap){ + for (int i = 0; i < titleRowData.size(); i++) { + String title = titleRowData.get(i); + String id = attrNameIdMap.getOrDefault(title.replace(KEY_ATTR_CHAR,"").replace(REQUIRED_CHAR + ,""),""); + if(com.alibaba.cloud.commons.lang.StringUtils.isBlank(id) && "鍒嗙被璺緞".equalsIgnoreCase(title)){ + id = CODE_CLASSIFY_OID_FIELD; + } + if(com.alibaba.cloud.commons.lang.StringUtils.isBlank(id) && "鐮佹瀹藉害".equalsIgnoreCase(title)){ + id = CODE_SEC_LENGTH_FIELD; + } + if(com.alibaba.cloud.commons.lang.StringUtils.isBlank(id) && "浼佷笟缂栫爜".equalsIgnoreCase(title)){ + id = CODE_FIELD; + } + if(com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(id)){ + fieldIndexMap.put(i,id); + } + } + } + + } -- Gitblit v1.9.3