From cca29ef0f3592879731abff315ced6bb7c4e5e6a Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期一, 17 七月 2023 10:14:11 +0800
Subject: [PATCH] 集成获取分类接口(包含编码规则码段码值信息)

---
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSrchCondConfigVO.java  |   31 ++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java                       |   51 +++++-
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java                            |  112 ++++++++++++++++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CoderefersecSearchVO.java  |   55 +++++++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/data.json                                              |   98 ++++++++++++++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeShowFieldConfigVO.java |   37 +++++
 6 files changed, 372 insertions(+), 12 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/data.json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/data.json
new file mode 100644
index 0000000..cf99df6
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/data.json
@@ -0,0 +1,98 @@
+{
+  "codeSrchCondConfigVOS": [
+    {
+      "filterField": "tuhao",
+      "filterType": "equal",
+      "filterTypeText": "",
+      "filterValue": "777",
+      "$cellEdit": false,
+      "$index": 0,
+      "$filterType": "绛変簬"
+    },
+    {
+      "filterField": "jzrxx",
+      "filterType": "_like",
+      "filterTypeText": "",
+      "filterValue": "66",
+      "$cellEdit": false,
+      "$index": 1,
+      "$filterType": "鍖呭惈"
+    }
+  ],
+  "codeShowFieldConfigVOS": [
+    {
+      "field": "id",
+      "title": "缂栧彿",
+      "fieldType": "text",
+      "fieldTypeText": "鏂囨湰妗�",
+      "sort": true,
+      "attrSortField": "id",
+      "width": "150",
+      "isquery": true,
+      "$cellEdit": false,
+      "$index": 0,
+      "$fieldTypeText": "鏂囨湰妗�",
+      "$fixedPosition": ""
+    },
+    {
+      "field": "name",
+      "title": "鍚嶇О",
+      "fieldType": "text",
+      "fieldTypeText": "鏂囨湰妗�",
+      "sort": true,
+      "attrSortField": "name",
+      "width": "180",
+      "isquery": true,
+      "$cellEdit": false,
+      "$index": 1,
+      "$fieldTypeText": "鏂囨湰妗�",
+      "$fixedPosition": ""
+    },
+    {
+      "field": "name",
+      "title": "鍚嶇О",
+      "fieldType": "text",
+      "fieldTypeText": "鏂囨湰妗�",
+      "sort": false,
+      "attrSortField": "name",
+      "width": 150,
+      "isquery": false,
+      "$cellEdit": false,
+      "$index": 2,
+      "$fieldTypeText": "鏂囨湰妗�",
+      "$fixedPosition": ""
+    },
+    {
+      "field": "lastmodifier",
+      "title": "鏈�鍚庢椂闂翠汉",
+      "fieldType": "text",
+      "fieldTypeText": "鏂囨湰妗�",
+      "sort": false,
+      "attrSortField": "lastmodifier",
+      "width": 150,
+      "isquery": false,
+      "$cellEdit": false,
+      "$index": 3,
+      "$fieldTypeText": "鏂囨湰妗�",
+      "$fixedPosition": ""
+    }
+  ],
+  "referTypeName": "wupin",
+  "referType": "wupin",
+  "textField": "name",
+  "valueField": "oid",
+  "type": "default",
+  "url": "http://localhost:38000/api/ubcs-code/codeSyncUniversalController/queryClassifyRule",
+  "backPath": "http://localhost:38000/api",
+  "method": "POST",
+  "height": "",
+  "useFormKey": "",
+  "paramForFormKey": "",
+  "isMuti": false,
+  "mapFields": "",
+  "isOpenGlobal": true,
+  "isPersistence": false,
+  "limit": 15,
+  "sortField": "",
+  "sortType": ""
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeShowFieldConfigVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeShowFieldConfigVO.java
new file mode 100644
index 0000000..922c5e0
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeShowFieldConfigVO.java
@@ -0,0 +1,37 @@
+package com.vci.ubcs.code.vo.webserviceModel.coderule;
+
+import lombok.Data;
+
+@Data
+public class CodeShowFieldConfigVO {
+	private String	field;// id,
+	private String	title;// 缂栧彿,
+	private String	fieldType;// text,
+	private String	fieldTypeText;// 鏂囨湰妗�,
+	private boolean sort;// true,
+	private String	attrSortField;// id,
+	private String	width;// 150,
+	private boolean	isquery;// true,
+	private boolean	$cellEdit;// false,
+	private int	$index;// 0,
+	private String	$fieldTypeText;// 鏂囨湰妗�,
+	private String	$fixedPosition;// ""
+
+	@Override
+	public String toString() {
+		return "CodeShowFieldConfigVO{" +
+			"field='" + field + '\'' +
+			", title='" + title + '\'' +
+			", fieldType='" + fieldType + '\'' +
+			", fieldTypeText='" + fieldTypeText + '\'' +
+			", sort=" + sort +
+			", attrSortField='" + attrSortField + '\'' +
+			", width='" + width + '\'' +
+			", isquery=" + isquery +
+			", $cellEdit=" + $cellEdit +
+			", $index=" + $index +
+			", $fieldTypeText='" + $fieldTypeText + '\'' +
+			", $fixedPosition='" + $fixedPosition + '\'' +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSrchCondConfigVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSrchCondConfigVO.java
new file mode 100644
index 0000000..e7d7edf
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CodeSrchCondConfigVO.java
@@ -0,0 +1,31 @@
+package com.vci.ubcs.code.vo.webserviceModel.coderule;
+
+import lombok.Data;
+
+/***
+ * @author xj
+ * @date 2023-07-13
+ */
+@Data
+public class CodeSrchCondConfigVO {
+	private String filterField;
+	private String filterType;
+	private String filterTypeText;
+	private String filterValue;
+	private boolean $cellEdit;
+	private int $index;
+	private String $filterType;
+
+	@Override
+	public String toString() {
+		return "codeSrchCondConfigVO{" +
+			"filterField='" + filterField + '\'' +
+			", filterType='" + filterType + '\'' +
+			", filterTypeText='" + filterTypeText + '\'' +
+			", filterValue='" + filterValue + '\'' +
+			", $cellEdit='" + $cellEdit + '\'' +
+			", $index='" + $index + '\'' +
+			", $filterType='" + $filterType + '\'' +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CoderefersecSearchVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CoderefersecSearchVO.java
new file mode 100644
index 0000000..7fbc480
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/CoderefersecSearchVO.java
@@ -0,0 +1,55 @@
+package com.vci.ubcs.code.vo.webserviceModel.coderule;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CoderefersecSearchVO {
+	private List<CodeSrchCondConfigVO> codeSrchCondConfigVOS;
+	private List<CodeShowFieldConfigVO> codeShowFieldConfigVOS;
+	private String referTypeName;// wupin,
+	private String referType;//wupin,
+	private String textField;// name,
+	private String valueField;//oid,
+	private String type;// default,
+	private String url;// http://localhost:38000/api/ubcs-code/codeSyncUniversalController/queryClassifyRule,
+	private String backPath;// http://localhost:38000/api,
+	private String method;// POST,
+	private String height;// ,
+	private String useFormKey;
+	private String paramForFormKey;
+	private boolean isMuti;// false,
+	private String mapFields;// ,
+	private boolean isOpenGlobal;// true,
+	private boolean isPersistence;// false,
+	private int limit;// 15,
+	private String sortField;// ,
+	private String sortType;// ""
+
+	@Override
+	public String toString() {
+		return "CoderefersecSearchVO{" +
+			"codeSrchCondConfigVOS=" + codeSrchCondConfigVOS +
+			", codeShowFieldConfigVOS=" + codeShowFieldConfigVOS +
+			", referTypeName='" + referTypeName + '\'' +
+			", referType='" + referType + '\'' +
+			", textField='" + textField + '\'' +
+			", valueField='" + valueField + '\'' +
+			", type='" + type + '\'' +
+			", url='" + url + '\'' +
+			", backPath='" + backPath + '\'' +
+			", method='" + method + '\'' +
+			", height='" + height + '\'' +
+			", useFormKey='" + useFormKey + '\'' +
+			", paramForFormKey='" + paramForFormKey + '\'' +
+			", isMuti=" + isMuti +
+			", mapFields='" + mapFields + '\'' +
+			", isOpenGlobal=" + isOpenGlobal +
+			", isPersistence=" + isPersistence +
+			", limit=" + limit +
+			", sortField='" + sortField + '\'' +
+			", sortType='" + sortType + '\'' +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java
index 71ae42e..7a2fbf4 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java
@@ -1,8 +1,12 @@
 package com.vci.ubcs.starter.util;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.enums.SqlKeyword;
+import com.baomidou.mybatisplus.core.enums.SqlLike;
+import com.baomidou.mybatisplus.core.toolkit.sql.SqlUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.vci.ubcs.starter.web.util.VciDateUtil;
+import javafx.scene.input.DataFormat;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
@@ -41,6 +45,114 @@
 	public UBCSSqlKeyword() {
 	}
 
+	private static String  likeValueSqlwhere(String field, Object value, SqlLike operation){
+		String sqlwhere="";
+		switch(operation) {
+			case LEFT:
+				return sqlwhere = field +" "+SqlKeyword.LIKE.getSqlSegment() +" '%" + value.toString() + "' ";
+			case RIGHT:
+				sqlwhere=field+" "+SqlKeyword.LIKE.getSqlSegment() +" '"+value.toString()+"%' ";
+			case DEFAULT:
+				return  sqlwhere=field+" "+SqlKeyword.LIKE.getSqlSegment() +" '%"+value.toString()+"%' ";
+		}
+		return sqlwhere;
+	}
+	private static String sqlKeywordValueSqlwhere(String field, Object value, SqlKeyword operation){
+		String sqlwhere="";
+		switch(operation) {
+			case	IN://"IN"),
+				return sqlwhere=field+" "+SqlKeyword.IN.getSqlSegment() +"('"+value.toString()+"')";
+			case	NOT_IN://"NOT IN"),
+				sqlwhere=field+" "+SqlKeyword.NOT_IN.getSqlSegment()  +"('"+value.toString()+"')";
+			//case	LIKE://"LIKE"),
+			case	NOT_LIKE://"NOT LIKE"),
+				return sqlwhere=field+" "+SqlKeyword.NOT_LIKE.getSqlSegment() +" '%"+value+"%' ";
+			case	EQ://"="),
+				return sqlwhere=field+" "+SqlKeyword.EQ.getSqlSegment() +" '"+value.toString()+"' ";
+			case	NE://"<>"),
+				return sqlwhere=field+ " "+SqlKeyword.NE.getSqlSegment() +" '"+value.toString()+"' ";
+			case	GT://">"),
+				return sqlwhere=field+ " "+SqlKeyword.GT.getSqlSegment()  +" '"+value.toString()+"' ";
+			case	GE://">="),
+				return sqlwhere=field+ " "+SqlKeyword.GE.getSqlSegment() +" '"+value.toString()+"' ";
+			case	LT://"<"),
+				return sqlwhere=field+ " "+SqlKeyword.LT.getSqlSegment() +" '"+value.toString()+"' ";
+			case	LE://"<="),
+				return sqlwhere=field+" "+ SqlKeyword.LE.getSqlSegment() +" '"+value.toString()+"' ";
+			case	IS_NULL://"IS NULL"),
+				return sqlwhere=field+" IS NULL ";
+			case	IS_NOT_NULL://"IS NOT NULL"),
+				return sqlwhere=field+" IS NOT NULL ";
+		}
+		return sqlwhere;
+	}
+	private static String  dateValueSqlwhere(String field, Object value, SqlKeyword operation){
+		String sqlwhere="";
+		switch(operation) {
+			case	EQ://"="),
+				return sqlwhere=field+" "+SqlKeyword.EQ.getSqlSegment() +"  to_date('"+value.toString()+"','yyyy-MM-dd HH:mm:ss') ";
+			case	NE://"<>"),
+				return sqlwhere=field+ " "+SqlKeyword.NE.getSqlSegment() +"  to_date('"+value.toString()+"','yyyy-MM-dd HH:mm:ss') ";
+			case	GT://">"),
+				return sqlwhere=field+ " "+SqlKeyword.GT.getSqlSegment()  +"  to_date('"+value.toString()+"','yyyy-MM-dd HH:mm:ss') ";
+			case	GE://">="),
+				return sqlwhere=field+ " "+SqlKeyword.GE.getSqlSegment() +"  to_date('"+value.toString()+"','yyyy-MM-dd HH:mm:ss') ";
+			case	LT://"<"),
+				return sqlwhere=field+ " "+SqlKeyword.LT.getSqlSegment()+"  to_date('"+value.toString()+"','yyyy-MM-dd HH:mm:ss') ";
+			case	LE://"<="),
+				return sqlwhere=field+" "+ SqlKeyword.LE.getSqlSegment() +"  to_date('"+value.toString()+"','yyyy-MM-dd HH:mm:ss') ";
+		}
+		return sqlwhere;
+	}
+	public static String buildSqlwhere(Map<String, Object> query) {
+		StringBuffer sb=new StringBuffer();
+		if (!Func.isEmpty(query)) {
+
+			query.forEach((k, v) -> {
+				sb.append(" and ");
+				if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) {
+					if (k.endsWith(LIKE)) {
+						sb.append(likeValueSqlwhere(getColumn(k,LIKE),v,SqlLike.DEFAULT));
+					} else if (k.endsWith(NOT_EQUAL)) {
+						sb.append(sqlKeywordValueSqlwhere(getColumn(k,NOT_EQUAL), v,SqlKeyword.NE));
+					} else if (k.endsWith(LIKE_LEFT)) {
+						sb.append(likeValueSqlwhere(getColumn(k,LIKE_LEFT),v,SqlLike.LEFT));
+					} else if (k.endsWith(LIKE_RIGHT)) {
+						sb.append(likeValueSqlwhere(getColumn(k,LIKE_RIGHT),v,SqlLike.RIGHT));
+					} else if (k.endsWith(NOT_LIKE)) {
+						sb.append(sqlKeywordValueSqlwhere(getColumn(k,NOT_LIKE), v,SqlKeyword.NOT_LIKE));
+					} else if (k.endsWith(GE)) {
+						sb.append(sqlKeywordValueSqlwhere(getColumn(k,GE), v,SqlKeyword.GE));
+					} else if (k.endsWith(LE)) {
+						sb.append(sqlKeywordValueSqlwhere(getColumn(k,LE), v,SqlKeyword.LE));
+					} else if (k.endsWith(GT)) {
+						sb.append(sqlKeywordValueSqlwhere(getColumn(k,GT), v,SqlKeyword.GT));
+					} else if (k.endsWith(LT)) {
+						sb.append(sqlKeywordValueSqlwhere(getColumn(k,LT), v,SqlKeyword.LT));
+					} else if (k.endsWith(DATE_GE)) {
+						sb.append(dateValueSqlwhere(getColumn(k,DATE_GE),v,SqlKeyword.GE));
+					} else if (k.endsWith(DATE_GT)) {
+						sb.append(dateValueSqlwhere(getColumn(k,DATE_GT),v,SqlKeyword.GT));
+					} else if (k.endsWith(DATE_EQUAL)) {
+						sb.append(dateValueSqlwhere(getColumn(k,DATE_EQUAL),v,SqlKeyword.EQ));
+					} else if (k.endsWith(DATE_LE)) {
+						sb.append(dateValueSqlwhere(getColumn(k,DATE_LE),v,SqlKeyword.LE));
+					} else if (k.endsWith(DATE_LT)) {
+						sb.append(dateValueSqlwhere(getColumn(k,DATE_LT),v,SqlKeyword.LT));
+					} else if (k.endsWith(IS_NULL)) {
+						sb.append(sqlKeywordValueSqlwhere(getColumn(k,IS_NULL), v,SqlKeyword.IS_NULL));
+					} else if (k.endsWith(NOT_NULL)) {
+						sb.append(sqlKeywordValueSqlwhere(getColumn(k,NOT_NULL), v,SqlKeyword.IS_NOT_NULL));
+					} else {
+						sb.append(sqlKeywordValueSqlwhere(getColumn(k,EQUAL), v,SqlKeyword.EQ));
+					}
+
+				}
+			});
+		}
+
+		return sb.toString();
+	}
 	public static void buildCondition(Map<String, Object> query, QueryWrapper<?> qw) {
 		if (!Func.isEmpty(query)) {
 			query.forEach((k, v) -> {
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
index ebda882..bad631d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -3,6 +3,7 @@
 import com.alibaba.cloud.commons.lang.StringUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.thoughtworks.xstream.XStream;
 import com.thoughtworks.xstream.io.xml.DomDriver;
@@ -11,10 +12,7 @@
 import com.vci.ubcs.code.dto.CodeOrderDTO;
 import com.vci.ubcs.code.dto.CodeOrderSecDTO;
 import com.vci.ubcs.code.entity.*;
-import com.vci.ubcs.code.enumpack.CodeDefaultLC;
-import com.vci.ubcs.code.enumpack.CodeSecTypeEnum;
-import com.vci.ubcs.code.enumpack.SysIntegrationDataFlowTypeEnum;
-import com.vci.ubcs.code.enumpack.sysIntegrationPushTypeEnum;
+import com.vci.ubcs.code.enumpack.*;
 import com.vci.ubcs.code.mapper.CommonsMapper;
 import com.vci.ubcs.code.service.*;
 import com.vci.ubcs.code.util.ClientBusinessObject;
@@ -39,10 +37,11 @@
 import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
 import com.vci.ubcs.omd.feign.IBtmTypeClient;
 import com.vci.ubcs.omd.vo.BtmTypeVO;
+import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.model.BaseModel;
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
-import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
+import com.vci.ubcs.starter.util.UBCSSqlKeyword;
 import com.vci.ubcs.starter.web.pagemodel.SessionInfo;
 import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
@@ -56,9 +55,7 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.stream.Collectors;
 
-import static com.vci.ubcs.code.constant.MdmDuckingConstant.DOCKING_DEFAULT_CLASSIFY;
 import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST;
-import static com.vci.ubcs.code.constant.MdmEngineConstant.IMPORT_ROW_INDEX;
 import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC;
 
 /***
@@ -857,12 +854,12 @@
 			List<String> classifyIdList=  libraryVO.getClassifyid();
 			List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>();
 
-			//鏍¢獙鏄惁閰嶇疆
+			/*//鏍¢獙鏄惁閰嶇疆
 			boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILYRULE.getValue());
 			if(!checkPass){
 				errorid="101";
 				throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,"+sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILYRULE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒");
-			}
+			}*/
 			//杩欐槸璐﹀彿淇℃伅
 			//杩欐槸璐﹀彿淇℃伅
 			if(userVo!=null) {
@@ -949,10 +946,40 @@
 								}else if(secType.equals("coderefersec")){//寮曠敤鐮佹
 									codeBasicSecVO.getReferAttributeId();
 									codeBasicSecVO.getReferCodeClassifyOid();
-									codeBasicSecVO.getReferBtmId();
-									codeBasicSecVO.getReferBtmName();
-									//codeBasicSecVO.getReferValueInfo();
+									String referBtmId=codeBasicSecVO.getReferBtmId();
+									String btmName=codeBasicSecVO.getReferBtmName();
+									String referConfig= codeBasicSecVO.getReferConfig();
+									CoderefersecSearchVO coderefersecSearchVO=new CoderefersecSearchVO();
+									if(StringUtils.isNotBlank(referConfig)){
+										coderefersecSearchVO = JSONObject.toJavaObject(JSONObject.parseObject(referConfig), CoderefersecSearchVO.class);
+									}
+									String buildSqlwhere="";
+									if(coderefersecSearchVO!=null){
+										Map<String,Object> condtionMap=new HashMap<>();
+										List<CodeSrchCondConfigVO> codeSrchCondConfigVOList=coderefersecSearchVO.getCodeSrchCondConfigVOS();
 
+										if(!CollectionUtils.isEmpty(codeSrchCondConfigVOList)) {
+											codeSrchCondConfigVOList.stream().forEach(codeSrchCondConfigVO -> {
+												condtionMap.put(codeSrchCondConfigVO.getFilterField()+codeSrchCondConfigVO.getFilterType(),codeSrchCondConfigVO.getFilterValue());
+											});
+											buildSqlwhere=	UBCSSqlKeyword.buildSqlwhere(condtionMap);
+										}
+									}
+									//浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
+									R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referBtmId));
+									if (!listR.isSuccess() || listR.getData().size() == 0) {
+										throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+									}
+									String referTable = listR.getData().get(0).getTableName();
+									StringBuffer sb=new StringBuffer();
+									sb.append(" select * from  ");
+									sb.append(referTable);
+									sb.append(" where 1=1  ");
+									if(StringUtils.isNotBlank(buildSqlwhere)){
+										sb.append( buildSqlwhere );
+									}
+									List<Map> ListMap=	commonsMapper.selectBySql(sb.toString());
+									log.info(libId);
 								}else if(secType.equals("codelevelsec")) {//灞傜骇鐮佹
 									int level = codeBasicSecVO.getCodeLevelValue();
 									CodeClassifyVO levelCodeClassifyVO = new CodeClassifyVO();

--
Gitblit v1.9.3