From f7e33d69713a5145d19fde5792b422826bc14107 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 09 六月 2023 18:10:12 +0800
Subject: [PATCH] 完善主题库定义
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 287 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 263 insertions(+), 24 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 f313a07..526c013 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.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.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,29 +19,35 @@
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.LangBaseUtil;
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;
import javax.annotation.Resource;
import java.io.File;
+import java.io.IOException;
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.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 +70,8 @@
@Resource
private MdmEngineService engineService;
+ private final BladeRedis bladeRedis;
+
/**
* 鐢熸垚瀵煎叆鐨勬枃浠�
*
@@ -73,7 +81,7 @@
*/
@Override
public String createImportExcel(String codeClassifyOid, boolean isHistory) {
- List<CodeClstemplateVO> templateVOList=new ArrayList<>();
+ List<CodeClassifyTemplateVO> templateVOList=new ArrayList<>();
VciBaseUtil.alertNotNull("瀵煎嚭妯℃澘","瀵煎嚭鐨勯厤缃�",codeClassifyOid,"涓婚搴撳垎绫荤殑涓婚敭");
@@ -83,7 +91,7 @@
templateVOList= templateService.childTemplates(codeClassifyOid);
}else{
//鎵炬ā鏉�
- CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid);
+ CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid);
templateVOList.add(templateVO);
}
@@ -95,15 +103,16 @@
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<CodeClassifyTemplateAttrVO> 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())
@@ -113,7 +122,7 @@
if(CollectionUtils.isEmpty(templateAttrVOS)){
throw new VciBaseException("妯℃澘娌℃湁閰嶇疆浠讳綍銆愯〃鍗曟樉绀恒�戜负銆愭槸銆戠殑灞炴��");
}
- List<CodeClassifyTemplateAttrVO> 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){
@@ -239,7 +248,7 @@
//鍏堟壘鍒版瘡涓�琛岀殑鏍囬锛岀劧鍚庢牴鎹爣棰樻潵鑾峰彇瀵瑰簲鐨勫睘鎬�
SheetDataSet dataSet = sheetDataSetList.get(0);
//鎵剧涓�琛岋紝涓轰簡鎵炬爣棰�
- CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid());
+ CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid());
//鏍¢獙妯℃澘鏄笉鏄渶鏂扮殑
checkTemplateSync(sheetDataSetList,templateVO,0);
@@ -248,15 +257,60 @@
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;
+ 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;
+ }
+
+ /**
+ * 閿欒淇℃伅杩斿洖excel
+ * @param rowDataList 鎵�鏈夌殑瀵煎叆鏁版嵁
+ * @param errorMap 閿欒鐨勪俊鎭�
+ * @param needRowIndexList 闇�瑕佸啓鍏ョ殑鏁版嵁鐨勮鍙�
+ * @param titleRowData 鏍囬琛�
+ *
+ * @return 閿欒鐨別xcel鏂囦欢锛屾病鏈夐敊璇細杩斿洖绌�
+ */
+ private String returnErrorToExcel(Collection<SheetRowData> rowDataList,
+ Map<String,String> errorMap,
+ List<String> needRowIndexList,List<String> titleRowData){
+ if(CollectionUtils.isEmpty(errorMap)){
+ return "";
+ }
+ Map<String, SheetRowData> rowIndexDataMap = rowDataList.stream().filter(s -> !needRowIndexList.contains(s.getRowIndex())).collect(Collectors.toMap(s -> s.getRowIndex(), t -> t));
+ List<WriteExcelData> errorDataList = new ArrayList<>();
+ errorDataList.add(new WriteExcelData(0,0,"閿欒淇℃伅"));
+ for (int i = 0; i < titleRowData.size(); i++) {
+ //閿欒淇℃伅鍦ㄦ渶鍚�
+ errorDataList.add(new WriteExcelData(0,i+1,titleRowData.get(i)));
+ }
+ Integer[] newRowIndex = new Integer[]{1};
+ errorMap.forEach((index,error)->{
+ //閿欒淇℃伅鍏ㄩ儴缁勫悎鍒颁竴璧�
+ SheetRowData rowData = rowIndexDataMap.getOrDefault(index, null);
+ if(rowData!=null){
+ errorDataList.add(new WriteExcelData(newRowIndex[0],0,error));
+ rowData.getData().forEach((colIndex,value)->{
+ errorDataList.add(new WriteExcelData(newRowIndex[0],colIndex+1,value));
+ });
+ newRowIndex[0]++;
+ }
+ });
+ String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒淇℃伅.xls";
+ WriteExcelOption eo = new WriteExcelOption(errorDataList);
+ try {
+ new File(excelFileName).createNewFile();
+ } catch (IOException e) {
+ throw new VciBaseException(LangBaseUtil.getErrorMsg(e));
+ }
+ ExcelUtil.writeDataToFile(excelFileName,eo);
+ return excelFileName;
}
/**
@@ -264,7 +318,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 +348,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 +470,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