From c9fbfd1511cfee19ec017bedd8160739ae5afc98 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期日, 26 十一月 2023 14:05:26 +0800
Subject: [PATCH] 修复关键属性重复,如果是当前分类则返回编码,如果是其他分类则给出提示

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java         |   63 +++++++++++++++++--------------
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java |   11 ++++-
 2 files changed, 43 insertions(+), 31 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
index 4e0bb26..383a2aa 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
@@ -144,7 +144,6 @@
 			baseModel.setLastV(dataMap.getOrDefault("LASTV",""));
 			Object revisionseq =dataMap.getOrDefault("REVISIONSEQ","");
 			if(revisionseq!=null){
-
 				baseModel.setRevisionSeq(chageStringToInt(revisionseq.toString()));
 			}
 
@@ -157,7 +156,15 @@
 			baseModel.setVersionValue(dataMap.getOrDefault("VERSIONVALUE",""));
 			baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID",""));
 			baseModel.setLastModifier(AuthUtil.getUser().getAccount());
-
+			baseModel.setLcStatus(dataMap.getOrDefault("LCSTATUS",""));
+			baseModel.setName(dataMap.getOrDefault("NAME",""));
+			baseModel.setTenantId(dataMap.getOrDefault("TENADTID",""));
+			baseModel.setDescription(dataMap.getOrDefault("DESCRIOTION",""));
+			baseModel.setCopyFromVersion(dataMap.getOrDefault("COPYFROMVERSION",""));
+			Object secretgrade=dataMap.get("SECRETGRADE");
+			if(secretgrade!=null){
+				baseModel.setSecretGrade(chageStringToInt(secretgrade.toString()));
+			}
 		}catch (VciBaseException e){
 			e.printStackTrace();
 		}
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 52470cd..90cabea 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
@@ -2102,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);
 						}
@@ -3904,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