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.commons.beanutils.ConvertUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import com.bjsxt.oa.managers.DocumentManager;
import com.bjsxt.oa.managers.FormManager;
import com.bjsxt.oa.managers.SystemException;
import com.bjsxt.oa.managers.WorkflowManager;
import com.bjsxt.oa.model.ApproveInfo;
import com.bjsxt.oa.model.Document;
import com.bjsxt.oa.model.DocumentProperty;
import com.bjsxt.oa.model.FieldType;
import com.bjsxt.oa.model.FlowForm;
import com.bjsxt.oa.model.FormField;
import com.bjsxt.oa.web.forms.DocumentActionForm;
public class DocumentAction extends BaseAction {
private DocumentManager documentManager;
private WorkflowManager workflowManager;
private FormManager formManager;
public void setDocumentManager(DocumentManager documentManager) {
this.documentManager = documentManager;
}
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 = workflowManager.searchNextTransitions(currentUser(request).getUsername(),doc.getProcessInstanceId());
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;
// workflowManager.flowToNextStep(
// currentUser(request).getUsername(),
// doc.getProcessInstanceId(),
// daf.getTransitionName());
//
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);
//处理Map的数据
//将ActionForm中的Map的数据,按照表单定义对应的类型来进行转换,并设置到document对象即可
if(daf.getProps().isEmpty()){
document.setProps(null);
}else{
int workflowId = daf.getWorkflowId();
//流程对应的表单定义
FlowForm flowForm = formManager.findForm(workflowId);
if(flowForm == null){
没有合适的资源?快使用搜索试试~ 我知道了~
J2EE-SSH整合的学生宿舍管理系统(完整的数据库课程设计),让你在短时间内对技术有一定的提高
共1108个文件
js:415个
gif:186个
java:94个
4星 · 超过85%的资源 需积分: 10 320 下载量 68 浏览量
2010-07-22
03:05:08
上传
评论 9
收藏 15MB RAR 举报
温馨提示
这是一个J2EE-SSH整合的学生宿舍管理系统(完整的数据库课程设计),采用现比较流行的一些技术(struts+hibernate+spring)
资源推荐
资源详情
资源评论
收起资源包目录
J2EE-SSH整合的学生宿舍管理系统(完整的数据库课程设计),让你在短时间内对技术有一定的提高 (1108个子文件)
DojoExternalInterface.as 9KB
DojoExternalInterface.as 7KB
Storage.as 4KB
ExpressInstall.as 3KB
DocumentAction.class 9KB
InitSystemDatasImpl.class 7KB
WorkflowManagerImpl.class 7KB
AclManagerImpl.class 6KB
FlowFormAction.class 5KB
MeetingRoomAction.class 5KB
DocumentManagerImpl.class 5KB
UserAction.class 4KB
UserManagerImpl.class 4KB
FormManagerImpl.class 4KB
MeetingRoomManagerImpl.class 4KB
WorkflowAction.class 3KB
MeetingRoomActionForm.class 3KB
AbstractManager.class 3KB
OrgTest3.class 3KB
ModuleAction.class 3KB
OrgTest4.class 3KB
OrgAction.class 3KB
AclAction.class 3KB
OrgManagerImpl.class 3KB
Document.class 3KB
SystemExceptionHandler.class 3KB
OrgTest2.class 3KB
DocumentActionForm.class 3KB
PersonActionTree.class 3KB
OrgActionTree.class 3KB
CopyPropertiesActionHandler.class 2KB
PersonAction.class 2KB
RoleAction.class 2KB
FlowFormActionForm.class 2KB
ModuleManagerImpl.class 2KB
OrgTest.class 2KB
UtilFunction.class 2KB
Person.class 2KB
ACL.class 2KB
FreemarkerTest.class 2KB
DynaFormFunction.class 2KB
FormField.class 2KB
PersonManagerImpl.class 2KB
UserActionForm.class 2KB
IndexAction.class 2KB
PersonActionForm.class 2KB
PagerFilter.class 2KB
LoginAction.class 2KB
MeetingRoomApply.class 2KB
Module.class 2KB
DojoFileStorageProvider.class 2KB
User.class 2KB
Organization.class 2KB
ApproveInfo.class 2KB
SystemException.class 2KB
OrgActionForm.class 2KB
OrgManagerTest.class 2KB
BaseAction.class 2KB
RoleManagerImpl.class 1KB
ModuleActionForm.class 1KB
MeetingRoomManagerTest.class 1KB
OrgTreeFunction.class 1KB
WorkflowActionForm.class 1KB
FlowForm.class 1KB
SystemContext.class 1KB
HibernateUtils.class 1KB
UsersRoles.class 1KB
OrgTest5.class 1KB
Workflow.class 1KB
FreemarkerManager.class 1KB
MeetingRoomApplyVO.class 1KB
MeetingRoom.class 1KB
DocumentProperty.class 1KB
UtilDateConverter.class 1KB
InitSystemDatasTest.class 1024B
FieldInput.class 930B
FieldType.class 915B
AclActionForm.class 826B
AutoArrayList.class 802B
SecurityFunctions.class 775B
RoleActionForm.class 775B
PagerModel.class 730B
FieldItem.class 728B
Role.class 718B
FormManager.class 716B
UtilDateConverterInitServlet.class 692B
DocumentManager.class 636B
WorkflowManager.class 635B
MeetingRoomManager.class 488B
AclManager.class 482B
UserManager.class 470B
Permission.class 431B
DWRTest.class 394B
PersonManager.class 357B
ModuleManager.class 342B
OrgManager.class 331B
RoleManager.class 322B
InitSystemDatas.class 188B
.classpath 5KB
oa.css 6KB
共 1108 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
「已注销」
- 粉丝: 19
- 资源: 125
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页