📄 documentaction.java
字号:
package com.bjsxt.oa.web.actions;
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.managers.DocumentManager;
import com.bjsxt.oa.managers.WorkflowManager;
import com.bjsxt.oa.model.ApproveInfo;
import com.bjsxt.oa.model.Document;
import com.bjsxt.oa.web.forms.DocumentActionForm;
public class DocumentAction extends BaseAction {
private DocumentManager documentManager;
private 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");
}
//下载公文附件
public ActionForward download(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
int documentId = ((DocumentActionForm)form).getId();
response.reset();
response.setContentType("application/x-download;charset=GBK");
response.setHeader("Content-Disposition","attachment;filename=temp.doc");
response.getOutputStream().write(documentManager.findDocument(documentId).getAttachment());
response.getOutputStream().flush();
response.getOutputStream().close();
return null;
}
//查看公文审批历史
public ActionForward approveHistory(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
request.setAttribute("historys", documentManager.searchApproveHistory(daf.getId()));
//转向audit_history.jsp
return mapping.findForward("approve_history");
}
//已审核的公文列表
public ActionForward processedDocuments(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
request.setAttribute("pm", documentManager.searchProcessedDocuments(currentUser(request).getId()));
//转向processed_documents.jsp
return mapping.findForward("processed_document");
}
//待审核公文列表
public ActionForward processingDocuments(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
request.setAttribute("documents", documentManager.searchProcessingDocuments(currentUser(request).getId()));
//转向processing_documents.jsp
return mapping.findForward("processing_document");
}
//添加公文之前,先选择流程
public ActionForward selectFlow(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
request.setAttribute("flows", workflowManager.searchAllProcessDefinition());
return mapping.findForward("select_flow");
}
//根据某个流程的信息打开添加公文的界面
public ActionForward addInput(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
//TODO 根据流程,获取模板的信息
String flow = daf.getWorkflow(); //流程名称!
return mapping.findForward("add_input");
}
//添加公文操作
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.getAttachment() != null){
document.setAttachment(daf.getAttachment().getFileData());
}
documentManager.addDocument(document,currentUser(request).getId());
return mapping.findForward("pub_add_success");
}
//删除公文操作
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");
}
//打开审批界面
public ActionForward approveInput(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
int documentId = daf.getId();
int approverId = currentUser(request).getId();
ApproveInfo info = documentManager.findApproveInfo(documentId, approverId);
request.setAttribute("info", info);
return mapping.findForward("approve_input");
}
//执行审批操作
public ActionForward approve(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
int documentId = daf.getId();
int approverId = currentUser(request).getId();
String approveInfo = daf.getApproveInfo();
documentManager.addOrUpdateApproveInfo(documentId, approverId, approveInfo);
return mapping.findForward("pub_update_success");
}
//打开提交界面,即选择下一步流向!
public ActionForward submitInput(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
request.setAttribute("steps", workflowManager.searchNextSteps(daf.getId()));
return mapping.findForward("select_transition");
}
//执行提交操作!
public ActionForward submit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DocumentActionForm daf = (DocumentActionForm)form;
int documentId = daf.getId();
int userId = currentUser(request).getId();
String transitionName = daf.getTransitionName();
documentManager.submitToWorkflow(documentId, userId, transitionName);
return mapping.findForward("pub_update_success");
}
public void setDocumentManager(DocumentManager documentManager) {
this.documentManager = documentManager;
}
public void setWorkflowManager(WorkflowManager workflowManager) {
this.workflowManager = workflowManager;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -