workflow_linexmlbean.java
来自「java开发的办公系统 1.系统管理 (地区管理,部门管理,菜单管理,用户管理」· Java 代码 · 共 756 行 · 第 1/2 页
JAVA
756 行
package com.vere.manager.workflow.xml.bean;import java.io.*;import java.util.*;import org.jdom.*;import org.jdom.output.*;import org.jdom.input.*;import com.vere.db.*;import com.vere.manager.workflow.bean.FlowLineList;import com.vere.manager.workflow.item.*;public class Workflow_lineXmlBean { private String path="workflow_line.xml"; public Workflow_lineXmlBean() { } public Workflow_lineXmlBean(String path) { this.path=path; } /** * read XML content. */ public List loadXML(){ FileInputStream fi = null; FileWriter fw=null; ArrayList xmllist = null; try{ fi = new FileInputStream(path); xmllist = new ArrayList(); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(fi); Element root = doc.getRootElement(); //obtain root node List list = root.getChildren(); //obtain child of root node Element element =null; Workflow_lineItem item =null; for(int i=0;i<list.size();i++){ item = new Workflow_lineItem(); element = (Element)list.get(i ); //obtain child node informaiton item.setId(element.getChild("id").getText()); item.setWorkflow_id(element.getChild("workflow_id").getText()); item.setSendstateid(element.getChild("sendstateid").getText()); item.setReceiveid(element.getChild("receiveid").getText()); item.setName(element.getChild("name").getText()); xmllist.add(item); } } catch(Exception e){ System.err.println(e+"error"); } finally{ try{ if(fi!=null) fi.close(); if(fw!=null) fw.close(); } catch(Exception e){ e.printStackTrace(); } } return xmllist; } public FlowLineList findByWorkFlow_id(String workflow_id,String pathState){ FileInputStream fi = null; FileWriter fw=null; ArrayList xmllist = null; FlowLineList v=new FlowLineList(); //取出相关workflow_id 的流转状态 Workflow_stateXmlBean stateXmlBean=new Workflow_stateXmlBean(pathState); List stateXmlList=stateXmlBean.findByWorkflow_id(workflow_id); try{ fi = new FileInputStream(path); xmllist = new ArrayList(); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(fi); Element root = doc.getRootElement(); //obtain root node List list = root.getChildren(); //obtain child of root node Element element =null; for(int i=0;i<list.size();i++){ element = (Element)list.get(i ); //obtain child node informaiton if(element.getChild("workflow_id").getText().trim().equals(workflow_id)){ Workflow_lineItem lineItem=new Workflow_lineItem(); lineItem.setId(element.getChild("id").getText()); lineItem.setWorkflow_id(element.getChild("workflow_id").getText()); lineItem.setSendstateid(element.getChild("sendstateid").getText()); lineItem.setReceiveid(element.getChild("receiveid").getText()); lineItem.setName(element.getChild("name").getText()); //取得发送状态 for(int j=0;j<stateXmlList.size();j++){ Workflow_stateItem stateItem=(Workflow_stateItem)stateXmlList.get(j); if(lineItem.getSendstateid().equals(stateItem.getId())) { Workflow_stateItem sendItem=new Workflow_stateItem(); sendItem.setId(stateItem.getId()); sendItem.setWorkflow_id(stateItem.getWorkflow_id()); sendItem.setName(stateItem.getName()); sendItem.setY(stateItem.getY()); sendItem.setWidth(stateItem.getWidth()); sendItem.setX(stateItem.getX()); sendItem.setHeight(stateItem.getHeight()); sendItem.setState_type(stateItem.getState_type()); lineItem.setSendState(sendItem); } } //取得接收状态 for(int j=0;j<stateXmlList.size();j++){ Workflow_stateItem stateItem=(Workflow_stateItem)stateXmlList.get(j); if(lineItem.getReceiveid().equals(stateItem.getId())) { Workflow_stateItem receiveItem=new Workflow_stateItem(); receiveItem.setId(stateItem.getId()); receiveItem.setWorkflow_id(stateItem.getWorkflow_id()); receiveItem.setName(stateItem.getName()); receiveItem.setY(stateItem.getY()); receiveItem.setWidth(stateItem.getWidth()); receiveItem.setX(stateItem.getX()); receiveItem.setHeight(stateItem.getHeight()); receiveItem.setState_type(stateItem.getState_type()); lineItem.setReceiveState(receiveItem); } } v.add(lineItem); } } } catch(Exception e){ System.err.println(e+"error"); } finally{ try{ if(fi!=null) fi.close(); if(fw!=null) fw.close(); } catch(Exception e){ e.printStackTrace(); } } return v; } public FlowLineList findByWorkFlow_id(String workflow_id){ FileInputStream fi = null; FileWriter fw=null; ArrayList xmllist = null; FlowLineList v=new FlowLineList(); //取出相关workflow_id 的流转状态 Workflow_stateXmlBean stateXmlBean=new Workflow_stateXmlBean(); List stateXmlList=stateXmlBean.findByWorkflow_id(workflow_id); try{ fi = new FileInputStream(path); xmllist = new ArrayList(); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(fi); Element root = doc.getRootElement(); //obtain root node List list = root.getChildren(); //obtain child of root node Element element =null; for(int i=0;i<list.size();i++){ element = (Element)list.get(i ); //obtain child node informaiton if(element.getChild("workflow_id").getText().trim().equals(workflow_id)){ Workflow_lineItem lineItem=new Workflow_lineItem(); lineItem.setId(element.getChild("id").getText()); lineItem.setWorkflow_id(element.getChild("workflow_id").getText()); lineItem.setSendstateid(element.getChild("sendstateid").getText()); lineItem.setReceiveid(element.getChild("receiveid").getText()); lineItem.setName(element.getChild("name").getText()); //取得发送状态 for(int j=0;j<stateXmlList.size();j++){ Workflow_stateItem stateItem=(Workflow_stateItem)stateXmlList.get(j); if(lineItem.getSendstateid().equals(stateItem.getId())) { Workflow_stateItem sendItem=new Workflow_stateItem(); sendItem.setId(stateItem.getId()); sendItem.setWorkflow_id(stateItem.getWorkflow_id()); sendItem.setName(stateItem.getName()); sendItem.setY(stateItem.getY()); sendItem.setWidth(stateItem.getWidth()); sendItem.setX(stateItem.getX()); sendItem.setHeight(stateItem.getHeight()); sendItem.setState_type(stateItem.getState_type()); lineItem.setSendState(sendItem); } } //取得接收状态 for(int j=0;j<stateXmlList.size();j++){ Workflow_stateItem stateItem=(Workflow_stateItem)stateXmlList.get(j); if(lineItem.getReceiveid().equals(stateItem.getId())) { Workflow_stateItem receiveItem=new Workflow_stateItem(); receiveItem.setId(stateItem.getId()); receiveItem.setWorkflow_id(stateItem.getWorkflow_id()); receiveItem.setName(stateItem.getName()); receiveItem.setY(stateItem.getY()); receiveItem.setWidth(stateItem.getWidth()); receiveItem.setX(stateItem.getX()); receiveItem.setHeight(stateItem.getHeight()); receiveItem.setState_type(stateItem.getState_type()); lineItem.setReceiveState(receiveItem); } } v.add(lineItem); } } } catch(Exception e){ System.err.println(e+"error"); } finally{ try{ if(fi!=null) fi.close(); if(fw!=null) fw.close(); } catch(Exception e){ e.printStackTrace(); } } return v; } public List findBySendid(String sendid){ FileInputStream fi = null; FileWriter fw=null; ArrayList xmllist = new ArrayList(); try{ fi = new FileInputStream(path); xmllist = new ArrayList(); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(fi); Element root = doc.getRootElement(); //obtain root node List list = root.getChildren(); //obtain child of root node Element element =null; for(int i=0;i<list.size();i++){ element = (Element)list.get(i ); //obtain child node informaiton if(element.getChild("sendstateid").getText().trim().equals(sendid)){ Workflow_lineItem lineItem=new Workflow_lineItem(); lineItem.setId(element.getChild("id").getText()); lineItem.setWorkflow_id(element.getChild("workflow_id").getText()); lineItem.setSendstateid(element.getChild("sendstateid").getText()); lineItem.setReceiveid(element.getChild("receiveid").getText()); lineItem.setName(element.getChild("name").getText()); xmllist.add(lineItem); } } } catch(Exception e){ System.err.println(e+"error"); } finally{ try{ if(fi!=null) fi.close(); if(fw!=null) fw.close(); } catch(Exception e){ e.printStackTrace(); } } return xmllist; } public Workflow_lineItem loadXMLById(String id){ FileInputStream fi = null; FileWriter fw=null; Workflow_lineItem item = null; try{ fi = new FileInputStream(path); item = new Workflow_lineItem(); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(fi); Element root = doc.getRootElement(); //obtain root node List list = root.getChildren(); //obtain child of root node Element element =null; for(int i=0;i<list.size();i++){ element = (Element)list.get(i ); //obtain child node informaiton if(element.getChild("id").getText().trim().equals(id)){ item.setId(element.getChild("id").getText()); item.setWorkflow_id(element.getChild("workflow_id").getText()); item.setSendstateid(element.getChild("sendstateid").getText()); item.setReceiveid(element.getChild("receiveid").getText()); item.setName(element.getChild("name").getText()); return item; } } } catch(Exception e){ System.err.println(e+"error"); } finally{ try{ if(fi!=null) fi.close(); if(fw!=null) fw.close(); } catch(Exception e){ e.printStackTrace(); } } return item; } /** * remove element informaiton */ public void removeAllXML(String[] ids){ FileInputStream fi = null; FileWriter fw=null; try{ fi = new FileInputStream(path); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(fi); Element root = doc.getRootElement(); List list = root.getChildren(); for(int i=ids.length-1;i>=0;i--){ int id=Integer.parseInt(ids[i]); list.remove(id); } XMLOutputter outer=new XMLOutputter(); fw=new FileWriter(path); Format fm=Format.getPrettyFormat(); fm.setEncoding("gb2312"); outer.setFormat(fm); outer.output(doc,fw); outer.output(doc,System.out); } catch(Exception e){ System.err.println(e+"error"); } finally{ try{ if(fi!=null) fi.close(); if(fw!=null) fw.close(); } catch(Exception e){ e.printStackTrace(); } } } public void removeXML(String id){ FileInputStream fi = null; FileWriter fw=null; try{ fi = new FileInputStream(path); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(fi); Element root = doc.getRootElement(); List list = root.getChildren(); Element element =null; Workflow_lineItem item =null; for(int i=0;i<list.size();i++){ element = (Element)list.get(i ); if(element.getChild("id").getText().trim().equals(id)){ list.remove(i); break; } } XMLOutputter outer=new XMLOutputter(); fw=new FileWriter(path); Format fm=Format.getPrettyFormat(); fm.setEncoding("gb2312"); outer.setFormat(fm); outer.output(doc,fw); outer.output(doc,System.out); }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?