From a9f5becb47b768c1b7704efc580182dfd089c44a Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 29 八月 2023 11:32: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/DockingSystemConfigServiceImpl.java |    5 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java               |   58 +++++++++++++++++++---------
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/edit.xml      |   34 +++++++++++++++++
 3 files changed, 77 insertions(+), 20 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/edit.xml b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/edit.xml
new file mode 100644
index 0000000..61b25a1
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/edit.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<data systemId="MPM">
+    <user userName="weidy" trueName="榄忓ぇ鍕�" ip="127.0.0.1"/>
+    <classifys>
+        <classify classCode="020101" library="wupin" fullclsfNamePath="鐗╁搧##VCI##鏍囧噯浠�##VCI##铻烘爴">
+            <objects>
+                <object code="02010100039"  id="0023401" status="Released" operate="update" editor="weidy" >
+                    <prop  key="partname" text="鍚嶇О" value="娓╁害璋冭妭鍣�1"/>
+                    <prop key="use" text="涓昏鍔熻兘" value="瀵肩數杩炴帴1"/>
+                    <prop key="xinghaoguige" text="涓昏鍔熻兘" value="TH-003274"/>
+                </object>
+                <object  code="02010100040" id="0023402" status="Released" operate="update" editor="weidy">
+                    <prop key="partname" text="鎵�灞炵粨鏋�" value="娓╁害璋冭妭鍣�2"/>
+                    <prop key="use" text="涓昏鍔熻兘" value="瀵肩數杩炴帴2"/>
+                    <prop key="xinghaoguige" text="涓昏鍔熻兘" value="GGXH-003274"/>
+                </object>
+            </objects>
+        </classify>
+        <classify classCode="020102" library="wupin" fullclsfNamePath="鐗╁搧##VCI##鏍囧噯浠�##VCI##铻烘瘝">
+            <objects>
+                <object code="02010200033" id="0023401" status="Released" operate="update" editor="weidy">
+                    <prop  key="partname" text="鍚嶇О" value="娓╁害璋冭妭鍣�1"/>
+                    <prop key="use" text="涓昏鍔熻兘" value="瀵肩數杩炴帴1"/>
+                    <prop key="xinghaoguige" text="涓昏鍔熻兘" value="GGXH-003274"/>
+                </object>
+                <object code="02010200034" id="0023402" status="Released" operate="update" editor="weidy">
+                    <prop key="partname" text="鎵�灞炵粨鏋�" value="娓╁害璋冭妭鍣�2"/>
+                    <prop key="use" text="涓昏鍔熻兘" value="瀵肩數杩炴帴2"/>
+                    <prop key="xinghaoguige" text="涓昏鍔熻兘" value="GGXH-003274"/>
+                </object>
+            </objects>
+        </classify>
+    </classifys>
+</data>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
index a256faf..21c60ed 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -367,7 +367,10 @@
 
 	@Override
 	public boolean deleteDataById(String oids) {
-		return false;
+		VciBaseUtil.alertNotNull(oids, "鏁版嵁涓婚敭涓虹┖");
+		List<String> oidList=VciBaseUtil.str2List(oids);
+		int i=dockingSystemConfigMapper.deleteBatchIds(oidList);
+		return i>0?true:false;
 	}
 
 	/**
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..b59621a 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(),"")+";鏁版嵁涓嶆槸鏈�鏂扮殑锛屽彲鑳戒粬浜哄凡缁忎慨鏀癸紝璇峰埛鏂板悗鍐嶈瘯");
 			}
@@ -2396,7 +2404,7 @@
 
 				List<CodeAllCode>newCodeAllCodeList= codeAllCodeService.selectByWrapper(Wrappers.<CodeAllCode>query().lambda().eq(CodeAllCode::getCreateCodeOid, cbo.getOid()));
 				if (!CollectionUtils.isEmpty(newCodeAllCodeList)) {
-					CodeAllCode codeCbo = codeAllCodeList.get(0);
+					CodeAllCode codeCbo = newCodeAllCodeList.get(0);
 					log.info("codeCbos code:" + codeCbo.getId());
 					codeCbo.setLcStatus(status);
 					codeAllCodeList.add(codeCbo);
@@ -2473,7 +2481,7 @@
 			//瀛樺偍鏁版嵁
 			try {
 				engineService.updateBatchByBaseModel(classifyFullInfo.getTopClassifyVO().getBtmTypeId(),updateList);
-				codeAllCodeService.saveBatch(codeAllCodeList);
+				codeAllCodeService.saveOrUpdateBatch(codeAllCodeList);
 				if(deleteList.size()>0) {
 					commonsMapper.deleteByTaleAndOid(tableName, VciBaseUtil.array2String(deleteList.toArray(new String[]{})));
 				}
@@ -2607,17 +2615,22 @@
 		//娌℃湁闄愬埗鍒嗙被锛屼絾鏄竴涓ā鏉垮彧鍙兘鍦ㄤ竴涓笟鍔$被鍨嬮噷闈紝鎵�浠ョ洿鎺ユ煡璇㈣繖涓笟鍔$被鍨嬪嵆鍙�
 
 		if (!CollectionUtils.isEmpty(conditionMap)) {
-			final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmTypeId()) + " where 1 = 1 "};
+			final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmTypeId()) + " t where 1 = 1 "};
 			conditionMap.forEach((key, value) -> {
-				sql[0] += " and " + key + " = " + value;
+				if(StringUtils.isBlank(value)||value.equals(QueryOptionConstant.ISNULL)){
+					sql[0] += " and " + key + " is null ";
+				}else{
+					sql[0] += " and " + key + " = " + value;
+				}
+
 			});
 			if (StringUtils.isNotBlank(orderDTO.getOid())) {
 				//淇敼鐨勬椂鍊欙紝闇�瑕佹帓闄よ嚜宸�
-				sql[0] += " and oid != '" + orderDTO.getOid() + "'";
+				sql[0] += " and t.oid != '" + orderDTO.getOid() + "'";
 			} else if (StringUtils.isNotBlank(orderDTO.getCopyFromVersion())) {
-				sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'";
+				sql[0] += " and t.oid != '" + orderDTO.getCopyFromVersion() + "'";
 			}
-			sql[0] += " and lastR = '1' and lastV = '1' ";
+			sql[0] += " and t.lastR = '1' and t.lastV = '1' ";
 			if (commonsMapper.queryCountBySql(sql[0]) > 0) {
 				String ruleInfoMsg = keyRuleVO == null ? "" : "鏌ヨ瑙勫垯锛氬幓闄ょ┖鏍�--{0},蹇界暐澶у皬鍐�--{1},蹇界暐鍏ㄥ崐瑙�--{2},蹇界暐鍏ㄩ儴绌烘牸--{3}";
 				String[] objs = new String[]{trim ? "鏄�" : "鍚�", ignoreCase ? "鏄�" : "鍚�", ignoreWidth ? "鏄�" : "鍚�", trimAll ? "鏄�" : "鍚�"};
@@ -2817,17 +2830,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 +4021,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