From 4a2835ddadb796c69f180097b95f971dbab4687d Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 13 九月 2023 09:09:14 +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 |   40 +++++++++++++++++++++++++++++-----------
 1 files changed, 29 insertions(+), 11 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 77fd040..e44faca 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
@@ -2329,12 +2329,17 @@
 		sb.append(" where 1=1 ");
 		sb.append(" and lastr=1 and lastv=1" );
 		if(isCodeOrGroupCode) {
-			sb.append(" and groupcode in (");
+			sb.append(" and ( groupcode in (");
+			sb.append(VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])));
+			sb.append(")");
+			sb.append(" or id in (");
+			sb.append(VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])));
+			sb.append("))");
 		}else{
 			sb.append(" and id in (");
+			sb.append(VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])));
+			sb.append(")");
 		}
-		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);
@@ -2424,7 +2429,7 @@
 					List<CodeAllCode>newCodeAllCodeList= codeAllCodeService.selectByWrapper(Wrappers.<CodeAllCode>query().lambda().eq(CodeAllCode::getCreateCodeOid, cbo.getOid()));
 					log.info("codeCbos size:" + newCodeAllCodeList.size());
 					if (!CollectionUtils.isEmpty(newCodeAllCodeList)) {
-						CodeAllCode codeCbo = codeAllCodeList.get(0);
+						CodeAllCode codeCbo = newCodeAllCodeList.get(0);
 						log.info("codeCbos code:" + codeCbo.getId());
 						codeCbo.setLcStatus(CodeDefaultLC.TASK_BACK.getValue());
 						codeAllCodeList.add(codeCbo);
@@ -2616,7 +2621,21 @@
 		//娌℃湁闄愬埗鍒嗙被锛屼絾鏄竴涓ā鏉垮彧鍙兘鍦ㄤ竴涓笟鍔$被鍨嬮噷闈紝鎵�浠ョ洿鎺ユ煡璇㈣繖涓笟鍔$被鍨嬪嵆鍙�
 
 		if (!CollectionUtils.isEmpty(conditionMap)) {
-			final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmTypeId()) + " t where 1 = 1 "};
+			String tableName="";
+			R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId());
+			if(r.isSuccess()) {
+				BtmTypeVO btmTypeVO = r.getData();
+				if (btmTypeVO != null) {
+					tableName = btmTypeVO.getTableName();
+
+				}
+			}
+			if (StringUtils.isBlank(tableName)) {
+				String errormsg="鏍规嵁涓氬姟绫诲瀷涓烘煡璇㈠埌鐩稿叧涓氬姟琛�";
+				errorMap.put(orderDTO.getId(),errorMap.getOrDefault(orderDTO.getId(),"")+errormsg);
+				return;
+			}
+			final String[] sql = {"select count(*) from " + tableName + " t where 1 = 1 "};
 			conditionMap.forEach((key, value) -> {
 				if(StringUtils.isBlank(value)||value.equals(QueryOptionConstant.ISNULL)){
 					sql[0] += " and " + key + " is null ";
@@ -2836,6 +2855,9 @@
 			ClientBusinessObject sysDataObject= codeSystemObjectMap.get(code);
 			if(isCodeOrGroupCode){
 				code=sysDataObject.getAttributeValue("GROUPCODE");
+				if(StringUtils.isBlank(code)){
+					code=sysDataObject.getId();
+				}
 			}
 			CodeOrderDTO orderDTO = new CodeOrderDTO();
 			if(codeDataMap.containsKey(code)){
@@ -2844,11 +2866,7 @@
 				orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭
 				orderDTO.setOid(sysDataObject.getOid());//鏁版嵁oid
 				orderDTO.setLcStatus(rowDatas.getStatus());//鐘舵��
-				if(isCodeOrGroupCode){
-					orderDTO.setId(sysDataObject.getId());
-				}else{
-					orderDTO.setId(code);
-				}
+				orderDTO.setId(code);
 				orderDTO.setTs(sysDataObject.getTs());
 				orderDTO.setBtmname(codeClassifyVO.getBtmname());//涓氬姟绫诲瀷
 				orderDTO.setDescription("闆嗘垚璋冪敤:鏇存柊");//鏁版嵁鎻忚堪
@@ -4455,7 +4473,7 @@
 	 * @param idList
 	 * @param btmName
 	 */
-	private void sendApplyGroupcode(List<String> idList,String btmName,String operationType){
+	public void sendApplyGroupcode(List<String> idList,String btmName,String operationType){
 		String oids=VciBaseUtil.array2String(idList.toArray(new String[]{}));
 		if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue())) {
 			mdmInterJtClient.applyGroupCode(oids,btmName);

--
Gitblit v1.9.3