From 2f3ddd502ceda48df79c63b3c0b5654585a04ddf Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期一, 19 六月 2023 11:38:18 +0800
Subject: [PATCH] 统一接口bug完善

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java |  254 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 164 insertions(+), 90 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 d0a25a9..b0cd1e0 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
@@ -19,6 +19,7 @@
 import com.vci.ubcs.code.mapper.CodeWupinMapper;
 import com.vci.ubcs.code.mapper.CommonsMapper;
 import com.vci.ubcs.code.service.*;
+import com.vci.ubcs.code.util.ClientBusinessObject;
 import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO;
 import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
 import com.vci.ubcs.code.vo.pagemodel.UITablePageVO;
@@ -37,6 +38,7 @@
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
 import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.util.UBCSSqlKeyword;
 import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
 import com.vci.ubcs.starter.web.constant.RegExpConstant;
 import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
@@ -58,9 +60,10 @@
 import org.slf4j.LoggerFactory;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.launch.constant.AppConstant;
-import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.Cache;
@@ -333,6 +336,7 @@
 		}
 		return comboboxKVs;
 	}
+
 	/**
 	 * 淇敼鐘舵��
 	 *
@@ -343,14 +347,6 @@
 	public void changeStatus(BaseModelDTO baseModelDTO) {
 		VciBaseUtil.alertNotNull(baseModelDTO, "鏁版嵁淇℃伅", baseModelDTO.getOid(), "涓婚敭", baseModelDTO.getBtmname(), "涓氬姟绫诲瀷", baseModelDTO.getLcStatus(), "鐩爣鐘舵��");
 		List<String> oids = VciBaseUtil.str2List(baseModelDTO.getOid());
-//		List<ClientBusinessObject> cboList = boService.selectCBOByOidCollection(oids, baseModelDTO.getBtmname());
-		// TODO 鎻掍釜鐐� 涓氬姟绫诲瀷瀹屾垚鍚庨渶瑕佷慨鏀�
-		QueryWrapper<BtmTypeVO> wrapper = new QueryWrapper<>();
-		wrapper.eq("BTMNAME",baseModelDTO.getBtmname());
-		wrapper.in("OID",oids);
-		// TODO 寰呭畬鍠�
-		//鎻掍釜鐐� 涓氬姟绫诲瀷瀹屾垚鍚庨渶瑕佷慨鏀�
-//		QueryWrapper<BtmTypeVO> wrapper = new QueryWrapper<>();
 		List<BaseModel> baseModels = new ArrayList<>();
 		baseModels = selectByTypeAndOid(baseModelDTO.getBtmname(), baseModelDTO.getOid());
 		if(baseModels.size() == 0){
@@ -370,15 +366,7 @@
 		// 鍥炴敹闇�瑕佷笟鍔℃暟鎹垹闄�
 		if (CodeDefaultLC.TASK_BACK.getValue().equals(baseModelDTO.getLcStatus())) {
 			R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(baseModelDTO.getBtmname()));
-//			String referTable = listR.getData().get(0).getTableName();
 			commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(),VciBaseUtil.toInSql(baseModelDTO.getOid()));
-			// BatchCBO batchCBO = new BatchCBO();
-			// batchCBO.getDeleteCbos().addAll(cboList);
-
-			// TODO 寰呭畬鍠�
-			//btmTypeClient.deleteBatchIds(cboList);
-
-			//boService.persistenceBatch(batchCBO);
 		} else {
 			for (BaseModel baseModel : baseModels) {
 				baseModel.setLcStatus(baseModelDTO.getLcStatus());
@@ -881,7 +869,6 @@
 		}
 		try {
 			String keyPrefix = BTM_INIT_CACHE.concat(StringPool.COLON).concat(AuthUtil.getTenantId()).concat(StringPool.COLON);
-//			String finalBtmName = btmName;
 			Cache.ValueWrapper valueWrapper = CacheUtil.getCache(keyPrefix).get(keyPrefix.concat(String.valueOf(btmName)));
 			if(valueWrapper == null){
 				CacheUtil.getCache(keyPrefix).put(keyPrefix.concat(String.valueOf(btmName)), createBaseModel(btmName));
@@ -892,69 +879,9 @@
 			logger.error("鍒涘缓涓氬姟绫诲瀷瀵硅薄",e);
 			throw new VciBaseException("initBtmError",new String[]{btmName});
 		}
-//		String userName = AuthUtil.getUser().getUserName();
-//		CodeWupin wupinEntity = new CodeWupin();
-//		wupinEntity.setOid(VciBaseUtil.getPk());
-////		bo.setRevisionid((new ObjectUtility()).getNewObjectID36());
-////		bo.setNameoid((new ObjectUtility()).getNewObjectID36());
-//		wupinEntity.setBtmname(btmName);
-//		wupinEntity.setLastR(String.valueOf(1));
-//		wupinEntity.setFirstR(String.valueOf(1));
-//		wupinEntity.setFirstV(String.valueOf(1));
-//		wupinEntity.setLastV(String.valueOf(1));
-//		wupinEntity.setCreator(userName);
-//		wupinEntity.setCreateTime(new Date());
-//		wupinEntity.setLastModifier(userName);
-//		wupinEntity.setLastModifyTime(new Date());
-//		wupinEntity.setRevisionRule("numberversionrule");
-//		wupinEntity.setVersionRule("0");
-////		if(StringUtils.isNotBlank(btmTypeVO.getRevisionruleid())){
-//			//
-////			OsRevisionRuleVO revisionRuleVO = revisionRuleService.getRevisionRuleById(btmTypeVO.getRevisionruleid());
-//		wupinEntity.setRevisionValue("1");
-////		}
-//
-//		wupinEntity.setRevisionSeq(1);
-//		wupinEntity.setVersionSeq(1);
-//		//鎻掍釜鐐癸紝闇�瑕侀棶鍕囧摜鐗堟湰闂锛屽睍绀洪粯璁や负1
-//		wupinEntity.setVersionValue("1");
-//		wupinEntity.setLctid("wupinLC");
-//		wupinEntity.setLcStatus("Editing");
-//		wupinEntity.setId("");
-//		wupinEntity.setName("");
-//		wupinEntity.setDescription("");
-//		wupinEntity.setOwner(userName);
-//		wupinEntity.setCheckinby(userName);
-//		wupinEntity.setCopyFromVersion("");
-//		wupinEntity.setMaterialtype(1001);
-//		wupinEntity.setCaigouwl("true");
-//		wupinEntity.setShifoupihaoguanli("true");
-//		wupinEntity.setKucunwl("true");
-//		wupinEntity.setXiaoshouwl("false");
-//		wupinEntity.setPassing("true");
-
-//		this.initTypeAttributeValue(wupinEntity,btmTypeVO);
-//		return wupinEntity;
-
-
-//		return cbo;
 	}
 
-	/**
-	 * 鏄惁涓轰慨鏀瑰拷鐣ョ殑灞炴��
-	 * @param attrName 灞炴�х殑鍚嶅瓧
-	 * @return true 琛ㄧず搴旇蹇界暐
-	 */
-	@Override
-	public boolean checkUnAttrUnEdit(String attrName){
-		return  (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName)
-			||"ts".equalsIgnoreCase(attrName)
-			|| "lastmodifier".equalsIgnoreCase(attrName)
-			|| "lastmodifytime".equalsIgnoreCase(attrName)
-			|| "createtime".equalsIgnoreCase(attrName)
-			|| "checkintime".equalsIgnoreCase(attrName)
-			||"checkouttime".equalsIgnoreCase(attrName));
-	}
+
 
 	/**
 	 * 淇濆瓨鍙緭鍙�夌殑淇℃伅
@@ -1731,10 +1658,10 @@
 			});
 
 			andCondtionMap.forEach((k, v) -> {
-				andSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap));
+				andSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap,btmType));
 			});
 			orConditionMap.forEach((k, v) -> {
-				orSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap));
+				orSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap,btmType));
 			});
 		}
 		//缁勫悎璧锋潵
@@ -1806,7 +1733,137 @@
 	 * @param attrVOMap     灞炴�х殑鏄犲皠
 	 * @return Sql璇彞
 	 */
