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" > </td>
<td > </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="流转">
<input name="Submit2" type="button" class="button" onClick="winclose()" value="关闭"></td>
</tr>
<tr >
<td height="30" colspan="2" align="center"> </td>
</tr>
</table>
</td>
</tr>
</table>
<input type="hidden" name="status" >
</form>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?