package oa.action; import java.io.File; import java.util.Date; import java.util.List; import java.util.Set; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import oa.Utils.HqlHelper; import oa.domain.Application; import oa.domain.ApplicationTemplate; import oa.domain.ApproveInfo; import oa.domain.TaskView; import com.opensymphony.xwork2.ActionContext; @Controller @Scope("prototype") public class FlowAction extends BaseAction { private File upload; // 上传的文件 private String taskId; private Long applicationId; private Long applicationTemplateId; private String applicationStatus; private String comment; private boolean approval; private String outcome; // ================================== 申请人有关 /** 起草申请(模板列表) */ public String applicationTemplateList() throws Exception { List<ApplicationTemplate> applicationTemplateList = applicationTemplateService.findAll(); ActionContext.getContext().put("applicationTemplateList", applicationTemplateList); return "applicationTemplateList"; } /** 提交申请页面 */ public String submitUI() throws Exception { // ActionContext.getContext().getValueStack().push(applicationTemplateId); System.out.println(applicationTemplateId); return "submitUI"; } /** 提交申请 */ public String submit() throws Exception { // 封装申请信息 Application application = new Application(); application.setApplicant(getCurrentUser()); // 申请人,当前用户 application.setPath(saveUploadFile(upload)); // 保存上传的文件并设置路径 application.setApplicationTemplate(applicationTemplateService.findById(applicationTemplateId)); // 调用业务方法(保存申请信息,并启动流程开始流转) applicationService.submit(application); return "toMyApplicationList"; // 成功后转到"我的申请查询" } /** 我的申请查询 */ public String myApplicationList() throws Exception { new HqlHelper(Application.class,"a") .addCondition("a.applicant=?",getCurrentUser()) .addCondition(applicationTemplateId!=null, "a.applicationTemplate.id=?", applicationTemplateId) .addCondition(applicationStatus!=null&&applicationStatus.length()>0,"a.status=?", applicationStatus) .addOrder("a.applyTime", false) .buildPageBeanForStruts2(pageNum, applicationService); List<ApplicationTemplate> applicationTemplateList=applicationTemplateService.findAll(); ActionContext.getContext().put("applicationTemplateList", applicationTemplateList); return "myApplicationList"; } // ================================== 审批人有关 /** 待我审批(我的任务列表) */ public String myTaskList() throws Exception { List<TaskView> taskViewList = applicationService.getMyTaskViewList(getCurrentUser()); ActionContext.getContext().put("taskViewList", taskViewList); return "myTaskList"; } /** 审批处理页面 */ public String approveUI() throws Exception { Set<String> comes=applicationService.getComes(taskId); ActionContext.getContext().put("comes", comes); return "approveUI"; } /** 审批处理 */ public String approve() throws Exception { //封装 ApproveInfo approveInfo=new ApproveInfo(); approveInfo.setApplication(applicationService.findById(applicationId)); approveInfo.setApproval(approval); approveInfo.setApprover(getCurrentUser()); approveInfo.setApproveTime(new Date()); approveInfo.setComment(comment); //调用业务方法 applicationService.approval(approveInfo,taskId,outcome); return "toMyTaskList"; // 成功后转到待我审批页面 } /** 查看流转记录 */ public String approveHistory() throws Exception { Application application=applicationService.findById(applicationId); Set<ApproveInfo> approveinfos=application.getApproveInfos(); ActionContext.getContext().put("approveinfos", approveinfos); return "approveHistory"; } // -------- public Long getApplicationTemplateId() { return applicationTemplateId; } public void setApplicationTamplateId(Long applicationTemplateId) { this.applicationTemplateId = applicationTemplateId; } public File getUpload() { return upload; } public void setUpload(File upload) { this.upload = upload; } public Long getApplicationId() { return applicationId; } public void setApplicationId(Long applicationId) { this.applicationId = applicationId; } public void setApplicationTemplateId(Long applicationTemplateId) { this.applicationTemplateId = applicationTemplateId; } public String getTaskId() { return taskId; } public void setTaskId(String taskId) { this.taskId = taskId; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } public boolean isApproval() { return approval; } public void setApproval(boolean approval) { this.approval = approval; } public String getOutcome() { return outcome; } public void setOutcome(String outcome) { this.outcome = outcome; } public String getApplicationStatus() { return applicationStatus; } public void setApplicationStatus(String applicationStatus) { this.applicationStatus = applicationStatus; } }
最近下载更多
lironggang LV38
2023年11月30日
朱俪的邮件及存储 LV8
2023年1月28日
微信网友_6115804675756032 LV7
2022年12月3日
wanglinddad LV55
2022年3月9日
and123456 LV11
2022年2月19日
xiaohe229 LV8
2021年8月9日
Demo1111 LV30
2021年3月15日
有糖吃的面面 LV3
2021年2月25日
aaa5849310 LV25
2020年9月4日
ASDZXZCDGSDFHUJD LV9
2020年5月13日
最近浏览更多
zuizhonghuanxiang16
7月2日
暂无贡献等级
1941549176 LV4
4月29日
m5433661 LV2
3月28日
123456wadff LV3
1月15日
lironggang LV38
2023年11月30日
2036495585 LV9
2023年9月25日
微信网友_6472019461951488
2023年5月12日
暂无贡献等级
微信网友_6467077197238272 LV1
2023年5月8日
uni-code_0123 LV1
2023年3月31日
朱俪的邮件及存储 LV8
2023年1月15日