Source/UBCS/pom.xml
@@ -41,6 +41,7 @@ <module>ubcs-plugin-api</module> <module>ubcs-service</module> <module>ubcs-service-api</module> <module>ubcs-codeApply</module> </modules> <dependencyManagement> Source/UBCS/ubcs-codeApply/pom.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,64 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>UBCS</artifactId> <groupId>com.vci.ubcs</groupId> <version>3.0.1.RELEASE</version> </parent> <modelVersion>4.0.0</modelVersion> <properties> <vciplt.version>2022.RELEASE</vciplt.version> <old.spring.version>3.2.0.RELEASE</old.spring.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <artifactId>ubcs-codeApply</artifactId> <dependencies> <dependency><!--VciBaseåºç¡å --> <groupId>com.vci.platform</groupId> <artifactId>VCIBase-client</artifactId> <version>${vciplt.version}</version> </dependency> <dependency> <groupId>com.vci.platform</groupId> <artifactId>VCIBase-common</artifactId> <version>${vciplt.version}</version> </dependency> <dependency> <groupId>com.vci.ubcs</groupId> <artifactId>ubcs-user-api</artifactId> <version>3.0.1.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.vci.ubcs</groupId> <artifactId>ubcs-code-api</artifactId> <version>3.0.1.RELEASE</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.1</version> </dependency> </dependencies> <distributionManagement> <repository> <id>rdc-releases</id> <url>http://nexus.vci-tech.com:9000/repository/maven-releases/</url> </repository> <snapshotRepository> <id>rdc-snapshots</id> <url>http://nexus.vci-tech.com:9000/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement> </project> Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410Dialog.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,164 @@ package com.vci.ubcs.codeapply; import com.vci.base.common.resource.CommonProperties; import com.vci.base.ui.swing.VCIOptionPane; import com.vci.base.ui.swing.VCISwingUtil; import com.vci.base.ui.swing.components.VCIJButton; import com.vci.base.ui.swing.components.VCIJDialog; import com.vci.base.ui.swing.components.VCIJPanel; import com.vci.ubcs.codeapply.utils.ConfigUtils; import com.vci.ubcs.system.user.entity.User; import javax.swing.*; import java.awt.*; import java.util.LinkedHashMap; import java.util.Map; public class CodeApplyFor410Dialog extends VCIJDialog { private static final long serialVersionUID = -3286164100581857853L; private static User userOb = new User(); private String userName = null; private String codeValue = null; private CodeApplyFor410DialogActionListener actionListener = new CodeApplyFor410DialogActionListener(this); private VCIJButton okBtn = VCISwingUtil.createVCIJButton("ok", "确认", "确认", "ok.gif", actionListener); private VCIJButton cancelBtn = VCISwingUtil.createVCIJButton("cancel", "åæ¶", "åæ¶", "cancel.gif", actionListener); private CodeApplyPanelFor410 mainPal = null; private Component parentComponet = null; private Map<String, String> attrNameAndValMap = new LinkedHashMap();//åå¨å±æ§åç§°ï¼å å«å é¨åç§°åå¤é¨åç§°ï¼å对åºçå¼ /** * åå¨åç±»çMap,key:åç±»åç§°ï¼valueï¼åç±»å¼ */ private String clsfName = null; /** * åå¨å±æ§åå¼çMap,key:屿§åç§°ï¼valueï¼å±æ§å¼ */ private String deptName = null; private String[] libName = ConfigUtils.getConfigValue("410.PDM.LibCodeName").split("#");//ConfigUtils.getConfigValue("410.PDM.LibCodeName").split("#");//代ç 项åç§° public CodeApplyFor410Dialog(Frame frame, String clsfName, String deptName) { this(frame, "pdmUser", clsfName, deptName,new String[]{}); } public CodeApplyFor410Dialog(JDialog dialog, String clsfName, String deptName) { this(dialog, "pdmUser", clsfName, deptName,new String[]{}); } public CodeApplyFor410Dialog(Frame frame, String userName, String clsfName, String deptName, String[] libName){ super(frame, true); try { this.setModal(true); parentComponet = frame; this.userName = userName; this.clsfName = clsfName; this.deptName = deptName; //this.libName = libName; init(); } catch (Exception e) { e.printStackTrace(); } } public CodeApplyFor410Dialog(JDialog dialog, String userName, String clsfName, String deptName, String[] libName) { super(dialog, true); try { this.setModal(true); parentComponet = dialog; this.userName = userName; this.clsfName = clsfName; this.deptName = deptName; // this.libName = libName; init(); } catch (Exception e) { e.printStackTrace(); } } private void initUserInfo() { // userOb.set("127.0.0.1"); // userOb.setModules("TCéæä»£ç ç³è¯·"); // userOb.setUserName(userName); } public void buildDialog() { Dimension dime = Toolkit.getDefaultToolkit().getScreenSize(); int x = dime.width/2 - 400; int y = dime.height/2-400; this.setLocation(x, y); this.setSize(new Dimension(900, 800)); this.setResizable(true); this.setVisible(true); } private void init() { boolean isConnect = verifyConnect(); if (isConnect) { try { initUserInfo(); bulidPal(); }catch (Exception e){ showMessageBox( "æå¡åºç°å¼å¸¸ï¼->"+e.getMessage()); } } else { showMessageBox("æ æ³è¿æ¥ä»£ç æå¡å¨ï¼"); } } private void bulidPal() throws Exception { this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); this.setTitle("代ç ç³è¯·"); mainPal = new CodeApplyPanelFor410(this,userOb, true, clsfName, deptName,libName); VCIJPanel btnPal = new VCIJPanel(); btnPal.add(okBtn); btnPal.add(cancelBtn); this.setLayout(new BorderLayout()); this.add(mainPal,BorderLayout.CENTER); this.add(btnPal,BorderLayout.SOUTH); buildDialog(); } public boolean verifyConnect() { try { // if (ClientSession.getFrameworkService() != null) { // return true; // } return true; } catch (Exception e) { e.printStackTrace(); } return false; } public String getApplyCode() { return mainPal.getApplyCode(); } public String getCodeValue() { return codeValue; } public void setCodeValue(String codeValue) { this.codeValue = codeValue; } public String getAttributeValue(String attribute) { if(attrNameAndValMap.containsKey(attribute)) { return attrNameAndValMap.get(attribute); } return ""; } public void setAttrNameAndValMap() { this.attrNameAndValMap = mainPal.getAttrNameAndValMap(); } private void showMessageBox(String message) { VCIOptionPane.showMessage(parentComponet, message); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410DialogActionListener.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,45 @@ package com.vci.ubcs.codeapply; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.LinkedHashMap; public class CodeApplyFor410DialogActionListener implements ActionListener { private CodeApplyFor410Dialog owner = null; public CodeApplyFor410DialogActionListener(CodeApplyFor410Dialog owner){ this.owner = owner; this.initActionMap(); } private LinkedHashMap<String, Runnable> actionMaps = new LinkedHashMap(); private void initActionMap(){ actionMaps.put("ok", new Runnable() { public void run() { ok(); }}); actionMaps.put("cancel", new Runnable() { public void run() { cancel(); }}); } @Override public void actionPerformed(ActionEvent e) { String key = e.getActionCommand(); if(actionMaps.containsKey(key)){ actionMaps.get(key).run(); } } private void ok() { this.owner.setCodeValue(this.owner.getApplyCode()); this.owner.setAttrNameAndValMap(); this.owner.dispose(); } private void cancel(){ this.owner.setCodeValue(""); this.owner.dispose(); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410MainPanel.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,1207 @@ package com.vci.ubcs.codeapply; 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.ubcs.code.vo.pagemodel.CodeBasicSecVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.codeapply.object.*; import com.vci.ubcs.codeapply.swing.IntegerTextField; import com.vci.ubcs.codeapply.swing.RealTextField; import com.vci.ubcs.codeapply.swing.VCIJComboxBox; import com.vci.ubcs.codeapply.utils.ConfigUtils; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import com.vci.ubcs.system.user.entity.User; import net.bytebuddy.implementation.bytecode.Throw; import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; import org.apache.commons.collections4.CollectionUtils; import javax.swing.*; import javax.swing.text.JTextComponent; import javax.swing.tree.TreeNode; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.*; import java.util.List; import java.util.regex.Pattern; import java.util.stream.Collectors; public class CodeApplyFor410MainPanel extends VCIJPanel { //410æ°éæ± private final String SPECIAL_RULE_NAME="Special.rule.name"; 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"; private final String MAX_ATTR_IN_LINE_KEY = "RMData.MaxAttrInLine"; private final String TEXTAREA_ENABLE_KEY = "RMData.TextArea.Enable"; private final String MAX_STRING_LENGTH_KEY = "RMData.MaxStringLength"; private final String TEXTAREA_PRE_SIZE_WIDTH = "RMData.TextArea.PreferredSize.Width"; private final String TEXTAREA_PRE_SIZE_HEIGHT = "RMData.TextArea.PreferredSize.Height"; private final String TEXTAREA_MIN_SIZE_WIDTH = "RMData.TextArea.MinimumSize.Width"; private final String TEXTAREA_MIN_SIZE_HEIGHT = "RMData.TextArea.MinimumSize.Height"; private final String TEXTAREA_MAX_SIZE_WIDTH = "RMData.TextArea.MaximumSize.Width"; private final String TEXTAREA_MAX_SIZE_HEIGHT = "RMData.TextArea.MaximumSize.Height"; // æ¯å¦å¯ç¨å±æ§é¿åº¦è¿é¿æ¶ï¼ç¨TextAreaæ¾ç¤ºï¼true:å¯ç¨ falseï¼ä¸å¯ç¨ï¼é»è®¤å¼true private boolean isEnableTextArea = false; // å¯ç¨äºTextAreaåï¼æ¤TextAreaçPreferredSizeãMinimumSizeãMaximumSizeçWidthãHeight private int textAreaPreSizeWidth = 100; private int textAreaPreSizeHeight = 50; private int textAreaMinSizeWidth = 100; private int textAreaMinSizeHeight = 30; private int textAreaMaxSizeWidth = 100; private int textAreaMaxSizeHeight = 80; // åä¸è¡å ï¼æå¤å è½½ç屿§ä¸ªæ°ï¼ä¸è¡ä¸ºä¸ç»ï¼å³ä¸ç»å æå¤å è½½ç屿§ä¸ªæ°ï¼é»è®¤å¼2 private int maxAttrInLine = 2; // å½Stringç±»åç屿§å¼çé¿åº¦å¤§äºæ¤å¼æ¶ï¼è¯¥å±æ§å°±éè¦ç¨TextAreaæ¾ç¤ºï¼å¹¶å ç¨æ´è¡ï¼é»è®¤å¼100 private int maxStringLength = 100; private int levelPositon = -1; private TransmitTreeObject transTreeObject = new TransmitTreeObject(); private User userObj; private String deptName; //å卿¯ä¸ªå®é ç æ®µå对åºçç æ®µå¯¹è±¡ protected Map<Integer,CodeBasicSecVO> columnSecMap = new LinkedHashMap<Integer,CodeBasicSecVO>(); private LinkedHashMap<Integer, JComponent> compMaps = new LinkedHashMap<Integer, JComponent>(); private Map<String, JComponent> secAndComMap = new LinkedHashMap<String, JComponent>(); private Map<JComponent, JComponent> comtMap = new LinkedHashMap<JComponent, JComponent>(); private Map<String, VCIJComboBox> secNameAndComtMap = new LinkedHashMap<String, VCIJComboBox>(); private Map<Integer,String> secIndexAndNameMap = new LinkedHashMap<Integer, String>(); private List<JComponent> specSecList = new ArrayList<JComponent>(); private boolean isSpecialRuleFlag = false; private String specialSectioName = ""; private VCIJPanel rulePal = new VCIJPanel(); private String[] specialSecVals = new String[0]; private RMDataTransmitObject transmitForRMData = null; /** * 屿§IDä¸å±æ§å¯¹åºçæ§ä»¶ä¹é´çæ å°MAP */ private LinkedHashMap<String, JComponent> attrIdToCtrlMaps = new LinkedHashMap<String, JComponent>(); /** * 屿§çå é¨åç§°ä¸å±æ§å¯¹åºçæ§ä»¶ä¹é´çæ å°MAP */ private LinkedHashMap<String, JComponent> attrInnerNameToCtrlMaps = new LinkedHashMap<String, JComponent>(); /** * å¼ç¨ç段ç å¼ä¸comboxå ç´ ä½ç½®çæ å°MAP */ private LinkedHashMap<String, Integer> refSecValueToCombxindex = new LinkedHashMap<String, Integer>(); /** * ç æ®µidä¸åç±»ç æ®µç å¼æè¿°å¯¹è±¡å¯¹åºçæ§ä»¶ä¹é´çæ å°MAP */ private LinkedHashMap<String, JComponent> secIdToClsfIdMap = new LinkedHashMap<String, JComponent>(); private List<VCIJTextField> textCompts = new LinkedList<VCIJTextField>(); /** * å½åéæ©çåç±»çæ¨¡æ¿ */ private CodeClassifyTemplateVO currentCodeClassifyTemplateVO; // å®é ç private VCIJDialog realDialogInstance = null; public CodeApplyFor410MainPanel(TransmitTreeObject transTreeObject, User userObj, CodeClassifyTemplateVO currentCodeClassifyTemplateVO) { this.transTreeObject = transTreeObject; this.userObj = userObj; this.currentCodeClassifyTemplateVO=currentCodeClassifyTemplateVO; } public CodeApplyFor410MainPanel(TransmitTreeObject transTreeObject,User userObj,String deptName,CodeClassifyTemplateVO currentCodeClassifyTemplateVO) { this.transTreeObject = transTreeObject; this.userObj = userObj; this.deptName = deptName; this.currentCodeClassifyTemplateVO=currentCodeClassifyTemplateVO; } /** * * @param type, 1代表ç³è¯·ï¼2è®¾ç½®æµæ°´ */ public void buildMainPanel(int type) { try { init(type); if (type == 2) { return; } this.initRMTypeTreeMaps(); this.initContents(); }catch (Exception e){ VCIOptionPane.showMessage(this,e.getMessage()); } } private void init(int type){ this.loadTextAreaEnableEnv(); //add by liujw //this.loadSpecialRuleConfig(); CodeClassify rmType = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj(); String url= ConfigUtils.getConfigValue("410.PDM.rule.url","http://127.0.0.1:36014/codeApplySwingController/getCodeRuleByClassifyFullInfo"); /**ç³»ç»åªå 载代ç 项 妿libNameä¸ä¸ºç©ºï¼ç´æ¥è·å对åºç代ç 项**/ Map<String,String> condtionMap=new HashMap<>(); condtionMap.put("codeClassId", rmType.getOid()); R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>()); CodeRuleVO codeRuleVO=new CodeRuleVO(); if(r.isSuccess()){ Object object= r.getData(); if(object!=null) { ObjectMapper objectMapper = new ObjectMapper(); try { codeRuleVO = objectMapper.readValue(object.toString(),CodeRuleVO.class); } catch (JsonProcessingException e) { e.printStackTrace(); } } }else{ VCIOptionPane.showMessage(this,r.getMsg()); } /**å è½½è§å对åºçç æ®µä¿¡æ¯**/ if(codeRuleVO!=null){ List<CodeBasicSecVO> codeBasicSecVOList=codeRuleVO.getSecVOList(); if(!CollectionUtils.isEmpty(codeBasicSecVOList) ){ /**åå§åç æ®µpanel**/ initSectionPanel(codeBasicSecVOList, codeRuleVO.getOid(), type);//åå§åè§åç æ®µ } } this.setLayout(new BorderLayout()); this.add(rulePal,BorderLayout.CENTER); } /** * è§åç æ®µä¸»çé¢ * <p>Description: </p> * * @author Administrator * @time 2012-8-7 * @param objs * @param cRuleId */ private void initSectionPanel(List<CodeBasicSecVO> objs, String cRuleId, int type) { //循ç¯è·ååå int column = 0; for(int i = 0; i < objs.size(); i++) { if(objs.get(i).getSecType().equals("codeserialsec")){//æµæ°´ç 段ä¸å¨TABLEéæ¾ç¤º if (type == 1) { continue; } else if (type == 2) { break; } } columnSecMap.put(column++,objs.get(i)); } createSectionPanel(objs, type); } private void createSectionPanel(List<CodeBasicSecVO> secObjs, int type) { /**æ¯æ¬¡éæ©ä»£ç 项åï¼èªå¨å è½½è§åç æ®µå模æ¿å±æ§ä¿¡æ¯ï¼æ¸ é¤åæ¥çç æ®µä¿¡æ¯**/ rulePal.removeAll(); rulePal.updateUI(); /**æ ¹æ®è§åè·åç æ®µä¿¡æ¯çé¢**/ VCIJPanel sectionPal = new VCIJPanel(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); int x = 0; int y = 0; int maxAttrInLine = 1; int column = 2; List<CodeBasicSecVO> secList = new ArrayList<CodeBasicSecVO>(); List<VCIJComboxBox> comList = new ArrayList<VCIJComboxBox>(); compMaps.clear(); secAndComMap.clear(); secIdToClsfIdMap.clear(); secNameAndComtMap.clear(); secIndexAndNameMap.clear(); // å è½½ç æ®µå表 boolean isBreak = false; for(int secIndex = 0; secIndex < secObjs.size(); secIndex += maxAttrInLine){//for1 for(int columnIndex = 0; columnIndex < maxAttrInLine; columnIndex++){ //for2 if(secIndex + columnIndex >= secObjs.size()){ break; } if(secObjs.get(secIndex).getSecType().equals("codeserialsec")){//æµæ°´ç 段ä¸å¨TABLEéæ¾ç¤º if (type == 1) { continue; } else { isBreak = true; break; } } /*else if (secObjs[secIndex].getSecType() == SectionConstant.SectionType.SECCHAR){//æ¯åé符 continue; }*/ CodeBasicSecVO secObj = secObjs.get(secIndex+columnIndex); VCIJLabel lbl = new VCIJLabel(secObj.getName() + "ï¼"); lbl.setForeground(new Color(129, 0, 0)); JComponent compt = null;//ç æ®µåç§° VCIJComboxBox cbx = new VCIJComboxBox(); compt = cbx; secList.add(secObj); comList.add(cbx); compMaps.put(column, compt); secNameAndComtMap.put(secObj.getName(), cbx); secIndexAndNameMap.put(column, secObj.getName()); /**å±çº§ç 段éè¦ç¹æ®å¤çï¼å¦ææ¯å±çº§ç 段ï¼ä¸ææ¡ä¸è½ç¼è¾ï¼æ¾ç¤ºç弿¯éä¸çæ èç¹çåç±»åç§°å代å·**/ if(secObj.getSecType().equals ("codelevelsec")) {//å±çº§ç 段 levelPositon = column; compt.setEnabled(false); } // relationMap.put(secIndex, column); secAndComMap.put(secObj.getId(), cbx); column++; c.gridx = x++; c.gridy = y; c.gridheight = 1; c.gridwidth = 1; c.weightx = 0d; c.weighty = 0d; // c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.EAST; c.insets = new Insets(1, 1, 10, 10); c.ipadx = 3; c.ipady = 3; lbl.setPreferredSize(new Dimension(100,25)); sectionPal.add(lbl, c); c.gridx = x++; c.weightx = 0d; c.fill = GridBagConstraints.CENTER; c.anchor = GridBagConstraints.WEST; compt.setPreferredSize(new Dimension(200,25)); sectionPal.add(compt, c); //妿å½åç æ®µæ¯éè¦ç¹æ®å¤ççç æ®µï¼ç³»ç»è¿è¡è®°å½å¤ç if(isSpecialRuleFlag && specialSectioName.equals(secObj.getName())) { specSecList.add(lbl); specSecList.add(compt); } /**åç±»ç æ®µæ·»å æè¿°ä¿¡æ¯ 410æ°éæ±ï¼åç±»ç æ®µç å¼å¢å 'ç å¼æè¿°'åæ®µ BEGIN***/ if(secObj.getSecType().equals("codeclassifysec")) { VCIJLabel lblDesc = new VCIJLabel("æè¿°ï¼"); c.gridx = x++; c.weightx = 0d; c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.WEST; lblDesc.setPreferredSize(new Dimension(40,25)); sectionPal.add(lblDesc, c); VCIJTextField txtDesc = new VCIJTextField(""); c.gridx = x++; c.weightx = 0d; c.fill = GridBagConstraints.CENTER; c.anchor = GridBagConstraints.WEST; txtDesc.setPreferredSize(new Dimension(200,25)); txtDesc.setEditable(false); sectionPal.add(txtDesc, c); secIdToClsfIdMap.put(secObj.getId(), txtDesc); //è¯¦ç»æè¿°ä¿¡æ¯çæ¥ç VCIJLabel clsfDescLbl = new VCIJLabel(); clsfDescLbl.setText("<html><u>"+"è¯¦ç»æè¿°"+"</u><html>"); clsfDescLbl.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); clsfDescLbl.setForeground(Color.RED); comtMap.put(clsfDescLbl,txtDesc); clsfDescLbl.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e){ clsfValDescActionListener(e); } }); c.gridx = x++; c.weightx = 0d; c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.WEST; // lblDesc.setPreferredSize(new Dimension(100,25)); sectionPal.add(clsfDescLbl, c); //妿å½åç æ®µæ¯éè¦ç¹æ®å¤ççç æ®µï¼ç³»ç»è¿è¡è®°å½å¤ç if(isSpecialRuleFlag && specialSectioName.equals(secObj.getName())) { specSecList.add(lblDesc); specSecList.add(txtDesc); specSecList.add(clsfDescLbl); } } /****************************END**********************************/ }// for 2 if (isBreak) { break; } x = 0; y += 1; }// for 1 rulePal.setLayout(new BorderLayout()); rulePal.add(sectionPal,BorderLayout.CENTER); if (type == 1) { rulePal.add(createAttrPal(),BorderLayout.SOUTH); } initCurrentRow(secList.toArray(new CodeBasicSecVO[0]),comList.toArray(new VCIJComboxBox[0])); } /**å 载模æ¿å±æ§ä¿¡æ¯é¢æ¿**/ private VCIJPanel createAttrPal() { VCIJPanel attrPal = new VCIJPanel(); CodeClassify rmTypeObj = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj(); /**éæ©äºä»£ç 项**/ if(rmTypeObj != null) { transmitForRMData = loadTemplateAttributes("",rmTypeObj.getId(),""); /**代ç 项ä¸ç模æ¿å å«å±æ§**/ if(transmitForRMData.getTempPropObjsList().size() > 0) { attrPal = createTemplateAttributePanel(transmitForRMData); } } return attrPal; } private void loadSpecialRuleConfig() { /******added by ligang æ¯å¦æ¯ç¹æ®è§åç夿Begin******/ /*CodeClassify rmType = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj(); RuleManagerObject ruleObj = ruleDel.getRuleManagerById(rmType.getRuleOid()); String specialRuleName = ConfigUtils.getConfigValue(SPECIAL_RULE_NAME); isSpecialRuleFlag = ruleObj.getPlname().toUpperCase().equals(specialRuleName.toUpperCase()) ? true : false; specialControlSecName = ConfigUtils.getConfigValue(SPECIAL_CONTROL_SECTION_NAME); specialSectioName = ConfigUtils.getConfigValue(SPECIAL_SECTION_NAME); specialSecVals = ConfigUtils.getConfigValue(SPECIAL_SECTION_VALUE).split(",");*/ /*********************End*************************/ } /** * å è½½æ¯å¦å¯ç¨TextAreaç¯å¢åæ° * <p> * Description: * </p> * @author liujw * @throws * @time 2013-4-16 */ private void loadTextAreaEnableEnv() { String textAreaEnable = ConfigUtils.getConfigValue(TEXTAREA_ENABLE_KEY); String strAttrInLine = ConfigUtils.getConfigValue(MAX_ATTR_IN_LINE_KEY); if (isNumber(strAttrInLine)) { Integer iLength = Integer.valueOf(strAttrInLine); if (iLength > 0) { this.maxAttrInLine = iLength; } } if (textAreaEnable.toLowerCase().equals("true")) { this.isEnableTextArea = true; } if(this.isEnableTextArea){ String cfgValue = ""; cfgValue = ConfigUtils.getConfigValue(MAX_STRING_LENGTH_KEY); if (isNumber(cfgValue)) { Integer iLength = Integer.valueOf(cfgValue); if (iLength > 0) { this.maxStringLength = iLength; } } cfgValue = ConfigUtils.getConfigValue(TEXTAREA_PRE_SIZE_WIDTH); if (isNumber(cfgValue)) { Integer iValue = Integer.valueOf(cfgValue); if (iValue > 0) { this.textAreaPreSizeWidth = iValue; } } cfgValue = ConfigUtils.getConfigValue(TEXTAREA_PRE_SIZE_HEIGHT); if (isNumber(cfgValue)) { Integer iValue = Integer.valueOf(cfgValue); if (iValue > 0) { this.textAreaPreSizeHeight = iValue; } } cfgValue = ConfigUtils.getConfigValue(TEXTAREA_MIN_SIZE_WIDTH); if (isNumber(cfgValue)) { Integer iValue = Integer.valueOf(cfgValue); if (iValue > 0) { this.textAreaMinSizeWidth = iValue; } } cfgValue = ConfigUtils.getConfigValue(TEXTAREA_MIN_SIZE_HEIGHT); if (isNumber(cfgValue)) { Integer iValue = Integer.valueOf(cfgValue); if (iValue > 0) { this.textAreaMinSizeHeight = iValue; } } cfgValue = ConfigUtils.getConfigValue(TEXTAREA_MAX_SIZE_WIDTH); if (isNumber(cfgValue)) { Integer iLength = Integer.valueOf(cfgValue); if (iLength > 0) { this.textAreaMaxSizeWidth = iLength; } } cfgValue = ConfigUtils.getConfigValue(TEXTAREA_MAX_SIZE_HEIGHT); if (isNumber(cfgValue)) { Integer iLength = Integer.valueOf(cfgValue); if (iLength > 0) { this.textAreaMaxSizeHeight = iLength; } } } } /** * åç±»å±çº§æ³¨å ¥åè½çå®å * <p>Description: </p> * * @author ligang * @time 2013-5-7 */ private void initContents() { Iterator<String> keys = transmitForRMData.getTempPropObjsMap().keySet().iterator(); while(keys.hasNext()){ String key = keys.next(); CodeClassifyTemplateAttrVO tempPropObj = transmitForRMData.getTempPropObjsMap().get(key); String referConfig=tempPropObj.getReferConfig();//åç §é ç½® String componentRule=tempPropObj.getComponentRule();//ç»åè§å String innerName = tempPropObj.getId(); if (attrInnerNameToCtrlMaps.containsKey(innerName)) { String classifyLevel = tempPropObj.getClassifyInvokeLevel(); String classifyInvokeAttr= tempPropObj.getClassifyInvokeAttr(); JComponent compt = attrInnerNameToCtrlMaps.get(innerName); if(StringUtils.isNotBlank(classifyLevel)&&!classifyLevel.equals("none")&&!classifyLevel.equals("min")) { compt.setEnabled(false); //ClassifyLevel classifyLevelObj=new ClassifyLevel(); //ObjectMapper objectMapper = new ObjectMapper(); String value = ""; /*classifyLevelObj = objectMapper.readValue(classifyLevel.toString(), ClassifyLevel.class); String set=classifyLevelObj.getSet(); String type=classifyLevelObj.getType();*/ if (classifyLevel.equals("min")) { CodeClassify rmType = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj(); if ("name".equals(classifyInvokeAttr)) { value = rmType.getName(); } else if ("id".equals(classifyInvokeAttr)) { value = rmType.getId(); } } else { int intLevel = Integer.parseInt(classifyLevel); if (rmTypeTreeMaps.containsKey(intLevel)) { CodeClassify rmType = rmTypeTreeMaps.get(intLevel); if ("name".equals(classifyInvokeAttr)) { value = rmType.getName(); } else if ("id".equals(classifyInvokeAttr)) { value = rmType.getId(); } } } if (compt instanceof JTextComponent) { ((JTextComponent) compt).setText(value); } } //åç §é ç½®ç设置æåªè¯»æ¨¡å¼ if(StringUtils.isNotBlank(referConfig)||StringUtils.isNotBlank(componentRule)){ compt.setEnabled(false); } } } } /** * åç±»æ ä¸çå类对象map */ private LinkedHashMap<Integer, CodeClassify> rmTypeTreeMaps = new LinkedHashMap(); private void initRMTypeTreeMaps(){ if(transTreeObject != null){ TreeNode[] nodes = transTreeObject.getTreeModel().getPathToRoot(transTreeObject.getCurrentTreeNode()); int level = 1; int start = 1; for(int i = start; i < nodes.length; i++){ TreeNode node = nodes[i]; if(node instanceof VCIBaseTreeNode){ VCIBaseTreeNode treeNode = (VCIBaseTreeNode) node; Object obj = treeNode.getObj(); if((treeNode.isRoot() || (obj instanceof String))){ // }else if(obj instanceof CodeClassify){ CodeClassify rmType = (CodeClassify)obj; rmTypeTreeMaps.put(level++, rmType); } } } } } /** * åå§åä¸ªç æ®µç å¼ï¼å¦ææ¯åç±»ç åªå è½½ç¶åç±»çåç±»ç å¼ï¼ååç±»ä¸å è½½ * @param secObjs */ public void initCurrentRow(CodeBasicSecVO[] secObjs,VCIJComboxBox[] secCombos) { SectionObject lastSecObj = null; VCIJComboxBox hisCombo = null; try { final Map<String, String> secValMap = getSpecialValMap(specialSecVals); for(int k = 0;k < secObjs.length; k++) { final CodeBasicSecVO secObj = secObjs[k]; final VCIJComboxBox secCombo = secCombos[k]; if(null == secObj) { return; } if (secObj.getSecType().equals("codeclassifysec")) {// æ¯åç±»ç continue; } else // æ¯åºå®ç if (secObj.getSecType() .equals("codefixedsec")) { /* SectionValueClientDelegate codeValDel = new SectionValueClientDelegate(userObj); FixCodeValObject[] codeValObjs = codeValDel.fetchFixCodeValBySecId(secObj.getId());// è·åè¯¥ç æ®µä¸çææç 段ç å¼å¯¹è±¡ //å¦æåªæä¸ä¸ªå¼ï¼åç³»ç»é»è®¤éæ©ï¼ä¸å ç©ºå¼ if(codeValObjs.length > 1 ) { secCombo.addItem(new FixCodeValObject()); } for (int i = 0; i < codeValObjs.length; i++) { secCombo.addItem(codeValObjs[i]); } *//**å½ç³»ç»éæ©çæ¯æå®ç æ®µå¼æ¶ï¼ç»å«ä»£å·çç æ®µç³»ç»ä¸æ¾ç¤º Begin**//* FixCodeValObject selObj = (FixCodeValObject) secCombo.getSelectedItem(); if(isSpecialRuleFlag && (secObj.getName().equals(specialControlSecName) && secValMap.containsKey(selObj.getValue())) || secValMap.containsKey(getControlSecSelectValue())) { setComponentStatus(false); }else { setComponentStatus(true); } if (secCombo.getItemCount() > 10){ if (!secCombo.isFlag()){ secCombo.setFlag(true); secCombo.getSearchBtn().setVisible(true); secCombo.getSearchBtn().addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { doSearch(secCombo); } }); } }else { secCombo.setFlag(false); secCombo.getSearchBtn().setVisible(false); }*/ } else // æ¯æ¥æç 段 if (secObj.getSecType().equals("codedatesec")) { /*SectionClientDelegate secDel = new SectionClientDelegate(userObj); DateSecObject dateObj = secDel.fetchDateSecById(secObj.getId()); String df = dateObj.getFormat(); 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")) { /*RefSecObject refObj = getRefSecObj(secObj.getId()); DefaultComboBoxModel aModel = getRefSecComboBox(refObj); secCombo.setModel(aModel); if(deptName != null && !("".equals(deptName))){ Integer index = refSecValueToCombxindex.get(deptName); if(index !=null){ secCombo.setSelectedIndex(index); } } if (secCombo.getItemCount() > 10){ if (!secCombo.isFlag()){ secCombo.setFlag(true); secCombo.getSearchBtn().setVisible(true); secCombo.getSearchBtn().addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { doSearch(secCombo); } }); } }else { secCombo.setFlag(false); secCombo.getSearchBtn().setVisible(false); } */} else //å±çº§ç 段ç 弿¾ç¤ºçæ¯éæ©ç代ç 项çåç§° if(secObj.getSecType().equals("coderefersec")) { /*RMTypeObject rmObj = (RMTypeObject) this.transTreeObject.getCurrentTreeNode().getObj(); secCombo.addItem(rmObj);*/ } else { secCombo.setEditable(true); } } }catch (Exception e) { e.printStackTrace(); VCIOptionPane.showError(this, "åå§åç æ®µç å¼åºç°é误ï¼"); } } /** * å 载模æ¿çå®ä¹ç屿§ã屿§æ°æ® * <p>Description: </p> * * @author xchao * @time 2012-6-7 * @param libId * @param classifyId * @param templateId * @return */ public RMDataTransmitObject loadTemplateAttributes(String libId, String classifyId, String templateId) { RMDataTransmitObject transmit=new RMDataTransmitObject(); transmit.setLibId(libId); transmit.setClassifyId(classifyId); CodeClassify rmType = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj(); transmit.setRmTypeObject(rmType); 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.setTempPropObjMapsByInnerName(tempPropObjMapsByInnerName); Map<String, CodeClassifyTemplateAttrVO> tempPropObjsMap = currentCodeClassifyTemplateVO.getAttributes().stream().collect(Collectors.toMap(s -> s.getOid().toLowerCase(Locale.ROOT), t -> t)); transmit.setTempPropObjsMap(tempPropObjsMap); transmit.setTemplateObject(currentCodeClassifyTemplateVO); transmit.setTempPropObjsList(this.currentCodeClassifyTemplateVO.getAttributes()); } return transmit; } /**** * å 载代ç 项对åºç模æ¿å±æ§ä¿¡æ¯å表 * <p>Description: </p> * * @author Administrator * @time 2013-3-23 * @param transmitForRMData ï¼æ¨¡æ¿å±æ§,åç±»çä¿¡æ¯ * @return */ private VCIJPanel createTemplateAttributePanel(final RMDataTransmitObject transmitForRMData) { //int maxAttrInLine = 2; VCIJPanel pal = new VCIJPanel(); pal.setLayout(new GridBagLayout()); int gridx = -1; int gridy = -1; int gridwidth = 1; double weighty = 0.0; CodeClassifyTemplateAttrVO[] realAttrs = getRealAttributeObjects(transmitForRMData); Map<String, String> attrMaps = getTempPropMap(transmitForRMData); attrIdToCtrlMaps.clear(); attrInnerNameToCtrlMaps.clear(); for (int attrIndex = 0; attrIndex < realAttrs.length; attrIndex += maxAttrInLine) {// for1 gridx = 0; gridy += 1; boolean leastNewLine = checkLeastNewLine(attrIndex, maxAttrInLine,attrMaps,realAttrs); for (int columnIndex = 0; columnIndex < maxAttrInLine; columnIndex++) { // for2 int index = columnIndex + attrIndex; if (index >= realAttrs.length) { break; } CodeClassifyTemplateAttrVO attrObj = realAttrs[index]; /***å¦ææ¨¡æ¿é ç½®äºå¼ç¨æ¨¡æ¿ï¼å±æ§åç§°å表添å 龿¥è¿è¡å¤ç BEGIN**/ //ADD BY liujw VCIJLabel lbl = null; if(StringUtils.isNotBlank(attrObj.getReferConfig())) {//å¼ç¨æ¨¡æ¿å±æ§å¼ lbl = new VCIJLabel("<html><u>"+(attrObj.getName() + ":")+"</u><html>"); lbl.setForeground(Color.MAGENTA); lbl.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); lbl.setToolTipText("ç¹å»æ¤å¤å è½½å¼ç¨æ¨¡æ¿å±æ§æ°æ®"); lbl.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e){ getReferTempRMData(attrObj,attrIdToCtrlMaps,transmitForRMData.getTempPropObjsList()); } }); } else if(!"".equals(attrObj.getComponentRule())) {//模æ¿è§åçç»å String lblName = "â"+attrObj.getName() + "â:"; lbl = new VCIJLabel("<html><u>"+lblName+"<u></html>"); lbl.setForeground(Color.BLUE); lbl.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); lbl.setToolTipText("ç¹å»æ¤å¤è·å模æ¿å¯¹åºè§åçå¼"); lbl.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e){ // getComptAttrValue(attrObj,attrIdToCtrlMaps,transmitForRMData.getTempPropObjsList()); } }); } else if(attrObj.getKeyAttrFlag().equals("true")) {//å ³é®å±æ§ lbl = new VCIJLabel(attrObj.getName() + ":"); lbl.setForeground(new Color(255, 0, 0)); } else { lbl = new VCIJLabel(attrObj.getName() + ":"); lbl.setForeground(attrObj.getRequireFlag().equals("true") ? new Color(0, 120, 0) : new Color(129, 0, 0)); } JComponent compt = createComponent(attrObj); JComponent comptAddToPanel = compt; //by liujw boolean isMultiLineFlag = attrObj.getTextAreaFlag().equals("true") ? true : false; if (this.isEnableTextArea && isMultiLineFlag // å¯ç¨TextAreaæ¾ç¤ºå¤çï¼ä¸å±æ§é¿åº¦è¶ è¿ä¸å®èå´ && attrObj.getAttributeDataType().toUpperCase().equals("VTstring".toUpperCase()) // Stringç±»å ) { VCIJTextArea textArea = new VCIJTextArea("", attrObj.getRequireFlag().equals("true")); VCIJScrollPane textAreaScroll = createTextAreaScrollPane(textArea); textArea.setEnabled(compt.isEnabled()); comptAddToPanel = textAreaScroll; if(compt instanceof JTextComponent){ textArea.setText(((JTextComponent)compt).getText()); } compt = textArea; } /** * æ¹æ¡ï¼V1 屿§ç»ä»¶å è½½ãæ¾ç¤ºçç¥ 1ãæ¯è¡ï¼ä¸ç»ï¼æå¤æ¾ç¤ºmaxAttrInLineä¸ªå±æ§ * 2ã妿isEnableTextArea为trueï¼åæ¯å¯ç¨TextArea * 3ãå¯ç¨TextAreaåï¼å¦æä¸ç»å ç屿§ï¼åªè¦ä»»æä¸ä¸ªå±æ§å®ä¹ç屿§é¿åº¦å¤§äºæçäºmaxStringLength * ï¼å该ç»å çæ¯ä¸ªå±æ§é½å°ç¬å 䏿´è¡ * æ¤æ¹æ¡åå¨çé®é¢ï¼å 为é¤TextAreaä¹å¤ç屿§ä¹å°å æ´è¡æ¾ç¤ºï¼å¦æä¸ç»å ç屿§ä¸ªæ°è¾å¤ * ï¼å¤§äº2ï¼æ¶ï¼ç颿¾ç¤ºå±é¢ä¸å¤ªï¼å好ï¼å°¤å ¶æ¯è¿ç»åºç°å¤ä¸ªTextAreaæ¶æ¤ç°è±¡æ´å ææ¾ * å æ¤å»ºè®®é ç½®ï¼å¯ç¨TextAreaæ¶ï¼RMData.MaxAttrInLine=2ï¼å³ä¸ç»å æå¤å è½½ä¸¤ä¸ªå±æ§ã */ // ä¸ç»è³å°åå¨çä¸ä¸ªTextAreaæ¶ï¼è¯¥ç»å å ¶å®å±æ§ä¹å°å æ´ä¸ªå®½åº¦ï¼ç¬å ä¸è¡ï¼ï¼ if (leastNewLine) { gridwidth = maxAttrInLine * 2; gridx = 0; gridy += 1; // weighty = 1.0; weighty = 0.0; } else { gridwidth = 1; weighty = 0.0; } pal.add(lbl,createGridBagConstraints(gridx, gridy, 1, 1, 0.0, 0.0,GridBagConstraints.NORTHEAST,GridBagConstraints.NONE)); pal.add(comptAddToPanel,createGridBagConstraints(gridx + 1, gridy, gridwidth,1, 1.0, weighty, GridBagConstraints.NORTHWEST,GridBagConstraints.BOTH)); // 妿è¿ä¸ç»å ä¸åå¨çéè¦å æ´è¡æ¾ç¤ºçï¼åè®¡ç®æ¨ªåæ //gridx += 2; if (!leastNewLine) { gridx += 2; } /*********************** æ¹æ¡ï¼V1 End ***********************/ // ç¼åå屿§å¯¹åºçæ§&ç»ä»¶ String key = attrObj.getId(); if (!attrIdToCtrlMaps.containsKey(key)) { attrIdToCtrlMaps.put(key, compt); } // åå¨å±æ§å é¨åç§°ä¸æ§ä»¶çå ³ç³» key = attrObj.getId(); if (!attrInnerNameToCtrlMaps.containsKey(key)) { attrInnerNameToCtrlMaps.put(key, compt); } }// for 2 }// for 1 // å¨åºé¨æ·»å ä¸è¡ï¼å æ®å ¨é¨ç空ä½åºåï¼å ¶å®æ§ä»¶èªå¨ä»å¯¹é½å°é¡¶é¨ 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ç屿§å表 * <p> * Description: * </p> * * @author xchao * @time 2012-11-6 * @param transmitForRMData * å½åä¸ä¸æ°æ®ä¼ é对象 * @return */ private CodeClassifyTemplateAttrVO[] getRealAttributeObjects(RMDataTransmitObject transmitForRMData) { // 忍¡æ¿ç屿§ CodeClassifyTemplateAttrVO[] tempAttrs = transmitForRMData.getTempPropObjsList().toArray(new CodeClassifyTemplateAttrVO[0]); LinkedList<CodeClassifyTemplateAttrVO> attrsList = new LinkedList<CodeClassifyTemplateAttrVO>(); // è¿è¡è¿æ»¤ï¼éèç䏿¾ç¤ºï¼ä¼ä¸ä»£ç 䏿¾ç¤ºï¼å ¶å®çå 许å½å ¥ for (CodeClassifyTemplateAttrVO attrObj : tempAttrs) { String attrId = attrObj.getOid(); // 夿屿§æ¯å¦éèï¼éèçä¸éè¦æä¾å½å ¥é¡¹ if (attrObj.getFormDisplayFlag().equals("false")) { continue; } // 妿æ¯ä»£ç åï¼åä¹éèï¼éè¿ä»£ç ç³è¯·æ¡æ¶å½å ¥ else if (attrObj.getId().toUpperCase().equals("id".toUpperCase())) { continue; } attrsList.add(attrObj); } // ææçãéè¦æ¾ç¤ºå½å ¥æ¡ç屿§å表 CodeClassifyTemplateAttrVO[] attrs = attrsList.toArray(new CodeClassifyTemplateAttrVO[] {}); return attrs; } /** * åå»ºå±æ§å¨UIä¸åç°çç»ä»¶ * <p> * Description: * </p> * * @author xchao * @time 2012-11-6 * @param attrObj * 屿§å¨æ¨¡æ¿ä¸å¯¹åºç屿§å¯¹è±¡ * @return */ private JComponent createComponent(CodeClassifyTemplateAttrVO attrObj) { JComponent compt = null; String attrId = attrObj.getId(); // æ¥åºå±æ§çåå¼èå´ if(StringUtils.isNotBlank(attrObj.getEnumString())||StringUtils.isNotBlank(attrObj.getEnumId())){ KeyValue[] keyValues = getAttrRangeObjects(attrObj.getOid()); // 妿åå¨åå¼èå´ï¼åªè½ä»åå¼èå´ééæ© if (keyValues.length != 0) { AttrRangObjectWarper[] objs = new AttrRangObjectWarper[keyValues.length]; VCIJComboBox cbx = new VCIJComboBox(); DefaultComboBoxModel model = new DefaultComboBoxModel(); //åå¨åå¼èå´ï¼å¦æå¯ä»¥ä¸ºç©ºï¼åæ·»å ä¸ä¸ªç©ºå¼ int comboBoxIndex = 1; KeyValue keyValue = new KeyValue(); keyValue.setValue(""); keyValue.setKey(""); AttrRangObjectWarper wrapper = new AttrRangObjectWarper(keyValue); model.addElement(wrapper); /*** å¦ææ¨¡æ¿å±æ§ä¸æ¯å¿ 填项ï¼å å ¥ç©ºå¼åä¿®æ¹æ¶åè½çå®å **/ LinkedHashMap<String, Integer> specMap = new LinkedHashMap<String, Integer>(); 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); compt = cbx; } } else { // ä¸åå¨åå¼èå´åæç±»åçæä¸åçæ§ä»¶ if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTBoolean)) { // Booleanç±»å VCIJComboBox cbx = new VCIJComboBox(); DefaultComboBoxModel model = new DefaultComboBoxModel(); model.addElement("0"); model.addElement("1"); cbx.setModel(model); compt = cbx; } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDate)) { // æ¥æç±»å compt = 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ç±»å RealTextField txt = new RealTextField(""); txt.setRequired(attrObj.getRequireFlag().equals("true")); compt = txt; } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTInteger)) { // Integerç±»å IntegerTextField txt = new IntegerTextField(""); txt.setRequired(attrObj.getRequireFlag().equals("true")); compt = txt; } else{ VCIJTextField txt = new VCIJTextField(this,attrObj.getRequireFlag().equals("true")); compt = txt; textCompts.add(txt); } boolean enabled = true; /*// éå¢ä»£ç ãéå¢éå ç ä¸å¯ä»¥æå·¥å½å ¥æ°æ® if (attrObj.getId().equals(Constants.GROUP_CODE_INNERNAME)|| attrObj.getInternalname().equals(Constants.GROUP_ADD_CODE_INNERNAME)) { enabled = false; }*/ compt.setEnabled(enabled); } return compt; } /**** * æ ¹æ®å±æ§idè·å屿§åå¼èå´çå¼ * <p>Description: </p> * * @author Administrator * @time 2013-3-23 * @param attrId * @return */ private KeyValue[] getAttrRangeObjects(String attrId){ KeyValue[] res = new KeyValue[0]; String url= ConfigUtils.getConfigValue("410.PDM.attrKeyValue.url","http://127.0.0.1:36014/codeApplySwingController/listComboboxItems"); /**ç³»ç»åªå 载代ç 项 妿libNameä¸ä¸ºç©ºï¼ç´æ¥è·å对åºç代ç 项**/ Map<String,String> condtionMap=new HashMap<>(); condtionMap.put("oid", attrId); R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>()); List<KeyValue> keyValueList=new ArrayList<>(); if(r.isSuccess()){ Object object= r.getData(); if(object!=null) { ObjectMapper objectMapper = new ObjectMapper(); try { keyValueList = objectMapper.readValue(object.toString(), new com.fasterxml.jackson.core.type.TypeReference<List<KeyValue>>() { }); } catch (JsonProcessingException e) { e.printStackTrace(); } } }else{ VCIOptionPane.showMessage(this,r.getMsg()); } return keyValueList.toArray(new KeyValue[]{}); } /** * æ£æ¥éè¦å¨ä¸è¡ä¸æ¾ç¤ºçé£äºç»ä»¶ï¼æ§ä»¶ï¼ä¸ï¼æ¯å¦è³å°åå¨çä¸ä¸ªéè¦æ¢è¡ï¼å æ´è¡ï¼æ¾ç¤ºçç»ä»¶ * <p> * Description: * </p> * * @author liujw * @time 2013-4-16 * @param attrIndex * 循ç¯å±æ§çç´¢å¼ * @param maxAttrInLine * éè¦æ¢è¡æ¾ç¤ºç夿æ¡ä»¶ï¼å±æ§çé¿åº¦ * @param realAttrs * çå®çéè¦å è½½ç屿§å表 * @return */ private boolean checkLeastNewLine(int attrIndex, int maxAttrInLine,Map<String, String> attrMaps, CodeClassifyTemplateAttrVO[] realAttrs){ boolean res = false; int attrsLength = realAttrs.length; for(int columnIndex = 0; columnIndex < maxAttrInLine; columnIndex++){ int index = attrIndex + columnIndex; if(index < attrsLength){ CodeClassifyTemplateAttrVO attrObj = realAttrs[index]; boolean isStringType = attrObj.getAttributeDataType().toUpperCase().equals("VTstring".toUpperCase()); // å¯ç¨TextAreaæ¶æè¿è¡å¤æ if(this.isEnableTextArea && isStringType && attrMaps.size() > 0 && attrMaps.containsKey(attrObj.getId())){ res = true; break; } } } return res; } /***è·å屿§æ¨¡æ¿å¯¹è±¡ @author liujw**/ private Map<String, String> getTempPropMap(RMDataTransmitObject transmitForRMData) { Map<String, String> map = new LinkedHashMap<String, String>(); List<CodeClassifyTemplateAttrVO> propObjs = transmitForRMData.getTempPropObjsList(); for(CodeClassifyTemplateAttrVO obj : propObjs) { if(obj.getTextAreaFlag().equals("true")) { map.put(obj.getOid(), "Y"); } } return map; } /**ç æ®µç å¼æè¿°ä¿¡æ¯ç详ç»è¯´æ**/ private void clsfValDescActionListener(MouseEvent e) { VCIJTextField txt = (VCIJTextField) comtMap.get(e.getComponent()); DescViewDialog dialog = new DescViewDialog(this, txt.getText()); dialog.bulidDialog(); dialog.setVisible(true); } /** * å建ä¸TextAreaç¸å ³èçScrollPane对象 * <p> * Description: * </p> * * @author liujw * @time 2013-4-16 * @param txtArea * VCIJTextArea * @return */ private VCIJScrollPane createTextAreaScrollPane(VCIJTextArea txtArea) { txtArea.setWrapStyleWord(true); txtArea.setLineWrap(true); VCIJScrollPane txtScroll = new VCIJScrollPane(); txtScroll.getViewport().add(txtArea); txtScroll.setPreferredSize(new Dimension(textAreaPreSizeWidth, textAreaPreSizeHeight)); txtScroll.setMinimumSize(new Dimension(textAreaMinSizeWidth, textAreaMinSizeHeight)); txtScroll.setMaximumSize(new Dimension(textAreaMaxSizeWidth, textAreaMaxSizeHeight)); txtScroll.setBorder(null); return txtScroll; } /** * è¿åGridBagLayoutå¸å±ç®¡ççConstraints对象 * <p> * Description: * </p> * * @author xchao * @time 2012-11-6 * @param gridx * @param gridy * @param gridwidth * @param gridheight * @param weightx * @param weighty * @param anchor * @param fill * @return */ private GridBagConstraints createGridBagConstraints(int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty,int anchor, int fill) { int padxy = 5; return new GridBagConstraints(gridx, gridy, gridwidth, gridheight,weightx, weighty, anchor, fill, new Insets(padxy, padxy, padxy,padxy), padxy, padxy); } /** * æ ¹æ®å¼ç¨æ¨¡æ¿ç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) { // æ¬ç©ºçªå£è°ç¨ æå¯è½æ¥èªä¸¤å¤ // æµç¨ä»»å¡å¼ç¨ // ä¸è¬çæ°æ®å½å ¥ãä¿®æ¹ // ä¸åçæ¥æºï¼éè¦ç»´æ¤å¥½Ownerç¶ VCIJDialog ownerDialog = realDialogInstance; if(ownerDialog == null){ ownerDialog = new VCIJDialog(); ownerDialog.setSize(880, 500); } final String referTempId = tempPropObj.getReferBtmId(); final RMDataReferTempDialog dialog = new RMDataReferTempDialog(ownerDialog, referTempId); dialog.setDialogCallback(new Runnable() { @Override public void run() { /*LinkedList<RMDataObject> list = dialog.getRMDataMainPanel().getTablePanel().getSelectedRowObjects(); if(dialog.isFromTableDoubleClick()){ int index = dialog.getRMDataMainPanel().getTablePanel().getTable().getSelectedRow(); list.clear(); list.add(dialog.getRMDataMainPanel().getTablePanel().getTableModel().getList().get(index).getObject()); } RMDataObject rmDataObj = list.get(0);//éæ©çå¼ç¨æ¨¡æ¿æ°æ® LinkedHashMap<String, Integer> innnerNamesMaps = rmDataObj.getInnerNameIndexMap(); String[] datas = rmDataObj.getDatas(); for(CodeClassifyTemplateAttrVO obj : tempPropList) { if(obj.getReferTempId().equals(referTempId)) { AttributeObject attrObj = getAttrObjById(obj.getReferAttrId()); JComponent comp = attrIdToCtrlMaps.get(obj.getId()); if(comp instanceof VCIJTextField) { int index = innnerNamesMaps.get(attrObj.getInternalname()); ((VCIJTextField) comp).setText(datas[index]); }else if (comp instanceof VCIJCalendarPanel) { int index = innnerNamesMaps.get(attrObj.getInternalname()); ((VCIJCalendarPanel) comp).setDateString(datas[index]); } else if (comp instanceof VCIJComboBox) { int index = innnerNamesMaps.get(attrObj.getId()); ((VCIJComboBox) comp).setSelectedIndex(index); } } }*/ } }); //dialog.initDialogSize(ownerDialog.getWidth(), ownerDialog.getHeight()); Dimension dime = Toolkit.getDefaultToolkit().getScreenSize(); int x = dime.width/2 - 400; int y = dime.height/2 -400; dialog.setLocation(x, y); dialog.setSize(new Dimension(900, 800)); dialog.setModal(true); dialog.setVisible(true); } //è·åç³»ç»é ç½®çç æ®µç å¼ private Map<String, String> getSpecialValMap(String[] vals) { Map<String, String> map = new LinkedHashMap<String, String>(); for (String val : vals) { map.put(val, "Y"); } return map; } private boolean isNumber(String value) { return Pattern.matches("[0-9]+", value); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410TreePanel.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,304 @@ package com.vci.ubcs.codeapply; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.vci.base.ui.exception.VCIException; import com.vci.base.ui.swing.VCIOptionPane; import com.vci.base.ui.swing.components.VCIJPanel; import com.vci.base.ui.tree.VCIBaseTree; import com.vci.base.ui.tree.VCIBaseTreeModel; import com.vci.base.ui.tree.VCIBaseTreeNode; 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.system.user.entity.User; import javax.swing.event.TreeExpansionEvent; import javax.swing.event.TreeExpansionListener; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.TreePath; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public abstract class CodeApplyFor410TreePanel extends VCIJPanel { /** * */ private static final long serialVersionUID = 3252637341L; private VCIBaseTree tree = null; private VCIBaseTreeModel treeModel = null; private VCIBaseTreeNode rootNode = null; private CodeClassify currentRmType = null; private TransmitTreeObject transmitTreeObject = new TransmitTreeObject(); private User userObj = null; private VCIBaseTreeNode selNode = null; /** * åå¨åç±»çMap,key:åç±»åç§°ï¼valueï¼åç±»å¼ */ private String clsfName = null; // private String[] clsfVal = new String[2]; private String libName = ""; public CodeApplyFor410TreePanel(CodeClassify currentRmType, User userObj, String clsfName, String libName) { this.currentRmType = currentRmType; this.userObj = userObj; this.clsfName = clsfName; this.libName = libName; if (this.libName == null) { libName = ""; } } public void buildTreePanel(){ initComponents(); } private void initComponents(){ initLeftPanel(); } private void initLeftPanel() { rootNode = new VCIBaseTreeNode(currentRmType.getName(), currentRmType); treeModel = new VCIBaseTreeModel(rootNode); tree = new VCIBaseTree(treeModel, new CodeLibTreeCellRenderer()); selNode = rootNode; if (clsfName == null || clsfName.equals("")) { loadTreeData(rootNode); } else { CodeClassify[] rmTypes = getRMTypeByDescAndLib(); int len = rmTypes.length; addChildrenToParentTreeNode(currentRmType,rootNode,rmTypes, len - 2); } inittreeActions(); } /** * å±å¼æ * <p>Description: </p> * * @author ligang * @time 2013-5-8 * @param rmTypeObj * @param parentNode */ private void addChildrenToParentTreeNode(CodeClassify rmTypeObj, VCIBaseTreeNode parentNode, CodeClassify[] rmTypes, int pos){ String parentId = rmTypeObj.getOid(); CodeClassify[] libs = {}; libs = getChildRMTypeObjects(parentId); for(CodeClassify obj : libs) { VCIBaseTreeNode node = new VCIBaseTreeNode(obj.getName(), obj); treeModel.insertNodeInto(node, parentNode, parentNode.getChildCount()); node.setLeaf(false); node.setExpand(false); if (pos < 0) { continue; } if (checkIsSel(obj, rmTypes[pos])) { selNode = node; addChildrenToParentTreeNode(obj, node, rmTypes, pos - 1); } } parentNode.setLeaf(libs.length == 0); parentNode.setExpand(true); if(tree != null){ tree.expandPath(new TreePath(selNode.getPath())); tree.setSelectionPath(new TreePath(selNode.getPath())); } } private void loadTreeData(VCIBaseTreeNode rootNode){ CodeClassify currentObj = (CodeClassify) rootNode.getObj(); String parentId = currentObj.getOid(); CodeClassify[] libs = {}; libs = getChildRMTypeObjects(parentId); for(CodeClassify obj : libs) { VCIBaseTreeNode node = new VCIBaseTreeNode(obj.getName(), obj); rootNode.add(node); node.setLeaf(false); node.setExpand(false); } rootNode.setLeaf(libs.length == 0); rootNode.setExpand(true); tree.setSelectionPath(new TreePath(selNode)); tree.updateUI(); } /** * æ ¹æ®åæ°å¤æå½ååç±»æ¯å¦æ¯éä¸ç¶æ * <p>Description: </p> * * @author ligang * @time 2013-5-8 * @param obj * @return */ private boolean checkIsSel(CodeClassify obj, CodeClassify selObj) { if(obj.getId().equals(selObj.getId())) { return true; } return false; } private void inittreeActions(){ tree.addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { if(!e.isAddedPath()) return; leftTree_valueChanged(e); } }); tree.addTreeExpansionListener(new TreeExpansionListener() { @Override public void treeExpanded(TreeExpansionEvent e) { tree_treeExpanded_local(e); } @Override public void treeCollapsed(TreeExpansionEvent e) { } }); } /** * æ ¹æ®åç±»æè¿°è·åä¼ å ¥åç±»çææç¶åç±»ä¿¡æ¯ * @return */ private CodeClassify[] getRMTypeByDescAndLib() { CodeClassify[] objs = new CodeClassify[]{}; String url= ConfigUtils.getConfigValue("410.PDM.leftdescLibNode.url","http://127.0.0.1:36014/codeApplySwingController/getRMTypeByDescAndLib"); /**ç³»ç»åªå 载代ç 项 妿libNameä¸ä¸ºç©ºï¼ç´æ¥è·å对åºç代ç 项**/ Map<String,String> condtionMap=new HashMap<>(); condtionMap.put("desc", this.clsfName); condtionMap.put("codeLibName",rootNode.toString()); R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>()); List<CodeClassify> codeClassifyList = new ArrayList<>(); if(r.isSuccess()){ Object object= r.getData(); if(object!=null) { ObjectMapper objectMapper = new ObjectMapper(); try { codeClassifyList = objectMapper.readValue(object.toString(), new com.fasterxml.jackson.core.type.TypeReference<List<CodeClassify>>() { }); } catch (JsonProcessingException e) { e.printStackTrace(); } } }else{ VCIOptionPane.showMessage(this,r.getMsg()); } return codeClassifyList.toArray(new CodeClassify[]{}); } /** * æ ¹æ®IDç´æ¥è·åååç±»ï¼æ æéæ£æ¥ * <p>Description: </p> * * @author xchao * @time 2013-3-20 * @param parentId * @return */ private CodeClassify[] getChildRMTypeObjects(String parentId){ String url= ConfigUtils.getConfigValue("410.PDM.leftClsfNode.url","http://127.0.0.1:36014/codeApplySwingController/selectCodeClassifyVOByParentId"); /**ç³»ç»åªå 载代ç 项 妿libNameä¸ä¸ºç©ºï¼ç´æ¥è·å对åºç代ç 项**/ Map<String,String> condtionMap=new HashMap<>(); condtionMap.put("parentId", parentId ); R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>()); List<CodeClassify> codeClassifyList = new ArrayList<>(); if(r.isSuccess()){ Object object= r.getData(); if(object!=null) { ObjectMapper objectMapper = new ObjectMapper(); try { codeClassifyList = objectMapper.readValue(object.toString(), new com.fasterxml.jackson.core.type.TypeReference<List<CodeClassify>>() { }); } catch (JsonProcessingException e) { e.printStackTrace(); } } }else{ VCIOptionPane.showMessage(this,r.getMsg()); } return codeClassifyList.toArray(new CodeClassify[]{}); } private void tree_treeExpanded_local(TreeExpansionEvent e) { TreePath treePath = e.getPath(); VCIBaseTreeNode treeNode = (VCIBaseTreeNode)treePath.getLastPathComponent(); if(treeNode.isExpand()) return; if(!(treeNode.getObj() instanceof CodeClassify)) return; CodeClassify rmTypeObject = (CodeClassify)treeNode.getObj(); CodeClassify[] childs = null; childs = getChildRMTypeObjects(rmTypeObject.getOid()); addRMTypeObjectsToParentTreeNode(childs, treeNode); treeNode.setExpand(true); treeNode.setLeaf(treeModel.getChildCount(treeNode) == 0); } private void addRMTypeObjectsToParentTreeNode(CodeClassify[] objs, VCIBaseTreeNode parentNode){ for(CodeClassify obj : objs){ VCIBaseTreeNode node = new VCIBaseTreeNode(obj.getName(), obj); treeModel.insertNodeInto(node, parentNode, treeModel.getChildCount(parentNode)); } } private void leftTree_valueChanged(TreeSelectionEvent e) { tree_valueChanged(e); } /** * éæ©äºæ èç¹çäºä»¶å¤ç * <p>Description: </p> * * @author xchao * @time 2012-5-26 * @param e */ public abstract void tree_valueChanged(TreeSelectionEvent e); public VCIBaseTree getTree() { return tree; } public void setTree(VCIBaseTree tree) { this.tree = tree; } public VCIBaseTreeModel getTreeModel() { return treeModel; } public void setTreeModel(VCIBaseTreeModel treeModel) { this.treeModel = treeModel; } public VCIBaseTreeNode getRootNode() { return rootNode; } public void setRootNode(VCIBaseTreeNode rootNode) { this.rootNode = rootNode; } public TransmitTreeObject getTransmitTreeObject() { return transmitTreeObject; } public void setTransmitTreeObject(TransmitTreeObject transmitTreeObject) { this.transmitTreeObject = transmitTreeObject; } public VCIBaseTreeNode getSelNode() { return selNode; } public void setSelNode(VCIBaseTreeNode selNode) { this.selNode = selNode; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,388 @@ package com.vci.ubcs.codeapply; 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.VCISwingUtil; import com.vci.base.ui.swing.components.*; import com.vci.base.ui.tree.VCIBaseTree; import com.vci.base.ui.tree.VCIBaseTreeModel; import com.vci.base.ui.tree.VCIBaseTreeNode; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; 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.system.user.entity.User; import lombok.SneakyThrows; import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; import org.apache.commons.collections4.CollectionUtils; import javax.swing.*; import javax.swing.event.TreeSelectionEvent; import javax.swing.tree.TreePath; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; public class CodeApplyPanelFor410 extends VCIJPanel { //å³ä¾§é¢æ¿ private CodeApplyFor410MainPanel rightMainPanel = null; private VCIJScrollPane scrollLeftTreePane = new VCIJScrollPane(); private VCIJSplitPane jspLeftToRight = new VCIJSplitPane(VCIJSplitPane.HORIZONTAL_SPLIT, scrollLeftTreePane, rightMainPanel); private CodeApplyPanelFor410ActionListener actionListener = new CodeApplyPanelFor410ActionListener(this); private VCIJButton applyBtn = VCISwingUtil.createVCIJButton("apply", "ç³è¯·ç å¼", "ç³è¯·ç å¼", "arrow-right.png", actionListener); private VCIJButton batchApplyBtn = VCISwingUtil.createVCIJButton("batchApply", "æ¹éå¯¼å ¥ç³è¯·", "æ¹éå¯¼å ¥ç³è¯·", "import.gif", actionListener); private VCIJButton btnSearch= VCISwingUtil.createVCIJButton("btnSearch", "æ¥è¯¢ä»£ç ", "æ¥è¯¢ä»£ç ", "search.png", actionListener); private VCIJButton clearBtn = VCISwingUtil.createVCIJButton("clear", "æ¸ ç©ºå±æ§", "æ¸ ç©ºå±æ§", "search.png", actionListener); private JLabel codeItemLabel = new JLabel("鿩代ç 项ï¼"); private VCIJLabel applylbl = new VCIJLabel("ç³è¯·ç å¼ï¼"); public VCIJTextField applyTxt = new VCIJTextField(40); private JComboBox codeItemCombo = new JComboBox(); private User userObj = null;; private CodeClassifyTemplateVO currentCodeClassifyTemplateVO; private boolean isIntegrate = false; //éææ¶ä¸æ¾ç¤ºæ¹éç³è¯·æé® /** * åå¨åç±»çMap,key:åç±»åç§°ï¼valueï¼åç±»å¼ */ private String clsfName = null; private CodeApplyFor410Dialog owner; /** * åå¨å±æ§åå¼çMap,key:屿§åç§°ï¼valueï¼å±æ§å¼ */ private String deptName = null; private String[] libName = new String[]{};//代ç 项åç§° private VCIBaseTree leftTree = null; private VCIBaseTreeModel leftTreeModel = null; //左侧æ private CodeApplyFor410TreePanel typeTreePanel = null; private TransmitTreeObject transmitTreeObject = new TransmitTreeObject(); /*** * * @param userObj * @param isIntegrate * @param clsfName * @param deptName * @param libName */ public CodeApplyPanelFor410(CodeApplyFor410Dialog owner , User userObj, boolean isIntegrate, String clsfName, String deptName, String[] libName){ this.userObj = userObj; this.owner =owner; rightMainPanel = new CodeApplyFor410MainPanel(transmitTreeObject,userObj,getCurrentCodeClassifyTemplateVO()); this.isIntegrate = isIntegrate; this.clsfName = clsfName; this.deptName = deptName; this.libName = libName; init(); initActionListener(); } /*** * åå§åçé¢ */ private void init() { try { this.setLayout(new BorderLayout()); this.add(initCodeItemPal(), BorderLayout.NORTH); this.add(initMiddlePanel(), BorderLayout.CENTER); this.add(initBtnPal(), BorderLayout.SOUTH); this.setVisible(true); }catch (Exception ex){ VCIOptionPane.showMessage(owner,ex.getMessage()); } } private JPanel initMiddlePanel() { JPanel middlePanel = new JPanel(); middlePanel.setLayout(new BorderLayout()); JTextField jTextField1 = new JTextField();//instead of up line JTextField jTextField2 = new JTextField();//instead of down line jTextField1.setPreferredSize(new Dimension(63,2)); jTextField2.setPreferredSize(new Dimension(63,2)); middlePanel.add(jTextField1, BorderLayout.NORTH); middlePanel.add(jTextField2, BorderLayout.SOUTH); jspLeftToRight.setDividerSize(10); jspLeftToRight.setContinuousLayout(true); jspLeftToRight.setOneTouchExpandable(true); jspLeftToRight.setDividerLocation(200); initLeftPanel(); middlePanel.add(jspLeftToRight, BorderLayout.CENTER); return middlePanel; } private JPanel initBtnPal() { JPanel bottomPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); bottomPanel.add(applylbl); bottomPanel.add(applyTxt); applyTxt.setEditable(false); bottomPanel.add(applyBtn); if (!this.isIntegrate) { bottomPanel.add(batchApplyBtn); } else { bottomPanel.add(btnSearch); } bottomPanel.add(clearBtn); return bottomPanel; } /*** * åå§å代ç é¡¹ç® * @return */ private JPanel initCodeItemPal() { VCIJPanel codeItemPal = new VCIJPanel(new FlowLayout(FlowLayout.LEFT)); codeItemCombo.setPreferredSize(new Dimension(200,25)); initCodeItemCombo();//åå§å代ç é¡¹ä¸ææ¡æ°æ® codeItemPal.add(codeItemLabel); codeItemPal.add(codeItemCombo); return codeItemPal; } /** * 代ç 项äºä»¶ï¼éæ©ä»£ç 项åï¼èªå¨å·æ°ä»£ç 项ä¸å¯¹åºçè§åç æ®µå模æ¿å±æ§ä¿¡æ¯ * <p>Description: </p> * * @author Administrator * @time 2013-3-23 */ public void initCodeItemCombo() { CodeClassifyVO [] codeClassifyVOS = new CodeClassifyVO[0]; Map<String,String> condtionMap=new HashMap<>(); //condtionMap.put("parentOid",); String url=ConfigUtils.getConfigValue("410.PDM.item.url","http://127.0.0.1:36014/codeApplySwingController/getRMLibByName"); /**ç³»ç»åªå 载代ç 项 妿libNameä¸ä¸ºç©ºï¼ç´æ¥è·å对åºç代ç 项**/ if(libName.length>0) { condtionMap.put("libName", StringUtils.join(libName,",") ); } R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>()); List<CodeClassify> codeClassifyList = new ArrayList<>(); if(r.isSuccess()){ Object object= r.getData(); if(object!=null) { ObjectMapper objectMapper = new ObjectMapper(); try { codeClassifyList = objectMapper.readValue(object.toString(), new com.fasterxml.jackson.core.type.TypeReference<List<CodeClassify>>() { }); } catch (JsonProcessingException e) { e.printStackTrace(); } } }else{ VCIOptionPane.showMessage(this,r.getMsg()); } if(!CollectionUtils.isEmpty(codeClassifyList)){ codeClassifyList.stream().forEach(codeClassify -> { codeItemCombo.addItem(codeClassify); }); codeItemCombo.setSelectedIndex(0); } initLeftPanel(); } /*** * åå§åæé®äºä»¶ */ private void initActionListener() { /**代ç 项䏿äºä»¶**/ codeItemCombo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(codeItemCombo.getSelectedIndex() == -1) { return; } try { ruleComboActionListener(); } catch (Exception ex) { VCIOptionPane.showMessage(owner,ex.getMessage()); } } }); } /** * å¤ç代ç 项䏿äºä»¶ * <p>Description: </p> * * @author Administrator * @time 2013-3-23 */ private void ruleComboActionListener() { leftTree.removeAll(); initLeftPanel(); } private void initLeftPanel() { CodeClassify currentCodeClassify= (CodeClassify) this.codeItemCombo.getSelectedItem(); if(currentCodeClassify == null) { return; } String libName=currentCodeClassify.getName(); String classOid=currentCodeClassify.getOid(); final CodeApplyPanelFor410 self = this; typeTreePanel = new CodeApplyFor410TreePanel(currentCodeClassify,userObj,clsfName, libName) { private static final long serialVersionUID = 8121108576137012228L; @Override public void tree_valueChanged(TreeSelectionEvent e) { self.leftTree_valueChanged(e); } }; typeTreePanel.buildTreePanel(); leftTree = typeTreePanel.getTree(); leftTreeModel = typeTreePanel.getTreeModel(); transmitTreeObject.setCurrentTreeNode(typeTreePanel.getSelNode()); transmitTreeObject.setTree(leftTree); transmitTreeObject.setTreeModel(leftTreeModel); VCIJPanel rightPanel = new VCIJPanel(); rightPanel.setLayout(new BorderLayout()); jspLeftToRight.setRightComponent(rightPanel); rightPanel.add(scrollPane, BorderLayout.CENTER); Object obj =transmitTreeObject.getCurrentTreeNode(); if(obj instanceof VCIBaseTreeNode){ VCIBaseTreeNode vciBaseTreeNode= (VCIBaseTreeNode)obj; Object node=vciBaseTreeNode.getObj(); if(node instanceof CodeClassify) { CodeClassify codeClassify=(CodeClassify)node; classOid = codeClassify.getOid(); String url = ConfigUtils.getConfigValue("410.PDM.clsfTemplate.url", "http://127.0.0.1:36014/codeApplySwingController/getUsedTemplateByClassifyOid"); /**ç³»ç»åªå 载代ç 项 妿libNameä¸ä¸ºç©ºï¼ç´æ¥è·å对åºç代ç 项**/ Map<String, String> condtionMap = new HashMap<>(); condtionMap.put("codeClassifyOid", classOid); R r = HttpUtil.sendGet(url, condtionMap, new HashMap<>()); boolean res = false; if (r.isSuccess()) { //List<CodeClassifyTemplateVO> codeClassifyTemplateVOList=new ArrayList<>(); CodeClassifyTemplateVO codeClassifyTemplateVO = new CodeClassifyTemplateVO(); Object object = r.getData(); if (object != null) { ObjectMapper objectMapper = new ObjectMapper(); try { codeClassifyTemplateVO = objectMapper.readValue(object.toString(), CodeClassifyTemplateVO.class); if (codeClassifyTemplateVO != null) { setCurrentCodeClassifyTemplateVO(codeClassifyTemplateVO); res = true; } } catch (JsonProcessingException e) { e.printStackTrace(); } } }else{ VCIOptionPane.showMessage(this,r.getMsg()); } initBtnStatus(res); } } rightMainPanel = new CodeApplyFor410MainPanel(transmitTreeObject,userObj,deptName,getCurrentCodeClassifyTemplateVO()); scrollPane.setViewportView(rightMainPanel); rightMainPanel.buildMainPanel(1); int location = jspLeftToRight.getDividerLocation(); jspLeftToRight.setDividerLocation(location); scrollLeftTreePane.setViewportView(leftTree); leftTree.scrollPathToVisible(leftTree.getSelectionPath()); } private void leftTree_valueChanged(TreeSelectionEvent e) { TreePath selectedTreePath = e.getPath(); /**æ ¡éª å¤æéæ©ç代ç 项æ¯å¦å 嫿¨¡æ¿ Begin**/ VCIBaseTreeNode selectedTreeNode = (VCIBaseTreeNode)selectedTreePath.getLastPathComponent(); Object obj = selectedTreeNode.getObj(); boolean res=false; if(obj instanceof CodeClassify) { CodeClassify curentCodeClassify=(CodeClassify)obj; String url=ConfigUtils.getConfigValue("410.PDM.clsfTemplate.url","http://127.0.0.1:36014/codeApplySwingController/getUsedTemplateByClassifyOid"); /**ç³»ç»åªå 载代ç 项 妿libNameä¸ä¸ºç©ºï¼ç´æ¥è·å对åºç代ç 项**/ Map<String,String> condtionMap=new HashMap<>(); condtionMap.put("codeClassifyOid",curentCodeClassify.getOid()); R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>() ); if(r.isSuccess()) { CodeClassifyTemplateVO codeClassifyTemplateVO=new CodeClassifyTemplateVO(); Object object= r.getData(); if(object!=null) { ObjectMapper objectMapper = new ObjectMapper(); try { codeClassifyTemplateVO = objectMapper.readValue(object.toString(), CodeClassifyTemplateVO.class); if(codeClassifyTemplateVO!=null){ setCurrentCodeClassifyTemplateVO(codeClassifyTemplateVO); res=true; } } catch (JsonProcessingException e1) { e1.printStackTrace(); } } }else{ VCIOptionPane.showMessage(this.owner,r.getMsg()); } } initBtnStatus(res); /*******************End**********************/ initRightDataTablePanel(selectedTreeNode); } private void initBtnStatus(boolean enable) { applyBtn.setEnabled(enable); batchApplyBtn.setEnabled(enable); btnSearch.setEnabled(enable); clearBtn.setEnabled(enable); } private void initRightDataTablePanel(VCIBaseTreeNode selectedTreeNode) { leftTree = typeTreePanel.getTree(); leftTreeModel = typeTreePanel.getTreeModel(); transmitTreeObject.setTree(leftTree); transmitTreeObject.setTreeModel(leftTreeModel); transmitTreeObject.setCurrentTreeNode(selectedTreeNode); if(selectedTreeNode.isRoot() && selectedTreeNode.getObj() instanceof String) return; scrollPane = new JScrollPane(); rightMainPanel = new CodeApplyFor410MainPanel(transmitTreeObject,userObj,deptName,getCurrentCodeClassifyTemplateVO()); scrollPane.setViewportView(rightMainPanel); rightMainPanel.buildMainPanel(1); VCIJPanel rightPanel = new VCIJPanel(); rightPanel.setLayout(new BorderLayout()); rightPanel.add(scrollPane, BorderLayout.CENTER); applyTxt.setText(""); jspLeftToRight.setRightComponent(rightPanel); int location = jspLeftToRight.getDividerLocation(); jspLeftToRight.setDividerLocation(location); } private Map<String, String> attrNameAndValMap = new LinkedHashMap(); private JScrollPane scrollPane = new JScrollPane(); public Map<String, String> getAttrNameAndValMap() { return attrNameAndValMap; } public void setAttrNameAndValMap(Map<String, String> attrNameAndValMap) { this.attrNameAndValMap = attrNameAndValMap; } public String getApplyCode() { return this.applyTxt.getText().trim(); } public void setApplyCode(String codeVal) { this.applyTxt.setText(codeVal); } public CodeClassifyTemplateVO getCurrentCodeClassifyTemplateVO() { return currentCodeClassifyTemplateVO; } public void setCurrentCodeClassifyTemplateVO(CodeClassifyTemplateVO currentCodeClassifyTemplateVO) { this.currentCodeClassifyTemplateVO = currentCodeClassifyTemplateVO; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.vci.ubcs.codeapply; import java.awt.event.ActionEvent; import java.util.LinkedHashMap; public class CodeApplyPanelFor410ActionListener extends CommonActionListener { private CodeApplyPanelFor410 owner = null; private LinkedHashMap<String, Runnable> actionMaps = new LinkedHashMap<String, Runnable>(); public CodeApplyPanelFor410ActionListener(CodeApplyPanelFor410 owner){ this.owner = owner; this.initActionMap(); } @Override public void initActionMap(){ actionMaps.put("batchApply", new Runnable() { public void run() { //batchApply();//æ¹éå¯¼å ¥ç³è¯·ä»£ç }}); actionMaps.put("apply", new Runnable() { public void run() { //apply();//ç å¼ç³è¯· }}); actionMaps.put("btnSearch", new Runnable() { public void run() { //search();//ä»£ç æ¥è¯¢ }}); actionMaps.put("clear", new Runnable() { public void run() { // clear();//æ¸ ç©ºå±æ§ }}); } @Override public void actionPerformed(ActionEvent e) { String key = e.getActionCommand(); if(actionMaps.containsKey(key)){ actionMaps.get(key).run(); } } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ package com.vci.ubcs.codeapply; import com.vci.base.ui.swing.components.table.AbstractVCIJTableDataProvider; import com.vci.base.ui.swing.components.table.VCIJTableNode; import org.apache.poi.ss.formula.functions.T; public class CodeDataMainPanelDataProvider extends AbstractVCIJTableDataProvider<T> { @Override public String[] getSpecialColumns() { return new String[0]; } @Override public int getTotal() { return 0; } @Override public VCIJTableNode<T> getNewRowNode(T t) { return null; } @Override public T[] getDatas(int i, int i1) { return new T[0]; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeLibTreeCellRenderer.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,51 @@ package com.vci.ubcs.codeapply; import com.vci.base.ui.image.bundle.BundleImage; import com.vci.base.ui.tree.VCIBaseTreeNode; import com.vci.ubcs.codeapply.object.CodeClassify; import javax.swing.*; import javax.swing.tree.DefaultTreeCellRenderer; import java.awt.*; public class CodeLibTreeCellRenderer extends DefaultTreeCellRenderer { /** * */ private static final long serialVersionUID = 1L; public CodeLibTreeCellRenderer() { } public Component getTreeCellRendererComponent ( JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { super.getTreeCellRendererComponent ( tree, value, sel, expanded, leaf, row, hasFocus); try { ToolTipManager.sharedInstance().registerComponent(tree); VCIBaseTreeNode node = (VCIBaseTreeNode)value; if(node.isRoot()){ setIcon(new BundleImage().createImageIcon ("house.png")); } else if (node.getObj().equals("root")) { //æ ¹èç¹ setIcon(new BundleImage().createImageIcon ("house.png")); }else if(node.getObj() instanceof CodeClassify){ //CodeClassify rmTypeInfo=(CodeClassify)node.getObj(); setIcon(new BundleImage().createImageIcon ("box.gif")); } } catch (Exception e) { e.printStackTrace(); } return this; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CommonActionListener.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.vci.ubcs.codeapply; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.LinkedHashMap; public class CommonActionListener implements ActionListener { protected LinkedHashMap<String, Runnable> actionMaps = new LinkedHashMap<String, Runnable>(); public void initActionMap(){ // } @Override public void actionPerformed(ActionEvent e) { String key = e.getActionCommand(); if(actionMaps.containsKey(key)){ actionMaps.get(key).run(); } } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/DescViewDialog.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,85 @@ package com.vci.ubcs.codeapply; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import com.vci.base.ui.swing.components.VCIJDialog; public class DescViewDialog extends VCIJDialog { /** * */ private static final long serialVersionUID = 1L; private JPanel topPanel; private JTextArea reasonTextArea = new JTextArea(5,5); private JButton cancelBtn = new JButton("å ³é"); private String desc; private CodeApplyFor410MainPanel owner = null; public DescViewDialog(CodeApplyFor410MainPanel owner,String desc){ // super(frame,true); this.owner = owner; this.desc = desc; this.setModal(true); } public void bulidDialog() { init (); } private void init(){ int width = 550,height = 250; int px = (int)(this.owner.getLocationOnScreen().getX()); int py = (int)(this.owner.getLocationOnScreen().getY()); int pWidth = this.owner.getBounds().width; int pHeight = this.owner.getBounds().height; this.setLocation(px + (pWidth - width) / 2, py + (pHeight - height) / 2); this.setSize(new Dimension(550, 250)); // this.initDialogSize(600, 250); this.setResizable(false); this.setTitle("ç æ®µç å¼çè¯¦ç»æè¿°ä¿¡æ¯"); initUI(); JPanel bottomPanel = new JPanel(); bottomPanel.add(cancelBtn); cancelBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { close(); } }); this.setLayout(new BorderLayout()); this.add(topPanel,BorderLayout.CENTER); this.add(bottomPanel,BorderLayout.SOUTH); } private void close() { this.setDialogResult(DialogResult.CANCEL); this.setVisible(false); } private void initUI() { topPanel = new JPanel(); topPanel.setLayout(new BorderLayout()); reasonTextArea.setText(desc); reasonTextArea.setAutoscrolls(true); reasonTextArea.setLineWrap(true); JScrollPane scrollPanel = new JScrollPane(); scrollPanel.setViewportView(reasonTextArea); scrollPanel.setAutoscrolls(true); topPanel.add(scrollPanel,BorderLayout.CENTER); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpClient.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,141 @@ package com.vci.ubcs.codeapply; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class HttpClient { public static String doGet(String httpurl) { HttpURLConnection connection = null; InputStream is = null; BufferedReader br = null; String result = null;// è¿åç»æå符串 try { // å建è¿ç¨urlè¿æ¥å¯¹è±¡ URL url = new URL(httpurl); // éè¿è¿ç¨urlè¿æ¥å¯¹è±¡æå¼ä¸ä¸ªè¿æ¥ï¼å¼ºè½¬æhttpURLConnectionç±» connection = (HttpURLConnection) url.openConnection(); // è®¾ç½®è¿æ¥æ¹å¼ï¼get connection.setRequestMethod("GET"); // è®¾ç½®è¿æ¥ä¸»æºæå¡å¨çè¶ æ¶æ¶é´ï¼15000æ¯«ç§ connection.setConnectTimeout(15000); // 设置读åè¿ç¨è¿åçæ°æ®æ¶é´ï¼60000æ¯«ç§ connection.setReadTimeout(60000); // åéè¯·æ± connection.connect(); // éè¿connectionè¿æ¥ï¼è·åè¾å ¥æµ if (connection.getResponseCode() == 200) { is = connection.getInputStream(); // å°è£ è¾å ¥æµisï¼å¹¶æå®å符é br = new BufferedReader(new InputStreamReader(is, "UTF-8")); // åæ¾æ°æ® StringBuffer sbf = new StringBuffer(); String temp = null; while ((temp = br.readLine()) != null) { sbf.append(temp); sbf.append("\r\n"); } result = sbf.toString(); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // å ³éèµæº if (null != br) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != is) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } connection.disconnect();// å ³éè¿ç¨è¿æ¥ } return result; } public static String doPost(String httpUrl, String param) { HttpURLConnection connection = null; InputStream is = null; OutputStream os = null; BufferedReader br = null; String result = null; try { URL url = new URL(httpUrl); // éè¿è¿ç¨urlè¿æ¥å¯¹è±¡æå¼è¿æ¥ connection = (HttpURLConnection) url.openConnection(); // è®¾ç½®è¿æ¥è¯·æ±æ¹å¼ connection.setRequestMethod("POST"); // è®¾ç½®è¿æ¥ä¸»æºæå¡å¨è¶ æ¶æ¶é´ï¼15000æ¯«ç§ connection.setConnectTimeout(15000); // 设置读åä¸»æºæå¡å¨è¿åæ°æ®è¶ æ¶æ¶é´ï¼60000æ¯«ç§ connection.setReadTimeout(60000); // é»è®¤å¼ä¸ºï¼falseï¼å½åè¿ç¨æå¡å¨ä¼ éæ°æ®/åæ°æ®æ¶ï¼éè¦è®¾ç½®ä¸ºtrue connection.setDoOutput(true); // é»è®¤å¼ä¸ºï¼trueï¼å½ååè¿ç¨æå¡è¯»åæ°æ®æ¶ï¼è®¾ç½®ä¸ºtrueï¼è¯¥åæ°å¯æå¯æ connection.setDoInput(true); // è®¾ç½®ä¼ å ¥åæ°çæ ¼å¼:请æ±åæ°åºè¯¥æ¯ name1=value1&name2=value2 çå½¢å¼ã connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // è®¾ç½®é´æä¿¡æ¯ï¼Authorization: Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0 connection.setRequestProperty("Authorization", "Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0"); // éè¿è¿æ¥å¯¹è±¡è·åä¸ä¸ªè¾åºæµ os = connection.getOutputStream(); // éè¿è¾åºæµå¯¹è±¡å°åæ°ååºå»/ä¼ è¾åºå»,宿¯éè¿åèæ°ç»ååºç os.write(param.getBytes()); // éè¿è¿æ¥å¯¹è±¡è·åä¸ä¸ªè¾å ¥æµï¼åè¿ç¨è¯»å if (connection.getResponseCode() == 200) { is = connection.getInputStream(); // 对è¾å ¥æµå¯¹è±¡è¿è¡å è£ :charsetæ ¹æ®å·¥ä½é¡¹ç®ç»çè¦æ±æ¥è®¾ç½® br = new BufferedReader(new InputStreamReader(is, "UTF-8")); StringBuffer sbf = new StringBuffer(); String temp = null; // 循ç¯éåä¸è¡ä¸è¡è¯»åæ°æ® while ((temp = br.readLine()) != null) { sbf.append(temp); sbf.append("\r\n"); } result = sbf.toString(); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // å ³éèµæº if (null != br) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != os) { try { os.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != is) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } // æå¼ä¸è¿ç¨å°åurlçè¿æ¥ connection.disconnect(); } return result; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpClient3.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,159 @@ package com.vci.ubcs.codeapply; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.params.HttpMethodParams; public class HttpClient3 { public static String doGet(String url) { // è¾å ¥æµ InputStream is = null; BufferedReader br = null; String result = null; // å建httpClientå®ä¾ HttpClient httpClient = new HttpClient(); // 设置httpè¿æ¥ä¸»æºæå¡è¶ æ¶æ¶é´ï¼15000æ¯«ç§ // å è·åè¿æ¥ç®¡çå¨å¯¹è±¡ï¼åè·ååæ°å¯¹è±¡,åè¿è¡åæ°çèµå¼ httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000); // å建ä¸ä¸ªGetæ¹æ³å®ä¾å¯¹è±¡ GetMethod getMethod = new GetMethod(url); // 设置get请æ±è¶ æ¶ä¸º60000æ¯«ç§ getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000); // 设置请æ±éè¯æºå¶ï¼é»è®¤éè¯æ¬¡æ°ï¼3次ï¼åæ°è®¾ç½®ä¸ºtrueï¼éè¯æºå¶å¯ç¨ï¼falseç¸å getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, true)); try { // æ§è¡Getæ¹æ³ int statusCode = httpClient.executeMethod(getMethod); // 夿è¿åç if (statusCode != HttpStatus.SC_OK) { // å¦æç¶æç è¿åç䏿¯ok,说æå¤±è´¥äº,æå°éè¯¯ä¿¡æ¯ System.err.println("Method faild: " + getMethod.getStatusLine()); } else { // éè¿getMethodå®ä¾ï¼è·åè¿ç¨çä¸ä¸ªè¾å ¥æµ is = getMethod.getResponseBodyAsStream(); // å è£ è¾å ¥æµ br = new BufferedReader(new InputStreamReader(is, "UTF-8")); StringBuffer sbf = new StringBuffer(); // 读åå°è£ çè¾å ¥æµ String temp = null; while ((temp = br.readLine()) != null) { sbf.append(temp).append("\r\n"); } result = sbf.toString(); } } catch (IOException e) { e.printStackTrace(); } finally { // å ³éèµæº if (null != br) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != is) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } // éæ¾è¿æ¥ getMethod.releaseConnection(); } return result; } public static String doPost(String url, Map<String, Object> paramMap) { // è·åè¾å ¥æµ InputStream is = null; BufferedReader br = null; String result = null; // å建httpClientå®ä¾å¯¹è±¡ HttpClient httpClient = new HttpClient(); // 设置httpClientè¿æ¥ä¸»æºæå¡å¨è¶ æ¶æ¶é´ï¼15000æ¯«ç§ httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000); // å建postè¯·æ±æ¹æ³å®ä¾å¯¹è±¡ PostMethod postMethod = new PostMethod(url); // 设置post请æ±è¶ æ¶æ¶é´ postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000); NameValuePair[] nvp = null; // 夿忰mapéåparamMapæ¯å¦ä¸ºç©º if (null != paramMap && paramMap.size() > 0) {// ä¸ä¸ºç©º // å建é®å¼åæ°å¯¹è±¡æ°ç»ï¼å¤§å°ä¸ºåæ°çä¸ªæ° nvp = new NameValuePair[paramMap.size()]; // 循ç¯éååæ°éåmap Set<Entry<String, Object>> entrySet = paramMap.entrySet(); // è·åè¿ä»£å¨ Iterator<Entry<String, Object>> iterator = entrySet.iterator(); int index = 0; while (iterator.hasNext()) { Entry<String, Object> mapEntry = iterator.next(); // ä»mapEntryä¸è·åkeyåvalueå建é®å¼å¯¹è±¡åæ¾å°æ°ç»ä¸ try { nvp[index] = new NameValuePair(mapEntry.getKey(), new String(mapEntry.getValue().toString().getBytes("UTF-8"), "UTF-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } index++; } } // 夿nvpæ°ç»æ¯å¦ä¸ºç©º if (null != nvp && nvp.length > 0) { // å°åæ°åæ¾å°requestBodyå¯¹è±¡ä¸ postMethod.setRequestBody(nvp); } // æ§è¡POSTæ¹æ³ try { int statusCode = httpClient.executeMethod(postMethod); // 夿æ¯å¦æå if (statusCode != HttpStatus.SC_OK) { System.err.println("Method faild: " + postMethod.getStatusLine()); } // è·åè¿ç¨è¿åçæ°æ® is = postMethod.getResponseBodyAsStream(); // å°è£ è¾å ¥æµ br = new BufferedReader(new InputStreamReader(is, "UTF-8")); StringBuffer sbf = new StringBuffer(); String temp = null; while ((temp = br.readLine()) != null) { sbf.append(temp).append("\r\n"); } result = sbf.toString(); } catch (IOException e) { e.printStackTrace(); } finally { // å ³éèµæº if (null != br) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != is) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } // éæ¾è¿æ¥ postMethod.releaseConnection(); } return result; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/HttpUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,239 @@ package com.vci.ubcs.codeapply; import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.shaded.com.google.gson.JsonObject; import com.vci.ubcs.code.vo.webserviceModel.apply.InterParameterVO; import com.vci.ubcs.codeapply.object.R; import org.apache.commons.collections4.CollectionUtils; import org.apache.http.*; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URIBuilder; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import java.io.IOException; import java.net.URISyntaxException; import java.util.LinkedList; import java.util.List; import java.util.Map; public class HttpUtil { private static final CloseableHttpClient httpclient = HttpClients.createDefault(); /** * åéHttpGetè¯·æ± * @param url * @return */ public static String sendGet(String url) { HttpGet httpget = new HttpGet(url); CloseableHttpResponse response = null; try { response = httpclient.execute(httpget); } catch (IOException e1) { e1.printStackTrace(); } String result = null; try { HttpEntity entity = response.getEntity(); if (entity != null) { result = EntityUtils.toString(entity); } } catch (ParseException | IOException e) { e.printStackTrace(); } finally { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } return result; } /** * åéHttpGet带åè¯·æ± * @param url * @param params * @return */ public static R sendGet(String url, Map<String, String> params,Map<String,String> headers) { R r=new R(); // è·åè¿æ¥å®¢æ·ç«¯å·¥å · CloseableHttpClient httpClient = HttpClients.createDefault(); String entityStr = null; CloseableHttpResponse response = null; try { /* * ç±äºGET请æ±ç忰齿¯æ¼è£ å¨URLå°ååæ¹ï¼æä»¥æä»¬è¦æå»ºä¸ä¸ªURLï¼å¸¦åæ° */ URIBuilder uriBuilder = new URIBuilder(url); /** 第ä¸ç§æ·»å åæ°çå½¢å¼ */ /*uriBuilder.addParameter("name", "root"); uriBuilder.addParameter("password", "123456");*/ /** 第äºç§æ·»å åæ°çå½¢å¼ */ List<NameValuePair> list = new LinkedList<>(); //è®¾ç½®å¤´é¨ for(Map.Entry<String,String> entry:params.entrySet()){ BasicNameValuePair param1 = new BasicNameValuePair(entry.getKey(), entry.getValue()); list.add(param1); } uriBuilder.setParameters(list); // æ ¹æ®å¸¦åæ°çURI对象æå»ºGET请æ±å¯¹è±¡ HttpGet httpGet = new HttpGet(uriBuilder.build()); /* * æ·»å 请æ±å¤´ä¿¡æ¯ */ if(headers!=null&&headers.size()>0) { for (Map.Entry<String, String> entry : params.entrySet()) { httpGet.addHeader(entry.getKey(), entry.getValue()); } } // æ§è¡è¯·æ± response = httpClient.execute(httpGet); // è·å¾ååºçå®ä½å¯¹è±¡ HttpEntity entity = response.getEntity(); // 使ç¨Apacheæä¾çå·¥å ·ç±»è¿è¡è½¬æ¢æå符串 entityStr = EntityUtils.toString(entity, "UTF-8"); if(StringUtils.isNotBlank(entityStr)){ r = JSONObject.toJavaObject(JSONObject.parseObject(entityStr), R.class); } } catch (ClientProtocolException e) { System.err.println("Httpåè®®åºç°é®é¢"); e.printStackTrace(); } catch (ParseException e) { System.err.println("è§£æé误"); e.printStackTrace(); } catch (URISyntaxException e) { System.err.println("URIè§£æå¼å¸¸"); e.printStackTrace(); } catch (IOException e) { System.err.println("IOå¼å¸¸"); e.printStackTrace(); } finally { // éæ¾è¿æ¥ if (null != response) { try { response.close(); httpClient.close(); } catch (IOException e) { System.err.println("éæ¾è¿æ¥åºé"); e.printStackTrace(); } } } return r; } /** * åéHttpGet带åè¯·æ± * @param url * @param header * @return */ public static String sendGet(String url, Map<String, String> header) { HttpGet httpGet = new HttpGet(url); //è®¾ç½®å¤´é¨ for(Map.Entry entry:header.entrySet()){ // System.out.println(entry.getKey()+ "###########" + entry.getValue()); httpGet.setHeader(entry.getKey().toString(),entry.getValue().toString()); } // System.out.println(jsonObject.toString()); // HttpGet httpget = new HttpGet(url); CloseableHttpResponse response = null; try { response = httpclient.execute(httpGet); } catch (IOException e1) { e1.printStackTrace(); } String result = null; try { HttpEntity entity = response.getEntity(); if (entity != null) { result = EntityUtils.toString(entity); } } catch (ParseException | IOException e) { e.printStackTrace(); } finally { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } return result; } /** * åéHttpPost请æ±ï¼åæ°ä¸ºmap * @param url * @param map * @return */ public static String sendPost(String url, Map<String,String> map) { // 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); 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); } catch (ParseException | IOException e) { e.printStackTrace(); } return result; } /** * åéä¸å¸¦åæ°çHttpPostè¯·æ± * @param url * @return */ public static String sendPost(String url) { HttpPost httppost = new HttpPost(url); CloseableHttpResponse response = null; try { response = httpclient.execute(httppost); } catch (IOException e) { e.printStackTrace(); } HttpEntity entity = response.getEntity(); String result = null; try { result = EntityUtils.toString(entity); } catch (ParseException | IOException e) { e.printStackTrace(); } return result; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialog.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,159 @@ package com.vci.ubcs.codeapply; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Toolkit; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JPanel; import com.vci.base.ui.exception.VCIException; import com.vci.base.ui.swing.VCISwingUtil; import com.vci.base.ui.swing.components.VCIJButton; import com.vci.base.ui.swing.components.VCIJDialog; import com.vci.base.ui.swing.components.VCIJPanel; import com.vci.base.ui.swing.components.VCIJTable; import com.vci.base.ui.swing.components.table.VCIJTablePanel; import org.apache.poi.ss.formula.functions.T; public class RMDataReferTempDialog extends VCIJDialog { private VCIJDialog rmDataAddDialog; private String templateId = ""; private RMDataReferTempDialogActionListener actionListener = new RMDataReferTempDialogActionListener(this); private VCIJButton btnOk = VCISwingUtil.createVCIJButton("ok", "ç¡®å®", "ç¡®å®", "accept.png", actionListener); private VCIJButton btnCancel = VCISwingUtil.createVCIJButton("cancel", "åæ¶", "åæ¶", "cancel.png", actionListener); private static final long serialVersionUID = 1L; public RMDataReferTempDialog(VCIJDialog rmDataAddDialog,String templateId) { //super(true); this.rmDataAddDialog = rmDataAddDialog; this.templateId = templateId; init(); setTitle("å¼ç¨æ¨¡æ¿-屿§éæ©"); //initDialogSize(rmDataAddDialog.getWidth(), rmDataAddDialog.getHeight()); } private void init(){ this.setLayout(new BorderLayout()); JPanel panel = new JPanel(new FlowLayout()); panel.add(btnOk); panel.add(btnCancel); this.add(createRMDataMainPanel(), BorderLayout.CENTER); this.add(panel,BorderLayout.SOUTH); Dimension dime = Toolkit.getDefaultToolkit().getScreenSize().getSize(); int x = dime.width/6; int y = dime.height/6 + 50; this.setLocation(x , y); this.setSize(850, 400); } private boolean fromTableDoubleClick = false; public boolean isFromTableDoubleClick() { return fromTableDoubleClick; } public void setFromTableDoubleClick(boolean fromTableDoubleClick) { this.fromTableDoubleClick = fromTableDoubleClick; } private VCIJPanel createRMDataMainPanel(){ VCIJPanel rmDataTablePanel = new VCIJPanel(); if(!templateId.equals("")){ //rmDataTablePanel = getRMDataMainPanel("", "", templateId); } rmDataTablePanel.setPreferredSize(new Dimension(880,300)); return rmDataTablePanel; } private VCIJTablePanel<T> tablePanel = null; private CodeDataMainPanelDataProvider dataProvider; public VCIJTablePanel getRMDataMainPanel(String libId, String classifyId, String templateId) { dataProvider = new CodeDataMainPanelDataProvider(); tablePanel = new VCIJTablePanel<T>(dataProvider); //tablePanel.setCustomButtons(getCombinedButtons()); tablePanel.setShowExport(true); tablePanel.setShowPaging(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(); VCIJTable table = tablePanel.getTable(); table.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getButton() == 1 && e.getClickCount() == 2) { setFromTableDoubleClick(true); btnOk.doClick(); } } }); return tablePanel; } /***è·åèµæºæ°æ®ç䏻颿¿**/ /* public RMDataMainPanel getRMDataMainPanel() { return rmDataMainPanel; } */ /*private RMDataTransmitObject loadTemplateAttributes(String libId, String classifyId, String templateId){ LinkedHashMap<String, TemplatePropertyObject> tempPropObjsMap = new LinkedHashMap<String, TemplatePropertyObject>(); LinkedList<TemplatePropertyObject> tempPropObjsList = new LinkedList<TemplatePropertyObject>(); LinkedHashMap<String, AttributeObject> tempAttrObjsMap = new LinkedHashMap<String, AttributeObject>(); LinkedList<AttributeObject> tempAttrObjsList = new LinkedList<AttributeObject>(); TemplateObject templateObject = null; RMDataTransmitObject transmit = new RMDataTransmitObject(); transmit.setLibId(libId); transmit.setClassifyId(classifyId); transmit.setTemplateId(templateId); transmit.setSpecialLib(true);//added by ligang 2012.07.04å¤ä»¶åºä¸åæéæ ¡éª try{ UserEntityObject userEntityObject = LogonApplication.getUserEntityObject(); TemplateClientDelegate tempDel = new TemplateClientDelegate(userEntityObject); RMTemplateProertyClientDelegate tempPropDel = new RMTemplateProertyClientDelegate(userEntityObject); AttributeClientDelegate attrDel = new AttributeClientDelegate(userEntityObject); // RMTypeObject rmTypeObject = new RMTypeClientDelegate(userEntityObject).getRMTypeById(classifyId); RMTypeObject rmTypeObject = new RMTypeObject(); // ä»èµæºåç±»æ ä¸éæ©ç对åºçå类对象 transmit.setRmTypeObject(rmTypeObject); // è·å模æ¿å¯¹è±¡ templateObject = tempDel.getTemplateObjectById(templateId); transmit.setTemplateObject(templateObject); // è·å模æ¿å®ä¹ç屿§å¯¹è±¡ï¼è¿ä¸ªå¯¹è±¡å å«çæ¯å±æ§å¨æ¨¡æ¿ä¸æ¯å¦ä¸ºå ³é®å±æ§ãå¯å¦ä¸ºç©ºççï¼ TemplatePropertyObject[] tempPropObjs = tempPropDel.getTempletePropertys(templateId); for(TemplatePropertyObject obj : tempPropObjs){ tempPropObjsMap.put(obj.getAttrId(), obj); tempPropObjsList.add(obj); } transmit.setTempPropObjsMap(tempPropObjsMap); transmit.setTempPropObjsList(tempPropObjsList); // è·å模æ¿å®ä¹ç屿§å¯¹è±¡å¯¹åºå°ççå®ç屿§å¯¹è±¡ï¼ç³»ç»é 置模åå®ä¹çé£äºå±æ§å¯¹è±¡ï¼ AttributeObject[] attrObjs = attrDel.fetchAttributeByTemplateId(templateId); for(AttributeObject obj : attrObjs){ tempAttrObjsMap.put(obj.getId(), obj); tempAttrObjsList.add(obj); } transmit.setTempAttrObjsMap(tempAttrObjsMap); transmit.setTempAttrObjsList(tempAttrObjsList); }catch(VCIException e){ e.printStackTrace(); } return transmit; }*/ } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,59 @@ package com.vci.ubcs.codeapply; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.LinkedHashMap; import com.vci.base.ui.swing.VCIOptionPane; import com.vci.base.ui.swing.components.VCIJDialog.DialogResult; public class RMDataReferTempDialogActionListener implements ActionListener { private RMDataReferTempDialog owner = null; public RMDataReferTempDialogActionListener(RMDataReferTempDialog owner){ this.owner = owner; this.initActionMap(); } private LinkedHashMap<String, Runnable> actionMaps = new LinkedHashMap<String, Runnable>(); private void initActionMap(){ actionMaps.put("ok", new Runnable() { public void run() { ok(); }}); actionMaps.put("cancel", new Runnable() { public void run() { cancel(); }}); } @Override public void actionPerformed(ActionEvent e) { String key = e.getActionCommand(); if(actionMaps.containsKey(key)){ actionMaps.get(key).run(); } } private void ok(){ if(!owner.isFromTableDoubleClick()){ /*LinkedList<RMDataObject> list = this.owner.getRMDataMainPanel().getTablePanel().getSelectedRowObjects(); if(list.size() > 1) { VCIOptionPane.showMessageDialog(this.owner, "ä¸å è®¸éæ©å¤æ¡æ°æ®è¿è¡æä½!"); return; } else if(list.size() <= 0) { VCIOptionPane.showMessageDialog(this.owner, "è¯·éæ©æ°æ®è¿è¡æä½!"); return; }*/ } owner.setDialogResult(DialogResult.OK); close(); owner.getDialogCallback().run(); } private void cancel(){ owner.setDialogResult(DialogResult.CANCEL); close(); } private void close(){ owner.setVisible(false); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/SectionObject.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,4 @@ package com.vci.ubcs.codeapply; public class SectionObject { } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/TestIntegrateFrame.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ package com.vci.ubcs.codeapply; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.HashMap; import java.util.Map; public class TestIntegrateFrame { public static JButton apply = new JButton(); public static JTextField text = new JTextField(); public static void main(String[] args) { final JFrame j = new JFrame(); j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); j.setSize(200, 200); apply.setText("test"); apply.setSize(80, 25); text.setPreferredSize(new Dimension(100,25)); p.add(text); p.add(apply); j.add(p); j.setLocation(new Point(500,300)); j.setVisible(true); apply.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Map<String, String> map = new HashMap<String, String>(); // map.put("åæææ¿æ¢ä»¶", "YUANCAILIAOTIHUANJIAN"); // map.put("åææé¨ä»¶", "1"); // map.put("ç®æç¤ºæ³¢å¨", ""); map.put("", "YCL"); String clsfName = "é"; String deptName = ""; CodeApplyFor410Dialog dialog = new CodeApplyFor410Dialog(j, clsfName,deptName); String code = dialog.getCodeValue(); dialog.getAttributeValue("mi"); text.setText(code + "_" + dialog.getAttributeValue("MIDU")); System.out.println("code:---"+code+"---"); } }); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/TransmitTreeObject.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,67 @@ package com.vci.ubcs.codeapply; import com.vci.base.ui.tree.VCIBaseTree; import com.vci.base.ui.tree.VCIBaseTreeModel; import com.vci.base.ui.tree.VCIBaseTreeNode; public class TransmitTreeObject { private VCIBaseTreeNode currentTreeNode; //éä¸çæ èç¹ private VCIBaseTreeModel treeModel; // è¦æä½ç treeModel private VCIBaseTree tree; // è¦æä½ç tree private VCIBaseTreeNode lastRightClickedTreeNode;// æå䏿¬¡å³é®å¯¹åºçTreeNode public TransmitTreeObject(){ super(); } public TransmitTreeObject(VCIBaseTreeNode currentTreeNode, VCIBaseTreeModel treeModel, VCIBaseTree tree, VCIBaseTreeNode lastRightClickedTreeNode) { super(); this.currentTreeNode = currentTreeNode; this.treeModel = treeModel; this.tree = tree; this.lastRightClickedTreeNode = lastRightClickedTreeNode; } public VCIBaseTreeNode getCurrentTreeNode() { return currentTreeNode; } public void setCurrentTreeNode(VCIBaseTreeNode currentTreeNode) { this.currentTreeNode = currentTreeNode; } public VCIBaseTree getTree() { return tree; } public void setTree(VCIBaseTree tree) { this.tree = tree; } public VCIBaseTreeModel getTreeModel() { return treeModel; } public void setTreeModel(VCIBaseTreeModel treeModel) { this.treeModel = treeModel; } /** * è¿å æå䏿¬¡å³é®å¯¹åºçTreeNode * <p>Description: </p> * * @author xchao * @time 2012-5-21 * @return */ public VCIBaseTreeNode getLastRightClickedTreeNode() { return lastRightClickedTreeNode; } /** * 设置 æå䏿¬¡å³é®å¯¹åºçTreeNode * <p>Description: </p> * * @author xchao * @time 2012-5-21 * @param lastRightClickedTreeNode */ public void setLastRightClickedTreeNode(VCIBaseTreeNode lastRightClickedTreeNode) { this.lastRightClickedTreeNode = lastRightClickedTreeNode; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/httpClient4.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,134 @@ package com.vci.ubcs.codeapply; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.config.RequestConfig; 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; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; public class httpClient4 { public static String doGet(String url) { CloseableHttpClient httpClient = null; CloseableHttpResponse response = null; String result = ""; try { // éè¿åé»è®¤é ç½®å建ä¸ä¸ªhttpClientå®ä¾ httpClient = HttpClients.createDefault(); // å建httpGetè¿ç¨è¿æ¥å®ä¾ HttpGet httpGet = new HttpGet(url); // 设置请æ±å¤´ä¿¡æ¯ï¼é´æ httpGet.setHeader("Authorization", "Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0"); // 设置é 置请æ±åæ° RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// è¿æ¥ä¸»æºæå¡è¶ æ¶æ¶é´ .setConnectionRequestTimeout(35000)// 请æ±è¶ æ¶æ¶é´ .setSocketTimeout(60000)// æ°æ®è¯»åè¶ æ¶æ¶é´ .build(); // 为httpGetå®ä¾è®¾ç½®é ç½® httpGet.setConfig(requestConfig); // æ§è¡get请æ±å¾å°è¿å对象 response = httpClient.execute(httpGet); // éè¿è¿å对象è·åè¿åæ°æ® HttpEntity entity = response.getEntity(); // éè¿EntityUtilsä¸çtoStringæ¹æ³å°ç»æè½¬æ¢ä¸ºå符串 result = EntityUtils.toString(entity); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // å ³éèµæº if (null != response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public static String doPost(String url, Map<String, Object> paramMap) { CloseableHttpClient httpClient = null; CloseableHttpResponse httpResponse = null; String result = ""; // å建httpClientå®ä¾ httpClient = HttpClients.createDefault(); // å建httpPostè¿ç¨è¿æ¥å®ä¾ HttpPost httpPost = new HttpPost(url); // é 置请æ±åæ°å®ä¾ RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// è®¾ç½®è¿æ¥ä¸»æºæå¡è¶ æ¶æ¶é´ .setConnectionRequestTimeout(35000)// è®¾ç½®è¿æ¥è¯·æ±è¶ æ¶æ¶é´ .setSocketTimeout(60000)// è®¾ç½®è¯»åæ°æ®è¿æ¥è¶ æ¶æ¶é´ .build(); // 为httpPostå®ä¾è®¾ç½®é ç½® httpPost.setConfig(requestConfig); // 设置请æ±å¤´ httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded"); // å°è£ post请æ±åæ° if (null != paramMap && paramMap.size() > 0) { List<NameValuePair> nvps = new ArrayList<NameValuePair>(); // éè¿mapéæentrySetæ¹æ³è·åentity Set<Entry<String, Object>> entrySet = paramMap.entrySet(); // 循ç¯éåï¼è·åè¿ä»£å¨ Iterator<Entry<String, Object>> iterator = entrySet.iterator(); while (iterator.hasNext()) { Entry<String, Object> mapEntry = iterator.next(); nvps.add(new BasicNameValuePair(mapEntry.getKey(), mapEntry.getValue().toString())); } // 为httpPost设置å°è£ 好ç请æ±åæ° try { httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } try { // httpClient对象æ§è¡post请æ±,å¹¶è¿åååºåæ°å¯¹è±¡ httpResponse = httpClient.execute(httpPost); // ä»ååºå¯¹è±¡ä¸è·åååºå 容 HttpEntity entity = httpResponse.getEntity(); result = EntityUtils.toString(entity); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // å ³éèµæº if (null != httpResponse) { try { httpResponse.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/AttrRangObjectWarper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ package com.vci.ubcs.codeapply.object; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import java.io.Serializable; import java.text.MessageFormat; public class AttrRangObjectWarper implements Serializable { /** * */ private static final long serialVersionUID = 8306930792434927633L; private KeyValue keyValue = null; public AttrRangObjectWarper(KeyValue keyValue){ this.keyValue = keyValue; } public KeyValue getKeyValue() { return keyValue; } public void setKeyValue(KeyValue keyValue) { this.keyValue = keyValue; } @Override public String toString() { String res = ""; String desc = keyValue.getValue(); String value = keyValue.getKey(); if("".equals(desc) && "".equals(value)) { return ""; }else if (desc.equals("")) { res = value; // res = MessageFormat.format("{0}({1})", value, value); } else { res = MessageFormat.format("{0}({1})", desc, value); } return res; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/ClassifyLevel.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,62 @@ package com.vci.ubcs.codeapply.object; public class ClassifyLevel { /*** * åç±»ä»£å· */ private String type; /** * å¦ */ private String change; /** * æå°å± */ private String set; /** * å±çº§ */ private int injectNum; public String getType() { return type; } public void setType(String type) { this.type = type; } public String getChange() { return change; } public void setChange(String change) { this.change = change; } public String getSet() { return set; } public void setSet(String set) { this.set = set; } public int getInjectNum() { return injectNum; } public void setInjectNum(int injectNum) { this.injectNum = injectNum; } @Override public String toString() { return "classifyLevel{" + "type='" + type + '\'' + ", change='" + change + '\'' + ", set='" + set + '\'' + ", injectNum='" + injectNum + '\'' + '}'; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/CodeClassify.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,11 @@ package com.vci.ubcs.codeapply.object; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; public class CodeClassify extends CodeClassifyVO { @Override public String toString() { return super.getName(); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/R.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,50 @@ package com.vci.ubcs.codeapply.object; public class R<T> { private int code; private boolean success; private T data; private String msg; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public boolean isSuccess() { return success; } public void setSuccess(boolean success) { this.success = success; } public T getData() { return data; } public void setData(T data) { this.data = data; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } @Override public String toString() { return "R{" + "code=" + code + ", success=" + success + ", data=" + data + ", msg='" + msg + '\'' + '}'; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/RMDataTransmitObject.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,160 @@ package com.vci.ubcs.codeapply.object; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import java.util.*; public class RMDataTransmitObject { // åºID private String libId = ""; // åç±»ID private String classifyId = ""; // åç±»ç private String classifyCode = ""; // 模æ¿ID private String templateId = ""; // 模æ¿å¯¹è±¡ private CodeClassifyTemplateVO templateObject = null; // 模æ¿ç屿§é 置对象MAP key:屿§ID value:模æ¿å屿§å®ä¹å¯¹è±¡ private Map<String, CodeClassifyTemplateAttrVO> tempPropObjsMap = new LinkedHashMap<String, CodeClassifyTemplateAttrVO>(); /** * 模æ¿ç屿§é ç½®ï¼key:innerName, value:TemplatePropertyObject */ private Map<String, CodeClassifyTemplateAttrVO> tempPropObjMapsByInnerName = new LinkedHashMap<String, CodeClassifyTemplateAttrVO>(); // 模æ¿ç屿§é 置对象LIST private List<CodeClassifyTemplateAttrVO> tempPropObjsList = new ArrayList<>(); // èµæºæ°æ®æä½æ¶ï¼éæ©çæµç¨å¯¹è±¡ //private ProcessDefinitionObject processObject = null; // èµæºæ°æ®æä½æ¶ï¼æµç¨çä»»å¡å¯¹è±¡ï¼å¨æ·»å èµæºæ°æ®æ¶ï¼æ¤ä»»å¡å¯¹è±¡æ¯éæ©çæµç¨ç第ä¸ä¸ªä»»å¡ï¼å¨èµæºæ°æ®ç¼è¾æä»ä»»å¡ç®±ä¸ç¼è¾æ¶ï¼æ¯è¯¥ä»»å¡å¯¹åºçä»»å¡å¯¹è±¡ //private ProcessTaskInfo processTaskInfo = null; // èµæºæ°æ®é¢æ¿åºåï¼è¡¨æ ¼åºåï¼ //private RMDataMainPanel rmDataMainPanel = null; // èµæºæ°æ®å¯¹åºçåºæåç±» private CodeClassify rmTypeObject = null; // æå䏿¬¡å建æåçèµæºæ°æ®å¯¹è±¡ï¼ //private RMDataObject lastCreatedRMDataObject = null; // æå䏿¬¡æ´æ°æåçèµæºæ°æ®å¯¹è±¡ //private RMDataObject lastUpdateRMDataObject = null; //èµæºæ°æ®æä½æ¶ï¼æµç¨çä»»å¡å¯¹è±¡ï¼å¨æ·»å èµæºæ°æ®æ¶ï¼æ¤ä»»å¡å¯¹è±¡æ¯éæ©çæµç¨ç第ä¸ä¸ªä»»å¡ï¼å¨èµæºæ°æ®ç¼è¾æä»ä»»å¡ç®±ä¸ç¼è¾æ¶ï¼æ¯è¯¥ä»»å¡å¯¹åºçä»»å¡å¯¹è±¡ //private FlowInstanceInfo flowInstanceInfo = null; // 屿§çåå¼èå´å表 keyï¼å±æ§ID value: map keyï¼å±æ§åç§°ï¼valueï¼åå¼èå´å¼ private LinkedHashMap<String, LinkedHashMap<String, String>> attrRangeNameToValueMaps = new LinkedHashMap<String, LinkedHashMap<String,String>>(); // 屿§çåå¼èå´å表 keyï¼å±æ§ID value: map keyï¼åå¼èå´å¼ï¼valueï¼å±æ§åç§° private LinkedHashMap<String, LinkedHashMap<String, String>> attrRangeValueToNameMaps = new LinkedHashMap<String, LinkedHashMap<String,String>>(); //æ¯å¦æ¯ä¸æåºæ 示 private boolean specialLib = false; private boolean view = true; public String getLibId() { return libId; } public void setLibId(String libId) { this.libId = libId; } public String getClassifyId() { return classifyId; } public void setClassifyId(String classifyId) { this.classifyId = classifyId; } public String getClassifyCode() { return classifyCode; } public void setClassifyCode(String classifyCode) { this.classifyCode = classifyCode; } public String getTemplateId() { return templateId; } public void setTemplateId(String templateId) { this.templateId = templateId; } public CodeClassifyTemplateVO getTemplateObject() { return templateObject; } public void setTemplateObject(CodeClassifyTemplateVO templateObject) { this.templateObject = templateObject; } public Map<String, CodeClassifyTemplateAttrVO> getTempPropObjsMap() { return tempPropObjsMap; } public void setTempPropObjsMap(Map<String, CodeClassifyTemplateAttrVO> tempPropObjsMap) { this.tempPropObjsMap = tempPropObjsMap; } public Map<String, CodeClassifyTemplateAttrVO> getTempPropObjMapsByInnerName() { return tempPropObjMapsByInnerName; } public void setTempPropObjMapsByInnerName(Map<String, CodeClassifyTemplateAttrVO> tempPropObjMapsByInnerName) { this.tempPropObjMapsByInnerName = tempPropObjMapsByInnerName; } public List<CodeClassifyTemplateAttrVO> getTempPropObjsList() { return tempPropObjsList; } public void setTempPropObjsList(List<CodeClassifyTemplateAttrVO> tempPropObjsList) { this.tempPropObjsList = tempPropObjsList; } public LinkedHashMap<String, LinkedHashMap<String, String>> getAttrRangeNameToValueMaps() { return attrRangeNameToValueMaps; } public void setAttrRangeNameToValueMaps(LinkedHashMap<String, LinkedHashMap<String, String>> attrRangeNameToValueMaps) { this.attrRangeNameToValueMaps = attrRangeNameToValueMaps; } public LinkedHashMap<String, LinkedHashMap<String, String>> getAttrRangeValueToNameMaps() { return attrRangeValueToNameMaps; } public void setAttrRangeValueToNameMaps(LinkedHashMap<String, LinkedHashMap<String, String>> attrRangeValueToNameMaps) { this.attrRangeValueToNameMaps = attrRangeValueToNameMaps; } public boolean isSpecialLib() { return specialLib; } public void setSpecialLib(boolean specialLib) { this.specialLib = specialLib; } public boolean isView() { return view; } public void setView(boolean view) { this.view = view; } public CodeClassify getRmTypeObject() { return rmTypeObject; } public void setRmTypeObject(CodeClassify rmTypeObject) { this.rmTypeObject = rmTypeObject; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/swing/IntegerTextField.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.vci.ubcs.codeapply.swing; import java.io.Serializable; import javax.swing.text.Document; import com.vci.base.ui.swing.components.NumberPlainDocument; import com.vci.base.ui.swing.components.VCIJTextField; public class IntegerTextField extends VCIJTextField implements Serializable { /** * */ private static final long serialVersionUID = 3885601645788779103L; public IntegerTextField(String text){ super(text); } @Override protected Document createDefaultModel(){ return new NumberPlainDocument(false); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/swing/RealTextField.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,54 @@ package com.vci.ubcs.codeapply.swing; import com.vci.base.ui.swing.components.NumberPlainDocument; import com.vci.base.ui.swing.components.VCIJTextField; import javax.swing.text.Document; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; public class RealTextField extends VCIJTextField { /** * */ private static final long serialVersionUID = -2711989168936034987L; /** * */ public RealTextField(String text) { super(text); addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { this_keyReleased(e); } }); } private void this_keyReleased(KeyEvent e) { String text = getText(); if (text.equals("")) return; // æ°å¼ä¸è½ä»¥-.æ.å¼å¤´ if (text.startsWith("-.")) { text = "-0." + text.substring(2); } else if (text.startsWith(".")) { text = "0." + text.substring(1); } String str = text.substring(0, text.length() - 1); String last = text.substring(text.length() - 1); // Realç±»åçè¾å ¥æ¶ï¼åªè½åºç°ä¸ä¸ª. if (last.equals(".")) { if (str.indexOf(".") > 0) { text = str; } } setText(text); } @Override protected Document createDefaultModel() { return new NumberPlainDocument(true); } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/swing/VCIJComboxBox.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,50 @@ package com.vci.ubcs.codeapply.swing; import java.awt.BorderLayout; import java.awt.Dimension; import com.vci.base.ui.swing.VCISwingUtil; import com.vci.base.ui.swing.components.VCIJButton; import com.vci.base.ui.swing.components.VCIJComboBox; public class VCIJComboxBox extends VCIJComboBox{ private static final long serialVersionUID = 1L; // private KJButton searchBtn = new KJButton("", "search.png"); private VCIJButton searchBtn = VCISwingUtil.createVCIJButton("search", "", "", "search.png", null); public VCIJButton getSearchBtn() { return searchBtn; } public void setSearchBtn(VCIJButton searchBtn) { this.searchBtn = searchBtn; } private boolean flag = false; public VCIJComboxBox(){ this.setLayout(new BorderLayout()); searchBtn.setVisible(false); searchBtn.setPreferredSize(new Dimension(40, 30)); this.add(searchBtn, BorderLayout.EAST ); } // public KJButton getSearchBtn() { // return searchBtn; // } // // public void setSearchBtn(KJButton searchBtn) { // this.searchBtn = searchBtn; // } public boolean isFlag() { return flag; } public void setFlag(boolean flag) { this.flag = flag; } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/utils/ConfigUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,48 @@ package com.vci.ubcs.codeapply.utils; import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; import com.vci.base.common.resource.CommonProperties; /** * é 置信æ¯ç»ä¸è¯»åç±» * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2012</p> * <p>Company: VCI</p> * @author xchao * @time 2013-3-20 * @version 1.0 */ public class ConfigUtils { /** * æ ¹æ®KEYï¼ä»è¿ç¨æå¡å¨ç«¯conf.propertiesä¸é ç½®å¼ * <p>Description: æ ¹æ®æªæ¾å°ç¸åºçå¼ï¼åè¿åKEY</p> * * @author xchao * @time 2013-3-20 * @param key * @return */ public static String getConfigValue(String key){ String res=CommonProperties.getStringProperty(key); return res; } /** * æ ¹æ®KEYï¼ä»è¿ç¨æå¡å¨ç«¯conf.propertiesä¸é ç½®å¼ * <p>Description: æ ¹æ®æªæ¾å°ç¸åºçå¼ï¼åè¿åKEY</p> * * @author xchao * @time 2013-3-20 * @param key * @return */ public static String getConfigValue(String key,String defaultValue){ String res=CommonProperties.getStringProperty(key); if(StringUtils.isBlank(res)){ return defaultValue; } return res; } } Source/UBCS/ubcs-codeApply/src/main/resources/properties/conf.properties
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ #????????????????? # ?????????????????????????????????? RMData.MaxAttrInLine=2 # ?????????????TextArea???true:?? false????????true RMData.TextArea.Enable=true # ?String??????????????????????TextArea????????????100 RMData.MaxStringLength=500 # ???TextArea???TextArea?PreferredSize?MinimumSize?MaximumSize?Width?Height RMData.TextArea.PreferredSize.Width=100 RMData.TextArea.PreferredSize.Height=50 RMData.TextArea.MinimumSize.Width=100 RMData.TextArea.MinimumSize.Height=30 RMData.TextArea.MaximumSize.Width=100 RMData.TextArea.MaximumSize.Height=80 #PDM????????????????????????????????????????#?? 410.PDM.LibCodeName=\u7269\u54c1\#\u9644\u5f55 #??????????? 410.PDM.item.url=http://127.0.0.1:36014/codeApplySwingController/getRMLibByName #??????????? 410.PDM.clsfTemplate.url=http://127.0.0.1:36014/codeApplySwingController/getUsedTemplateByClassifyOid #??????????? 410.PDM.leftClsfNode.url=http://127.0.0.1:36014/codeApplySwingController/selectCodeClassifyVOByParentId # 410.PDM.leftdescLibNode.url=http://127.0.0.1:36014/codeApplySwingController/getRMTypeByDescAndLib 410.PDM.rule.url=http://127.0.0.1:36014/codeApplySwingController/getCodeRuleByClassifyFullInfo 410.PDM.attrKeyValue.url=http://127.0.0.1:36014/codeApplySwingController/listComboboxItems Source/UBCS/ubcs-codeApply/src/main/resources/properties/tt.json
¶Ô±ÈÐÂÎļþ @@ -0,0 +1 @@ {"type":"å类代å·","set":"æå°å±","change":"å¦","injectNum":4} Source/UBCS/ubcs-service/ubcs-code/pom.xml
@@ -173,6 +173,14 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>8</source> <target>8</target> </configuration> </plugin> </plugins> </build> Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,113 @@ package com.vci.ubcs.code.controller; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.service.ICodeClassifyService; import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.service.MdmEngineService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.starter.web.pagemodel.KeyValue; 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 java.util.List; /** * 主é¢åºå®ä¹è¡¨ æ§å¶å¨ * * @author xiejun * @since 2023-07-24 */ @RestController @AllArgsConstructor @RequestMapping("/codeApplySwingController") @Api(value = "主é¢åºå®ä¹è¡¨", tags = "主é¢åºå®ä¹è¡¨æ¥å£") public class CodeApplySwingController { /*** * åç±»æå¡å¯¹è±¡ */ private final ICodeClassifyService codeClassifyService; /*** * æ°æ®æä½æå¡å¯¹è±¡ */ private final MdmEngineService mdmEngineService; /*** * 模æ¿å±æ§æå¡ */ private final ICodeClassifyTemplateAttrService codeClstempattrService; /** * è·ååºèç¹ä¿¡æ¯ * @param libName åºèç¹åç§° * @return 主é¢åºåç±»æ¾ç¤ºæ */ @GetMapping("/getRMLibByName") public R<List<CodeClassifyVO>> getRMLibByName(String libName) { List<CodeClassifyVO> codeClassifyVOList=codeClassifyService.getRMLibByName(libName); return R.data(codeClassifyVOList) ; } /*** * æ ¹æ®åç±»æè¿°å¤æ³¨ååºèç¹æ¥è¯¢åç±»ä¿¡æ¯ * @param desc * @param codeLibName * @return */ @GetMapping("/getRMTypeByDescAndLib") public R<List<CodeClassifyVO>> getRMTypeByDescAndLib(String desc,String codeLibName) { List<CodeClassifyVO> codeClassifyVOList=codeClassifyService.getRMTypeByDescAndLib(desc,codeLibName); return R.data(codeClassifyVOList) ; } /** * 主é¢åºåç±»æ * @param parentId æ å½¢æ¥è¯¢å¯¹è±¡ * @return 主é¢åºåç±»æ¾ç¤ºæ */ @GetMapping("/selectCodeClassifyVOByParentId") public R<List<CodeClassifyVO>> selectCodeClassifyVOByParentId(String parentId) { List<CodeClassifyVO> codeClassifyVOList =codeClassifyService.selectCodeClassifyVOByParentId(parentId); return R.data(codeClassifyVOList); } /** * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ * @param codeClassifyOid åç±»çä¸»é® * @return 模æ¿çæ¾ç¤ºå¯¹è±¡ */ @GetMapping("/getUsedTemplateByClassifyOid") public R<CodeClassifyTemplateVO> getUsedTemplateByClassifyOid(String codeClassifyOid){ CodeClassifyTemplateVO codeClassifyTemplateVO=mdmEngineService.getUsedTemplateByClassifyOid(codeClassifyOid); return R.data(codeClassifyTemplateVO); } /*** * æ ¹æåç±»oidè·åè§åä¿¡æ¯ * @param codeClassId * @return */ @GetMapping("/getCodeRuleByClassifyFullInfo") public R<CodeRuleVO> getCodeRuleByClassifyFullInfo(String codeClassId){ CodeRuleVO codeRuleVO=new CodeRuleVO(); CodeClassifyFullInfoBO classifyFullInfo = codeClassifyService.getClassifyFullInfo(codeClassId); if(classifyFullInfo!=null) { codeRuleVO = mdmEngineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); } return R.data(codeRuleVO); } /*** * æ ¹æ®å±æ§è·åæä¸¾å¼ * @param oid * @return */ @GetMapping("/listComboboxItems") public R<List<KeyValue>> listComboboxItems(String oid){ List<KeyValue> keyValueList=mdmEngineService.listComboboxItems(codeClstempattrService.getObjectByOid(oid)); return R.data(keyValueList); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
@@ -117,4 +117,35 @@ CodeClassify selectByIdRel(@Param("oid") String oid); /** * æ ¹æ®ç¶èç¹idæ¥è¯¢å½åèç¹åèç¹æ°æ® * * @param parentOid åç±»çä¸»é® * @return æ°æ®éå */ List<CodeClassify> selectCodeClassifyDOByParentId(@Param("parentOid")String parentOid,@Param("tenantId") String tenantId); /*** * æ ¹æ®åºèç¹åç§°è·ååç±» * @param libNames * @param lcstatus * @param tenantId * @return */ List<CodeClassify> getRMLibByName(List<String> libNames,@Param("lcstatus")String lcstatus,@Param("tenantId") String tenantId); /*** * æ ¹æ®åç±»æè¿°å¤æ³¨ååºèç¹æ¥è¯¢åç±»ä¿¡æ¯ * @param desc * @param codeLibName * @return */ List<CodeClassify> getRMTypeByDesc(@Param("desc")String desc,@Param("lcstatus")String lcstatus,@Param("tenantId") String tenantId); /*** * æ ¹æ®å½ååç±»è·åä¸çº§åç±»ä¿¡æ¯ * @param oid * @param tenantId * @return */ List<CodeClassify> selectAllParenClassifytByOid(@Param("oid")String oid,@Param("tenantId") String tenantId); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -270,4 +270,27 @@ * @return ä¸ªæ° */ int countChildrenByClassifyOid(String codeClassifyOid); /*** * æ ¹æ®ç¶èç¹æ¥è¯¢ä¸çº§å¶åèç¹ * @param parentId * @return */ List<CodeClassifyVO> selectCodeClassifyVOByParentId(String parentId); /*** * æ ¹æ®åºèç¹åç§°è·ååç±» * @param libName * @return */ List<CodeClassifyVO> getRMLibByName(String libName); /*** * æ ¹æ®åç±»æè¿°å¤æ³¨ååºèç¹æ¥è¯¢åç±»ä¿¡æ¯ * @param desc * @param codeLibName * @return */ List<CodeClassifyVO> getRMTypeByDescAndLib(String desc,String codeLibName); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -528,6 +528,57 @@ List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); return voList; } /*** * * @param parentOid * @return */ @Override public List<CodeClassifyVO> selectCodeClassifyVOByParentId(String parentOid) { List<CodeClassify> doList =codeClassifyMapper.selectCodeClassifyDOByParentId(parentOid,AuthUtil.getTenantId()); List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); return voList; } /** * æ ¹æ®åºèç¹åç§°è·ååç±» * @param libName * @return */ @Override public List<CodeClassifyVO> getRMLibByName(String libName) { List<String> libNameList=new ArrayList<>(); if(StringUtils.isNotBlank(libName)){ libNameList=VciBaseUtil.str2List(libName); } List<CodeClassify> doList =codeClassifyMapper.getRMLibByName(libNameList,"Enabled",AuthUtil.getTenantId()); List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); return voList; } /*** * æ ¹æ®åç±»æè¿°å¤æ³¨ååºèç¹æ¥è¯¢åç±»ä¿¡æ¯ * @param desc * @param codeLibName * @return */ @Override public List<CodeClassifyVO> getRMTypeByDescAndLib(String desc, String codeLibName) { List<CodeClassify> doList =codeClassifyMapper.getRMTypeByDesc(desc,"Enabled",AuthUtil.getTenantId()); if (CollectionUtils.isEmpty(doList)) { return new LinkedList<CodeClassifyVO>(); } CodeClassify codeClassify=doList.get(0); List<CodeClassify> codeClassifyList=codeClassifyMapper.selectAllParenClassifytByOid(codeClassify.getOid(),AuthUtil.getTenantId()); CodeClassify currentLib = codeClassifyList.get(codeClassifyList.size() - 1); if (!currentLib.getName().equals(codeLibName)) { return new ArrayList<>(); } List<CodeClassifyVO> voList = codeClassifyDO2VOs(codeClassifyList); return voList; } /** * 使ç¨ç¼å·çè·¯å¾è·å对象 * Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -319,4 +319,172 @@ WHERE PCC.OID IN (${oids}) </select> <select id="selectCodeClassifyDOByParentId" resultMap="plCodeClassifyResultMap"> select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, codeclassify0.CREATOR as creator, codeclassify0.CREATETIME as createtime, codeclassify0.LASTMODIFIER as lastmodifier, codeclassify0.DESCRIPTION as description, codeclassify0.ORDERNUM as ordernum, codeclassify0.CODERULEOID as coderuleoid, codeclassify0.OID as oid, codeclassify0.BTMNAME as btmname, codeclassify0.BTMTYPENAME as btmtypename, codeclassify0.CODEKEYATTRREPEATOID as codekeyattrrepeatoid, codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid, codeclassify0.NAME as name, codeclassify0.LASTMODIFYTIME as lastmodifytime, codeclassify0.ID as id, codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, codeclassify0.TENANT_ID as tenantId , coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName from pl_code_classify codeclassify0 left join pl_code_rule coderuleoid on codeclassify0.codeRuleOid = coderuleoid.oid left join pl_code_keyattrrepeat codekeyattrrepeatoid on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid left join pl_code_resemblerule coderesembleruleoid on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid where 1=1 <if test="parentOid != null and parentOid != ''"> and codeclassify0.parentcodeclassifyoid = #{parentOid} </if> <if test="parentOid == null or parentOid == ''"> and codeclassify0.parentcodeclassifyoid is null </if> <if test="tenantId != null and tenantId != ''"> codeclassify0.tenant_id = #{tenantId} </if> order by id asc </select> <select id="getRMLibByName" resultMap="plCodeClassifyResultMap"> select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, codeclassify0.CREATOR as creator, codeclassify0.CREATETIME as createtime, codeclassify0.LASTMODIFIER as lastmodifier, codeclassify0.DESCRIPTION as description, codeclassify0.ORDERNUM as ordernum, codeclassify0.CODERULEOID as coderuleoid, codeclassify0.OID as oid, codeclassify0.BTMNAME as btmname, codeclassify0.BTMTYPENAME as btmtypename, codeclassify0.CODEKEYATTRREPEATOID as codekeyattrrepeatoid, codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid, codeclassify0.NAME as name, codeclassify0.LASTMODIFYTIME as lastmodifytime, codeclassify0.ID as id, codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, codeclassify0.TENANT_ID as tenantId , coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName from pl_code_classify codeclassify0 left join pl_code_rule coderuleoid on codeclassify0.codeRuleOid = coderuleoid.oid left join pl_code_keyattrrepeat codekeyattrrepeatoid on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid left join pl_code_resemblerule coderesembleruleoid on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid where codeclassify0.lcstatus = #{lcstatus} and codeclassify0.parentcodeclassifyoid is null <if test="libNames != null and ! libNames.isEmpty() and libNames.size() > 0"> and codeclassify0.name in <foreach item="item" index="index" collection="libNames" open="(" separator="," close=")"> #{item} </foreach> </if> <if test="tenantId != null and tenantId != ''"> codeclassify0.tenant_id = #{tenantId} </if> order by id asc </select> <select id="getRMTypeByDesc" resultMap="plCodeClassifyResultMap"> select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, codeclassify0.CREATOR as creator, codeclassify0.CREATETIME as createtime, codeclassify0.LASTMODIFIER as lastmodifier, codeclassify0.DESCRIPTION as description, codeclassify0.ORDERNUM as ordernum, codeclassify0.CODERULEOID as coderuleoid, codeclassify0.OID as oid, codeclassify0.BTMNAME as btmname, codeclassify0.BTMTYPENAME as btmtypename, codeclassify0.CODEKEYATTRREPEATOID as codekeyattrrepeatoid, codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid, codeclassify0.NAME as name, codeclassify0.LASTMODIFYTIME as lastmodifytime, codeclassify0.ID as id, codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, codeclassify0.TENANT_ID as tenantId , coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName from pl_code_classify codeclassify0 left join pl_code_rule coderuleoid on codeclassify0.codeRuleOid = coderuleoid.oid left join pl_code_keyattrrepeat codekeyattrrepeatoid on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid left join pl_code_resemblerule coderesembleruleoid on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid where 1=1 and codeclassify0.lcstatus = #{lcstatus} <if test="desc != null"> and codeclassify0.DESCRIPTION = #{desc} </if> <if test="tenantId != null and tenantId != ''"> and codeclassify0.tenant_id = #{tenantId} </if> order by id asc </select> <select id="selectAllParenClassifytByOid" resultMap="plCodeClassifyResultMap"> select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, codeclassify0.CREATOR as creator, codeclassify0.CREATETIME as createtime, codeclassify0.LASTMODIFIER as lastmodifier, codeclassify0.DESCRIPTION as description, codeclassify0.ORDERNUM as ordernum, codeclassify0.CODERULEOID as coderuleoid, codeclassify0.OID as oid, codeclassify0.BTMNAME as btmname, codeclassify0.BTMTYPENAME as btmtypename, codeclassify0.CODEKEYATTRREPEATOID as codekeyattrrepeatoid, codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid, codeclassify0.NAME as name, codeclassify0.LASTMODIFYTIME as lastmodifytime, codeclassify0.ID as id, codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, codeclassify0.TENANT_ID as tenantId , coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName from pl_code_classify codeclassify0 left join pl_code_rule coderuleoid on codeclassify0.codeRuleOid = coderuleoid.oid left join pl_code_keyattrrepeat codekeyattrrepeatoid on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid left join pl_code_resemblerule coderesembleruleoid on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid start with codeclassify0.oid=#{oid} <if test="tenantId != null and tenantId != ''"> and codeclassify0.tenant_id = #{tenantId} </if> connect by prior PARENTCODECLASSIFYOID = codeclassify0.oid </select> </mapper>