Source/UBCS/ubcs-codeApply/pom.xml
@@ -50,6 +50,11 @@ <artifactId>commons-collections4</artifactId> <version>4.1</version> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils-core</artifactId> <version>1.8.3</version> </dependency> </dependencies> <distributionManagement> <repository> Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/AttarSearchPanel.java
@@ -1,7 +1,5 @@ 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; Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410Dialog.java
@@ -47,6 +47,7 @@ } public CodeApplyFor410Dialog(Frame frame, String userName, String clsfName, String deptName, String[] libName){ super(frame, true); VCISwingUtil.setClientMainFrame(frame); try { this.setModal(true); parentComponet = frame; @@ -62,6 +63,7 @@ public CodeApplyFor410Dialog(JDialog dialog, String userName, String clsfName, String deptName, String[] libName) { super(dialog, true); VCISwingUtil.setClientMainFrame(new Frame()); try { this.setModal(true); parentComponet = dialog; Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410MainPanel.java
@@ -1,10 +1,12 @@ package com.vci.ubcs.codeapply; import com.alibaba.fastjson.JSONObject; 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.corba.common.VCIError; import com.vci.ubcs.code.vo.pagemodel.*; import com.vci.ubcs.codeapply.object.*; import com.vci.ubcs.codeapply.swing.IntegerTextField; @@ -17,6 +19,7 @@ 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 io.swagger.models.auth.In; import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; import org.apache.commons.collections4.CollectionUtils; @@ -28,6 +31,7 @@ import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.List; @@ -81,10 +85,11 @@ private boolean isSpecialRuleFlag = false; private String specialSectioName = ""; private VCIJPanel rulePal = new VCIJPanel(); private StringBuffer tempStr= new StringBuffer();//å¯åç æ®µçå¼; private String levelRes=""; private String[] specialSecVals = new String[0]; private RMDataTransmitObject transmitForRMData = null; private CodeRuleVO codeRuleVO=null; /** * 屿§IDä¸å±æ§å¯¹åºçæ§ä»¶ä¹é´çæ å°MAP */ @@ -148,7 +153,7 @@ Map<String,String> condtionMap=new HashMap<>(); condtionMap.put("codeClassId", rmType.getOid()); R r= HttpUtil.sendGet(url+"/getCodeRuleByClassifyFullInfo",condtionMap,new HashMap<>()); CodeRuleVO codeRuleVO=new CodeRuleVO(); codeRuleVO=new CodeRuleVO(); if(r.isSuccess()){ Object object= r.getData(); if(object!=null) { @@ -667,6 +672,17 @@ } 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); } }); } /*RefSecObject refObj = getRefSecObj(secObj.getId()); DefaultComboBoxModel aModel = getRefSecComboBox(refObj); secCombo.setModel(aModel); @@ -695,7 +711,7 @@ */} else //å±çº§ç 段ç 弿¾ç¤ºçæ¯éæ©ç代ç 项çåç§° if(secObj.getSecType().equals("coderefersec")) { if(secObj.getSecType().equals("codelevelsec")) { CodeClassify rmObj = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj(); secCombo.addItem(rmObj); } else { @@ -722,12 +738,12 @@ RMDataTransmitObject transmit=new RMDataTransmitObject(); transmit.setLibId(libId); transmit.setClassifyId(classifyId); CodeClassify rmType = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj(); transmit.setRmTypeObject(rmType); CodeClassify codeClassify = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj(); 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)); transmit.setClassifyCode(rmType.getId()); 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)); transmit.setTempPropObjsMap(tempPropObjsMap); @@ -792,7 +808,7 @@ lbl.setToolTipText("ç¹å»æ¤å¤è·å模æ¿å¯¹åºè§åçå¼"); lbl.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e){ // getComptAttrValue(attrObj,attrIdToCtrlMaps,transmitForRMData.getTempPropObjsList()); getComptAttrValue(attrObj,attrIdToCtrlMaps); } }); @@ -866,77 +882,6 @@ pal.add(new VCIJLabel(""),createGridBagConstraints(0, gridy + 1, maxAttrInLine * 2, 1,1.0, 10.0, GridBagConstraints.NORTHWEST,GridBagConstraints.BOTH)); this.setTextComptList(textCompts); return pal; } /**æ ¹æ®å±æ§ç»åè§åè·å屿§çå¼ **/ //add by liujw private void getComptAttrValue(CodeClassifyTemplateAttrVO attrObj, LinkedHashMap<String, JComponent> attrIdToCtrlMaps) { Map<String, String> attrNameMap = new LinkedHashMap<String, String>(); Map<String, String> tempProMap = new LinkedHashMap<String, String>(); // å屿§çå é¨åç§° LinkedList<String> listInnerNames = new LinkedList<String>(); // å屿§å¯¹åºçæ°æ®å¼ LinkedList<String> listValues = new LinkedList<String>(); // å屿§çç±»å LinkedList<String> listDataTypes = new LinkedList<String>(); Iterator<String> keys = attrIdToCtrlMaps.keySet().iterator(); JComponent compt = null; while (keys.hasNext()) { String attrOid = keys.next(); compt = attrIdToCtrlMaps.get(attrOid); String value = ""; if (compt instanceof JTextComponent) { value = ((JTextComponent) compt).getText(); } else if (compt instanceof VCIJCalendarPanel) { value = ((VCIJCalendarPanel) compt).getDateString(); value = value == null ? "" : value; } else if (compt instanceof VCIJComboBox) { Object objItem = ((VCIJComboBox) compt).getSelectedItem(); if (objItem instanceof AttrRangObjectWarper) { // 屿§åå¼èå´ value = ((AttrRangObjectWarper) objItem).getKeyValue().getValue(); } else if (objItem instanceof String) { // Booleanç±»åç伿ä¾0\1éæ© value = (String) objItem; } } // å ¨é¨éªè¯éè¿ listInnerNames.add(attrObj.getId()); listValues.add(value); listDataTypes.add(attrObj.getAttributeDataType()); /**ä¿®å¤å±æ§å®ä¹ä¸'/'ä¸è½æ¯æçbug**/ String attrName = attrObj.getName(); if(attrName.indexOf("/") != -1) { attrName = attrObj.getName().replaceAll("/", "_"); } attrNameMap.put(attrName, value); /****************End******************/ tempProMap.put(attrObj.getOid(), attrObj.getId()); } /**æ ¹æ®æ¨¡æ¿ä¸é ç½®ç屿§è§åï¼æ ¹æ®è§å坹屿§æ°æ®è¿è¡ç»åæè æå BEGIN***/ List<CodeClassifyTemplateAttrVO> list = transmitForRMData.getTempPropObjsList(); for(CodeClassifyTemplateAttrVO obj : list) { if(!"".equals(obj.getComponentRule())) { try { /**ä¿®å¤å±æ§å®ä¹ä¸'/'ä¸è½æ¯æçbug Begin**/ String tempRule = obj.getComponentRule(); if(tempRule.indexOf("/") != -1) { tempRule = obj.getComponentRule().replaceAll("/", "_"); } String value = "";//FreeMarkerCommon.getValueByTempRule(attrNameMap,tempRule); /****************End******************/ JComponent comp = attrInnerNameToCtrlMaps.get(tempProMap.get(obj.getOid())); if(comp instanceof JTextComponent) { ((JTextComponent) comp).setText(value); } } catch (Exception e) { e.printStackTrace(); } } } } /** * è·åçå®çãå®é çéè¦å è½½å°UIç屿§å表 @@ -1201,16 +1146,56 @@ return new GridBagConstraints(gridx, gridy, gridwidth, gridheight,weightx, weighty, anchor, fill, new Insets(padxy, padxy, padxy,padxy), padxy, padxy); } /**æ ¹æ®å±æ§ç»åè§åè·å屿§çå¼ **/ 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)->{ String value = ""; if (compt instanceof JTextComponent) { value = ((JTextComponent) compt).getText(); } else if (compt instanceof VCIJCalendarPanel) { value = ((VCIJCalendarPanel) compt).getDateString(); value = value == null ? "" : value; } else if (compt instanceof VCIJComboBox) { Object objItem = ((VCIJComboBox) compt).getSelectedItem(); if (objItem instanceof AttrRangObjectWarper) { // 屿§åå¼èå´ value = ((AttrRangObjectWarper) objItem).getKeyValue().getValue(); } else if (objItem instanceof String) { // Booleanç±»åç伿ä¾0\1éæ© value = (String) objItem; } } dataMap.put(key,value); condtionMap.put("dataMap["+key+"]",value); }); condtionMap.put("componentRuleValue",tempPropObj.getComponentRule()); R r= HttpUtil.sendGet(url+"/getValueByFormula",condtionMap,new HashMap<>()); String value=""; if(r.isSuccess()){ value= r.getData().toString(); if(attrIdToCtrlMaps.containsKey(tempPropObj.getId())){ JComponent comp = attrInnerNameToCtrlMaps.get(tempPropObj.getId()); if(comp instanceof JTextComponent) { ((JTextComponent) comp).setText(value); } } Object object= r.getData(); if(object!=null) { value= object.toString(); /** * æ ¹æ®å¼ç¨æ¨¡æ¿çidè·åå¼ç¨æ¨¡æ¿å¯¹è±¡å å«çæ°æ® * <p>Description: </p> * * @author liujw * @time 2012-11-29 * @param //referTempId å¼ç¨æ¨¡æ¿id */ } }else{ VCIOptionPane.showMessage(this,r.getMsg()); } } /** * æ ¹æ®å¼ç¨æ¨¡æ¿çidè·åå¼ç¨æ¨¡æ¿å¯¹è±¡å å«çæ°æ® * <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) { // æ¬ç©ºçªå£è°ç¨ æå¯è½æ¥èªä¸¤å¤ @@ -1223,7 +1208,11 @@ ownerDialog.setSize(880, 500); }*/ //final String referTempId = tempPropObj.getReferBtmId(); final RMDataReferTempDialog dialog = new RMDataReferTempDialog(this,tempPropObj); if(StringUtils.isBlank(tempPropObj.getReferConfig())){ VCIOptionPane.showMessage(this,"åç §é 置信æ¯ä¸æ£ç¡®,è¯·æ ¸å¯¹ï¼"); return; } final RMDataReferTempDialog dialog = new RMDataReferTempDialog(this,tempPropObj.getReferConfig()); dialog.setDialogCallback(new Runnable() { @Override public void run() { @@ -1268,6 +1257,435 @@ dialog.setVisible(true); } private void doSearch(VCIJComboxBox comboxBox,CodeBasicSecVO secObj){ if(StringUtils.isBlank(secObj.getReferConfig())){ VCIOptionPane.showMessage(this,"åç §é 置信æ¯ä¸æ£ç¡®,è¯·æ ¸å¯¹ï¼"); return; } final RMDataReferTempDialog dialog = new RMDataReferTempDialog(this,secObj.getReferConfig()); dialog.setDialogCallback(new Runnable() { @Override public void run() { KeyValue keyValue=new KeyValue(); keyValue= dialog.getKeyValue(); //for(CodeClassifyTemplateAttrVO obj : tempPropList) { if (keyValue != null) { AttrRangObjectWarper wrapper = new AttrRangObjectWarper(keyValue); comboxBox.getModel().setSelectedItem(wrapper); } } }); //dialog.initDialogSize(ownerDialog.getWidth(), ownerDialog.getHeight()); Dimension dime = Toolkit.getDefaultToolkit().getScreenSize(); int x = dime.width/2 - 400; int y = dime.height/2 -300; dialog.setLocation(x, y); dialog.setSize(new Dimension(900, 600)); dialog.setModal(true); dialog.setVisible(true); } /** * æ£æ¥ç³è¯·ç å¼çæ°æ®å¡«åæ¯å¦å®æ´ * 1.æ£æ¥åä¸ªç æ®µç弿¯å¦å·²ç»å¡«å * 2.å¦æææ¥æç 段ï¼å¹¶ä¸æ¥æç 段çå¼ä¸ºå¯ä¿®æ¹ï¼éæ ¡éªä¿®æ¹åçæ¥æçæ ¼å¼æ¯å¦ç¬¦å * @return */ public boolean checkIsAllowed(){ Iterator<Integer> ite = compMaps.keySet().iterator(); JComponent compt = null; /**æ ¡éª1ï¼æ£æ¥åä¸ªç æ®µç弿¯å¦å·²ç»å¡«å宿**/ while(ite.hasNext()) { int k = ite.next(); //妿æ¯å±çº§ç ï¼è·³åºä¸è¿è¡å¤æ if(k == levelPositon) { continue; } compt = compMaps.get(k); if(compt instanceof VCIJComboBox) { Object obj = ((VCIJComboBox) compt).getSelectedItem(); if(obj == null || "".equals(obj)) { VCIOptionPane.showMessageDialog(this, "请å°ä¿¡æ¯å¡«å宿´ï¼"); return false; } } } int len = columnSecMap.size(); for (int i = 0; i < len; i++) { CodeBasicSecVO secObj = columnSecMap.get(i); String cType = secObj.getSecType(); /**æ ¡éª2ï¼å¦æææ¥æç 段ï¼å¹¶ä¸æ¥æç 段çå¼ä¸ºå¯ä¿®æ¹ï¼éæ ¡éªä¿®æ¹åçæ¥æçæ ¼å¼æ¯å¦ç¬¦å**/ if (cType.equals("codedatesec")) { String df =secObj.getCodeDateFormatStr(); SimpleDateFormat dateFormate = new SimpleDateFormat(df); //String curDate = dateFormate.format(Calendar.getInstance().getTime()); dateFormate.setLenient(false);//è®¾ç½®ä¸¥æ ¼æ ¡éª String dateStr = (String) ((VCIJComboBox)secAndComMap.get(secObj.getId())).getSelectedItem(); try { dateFormate.parse(dateStr); } catch (ParseException e) { VCIOptionPane.showMessageDialog(this, "ä¿®æ¹åçæ¥ææ ¼å¼è·æ¥æç æ®µè®¾ç½®çæ ¼å¼ä¸å¹é ï¼è¯·ä¿®æ¹ï¼"); return false; } /**æ ¡éªä¸ï¼å¯åç æ®µçæ ¡éª**/ } else if (cType .equals( "codevariablesec")) { tempStr = new StringBuffer(); String codeSecLength =secObj.getCodeSecLength(); int secLen= Integer.parseInt(codeSecLength); //ååºç¨æ·è¾å ¥çå¼ String varStr = (String) ((VCIJComboBox)secAndComMap.get(secObj.getId())).getSelectedItem(); if(varStr.length() >secLen){ VCIOptionPane.showMessageDialog(this, "è¾å ¥çå¯åç å¼è¶ åºäºè¯¥ç 段çå®ä¹é¿åº¦"+codeSecLength+"请修æ¹"); return false; } //妿æ¯åºå®é¿åº¦ï¼åéè¦èèå¡«å åè¡¥ä½ // if(varObj.getLenType() == SectionConstant.SectionLengthType.VARLEN) { if(varStr.length() < secLen) {//没æè¾¾å°æå¤§é¿åº¦ if(secObj.getCodeFillType().equals("L")) {//妿éè¦å·¦å¡«å tempStr = new StringBuffer(); for(int j=0;j<secLen - varStr.length();j++) { tempStr.append(secObj.getCodeFillSeparator()); } tempStr.append(varStr); } else if(secObj.getCodeFillType().equals("R")) {//妿éè¦å³å¡«å tempStr = new StringBuffer(); tempStr.append(varStr); for(int j=0;j<secLen- varStr.length();j++) { tempStr.append(secObj.getCodeFillSeparator()); } } else { tempStr = new StringBuffer(); tempStr.append(varStr); } } else { tempStr = new StringBuffer(); tempStr.append(varStr); } // } /**å±çº§ç æ®µçæ ¡éª**/ } else if (cType.equals("codelevelsec")) { Integer levelVal= secObj.getCodeLevelValue(); levelRes = getRuleLevelCodeFromTree(secObj.getCodeLevelValue()); if("".equals(levelRes)) { // setBuildingHasError(true); if(secObj.getCodeLevelType().equals("min")) { VCIOptionPane.showError(this, "å½åç¼ç 项è§åä¸å å«å±çº§ç 段ï¼å¹¶ä¸å±çº§è®¾ç½®ä¸ºæå°å±ï¼éæ©çå½åèç¹å å«åèç¹ï¼ä¸å 许å¨å½ååç±»ä¸è¿è¡ç å¼ç³è¯·ï¼"); }else { VCIOptionPane.showError(this, "请è³å°å¨ç¬¬ " + levelVal + "å±ï¼åç±»ï¼æ·»å æ°æ®ï¼ï¼ç¼ç 项èç¹ä¸ç®)" + "\nï¼æ³¨æï¼å¦æç®ä¸ç¼ç 项èç¹ï¼åè³å°åºè¯¥å¨ç¬¬ " + (levelVal + 1) + " å±ï¼åç±»ï¼æ·»å æ°æ®ï¼ï¼"); } return false; } } else if(cType .equals("codeclassifysec")) {//åç±»ç æ®µç 弿·»å äºç©ºå¼ï¼éè¦ç¹æ®å¤æä¸ä¸ // update by xchao 2013.07.09 // ClsfCodeValObject obj = (ClsfCodeValObject) ((VCIJComboBox)secAndComMap.get(secObj.getId())).getSelectedItem(); // åç±»ç ç å¼ä¸ºç©ºæ¶ï¼ä¹å¯ä»¥ç³è¯·ç¼ç // if("".equals(obj.getValue())) { // VCIOptionPane.showMessageDialog(this, "è¯·éæ©ç æ®µï¼"+secObj.getName()+" 对åºçç å¼"); // return false; // } } else if(cType .equals( "codefixedsec")) {//åºå®ç 段ç 弿·»å äºç©ºå¼ï¼éè¦ç¹æ®å¤æä¸ä¸ CodeFixedValueVO obj = (CodeFixedValueVO) ((VCIJComboBox)secAndComMap.get(secObj.getId())).getSelectedItem(); if("".equals(obj.getId())) { VCIOptionPane.showMessageDialog(this, "è¯·éæ©ç æ®µï¼"+secObj.getName()+" 对åºçç å¼"); return false; } } else if(cType.equals("coderefersec")) {//å¼ç¨ç 段ç 弿·»å äºç©ºå¼ï¼éè¦ç¹æ®å¤æä¸ä¸ KeyValue keyValue = ((AttrRangObjectWarper)((VCIJComboBox)secAndComMap.get(secObj.getId())).getSelectedItem()).getKeyValue(); if(keyValue!=null&&("".equals(keyValue.getValue()))) { VCIOptionPane.showMessageDialog(this, "è¯·éæ©ç æ®µï¼"+secObj.getName()+" 对åºçç å¼"); return false; } } } return true; } private LinkedList<VCIBaseTreeNode> parentTreeNodeListDesc = new LinkedList<VCIBaseTreeNode>(); private LinkedList<VCIBaseTreeNode> parentTreeNodeListAsc = new LinkedList<VCIBaseTreeNode>(); private String getRuleLevelCodeFromTree(int level){ String res = null; TransmitTreeObject CodeClassifyTreeObj = this.transTreeObject; if(CodeClassifyTreeObj != null){ VCIBaseTreeNode node = CodeClassifyTreeObj.getCurrentTreeNode(); parentTreeNodeListDesc.clear(); //æ¯æ¬¡è¿è¡ç³è¯·æ¶é½éæ°åå§åå卿 ç»æç对象 parentTreeNodeListAsc.clear(); calcParentTreeNode(node); for(int i = parentTreeNodeListDesc.size() - 1; i >=0; i--){ parentTreeNodeListAsc.add(parentTreeNodeListDesc.get(i)); } /***æ ¡éªï¼ç³è¯·ç 弿¶ï¼å±çº§çå¤ç level = 0 æ 示任æå±ï¼level = 99 æ 示æå°å± ,å ¶å®ææå®å±BEGIN**/ if(level == 0) { res = ((CodeClassify)node.getObj()).getId(); /***level == 99 并䏿¯å¶åèç¹æ¶ï¼æå 许è¿è¡ç¼ç ç³è¯·**/ } else if(level == 99) { if(checkIsHasSonCodeClassify(node)) { res = ((CodeClassify)node.getObj()).getId(); }else { res = ""; } } else if(level == 99 && !checkIsHasSonCodeClassify(node)){ res = ""; } else if(parentTreeNodeListAsc.size() > level + 1) { VCIBaseTreeNode levelNode = parentTreeNodeListAsc.get(level + 1); CodeClassify codeClassify = (CodeClassify) levelNode.getObj(); res = codeClassify.getId(); } else { res = ""; } /**************************************END**********************************/ } return res; } /** * æ£æ¥éæ©çå½ååç±»æ¯å¦æååç±» * <p>Description: </p> * * @author Administrator * @time 2013-4-10 * @return */ public boolean checkIsHasSonCodeClassify(VCIBaseTreeNode node) { int count = 0; if(node.isExpand()) { count = node.getChildCount(); } else { //åéè¦å»æ¥è¯¢ä¸é¢çæ¯å¦åå¨ CodeClassify codeClassify = (CodeClassify) node.getObj(); codeClassify.getOid(); Map<String,String> condtionMap=new HashMap<>(); condtionMap.put("codeClassId", codeClassify.getOid()); R r= HttpUtil.sendGet(url+"/countChildrenByClassifyOid",condtionMap,new HashMap<>()); if(r.isSuccess()){ Object object= r.getData(); count=(int)object; } } if(count <= 0) { return true; } return false; } /** * æä¾è°ç¨è è·ååä¸ªç æ®µçæ¼æ¥å¼ * <p>Description: </p> * * @author xf * @time 2012-5-28 * @return */ public List<KeyValue> getSectionValues(){ List<KeyValue> keyValueList=new ArrayList<>(); if(getCodeRuleVO()!=null) { List<CodeBasicSecVO> codeBasicSecVOList = this.getCodeRuleVO().getSecVOList(); if (!CollectionUtils.isEmpty(codeBasicSecVOList)) { for (int i = 0; i < codeBasicSecVOList.size(); i++) { CodeBasicSecVO secObj=codeBasicSecVOList.get(i); KeyValue keyValue = new KeyValue(); String cVal = ""; String secObjOid = secObj.getOid(); String secType = secObj.getSecType(); /***å¦æç³»ç»éæ©çæ¯ç¹æ®è§åï¼å³å·¥è£ 徿 ·ä»£ç è§åï¼ç»å«ä»£å·ç 段èªå¨è®¾ç½®ä¸ºç©º**Begin***/ if (isSpecialRuleFlag && secObj.getName().equals(specialSectioName)) { cVal = ""; /**********************************End************************/ } else if (secType.equals("codedatesec")) {//æ¥æç æ®µçå¼ cVal = (String) ((VCIJComboBox) secAndComMap.get(secObj.getId())).getSelectedItem(); } else if (secType.equals("codevariablesec")) {//å¯åç æ®µçå¼ // cVal = (String) ((VCIJComboBox)secAndComMap.get(secObj.getId())).getSelectedItem(); cVal = tempStr.toString(); } else if (secType.equals("codeclassifysec")) {//åç±»ç æ®µç å¼ cVal = ((CodeClassifyValue) ((VCIJComboBox) secAndComMap.get(secObj.getId())).getSelectedItem()).getOid(); } else if (secType.equals( "codefixedsec")) {//åºå®ç 段ç å¼ cVal = ((CodeFixedValueVO) ((VCIJComboBox) secAndComMap.get(secObj.getId())).getSelectedItem()).getId(); } else if (secType.equals("coderefersec")) {//å¼ç¨ç 段ç å¼ // cVal = ((CodeValueObject)((VCIJComboBox)secAndComMap.get(secObj.getId())).getSelectedItem()).getPlcodeval(); KeyValue newKeyValue = ((AttrRangObjectWarper) ((VCIJComboBox) secAndComMap.get(secObj.getId())).getSelectedItem()).getKeyValue(); cVal=newKeyValue.getValue(); /*} else if (secType == SectionConstant.SectionType.SECCHAR) {//åé符 cVal = secObj.getName();*/ } else if (secType.equals("codelevelsec")) {//å±çº§ç 段 cVal = levelRes; } else if (secType.equals("codeserialsec")) { continue; } else { cVal = (String) ((VCIJComboBox) secAndComMap.get(secObj.getId())).getSelectedItem(); } keyValue.setKey(secObjOid); keyValue.setValue(cVal); keyValueList.add(keyValue); } } } return keyValueList; } /** * æ ¡éªæ¨¡æ¿å±æ§ä¿¡æ¯æ¯å¦æ£ç¡® * <p>Description: </p> * * @author Administrator * @time 2013-3-23 * @return */ public String[][] checkInputValues() { Map<String, String> attrNameMap = new LinkedHashMap<String, String>(); Map<String, String> tempProMap = new LinkedHashMap<String, String>(); // å屿§çå é¨åç§° LinkedList<String> listInnerNames = new LinkedList<String>(); // åå¨å±æ§çå¤é¨åç§° LinkedList<String> listOutNames = new LinkedList<String>(); // å屿§å¯¹åºçæ°æ®å¼ 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)); Iterator<String> keys = attrIdToCtrlMaps.keySet().iterator(); JComponent compt = null; JComponent firstCompt = null; while (keys.hasNext()) { String attrOid = keys.next(); compt = attrIdToCtrlMaps.get(attrOid); String value = ""; CodeClassifyTemplateAttrVO propObj = codeClassifyTemplateAttrVOMap.get(attrOid); boolean isExistError = false; String message = ""; if (compt instanceof JTextComponent) { value = ((JTextComponent) compt).getText(); } else if (compt instanceof VCIJCalendarPanel) { value = ((VCIJCalendarPanel) compt).getDateString(); value = value == null ? "" : value; } else if (compt instanceof VCIJComboBox) { Object objItem = ((VCIJComboBox) compt).getSelectedItem(); if (objItem instanceof AttrRangObjectWarper) { // 屿§åå¼èå´ value = ((AttrRangObjectWarper) objItem).getKeyValue().getValue(); } else if (objItem instanceof String) { // Booleanç±»åç伿ä¾0\1éæ© value = (String) objItem; } } boolean checkNullInput = true; if (checkNullInput) { // æ£æ¥å±æ§æ¯å¦å¯ä»¥ä¸ºç©º isNull=0 表示ä¸è½ä¸ºç©ºï¼isNull=1表示å¯ä»¥ä¸ºç©º if ("true".equals(propObj.getRequireFlag())) {// ä¸è½ä¸ºç©ºæ¶éè¦å¤æè¾å ¥ç弿¯å¦ä¸ºç©º if ((value == null) || (value != null && value.trim().length() == 0)) { isExistError = true; compt.requestFocus(); message = propObj.getName() + " ä¸è½ä¸ºç©ºï¼è¯·éæ°è¾å ¥ï¼"; } } // æ ¡éªé¿åº¦ else if ((value != null && !value.equals("")) && value.length() > Integer.valueOf(propObj.getControlLength()) && !(propObj.getAttributeDataType().toUpperCase().equals(VciFieldTypeEnum.VTDate)|| propObj.getAttributeDataType().toUpperCase().equals(VciFieldTypeEnum.VTDateTime)) ) { isExistError = true; compt.requestFocus(); message = propObj.getName() + " ç屿§å¼ " + value + " çé¿åº¦ä¸è½è¶ è¿" + propObj.getControlLength(); } // æ£æ¥è¾å ¥ç弿¯å¦æ»¡è¶³å±æ§æ ¡éªè§åï¼å¦æåå¨ï¼ if (!isExistError && !propObj.getComponentRule().equals("")) { // åå¨ç屿§æ ¡éªè§å // æ¥æç±»åç䏿£æ¥å±æ§æ ¡éªè§å // if (propObj.getAttributeDataType().toUpperCase().equals(Constants.DATA_TYPE_DATE)|| (compt instanceof VCIJComboBox)) { // // ä¸åæ£æ¥ // } else { // initAllAttrRuleMaps(); // // åæ£æ¥ // if (!value.equals("") && allAttrRulesMap.containsKey(propObj.getAttrRuleId())) { // // TODO è°ç¨å±æ§æ ¡éªè§åçæ¥å£ï¼æ ¡éªå½åè¾å ¥ç弿¯å¦æ»¡è¶³è§åæ¡ä»¶ // AttrRuleObject attrRuleObj = allAttrRulesMap.get(attrObj.getAttrRuleId()); // String regex = attrRuleObj.getRule(); // Pattern p = Pattern.compile(regex); // if (!p.matcher(value).matches()) { // // ä¸å¹é // // isExistError = true; // compt.requestFocus(); // message = attrObj.getName() + "çè¾å ¥å¼ " + value // + " 䏿»¡è¶³è¯¥å±æ§å®ä¹çæ ¡éªè§å \n\n" + "" // + attrRuleObj.getRuleName() + "ï¼\t" // + attrRuleObj.getRule() + "\n\n" // + "è¯·éæ°è¾å ¥ï¼"; // } // } // } } } // æ¯å¦åå¨é误 if (isExistError) { //setErrorMessageFlag(true); listInnerNames.clear(); listOutNames.clear(); listValues.clear(); listDataTypes.clear(); VCIOptionPane.showMessage(this, message); break; } else { //setErrorMessageFlag(false); // å¦ææ¯æ¥æç±»åï¼ä¸å±æ§å¯ç©ºï¼å没æéæ©æ¥æå¼ï¼åç»ä¸ªé»è®¤å¼ if (value == null && propObj.getAttributeDataType().toUpperCase().equals(VciFieldTypeEnum.VTDate)) { SimpleDateFormat sdfDateAndTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); value = sdfDateAndTime.format(new Date()); }else if(value == null&&propObj.getAttributeDataType().toUpperCase().equals(VciFieldTypeEnum.VTDateTime)){ SimpleDateFormat sdfDateAndTime = new SimpleDateFormat("HH:mm:ss"); value = sdfDateAndTime.format(new Date()); } // å ¨é¨éªè¯éè¿ value = value.trim(); listInnerNames.add(propObj.getId()); listOutNames.add(propObj.getName()); listValues.add(value); if(propObj.getAttributeDataType().equals(VciFieldTypeEnum.VTFilePath)){ listDataTypes.add("String"); }else{ listDataTypes.add(propObj.getAttributeDataType()); } attrNameMap.put(propObj.getName(), value); tempProMap.put(propObj.getId(), propObj.getId()); } // update by xchao 2012.07.11 if (firstCompt == null) { firstCompt = compt; } }// end while(keys.hadNext()) LinkedList<String[]> res = new LinkedList<String[]>(); res.add(listInnerNames.toArray(new String[] {})); res.add(listValues.toArray(new String[] {})); res.add(listDataTypes.toArray(new String[] {})); res.add(listOutNames.toArray(new String[]{})); return res.toArray(new String[][] {}); } private void calcParentTreeNode(VCIBaseTreeNode node){ parentTreeNodeListDesc.add(node); if(node.getParent() != null){ calcParentTreeNode((VCIBaseTreeNode)node.getParent()); } else{ // æ ¹èç¹ // æ¥èªä¸ç¨åºï¼å¸¦åç±»æ¾ç¤ºçï¼ // ç±äºä¸ç¨åºï¼å¸¦åç±»æ¾ç¤ºçï¼å°åºèç¹å䏿åäºä¸çº§ï¼åºèç¹å°±æ¯æ ¹èç¹ // å æ¤ä¸ºä¿æç»è®¡ï¼æ¹ä¾¿æ ¹æ®å±çº§ååç±»ç ï¼ä»£å·ï¼ï¼å¨æ¤å°åå çæ ¹æ·»å å°éå if(node.getObj() instanceof CodeClassify){ parentTreeNodeListDesc.add(new VCIBaseTreeNode("ææèµæºæ°æ®", "root")); } } } //è·åç³»ç»é ç½®çç æ®µç å¼ private Map<String, String> getSpecialValMap(String[] vals) { @@ -1280,4 +1698,36 @@ private boolean isNumber(String value) { return Pattern.matches("[0-9]+", value); } public LinkedHashMap<String, JComponent> getAttrIdToCtrlMaps() { return attrIdToCtrlMaps; } public void setAttrIdToCtrlMaps(LinkedHashMap<String, JComponent> attrIdToCtrlMaps) { this.attrIdToCtrlMaps = attrIdToCtrlMaps; } public LinkedHashMap<String, JComponent> getAttrInnerNameToCtrlMaps() { return attrInnerNameToCtrlMaps; } public void setAttrInnerNameToCtrlMaps(LinkedHashMap<String, JComponent> attrInnerNameToCtrlMaps) { this.attrInnerNameToCtrlMaps = attrInnerNameToCtrlMaps; } public TransmitTreeObject getTransTreeObject() { return transTreeObject; } public void setTransTreeObject(TransmitTreeObject transTreeObject) { this.transTreeObject = transTreeObject; } public CodeRuleVO getCodeRuleVO() { return codeRuleVO; } public void setCodeRuleVO(CodeRuleVO codeRuleVO) { this.codeRuleVO = codeRuleVO; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410SearchDialog.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,168 @@ package com.vci.ubcs.codeapply; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.LinkedList; import com.vci.base.ui.swing.VCIOptionPane; import com.vci.base.ui.swing.VCISwingUtil; import com.vci.base.ui.swing.components.*; import com.vci.base.ui.swing.components.table.VCIJTablePanel; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.codeapply.object.BaseModel; import com.vci.ubcs.codeapply.object.CodeClassify; public class CodeApplyFor410SearchDialog extends VCIJDialog { /** * */ private static final long serialVersionUID = 1L; private CodeApplyPanelFor410 ownerPanel; private VCIJLabel codeName = new VCIJLabel("代ç ï¼"); private VCIJTextField txtCodeName = new VCIJTextField(false); private VCIJButton btnSearch= VCISwingUtil.createVCIJButton("btnSearch", "æ¥è¯¢", "æ¥è¯¢", "search.png", null); private VCIJButton btnOk = VCISwingUtil.createVCIJButton("replace", "ç¡®å®", "ç¡®å®", "ok.gif",null); private VCIJButton btnCancel = VCISwingUtil.createVCIJButton("cancel", "åæ¶", "åæ¶", "cancel.gif",null); private String strName = ""; private String str = ""; public CodeApplyFor410SearchDialog(CodeApplyPanelFor410 ownerPanel){ //super(LogonApplication.frame,true); this.ownerPanel = ownerPanel; this.setTitle("æ¥è¯¢ä»£ç "); Dimension dime = Toolkit.getDefaultToolkit().getScreenSize(); int x = dime.width/2 - 300; int y = dime.height/2 - 300; this.setLocation(x, y); this.setSize(new Dimension(700, 600)); init(); setModal(true); setVisible(true); } private LinkedList<VCIJButton> selfCustomButtons = new LinkedList<VCIJButton>(); { selfCustomButtons.add(btnOk); selfCustomButtons.add(btnCancel); } public void init(){ setLayout(new BorderLayout()); add(nothPanel(),BorderLayout.NORTH); add(createCenterTPanel(), BorderLayout.CENTER); cancel(); } private VCIJPanel nothPanel(){ VCIJPanel pal = new VCIJPanel(); VCIJPanel nothPanel = new VCIJPanel(); nothPanel.setLayout(null); nothPanel.setPreferredSize(new Dimension(300,40)); codeName.setBounds(10, 5, 60, 28); txtCodeName.setBounds(70, 5, 200, 28); btnSearch.setBounds(300, 5, 80, 25); nothPanel.add(codeName); nothPanel.add(txtCodeName); nothPanel.add(btnSearch); pal.setLayout(new BorderLayout()); pal.add(nothPanel); pal.setVisible(true); return pal; } private CodeApplyFor410SearchMainPanel codeDataMainPanel=null; private VCIJPanel createCenterTPanel(){ codeDataMainPanel=new CodeApplyFor410SearchMainPanel(); CodeApplyFor410SearchProvider dataProvider=new CodeApplyFor410SearchProvider(this); codeDataMainPanel.setDataProvider(dataProvider); codeDataMainPanel.setCustomTopPanel(nothPanel()); codeDataMainPanel.buildPanel(); VCIJTable table = codeDataMainPanel.getTablePanel().getTable(); table.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getButton() == 1 && e.getClickCount() == 2) { btnOk.doClick(); } } }); return codeDataMainPanel; } public VCIJTablePanel<BaseModel> getPanel() { return codeDataMainPanel.getTablePanel(); } /** * æé®äºä»¶ */ public void cancel(){ btnCancel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub btn_Cancel(); //åæ¶ } }); btnSearch.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { searchButton_action();//æ¥è¯¢ } }); btnOk.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { okButton_action();//ç¡®å® } }); } public void okButton_action(){ int len = codeDataMainPanel.getTablePanel().getSelectedRowObjects().size(); if (len==0) { VCIOptionPane.showMessage(this, "请å éæ©è¦æä½çæ°æ®"); return; }else if (len>1) { VCIOptionPane.showMessage(this, "䏿¬¡åªè½éæ©ä¸æ¡æ°æ®è¿è¡æä½"); return; } LinkedList<BaseModel> list = codeDataMainPanel.getTablePanel().getSelectedRowObjects(); for (BaseModel object : list) { str = object.getId(); setStr(str); } this.dispose(); } public void searchButton_action(){ strName = txtCodeName.getText(); setStrName(strName); codeDataMainPanel.getTablePanel().refreshTableData(); } public CodeApplyPanelFor410 getOwnerPanel() { return ownerPanel; } public void setOwnerPanel(CodeApplyPanelFor410 ownerPanel) { this.ownerPanel = ownerPanel; } public String getStr() { return str; } public void setStr(String str) { this.str = str; } public String getStrName() { return strName; } public void setStrName(String strName) { this.strName = strName; } public void btn_Cancel(){ this.dispose(); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410SearchMainPanel.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,88 @@ package com.vci.ubcs.codeapply; import com.vci.base.ui.swing.VCISwingUtil; 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 java.awt.*; public class CodeApplyFor410SearchMainPanel extends VCIJPanel { /** * èªå®ä¹é¡¶é¨æ§ä»¶åºå */ private VCIJPanel customTopPanel = null; public void buildPanel(){ this.init(); } private void init(){ initComponents(); } private void initComponents(){ setLayout(new BorderLayout()); add(createNorthBaseAttrsPanel(), BorderLayout.NORTH); add(createCenterDataTablePanel(), BorderLayout.CENTER); } private VCIJPanel createNorthBaseAttrsPanel(){ VCIJPanel palRes = new VCIJPanel(new BorderLayout()); if(getCustomTopPanel() != null) { palRes.add(getCustomTopPanel(), BorderLayout.CENTER); } return palRes; } /** * æ ¹æ®ç±»åæ¾ç¤ºtable */ private VCIJTablePanel<BaseModel> tablePanel = null; private AbstractVCIJTableDataProvider<BaseModel> dataProvider = null; private VCIJPanel createCenterDataTablePanel() { tablePanel = new VCIJTablePanel<BaseModel>(dataProvider); //tablePanel.setCustomButtons(getCombinedButtons()); tablePanel.setShowExport(true); tablePanel.setShowPaging(true); tablePanel.setShowProgressBar(true); tablePanel.setPageButtonFlowAlign(FlowLayout.CENTER); tablePanel.setCustomButtonFlowAlign(FlowLayout.CENTER); tablePanel.buildTablePanel(); int columnCount = tablePanel.getTable().getColumnCount(); //tablePanel.getTable().getColumnModel().getColumn(columnCount - 2).setPreferredWidth(150); //tablePanel.getTable().getColumnModel().getColumn(columnCount - 4).setPreferredWidth(150); /** * ç¦æ¢table表头æå¨ï¼é²æ¢ç¬¬ä¸åçå¤éæ¡å第äºåçåºå·æå¨åºé®é¢: * ç¹å»æè¡ï¼è¡¨æ ¼ä¸çå¤éæ¡çä¸å°ï¼ä¸éä¸è¡¨å¤´ä¸çå¤éæ¡ç³»ç»ä¼æ¥éï¼æ°æ®ä¿¡æ¯æ¾ç¤ºä¸æ£ç¡®ã * 2012-12-4 wangxl */ tablePanel.getTable().getTableHeader().setReorderingAllowed(false); tablePanel.refreshTableData(); return tablePanel; } public VCIJPanel getCustomTopPanel() { return customTopPanel; } public void setCustomTopPanel(VCIJPanel customTopPanel) { this.customTopPanel = customTopPanel; } public VCIJTablePanel<BaseModel> getTablePanel() { return tablePanel; } public void setTablePanel(VCIJTablePanel<BaseModel> tablePanel) { this.tablePanel = tablePanel; } public AbstractVCIJTableDataProvider<BaseModel> getDataProvider() { return dataProvider; } public void setDataProvider(AbstractVCIJTableDataProvider<BaseModel> dataProvider) { this.dataProvider = dataProvider; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410SearchProvider.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,116 @@ package com.vci.ubcs.codeapply; import java.util.*; import com.alibaba.cloud.commons.lang.StringUtils; 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.table.AbstractVCIJTableDataProvider; import com.vci.base.ui.swing.components.table.VCIJTableNode; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.codeapply.object.*; import com.vci.ubcs.codeapply.utils.ConfigUtils; import com.vci.ubcs.codeapply.utils.HttpUtil; import com.vci.ubcs.codeapply.utils.ListUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.apache.commons.collections4.CollectionUtils; public class CodeApplyFor410SearchProvider extends AbstractVCIJTableDataProvider<BaseModel> { private String[] fields = {}; private boolean view = true; private String codeName; LinkedList<String> fieldList = new LinkedList<String>(); private CodeApplyFor410SearchDialog dialog = null; private String url= ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController"); public CodeApplyFor410SearchProvider(CodeApplyFor410SearchDialog dialog){ this.dialog = dialog; } @Override public String[] getSpecialColumns() { LinkedList<String> nameList = new LinkedList<String>(); CodeClassifyTemplateVO codeClassifyTemplateVO=this.dialog.getOwnerPanel().getCurrentCodeClassifyTemplateVO(); if(codeClassifyTemplateVO!=null){ if(!CollectionUtils.isEmpty(codeClassifyTemplateVO.getAttributes())){ codeClassifyTemplateVO.getAttributes().stream().forEach(codeClassifyTemplateAttrVO -> { fieldList.add(codeClassifyTemplateAttrVO.getId()); nameList.add(codeClassifyTemplateAttrVO.getName()); }); } } fields = fieldList.toArray(new String[]{}); return nameList.toArray(new String[]{}); } @Override public int getTotal() { // TODO Auto-generated method stub return this.total; } @Override public VCIJTableNode<BaseModel> getNewRowNode(BaseModel dataObj) { Map<String,String> dataMap= dataObj.getData(); Map<String, String> defaultDataMap= VciBaseUtil.objectToMapString(dataObj); defaultDataMap.putAll(dataMap); VCIJTableNode<BaseModel> res = new VCIJTableNode<BaseModel>(dataObj); int i=dataColumnStartIndex; String data=""; for (String field:fields){ if(defaultDataMap.containsKey(field+"_text")){ data=defaultDataMap.getOrDefault(field+"_text",""); }else if(defaultDataMap.containsKey(field+"Text")){ data=defaultDataMap.getOrDefault(field+"Text",""); }else{ data=defaultDataMap.getOrDefault(field,""); } res.setPropertyValue(getColumns()[i++], data); } return res; } @Override public BaseModel[] getDatas(int pageIndex, int pageSize) { DataGrid dataGrid=new DataGrid(); try{ CodeClassifyTemplateVO codeClassifyTemplateVO=this.dialog.getOwnerPanel().getCurrentCodeClassifyTemplateVO(); CodeClassify codeClassify = (CodeClassify) this.dialog.getOwnerPanel().getRightMainPanel().getTransTreeObject().getCurrentTreeNode().getObj(); Map<String,String> condtionMap=new HashMap<>(); condtionMap.put("codeClassifyOid",codeClassify.getOid()); condtionMap.put("templateOid",codeClassifyTemplateVO.getOid()); condtionMap.put("page",pageIndex+""); condtionMap.put("limit",pageSize+""); if(StringUtils.isNotBlank(this.dialog.getStrName())){ condtionMap.put("conditionMap[id]",this.dialog.getStrName()); } //condtionMap.put("conditionMap[lcStatus]","Released"); R r= HttpUtil.sendGet(url+"/gridTableDataByClassifyOid",condtionMap,new HashMap<>()); if(r.isSuccess()){ Object object= r.getData(); if(object!=null) { ObjectMapper objectMapper = new ObjectMapper(); dataGrid = objectMapper.readValue(object.toString(), DataGrid.class); } }else{ VCIOptionPane.showMessage(this.dialog,r.getMsg()); } } catch ( JsonProcessingException e) { e.printStackTrace(); } this.total= new Long(dataGrid.getTotal()).intValue(); List<Map> dataList= dataGrid.getData(); List<BaseModel> hostInfos=new ArrayList<>(); //List<BaseModel> hostInfos= ListUtil.listMapParseListObj(dataList, BaseModel.class); dataList.stream().forEach(map->{ BaseModel baseModel=ListUtil.mapParseJavaBean(map,BaseModel.class); baseModel.setData(map); hostInfos.add(baseModel); }); //List<BaseModel> hostInfos = (List<BaseModel>) dataList.stream().map(entity -> JSONUtil.toBean(JSONUtil.parseObj(entity), BaseModel.class)).collect(Collectors.toList()); return hostInfos.toArray(new BaseModel[]{}); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410.java
@@ -388,4 +388,20 @@ public void setCurrentCodeClassifyTemplateVO(CodeClassifyTemplateVO currentCodeClassifyTemplateVO) { this.currentCodeClassifyTemplateVO = currentCodeClassifyTemplateVO; } public CodeApplyFor410MainPanel getRightMainPanel() { return rightMainPanel; } public void setRightMainPanel(CodeApplyFor410MainPanel rightMainPanel) { this.rightMainPanel = rightMainPanel; } public TransmitTreeObject getTransmitTreeObject() { return transmitTreeObject; } public void setTransmitTreeObject(TransmitTreeObject transmitTreeObject) { this.transmitTreeObject = transmitTreeObject; } } 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();//æ¹éå¯¼å ¥ç³è¯·ä»£ç }}); actionMaps.put("apply", new Runnable() { public void run() { //apply();//ç å¼ç³è¯· apply();//ç å¼ç³è¯· }}); actionMaps.put("btnSearch", new Runnable() { public void run() { //search();//ä»£ç æ¥è¯¢ search();//ä»£ç æ¥è¯¢ }}); 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, "代ç 项没æé 置模æ¿,ä¸å 许ç³è¯·!"); 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(""); } } /** * * æ¥è¯¢ä»£ç */ 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, "è¯·éæ©ä»£ç 项åç±»ï¼"); return; } CodeApplyFor410SearchDialog dialog = new CodeApplyFor410SearchDialog(this.owner); String str = dialog.getStr(); if (!str.equals("")) { owner.applyTxt.setText(str); } } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanel.java
@@ -46,9 +46,9 @@ private VCIJPanel createCenterDataTablePanel() { tablePanel = new VCIJTablePanel<BaseModel>(dataProvider); //tablePanel.setCustomButtons(getCombinedButtons()); tablePanel.setShowExport(true); //tablePanel.setShowExport(true); tablePanel.setShowPaging(true); tablePanel.setShowProgressBar(false); tablePanel.setShowProgressBar(true); tablePanel.setPageButtonFlowAlign(FlowLayout.CENTER); tablePanel.setCustomButtonFlowAlign(FlowLayout.CENTER); tablePanel.buildTablePanel(); Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialog.java
@@ -25,7 +25,8 @@ public class RMDataReferTempDialog extends VCIJDialog { private CodeApplyFor410MainPanel owner; private CodeClassifyTemplateAttrVO codeClassifyTemplateAttr; //private CodeClassifyTemplateAttrVO codeClassifyTemplateAttr; private String referConfig=""; private RMDataReferTempDialogActionListener actionListener = new RMDataReferTempDialogActionListener(this); private VCIJButton btnOk = VCISwingUtil.createVCIJButton("ok", "ç¡®å®", "ç¡®å®", "accept.png", actionListener); private VCIJButton btnCancel = VCISwingUtil.createVCIJButton("cancel", "åæ¶", "åæ¶", "cancel.png", actionListener); @@ -35,10 +36,10 @@ private VCIBaseTree leftTree = null; private VCIBaseTreeModel leftTreeModel = null; private KeyValue keyValue; public RMDataReferTempDialog(CodeApplyFor410MainPanel owner, CodeClassifyTemplateAttrVO codeClassifyTemplateAttr) { public RMDataReferTempDialog(CodeApplyFor410MainPanel owner, String referConfig) { //super(true); this.owner = owner; this.codeClassifyTemplateAttr = codeClassifyTemplateAttr; this.referConfig = referConfig; init(); setTitle("å¼ç¨æ¨¡æ¿-屿§éæ©"); //initDialogSize(rmDataAddDialog.getWidth(), rmDataAddDialog.getHeight()); @@ -69,8 +70,8 @@ private VCIJPanel createRMDataMainPanel(){ VCIJPanel rmDataTablePanel = new VCIJPanel(new BorderLayout()); uiFormRefer=new UIFormRefer(); if(StringUtils.isNotBlank(codeClassifyTemplateAttr.getReferConfig())){ uiFormRefer = JSONObject.toJavaObject(JSONObject.parseObject(codeClassifyTemplateAttr.getReferConfig().toString()), UIFormRefer.class); if(StringUtils.isNotBlank(referConfig)){ uiFormRefer = JSONObject.toJavaObject(JSONObject.parseObject(referConfig.toString()), UIFormRefer.class); } if(uiFormRefer !=null&&(uiFormRefer.getType().equals(CodeReferConfigTypeEnum.TREE.getValue()) ||uiFormRefer.getType().equals(CodeReferConfigTypeEnum.ORGDEPARTMENTREFER.getValue()))){ Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/BaseModel.java
@@ -1,11 +1,12 @@ package com.vci.ubcs.codeapply.object; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.springframework.data.annotation.Transient; import java.util.Date; import java.util.Map; @JsonIgnoreProperties public class BaseModel { private String oid; private String id; Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/CodeDataObject.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,4 @@ package com.vci.ubcs.codeapply.object; public class CodeDataObject { } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/DataGrid.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,115 @@ package com.vci.ubcs.codeapply.object; import java.io.Serializable; import java.util.ArrayList; import java.util.List; public class DataGrid<T> implements Serializable { private static final long serialVersionUID = -5909212697362510055L; private long total = 0L; private List<T> data = new ArrayList(); private int start; private int limit; private int page; private String sort; private String order; private String msg; private int code = 0; private String traceId; public long getTotal() { return total; } public void setTotal(long total) { this.total = total; } public List<T> getData() { return data; } public void setData(List<T> data) { this.data = data; } public int getStart() { return start; } public void setStart(int start) { this.start = start; } public int getLimit() { return limit; } public void setLimit(int limit) { this.limit = limit; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public String getSort() { return sort; } public void setSort(String sort) { this.sort = sort; } public String getOrder() { return order; } public void setOrder(String order) { this.order = order; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getTraceId() { return traceId; } public void setTraceId(String traceId) { this.traceId = traceId; } @Override public String toString() { return "DataGrid{" + "total=" + total + ", data=" + data + ", start=" + start + ", limit=" + limit + ", page=" + page + ", sort='" + sort + '\'' + ", order='" + order + '\'' + ", msg='" + msg + '\'' + ", code=" + code + ", traceId='" + traceId + '\'' + '}'; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/HttpUtil.java
@@ -7,6 +7,7 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.http.*; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; @@ -173,7 +174,102 @@ } return result; } /** * åéHttpPost请æ±ï¼åæ°ä¸ºmap * @param url * @param jsonDataStr * @return */ public static R sendPost(String url, String jsonDataStr,Map<String,String> headers) { R r=new R(); // JsonObject formparams = new JsonObject(); // for (Map.Entry<String, String> entry : map.entrySet()) { // formparams.add(entry.getKey(), entry.getValue(); // } //json æ ¼å¼ //UrlEncodedFormEntity entity = new UrlEncodedFormEntity(jsonDataStr, Consts.UTF_8); // System.out.println(jsonObject.toString()); StringEntity entity = new StringEntity(jsonDataStr, Consts.UTF_8); HttpPost httppost = new HttpPost(url); /* * æ·»å 请æ±å¤´ä¿¡æ¯ */ if(headers!=null&&headers.size()>0) { for (Map.Entry<String, String> entry : headers.entrySet()) { httppost.addHeader(entry.getKey(), entry.getValue()); } } httppost.setEntity(entity); CloseableHttpResponse response = null; try { response = httpclient.execute(httppost); } catch (IOException e) { e.printStackTrace(); } HttpEntity entity1 = response.getEntity(); String result = null; try { result = EntityUtils.toString(entity1, "UTF-8"); // 使ç¨Apacheæä¾çå·¥å ·ç±»è¿è¡è½¬æ¢æå符串 if(StringUtils.isNotBlank(result)){ r = JSONObject.toJavaObject(JSONObject.parseObject(result), R.class); } } catch (ParseException | IOException e) { e.printStackTrace(); } return r; } /** * åéHttpPost请æ±ï¼åæ°ä¸ºmap * @param url * @param map * @return */ public static R sendPost(String url, Map<String,String> map,Map<String,String> headers) { R r=new R(); // JsonObject formparams = new JsonObject(); // for (Map.Entry<String, String> entry : map.entrySet()) { // formparams.add(entry.getKey(), entry.getValue(); // } //json æ ¼å¼ // UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, Consts.UTF_8); JsonObject jsonObject = new JsonObject(); for(Map.Entry entry:map.entrySet()){ // System.out.println(entry.getKey()+ "###########" + entry.getValue()); jsonObject.addProperty(entry.getKey().toString(),entry.getValue().toString()); } // System.out.println(jsonObject.toString()); StringEntity entity = new StringEntity(jsonObject.toString(), Consts.UTF_8); HttpPost httppost = new HttpPost(url); /* * æ·»å 请æ±å¤´ä¿¡æ¯ */ if(headers!=null&&headers.size()>0) { for (Map.Entry<String, String> entry : headers.entrySet()) { httppost.addHeader(entry.getKey(), entry.getValue()); } } httppost.setEntity(entity); CloseableHttpResponse response = null; try { response = httpclient.execute(httppost); } catch (IOException e) { e.printStackTrace(); } HttpEntity entity1 = response.getEntity(); String result = null; try { result = EntityUtils.toString(entity, "UTF-8"); // 使ç¨Apacheæä¾çå·¥å ·ç±»è¿è¡è½¬æ¢æå符串 if(StringUtils.isNotBlank(result)){ r = JSONObject.toJavaObject(JSONObject.parseObject(result), R.class); } } catch (ParseException | IOException e) { e.printStackTrace(); } return r; } /** * åéHttpPost请æ±ï¼åæ°ä¸ºmap * @param url Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/ListUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,172 @@ package com.vci.ubcs.codeapply.utils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Lists; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.apache.commons.beanutils.ConvertUtils; import org.apache.commons.beanutils.PropertyUtils; import org.apache.poi.ss.formula.functions.T; import org.springframework.util.StringUtils; import java.lang.reflect.Field; import java.lang.reflect.Type; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Locale; import java.util.Map; public class ListUtil { /** * targetList éè¦å¤ççlist * targetClass ç®æ class * @return List å¤ç好çlist */ public static List listMapParseListObj(List targetList, Class targetClass){ // å è·å该类ç代ç对象 Object obj = null; try { obj = targetClass.newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } Field[] fields = targetClass.getDeclaredFields(); // å°list转为list对象 for(int i = 0; i< targetList.size(); i++){ Map map = (Map)targetList.get(i); // è·åæ¯ä¸ªlisté颿¯ä¸ªmap for (Field field : fields) { String fieldName = field.getName(); if(fieldName.equals("data")){ try { PropertyUtils.setProperty(obj, fieldName, map); }catch(Exception ex){ ex.printStackTrace(); } }else if (map.containsKey(fieldName.toUpperCase(Locale.ROOT))||map.containsKey(fieldName.toLowerCase(Locale.ROOT))) { Object value=""; if (map.containsKey(fieldName.toUpperCase(Locale.ROOT))) { value = map.get(fieldName.toUpperCase()); }else if(map.containsKey(fieldName.toLowerCase(Locale.ROOT))){ value = map.get(fieldName.toLowerCase()); } try{ //åå¾å¼ç类形 Class type = PropertyUtils.getPropertyType(obj, fieldName); if(!StringUtils.isEmpty(type)){ PropertyUtils.setProperty(obj, fieldName,convert(value, type)); } }catch(Exception ex){ ex.printStackTrace(); } } } } // å°list<Map> 转为对象è¿è¡è¿å List resListObj = Lists.newArrayList(); for (Object object : targetList) { JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(object)); resListObj.add(jsonObject.toJavaObject((Type)targetClass)); } //è¿åå°è£ 好çéå return resListObj; } /** * targetList éè¦å¤ççlist * targetClass ç®æ class * @return List å¤ç好çlist */ public static <T> T mapParseJavaBean(Map map, Class targetClass){ // å è·å该类ç代ç对象 Object obj = null; try { obj = targetClass.newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } Field[] fields = targetClass.getDeclaredFields(); // å°list转为list对象 for (Field field : fields) { String fieldName = field.getName(); if(fieldName.equals("data")){ try { PropertyUtils.setProperty(obj, fieldName, map); }catch(Exception ex){ ex.printStackTrace(); } }else if (map.containsKey(fieldName.toUpperCase(Locale.ROOT))||map.containsKey(fieldName.toLowerCase(Locale.ROOT))) { Object value=""; if (map.containsKey(fieldName.toUpperCase(Locale.ROOT))) { value = map.get(fieldName.toUpperCase()); }else if(map.containsKey(fieldName.toLowerCase(Locale.ROOT))){ value = map.get(fieldName.toLowerCase()); } try{ //åå¾å¼ç类形 Class type = PropertyUtils.getPropertyType(obj, fieldName); if(!StringUtils.isEmpty(type)){ PropertyUtils.setProperty(obj, fieldName,convert(value, type)); } }catch(Exception ex){ ex.printStackTrace(); } } } /*// å°list<Map> 转为对象è¿è¡è¿å List resListObj = Lists.newArrayList(); JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(obj)); resListObj.add(jsonObject.toJavaObject((Type)targetClass));*/ //è¿åå°è£ 好çéå return (T) obj; } public static Object convert(Object value, Class clazz){ if (value == null) { // 妿è·ååæ°å¼ä¸ºnull,åè¿ånull return null; } else if (!value.equals("")) { // 妿è·ååæ°å¼ä¸ä¸º"",åéè¿convertGtæ¹æ³è¿è¡ç±»å转æ¢åè¿åç»æ return convertGt(value, clazz); } else if (clazz.getName().equals(String.class.getName())) { // 妿è·ååæ°å¼ä¸º"" return convertGt(value, clazz); } else {// 妿è·ååæ°å¼ä¸º"",å¹¶ä¸clazz䏿¯æ¯Stringç±»å,åè¿ånull return null; } } /** * @param value * @param clazz * @return */ @SuppressWarnings("unchecked") public static Object convertGt(Object value, Class clazz) { if (value == null) { // 妿å¼ä¸ºnull,åè¿ånull return null; } else if (value.equals("")&& !clazz.getName().equals(String.class.getName())) { // 妿valueå¼ä¸º"",èä¸è¦è½¬ä¸ºçç±»å䏿¯stringç±»åï¼é£ä¹å°±ç»ä¸è¿ånullï¼ä¹å°±æ¯ç©ºå符串ä¸è½è½¬æä»»ä½å ¶ä»ç±»åçå®ä½ï¼åªè½è¿ånull return null; } else if (Date.class.getName().equalsIgnoreCase(clazz.getName())) { // å¢å 对ä»Stringç±»åå°Date return convertSTD(value.toString()); } return ConvertUtils.convert(value, clazz); } //æ¥æç±»åçè½¬æ¢ private static SimpleDateFormat simpleDateFormate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static Date convertSTD(String date){ try { return simpleDateFormate.parse(date); } catch (ParseException e) { e.printStackTrace(); } return null; } public static String convertDTS(Date date){ return simpleDateFormate.format(date); } } Source/UBCS/ubcs-codeApply/src/main/resources/properties/conf.properties
@@ -20,6 +20,6 @@ #PDM????????????????????????????????????????#?? 410.PDM.LibCodeName=\u7269\u54c1\#\u9644\u5f55 #code ???? 410.code.url=http://127.0.0.1:36014/codeApplySwingController 410.code.url=http://127.0.0.1:37000/ubcs-code/codeApplySwingController Source/UBCS/ubcs-codeApply/src/test/java/tt.json
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ { "tenant_id": "986926", "xinghaoguige": "", "lastmodifier": "", "secondfl": "", "codetemplateoid": "c59e6ff9d7a30ddbe4a776d6eb534d54", "description": "", "oid": "1681250544175419392", "shifoupihaoguanli": "true", "thrifl": "", "firstfl": "", "jiliangdwname": "", "xinghaoguigeText": "null", "materialtype": "1001-01-01", "materialtypeText": "1001-01-01", "chukufangshi": "", "morengongysname": "", "hesuanfenlei": "", "lcstatus_text": "å·²åå¸", "oldcode": "", "id": "A001001200000000XJ7E1C92A2-9B6F-4DB3-48C7-F42D1304E36B8", "hesuanfenleiname": "", "codeclsfpath": "46B5DB5E-F783-DFE9-B48A-C4A367D02AC0##0C600A6A-6398-FC30-D13E-121201FDA908##1C7A2455-5831-1535-2A21-B4C1CC9C7C9D##D9CF223F-317D-71EB-BD11-433A94CAD9F3", "zuixiaoqiding": "", "owner": "-1", "xiaoshouwl": "false", "creator": "weidy", "createtime": "2023-07-18 18:32:20.513", "caigouwl": "true", "kucunwl": "true", "tuhao": "", "btmname": "wupin", "revisionvalue": "", "codeclsfid": "46B5DB5E-F783-DFE9-B48A-C4A367D02AC0", "name": "", "jiliangdw": "", "materialclassify": "", "lastmodifytime": "2023-07-199", "morengongys": "", "lcstatus": "Released", "rn": "1", "ts": "2023-07-18 18:32:20.513", "lastmodifytimeText": "2023-07-199" } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java
@@ -101,6 +101,12 @@ @ApiModelProperty(value = "æ¥å£ç±»åæ¾ç¤ºææ¬") @TableField(exist = false) private String interfaceTypeText; @Override public String getFirstR() { return super.getFirstR(); } /** * åæ°ç±»å */ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/ComponentRule.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,32 @@ package com.vci.ubcs.code.vo; import java.util.Map; public class ComponentRule { private Map<String,String> dataMap; private String componentRuleValue; public Map<String, String> getDataMap() { return dataMap; } public void setDataMap(Map<String, String> dataMap) { this.dataMap = dataMap; } public String getComponentRuleValue() { return componentRuleValue; } public void setComponentRuleValue(String componentRuleValue) { this.componentRuleValue = componentRuleValue; } @Override public String toString() { return "ComponentRule{" + "dataMap=" + dataMap + ", componentRuleValue='" + componentRuleValue + '\'' + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/MdmUIInfoVO.java
@@ -1,7 +1,5 @@ package com.vci.ubcs.code.vo.pagemodel; import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO; import java.util.List; public class MdmUIInfoVO implements java.io.Serializable { Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
@@ -37,8 +37,6 @@ import java.math.BigInteger; import java.net.InetAddress; import java.net.NetworkInterface; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -1371,9 +1369,14 @@ // String sqlField = camelToUnderscore(key); if (map.containsKey(key.toUpperCase())) { if (map.containsKey(key.toUpperCase(Locale.ROOT))||map.containsKey(key.toLowerCase(Locale.ROOT))) { try { Object value = map.get(key.toUpperCase()); Object value=""; if (map.containsKey(key.toUpperCase(Locale.ROOT))) { value = map.get(key.toUpperCase()); }else if(map.containsKey(key.toLowerCase(Locale.ROOT))){ value = map.get(key.toLowerCase()); } // å¾å°property对åºçsetteræ¹æ³ Method setter = property.getWriteMethod(); Class<?> type = property.getPropertyType(); @@ -1395,6 +1398,7 @@ return beanList; } public static String camelToUnderscore(String name) { if (name == null && name.length() <= 0) { return name; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java
@@ -1,29 +1,34 @@ package com.vci.ubcs.code.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.enumpack.CodeClassifyProcessUseEnum; import com.vci.ubcs.code.service.ICodeClassifyService; import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.service.ICodeClassifyValueService; import com.vci.ubcs.code.service.MdmEngineService; import com.vci.ubcs.code.service.impl.FormulaServiceImpl; import com.vci.ubcs.code.vo.ComponentRule; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyValueVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.starter.annotation.VciBusinessLog; import com.vci.ubcs.starter.revision.model.BaseModel; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.pagemodel.UIFormReferVO; import com.vci.ubcs.starter.web.pagemodel.*; import io.swagger.annotations.Api; import lombok.AllArgsConstructor; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 主é¢åºå®ä¹è¡¨ æ§å¶å¨ @@ -53,6 +58,12 @@ * åç±»ç æ®µæå¡ */ private final ICodeClassifyValueService codeClassifyValueService; /** * å ¬å¼çæå¡ */ @Autowired private FormulaServiceImpl formulaService; /** * è·ååºèç¹ä¿¡æ¯ * @param libName åºèç¹åç§° @@ -169,4 +180,54 @@ return R.data(iPage); } /** * è·å屿§ç»åè§åçå¼ * @param componentRule åç §çé ç½®ä¿¡æ¯ * @param componentRule ç»åè§å * @return æ§è¡çç»æ */ @GetMapping("/getValueByFormula") public R<String> getValueByFormula(ComponentRule componentRule){ String value = formulaService.getValueByFormula(componentRule.getDataMap(),componentRule.getComponentRuleValue()); return R.data(value); } /** * 使ç¨åç±»è·å对åºçæ°æ® * @param codeClassifyOid åç±»çä¸»é® * @param templateOid 模æ¿çä¸»é® * @param queryObject åºç¡æ¥è¯¢å¯¹è±¡ * @return æ°æ®çä¿¡æ¯ï¼å å«ä¸çº§åç±»ï¼ */ @GetMapping("/gridTableDataByClassifyOid") @VciBusinessLog(operateName = "æ¥è¯¢ä¸»é¢åºåç±»çæ°æ®") public R<DataGrid<Map<String,String>>> gridTableDataByClassifyOid(String codeClassifyOid, String templateOid, BaseQueryObject queryObject){ //TODOåç»å¯ä»¥å®ä¹æ¥è¯¢æ¨¡æ¿æ¥æ¥è¯¢ return R.data(mdmEngineService.gridTableDataByClassifyOid(codeClassifyOid,templateOid,queryObject.getConditionMap(),queryObject.getPageHelper())); } /*** *ç»è®¡åèç¹çä¸ªæ° * @param parentId ç¶èç¹oid * @return */ @GetMapping("/countChildrenByClassifyOid") @VciBusinessLog(operateName = "ç»è®¡åèç¹ç个æ°") public R<Integer> countChildrenByClassifyOid(String parentId){ int count= this.codeClassifyService.countChildrenByClassifyOid(parentId); return R.data(count); } /** * ç³è¯·ç¼ç ä¿å * @param orderDTO ç¼ç ç³è¯·ç¸å ³çä¿¡æ¯ï¼éè¦æå±æ§åç æ®µç¸å ³çä¿¡æ¯ * @return æ§è¡ç»æ */ @PostMapping("/addSaveCode") @VciBusinessLog(operateName = "ç³è¯·å个ç¼ç ") public R addSaveCode(@RequestBody CodeOrderDTO orderDTO) throws Exception { return R.success(mdmEngineService.addSaveCode(orderDTO)); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -164,9 +164,14 @@ log.info(" å¢å ç³»ç»éæçæ¥å£ç®¡çä¿¡æ¯:"+dockingSystemConfigDTO.toString()); VciBaseUtil.alertNotNull(dockingSystemConfigDTO, "éè¦æ·»å çæ°æ®å¯¹è±¡"); checkColumnNotNull(dockingSystemConfigDTO); String sourcesystemoid = dockingSystemConfigDTO.getSourceSystemOid(); DockingSystem dockingSystem = dockingSystemMapper.selectById(sourcesystemoid); dockingSystemConfigDTO.setSysBaseOid(sourcesystemoid); String systemOid =""; if(dockingSystemConfigDTO.getDataFlowType().equals(SysIntegrationDataFlowTypeEnum.ACCEPT.getValue())) { systemOid = dockingSystemConfigDTO.getTargetSystemOid(); }else{ systemOid = dockingSystemConfigDTO.getSourceSystemOid(); } DockingSystem dockingSystem = dockingSystemMapper.selectById(systemOid); dockingSystemConfigDTO.setSysBaseOid(systemOid); dockingSystemConfigDTO.setSysBaseId(dockingSystem.getId()); dockingSystemConfigDTO.setSysBaseName(dockingSystem.getName()); dockingSystemConfigDTO.setUsedFlag("true");//设置é»è®¤å¯ç¨ç¶æ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/FormulaServiceImpl.java
@@ -709,7 +709,7 @@ str = str.substring(2); } //éè¦æ¿æ¢ç³»ç»åé Map<String, String> systemVarValueMap = VciSystemVarConstants.getSystemVarValueMap(); Map<String, String> systemVarValueMap = new HashMap<>();//VciSystemVarConstants.getSystemVarValueMap(); if(!CollectionUtils.isEmpty(systemVarValueMap)){ final String[] finalStr = new String[]{str}; systemVarValueMap.forEach((key,value)->{ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -187,38 +187,40 @@ //åç §çèªè¡è¾å ¥åç§° //åç±»æ³¨å ¥çä¸ç¨ï¼é½æ¯å¯¼å ¥åèªå¨å¤çç //ç¼ç ï¼ç¶æçåæ®µä¸å¯¼å ¥ List<CodeClassifyTemplateAttrVO> templateAttrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_ATTR_LIST.contains(s.getId()) && StringUtils.isBlank(s.getComponentRule()) && StringUtils.isBlank(s.getClassifyInvokeAttr()) && (VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); if(CollectionUtils.isEmpty(templateAttrVOS)){ throw new VciBaseException("æ¨¡æ¿æ²¡æé 置任ä½ãè¡¨åæ¾ç¤ºãä¸ºãæ¯ãç屿§"); } templateAttrVOS.stream().forEach(codetemplateAttr ->{ String field=codetemplateAttr.getId(); String name=codetemplateAttr.getName(); CodeClassifyTemplateAttrVO codeBaseAttributeDTO=new CodeClassifyTemplateAttrVO(); boolean res=(StringUtils.isNotBlank(codetemplateAttr.getAttributeGroup())&& codetemplateAttr.getAttributeGroup().equals(BATCHADD_EXCEPORT_ATTR_TYPE))//åºæ¬å±æ§å段æ¾ç¤º ||(StringUtils.isNotBlank(codetemplateAttr.getKeyAttrFlag())&&Boolean.parseBoolean(codetemplateAttr.getKeyAttrFlag()))//å ³é®å±æ§çåå ¥ ||(StringUtils.isNotBlank(codetemplateAttr.getSameRepeatAttrFlag())&&Boolean.parseBoolean(codetemplateAttr.getSameRepeatAttrFlag())) //ç¸ä¼¼å±æ§çåå ¥ ||(StringUtils.isNotBlank(codetemplateAttr.getRequireFlag())&&Boolean.parseBoolean(codetemplateAttr.getRequireFlag())); if(allFieldToOutNameMap.containsKey(name)){//妿åå¨çè¯åéè¦æ ¹æ®å ·ä½çå»èµå¼ codeBaseAttributeDTO= allFieldToOutNameMap.get(name); if(StringUtils.isNotBlank(codetemplateAttr.getKeyAttrFlag())&&Boolean.parseBoolean(codetemplateAttr.getKeyAttrFlag())){ codeBaseAttributeDTO.setKeyAttrFlag(codetemplateAttr.getKeyAttrFlag());//屿§å ³é®å±æ§ } if(StringUtils.isNotBlank(codetemplateAttr.getRequireFlag())&&Boolean.parseBoolean(codetemplateAttr.getRequireFlag())){ codeBaseAttributeDTO.setRequireFlag(codetemplateAttr.getRequireFlag());//屿§å¿ 填项 } if(StringUtils.isNotBlank(codetemplateAttr.getSameRepeatAttrFlag())&&Boolean.parseBoolean(codetemplateAttr.getSameRepeatAttrFlag())){ codeBaseAttributeDTO.setSameRepeatAttrFlag(codetemplateAttr.getSameRepeatAttrFlag());//屿§ç¸ä¼¼å±æ§ } }else if(res){ allFieldToOutNameMap.put(name,codetemplateAttr); if(!CollectionUtils.isEmpty(templateVO.getAttributes())) { List<CodeClassifyTemplateAttrVO> templateAttrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_ATTR_LIST.contains(s.getId()) && StringUtils.isBlank(s.getComponentRule()) && StringUtils.isBlank(s.getClassifyInvokeAttr()) && (VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); if(CollectionUtils.isEmpty(templateAttrVOS)){ throw new VciBaseException("æ¨¡æ¿æ²¡æé 置任ä½ãè¡¨åæ¾ç¤ºãä¸ºãæ¯ãç屿§"); } }); templateAttrVOS.stream().forEach(codetemplateAttr -> { String field = codetemplateAttr.getId(); String name = codetemplateAttr.getName(); CodeClassifyTemplateAttrVO codeBaseAttributeDTO = new CodeClassifyTemplateAttrVO(); boolean res = (StringUtils.isNotBlank(codetemplateAttr.getAttributeGroup()) && codetemplateAttr.getAttributeGroup().equals(BATCHADD_EXCEPORT_ATTR_TYPE))//åºæ¬å±æ§å段æ¾ç¤º || (StringUtils.isNotBlank(codetemplateAttr.getKeyAttrFlag()) && Boolean.parseBoolean(codetemplateAttr.getKeyAttrFlag()))//å ³é®å±æ§çåå ¥ || (StringUtils.isNotBlank(codetemplateAttr.getSameRepeatAttrFlag()) && Boolean.parseBoolean(codetemplateAttr.getSameRepeatAttrFlag())) //ç¸ä¼¼å±æ§çåå ¥ || (StringUtils.isNotBlank(codetemplateAttr.getRequireFlag()) && Boolean.parseBoolean(codetemplateAttr.getRequireFlag())); if (allFieldToOutNameMap.containsKey(name)) {//妿åå¨çè¯åéè¦æ ¹æ®å ·ä½çå»èµå¼ codeBaseAttributeDTO = allFieldToOutNameMap.get(name); if (StringUtils.isNotBlank(codetemplateAttr.getKeyAttrFlag()) && Boolean.parseBoolean(codetemplateAttr.getKeyAttrFlag())) { codeBaseAttributeDTO.setKeyAttrFlag(codetemplateAttr.getKeyAttrFlag());//屿§å ³é®å±æ§ } if (StringUtils.isNotBlank(codetemplateAttr.getRequireFlag()) && Boolean.parseBoolean(codetemplateAttr.getRequireFlag())) { codeBaseAttributeDTO.setRequireFlag(codetemplateAttr.getRequireFlag());//屿§å¿ 填项 } if (StringUtils.isNotBlank(codetemplateAttr.getSameRepeatAttrFlag()) && Boolean.parseBoolean(codetemplateAttr.getSameRepeatAttrFlag())) { codeBaseAttributeDTO.setSameRepeatAttrFlag(codetemplateAttr.getSameRepeatAttrFlag());//屿§ç¸ä¼¼å±æ§ } } else if (res) { allFieldToOutNameMap.put(name, codetemplateAttr); } }); } }); //æ´çå¥½æææ¨¡æ¿éè¦åå ¥execlç屿§ä¿¡æ¯ Workbook workbook = new HSSFWorkbook(); Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateMapper.xml
@@ -109,7 +109,7 @@ start with oid = #{classifyoid} connect by prior oid = parentcodeclassifyoid) cls on t.codeclassifyoid = cls.oid where t.lcstatus = #{templatelcstatus} where t.lastr=1 and t.lastv=1 and t.lcstatus = #{templatelcstatus} and cls.oid is not null </select>