From 711c0021a8c178c5ef00967711b0d3d6fa50637f Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期三, 29 十一月 2023 17:34:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java |   76 +++++++++++++++++++++----------------
 1 files changed, 43 insertions(+), 33 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 1667402..87cfaee 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
@@ -885,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);
@@ -2020,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->{
@@ -2052,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,""));
 			});
 		}
 		//鏍¢獙灞炴�ф槸鍚︽纭敊璇俊鎭�
@@ -2097,50 +2102,54 @@
 				Map<String, List<BaseModel>> indexTodataMap = keyResultVO.getIndexTODataMap();
 				cboList.stream().forEach(cbo -> {
 					String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX);
+					String msg = errorKeyMap.get(rowIndex);
 					if (indexTodataMap.containsKey(rowIndex)) {
 						String oid = cbo.getOid();
 						String sourceOid = oid;
 						String code = "";
-						String groupCode="";
 						String errorid = "201";
 						if(codeOidToSystemOidMap.containsKey(oid)){
 							sourceOid=codeOidToSystemOidMap.get(oid);
 						}
 						List<BaseModel> newCboList = indexTodataMap.get(rowIndex);
 						if (!CollectionUtils.isEmpty(newCboList)) {
-							BaseModel newCbo= newCboList.get(0);
-							String lcstatus =newCbo.getLcStatus();
-							String newOid =newCbo.getOid();
-							Date ts =newCbo.getTs();
-							code = StringUtils.isBlank(newCbo.getId())?"":newCbo.getId();
-							groupCode=newCbo.getData().getOrDefault("GROUPCODE","");
-							String lastmodifier=newCbo.getLastModifier();
-							if (lcstatus!=null&&!lcstatus.equals(CodeDefaultLC.RELEASED.getValue())) {
-								newCbo.setOid(newOid);
-								newCbo.setLastModifier(lastmodifier);
-								/*if(isCodeOrGroupCode) {
-									newCbo.setId(code);
-								}else{
-									newCbo.getData().put("groupcode",groupCode);
-								}*/
-								newCbo.setTs(ts);
-								cbo.setLastModifier(cbo.getLastModifier());
-								editBoList.add(newCbo);
-							}
-							String mes = errorKeyMap.get(rowIndex);
-							XMLResultDataObjectDetailDO resultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
-							if(isCodeOrGroupCode) {
-								if(StringUtils.isBlank(groupCode)){
-									errorid="1";
-									mes+="锛涚敵璇风殑缂栫爜绫诲瀷涓洪泦鍥㈢爜锛岀瓑寰呴泦鍥㈢紪鐮佽祴鍊�";
+							//澶勭悊鍏抽敭灞炴�ф煡鍑哄鏉$殑璇濓紝鏍规嵁闆嗘垚璋冪敤鐨勫綋鍓嶅垎绫讳唬鍙峰彇褰撳墠鍒嗙被鐨勭爜鍊笺��
+							Map<String/**缂栫爜**/, BaseModel/**閲嶅缂栫爜鏁版嵁**/> classOidTOBaseModelMap = new HashMap<>();
+								newCboList.stream().forEach(baseModel->{
+									String codeclsfid=baseModel.getData().get(CODE_CLASSIFY_OID_FIELD.toUpperCase(Locale.ROOT));
+									classOidTOBaseModelMap.put(codeclsfid,baseModel);
+								});
+							String codeclsfid= classifyFullInfo.getCurrentClassifyVO().getOid();
+							if(classOidTOBaseModelMap.containsKey(codeclsfid)){
+								BaseModel newCbo= classOidTOBaseModelMap.get(codeclsfid);
+								String lcstatus =newCbo.getLcStatus();
+								String newOid =newCbo.getOid();
+								Date ts =newCbo.getTs();
+								code = StringUtils.isBlank(newCbo.getId())?"":newCbo.getId();
+								if(isCodeOrGroupCode) {
+									code=newCbo.getData().getOrDefault("GROUPCODE","");
+									if(StringUtils.isBlank(code)){
+										errorid="1";
+										msg="锛涚敵璇风殑缂栫爜绫诲瀷涓洪泦鍥㈢爜锛岀瓑寰呴泦鍥㈢紪鐮佽祴鍊�";
+									}
 								}
-								resultDataObjectDetailDO.setCode(groupCode);
+								String lastmodifier=newCbo.getLastModifier();
+								if (lcstatus!=null&&!lcstatus.equals(CodeDefaultLC.RELEASED.getValue())) {
+									newCbo.setOid(newOid);
+									newCbo.setLastModifier(lastmodifier);
+									newCbo.setTs(ts);
+									cbo.setLastModifier(cbo.getLastModifier());
+									editBoList.add(newCbo);
+								}
 							}else{
-								resultDataObjectDetailDO.setCode(code);
+								errorid="205";
+								msg+="锛涚紪鐮佸垯灞炰簬鍏朵粬鍒嗙被銆�";
 							}
+							XMLResultDataObjectDetailDO resultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
+							resultDataObjectDetailDO.setCode(code);
 							resultDataObjectDetailDO.setId(sourceOid);
 							resultDataObjectDetailDO.setErrorid(errorid);
-							resultDataObjectDetailDO.setMsg(mes);
+							resultDataObjectDetailDO.setMsg(msg);
 
 							resultDataObjectDetailDOs.add(resultDataObjectDetailDO);
 						}
@@ -2688,7 +2697,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 ";
@@ -3899,6 +3908,7 @@
 					newDataList.stream().forEach(stringStringMap -> {
 						BaseModel baseModel=new BaseModel();
 						DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,baseModel);
+						baseModel.setData(stringStringMap);
 						newCboList.add(baseModel);
 					});
 					// 娣诲姞閿欒鍊�

--
Gitblit v1.9.3