oa_document_send_workflow.jsp

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

JSP
321
字号
<%@ include file="../../include/configuration.jsp"%>
<%@ page import="com.vere.oa.document.bean.*"%>
<%@ page import="com.vere.oa.document.item.*"%>
<%@ page import="com.vere.oa.waitaffair.xml.*"%>
<%@ page import="com.vere.oa.waitaffair.item.*"%>
<%@ page contentType="text/html; charset=gb2312" %>
<%
    ParameterUtils.setCharacterEncoding(request);
    String status=ParameterUtils.getString(request,"status");
	String id=ParameterUtils.getString(request,"id");
	//当前公文
	Oa_document_sendBean document_sendBean=new Oa_document_sendBean();
	Oa_document_sendItem document_sendItem=document_sendBean.find(id);
	
	//判断是基于用户审批,还是部门审批
	//if(document_sendItem.getApproval_type().equals("0"))
	//{
		//判断审批方式,只要一个人审批流转,还是全部审批流转
		if(document_sendItem.getAppraisal_method().equals("1"))
		{
			//判断是全部用户,还是选择用户(通过要审批的用户和已经审批的用户组合成字符串比较他们的长度)
			if(document_sendItem.getApproval_user().equals("all_users"))
			{
				//所有用户
				Manager_usersBean usersBean=new Manager_usersBean();
				List usersList=usersBean.find();
				String users="";
				Manager_usersItem usersItem=null;
				for(int i=0;i<usersList.size()-1;i++)
				{
					usersItem=(Manager_usersItem)usersList.get(i);
					users+=usersItem.getUsername()+",";
				}
				usersItem=(Manager_usersItem)usersList.get(usersList.size()-1);
				users+=usersItem.getUsername();
				//已经审批的用户
				Oa_document_send_verifyrecordItem document_send_verifyrecordItem=new Oa_document_send_verifyrecordItem();
				document_send_verifyrecordItem.setDocument_send_id(id);
				document_send_verifyrecordItem.setWorkflow_state_id(document_sendItem.getWorkflow_state_id());
				Oa_document_send_verifyrecordBean document_send_verifyrecordBean=new Oa_document_send_verifyrecordBean();
				List document_send_verifyrecordList=document_send_verifyrecordBean.find(document_send_verifyrecordItem);
				String verifyUsersAready="";
				for(int i=0;i<document_send_verifyrecordList.size()-1;i++)
				{
					document_send_verifyrecordItem =(Oa_document_send_verifyrecordItem)document_send_verifyrecordList.get(i);
					verifyUsersAready+=document_send_verifyrecordItem.getAppraisal_user()+",";
				}
				if(document_send_verifyrecordList.size()>0)
				{
					document_send_verifyrecordItem=(Oa_document_send_verifyrecordItem)document_send_verifyrecordList.get(document_send_verifyrecordList.size()-1);
					verifyUsersAready+=document_send_verifyrecordItem.getAppraisal_user();
				}
				if(verifyUsersAready==""||users.trim().length()!=verifyUsersAready.trim().length())//判断是否全部审批,审批不能为空
				{
					out.println("<script>");
					out.println("alert('还有人没有审批,暂时不能流转!');");
					out.println("window.close();");
					out.println("</script>");
					return;
				}
			}
			else
			{
				//已经审批的用户
				Oa_document_send_verifyrecordItem document_send_verifyrecordItem=new Oa_document_send_verifyrecordItem();
				document_send_verifyrecordItem.setDocument_send_id(id);
				document_send_verifyrecordItem.setWorkflow_state_id(document_sendItem.getWorkflow_state_id());
				Oa_document_send_verifyrecordBean document_send_verifyrecordBean=new Oa_document_send_verifyrecordBean();
				List document_send_verifyrecordList=document_send_verifyrecordBean.find(document_send_verifyrecordItem);
				String verifyUsersAready="";
				for(int i=0;i<document_send_verifyrecordList.size()-1;i++)
				{
					document_send_verifyrecordItem =(Oa_document_send_verifyrecordItem)document_send_verifyrecordList.get(i);
					verifyUsersAready+=document_send_verifyrecordItem.getAppraisal_user()+",";
				}
				if(document_send_verifyrecordList.size()>0)
				{
					document_send_verifyrecordItem=(Oa_document_send_verifyrecordItem)document_send_verifyrecordList.get(document_send_verifyrecordList.size()-1);
					verifyUsersAready+=document_send_verifyrecordItem.getAppraisal_user();
				}
				if(verifyUsersAready==""||document_sendItem.getApproval_user().trim().length()!=verifyUsersAready.trim().length())
				{
					out.println("<script>");
					out.println("alert('还有人没有审批,暂时不能流转!');");
					out.println("window.close();");
					out.println("</script>");
					return;
				}
			}
		}
		else//判断审批方式,只要一个人审批流转
		{
			//已经审批的用户
				Oa_document_send_verifyrecordItem document_send_verifyrecordItem=new Oa_document_send_verifyrecordItem();
				document_send_verifyrecordItem.setDocument_send_id(id);
				document_send_verifyrecordItem.setWorkflow_state_id(document_sendItem.getWorkflow_state_id());
				Oa_document_send_verifyrecordBean document_send_verifyrecordBean=new Oa_document_send_verifyrecordBean();
				List document_send_verifyrecordList=document_send_verifyrecordBean.find(document_send_verifyrecordItem);
				if(document_send_verifyrecordList.size()<1)
				{
					out.println("<script>");
					out.println("alert('没有审批,暂时不能流转!');");
					out.println("window.close();");
					out.println("</script>");
					return;
				}
		}
	//}
	
	String pathState=Configuration.getInstance().xmlUpload+"/oa_document_send_xml/workflow_state"+id+".xml";
   	String pathLine=Configuration.getInstance().xmlUpload+"/oa_document_send_xml/workflow_line"+id+".xml";
    if(status.equals("flow"))
    {
		//要发流转到的状态
        String receiveid=ParameterUtils.getString(request,"receiveid");
	    Workflow_stateXmlBean stateXmlBean =new Workflow_stateXmlBean(pathState);
	    Workflow_stateItem stateXmlItem=stateXmlBean.loadXMLById(receiveid);
		
		Oa_document_sendItem sendItem=new Oa_document_sendItem();
		sendItem.setId(id);
	    sendItem.setWorkflow_state_id(stateXmlItem.getId());
		sendItem.setWorkflow_state_name(stateXmlItem.getName());
		sendItem.setApproval_type(stateXmlItem.getApproval_type());
		sendItem.setAppraisal_method(stateXmlItem.getAppraisal_method());
		sendItem.setApproval_user(stateXmlItem.getApproval_user());
		sendItem.setApproval_name(stateXmlItem.getApproval_name());
		sendItem.setApproval_departmentid(stateXmlItem.getApproval_departmentid());
		sendItem.setApproval_department(stateXmlItem.getApproval_department());
		sendItem.setReceive_user(stateXmlItem.getReceive_user());
		sendItem.setReceive_name(stateXmlItem.getReceive_name());
		sendItem.setFunc_id(stateXmlItem.getFunc_id());
		
		boolean b=document_sendBean.updateWorkflowState(sendItem);
		
		//添加流转记录
		String workflow_id=document_sendItem.getWorkflow_id();//流程
		String document_send_id=document_sendItem.getId();//文件编号
		SessionFactory sessionFactory=(SessionFactory)session.getAttribute("sessionFactory");
	    Manager_usersItem usersItem=sessionFactory.getManager_usersItem();
		String workflow_user=usersItem.getUsername();//流转用户
		String workflow_name=usersItem.getName();//流转人
		String workflow_time=DateUtils.getDateTime();//流转时间
		String start_state_id=document_sendItem.getWorkflow_state_id();//开始状态编号
		String start_state_name=document_sendItem.getWorkflow_state_name();//开始流程状态
		String end_state_id=stateXmlItem.getId();//结束状态编号
		String end_state_name=stateXmlItem.getName();//结束流程状态
		String fileExt=ParameterUtils.getString(request,"fileExt");//参考附件
		Oa_document_send_flowrecordItem document_send_flowrecordItem=new Oa_document_send_flowrecordItem();
		document_send_flowrecordItem.setWorkflow_id(workflow_id);
		document_send_flowrecordItem.setDocument_send_id(document_send_id);
		document_send_flowrecordItem.setWorkflow_user(workflow_user);
		document_send_flowrecordItem.setWorkflow_name(workflow_name);
		document_send_flowrecordItem.setWorkflow_time(workflow_time);
		document_send_flowrecordItem.setStart_state_id(start_state_id);
		document_send_flowrecordItem.setStart_state_name(start_state_name);
		document_send_flowrecordItem.setEnd_state_id(end_state_id);
		document_send_flowrecordItem.setEnd_state_name(end_state_name);
		document_send_flowrecordItem.setFileExt(fileExt);
		Oa_document_send_flowrecordBean document_send_flowrecordBean=new Oa_document_send_flowrecordBean();
		b=document_send_flowrecordBean.addItem(document_send_flowrecordItem);
		
		
		String is_tips=ParameterUtils.getString(request,"is_tips");
		//消息提醒
		if(is_tips.equals("1"))
		{
			Oa_dictionaryBean oa_dictionaryBean=new Oa_dictionaryBean();
			Oa_dictionaryItem oa_dictionaryItem=oa_dictionaryBean.findByNumAndCode("7","1");
			String waitaffair_type="1";//事宜类别
			String title=oa_dictionaryItem.getCode_name();//标题
			String send_user=usersItem.getUsername();//发送用户
			String send_name=usersItem.getName();//发送人
			Manager_usersBean manager_usersBean=new Manager_usersBean();
			List manager_usersList=manager_usersBean.findByUsernames(stateXmlItem.getApproval_user());
			String receive_user="";//接收用户
			String receive_name="";//接收人
			String receive_ip="";//接收人ip地址
			String send_time=DateUtils.getDateTime();//发送日期
			String waitaffair_status="1";//状态
			String read_user="";//阅读用户
			String read_name="";//阅读人
			String read_time="";//阅读日期
			String url="oa_document/oa_document_sendlook.jsp?id="+id;//连接地址
			Manager_usersItem manager_usersItem=null;
			ArrayList oa_waitaffairList=new ArrayList();
			for(int i=0;i<manager_usersList.size();i++)
			{
				manager_usersItem=(Manager_usersItem)manager_usersList.get(i);
				receive_user=manager_usersItem.getUsername();
				receive_name=manager_usersItem.getName();
				receive_ip=manager_usersItem.getIp();
				
				Oa_waitaffairItem oa_waitaffairItem=new Oa_waitaffairItem();
				oa_waitaffairItem.setWaitaffair_type(waitaffair_type);
				oa_waitaffairItem.setTitle(title);
				oa_waitaffairItem.setSend_user(send_user);
				oa_waitaffairItem.setSend_name(send_name);
				oa_waitaffairItem.setReceive_user(receive_user);
				oa_waitaffairItem.setReceive_name(receive_name);
				oa_waitaffairItem.setReceive_ip(receive_ip);
				oa_waitaffairItem.setSend_time(send_time);
				oa_waitaffairItem.setWaitaffair_status(waitaffair_status);
				oa_waitaffairItem.setRead_user(read_user);
				oa_waitaffairItem.setRead_name(read_name);
				oa_waitaffairItem.setRead_time(read_time);
				oa_waitaffairItem.setUrl(url);
				oa_waitaffairList.add(oa_waitaffairItem);
			}
			
			
			Oa_waitaffairXmlBean oa_waitaffairXmlBean=new Oa_waitaffairXmlBean();
			oa_waitaffairXmlBean.AddXML(oa_waitaffairList);
		}
		
		if(b)
		{
			out.println("<script>");
			out.println("window.opener.location.reload();");
			out.println("window.close();");
			out.println("</script>");
			return;
		}
    }
	
	//取得工作流的流转线
	  Workflow_lineXmlBean lineXmlBean=new Workflow_lineXmlBean(pathLine);
	  List lineXmlList=lineXmlBean.findBySendid(document_sendItem.getWorkflow_state_id());

	 //取得要流转的状态
	   Workflow_stateXmlBean stateXmlBean =new Workflow_stateXmlBean(pathState);
	   List stateXmlList=stateXmlBean.findByReceiveState(lineXmlList);
	   int count=stateXmlList.size();
