From e120b9ee7c7586985867e20e154f18e9f61dce32 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期一, 28 八月 2023 17:52:45 +0800
Subject: [PATCH] 统一接口配置保存bug修复

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java |   39 +++++++++++++++++++++++++++------------
 1 files changed, 27 insertions(+), 12 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 c81e986..d05539a 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
@@ -2090,6 +2090,7 @@
 							XMLResultDataObjectDetailDO resultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
 							if(isCodeOrGroupCode) {
 								if(StringUtils.isBlank(groupCode)){
+									errorid="1";
 									mes+="锛涚敵璇风殑缂栫爜绫诲瀷涓洪泦鍥㈢爜锛岀瓑寰呴泦鍥㈢紪鐮佽祴鍊�";
 								}
 								resultDataObjectDetailDO.setCode(groupCode);
@@ -2157,14 +2158,16 @@
 					}
 					if(isCodeOrGroupCode) {
 						if(StringUtils.isBlank(groupCode)){
+							resultDataObjectDetailDO.setErrorid("1");
 							msg="鐢宠鐨勭紪鐮佺被鍨嬩负闆嗗洟鐮侊紝绛夊緟闆嗗洟缂栫爜璧嬪��";
 						}
 						resultDataObjectDetailDO.setCode(groupCode);
 					}else{
 						resultDataObjectDetailDO.setCode(code);
+						resultDataObjectDetailDO.setErrorid("0");
 					}
 					resultDataObjectDetailDO.setId(sourceOid);
-					resultDataObjectDetailDO.setErrorid("0");
+
 					resultDataObjectDetailDO.setMsg(msg);
 					resultDataObjectDetailDOs.add(resultDataObjectDetailDO);
 					//澶勭悊浼犻�佺殑鏁版嵁涓叧閿睘鎬ч噸澶嶇殑锛岀洿鎺ユ嬁鍒板凡缁忕敵璇峰埌缂栫爜鐨勬暟鎹紪鐮佺洿鎺ュ皢璧嬬粰鍏抽敭灞炴�ч噸澶嶇殑鏁版嵁
@@ -2324,15 +2327,20 @@
 		sb.append(" select * from ");
 		sb.append(tableName);
 		sb.append(" where 1=1 ");
-		sb.append(" id in (");
+		if(isCodeOrGroupCode) {
+			sb.append(" and groupcode in (");
+		}else{
+			sb.append(" and id in (");
+		}
 		sb.append(VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])));
 		sb.append(")");
+
 		List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString());
 		List<ClientBusinessObject> cboList=	ChangeMapTOClientBusinessObjects(dataMapList);
 		Map<String, ClientBusinessObject> codeSystemObjectMap = cboList.stream().filter(systeDataObject -> systeDataObject != null && StringUtils.isNotBlank(systeDataObject.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId(), t -> t));
 		Map<String, String> errorMap = new HashMap<>();
 		List<CodeOrderDTO> codeOrderDTOList = new ArrayList<>();
-		this.getCodeOrderDTOs(codeClassifyVO, templateVO, codeDataMap, codeSystemObjectMap, codeOrderDTOList, errorMap);
+		this.getCodeOrderDTOs(codeClassifyVO, templateVO, codeDataMap, codeSystemObjectMap, codeOrderDTOList, errorMap,isCodeOrGroupCode);
 		// List<CodeClassifyProcessTempVO> codeClassifyProcessTempVOS=codeClassifyProcessTempService.listProcessTemplate(templateVO.getOid(),"code_cls_flow_use_order");
 		boolean isProcess=false;
 		/**  if(!CollectionUtils.isEmpty(codeClassifyProcessTempVOS)){
@@ -2354,7 +2362,7 @@
 			RowDatas rowData=codeDataMap.get(code);
 			String status=rowData.getStatus();
 			String operation=rowData.getOperation();
-			if (cbo.getTs().compareTo(orderDTO.getTs())==0?true:false) {
+			if (cbo.getTs().compareTo(orderDTO.getTs())==0?false:true) {
 				// throw new VciBaseException("鏁版嵁涓嶆槸鏈�鏂扮殑锛屽彲鑳戒粬浜哄凡缁忎慨鏀癸紝璇峰埛鏂板悗鍐嶈瘯");
 				errorMap.put(orderDTO.getId(),errorMap.getOrDefault(orderDTO.getId(),"")+";鏁版嵁涓嶆槸鏈�鏂扮殑锛屽彲鑳戒粬浜哄凡缁忎慨鏀癸紝璇峰埛鏂板悗鍐嶈瘯");
 			}
@@ -2817,17 +2825,24 @@
 	 * @param errorMap
 	 * @return
 	 */
-	private void getCodeOrderDTOs(CodeClassifyVO codeClassifyVO,CodeClassifyTemplateVO templateVO,Map<String ,RowDatas>codeDataMap,Map<String, ClientBusinessObject> codeSystemObjectMap,List<CodeOrderDTO> codeOrderDTOList,Map<String,String> errorMap){
-		codeDataMap.keySet().forEach(code->{
-			RowDatas rowDatas=codeDataMap.get(code);
-			Map<String, String> data= rowDatas.getFiledValue();
+	private void getCodeOrderDTOs(CodeClassifyVO codeClassifyVO,CodeClassifyTemplateVO templateVO,Map<String ,RowDatas>codeDataMap,Map<String, ClientBusinessObject> codeSystemObjectMap,List<CodeOrderDTO> codeOrderDTOList,Map<String,String> errorMap,boolean isCodeOrGroupCode){
+		codeSystemObjectMap.keySet().forEach(code->{
+			ClientBusinessObject sysDataObject= codeSystemObjectMap.get(code);
+			if(isCodeOrGroupCode){
+				code=sysDataObject.getAttributeValue("GROUPCODE");
+			}
 			CodeOrderDTO orderDTO = new CodeOrderDTO();
-			if(codeSystemObjectMap.containsKey(code)){
-				ClientBusinessObject sysDataObject= codeSystemObjectMap.get(code);
+			if(codeDataMap.containsKey(code)){
+				RowDatas rowDatas=codeDataMap.get(code);
+				Map<String, String> data= rowDatas.getFiledValue();
 				orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭
 				orderDTO.setOid(sysDataObject.getOid());//鏁版嵁oid
 				orderDTO.setLcStatus(rowDatas.getStatus());//鐘舵��
-				orderDTO.setId(code);
+				if(isCodeOrGroupCode){
+					orderDTO.setId(sysDataObject.getId());
+				}else{
+					orderDTO.setId(code);
+				}
 				orderDTO.setTs(sysDataObject.getTs());
 				orderDTO.setBtmname(codeClassifyVO.getBtmname());//涓氬姟绫诲瀷
 				orderDTO.setDescription("闆嗘垚璋冪敤:鏇存柊");//鏁版嵁鎻忚堪
@@ -4001,7 +4016,7 @@
 			DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject);
 			for (String key:dataMap.keySet()){
 				Object value= dataMap.getOrDefault(key,"");
-				clientBusinessObject.setAttributeValue(key,value.toString());
+				clientBusinessObject.setAttributeValue(key,value==null?"":value.toString());
 			}
 			clientBusinessObjectList.add(clientBusinessObject);
 		});

--
Gitblit v1.9.3