package com.bjsxt.oa.web.actions;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.bjsxt.oa.manager.DocumentManager;
import com.bjsxt.oa.manager.FormManager;
import com.bjsxt.oa.manager.JbpmDelegate;
import com.bjsxt.oa.manager.WorkflowManager;
import com.bjsxt.oa.model.ApproveInfo;
import com.bjsxt.oa.model.Document;
import com.bjsxt.oa.model.DocumentProperty;
import com.bjsxt.oa.model.FlowForm;
import com.bjsxt.oa.model.FormField;
import com.bjsxt.oa.web.PropertyConverter;
import com.bjsxt.oa.web.forms.DocumentActionForm;
public class DocumentAction extends BaseAction {
private DocumentManager documentManager;
private JbpmDelegate jbpmDelegate;
private WorkflowManager workflowManager;
private FormManager formManager;
public void setDocumentManager(DocumentManager documentManager) {
this.documentManager = documentManager;
}
public void setJbpmDelegate(JbpmDelegate jbpmDelegate) {
this.jbpmDelegate = jbpmDelegate;
}
public void setWorkflowManager(WorkflowManager workflowManager) {
this.workflowManager = workflowManager;
}
//公文管理主界面,显示我的公文列表
@Override
protected ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
request.setAttribute("pm", documentManager.searchMyDocuments(currentUser(request).getId()));
return mapping.findForward("index");
}
/**
* 已审公文列表,显示由当前登录人员审核的公文列表
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward approvedList(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
request.setAttribute("pm", documentManager.searchApprovedDocuments(currentUser(request).getId()));
return mapping.findForward("approved_list");
}
/**
* 待审公文列表,显示等待当前登录人员审核的公文列表
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward approvingList(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
request.setAttribute("documents", documentManager.searchApprovingDocuments(currentUser(request).getId()));
return mapping.findForward("approving_list");
}
/**
* 在待审公文列表上,针对某个文档,可以点击打开审批界面,对此文档进行审批
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward approveInput(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
return mapping.findForward("approve_input");
}
/**
* 用户输入审批信息之后,点击保存,对文档进行审批操作
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward approve(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
String comment = daf.getApproveInfo();
int documentId = daf.getId();
int approverId = currentUser(request).getId();
ApproveInfo approveInfo = new ApproveInfo();
approveInfo.setApproveTime(new Date());
approveInfo.setComment(comment);
documentManager.addApproveInfo(approveInfo, documentId, approverId);
return mapping.findForward("pub_add_success");
}
/**
* 在我的公文或待审公文列表上,点击提交,可打开提交的选择界面
* 在这个界面上,列出下一步所有可选的步骤,用户可以选择其中一个
* 步骤进行提交操作。系统将按照用户的选择转移到下一个节点
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward submitInput(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
Document doc = documentManager.findDocument(daf.getId());
List transitions = jbpmDelegate.searchNextTransitions(doc.getProcessInstanceId(), currentUser(request).getUsername());
request.setAttribute("steps", transitions);
return mapping.findForward("submit_input");
}
/**
* 用户选择了其中一个步骤,点击提交
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward submit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
documentManager.submitToWorkflow(currentUser(request).getId(), daf.getId(), daf.getTransitionName());
return mapping.findForward("pub_add_success");
}
/**
* 查看公文的审批历史
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward approvedHistory(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
request.setAttribute("historys", documentManager.searchApproveInfos(daf.getId()));
return mapping.findForward("approve_history");
}
public ActionForward del(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
documentManager.delDocument(daf.getId());
return mapping.findForward("pub_del_success");
}
/**
* 点击添加公文的时候,需要选择相应的流程,此界面列出所有的流程以供选择
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward selectFlow(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
request.setAttribute("workflows", workflowManager.searchAllWorkflows());
return mapping.findForward("select_flow");
}
/**
* 选择了流程之后(即点击流程名称),需要打开公文录入界面
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward addInput(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
return mapping.findForward("add_input");
}
/**
* 添加公文的操作
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
Document document = new Document();
BeanUtils.copyProperties(document, daf);
if(daf.getContentFile() != null){
document.setContent(daf.getContentFile().getFileData());
}
document.setProps(null);
//转换HashMap的数据到Document对象的属性中
if(!daf.getProps().isEmpty()){
//根据流程标识获得流程对应的表单定义
FlowForm flowForm = formManager.findForm(daf.getWorkflowId());
if(flowForm != null){
Map documentProps = new HashMap();
//表单域定义
Set fields = flowForm.getFields();
for (I
没有合适的资源?快使用搜索试试~ 我知道了~
企业办公自动化OA系统.rar
共2666个文件
class:651个
java:651个
xml:415个
需积分: 9 18 下载量 97 浏览量
2009-05-15
18:39:10
上传
评论
收藏 3.23MB RAR 举报
温馨提示
企业办公自动化OA系统.rar OKOKOK!
资源推荐
资源详情
资源评论
收起资源包目录
企业办公自动化OA系统.rar (2666个子文件)
DocumentAction.class 8KB
DocumentAction.class 8KB
InitSystemDatasImpl.class 7KB
InitSystemDatasImpl.class 7KB
InitSystemDatasImpl.class 7KB
InitSystemDatasImpl.class 7KB
InitSystemDatasImpl.class 7KB
InitSystemDatasImpl.class 7KB
InitSystemDatasImpl.class 7KB
InitSystemDatasImpl.class 7KB
InitSystemDatasImpl.class 7KB
InitSystemDatasImpl.class 7KB
DocumentAction.class 6KB
DocumentAction.class 6KB
DocumentAction.class 6KB
AclManagerImpl.class 6KB
AclManagerImpl.class 6KB
AclManagerImpl.class 6KB
AclManagerImpl.class 6KB
AclManagerImpl.class 6KB
AclManagerImpl.class 6KB
AclManagerImpl.class 6KB
JbpmDelegateImpl.class 6KB
AclManagerImpl.class 6KB
JbpmDelegateImpl.class 5KB
JbpmDelegateImpl.class 5KB
JbpmDelegateImpl.class 5KB
JbpmDelegateImpl.class 5KB
JbpmDelegateImpl.class 5KB
AclManagerImpl.class 5KB
AclManagerImpl.class 5KB
FlowFormAction.class 5KB
FlowFormAction.class 5KB
FlowFormAction.class 5KB
FlowFormAction.class 5KB
DocumentManagerImpl.class 5KB
DocumentManagerImpl.class 5KB
DocumentManagerImpl.class 5KB
DocumentManagerImpl.class 5KB
DocumentManagerImpl.class 5KB
UserManagerImpl.class 5KB
UserAction.class 4KB
UserAction.class 4KB
UserAction.class 4KB
UserAction.class 4KB
UserAction.class 4KB
UserAction.class 4KB
UserAction.class 4KB
UserAction.class 4KB
UserAction.class 4KB
UserManagerImpl.class 4KB
UserManagerImpl.class 4KB
UserManagerImpl.class 4KB
UserManagerImpl.class 4KB
UserManagerImpl.class 4KB
UserManagerImpl.class 4KB
UserManagerImpl.class 4KB
UserManagerImpl.class 4KB
UserManagerImpl.class 4KB
OrgManagerImpl.class 4KB
FormManagerImpl.class 4KB
FormManagerImpl.class 4KB
FormManagerImpl.class 4KB
FormManagerImpl.class 4KB
WorkflowAction.class 4KB
WorkflowAction.class 4KB
WorkflowAction.class 4KB
WorkflowAction.class 4KB
WorkflowAction.class 4KB
WorkflowAction.class 4KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
OrgAction.class 3KB
OrgAction.class 3KB
OrgAction.class 3KB
OrgAction.class 3KB
OrgAction.class 3KB
OrgAction.class 3KB
OrgAction.class 3KB
OrgAction.class 3KB
OrgAction.class 3KB
OrgAction.class 3KB
OrgAction.class 3KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
OrgManagerImpl.class 3KB
AbstractManager.class 3KB
AbstractManager.class 3KB
AbstractManager.class 3KB
AbstractManager.class 3KB
AbstractManager.class 3KB
AbstractManager.class 3KB
共 2666 条
- 1
- 2
- 3
- 4
- 5
- 6
- 27
资源评论
春宇大数据
- 粉丝: 17
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功