From 25e129946ade607c6cc163dfc282eff42a326d58 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期日, 26 十一月 2023 19:29:50 +0800
Subject: [PATCH] 代码提交
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++++------
1 files changed, 41 insertions(+), 6 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 15a983d..c168c16 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
@@ -109,12 +109,15 @@
@Resource
private ICodeClassifyService classifyService;
+ @Resource
+ private MdmEngineService mdmEngineService;
/**
* 閫氱敤鏌ヨ
*/
@Resource
private CommonsMapper commonsMapper;
+
/****
* 鐮佸�兼湇鍔�
*/
@@ -352,10 +355,12 @@
@Override
public String createImportExcel(String codeClassifyOid, boolean isHistory) {
List<CodeClassifyTemplateVO> templateVOList=new ArrayList<>();
-
VciBaseUtil.alertNotNull("瀵煎嚭妯℃澘","瀵煎嚭鐨勯厤缃�",codeClassifyOid,"涓婚搴撳垎绫荤殑涓婚敭");
CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid);
+
+ //鑾峰彇鐮佹瀹藉害
+ //String secWidth = getCodeSegmentWidth(codeClassifyVO.getOid());
if(isHistory){
templateVOList= templateService.childTemplates(codeClassifyOid);
@@ -467,6 +472,30 @@
eo.addSheetDataList(templateVOList.size()+"妯℃澘淇℃伅銆愯鍕垮垹闄ゆ垨绉诲姩銆�",tempEDList);
ExcelUtil.writeDataToFile(excelName,eo);
return excelName;
+ }
+
+ /**
+ * 鑾峰彇鐮佹瀹藉害
+ * @param codeClassifyOid
+ * @return
+ */
+ private String getCodeSegmentWidth(String codeClassifyOid){
+ CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid);
+ // 瑕佽幏鍙栫爜娈靛搴︼紝鍏堣鑾峰彇瑙勫垯锛屽綋鍓嶆病鏈夊線涓婃壘
+ CodeRuleVO codeRuleByClassifyFullInfo = mdmEngineService.getCodeRuleByClassifyFullInfo(classifyService.getClassifyFullInfo(codeClassifyOid));
+ List<CodeBasicSecVO> secVOList = codeRuleByClassifyFullInfo.getSecVOList();
+ if(secVOList.isEmpty()){
+ return "";
+ }
+
+ StringBuffer secWidth = new StringBuffer("");
+
+ for (int j = 0; j < secVOList.size(); j++) {
+ CodeBasicSecVO secVO = secVOList.get(j);
+ int width = VciBaseUtil.getInt(secVO.getCodeSecLength()) + ((secVO.getPrefixCode() + secVO.getSuffixCode()).length());
+ secWidth.append(width).append("#");
+ }
+ return secWidth.toString().substring(0, secWidth.length() - 1);
}
/**
@@ -856,7 +885,7 @@
String idFieldName = attrVOS.stream().filter(s -> VciQueryWrapperForDO.ID_FIELD.equalsIgnoreCase(s.getId())).findFirst().orElseGet(() -> new CodeClassifyTemplateAttrVO()).getName();
getFieldIndexMap(titleRowData, attrNameIdMap, fieldIndexMap);
//鍏堜笉鐢ㄧ灞炴�ф槸鍚﹂兘瀛樺湪锛屽厛杞崲涓�涓嬫暟鎹�
- List<ClientBusinessObject> cboList = new CopyOnWriteArrayList<>();
+ List<ClientBusinessObject> cboList = new ArrayList<>();
String fullPath = getFullPath(classifyFullInfo);
//鎴戜滑闇�瑕佽幏鍙栧埌鎵�鏈夌殑涓嬬骇鍒嗙被鐨刼id鐨勮矾寰勶紝鍥犱负鍚庨潰闇�瑕�
Map<String/**涓婚敭**/, String/**璺緞**/> childOidPathMap = getChildClassifyPathMap(classifyFullInfo, fullPath);
@@ -1991,9 +2020,10 @@
//鏈�鍚庡紕缁勫悎瑙勫垯
batchSwitchComponentAttrOnOrder(attrVOS,cboList);
//3.鍒ゆ柇鍏抽敭灞炴��
- CodeImportResultVO keyResultVO = batchCheckKeyAttrOnOrder(classifyFullInfo, templateVO, cboList,errorMap);
+ CodeImportResultVO keyResultVO = batchCheckKeyAttrOnOrder(classifyFullInfo, templateVO, cboList,errorKeyMap);
Set<String> selfRepeatRowIndexList = keyResultVO.getSelfRepeatRowIndexList();
Set<String> keyAttrRepeatRowIndexList = keyResultVO.getKeyAttrRepeatRowIndexList();
+
Map<String,List<String>>keyAttrOkOidTORepeatOidMap= keyResultVO.getKeyAttrOkOidTORepeatOidMap();
if(!CollectionUtils.isEmpty(selfRepeatRowIndexList)){
selfRepeatRowIndexList.stream().forEach(rowIndex->{
@@ -2023,7 +2053,11 @@
resultDataObjectDetailDO.setMsg(errorMap.getOrDefault(rowIndex,"") + ";鍏抽敭灞炴�т笌绯荤粺涓殑閲嶅" );
resultDataObjectDetailDOs.add(resultDataObjectDetailDO);
*/
- errorKeyMap.put(rowIndex, "鍏抽敭灞炴�т笌绯荤粺涓殑閲嶅;" + errorMap.getOrDefault(rowIndex,""));
+ Map<String, List<BaseModel>> indexTODataMap=keyResultVO.getIndexTODataMap();
+ if(indexTODataMap.containsKey(rowIndex)){
+ List<BaseModel> baseModelList= indexTODataMap.get(rowIndex);
+ }
+ errorKeyMap.put(rowIndex, "鍏抽敭灞炴�т笌绯荤粺涓殑閲嶅;" + errorKeyMap.getOrDefault(rowIndex,""));
});
}
//鏍¢獙灞炴�ф槸鍚︽纭敊璇俊鎭�
@@ -2659,7 +2693,7 @@
return;
}
//final String[] sql = {"select count(*) from " + tableName + " t where 1 = 1 "};
- final String[] sql = {"select id from " + tableName + " t where 1 = 1 "};
+ final String[] sql = {"select t.id from " + tableName + " t where 1 = 1 "};
conditionMap.forEach((key, value) -> {
if(StringUtils.isBlank(value)||value.equals(QueryOptionConstant.ISNULL)){
sql[0] += " and " + key + " is null ";
@@ -3003,6 +3037,7 @@
}
});
}
+
/**
* excel杞崲涓篶bo鐨勫璞�
* @param classifyFullInfo 鍒嗙被鐨勫叏閮ㄤ俊鎭�
@@ -3745,7 +3780,7 @@
if(!CollectionUtils.isEmpty(nullRowIndex)){
String checkAttr = requiredAttrMap.values().stream().map(CodeClassifyTemplateAttrVO::getName).collect(Collectors.joining(","));
nullRowIndex.stream().forEach(rowIndex->{
- errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";鏍¢獙瑙勫垯涓嶉�氳繃锛屾湁鏍¢獙鐨勫睘鎬т负" + checkAttr);
+ errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";鏍¢獙瑙勫垯蹇呭~椤逛笉閫氳繃锛屽鏋滄湁蹇呭~灞炴�т负绌猴紝鍒欏~銆�/銆戜唬鏇�,鏈夋牎楠岀殑灞炴�т负" + checkAttr);
});
}
}
--
Gitblit v1.9.3