From 8b34692ac1b7cf58a1e1ead92b930d9acb9f86f6 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 02 八月 2023 00:18:29 +0800
Subject: [PATCH] PDM集成swing界面相关功能开发

---
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpUtil.java                      |    2 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/Page.java                         |  241 ++++++++++
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpClient3.java                   |    2 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410MainPanel.java            |   54 +
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java                  |    5 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/MdmEngineConstant.java             |  112 ++++
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java       |   92 +++
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialog.java               |   41 +
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java |   57 ++
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpClient.java                    |    2 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/AttarSearchPanel.java                    |  163 +++++++
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/attarSearchPanel.java                    |   23 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/OrderItem.java                    |   98 ++++
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/BaseModel.java                    |  320 +++++++++++++
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/httpClient4.java                   |    2 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/IPage.java                        |   71 +++
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410TreePanel.java            |    4 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanel.java                   |   51 +
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410.java                |    4 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelActionListener.java     |   13 
 20 files changed, 1,281 insertions(+), 76 deletions(-)

diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/AttarSearchPanel.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/AttarSearchPanel.java
new file mode 100644
index 0000000..d132291
--- /dev/null
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/AttarSearchPanel.java
@@ -0,0 +1,163 @@
+package com.vci.ubcs.codeapply;
+
+import com.vci.base.ui.swing.VCISwingUtil;
+import com.vci.base.ui.swing.components.VCIJButton;
+import com.vci.base.ui.swing.components.VCIJLabel;
+import com.vci.base.ui.swing.components.VCIJPanel;
+import com.vci.base.ui.swing.components.VCIJTextField;
+import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeShowFieldConfigVO;
+import com.vci.ubcs.codeapply.object.UIFormRefer;
+import org.apache.commons.collections4.CollectionUtils;
+
+import java.awt.*;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Set;
+
+public class attarSearchPanel extends VCIJPanel {
+
+	private LinkedHashMap<String , VCIJTextField> attrInerNameValMap = new LinkedHashMap<String,VCIJTextField>();
+	private UIFormRefer uiFormRefer;
+	public attarSearchPanel(UIFormRefer uiFormRefer){
+		this.uiFormRefer = uiFormRefer;
+		init();
+	}
+	private void init(){
+		initcomponam();
+	}
+	private void initcomponam(){
+		this.setLayout(new GridBagLayout());
+		setAttrSearch();
+		this.setVisible(true);
+	}
+
+	/**
+	 *
+	 * <p>鎶婂熀鏈睘鎬т俊鎭垵濮嬪寲鍒扮粍浠朵笂闈€�傚苟淇濆瓨灞炴�у埌Map锛堝睘鎬у唴閮ㄥ悕绉�--textField锛変腑</p>
+	 *
+	 * @time 2013-3-17
+	 */
+	private void setAttrSearch(){
+		List<CodeShowFieldConfigVO> codeShowFieldConfigVOS=this.uiFormRefer.getCodeShowFieldConfigVOS();
+		if(!CollectionUtils.isEmpty(codeShowFieldConfigVOS)){
+			CodeShowFieldConfigVO[] objs=codeShowFieldConfigVOS.toArray(new CodeShowFieldConfigVO []{});
+			GridBagConstraints cons = new GridBagConstraints(0, 0, 1, 1, 0.0, 1.0, GridBagConstraints.EAST , GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0);
+			for(int i = 0 ;i<objs.length;i++){
+				if(cons.gridx  == 1 ){
+					cons.gridwidth = GridBagConstraints.REMAINDER;
+					cons.anchor = GridBagConstraints.WEST;
+				}else if(cons.gridx >1){
+					cons.gridx = 0;
+					cons.anchor = GridBagConstraints.EAST;
+					cons.gridy++;
+					cons.gridwidth = 1;
+				}
+				VCIJPanel oneSearch = new VCIJPanel();
+				oneSearch.setLayout(new FlowLayout(FlowLayout.RIGHT));
+				String attrName = objs[i].getTitle();
+
+				VCIJLabel attarLabel = new VCIJLabel(attrName+":");
+				VCIJTextField attrText = new VCIJTextField("");
+				attrInerNameValMap.put(objs[i].getField(), attrText);
+				attrText.setPreferredSize(new Dimension(300, 30));
+				oneSearch.add(attarLabel);
+				oneSearch.add(attrText);
+				cons.gridx++;
+				this.add(oneSearch,cons);
+			}
+		}
+	}
+
+	/**
+	 *
+	 * <p>杩斿洖鍚勪釜灞炴�х粡杩囨嫾鎺ュ悗鐨勬煡璇QL璇彞</p>
+	 *
+	 * @time 2013-3-17
+	 * @return
+	 */
+	public  String getAttrSearchFilterString(){
+		String result = "";
+		StringBuilder sql  = new StringBuilder();
+		Set<String> keys = attrInerNameValMap.keySet();
+		for (Iterator it = keys.iterator(); it.hasNext();) {
+			String key = (String)it.next();
+			VCIJTextField textField = 	attrInerNameValMap.get(key);
+			String message = textField.getText().replaceAll(" ", "").trim();
+			if(message.equals("")) continue;
+			String text = getTextQueryVal(message);
+			sql.append(" "+key+" ");
+			sql.append("  like ");
+			sql.append("'"+text+"'");
+			sql.append(" and");
+		}
+		if(sql.length() != 0){
+			result =  sql.substring(0, sql.lastIndexOf("and"));
+		}
+		return result;
+	}
+
+	/**
+	 *
+	 * <p>鏍规嵁鏂囨湰妗嗚緭鍏ュ唴瀹癸紝鏋勯�犳煡璇㈡潯浠躲��
+	 * 	杩囪檻缁撴灉锛� 1銆佸綋鍐呭鏄� 浠�*寮�澶达紝濡�'*abc',鍒欒繑鍥炲唴瀹�"%abc"锛�
+	 * 		   2銆佸綋鍐呭浠�*缁撴潫锛屽"abc*"锛屽垯杩斿洖鍐呭"abc%"锛�
+	 * 		   3銆佸綋鍐呭涓棿鍖呭惈*锛屽"abc*def"锛屽垯杩斿洖鍐呭"abc%def"锛�
+	 * 		   4銆佽緭鍏ョ殑鍐呭濡傛灉鏄┖锛屽垯杩斿洖"%"
+	 * 		   5銆佸叾浠栨儏鍐靛潎杩斿洖鍐呭鏈韩
+	 * </p>
+	 * @time 2013-3-17
+	 * @param text
+	 * @return
+	 */
+	private String getTextQueryVal(String text){
+		if(text.equals("")){
+			return "%";
+		}
+		StringBuilder result = new StringBuilder();
+		// update by xchao 2013.05.21 begin
+		// 鏀寔鏇寸伒娲荤殑鎼滅储
+		// 涓绘�濇兂鎺у埗閫昏緫
+		// 1銆佸皢杈撳叆鐨勬潯浠朵腑鐨�*鏇挎崲涓�%锛孹XX*XXX-> XXX%XXX
+		// 2銆佸鏋滆緭鍏ョ殑鏉′欢涓嶅寘鍚�*锛屽垯鍦ㄦ潯浠剁殑鍓嶅悗閮藉姞涓�%锛屼互瀹屾垚鍏ㄦā绯婏紝'%XXX%'
+		// 3銆佸墠闈笉杈撳叆*銆佸悗闈笉杈撳叆*涓庝箣鍓嶄竴鑷�
+		// 	鍗筹細鍓嶉潰涓嶅寘鍚�*锛屽垯琛ㄦ槑鏌ヨ鐨勬槸鈥樹互XXX寮�澶粹�欑殑鏁版嵁锛�'XXX%'
+		// 		鍚庨潰涓嶅寘鍚�*锛屽垯琛ㄩ潰鏌ヨ鐨勬槸鈥樹互XXX缁撴潫鈥欑殑鏁版嵁锛�'%XXX'
+		// 4銆�
+		if(text.indexOf("*") >= 0){
+//			result.append(text.replace("*", "%"));
+			// 涓嬪彞鍙互鏀寔涓棿*
+			result.append("%").append(text.replace("*", "%")).append("%");
+		} else {
+			result.append("%").append(text).append("%");
+		}
+		// update by xchao 2013.05.21 end
+
+//		int midel = text.lastIndexOf("*");
+//		if(text.startsWith("*")){
+//			result.append("%");
+//			result.append(text.substring(1));
+//		}else if(text.endsWith("*")){
+//			result.append(text.substring(0, text.length()-1));
+//			result.append("%");
+//		}else if(midel > 0){
+//			String before = text.substring(0, midel);
+//			result.append(before);
+//			result.append("%");
+//			String after = text.substring(midel+1);
+//			result.append(after);
+//		}else{
+//			result.append(text);
+//		}
+		return result.toString();
+	}
+	public void clear(){
+		Set<String> keys = attrInerNameValMap.keySet();
+		for (Iterator it = keys.iterator(); it.hasNext();) {
+			String key = (String)it.next();
+			VCIJTextField textField = 	attrInerNameValMap.get(key);
+			textField.setText("");
+		}
+
+	}
+}
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410MainPanel.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410MainPanel.java
index a28ca65..fbcbe95 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410MainPanel.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410MainPanel.java
@@ -11,12 +11,12 @@
 import com.vci.ubcs.codeapply.swing.RealTextField;
 import com.vci.ubcs.codeapply.swing.VCIJComboxBox;
 import com.vci.ubcs.codeapply.utils.ConfigUtils;
