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/AttarSearchPanel.java |  163 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 163 insertions(+), 0 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("");
+		}
+
+	}
+}

--
Gitblit v1.9.3