%>
<html>
<head>
<title><%=titleName%></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="../../css/css.css" rel="stylesheet" type="text/css">
</head>
<script language="javascript">
	function winclose()
	{
		window.close();
	}

	function Check()
	{
		var form=form1;
		if(<%=count%><1) 
		{
			window.close();
			return;
		}
		form.status.value="flow";
		form.submit();
	}
</script>
<body>
<form action=""  method="post"  name="form1">
	<table width="100%" >
		<tr>
			<td align="center" valign="top">
				<table  class="font1" >
								<tr align="center" >
									<td colspan="2">									</td>
								</tr>
								<tr >
								  <td height="30" >&nbsp;</td>
								  <td >&nbsp;</td>
				  </tr>
								<tr >
									<td >当前状态:</td>
									<td ><%=document_sendItem.getWorkflow_state_name()%></td>
								</tr>
								<tr >
									<td >流转状态:</td>
									<td >
									<%
										for(int i=0;i<stateXmlList.size();i++)
										{
											Workflow_stateItem stateItem=(Workflow_stateItem)stateXmlList.get(i);
											if(i==0)
												out.println("<input type='radio' name='receiveid' value=" + stateItem.getId() + " checked>" + stateItem.getName());
											else
												out.println("<input type='radio' name='receiveid' value=" + stateItem.getId() + " >" + stateItem.getName());
										}
									%>
									</td>
								</tr>
								
								<tr >
									<td >提醒:</td>
									<td >
									<%
										for(int i=0;i<Constants.T_TIPS.length;i++)
										{
											if(i==1)
												out.println("<input type='radio' name='is_tips' value=" + i + " checked>" + Constants.T_TIPS[i]);
											else
												out.println("<input type='radio' name='is_tips' value=" + i + " >" + Constants.T_TIPS[i]);
										}
									%>
									</td>
								</tr>
								<tr >
								  <td colspan="2" align="center"><input name="Button" type="button" class="button" onClick="Check()" value="流转">
&nbsp;&nbsp;&nbsp;&nbsp;
<input name="Submit2" type="button" class="button" onClick="winclose()" value="关闭"></td>
				  </tr>
								<tr >
									<td height="30" colspan="2" align="center">&nbsp;</td>
								</tr>
							</table>
			</td>
		</tr>
	</table>
<input type="hidden" name="status" >
</form>
</body>
</html>

⌨️ 快捷键说明

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