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 + -
显示快捷键?