workflowservletxml.java

来自「java开发的办公系统 1.系统管理 (地区管理,部门管理,菜单管理,用户管理」· Java 代码 · 共 168 行

JAVA
168
字号

package com.vere.manager.workflow.servlet;

import java.io.*;
import java.text.*;
import java.util.*;

import javax.servlet.*;
import javax.servlet.http.*;

import com.vere.manager.workflow.bean.FlowLineList;
import com.vere.manager.workflow.bean.Workflow_categoryBean;
import com.vere.manager.workflow.item.*;
import com.vere.manager.workflow.xml.bean.*;

public class WorkflowServletXml extends HttpServlet  {

	public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletException
	{
		doPost(request,response);
	}
	public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletException
	{
		ObjectInputStream inputFromApplet = null;
		ObjectOutputStream outputToServlet = null;
        String data = null;
        
        try
        {  
          // get an input stream from the applet
        	inputFromApplet = new ObjectInputStream(request.getInputStream());
        	outputToServlet = new ObjectOutputStream(response.getOutputStream());
        	// read the serialized data from applet
        	Object obj = inputFromApplet.readObject();
          if(obj != null)
          {        
          	//判断是否取得流转状态
			if(obj.toString().equals("ShowState")){
				String pathState=inputFromApplet.readObject().toString();
				com.vere.item.MenuItem nodeItem=(com.vere.item.MenuItem)inputFromApplet.readObject();
				Workflow_stateXmlBean bean=new Workflow_stateXmlBean(pathState);
				List v=bean.findByWorkflow_id(nodeItem.getId());
				outputToServlet.writeObject(v);
			}
			
			//判断是否取得流转线
			if(obj.toString().equals("ShowLine")){
				String pathState=inputFromApplet.readObject().toString();
				String pathLine=inputFromApplet.readObject().toString();
				com.vere.item.MenuItem nodeItem=(com.vere.item.MenuItem)inputFromApplet.readObject();
				Workflow_lineXmlBean bean=new Workflow_lineXmlBean(pathLine);
				FlowLineList vLine=(FlowLineList) bean.findByWorkFlow_id(nodeItem.getId(),pathState);
				outputToServlet.writeObject(vLine);
			}
			
			////状态移动,向数据库里面存状态信息
			if(obj.toString().equals("isStateMove")){
				String pathState=inputFromApplet.readObject().toString();
				Workflow_stateItem item=(Workflow_stateItem)inputFromApplet.readObject();
				Workflow_stateXmlBean bean=new Workflow_stateXmlBean(pathState);
				boolean b=bean.UpdateMoveItem(item);
				if(b)
					outputToServlet.writeObject("success");
			}
			
			//结束流转线发送
			if(obj.toString().equals("isAddFlowLine")){
				String pathLine=inputFromApplet.readObject().toString();
				Workflow_lineItem item=(Workflow_lineItem)inputFromApplet.readObject();
				Workflow_lineXmlBean bean=new Workflow_lineXmlBean(pathLine);
				int id=bean.AddItemMaxId(item);
				if(id>0)
					outputToServlet.writeObject(Integer.toString(id));
			}
			
			//删除状态
			if(obj.toString().equals("removeState")){
				String pathState=inputFromApplet.readObject().toString();
				String stateId=inputFromApplet.readObject().toString();
				Workflow_stateXmlBean bean=new Workflow_stateXmlBean(pathState);
				boolean b=bean.removeItem(stateId);
				if(b)
					outputToServlet.writeObject("success");
			}
			
			//删除跟状态相关联的流转线
			if(obj.toString().equals("removeStateLine")){
				String pathLine=inputFromApplet.readObject().toString();
				String stateId=inputFromApplet.readObject().toString();
				Workflow_lineXmlBean lineXmlBean =new Workflow_lineXmlBean(pathLine);
				boolean b=lineXmlBean.removeBySendidorReceiveid(stateId);
				if(b)
					outputToServlet.writeObject("success");
			}
			
			//删除流转线
			if(obj.toString().equals("removeLine")){
				String pathLine=inputFromApplet.readObject().toString();
				String sendid=inputFromApplet.readObject().toString();
				String receiveid=inputFromApplet.readObject().toString();
				Workflow_lineXmlBean bean=new Workflow_lineXmlBean(pathLine);
				boolean b=bean.removeItem(sendid,receiveid);
				if(b)
					outputToServlet.writeObject("success");
			}
			
			//创建一个流转状态
			if(obj.toString().equals("addState")){
				String pathState=inputFromApplet.readObject().toString();
				Workflow_stateItem item=(Workflow_stateItem)inputFromApplet.readObject();
				Workflow_stateXmlBean bean=new Workflow_stateXmlBean(pathState);
				int id=bean.addItemAndMaxId(item);
				if(id>0)
					outputToServlet.writeObject(Integer.toString(id));
			}
			
			//取得一个流转状态
			if(obj.toString().equals("getState")){
				String pathState=inputFromApplet.readObject().toString();
				String stateId=inputFromApplet.readObject().toString();
				Workflow_stateXmlBean bean=new Workflow_stateXmlBean(pathState);
				Workflow_stateItem stateItem=bean.find(stateId);
				if(stateItem!=null)
					outputToServlet.writeObject(stateItem);
			}
			
			//修改一个流转状态
			if(obj.toString().equals("editState")){
				String pathState=inputFromApplet.readObject().toString();
				Workflow_stateItem item=(Workflow_stateItem)inputFromApplet.readObject();
				Workflow_stateXmlBean bean=new Workflow_stateXmlBean(pathState);
				boolean b=bean.updateItem(item);
				if(b)
					outputToServlet.writeObject("success");
			}
			
			//设置流转状态的权限功能
			if(obj.toString().equals("setfunction")){
				String pathState=inputFromApplet.readObject().toString();
				String stateId=inputFromApplet.readObject().toString();
				String funct_ids=inputFromApplet.readObject().toString();
				Workflow_stateXmlBean bean=new Workflow_stateXmlBean(pathState);
				boolean b=bean.updateFunc(funct_ids,stateId);
				if(b)
					outputToServlet.writeObject("success");
			}
			//取得流程的功能
			if(obj.toString().equals("getfunction")){
				String workflow_id=inputFromApplet.readObject().toString();
				Workflow_categoryBean workflow_categoryBean=new Workflow_categoryBean();
				Workflow_categoryItem workflow_categoryItem=workflow_categoryBean.findByWorkflow_id(workflow_id);
				if(workflow_categoryItem!=null)
					outputToServlet.writeObject(workflow_categoryItem);
			}
            inputFromApplet.close();
            outputToServlet.flush();
            outputToServlet.close();
          }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }           
	  
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?