-	private String getConditionSql(String key, String value, Map<String/**鍙傜収鐨勫睘鎬�**/, String/**瀹為檯鐨勫睘鎬�**/> referFieldMap, Map<String, CodeClassifyTemplateAttrVO> attrVOMap) {
+	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 (key.endsWith("_like")) {
+				String field = UBCSSqlKeyword.getColumn(key, "_like");
+				if (referFieldMap.containsKey(field)) {
+					//璇存槑杩樻槸鍙傜収閲岄潰鐨勶紝鎴戜滑榛樿杩欑鎯呭喌涓嬮兘鏄瓧绗︿覆鍚э紝鍥犱负鍙傜収鐨勫睘鎬т笉涓�瀹氱敤鐨勫钩鍙扮殑灞炴�ф睜閲岀殑锛屾墍浠ュぇ閮ㄥ垎鎯呭喌涓嬶紝鏄剧ず鐨勫睘鎬ч兘鏄瓧绗︿覆鍚�
+					return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "concat(%,"+"concat(" + value + ",%)" + SPACE;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "concat(%,"+"concat(" + 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;
+				} 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;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "concat(%,"+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;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "concat("+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;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "NO LIKE " + "concat(%,concat"+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;
+				} else {
+					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;
+				} else {
+					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;
+				} else {
+					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;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "< '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE;
+				}
+			} else if (key.endsWith("_datege")) {
+				String field = UBCSSqlKeyword.getColumn(key, "_datege");
+				if (referFieldMap.containsKey(field)) {
+					//璇存槑杩樻槸鍙傜収閲岄潰鐨勶紝鎴戜滑榛樿杩欑鎯呭喌涓嬮兘鏄瓧绗︿覆鍚э紝鍥犱负鍙傜収鐨勫睘鎬т笉涓�瀹氱敤鐨勫钩鍙扮殑灞炴�ф睜閲岀殑锛屾墍浠ュぇ閮ㄥ垎鎯呭喌涓嬶紝鏄剧ず鐨勫睘鎬ч兘鏄瓧绗︿覆鍚�
+					return referFieldMap.get(field) + SPACE + ">= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + ">= '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+				}
+			} else if (key.endsWith("_dategt")) {
+				String field = UBCSSqlKeyword.getColumn(key, "_dategt");
+				if (referFieldMap.containsKey(field)) {
+					return referFieldMap.get(field) + SPACE + "> '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "> '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+				}
+			} else if (key.endsWith("_dateequal")) {
+				String field = UBCSSqlKeyword.getColumn(key, "_dateequal");
+				if (referFieldMap.containsKey(field)) {
+					return referFieldMap.get(field) + SPACE + "= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+				}
+			} else if (key.endsWith("_datele")) {
+				String field = UBCSSqlKeyword.getColumn(key, "_datele");
+				if (referFieldMap.containsKey(field)) {
+					return referFieldMap.get(field) + SPACE + "<= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "<= '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+				}
+			} else if (key.endsWith("_datelt")) {
+				String field = UBCSSqlKeyword.getColumn(key, "_datelt");
+				if (referFieldMap.containsKey(field)) {
+					return referFieldMap.get(field) + SPACE + "< '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "< '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+				}
+			} else if (key.endsWith("_null")) {
+				String field = UBCSSqlKeyword.getColumn(key, "_null");
+				if (referFieldMap.containsKey(field)) {
+					return referFieldMap.get(field) + SPACE + "IS NULL" + SPACE;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "IS NULL" + SPACE;
+				}
+			} else if (key.endsWith("_notnull")) {
+				String field = UBCSSqlKeyword.getColumn(key, "_null");
+				if (referFieldMap.containsKey(field)) {
+					return referFieldMap.get(field) + SPACE + "IS NOT NULL" + SPACE;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "IS NOT NULL" + SPACE;
+				}
+			} else {
+				String field = UBCSSqlKeyword.getColumn(key, "_dateequal");
+				if (referFieldMap.containsKey(field)) {
+					return referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE;
+				} else {
+					return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + getStringValueInWhere(field, value, attrVOMap)+ "'" + SPACE;
+				}
+			}
+
+		}*/
 		if (key.endsWith("_begin")) {
 			//璇存槑鏄�>=鐨勩�傛垜浠渶瑕佸厛鑾峰彇涓�涓�
 			String field = (key.substring(0, key.length() - 6).toLowerCase().trim());
@@ -1829,12 +1886,11 @@
 			if (referFieldMap.containsKey(key)) {
 				//璇存槑鏄弬鐓х殑锛屾垜浠弬鐓х殑鏌ヨ閮借涓烘槸瀛楃涓诧紝濡傛灉鏄椂闂存牸寮忕殑鏌ヨ鑲畾鏈夐棶棰橈紝
 				String selectKey = referFieldMap.get(key);
-				return getSqlByValue(selectKey, value, null);
+				return getSqlByValue(selectKey, value, null,btmType);
 			} else {
-				return getSqlByValue(key, value, attrVOMap);
+				return getSqlByValue(key, value, attrVOMap,btmType);
 			}
 		}
-
 	}
 
 	/**
@@ -1893,6 +1949,24 @@
 	}
 
 	/**
+	 * 鏌ョ湅鏄惁榛樿灞炴��
+	 * @param selectKey
+	 * @param btmType
+	 * @return
+	 */
+	private boolean isDefaultAttr(String selectKey, String btmType){
+		if(StringUtils.isBlank(btmType)){
+			return false;
+		}
+		R<BtmTypeVO> r = btmTypeClient.getDefaultAttrByBtmId(btmType);
+		List<BtmTypeAttributeVO> attributes = r.getData().getAttributes();
+		if(r.getCode() != 200 || attributes.isEmpty()){
+			return false;
+		}
+		return  attributes.stream().anyMatch(item->item.getId().equals(selectKey));
+	}
+
+	/**
 	 * 灏佽鏈�缁堢殑sql璇彞涓殑鍊奸儴鍒�
 	 *
 	 * @param selectKey 鏌ヨ鐨勫瓧娈�
@@ -1900,12 +1974,12 @@
 	 * @param attrVOMap 灞炴�х殑鏄剧ず瀵硅薄鏄犲皠
 	 * @return sql閲岀殑鍊�
 	 */
-	private String getSqlByValue(String selectKey, String value, Map<String, CodeClassifyTemplateAttrVO> attrVOMap) {
+	private String getSqlByValue(String selectKey, String value, Map<String, CodeClassifyTemplateAttrVO> attrVOMap,String btmType) {
 		StringBuilder sql = new StringBuilder();
-		// TODO 寰呭畬鍠�
-		//	if (!selectKey.contains(".") && (attrVOMap.containsKey(selectKey.toLowerCase(Locale.ROOT)) || attributeService.isDefaultAttr(selectKey) || selectKey.matches(RegExpConstant.LETTER))) {
-		//		sql.append("t.");
-		//	}
+		// TODO 宸插畬鍠�
+		if (!selectKey.contains(".") && (attrVOMap.containsKey(selectKey.toLowerCase(Locale.ROOT)) || isDefaultAttr(selectKey,btmType) || selectKey.matches(RegExpConstant.LETTER))) {
+			sql.append("t.");
+		}
 		if (value.startsWith(QueryOptionConstant.IN)) {
 			sql.append(selectKey)
 				.append(SPACE)

--
Gitblit v1.9.3