From 32f4bb41c82ded759e7db18c9fa449b1442f15c8 Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期三, 21 六月 2023 16:39:12 +0800
Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java |   87 +++++++++++++++++++++++--------------------
 1 files changed, 47 insertions(+), 40 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index c0f8939..7367fb7 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1724,71 +1724,71 @@
 	 * @return Sql璇彞
 	 */
 	private String getConditionSql(String key, String value, Map<String/**鍙傜収鐨勫睘鎬�**/, String/**瀹為檯鐨勫睘鎬�**/> referFieldMap, Map<String, CodeClassifyTemplateAttrVO> attrVOMap,String btmType) {
-		/*if (!Func.hasEmpty(new Object[]{key,value}) && !key.endsWith("_ignore")) {
+		if (!Func.hasEmpty(new Object[]{key,value}) && !key.endsWith("_ignore")) {
 			if (key.endsWith("_like")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_like");
 				if (referFieldMap.containsKey(field)) {
 					//璇存槑杩樻槸鍙傜収閲岄潰鐨勶紝鎴戜滑榛樿杩欑鎯呭喌涓嬮兘鏄瓧绗︿覆鍚э紝鍥犱负鍙傜収鐨勫睘鎬т笉涓�瀹氱敤鐨勫钩鍙扮殑灞炴�ф睜閲岀殑锛屾墍浠ュぇ閮ㄥ垎鎯呭喌涓嬶紝鏄剧ず鐨勫睘鎬ч兘鏄瓧绗︿覆鍚�
-					return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "concat(%,"+"concat(" + value + ",%)" + SPACE;
+					return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "%" + value + "%)" + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "concat(%,"+"concat(" + getStringValueInWhere(field, value, attrVOMap) + ",%)" + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "%" + getStringValueInWhere(field, value, attrVOMap) + "%)" + SPACE;
 				}
 			} else if (key.endsWith("_notequal")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_notequal");
 				if (referFieldMap.containsKey(field)) {
-					return referFieldMap.get(field) + SPACE + " != '" + value + "'" + SPACE;
+					return referFieldMap.get(field) + SPACE + " != " + value + SPACE;
 				} else {
 					return (field.contains(".") ? "" : "t.") + field + SPACE + " != " + getStringValueInWhere(field, value, attrVOMap);
 				}
 			} else if (key.endsWith("_likeleft")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_likeleft");
 				if (referFieldMap.containsKey(field)) {
-					return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "concat(%,"+value+")" + SPACE;
+					return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "%"+value + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "concat(%,"+getStringValueInWhere(field, value, attrVOMap)+")" + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "%" + getStringValueInWhere(field, value, attrVOMap) + SPACE;
 				}
 			} else if (key.endsWith("_likeright")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_likeright");
 				if (referFieldMap.containsKey(field)) {
-					return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "concat("+value+",%)" + SPACE;
+					return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + value + "%" + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "concat("+getStringValueInWhere(field, value, attrVOMap)+",%)" + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + getStringValueInWhere(field, value, attrVOMap)+ "%" + SPACE;
 				}
 			} else if (key.endsWith("_notlike")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_notlike");
 				if (referFieldMap.containsKey(field)) {
-					return referFieldMap.get(field) + SPACE + "NO LIKE" + SPACE + "concat(%,concat("+value+",%)" + SPACE;
+					return referFieldMap.get(field) + SPACE + "NO LIKE" + SPACE + "%" + value + "%" + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + "NO LIKE " + "concat(%,concat"+getStringValueInWhere(field, value, attrVOMap)+",%)" + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "NO LIKE " + "%"+getStringValueInWhere(field, value, attrVOMap)+ "%" + SPACE;
 				}
 			} else if (key.endsWith("_ge")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_ge");
 				if (referFieldMap.containsKey(field)) {
-					return referFieldMap.get(field) + SPACE + " >= '" + value + "'" + SPACE;
+					return referFieldMap.get(field) + SPACE + " >= " + value + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + " >= '" + getStringValueInWhere(value, field, attrVOMap) + "'" + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + " >= " + getStringValueInWhere(value, field, attrVOMap) + SPACE;
 				}
 			} else if (key.endsWith("_le")) {
 				//璇存槑鏄�<=鐨勩�傛垜浠渶瑕佸厛鑾峰彇涓�涓�
 				String field = UBCSSqlKeyword.getColumn(key, "_le");
 				if (referFieldMap.containsKey(field)) {
-					return referFieldMap.get(field) + SPACE + " <= '" + value + "'" + SPACE;
+					return referFieldMap.get(field) + SPACE + " <= " + value + "" + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + " <= '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + " <= " + getStringValueInWhere(field, value, attrVOMap) + SPACE;
 				}
 			} else if (key.endsWith("_gt")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_gt");
 				if (referFieldMap.containsKey(field)) {
-					return referFieldMap.get(field) + SPACE + "> '" + value + "'" + SPACE;
+					return referFieldMap.get(field) + SPACE + "> " + value + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + "> '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "> " + getStringValueInWhere(field, value, attrVOMap) + SPACE;
 				}
 			} else if (key.endsWith("_lt")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_lt");
 				if (referFieldMap.containsKey(field)) {
-					return referFieldMap.get(field) + SPACE + "< '" + value + "'" + SPACE;
+					return referFieldMap.get(field) + SPACE + "< " + value + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + "< '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "< " + getStringValueInWhere(field, value, attrVOMap) + SPACE;
 				}
 			} else if (key.endsWith("_datege")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_datege");
@@ -1846,15 +1846,14 @@
 				} else {
 					return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
 				}
-			}else {
+			}else if(key.endsWith("_equal")) {
 				String field = UBCSSqlKeyword.getColumn(key, "_equal");
 				if (referFieldMap.containsKey(field)) {
-					return referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE;
+					return referFieldMap.get(field) + SPACE + "= " + value + SPACE;
 				} else {
-					return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + getStringValueInWhere(field, value, attrVOMap)+ "'" + SPACE;
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + SPACE;
 				}
-			}
-			*//*else {
+			}else {
 				if (referFieldMap.containsKey(key)) {
 					//璇存槑鏄弬鐓х殑锛屾垜浠弬鐓х殑鏌ヨ閮借涓烘槸瀛楃涓诧紝濡傛灉鏄椂闂存牸寮忕殑鏌ヨ鑲畾鏈夐棶棰橈紝
 					String selectKey = referFieldMap.get(key);
@@ -1862,11 +1861,11 @@
 				} else {
 					return getSqlByValue(key, value, attrVOMap,btmType);
 				}
-			}*//*
+			}
 		}
-		return "";*/
+		return "";
 
-		if (key.endsWith("_begin")) {
+		/*if (key.endsWith("_begin")) {
 			//璇存槑鏄�>=鐨勩�傛垜浠渶瑕佸厛鑾峰彇涓�涓�
 			String field = (key.substring(0, key.length() - 6).toLowerCase().trim());
 			if (referFieldMap.containsKey(field)) {
@@ -1892,7 +1891,7 @@
 			} else {
 				return getSqlByValue(key, value, attrVOMap,btmType);
 			}
-		}
+		}*/
 
 	}
 
@@ -2183,31 +2182,32 @@
 			deleteBatchDTO.getCodeClassifyOid(), "涓婚搴撳垎绫荤殑涓婚敭");
 		CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(deleteBatchDTO.getCodeClassifyOid());
 		//鎵句笟鍔$被鍨嬶紝鐒跺悗浣跨敤涓婚敭鍘昏幏鍙栨暟鎹簱閲岀殑鏁版嵁