+import com.vci.ubcs.codeapply.utils.HttpUtil;
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
 import com.vci.ubcs.starter.web.pagemodel.KeyValue;
 import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import com.vci.ubcs.system.user.entity.User;
-import net.bytebuddy.implementation.bytecode.Throw;
 import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
 import org.apache.commons.collections4.CollectionUtils;
 
@@ -147,7 +147,7 @@
 		/**绯荤粺鍙姞杞戒唬鐮侀」  濡傛灉libName涓嶄负绌猴紝鐩存帴鑾峰彇瀵瑰簲鐨勪唬鐮侀」**/
 		Map<String,String> condtionMap=new HashMap<>();
 		condtionMap.put("codeClassId", rmType.getOid());
-		R r=HttpUtil.sendGet(url+"/getCodeRuleByClassifyFullInfo",condtionMap,new HashMap<>());
+		R r= HttpUtil.sendGet(url+"/getCodeRuleByClassifyFullInfo",condtionMap,new HashMap<>());
 		CodeRuleVO codeRuleVO=new CodeRuleVO();
 		if(r.isSuccess()){
 			Object object= r.getData();
@@ -1012,6 +1012,16 @@
 				cbx.setModel(model);
 				compt = cbx;
 			}
+		} else if(StringUtils.isNotBlank(attrObj.getReferConfig())){//鍙傜収鐨勯渶瑕佽缃垚涓嬫媺妗嗭紝骞朵笖鍙
+			VCIJComboBox cbx = new VCIJComboBox();
+			DefaultComboBoxModel model = new DefaultComboBoxModel();
+			KeyValue keyValue = new KeyValue();
+			keyValue.setValue("");
+			keyValue.setKey("");
+			AttrRangObjectWarper wrapper = new AttrRangObjectWarper(keyValue);
+			model.addElement(wrapper);
+			cbx.setModel(model);
+			compt = cbx;
 		} else { // 涓嶅瓨鍦ㄥ彇鍊艰寖鍥村垯鎸夌被鍨嬬敓鎴愪笉鍚岀殑鎺т欢
 			 if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTBoolean)) { // Boolean绫诲瀷
 				VCIJComboBox cbx = new VCIJComboBox();
@@ -1212,37 +1222,39 @@
 			ownerDialog = new VCIJDialog();
 			ownerDialog.setSize(880, 500);
 		}*/
-		final String referTempId = tempPropObj.getReferBtmId();
+		//final String referTempId = tempPropObj.getReferBtmId();
 		final RMDataReferTempDialog dialog = new RMDataReferTempDialog(this,tempPropObj);
 		dialog.setDialogCallback(new Runnable() {
 			@Override
 			public void run() {
-				/*LinkedList<RMDataObject> list = dialog.getRMDataMainPanel().getTablePanel().getSelectedRowObjects();
-				if(dialog.isFromTableDoubleClick()){
+				KeyValue keyValue=new KeyValue();
+				/*if(dialog.isFromTableDoubleClick()){
 					int index = dialog.getRMDataMainPanel().getTablePanel().getTable().getSelectedRow();
 					list.clear();
 					list.add(dialog.getRMDataMainPanel().getTablePanel().getTableModel().getList().get(index).getObject());
-				}
-
-				RMDataObject rmDataObj = list.get(0);//閫夋嫨鐨勫紩鐢ㄦā鏉挎暟鎹�
-				LinkedHashMap<String, Integer> innnerNamesMaps = rmDataObj.getInnerNameIndexMap();
-				String[] datas = rmDataObj.getDatas();
-				for(CodeClassifyTemplateAttrVO obj : tempPropList) {
-					if(obj.getReferTempId().equals(referTempId)) {
-						AttributeObject attrObj = getAttrObjById(obj.getReferAttrId());
-						JComponent comp = attrIdToCtrlMaps.get(obj.getId());
-						if(comp instanceof VCIJTextField) {
-							int index = innnerNamesMaps.get(attrObj.getInternalname());
+				}*/
+				keyValue= dialog.getKeyValue();
+				//for(CodeClassifyTemplateAttrVO obj : tempPropList) {
+					if(attrIdToCtrlMaps.containsKey(tempPropObj.getId())) {
+						JComponent comp = attrIdToCtrlMaps.get(tempPropObj.getId());
+						/*if(comp instanceof VCIJTextField) {
+							int index = innnerNamesMaps.get(tempPropObj.getInternalname());
 							((VCIJTextField) comp).setText(datas[index]);
 						}else if (comp instanceof VCIJCalendarPanel) {
-							int index = innnerNamesMaps.get(attrObj.getInternalname());
+							int index = innnerNamesMaps.get(tempPropObj.getInternalname());
 							((VCIJCalendarPanel) comp).setDateString(datas[index]);
-						} else if (comp instanceof VCIJComboBox) {
-							int index = innnerNamesMaps.get(attrObj.getId());
-							((VCIJComboBox) comp).setSelectedIndex(index);
+						} else */
+						if (comp instanceof VCIJComboBox) {
+							//DefaultComboBoxModel model = new DefaultComboBoxModel();
+							if(keyValue!=null) {
+								AttrRangObjectWarper wrapper = new AttrRangObjectWarper(keyValue);
+								((VCIJComboBox) comp).getModel().setSelectedItem(wrapper);
+							}
+							//model.addElement(wrapper);
+ 							//((VCIJComboBox) comp).setModel(model);
 						}
 					}
-				}*/
+				//}
 
 			}
 		});
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410TreePanel.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410TreePanel.java
index 9aa335b..20df2fa 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410TreePanel.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410TreePanel.java
@@ -2,7 +2,6 @@
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.vci.base.ui.exception.VCIException;
 import com.vci.base.ui.swing.VCIOptionPane;
 import com.vci.base.ui.swing.components.VCIJPanel;
 import com.vci.base.ui.tree.VCIBaseTree;
@@ -11,6 +10,7 @@
 import com.vci.ubcs.codeapply.object.CodeClassify;
 import com.vci.ubcs.codeapply.object.R;
 import com.vci.ubcs.codeapply.utils.ConfigUtils;
