From 4470052c3b6bdeb18e45987f8aa293d1e93d0552 Mon Sep 17 00:00:00 2001
From: Ludc <2870569285@qq.com>
Date: 星期二, 18 十一月 2025 11:59:12 +0800
Subject: [PATCH] 所有文件上传接口增加文件安全校验逻辑。
---
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410MainPanel.java | 527 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 420 insertions(+), 107 deletions(-)
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410MainPanel.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410MainPanel.java
index c648cc4..0fa8035 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410MainPanel.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410MainPanel.java
@@ -1,23 +1,27 @@
package com.vci.rmip.code.client.codeapply.Apply410;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.vci.base.ui.swing.VCIOptionPane;
import com.vci.base.ui.swing.components.*;
import com.vci.base.ui.tree.VCIBaseTreeNode;
+import com.vci.rmip.code.client.codeapply.Apply410.enums.VciFieldTypeEnum;
import com.vci.rmip.code.client.codeapply.Apply410.object.*;
-import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.rmip.code.client.codeapply.Apply410.object.ubcscode.vo.CodeBasicSecVO;
+import com.vci.rmip.code.client.codeapply.Apply410.object.ubcscode.vo.CodeClassifyTemplateAttrVO;
+import com.vci.rmip.code.client.codeapply.Apply410.object.ubcscode.vo.CodeFixedValueVO;
+import com.vci.rmip.code.client.codeapply.Apply410.object.ubcscode.vo.CodeRuleVO;
+import com.vci.rmip.code.client.codeapply.Apply410.object.ubcscode.vo.KeyValue;
import com.vci.rmip.code.client.codeapply.Apply410.swing.IntegerTextField;
import com.vci.rmip.code.client.codeapply.Apply410.swing.RealTextField;
import com.vci.rmip.code.client.codeapply.Apply410.swing.VCIJComboxBox;
+import com.vci.rmip.code.client.codeapply.Apply410.utils.BeanUtilForVCI;
import com.vci.rmip.code.client.codeapply.Apply410.utils.ConfigUtils;
import com.vci.rmip.code.client.codeapply.Apply410.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 net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
+import com.vci.rmip.code.client.codeapply.Apply410.utils.VciBaseUtil;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
+import org.codehaus.jackson.JsonProcessingException;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.type.TypeReference;
import javax.swing.*;
import javax.swing.text.JTextComponent;
@@ -27,12 +31,12 @@
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
+import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.List;
import java.util.regex.Pattern;
-import java.util.stream.Collectors;
public class CodeApplyFor410MainPanel extends VCIJPanel {
@@ -42,6 +46,11 @@
private final String SPECIAL_SECTION_NAME = "Special.section.name";
private final String SPECIAL_CONTROL_SECTION_NAME = "Special.control.other.section.name";
private final String SPECIAL_SECTION_VALUE = "Special.section.val";
+
+
+ Map<String, CodeBasicSecVO> secMap = new LinkedHashMap<String, CodeBasicSecVO>();
+ Map<String, VCIJComboxBox> comMap = new LinkedHashMap<String, VCIJComboxBox>();
+ Map<String, Integer> secPositionMap = new LinkedHashMap<String, Integer>();
private final String MAX_ATTR_IN_LINE_KEY = "RMData.MaxAttrInLine";
private final String TEXTAREA_ENABLE_KEY = "RMData.TextArea.Enable";
@@ -84,8 +93,12 @@
private StringBuffer tempStr= new StringBuffer();//鍙彉鐮佹鐨勫��;
private String levelRes="";
private String[] specialSecVals = new String[0];
- private RMDataTransmitObject transmitForRMData = null;
+ private RMDataTransmitObject transmitForRMData = new RMDataTransmitObject();
private CodeRuleVO codeRuleVO=null;
+ /**
+ * 瀛樺偍灞炴�у拰鍊肩殑Map,key,鐢ㄤ簬榛樿鍊肩殑鏄剧ず
+ */
+ private Map<String,String> displayValues = new HashMap<>();
/**
* 灞炴�D涓庡睘鎬у搴旂殑鎺т欢涔嬮棿鐨勬槧灏凪AP
*/
@@ -117,11 +130,12 @@
this.currentCodeClassifyTemplateVO=currentCodeClassifyTemplateVO;
}
- public CodeApplyFor410MainPanel(TransmitTreeObject transTreeObject,TokenUserObject tokenUserObject,String deptName,CodeClassifyTemplateVO currentCodeClassifyTemplateVO) {
+ public CodeApplyFor410MainPanel(TransmitTreeObject transTreeObject,TokenUserObject tokenUserObject,String deptName,CodeClassifyTemplateVO currentCodeClassifyTemplateVO,Map displayValues) {
this.transTreeObject = transTreeObject;
this.tokenUserObject = tokenUserObject;
this.deptName = deptName;
this.currentCodeClassifyTemplateVO=currentCodeClassifyTemplateVO;
+ this.displayValues = displayValues;
}
/**
@@ -158,12 +172,15 @@
ObjectMapper objectMapper = new ObjectMapper();
try {
codeRuleVO = objectMapper.readValue(object.toString(),CodeRuleVO.class);
- } catch (JsonProcessingException e) {
+ } catch (IOException e) {
e.printStackTrace();
}
+
}
}else{
- VCIOptionPane.showMessage(this,r.getMsg());
+ /* if(!r.getMsg().equals("褰撳墠涓婚搴撳垎绫伙紝浠ュ強瀹冪殑鎵�鏈夌殑涓婄骇鍒嗙被閮芥病鏈夎缃紪鐮佽鍒�")){
+ VCIOptionPane.showMessage(this,r.getMsg());
+ }*/
}
/**鍔犺浇瑙勫垯瀵瑰簲鐨勭爜娈典俊鎭�**/
if(codeRuleVO!=null){
@@ -476,7 +493,7 @@
String classifyLevel = tempPropObj.getClassifyInvokeLevel();
String classifyInvokeAttr= tempPropObj.getClassifyInvokeAttr();
JComponent compt = attrInnerNameToCtrlMaps.get(innerName);
- if(StringUtils.isNotBlank(classifyLevel)&&!classifyLevel.equals("none")&&!classifyLevel.equals("min")) {
+ if(StringUtils.isNotBlank(classifyLevel)&&!classifyLevel.equals("none")) {
compt.setEnabled(false);
//ClassifyLevel classifyLevelObj=new ClassifyLevel();
//ObjectMapper objectMapper = new ObjectMapper();
@@ -546,10 +563,10 @@
* @param secObjs
*/
public void initCurrentRow(CodeBasicSecVO[] secObjs,VCIJComboxBox[] secCombos) {
- SectionObject lastSecObj = null;
+ CodeBasicSecVO lastSecObj = null;
VCIJComboxBox hisCombo = null;
try {
- final Map<String, String> secValMap = getSpecialValMap(specialSecVals);
+ final Map<String, String> sOecValMap = getSpecialValMap(specialSecVals);
Map<String,List<String>> secIdTOListValueOidMap=new HashMap<>();
for(int k = 0;k < secObjs.length; k++) {
final CodeBasicSecVO secObj = secObjs[k];
@@ -560,6 +577,29 @@
if (secObj.getSecType().equals("codeclassifysec")) {// 鏄垎绫荤爜
String secOid=secObj.getOid();
String parentClassifySecOid= secObj.getParentClassifySecOid();
+
+ if(lastSecObj != null) {
+ lastSecObj = secMap.get(secObj.getParentClassifySecOid());
+ hisCombo = comMap.get(secObj.getParentClassifySecOid());
+ }
+
+ if(lastSecObj != null && lastSecObj.getSecType().equals("codeclassifysec")
+ && secObj.getParentClassifySecOid().equals(lastSecObj.getOid())) {
+
+ hisCombo.addActionListener(new NextComboAction(secPositionMap.get(secObj.getParentClassifySecOid()), comMap.get(secObj.getParentClassifySecOid()),secCombos));
+ initNextCombo(k,secCombo,(CodeClassifyValue)comMap.get(secObj.getParentClassifySecOid()).getSelectedItem(),secPositionMap.get(secObj.getParentClassifySecOid()),secCombos);
+
+ //澶氱骇鍒嗙被鐮佹鐮佸�煎姞杞介敊璇殑Bug淇
+ lastSecObj = secObj;
+ hisCombo = secCombo;
+
+ secMap.put(secObj.getOid(), secObj);
+ comMap.put(secObj.getOid(), secCombo);
+ secPositionMap.put(secObj.getOid(),k);
+ continue;
+
+ }
+
String parentClassifyValueOid="";
if(secIdTOListValueOidMap.containsKey(parentClassifySecOid)){
List<String> parentClassifyValueList= secIdTOListValueOidMap.get(parentClassifySecOid);
@@ -577,7 +617,7 @@
if(object!=null) {
ObjectMapper objectMapper = new ObjectMapper();
try {
- codeClassifyValueList = objectMapper.readValue(object.toString(), new com.fasterxml.jackson.core.type.TypeReference<List<CodeClassifyValue>>() {});
+ codeClassifyValueList = objectMapper.readValue(object.toString(), new TypeReference<List<CodeClassifyValue>>() {});
} catch (JsonProcessingException e) {
e.printStackTrace();
}
@@ -590,12 +630,18 @@
if(codeClassifyValueList.size()>1) {
secCombo.addItem(new CodeClassifyValue());
}
- codeClassifyValueList.stream().forEach(codeClassifyValue -> {
+ for (CodeClassifyValue codeClassifyValue : codeClassifyValueList) {
secCombo.addItem(codeClassifyValue);
valueOidList.add(codeClassifyValue.getOid());
- });
+ }
}
secIdTOListValueOidMap.put(secObj.getOid(),valueOidList);
+ lastSecObj = secObj;
+ hisCombo = secCombo;
+
+ secMap.put(secObj.getOid(), secObj);
+ comMap.put(secObj.getOid(), secCombo);
+ secPositionMap.put(secObj.getOid(),k);
/**浠g爜椤逛笅鎷変簨浠�**/
secCombo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -628,16 +674,17 @@
// 鏄浐瀹氱爜
if (secObj.getSecType() .equals("codefixedsec")) {
List<CodeFixedValueVO> fixedValueVOList=secObj.getFixedValueVOList();
- //濡傛灉鍙湁涓�涓�硷紝鍒欑郴缁熼粯璁ら�夋嫨锛屼笉鍔犵┖鍊�
- if(fixedValueVOList.size() >1) {
- secCombo.addItem(new CodeFixedValue());
- }
- fixedValueVOList.stream().forEach(codeFixedValueVO -> {
- CodeFixedValue codeFixedValue=new CodeFixedValue();
- BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueVO,codeFixedValue);
- secCombo.addItem(codeFixedValue);
- });
- /**褰撶郴缁熼�夋嫨鐨勬槸鎸囧畾鐮佹鍊兼椂锛岀粍鍒唬鍙风殑鐮佹绯荤粺涓嶆樉绀� Begin**/
+ //濡傛灉鍙湁涓�涓�硷紝鍒欑郴缁熼粯璁ら�夋嫨锛屼笉鍔犵┖鍊�
+ if(fixedValueVOList.size() >1) {
+ secCombo.addItem(new CodeFixedValue());
+ }
+ for (CodeFixedValueVO codeFixedValueVO : fixedValueVOList) {
+ CodeFixedValue codeFixedValue=new CodeFixedValue();
+
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueVO,codeFixedValue);
+ secCombo.addItem(codeFixedValue);
+ }
+ /**褰撶郴缁熼�夋嫨鐨勬槸鎸囧畾鐮佹鍊兼椂锛岀粍鍒唬鍙风殑鐮佹绯荤粺涓嶆樉绀� Begin**/
/*FixCodeValObject selObj = (FixCodeValObject) secCombo.getSelectedItem();
if(isSpecialRuleFlag && (secObj.getName().equals(specialControlSecName) && secValMap.containsKey(selObj.getValue())) || secValMap.containsKey(getControlSecSelectValue())) {
setComponentStatus(false);
@@ -659,30 +706,30 @@
secCombo.setFlag(false);
secCombo.getSearchBtn().setVisible(false);
}*/
- } else
+ } else
// 鏄棩鏈熺爜娈�
- if (secObj.getSecType().equals("codedatesec")) {
- String df =secObj.getCodeDateFormatStr();
- SimpleDateFormat dateFormate = new SimpleDateFormat(df);
- String curDate = dateFormate.format(Calendar.getInstance().getTime());
- secCombo.addItem(curDate);
+ if (secObj.getSecType().equals("codedatesec")) {
+ String df =secObj.getCodeDateFormatStr();
+ SimpleDateFormat dateFormate = new SimpleDateFormat(df);
+ String curDate = dateFormate.format(Calendar.getInstance().getTime());
+ secCombo.addItem(curDate);
/*if(dateObj.getIsModify().equals("Y")){//鍙互淇敼
secCombo.setEditable(true);
}*/
- } else
- //鏄紩鐢ㄧ爜娈�
- if (secObj.getSecType().equals("coderefersec")) {
+ } else
+ //鏄紩鐢ㄧ爜娈�
+ if (secObj.getSecType().equals("coderefersec")) {
- if (!secCombo.isFlag()){
- secCombo.setFlag(true);
- secCombo.getSearchBtn().setVisible(true);
- secCombo.getSearchBtn().addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- doSearch(secCombo,secObj);
+ if (!secCombo.isFlag()){
+ secCombo.setFlag(true);
+ secCombo.getSearchBtn().setVisible(true);
+ secCombo.getSearchBtn().addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ doSearch(secCombo,secObj);
+ }
+ });
}
- });
- }
/*RefSecObject refObj = getRefSecObj(secObj.getId());
DefaultComboBoxModel aModel = getRefSecComboBox(refObj);
secCombo.setModel(aModel);
@@ -710,13 +757,13 @@
}
*/} else
- //灞傜骇鐮佹鐮佸�兼樉绀虹殑鏄�夋嫨鐨勪唬鐮侀」鐨勫悕绉�
- if(secObj.getSecType().equals("codelevelsec")) {
- CodeClassify rmObj = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj();
- secCombo.addItem(rmObj);
- } else {
- secCombo.setEditable(true);
- }
+ //灞傜骇鐮佹鐮佸�兼樉绀虹殑鏄�夋嫨鐨勪唬鐮侀」鐨勫悕绉�
+ if(secObj.getSecType().equals("codelevelsec")) {
+ CodeClassify rmObj = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj();
+ secCombo.addItem(rmObj);
+ } else {
+ secCombo.setEditable(true);
+ }
}
}catch (Exception e) {
e.printStackTrace();
@@ -742,10 +789,16 @@
transmit.setRmTypeObject(codeClassify);
if(currentCodeClassifyTemplateVO!=null) {
transmit.setTemplateId(templateId);
- Map<String, CodeClassifyTemplateAttrVO> tempPropObjMapsByInnerName = currentCodeClassifyTemplateVO.getAttributes().stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
+ Map<String, CodeClassifyTemplateAttrVO> tempPropObjMapsByInnerName = new HashMap<>();
+ for (CodeClassifyTemplateAttrVO attribute : currentCodeClassifyTemplateVO.getAttributes()) {
+ tempPropObjMapsByInnerName.put(attribute.getId().toLowerCase(Locale.ROOT),attribute);
+ }
transmit.setClassifyCode(codeClassify.getId());
transmit.setTempPropObjMapsByInnerName(tempPropObjMapsByInnerName);
- Map<String, CodeClassifyTemplateAttrVO> tempPropObjsMap = currentCodeClassifyTemplateVO.getAttributes().stream().collect(Collectors.toMap(s -> s.getOid().toLowerCase(Locale.ROOT), t -> t));
+ Map<String, CodeClassifyTemplateAttrVO> tempPropObjsMap = new HashMap<>();
+ for (CodeClassifyTemplateAttrVO attribute : currentCodeClassifyTemplateVO.getAttributes()) {
+ tempPropObjsMap.put(attribute.getOid().toLowerCase(Locale.ROOT),attribute);
+ }
transmit.setTempPropObjsMap(tempPropObjsMap);
transmit.setTemplateObject(currentCodeClassifyTemplateVO);
transmit.setTempPropObjsList(this.currentCodeClassifyTemplateVO.getAttributes());
@@ -785,7 +838,7 @@
if (index >= realAttrs.length) {
break;
}
- CodeClassifyTemplateAttrVO attrObj = realAttrs[index];
+ final CodeClassifyTemplateAttrVO attrObj = realAttrs[index];
/***濡傛灉妯℃澘閰嶇疆浜嗗紩鐢ㄦā鏉匡紝灞炴�у悕绉板垪琛ㄦ坊鍔犻摼鎺ヨ繘琛屽鐞� BEGIN**/
//ADD BY liujw
@@ -808,7 +861,7 @@
lbl.setToolTipText("鐐瑰嚮姝ゅ鑾峰彇妯℃澘瀵瑰簲瑙勫垯鐨勫��");
lbl.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e){
- getComptAttrValue(attrObj,attrIdToCtrlMaps);
+ getComptAttrValue(attrObj,attrIdToCtrlMaps);
}
});
@@ -951,10 +1004,19 @@
for (int i = 0; i < objs.length; i++) {
objs[i] = new AttrRangObjectWarper(keyValues[i]);
model.addElement(objs[i]);
-
specMap.put(objs[i].toString(), comboBoxIndex++);
}
cbx.setModel(model);
+ if(displayValues.containsKey(attrObj.getId())){
+// cbx.setSelectedItem(displayValues.get(attrObj.getId()));
+// cbx.setSelectedIndex(3);
+ for (int i = 0; i < objs.length; i++) {
+ if(objs[i].getKeyValue().getKey().equals(displayValues.get(attrObj.getId()))){
+ cbx.setSelectedIndex(i);
+ }
+ }
+ cbx.setEnabled(false);
+ }
compt = cbx;
}
} else if(StringUtils.isNotBlank(attrObj.getReferConfig())){//鍙傜収鐨勯渶瑕佽缃垚涓嬫媺妗嗭紝骞朵笖鍙
@@ -968,49 +1030,296 @@
cbx.setModel(model);
compt = cbx;
} else { // 涓嶅瓨鍦ㄥ彇鍊艰寖鍥村垯鎸夌被鍨嬬敓鎴愪笉鍚岀殑鎺т欢
- if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTBoolean)) { // Boolean绫诲瀷
+ if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTBoolean.toString())) { // Boolean绫诲瀷
VCIJComboBox cbx = new VCIJComboBox();
DefaultComboBoxModel model = new DefaultComboBoxModel();
model.addElement("0");
model.addElement("1");
cbx.setModel(model);
+ if(displayValues.containsKey(attrObj.getId())){
+ cbx.setSelectedIndex(Integer.parseInt(displayValues.get(attrObj.getId())));
+ cbx.setEnabled(false);
+ return cbx;
+ }
compt = cbx;
- } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDate)) { // 鏃ユ湡绫诲瀷
- compt = new VCIJCalendarPanel("yyyy-MM-dd",
+ } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDate.toString())) { // 鏃ユ湡绫诲瀷
+ VCIJCalendarPanel aTrue = new VCIJCalendarPanel("yyyy-MM-dd",
attrObj.getRequireFlag().equals("true"), true, false);
- } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDateTime)) { // 鏃ユ湡绫诲瀷
- compt = new VCIJCalendarPanel("yyyy-MM-dd HH:mm:ss",
- attrObj.getRequireFlag().equals("true"), true, false);
- }else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTTime)) { // 鏃ユ湡绫诲瀷
- compt = new VCIJCalendarPanel("HH:mm:ss",
- attrObj.getRequireFlag().equals("true"), true, false);
- }
- else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDouble)||attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTLong)) { // Real绫诲瀷
+ if(displayValues.containsKey(attrObj.getId())){
+ aTrue.setDateString(displayValues.get(attrObj.getId()));
+ aTrue.setEnabled(false);
+ return aTrue;
+ }
+ compt = aTrue;
+ } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDateTime.toString())) { // 鏃ユ湡绫诲瀷
+ VCIJCalendarPanel aTrue = new VCIJCalendarPanel("yyyy-MM-dd HH:mm:ss",
+ attrObj.getRequireFlag().equals("true"), true, false);
+ if(displayValues.containsKey(attrObj.getId())){
+ aTrue.setDateString(displayValues.get(attrObj.getId()));
+ aTrue.setEnabled(false);
+ return aTrue;
+ }
+ compt = aTrue;
+ }else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTTime.toString())) { // 鏃ユ湡绫诲瀷
+ VCIJCalendarPanel aTrue = new VCIJCalendarPanel("HH:mm:ss",
+ attrObj.getRequireFlag().equals("true"), true, false);
+ if(displayValues.containsKey(attrObj.getId())){
+ aTrue.setDateString(displayValues.get(attrObj.getId()));
+ aTrue.setEnabled(false);
+ return aTrue;
+ }
+ compt = aTrue;
+ }
+ else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDouble.toString())||attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTLong.toString())) { // Real绫诲瀷
RealTextField txt = new RealTextField("");
txt.setRequired(attrObj.getRequireFlag().equals("true"));
+ if(displayValues.containsKey(attrObj.getId())){
+ txt.setText(displayValues.get(attrObj.getId()));
+ txt.setEditable(false);
+ }
compt = txt;
- } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTInteger)) { // Integer绫诲瀷
+ } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTInteger.toString())) { // Integer绫诲瀷
IntegerTextField txt = new IntegerTextField("");
txt.setRequired(attrObj.getRequireFlag().equals("true"));
+ if(displayValues.containsKey(attrObj.getId())){
+ txt.setText(displayValues.get(attrObj.getId()));
+ txt.setEditable(false);
+ }
compt = txt;
}
- else{
- VCIJTextField txt = new VCIJTextField(this,attrObj.getRequireFlag().equals("true"));
- compt = txt;
- textCompts.add(txt);
- }
+ else{
+ VCIJTextField txt = new VCIJTextField(this,attrObj.getRequireFlag().equals("true"));
+ if(displayValues.containsKey(attrObj.getId())){
+ txt.setText(displayValues.get(attrObj.getId()));
+ txt.setEditable(false);
+ }
+ compt = txt;
+ textCompts.add(txt);
+ }
boolean enabled = true;
- /*// 闆嗗洟浠g爜銆侀泦鍥㈤檮鍔犵爜涓嶅彲浠ユ墜宸ュ綍鍏ユ暟鎹�
- if (attrObj.getId().equals(Constants.GROUP_CODE_INNERNAME)|| attrObj.getInternalname().equals(Constants.GROUP_ADD_CODE_INNERNAME)) {
+ // 闆嗗洟浠g爜銆侀泦鍥㈤檮鍔犵爜涓嶅彲浠ユ墜宸ュ綍鍏ユ暟鎹�
+ if (attrObj.getId().toLowerCase().equals("groupcode")) {
enabled = false;
- }*/
+ }
compt.setEnabled(enabled);
}
return compt;
}
+ /**
+ * 澶勭悊涓嬫媺妗嗙殑浜嬩欢
+ * @author Administrator
+ *
+ */
+ class NextComboAction implements ActionListener {
+ private int column = 0;
+ private VCIJComboxBox curCombo = null;
+ private VCIJComboxBox[] secCombos = null;
+
+ public NextComboAction(int column,VCIJComboxBox curCombo,VCIJComboxBox[] secCombos) {
+ this.column = column;
+ this.curCombo = curCombo;
+ this.secCombos = secCombos;
+ }
+
+ public void actionPerformed(ActionEvent e) {
+ VCIJComboxBox nextCombo = secCombos[column+1];
+ if(curCombo.getSelectedIndex() != -1){
+ CodeClassifyValue obj = (CodeClassifyValue)curCombo.getSelectedItem();
+ initNextCombo(column+1, nextCombo, obj, column,secCombos);
+ }
+ }
+ }
+ /**
+ * 鍒濆鍖栦笅涓�涓笅鎷夊垪琛�
+ * @param column
+ * @param curCombo
+ * @param lastObj 涓婁竴涓�変腑鐨勫垎绫荤爜娈电爜鍊肩殑瀵硅薄锛堝彧閽堝鍒嗙被鐮侊級
+ */
+ public void initNextCombo(int column,VCIJComboxBox curCombo,CodeClassifyValue lastObj,int lastColumn,VCIJComboxBox[] secCombos) {
+
+ final VCIJComboxBox nextCombo = curCombo;
+ CodeBasicSecVO lastSecObj = columnSecMap.get(lastColumn);
+ final CodeBasicSecVO nextSecObj = columnSecMap.get(column);
+
+ if(nextSecObj == null) {//濡傛灉鍚庨潰娌℃湁瀵硅薄锛屽垯杩斿洖
+ return;
+ }
+
+ boolean isContinue = false;
+ if(nextSecObj.getSecType().equals("codeclassifysec")){//濡傛灉褰撳墠鏄垎绫荤爜
+ CodeBasicSecVO curObj =nextSecObj;
+ if(lastSecObj.getSecType().equals("codeclassifysec")
+ && curObj.getParentClassifySecOid().equals(lastSecObj.getOid())){
+ isContinue = true;
+ }
+ }
+ if(lastObj == null || !isContinue){//濡傛灉褰撳墠鍒楃殑涓嬫媺妗嗗凡缁忓垵濮嬭繃,骞朵笖涓婁竴鍒嗙被鐮佷笉鏄綋鍓嶅垎绫荤爜鐨勭埗
+ return;
+ }
+ VCIJComboxBox lastColumnComboxBox= secCombos[lastColumn];
+
+ if(nextSecObj.getSecType().equals("codeclassifysec")){//鍒嗙被鐮�
+ CodeClassifyValue[] clsfCodeVals = new CodeClassifyValue[]{};
+ //濡傛灉涓婁竴涓槸鍒嗙被鐮�,骞朵笖鏄綋鍓嶅垎绫荤爜鐨勭埗
+ /*if (isContinue) {
+ clsfCodeVals = clsfCodeValDel.getChildClsfCodeVal(lastObj.getOid());
+ } else {
+ clsfCodeVals = clsfCodeValDel.getSecRootClsfCodeVal(nextSecObj.getOid());//鑾峰彇璇ョ爜娈典笅鐨勬墍鏈夌爜娈电爜鍊煎璞�
+ }*/
+ String parentClassifyValueOid="";
+ if(lastColumnComboxBox!=null){
+ CodeClassifyValue selectedItem = (CodeClassifyValue)lastColumnComboxBox.getSelectedItem();
+ if(selectedItem!=null)
+ parentClassifyValueOid= selectedItem.getOid();
+
+ }
+ Map<String,String> condtionMap=new HashMap<>();
+ condtionMap.put("secOid", nextSecObj.getOid());
+ condtionMap.put("parentClassifyValueOid",parentClassifyValueOid);
+ Map<String,String> headerMap=new HashMap<>();
+ headerMap.put("Blade-Auth",this.tokenUserObject.getAccess_token());
+ R r=HttpUtil.sendGet(url+"/listCodeClassifyValueBySecOid",condtionMap,headerMap);
+ List<CodeClassifyValue> codeClassifyValueList=new ArrayList<>();
+ if(r.isSuccess()){
+ Object object= r.getData();
+ if(object!=null) {
+ ObjectMapper objectMapper = new ObjectMapper();
+ try {
+ codeClassifyValueList = objectMapper.readValue(object.toString(), new TypeReference<List<CodeClassifyValue>>() {});
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ }else{
+ VCIOptionPane.showMessage(this,r.getMsg());
+ }
+
+ DefaultComboBoxModel model = new DefaultComboBoxModel();
+ for(int i = 0;i< codeClassifyValueList.size();i++) {
+ /*if(!codeClassifyValueList.get(i).getOid().equals(nextSecObj.getOid())) {
+ continue;
+ }*/
+ model.addElement(codeClassifyValueList.get(i));
+ }
+
+ /*Map<String, String> secValMap = getSpecialValMap(specialSecVals);
+ if(isSpecialRuleFlag && (lastSecObj.getName().equals(specialControlSecName) && secValMap.containsKey(lastObj.getValue())) || secValMap.containsKey(getControlSecSelectValue())) {
+ setComponentStatus(false);
+ }else {
+ setComponentStatus(true);
+ }*/
+ /******************END************************/
+
+ nextCombo.setModel(model);
+ nextCombo.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent arg0) {
+ ((VCIJTextField)secIdToClsfIdMap.get(nextSecObj.getId())).setText(((CodeClassifyValue)nextCombo.getSelectedItem()).getName());
+ }
+ });
+
+ if(nextCombo.getSelectedItem() != null) {
+ ((VCIJTextField)secIdToClsfIdMap.get(lastSecObj.getId())).setText(lastObj.getName());
+ ((VCIJTextField)secIdToClsfIdMap.get(nextSecObj.getId())).setText(((CodeClassifyValue)nextCombo.getSelectedItem()).getName());
+ }
+
+ //淇閫夋嫨鍒嗙被鐮佹鐮佸�煎悗锛屾墍鏈夌殑瀛愬垎绫荤殑鐮佹鐮佸�间笉鑳芥洿鏂扮殑闂
+ int k = column + 1;
+ if(k < columnSecMap.size() && columnSecMap.get(k).getSecType().equals("codeclassifysec")) {
+ CodeBasicSecVO currentSecObj = columnSecMap.get(k);
+ // SortSecObject curObj = new SectionClientDelegate(userObj).fetchSortSecById(currentSecObj.getId());
+ if (secPositionMap.get(currentSecObj.getParentClassifySecOid()) != null) {
+// secCombos[column].addActionListener(new NextComboAction(secPositionMap.get(curObj.getId()), comMap.get(curObj.getId()),secCombos));
+ CodeClassifyValue nextClsfCodeValObj = (CodeClassifyValue)comMap.get(currentSecObj.getParentClassifySecOid()).getSelectedItem() == null ? new CodeClassifyValue():(CodeClassifyValue)comMap.get(currentSecObj.getParentClassifySecOid()).getSelectedItem();
+ initNextCombo(k,secCombos[k],nextClsfCodeValObj,secPositionMap.get(currentSecObj.getParentClassifySecOid()),secCombos);
+ }
+// k++;
+ }
+ /*if (nextCombo.getItemCount() > 10){
+ if (!nextCombo.isFlag()){
+ nextCombo.setFlag(true);
+ nextCombo.getSearchBtn().setVisible(true);
+ nextCombo.getSearchBtn().addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ doSearch(nextCombo);
+ }
+ });
+ }
+
+ }else {
+ nextCombo.setFlag(false);
+ nextCombo.getSearchBtn().setVisible(false);
+ }*/
+ }else if(nextSecObj.getSecType().equals("codefixedsec")){//鍥哄畾鐮�
+ Map<String, String> secValMap = getSpecialValMap(specialSecVals);
+ /*if(isSpecialRuleFlag && (lastSecObj.getName().equals(specialControlSecName) && secValMap.containsKey(lastObj.getValue())) || secValMap.containsKey(getControlSecSelectValue())) {
+ setComponentStatus(false);
+ }else {
+ setComponentStatus(true);
+ }*/
+ /******************END************************/
+
+ // SectionValueClientDelegate codeValDel = new SectionValueClientDelegate(userObj);
+ //FixCodeValObject[] codeValObjs = codeValDel.fetchFixCodeValBySecId(nextSecObj.getId());//鑾峰彇璇ョ爜娈典笅鐨勬墍鏈夌爜娈电爜鍊煎璞�
+ List<CodeFixedValueVO> fixedValueVOList=nextSecObj.getFixedValueVOList();
+ for(int i = 0;i< fixedValueVOList.size();i++) {
+ nextCombo.addItem(fixedValueVOList.get(i));
+ }
+ /*if (nextCombo.getItemCount() > 10){
+ if (!nextCombo.isFlag()){
+ nextCombo.setFlag(true);
+ nextCombo.getSearchBtn().setVisible(true);
+ nextCombo.getSearchBtn().addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ doSearch(nextCombo);
+ }
+ });
+ }
+ }else {
+ nextCombo.setFlag(false);
+ nextCombo.getSearchBtn().setVisible(false);
+ }*/
+ }else if(nextSecObj.getSecType().equals("codedatesec")){//鏃ユ湡鐮佹
+ // DateSecObject dateObj = secDel.fetchDateSecById(nextSecObj.getId());
+
+ String df =nextSecObj.getCodeDateFormatStr();
+ String CodeDateValue= nextSecObj.getCodeDateValue();
+ SimpleDateFormat dateFormate = new SimpleDateFormat(df);
+ if(StringUtils.isBlank(CodeDateValue)){
+ CodeDateValue= dateFormate.format(Calendar.getInstance().getTime());
+ }
+ nextCombo.addItem(CodeDateValue);
+ /*if(dateObj.getIsModify().equals("Y")){
+ nextCombo.setEditable(true);
+ }*/
+ }/*else if(nextSecObj.getSecType() equals("")){//鍒嗛殧绗�
+ nextCombo.addItem(nextSecObj.getId());}*/
+ else if (nextSecObj.getSecType().equals("coderefersec")) {
+ if (!nextCombo.isFlag()){
+ nextCombo.setFlag(true);
+ nextCombo.getSearchBtn().setVisible(true);
+ nextCombo.getSearchBtn().addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ doSearch(nextCombo,nextSecObj);
+ }
+ });
+ }
+ }else {
+ nextCombo.setEditable(true);
+ }
+ }
+
+
+
/****
* 鏍规嵁灞炴�d鑾峰彇灞炴�у彇鍊艰寖鍥寸殑鍊�
* <p>Description: </p>
@@ -1036,9 +1345,9 @@
if(object!=null) {
ObjectMapper objectMapper = new ObjectMapper();
try {
- keyValueList = objectMapper.readValue(object.toString(), new com.fasterxml.jackson.core.type.TypeReference<List<KeyValue>>() {
+ keyValueList = objectMapper.readValue(object.toString(), new TypeReference<List<KeyValue>>() {
});
- } catch (JsonProcessingException e) {
+ } catch (IOException e) {
e.printStackTrace();
}
}
@@ -1153,7 +1462,8 @@
private void getComptAttrValue( CodeClassifyTemplateAttrVO tempPropObj, LinkedHashMap<String, JComponent> attrIdToCtrlMaps) {
Map<String,String> dataMap=new HashMap<>();
Map<String,String> condtionMap=new HashMap<>();
- attrIdToCtrlMaps.forEach((key,compt)->{
+ for(String key: attrIdToCtrlMaps.keySet()){
+ JComponent compt = attrIdToCtrlMaps.get(key);
String value = "";
if (compt instanceof JTextComponent) {
value = ((JTextComponent) compt).getText();
@@ -1170,7 +1480,7 @@
}
dataMap.put(key,value);
condtionMap.put("dataMap["+key+"]",value);
- });
+ }
condtionMap.put("componentRuleValue",tempPropObj.getComponentRule());
Map<String,String> headerMap=new HashMap<>();
headerMap.put("Blade-Auth",this.tokenUserObject.getAccess_token());
@@ -1194,14 +1504,14 @@
VCIOptionPane.showMessage(this,r.getMsg());
}
}
- /**
- * 鏍规嵁寮曠敤妯℃澘鐨刬d鑾峰彇寮曠敤妯℃澘瀵硅薄鍖呭惈鐨勬暟鎹�
- * <p>Description: </p>
- *
- * @author liujw
- * @time 2012-11-29
- * @param //referTempId 寮曠敤妯℃澘id
- */
+ /**
+ * 鏍规嵁寮曠敤妯℃澘鐨刬d鑾峰彇寮曠敤妯℃澘瀵硅薄鍖呭惈鐨勬暟鎹�
+ * <p>Description: </p>
+ *
+ * @author liujw
+ * @time 2012-11-29
+ * @param //referTempId 寮曠敤妯℃澘id
+ */
private void getReferTempRMData(final CodeClassifyTemplateAttrVO tempPropObj,final LinkedHashMap<String, JComponent> attrIdToCtrlMaps,
final List<CodeClassifyTemplateAttrVO> tempPropList) {
// 鏈┖绐楀彛璋冪敤 鏈夊彲鑳芥潵鑷袱澶�
@@ -1230,8 +1540,8 @@
}*/
keyValue= dialog.getKeyValue();
//for(CodeClassifyTemplateAttrVO obj : tempPropList) {
- if(attrIdToCtrlMaps.containsKey(tempPropObj.getId())) {
- JComponent comp = attrIdToCtrlMaps.get(tempPropObj.getId());
+ 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]);
@@ -1239,16 +1549,16 @@
int index = innnerNamesMaps.get(tempPropObj.getInternalname());
((VCIJCalendarPanel) comp).setDateString(datas[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);
+ 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);
}
+ }
//}
}
@@ -1263,7 +1573,7 @@
dialog.setVisible(true);
}
- private void doSearch(VCIJComboxBox comboxBox,CodeBasicSecVO secObj){
+ private void doSearch(final VCIJComboxBox comboxBox, CodeBasicSecVO secObj){
if(StringUtils.isBlank(secObj.getReferConfig())){
VCIOptionPane.showMessage(this,"鍙傜収閰嶇疆淇℃伅涓嶆纭�,璇锋牳瀵癸紒");
return;
@@ -1337,7 +1647,7 @@
}
/**鏍¢獙涓夛細鍙彉鐮佹鐨勬牎楠�**/
} else if (cType .equals( "codevariablesec")) {
- tempStr = new StringBuffer();
+ tempStr = new StringBuffer();
String codeSecLength =secObj.getCodeSecLength();
int secLen= Integer.parseInt(codeSecLength);
//鍙栧嚭鐢ㄦ埛杈撳叆鐨勫��
@@ -1520,7 +1830,7 @@
} else if (secType.equals("codelevelsec")) {//灞傜骇鐮佹
cVal = levelRes;
} else if (secType.equals("codeserialsec")) {
- continue;
+ continue;
} else {
cVal = (String) ((VCIJComboBox) secAndComMap.get(secObj.getId())).getSelectedItem();
}
@@ -1552,7 +1862,10 @@
LinkedList<String> listValues = new LinkedList<String>();
// 鍚勫睘鎬х殑绫诲瀷
LinkedList<String> listDataTypes = new LinkedList<String>();
- Map<String,CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOMap=transmitForRMData.getTempPropObjsList().stream().collect(Collectors.toMap(s -> s.getId(), t -> t));
+ Map<String,CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOMap = new HashMap<>();
+ for (CodeClassifyTemplateAttrVO codeClassifyTemplateAttrVO : transmitForRMData.getTempPropObjsList()) {
+ codeClassifyTemplateAttrVOMap.put(codeClassifyTemplateAttrVO.getId(),codeClassifyTemplateAttrVO);
+ }
Iterator<String> keys = attrIdToCtrlMaps.keySet().iterator();
JComponent compt = null;
JComponent firstCompt = null;
@@ -1592,8 +1905,8 @@
// 鏍¢獙闀垮害
else if ((value != null && !value.equals(""))
&& value.length() > Integer.valueOf(propObj.getControlLength())
- && !(propObj.getAttributeDataType().toUpperCase().equals(VciFieldTypeEnum.VTDate)||
- propObj.getAttributeDataType().toUpperCase().equals(VciFieldTypeEnum.VTDateTime))
+ && !(propObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDate.name())||
+ propObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDateTime.name()))
) {
isExistError = true;
compt.requestFocus();
--
Gitblit v1.9.3