-		Collection<String> oidCollection = null;
+		Collection<String> oidCollection = new ArrayList<>();
 		for (Collection<String> strings : VciBaseUtil.switchCollectionForOracleIn(deleteBatchDTO.getOidList())) {
 			oidCollection.addAll(strings);
 		}
 
-		List<CodeWupin> cboList = codeWupinMapper.selectBatchIds(oidCollection);
-		//		List<ClientBusinessObject> cboList = new ArrayList<>();
-//		oidCollection.stream().forEach(oids -> {
-//			Map<String, String> conditionMap = new HashMap<>();
+//		List<CodeWupin> cboList = codeWupinMapper.selectBatchIds(oidCollection);
+		List<BaseModel> cboList = new ArrayList<>();
+		oidCollection.stream().forEach(oids -> {
+			Map<String, String> conditionMap = new HashMap<>();
 //			conditionMap.put("oid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")");
-//			List<ClientBusinessObject> cbos = boService.queryCBO(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), conditionMap);
-//			cboList.addAll(cbos);
-//		});
+			List<BaseModel> cbos = selectByTypeAndOid(classifyFullInfo.getTopClassifyVO().getBtmtypeid(),oids);
+//				boService.queryCBO(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), conditionMap);
+			cboList.addAll(cbos);
+		});
 		if (CollectionUtils.isEmpty(cboList)) {
 			throw new VciBaseException("鏁版嵁鍏ㄩ儴鍦ㄧ郴缁熶腑涓嶅瓨鍦�");
 		}
-		List<CodeWupin> editCBOs = cboList.stream().filter(s -> !CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList());
+		List<BaseModel> editCBOs = cboList.stream().filter(s -> !CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList());
 		if (!CollectionUtils.isEmpty(editCBOs)) {
-			CodeWupin cbo = editCBOs.get(0);
+			BaseModel cbo = editCBOs.get(0);
 			throw new VciBaseException("缂栫爜涓簕0}绛夊叡{1}鏉℃暟鎹殑鐘舵�佷笉鏄痆{2}]锛屼笉鍏佽鍒犻櫎", new String[]{cbo.getId(), String.valueOf(editCBOs.size()), CodeDefaultLC.EDITING.getText()});
 		}
 
 		//鍙兘鍒犻櫎鑷繁鍒涘缓鐨勬暟鎹�
-		String userId = AuthUtil.getUser().getUserName();
-		for (CodeWupin clientBusinessObject : cboList) {
+		String userId = String.valueOf(AuthUtil.getUser().getUserId());
+		for (BaseModel clientBusinessObject : cboList) {
 			String creator = clientBusinessObject.getCreator();
 			if (!userId.equalsIgnoreCase(creator)) {
 				throw new VciBaseException("缂栫爜涓�" + clientBusinessObject.getId() + "鐨勬暟鎹笉鏄綋鍓嶇敤鎴峰垱寤猴紝涓嶈兘鍒犻櫎锛�");
@@ -2219,7 +2219,14 @@
 //		WebUtil.setPersistence(false);
 //		batchCBO.copyFromOther(
 		productCodeService.recycleCode(classifyFullInfo.getCurrentClassifyVO().getBtmtypeid(), deleteBatchDTO.getOidList());
-		baseMapper.deleteBatchIds(cboList);
+//		baseMapper.deleteBatchIds(cboList);
+		//浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
+		R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getCurrentClassifyVO().getBtmtypeid()));
+		if (listR.getData().size() == 0) {
+			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+		}
+		commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(),
+			"'"+(StringUtils.join(cboList.stream().map(BaseModel::getOid).collect(Collectors.toSet()),"','"))+"'");
 		//		);
 //		WebUtil.setPersistence(true);
 //		boService.persistenceBatch(batchCBO);

--
Gitblit v1.9.3