+import com.vci.ubcs.codeapply.utils.HttpUtil;
 import com.vci.ubcs.system.user.entity.User;
 import javax.swing.event.TreeExpansionEvent;
 import javax.swing.event.TreeExpansionListener;
@@ -179,7 +179,7 @@
 		condtionMap.put("desc", this.clsfName);
 		condtionMap.put("codeLibName",rootNode.toString());
 
-		R r=HttpUtil.sendGet(url+"/getRMTypeByDescAndLib",condtionMap,new HashMap<>());
+		R r= HttpUtil.sendGet(url+"/getRMTypeByDescAndLib",condtionMap,new HashMap<>());
 		List<CodeClassify> codeClassifyList = new ArrayList<>();
 		if(r.isSuccess()){
 			Object object= r.getData();
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410.java
index 2cdfa93..26c2c58 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410.java
@@ -13,8 +13,8 @@
 import com.vci.ubcs.codeapply.object.CodeClassify;
 import com.vci.ubcs.codeapply.object.R;
 import com.vci.ubcs.codeapply.utils.ConfigUtils;
+import com.vci.ubcs.codeapply.utils.HttpUtil;
 import com.vci.ubcs.system.user.entity.User;
-import lombok.SneakyThrows;
 import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
 import org.apache.commons.collections4.CollectionUtils;
 
@@ -169,7 +169,7 @@
 		if(libName.length>0) {
 			condtionMap.put("libName", StringUtils.join(libName,",") );
 		}
-		R r=HttpUtil.sendGet(url+"/getRMLibByName",condtionMap,new HashMap<>());
+		R r= HttpUtil.sendGet(url+"/getRMLibByName",condtionMap,new HashMap<>());
 		List<CodeClassify> codeClassifyList = new ArrayList<>();
 		if(r.isSuccess()){
 			Object object= r.getData();
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanel.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanel.java
index 7edc4bf..b4da4c3 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanel.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanel.java
@@ -5,17 +5,19 @@
 import com.vci.base.ui.swing.components.VCIJPanel;
 import com.vci.base.ui.swing.components.table.AbstractVCIJTableDataProvider;
 import com.vci.base.ui.swing.components.table.VCIJTablePanel;
+import com.vci.ubcs.codeapply.object.BaseModel;
 import com.vci.ubcs.codeapply.object.UIFormRefer;
-import org.apache.poi.ss.formula.functions.T;
 
 import java.awt.*;
+import java.util.HashMap;
+import java.util.Map;
 
 public class CodeDataMainPanel extends VCIJPanel {
 
 	/**
 	 * 鑷畾涔夐《閮ㄦ帶浠跺尯鍩�
 	 */
-	private VCIJPanel customTopPanel = null;
+	private AttarSearchPanel customTopPanel = null;
 	private UIFormRefer uiFormRefer;
 	private CodeDataMainPanelActionListener actionListener = new CodeDataMainPanelActionListener(this);
 	private VCIJButton btnSearch = VCISwingUtil.createVCIJButton("search", "鏌ヨ", "鏌ヨ", "search.png", actionListener);
@@ -23,7 +25,7 @@
 	public CodeDataMainPanel(UIFormRefer uiFormRefer) {
 		this.uiFormRefer=uiFormRefer;
 	}
-
+	private Map<String,String> customCondtionMap=new HashMap<>();
 	public void buildPanel(){
 		this.init();
 	}
@@ -39,13 +41,14 @@
 	/**
 	 * 鏍规嵁绫诲瀷鏄剧ずtable
 	 */
-	private VCIJTablePanel<T> tablePanel = null;
-	private AbstractVCIJTableDataProvider<T> dataProvider = null;
+	private VCIJTablePanel<BaseModel> tablePanel = null;
+	private AbstractVCIJTableDataProvider<BaseModel> dataProvider = null;
 	private VCIJPanel createCenterDataTablePanel() {
-		tablePanel = new VCIJTablePanel<T>(dataProvider);
+		tablePanel = new VCIJTablePanel<BaseModel>(dataProvider);
 		//tablePanel.setCustomButtons(getCombinedButtons());
 		tablePanel.setShowExport(true);
 		tablePanel.setShowPaging(true);
+		tablePanel.setShowProgressBar(false);
 		tablePanel.setPageButtonFlowAlign(FlowLayout.CENTER);
 		tablePanel.setCustomButtonFlowAlign(FlowLayout.CENTER);
 		tablePanel.buildTablePanel();
@@ -92,19 +95,19 @@
 		return palRes;
 	}
 
-	public VCIJPanel getCustomTopPanel() {
+	public AttarSearchPanel getCustomTopPanel() {
 		return customTopPanel;
 	}
 
-	public void setCustomTopPanel(VCIJPanel customTopPanel) {
+	public void setCustomTopPanel(AttarSearchPanel customTopPanel) {
 		this.customTopPanel = customTopPanel;
 	}
 
-	public VCIJTablePanel<T> getTablePanel() {
+	public VCIJTablePanel<BaseModel> getTablePanel() {
 		return tablePanel;
 	}
 
-	public void setTablePanel(VCIJTablePanel<T> tablePanel) {
+	public void setTablePanel(VCIJTablePanel<BaseModel> tablePanel) {
 		this.tablePanel = tablePanel;
 	}
 
@@ -117,11 +120,35 @@
 		this.uiFormRefer = uiFormRefer;
 	}
 
-	public AbstractVCIJTableDataProvider<T> getDataProvider() {
+	public AbstractVCIJTableDataProvider<BaseModel> getDataProvider() {
 		return dataProvider;
 	}
 
-	public void setDataProvider(AbstractVCIJTableDataProvider<T> dataProvider) {
+	public void setDataProvider(AbstractVCIJTableDataProvider<BaseModel> dataProvider) {
 		this.dataProvider = dataProvider;
 	}
+
+	public Map<String, String> getCustomCondtionMap() {
+		if(this.getCustomTopPanel()!=null){
+			Map<String,String> newCustomCondtionMap= this.getCustomTopPanel().getAttrSearchFilterString();
+			customCondtionMap.putAll(newCustomCondtionMap);
+		}
+		return customCondtionMap;
+	}
+
+	public void setCustomCondtionMap(Map<String, String> customCondtionMap) {
+		this.customCondtionMap = customCondtionMap;
+	}
+
+	/**
+	 * 娓呯┖鏉′欢
+	 * <p>Description: </p>
+	 *
+	 * @author liujw
+	 */
+	public void clearCustomTopPanel(){
+		customCondtionMap.clear();
+		AttarSearchPanel search = (AttarSearchPanel)getCustomTopPanel();
+		search.clear();
+	}
 }
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelActionListener.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelActionListener.java
index 7729eae..d25a798 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelActionListener.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelActionListener.java
@@ -14,11 +14,24 @@
 		actionMaps.put("search", new Runnable() { public void run() {
 			search();
 		}});
+		actionMaps.put("clear_search", new Runnable() { public void run() {
+			clear_search();
+		}});
 	}
 	@Override
 	public void actionPerformed(ActionEvent e) {
+		String key = e.getActionCommand();
+		if(actionMaps.containsKey(key)){
+			actionMaps.get(key).run();
+		}
+	}
 
+	private void clear_search(){
+		owner.clearCustomTopPanel();
+		owner.getTablePanel().refreshTableData();
 	}
 	private void search() {
+		owner.getTablePanel().setPageIndex(1);
+		owner.getTablePanel().refreshTableData();
 	}
 }
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java
index 2f8e824..9faf71a 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java
@@ -1,20 +1,32 @@
 package com.vci.ubcs.codeapply;
 
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.vci.base.ui.swing.components.table.AbstractVCIJTableDataProvider;
 import com.vci.base.ui.swing.components.table.VCIJTableNode;
+import com.vci.ubcs.codeapply.object.BaseModel;
+import com.vci.ubcs.codeapply.object.Page;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.vci.base.ui.swing.VCIOptionPane;
 import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeShowFieldConfigVO;
+import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeSrchCondConfigVO;
+import com.vci.ubcs.codeapply.object.R;
 import com.vci.ubcs.codeapply.object.UIFormRefer;
-import com.vci.ubcs.codeapply.object.UIFormRefers;
-import com.vci.ubcs.starter.web.pagemodel.UITableFieldVO;
-import org.apache.poi.ss.formula.functions.T;
+import com.vci.ubcs.codeapply.utils.ConfigUtils;
+import com.vci.ubcs.codeapply.utils.HttpUtil;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
+import org.apache.commons.collections4.CollectionUtils;
 
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
-public class CodeDataMainPanelDataProvider extends AbstractVCIJTableDataProvider<T> {
+public class CodeDataMainPanelDataProvider extends AbstractVCIJTableDataProvider<BaseModel> {
 	private CodeDataMainPanel ownerPanel;
 	private String[] specialColumns = {};
-
+	private String url= ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController");
+	private String[] fields = {};
 
 	public CodeDataMainPanelDataProvider(CodeDataMainPanel ownerPanel) {
 		this.ownerPanel=ownerPanel;
@@ -32,6 +44,7 @@
 			fieldList.add(field);
 		});
 		specialColumns = nameList.toArray(new String[]{});
+		fields = fieldList.toArray(new String[]{});
 		return specialColumns;
 	}
 
@@ -41,13 +54,70 @@
 	}
 
 	@Override
-	public VCIJTableNode<T> getNewRowNode(T t) {
-		return null;
+	public VCIJTableNode<BaseModel> getNewRowNode(BaseModel model) {
+		Map<String,String> dataMap= model.getData();
+		Map<String, String> defaultDataMap= VciBaseUtil.objectToMapString(model);
+		defaultDataMap.putAll(dataMap);
+		VCIJTableNode<BaseModel> res = new VCIJTableNode<BaseModel>(model);
+		int i=dataColumnStartIndex;
+		for (String field:fields){
+			String data=defaultDataMap.getOrDefault(field,"");
+			res.setPropertyValue(getColumns()[i++], data);
+		}
+		return res;
 	}
 
 	@Override
-	public T[] getDatas(int pageIndex, int pageSize) {
+	public BaseModel[] getDatas(int pageIndex, int pageSize) {
+		/**绯荤粺鍙姞杞戒唬鐮侀」  濡傛灉libName涓嶄负绌猴紝鐩存帴鑾峰彇瀵瑰簲鐨勪唬鐮侀」**/
+		Map<String,String> condtionMap=new HashMap<>();
+		Page<BaseModel> iPage= new Page<BaseModel>() {};
+		try{
+			UIFormRefer uiFormRefer=	this.ownerPanel.getUiFormRefer();
+			condtionMap.put("referType", StringUtils.isBlank(uiFormRefer.getReferType())?"":uiFormRefer.getReferType());
+			condtionMap.put("page",pageIndex+"");
+			condtionMap.put("limit",pageSize+"");
 
-		return new T[0];
+			List<CodeSrchCondConfigVO> codeSrchCondConfigVOS=uiFormRefer.getCodeSrchCondConfigVOS();
+			JSONObject jsonObject=new JSONObject();
+			if(!CollectionUtils.isEmpty(codeSrchCondConfigVOS)){
+				codeSrchCondConfigVOS.stream().forEach(codeSrchCondConfigVO -> {
+					String field=codeSrchCondConfigVO.getFilterField();
+					String value=codeSrchCondConfigVO.getFilterValue();
+					String filterType= codeSrchCondConfigVO.getFilterType();
+					condtionMap.put("conditionMap["+field+"]",value);
+				});
+			}
+			Map<String, String> customCondtionMap=ownerPanel.getCustomCondtionMap();
+			if(customCondtionMap!=null&&customCondtionMap.size()>0){
+				customCondtionMap.forEach((field, value) -> {
+					condtionMap.put("conditionMap["+field+"]",value);
+				});
+
+			}
+			Map<String,String>  headers=new HashMap<>();
+
+			R r= HttpUtil.sendGet(url+"/defaultReferDataGrid",condtionMap,new HashMap<>());
+
+			if(r.isSuccess()){
+				Object object= r.getData();
+				if(object!=null) {
+					ObjectMapper objectMapper = new ObjectMapper();
+					iPage = objectMapper.readValue(object.toString(), Page.class);
+				}
+			}else{
+				VCIOptionPane.showMessage(this.ownerPanel,r.getMsg());
+			}
+		} catch (JsonProcessingException e) {
+			e.printStackTrace();
+		}
+		this.total= new Long(iPage.getTotal()).intValue();
+		List dataList=  iPage.getRecords();
+		BaseModel [] baseModels=new BaseModel[]{};
+		if(!CollectionUtils.isEmpty(dataList)) {
+			List<BaseModel> hostInfos = (List<BaseModel>) dataList.stream().map(entity -> JSONUtil.toBean(JSONUtil.parseObj(entity), BaseModel.class)).collect(Collectors.toList());
+			baseModels = hostInfos.toArray(new BaseModel[]{});
+		}
+		return baseModels;
 	}
 }
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java
index d29db6d..7bed1b6 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java
@@ -10,6 +10,7 @@
 import com.vci.base.ui.tree.VCIBaseTreeNode;
 import com.vci.ubcs.codeapply.object.*;
 import com.vci.ubcs.codeapply.utils.ConfigUtils;
+import com.vci.ubcs.codeapply.utils.HttpUtil;
 import com.vci.ubcs.starter.web.pagemodel.Tree;
 import org.apache.commons.collections4.CollectionUtils;
 
@@ -52,9 +53,9 @@
 				condtionMap.put("parentFieldName",StringUtils.isBlank(uiFormRefer.getParentFieldName())?"":uiFormRefer.getParentFieldName());
 				condtionMap.put("textField",StringUtils.isBlank(uiFormRefer.getTextField())?"":uiFormRefer.getTextField());
 				condtionMap.put("muti",uiFormRefer.isMuti()?"true":"false");
-				condtionMap.put("queryAllLevel", "false");//queryAllLevel
+				condtionMap.put("queryAllLevel", StringUtils.isBlank(uiFormRefer.getLoadType())?"false":"true");//queryAllLevel
 				//condtionMap.put("parentOid",null);
-				R r=HttpUtil.sendGet(url+"/defaultReferTree",condtionMap,new HashMap<>());
+				R r= HttpUtil.sendGet(url+"/defaultReferTree",condtionMap,new HashMap<>());
 				if(r.isSuccess()){
 					Object object= r.getData();
 					if(object!=null) {
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialog.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialog.java
index 21e4575..594a386 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialog.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialog.java
@@ -20,6 +20,7 @@
 import com.vci.ubcs.codeapply.enums.CodeReferConfigTypeEnum;
 import com.vci.ubcs.codeapply.object.UIFormRefer;
 import com.vci.ubcs.codeapply.object.UIFormRefers;
+import com.vci.ubcs.starter.web.pagemodel.KeyValue;
 import org.apache.poi.ss.formula.functions.T;
 
 public class RMDataReferTempDialog extends VCIJDialog {
@@ -33,6 +34,7 @@
 	CodeReferTreePanel typeTreePanel;
 	private VCIBaseTree leftTree = null;
 	private VCIBaseTreeModel leftTreeModel = null;
+	private KeyValue keyValue;
 	public RMDataReferTempDialog(CodeApplyFor410MainPanel owner, CodeClassifyTemplateAttrVO codeClassifyTemplateAttr) {
 		//super(true);
 		this.owner = owner;
@@ -86,14 +88,13 @@
 	 * 鏍规嵁绫诲瀷鏄剧ずtable
 	 */
 	private CodeDataMainPanel codeDataMainPanel = null;
-	private CodeDataMainPanelDataProvider dataProvider;
 	public CodeDataMainPanel getRMDataMainPanel() {
 		codeDataMainPanel=new CodeDataMainPanel(uiFormRefer);
 		CodeDataMainPanelDataProvider dataProvider=new CodeDataMainPanelDataProvider(codeDataMainPanel);
 		codeDataMainPanel.setDataProvider(dataProvider);
-		codeDataMainPanel.setCustomTopPanel(new attarSearchPanel(uiFormRefer));
+		codeDataMainPanel.setCustomTopPanel(new AttarSearchPanel(uiFormRefer));
 		codeDataMainPanel.buildPanel();
-		 VCIJTable table = codeDataMainPanel.getTablePanel().getTable();
+		VCIJTable table = codeDataMainPanel.getTablePanel().getTable();
 		table.addMouseListener(new MouseAdapter() {
 			public void mouseClicked(MouseEvent e) {
 				if (e.getButton() == 1 && e.getClickCount() == 2) {
@@ -115,6 +116,7 @@
 			private static final long serialVersionUID = 8121108576137012228L;
 			@Override
 			public void tree_valueChanged(TreeSelectionEvent e) {
+
 				self.leftTree_valueChanged(e);
 			}
 		};
@@ -131,7 +133,7 @@
 	 * @param e
 	 */
 	private void leftTree_valueChanged(TreeSelectionEvent e) {
-
+		btnOk.doClick();
 	}
 	/***鑾峰彇璧勬簮鏁版嵁鐨勪富闈㈡澘**/
 /*
@@ -191,4 +193,35 @@
 		return transmit;
 	}*/
 
+	public KeyValue getKeyValue() {
+		return keyValue;
+	}
+
+	public void setKeyValue(KeyValue keyValue) {
+		this.keyValue = keyValue;
+	}
+
+	public UIFormRefer getUiFormRefer() {
+		return uiFormRefer;
+	}
+
+	public void setUiFormRefer(UIFormRefer uiFormRefer) {
+		this.uiFormRefer = uiFormRefer;
+	}
+
+	public CodeReferTreePanel getTypeTreePanel() {
+		return typeTreePanel;
+	}
+
+	public void setTypeTreePanel(CodeReferTreePanel typeTreePanel) {
+		this.typeTreePanel = typeTreePanel;
+	}
+
+	public CodeDataMainPanel getCodeDataMainPanel() {
+		return codeDataMainPanel;
+	}
+
+	public void setCodeDataMainPanel(CodeDataMainPanel codeDataMainPanel) {
+		this.codeDataMainPanel = codeDataMainPanel;
+	}
 }
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java
index d7742c9..1395887 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java
@@ -3,8 +3,21 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
 import com.vci.base.ui.swing.VCIOptionPane;
 import com.vci.base.ui.swing.components.VCIJDialog.DialogResult;
+import com.vci.base.ui.tree.VCIBaseTreeNode;
+import com.vci.ubcs.codeapply.enums.CodeReferConfigTypeEnum;
+import com.vci.ubcs.codeapply.object.BaseModel;
+import com.vci.ubcs.codeapply.object.UIFormRefer;
+import com.vci.ubcs.starter.web.pagemodel.KeyValue;
+import com.vci.ubcs.starter.web.pagemodel.Tree;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+
+import javax.swing.tree.TreePath;
 
 public class RMDataReferTempDialogActionListener implements ActionListener {
 
@@ -33,8 +46,8 @@
 	}
 
 	private void ok(){
-		if(!owner.isFromTableDoubleClick()){
-			/*LinkedList<RMDataObject> list = this.owner.getRMDataMainPanel().getTablePanel().getSelectedRowObjects();
+		//if(!owner.isFromTableDoubleClick()){
+		/*	LinkedList<RMDataObject> list = this.owner.getRMDataMainPanel().getTablePanel().getSelectedRowObjects();
 			if(list.size() > 1) {
 				VCIOptionPane.showMessageDialog(this.owner, "涓嶅厑璁搁�夋嫨澶氭潯鏁版嵁杩涜鎿嶄綔!");
 				return;
@@ -42,7 +55,45 @@
 				VCIOptionPane.showMessageDialog(this.owner, "璇烽�夋嫨鏁版嵁杩涜鎿嶄綔!");
 				return;
 			}*/
-		}
+
+			UIFormRefer uiFormRefer=owner.getUiFormRefer();
+			String textField=uiFormRefer.getTextField();
+			String valueField=uiFormRefer.getValueField();
+			if(uiFormRefer !=null&&(uiFormRefer.getType().equals(CodeReferConfigTypeEnum.TREE.getValue())
+				||uiFormRefer.getType().equals(CodeReferConfigTypeEnum.ORGDEPARTMENTREFER.getValue()))){
+				TreePath treePath=this.owner.getTypeTreePanel().getTree().getSelectionPath();
+				VCIBaseTreeNode treeNode = (VCIBaseTreeNode)treePath.getLastPathComponent();
+				if(treeNode.getObj() instanceof Tree) {
+					Tree tree =(Tree)treeNode.getObj();
+					Map<String,String> attibuteMap=	tree.getAttributes();
+					String fieldValue=attibuteMap.getOrDefault(valueField,"");
+					String textValue=attibuteMap.getOrDefault(textField,"");
+					KeyValue keyValue=new KeyValue();
+					keyValue.setKey(fieldValue);
+					keyValue.setValue(textValue);
+					this.owner.setKeyValue(keyValue);
+				}
+
+			}else{
+				LinkedList<BaseModel> list =this.owner.getCodeDataMainPanel().getTablePanel().getSelectedRowObjects();
+				if(list.size() > 1) {
+					VCIOptionPane.showMessageDialog(this.owner, "涓嶅厑璁搁�夋嫨澶氭潯鏁版嵁杩涜鎿嶄綔!");
+					return;
+				} else if(list.size() <= 0) {
+					VCIOptionPane.showMessageDialog(this.owner, "璇烽�夋嫨鏁版嵁杩涜鎿嶄綔!");
+					return;
+				}
+				BaseModel baseModel=list.get(0);
+				Map<String, String> defaultDataMap= VciBaseUtil.objectToMapString(list.get(0));
+				defaultDataMap.putAll(baseModel.getData());
+				String fieldValue=defaultDataMap.getOrDefault(valueField,"");
+				String textValue=defaultDataMap.getOrDefault(textField,"");
+				KeyValue keyValue=new KeyValue();
+				keyValue.setKey(fieldValue);
+				keyValue.setValue(textValue);
+				this.owner.setKeyValue(keyValue);
+			}
+		//}
 		owner.setDialogResult(DialogResult.OK);
 		close();
 		owner.getDialogCallback().run();
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/attarSearchPanel.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/attarSearchPanel.java
index d132291..b4c284b 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/attarSearchPanel.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/attarSearchPanel.java
@@ -10,16 +10,14 @@
 import org.apache.commons.collections4.CollectionUtils;
 
 import java.awt.*;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
+import java.util.*;
 import java.util.List;
-import java.util.Set;
 
-public class attarSearchPanel extends VCIJPanel {
+public class AttarSearchPanel extends VCIJPanel {
 
 	private LinkedHashMap<String , VCIJTextField> attrInerNameValMap = new LinkedHashMap<String,VCIJTextField>();
 	private UIFormRefer uiFormRefer;
-	public attarSearchPanel(UIFormRefer uiFormRefer){
+	public AttarSearchPanel(UIFormRefer uiFormRefer){
 		this.uiFormRefer = uiFormRefer;
 		init();
 	}
@@ -76,9 +74,9 @@
 	 * @time 2013-3-17
 	 * @return
 	 */
-	public  String getAttrSearchFilterString(){
+	public Map<String,String> getAttrSearchFilterString(){
 		String result = "";
-		StringBuilder sql  = new StringBuilder();
+		Map<String,String> customConditionMap=new HashMap<>();
 		Set<String> keys = attrInerNameValMap.keySet();
 		for (Iterator it = keys.iterator(); it.hasNext();) {
 			String key = (String)it.next();
@@ -86,15 +84,10 @@
 			String message = textField.getText().replaceAll(" ", "").trim();
 			if(message.equals("")) continue;
 			String text = getTextQueryVal(message);
-			sql.append(" "+key+" ");
-			sql.append("  like ");
-			sql.append("'"+text+"'");
-			sql.append(" and");
+			customConditionMap.put(key,text);
 		}
-		if(sql.length() != 0){
-			result =  sql.substring(0, sql.lastIndexOf("and"));
-		}
-		return result;
+
+		return customConditionMap;
 	}
 
 	/**
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/BaseModel.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/BaseModel.java
new file mode 100644
index 0000000..8c14eab
--- /dev/null
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/BaseModel.java
@@ -0,0 +1,320 @@
+package com.vci.ubcs.codeapply.object;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.data.annotation.Transient;
+
+import java.util.Date;
+import java.util.Map;
+
+public class BaseModel {
+	private String oid;
+	private String id;
+	private String name;
+	private String description;
+	private String revisionOid;
+	private String nameOid;
+	private String btmname;
+	private String lastR;
+	private String firstR;
+	private String lastV;
+	private String firstV;
+	private String creator;
+	private Date createTime;
+	private String lastModifier;
+	private Date lastModifyTime;
+	private String revisionRule;
+	private Integer revisionSeq;
+	private String revisionValue;
+	private String versionRule;
+	private Integer versionSeq;
+	private String versionValue;
+	private String lcStatus;
+	private String lcStatusText;
+	private Date ts;
+	private String owner;
+	//	private String checkInBy;
+//	private Date checkInTime;
+//	private String checkOutBy;
+//	private Date checkOutTime;
+	private String copyFromVersion;
+	private Integer secretGrade;
+	private String secretGradeText;
+	private String lctid;
+	private Map<String, String> data;
+
+	public String getOid() {
+		return oid;
+	}
+
+	public void setOid(String oid) {
+		this.oid = oid;
+	}
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getDescription() {
+		return description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public String getRevisionOid() {
+		return revisionOid;
+	}
+
+	public void setRevisionOid(String revisionOid) {
+		this.revisionOid = revisionOid;
+	}
+
+	public String getNameOid() {
+		return nameOid;
+	}
+
+	public void setNameOid(String nameOid) {
+		this.nameOid = nameOid;
+	}
+
+	public String getBtmname() {
+		return btmname;
+	}
+
+	public void setBtmname(String btmname) {
+		this.btmname = btmname;
+	}
+
+	public String getLastR() {
+		return lastR;
+	}
+
+	public void setLastR(String lastR) {
+		this.lastR = lastR;
+	}
+
+	public String getFirstR() {
+		return firstR;
+	}
+
+	public void setFirstR(String firstR) {
+		this.firstR = firstR;
+	}
+
+	public String getLastV() {
+		return lastV;
+	}
+
+	public void setLastV(String lastV) {
+		this.lastV = lastV;
+	}
+
+	public String getFirstV() {
+		return firstV;
+	}
+
+	public void setFirstV(String firstV) {
+		this.firstV = firstV;
+	}
+
+	public String getCreator() {
+		return creator;
+	}
+
+	public void setCreator(String creator) {
+		this.creator = creator;
+	}
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+
+	public String getLastModifier() {
+		return lastModifier;
+	}
+
+	public void setLastModifier(String lastModifier) {
+		this.lastModifier = lastModifier;
+	}
+
+	public Date getLastModifyTime() {
+		return lastModifyTime;
+	}
+
+	public void setLastModifyTime(Date lastModifyTime) {
+		this.lastModifyTime = lastModifyTime;
+	}
+
+	public String getRevisionRule() {
+		return revisionRule;
+	}
+
+	public void setRevisionRule(String revisionRule) {
+		this.revisionRule = revisionRule;
+	}
+
+	public Integer getRevisionSeq() {
+		return revisionSeq;
+	}
+
+	public void setRevisionSeq(Integer revisionSeq) {
+		this.revisionSeq = revisionSeq;
+	}
+
+	public String getRevisionValue() {
+		return revisionValue;
+	}
+
+	public void setRevisionValue(String revisionValue) {
+		this.revisionValue = revisionValue;
+	}
+
+	public String getVersionRule() {
+		return versionRule;
+	}
+
+	public void setVersionRule(String versionRule) {
+		this.versionRule = versionRule;
+	}
+
+	public Integer getVersionSeq() {
+		return versionSeq;
+	}
+
+	public void setVersionSeq(Integer versionSeq) {
+		this.versionSeq = versionSeq;
+	}
+
+	public String getVersionValue() {
+		return versionValue;
+	}
+
+	public void setVersionValue(String versionValue) {
+		this.versionValue = versionValue;
+	}
+
+	public String getLcStatus() {
+		return lcStatus;
+	}
+
+	public void setLcStatus(String lcStatus) {
+		this.lcStatus = lcStatus;
+	}
+
+	public String getLcStatusText() {
+		return lcStatusText;
+	}
+
+	public void setLcStatusText(String lcStatusText) {
+		this.lcStatusText = lcStatusText;
+	}
+
+	public Date getTs() {
+		return ts;
+	}
+
+	public void setTs(Date ts) {
+		this.ts = ts;
+	}
+
+	public String getOwner() {
+		return owner;
+	}
+
+	public void setOwner(String owner) {
+		this.owner = owner;
+	}
+
+	public String getCopyFromVersion() {
+		return copyFromVersion;
+	}
+
+	public void setCopyFromVersion(String copyFromVersion) {
+		this.copyFromVersion = copyFromVersion;
+	}
+
+	public Integer getSecretGrade() {
+		return secretGrade;
+	}
+
+	public void setSecretGrade(Integer secretGrade) {
+		this.secretGrade = secretGrade;
+	}
+
+	public String getSecretGradeText() {
+		return secretGradeText;
+	}
+
+	public void setSecretGradeText(String secretGradeText) {
+		this.secretGradeText = secretGradeText;
+	}
+
+	public String getLctid() {
+		return lctid;
+	}
+
+	public void setLctid(String lctid) {
+		this.lctid = lctid;
+	}
+
+	public Map<String, String> getData() {
+		return data;
+	}
+
+	public void setData(Map<String, String> data) {
+		this.data = data;
+	}
+
+	@Override
+	public String toString() {
+		return "BaseModel{" +
+			"oid='" + oid + '\'' +
+			", id='" + id + '\'' +
+			", name='" + name + '\'' +
+			", description='" + description + '\'' +
+			", revisionOid='" + revisionOid + '\'' +
+			", nameOid='" + nameOid + '\'' +
+			", btmname='" + btmname + '\'' +
+			", lastR='" + lastR + '\'' +
+			", firstR='" + firstR + '\'' +
+			", lastV='" + lastV + '\'' +
+			", firstV='" + firstV + '\'' +
+			", creator='" + creator + '\'' +
+			", createTime=" + createTime +
+			", lastModifier='" + lastModifier + '\'' +
+			", lastModifyTime=" + lastModifyTime +
+			", revisionRule='" + revisionRule + '\'' +
+			", revisionSeq=" + revisionSeq +
+			", revisionValue='" + revisionValue + '\'' +
+			", versionRule='" + versionRule + '\'' +
+			", versionSeq=" + versionSeq +
+			", versionValue='" + versionValue + '\'' +
+			", lcStatus='" + lcStatus + '\'' +
+			", lcStatusText='" + lcStatusText + '\'' +
+			", ts=" + ts +
+			", owner='" + owner + '\'' +
+			", copyFromVersion='" + copyFromVersion + '\'' +
+			", secretGrade=" + secretGrade +
+			", secretGradeText='" + secretGradeText + '\'' +
+			", lctid='" + lctid + '\'' +
+			", data=" + data +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/IPage.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/IPage.java
new file mode 100644
index 0000000..dcec401
--- /dev/null
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/IPage.java
@@ -0,0 +1,71 @@
+package com.vci.ubcs.codeapply.object;
+import java.io.Serializable;
+import java.util.List;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+public interface IPage<T> extends Serializable {
+	List<OrderItem> orders();
+
+	default boolean optimizeCountSql() {
+		return true;
+	}
+
+	default boolean optimizeJoinOfCountSql() {
+		return true;
+	}
+
+	default boolean searchCount() {
+		return true;
+	}
+
+	default long offset() {
+		long current = this.getCurrent();
+		return current <= 1L ? 0L : Math.max((current - 1L) * this.getSize(), 0L);
+	}
+
+	default Long maxLimit() {
+		return null;
+	}
+
+	default long getPages() {
+		if (this.getSize() == 0L) {
+			return 0L;
+		} else {
+			long pages = this.getTotal() / this.getSize();
+			if (this.getTotal() % this.getSize() != 0L) {
+				++pages;
+			}
+
+			return pages;
+		}
+	}
+
+	default IPage<T> setPages(long pages) {
+		return this;
+	}
+
+	List<T> getRecords();
+
+	IPage<T> setRecords(List<T> records);
+
+	long getTotal();
+
+	IPage<T> setTotal(long total);
+
+	long getSize();
+
+	IPage<T> setSize(long size);
+
+	long getCurrent();
+
+	IPage<T> setCurrent(long current);
+
+	default <R> IPage<T> convert(Function<? super T, ? extends R> mapper) {
+		List<T> collect = (List)this.getRecords().stream().map(mapper).collect(Collectors.toList());
+		return this.setRecords(collect);
+	}
+	default String countId() {
+		return null;
+	}
+}
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/OrderItem.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/OrderItem.java
new file mode 100644
index 0000000..4037100
--- /dev/null
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/OrderItem.java
@@ -0,0 +1,98 @@
+package com.vci.ubcs.codeapply.object;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class OrderItem {
+
+	private static final long serialVersionUID = 1L;
+	private String column;
+	private boolean asc = true;
+
+	public static OrderItem asc(String column) {
+		return build(column, true);
+	}
+
+	public static OrderItem desc(String column) {
+		return build(column, false);
+	}
+
+	public static List<OrderItem> ascs(String... columns) {
+		return (List) Arrays.stream(columns).map(OrderItem::asc).collect(Collectors.toList());
+	}
+
+	public static List<OrderItem> descs(String... columns) {
+		return (List)Arrays.stream(columns).map(OrderItem::desc).collect(Collectors.toList());
+	}
+
+	private static OrderItem build(String column, boolean asc) {
+		return new OrderItem(column, asc);
+	}
+
+	public String getColumn() {
+		return this.column;
+	}
+
+	public boolean isAsc() {
+		return this.asc;
+	}
+
+	public void setColumn(final String column) {
+		this.column = column;
+	}
+
+	public void setAsc(final boolean asc) {
+		this.asc = asc;
+	}
+
+	public boolean equals(final Object o) {
+		if (o == this) {
+			return true;
+		} else if (!(o instanceof OrderItem)) {
+			return false;
+		} else {
+			OrderItem other = (OrderItem)o;
+			if (!other.canEqual(this)) {
+				return false;
+			} else if (this.isAsc() != other.isAsc()) {
+				return false;
+			} else {
+				Object this$column = this.getColumn();
+				Object other$column = other.getColumn();
+				if (this$column == null) {
+					if (other$column != null) {
+						return false;
+					}
+				} else if (!this$column.equals(other$column)) {
+					return false;
+				}
+
+				return true;
+			}
+		}
+	}
+
+	protected boolean canEqual(final Object other) {
+		return other instanceof com.baomidou.mybatisplus.core.metadata.OrderItem;
+	}
+
+	public int hashCode() {
+		int result = 1;
+		result = result * 59 + (this.isAsc() ? 79 : 97);
+		Object $column = this.getColumn();
+		result = result * 59 + ($column == null ? 43 : $column.hashCode());
+		return result;
+	}
+
+	public String toString() {
+		return "OrderItem(column=" + this.getColumn() + ", asc=" + this.isAsc() + ")";
+	}
+
+	public OrderItem() {
+	}
+
+	public OrderItem(final String column, final boolean asc) {
+		this.column = column;
+		this.asc = asc;
+	}
+}
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/Page.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/Page.java
new file mode 100644
index 0000000..2b6ba8b
--- /dev/null
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/Page.java
@@ -0,0 +1,241 @@
+package com.vci.ubcs.codeapply.object;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.function.Predicate;
+
+public class Page<T> {
+	private static final long serialVersionUID = 8545996863226528798L;
+	protected List<T> records;
+	protected long total;
+	protected long size;
+	protected long current;
+	protected List<OrderItem> orders;
+	protected boolean optimizeCountSql;
+	protected boolean searchCount;
+	protected boolean optimizeJoinOfCountSql;
+	protected String countId;
+	protected Long maxLimit;
+	protected long pages;
+
+
+	public Page() {
+		this.records = Collections.emptyList();
+		this.total = 0L;
+		this.size = 10L;
+		this.current = 1L;
+		this.orders = new ArrayList();
+		this.optimizeCountSql = true;
+		this.searchCount = true;
+		this.optimizeJoinOfCountSql = true;
+	}
+
+	public Page(long current, long size) {
+		this(current, size, 0L);
+	}
+
+	public Page(long current, long size, long total) {
+		this(current, size, total, true);
+	}
+
+	public Page(long current, long size, boolean searchCount) {
+		this(current, size, 0L, searchCount);
+	}
+
+	public Page(long current, long size, long total, boolean searchCount) {
+		this.records = Collections.emptyList();
+		this.total = 0L;
+		this.size = 10L;
+		this.current = 1L;
+		this.orders = new ArrayList();
+		this.optimizeCountSql = true;
+		this.searchCount = true;
+		this.optimizeJoinOfCountSql = true;
+		if (current > 1L) {
+			this.current = current;
+		}
+
+		this.size = size;
+		this.total = total;
+		this.searchCount = searchCount;
+	}
+
+	public boolean hasPrevious() {
+		return this.current > 1L;
+	}
+
+	public boolean hasNext() {
+		return this.current < this.getPages();
+	}
+
+	public List<T> getRecords() {
+		return this.records;
+	}
+
+	public Page<T> setRecords(List records) {
+		this.records = records;
+		return this;
+	}
+
+	public long getTotal() {
+		return this.total;
+	}
+
+	public Page<T> setTotal(long total) {
+		this.total = total;
+		return this;
+	}
+
+	public long getSize() {
+		return this.size;
+	}
+
+	public Page<T> setSize(long size) {
+		this.size = size;
+		return this;
+	}
+
+	public long getCurrent() {
+		return this.current;
+	}
+
+	public Page<T> setCurrent(long current) {
+		this.current = current;
+		return this;
+	}
+
+	public String countId() {
+		return this.countId;
+	}
+
+	public Long maxLimit() {
+		return this.maxLimit;
+	}
+
+	private String[] mapOrderToArray(Predicate<OrderItem> filter) {
+		List<String> columns = new ArrayList(this.orders.size());
+		this.orders.forEach((i) -> {
+			if (filter.test(i)) {
+				columns.add(i.getColumn());
+			}
+
+		});
+		return (String[])columns.toArray(new String[0]);
+	}
+
+	private void removeOrder(Predicate<OrderItem> filter) {
+		for(int i = this.orders.size() - 1; i >= 0; --i) {
+			if (filter.test(this.orders.get(i))) {
+				this.orders.remove(i);
+			}
+		}
+
+	}
+
+	public Page<T> addOrder(OrderItem... items) {
+		this.orders.addAll(Arrays.asList(items));
+		return this;
+	}
+
+	public Page<T> addOrder(List<OrderItem> items) {
+		this.orders.addAll(items);
+		return this;
+	}
+
+	public List<OrderItem> orders() {
+		return this.orders;
+	}
+
+	public boolean optimizeCountSql() {
+		return this.optimizeCountSql;
+	}
+
+	public static <T> Page<T> of(long current, long size, long total, boolean searchCount) {
+		return new Page(current, size, total, searchCount);
+	}
+
+	public boolean optimizeJoinOfCountSql() {
+		return this.optimizeJoinOfCountSql;
+	}
+
+	public Page<T> setSearchCount(boolean searchCount) {
+		this.searchCount = searchCount;
+		return this;
+	}
+
+	public Page<T> setOptimizeCountSql(boolean optimizeCountSql) {
+		this.optimizeCountSql = optimizeCountSql;
+		return this;
+	}
+
+	public long getPages() {
+		return getPages();
+	}
+
+	public void setPages(long pages) {
+		this.pages = pages;
+	}
+
+	public static <T> Page<T> of(long current, long size) {
+		return of(current, size, 0L);
+	}
+
+	public static <T> Page<T> of(long current, long size, long total) {
+		return of(current, size, total, true);
+	}
+
+	public static <T> Page<T> of(long current, long size, boolean searchCount) {
+		return of(current, size, 0L, searchCount);
+	}
+
+	public boolean searchCount() {
+		return this.total < 0L ? false : this.searchCount;
+	}
+
+	/** @deprecated */
+	@Deprecated
+	public String getCountId() {
+		return this.countId;
+	}
+
+	/** @deprecated */
+	@Deprecated
+	public Long getMaxLimit() {
+		return this.maxLimit;
+	}
+
+	/** @deprecated */
+	@Deprecated
+	public List<OrderItem> getOrders() {
+		return this.orders;
+	}
+
+	/** @deprecated */
+	@Deprecated
+	public boolean isOptimizeCountSql() {
+		return this.optimizeCountSql;
+	}
+
+	/** @deprecated */
+	@Deprecated
+	public boolean isSearchCount() {
+		return this.searchCount;
+	}
+
+	public void setOrders(final List<OrderItem> orders) {
+		this.orders = orders;
+	}
+
+	public void setOptimizeJoinOfCountSql(final boolean optimizeJoinOfCountSql) {
+		this.optimizeJoinOfCountSql = optimizeJoinOfCountSql;
+	}
+
+	public void setCountId(final String countId) {
+		this.countId = countId;
+	}
+
+	public void setMaxLimit(final Long maxLimit) {
+		this.maxLimit = maxLimit;
+	}
+}
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpClient.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpClient.java
similarity index 98%
rename from Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpClient.java
rename to Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpClient.java
index 6348bcf..66acf81 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpClient.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpClient.java
@@ -1,4 +1,4 @@
-package com.vci.ubcs.codeapply;
+package com.vci.ubcs.codeapply.utils;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpClient3.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpClient3.java
similarity index 99%
rename from Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpClient3.java
rename to Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpClient3.java
index 4fa57e8..601f5fb 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpClient3.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpClient3.java
@@ -1,4 +1,4 @@
-package com.vci.ubcs.codeapply;
+package com.vci.ubcs.codeapply.utils;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpUtil.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpUtil.java
similarity index 99%
rename from Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpUtil.java
rename to Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpUtil.java
index 1936cf3..5749c25 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpUtil.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpUtil.java
@@ -1,4 +1,4 @@
-package com.vci.ubcs.codeapply;
+package com.vci.ubcs.codeapply.utils;
 import com.alibaba.cloud.commons.lang.StringUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.shaded.com.google.gson.JsonObject;
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/MdmEngineConstant.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/MdmEngineConstant.java
new file mode 100644
index 0000000..9dc2c11
--- /dev/null
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/MdmEngineConstant.java
@@ -0,0 +1,112 @@
+package com.vci.ubcs.codeapply.utils;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class MdmEngineConstant {
+	/**
+	 * 缂栫爜鐨勫瓧娈�
+	 */
+	public static final String OID_FIELD = "Oid";
+
+
+	/**
+	 * 缂栫爜鐨勫瓧娈�
+	 */
+	public static final String CODE_FIELD = "id";
+	/**
+	 * 鍚嶇О
+	 */
+	public static final String NAME_FIELD = "name";
+	/***
+	 * 鎻忚堪
+	 */
+	public static final String DESCRIPTION_FIELD = "description";
+
+	/***
+	 * 鍒涘缓鑰�
+	 */
+	public static final String CREATOR_FIELD = "creator";
+	/***
+	 * 鍒涘缓鏃堕棿
+	 */
+	public static final String CREATORTIME_FIELD = "createTime";
+
+	/***
+	 * 淇敼鑰�
+	 */
+	public static final String EDITOR_FIELD = "lastModifier";
+
+	/***
+	 * 淇敼鏃堕棿
+	 */
+	public static final String EDITORTIME_FIELD = "lastModifyTime";
+
+	/**
+	 * 鐘舵��
+	 */
+	public static final String CODE_STATUS_FILED = "lcstatus";
+	/**
+	 * 鐘舵��
+	 */
+	public static final String CODE_STATUS_TEXT_FILED = "lcStatusText";
+
+
+	/**
+	 * 闆嗗洟鐮佺殑瀛楁
+	 */
+	public static final String CODE_GROUP_FIELD = "groupcode";
+
+	/**
+	 * 鍒嗙被鐨勪富閿瓧娈�
+	 */
+	public static final String CODE_CLASSIFY_OID_FIELD = "codeclsfid";
+
+	/**
+	 * 妯℃澘鐨勪富閿瓧娈�
+	 */
+	public static final String CODE_TEMPLATE_OID_FIELD = "codetemplateoid";
+
+	/**
+	 * 鍒嗙被鍏ㄨ矾寰勭殑瀛楁
+	 */
+	public static final String CODE_FULL_PATH_FILED = "codeclsfpath";
+
+	/**
+	 * 鐮佹鐨勯暱搴︾殑瀛楁锛�-杩欎笉鏄暟鎹簱閲岀殑瀛楁
+	 */
+	public static final String CODE_SEC_LENGTH_FIELD = "codeSecLengthField";
+
+	/**
+	 * 瀵嗙骇鐨勫瓧娈�
+	 */
+	public static final String SECRET_FIELD = "secretgrade";
+	/**
+	 * 鎷ユ湁鑰�
+	 */
+	public static final String OWNER_FIELD = "owner";
+
+
+	/**
+	 * 榛樿鐨勫睘鎬у垪琛�
+	 */
+	public static final List DEFAULT_ATTR_LIST = new ArrayList(){{
+		add(OID_FIELD);
+		add(CODE_FIELD);
+		add(NAME_FIELD);
+		add(DESCRIPTION_FIELD);
+		add(CREATOR_FIELD);
+		add(CREATORTIME_FIELD);
+		add(EDITOR_FIELD);
+		add(EDITORTIME_FIELD);
+		add(CODE_STATUS_FILED);
+		add(CODE_STATUS_TEXT_FILED);
+		add(CODE_GROUP_FIELD);
+		add(CODE_CLASSIFY_OID_FIELD);
+		add(CODE_TEMPLATE_OID_FIELD);
+		add(CODE_FULL_PATH_FILED);
+		add(OWNER_FIELD);
+		add(SECRET_FIELD);
+	}};
+}
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/httpClient4.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/httpClient4.java
similarity index 98%
rename from Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/httpClient4.java
rename to Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/httpClient4.java
index 9d0cc11..b559dd9 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/httpClient4.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/httpClient4.java
@@ -1,4 +1,4 @@
-package com.vci.ubcs.codeapply;
+package com.vci.ubcs.codeapply.utils;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;

--
Gitblit v1.9.3