From 4187374bbae66190e7eca6f42cc5e61cfae1637f Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期六, 12 八月 2023 13:33:18 +0800
Subject: [PATCH] PDM集成swing界面相关功能开发

---
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java |  146 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 141 insertions(+), 5 deletions(-)

diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java
index a0730e9..1801ffa 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java
@@ -1,12 +1,31 @@
 package com.vci.ubcs.codeapply;
 
+import com.alibaba.cloud.commons.lang.StringUtils;
+import com.alibaba.fastjson.JSONObject;
+import com.vci.base.ui.swing.VCIOptionPane;
+import com.vci.base.ui.swing.components.VCIJComboBox;
+import com.vci.ubcs.code.dto.CodeOrderDTO;
+import com.vci.ubcs.code.dto.CodeOrderSecDTO;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
+import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
+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.starter.web.pagemodel.KeyValue;
+import org.apache.commons.collections4.CollectionUtils;
+
+import javax.swing.*;
+import javax.swing.text.JTextComponent;
+import javax.swing.tree.TreePath;
 import java.awt.event.ActionEvent;
-import java.util.LinkedHashMap;
+import java.util.*;
 
 public class CodeApplyPanelFor410ActionListener extends CommonActionListener {
 	private CodeApplyPanelFor410 owner = null;
 	private LinkedHashMap<String, Runnable> actionMaps = new LinkedHashMap<String, Runnable>();
-
+	boolean codeAlreadExist = false;
+	private String url= ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController");
 	public CodeApplyPanelFor410ActionListener(CodeApplyPanelFor410 owner){
 		this.owner = owner;
 		this.initActionMap();
@@ -17,14 +36,16 @@
 			//batchApply();//鎵归噺瀵煎叆鐢宠浠g爜
 		}});
 		actionMaps.put("apply", new Runnable() { public void run() {
-			//apply();//鐮佸�肩敵璇�
+			apply();//鐮佸�肩敵璇�
 		}});
 		actionMaps.put("btnSearch", new Runnable() { public void run() {
-			//search();//浠g爜鏌ヨ
+			search();//浠g爜鏌ヨ
 		}});
 		actionMaps.put("clear", new Runnable() { public void run() {
-		//	clear();//娓呯┖灞炴��
+			clear();//娓呯┖灞炴��
 		}});
+
+
 	}
 
 	@Override
@@ -34,4 +55,119 @@
 			actionMaps.get(key).run();
 		}
 	}
+	private void apply() {
+		codeAlreadExist = false;
+		if(null == this.owner.getTransmitTreeObject().getCurrentTreeNode()) {
+			return;
+		}
+		CodeClassify codeClassify = (CodeClassify) this.owner.getTransmitTreeObject().getCurrentTreeNode().getObj();
+		if(codeClassify == null || "".equals(codeClassify.getOid())){
+			VCIOptionPane.showMessage(this.owner, "璇烽�夋嫨缂栫爜椤瑰垎绫伙紒");
+			return;
+		}
+		CodeClassifyTemplateVO codeClassifyTemplateVO = this.owner.getCurrentCodeClassifyTemplateVO();
+		if(codeClassifyTemplateVO!=null&&"".equals(codeClassifyTemplateVO.getOid())) {
+			VCIOptionPane.showMessageDialog(this.owner, "浠g爜椤规病鏈夐厤缃ā鏉�,涓嶅厑璁哥敵璇�!");
+			return;
+		}
+		CodeRuleVO codeRuleVO= this.owner.getRightMainPanel().getCodeRuleVO();
+		/**閫夋嫨鐨勫垎绫绘槸鍚﹀寘鍚鍒欑殑鏍¢獙**/
+		if(codeRuleVO==null||"".equals(codeRuleVO.getOid())) {
+			VCIOptionPane.showMessage(this.owner, "鍒嗙被:" + codeClassify.getName() + " 娌℃湁鍖呭惈瑙勫垯锛屾棤娉曠敵璇凤紒");
+			return;
+		}
+		//鏍¢獙瑙勫垯鏄惁濉啓鍚堟牸
+		if(!this.owner.getRightMainPanel().checkIsAllowed()) {
+			return;
+		}
+
+		//  妫�鏌ユā鏉垮悇灞炴�х殑杈撳叆鍊兼槸鍚︽弧瓒宠姹�
+		String[][] inputValues = this.owner.getRightMainPanel().checkInputValues();
+		String[] fields = inputValues[0];
+		String[] values = inputValues[1];
+		String[] dataTypes = inputValues[2];
+		String[] outNames = inputValues[3];
+		Map<String,String> dataMap=new HashMap<>();
+		for (int i=0;i<fields.length;i++){
+			dataMap.put(fields[i],values[i]);
+		}
+		List<KeyValue> keyValueList= this.owner.getRightMainPanel().getSectionValues();
+		if(CollectionUtils.isEmpty(keyValueList)){
+			VCIOptionPane.showMessage(this.owner, "鍒嗙被:" + codeClassify.getName() + " 娌℃湁鑾峰彇瑙勫垯鐮佹閫夋嫨鍊间俊鎭紝鏃犳硶鐢宠锛�");
+			return;
+		}
+		CodeOrderDTO codeOrderDTO=new CodeOrderDTO();
+		/**绯荤粺鍙姞杞戒唬鐮侀」  濡傛灉libName涓嶄负绌猴紝鐩存帴鑾峰彇瀵瑰簲鐨勪唬鐮侀」**/
+		codeOrderDTO.setCodeClassifyOid(codeClassify.getOid());
+		codeOrderDTO.setTemplateOid(codeClassifyTemplateVO.getOid());
+		codeOrderDTO.setCodeRuleOid(codeRuleVO.getOid());
+		List<CodeOrderSecDTO> secDTOList=new ArrayList<>();
+		keyValueList.stream().forEach(keyValue -> {
+			CodeOrderSecDTO codeOrderSecDTO=new CodeOrderSecDTO();
+			codeOrderSecDTO.setSecOid(keyValue.getKey());
+			codeOrderSecDTO.setSecValue(keyValue.getValue());
+			secDTOList.add(codeOrderSecDTO);
+		});
+		codeOrderDTO.setSecDTOList(secDTOList);
+		codeOrderDTO.setData(dataMap);
+		Object object = JSONObject.toJSON(codeOrderDTO);
+		Map<String,String> headerMap=new HashMap<>();
+		headerMap.put("content-type","application/json");
+		R r= HttpUtil.sendPost(url+"/addSaveCode",object.toString(),headerMap);
+		String code="";
+		if(r.isSuccess()){
+			code=r.getData().toString();
+			this.owner.setApplyCode(code);
+
+		}else{
+			VCIOptionPane.showMessage(this.owner,r.getMsg());
+		}
+
+	}
+	/***
+	 * 娓呯┖灞炴��
+	 */
+	private void clear(){
+		CodeApplyFor410MainPanel rightMainPanel2 = this.owner.getRightMainPanel();
+		LinkedHashMap<String, JComponent> attrInnerNameToCtrlMaps = rightMainPanel2.getAttrInnerNameToCtrlMaps();
+		if(attrInnerNameToCtrlMaps!=null&&attrInnerNameToCtrlMaps.size()>0){
+			attrInnerNameToCtrlMaps.forEach((key,component)->{
+				if(component instanceof JTextComponent){
+					if(((JTextComponent) component).isEnabled())
+						((JTextComponent) component).setText("");
+				}else if(component instanceof VCIJComboBox){
+					if(((VCIJComboBox) component).isEnabled())
+						((VCIJComboBox) component).setSelectedIndex(0);
+				}
+			});
+		}
+		String applyCode = this.owner.getApplyCode();
+		if(StringUtils.isBlank(applyCode)) {
+			this.owner.setApplyCode("");
+		}
+	}
+
+	/**
+	 *
+	 * 鏌ヨ浠g爜
+	 */
+	private void search(){
+		if(null == this.owner.getRightMainPanel().getTransTreeObject().getCurrentTreeNode()) {
+			return;
+		}
+		CodeClassify rmType = (CodeClassify) this.owner.getRightMainPanel().getTransTreeObject().getCurrentTreeNode().getObj();
+		if(rmType == null || "".equals(rmType.getId())){
+			VCIOptionPane.showMessage(this.owner, "璇烽�夋嫨浠g爜椤瑰垎绫伙紒");
+			return;
+		}
+
+		CodeApplyFor410SearchDialog dialog = new CodeApplyFor410SearchDialog(this.owner);
+		String str = dialog.getStr();
+		if (!str.equals("")) {
+			owner.applyTxt.setText(str);
+		}
+
+	}
+
+
 }

--
Gitblit v1.9.3