package cn.itcast.oa.view.action;
import java.io.File;
import java.util.Date;
import java.util.List;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import cn.itcast.oa.base.BaseAction;
import cn.itcast.oa.domain.Application;
import cn.itcast.oa.domain.ApplicationTemplate;
import cn.itcast.oa.domain.ApproveInfo;
import cn.itcast.oa.domain.TaskView;
import cn.itcast.oa.util.HqlHelper;
import com.opensymphony.xwork2.ActionContext;
@Controller
@Scope("prototype")
public class FlowAction extends BaseAction {
private File upload; // 上传的文件
private Long applicationTemplateId;
private Long applicationId;
private String taskId;
private String comment;
private boolean approval;
private String outcome;
private String applicationStatus;
// ================================== 申请人有关
/** 起草申请(模板列表) */
public String applicationTemplateList() throws Exception {
List<ApplicationTemplate> applicationTemplateList = applicationTemplateService.findAll();
ActionContext.getContext().put("applicationTemplateList", applicationTemplateList);
return "applicationTemplateList";
}
/** 提交申请页面 */
public String submitUI() throws Exception {
return "submitUI";
}
/** 提交申请 */
public String submit() throws Exception {
// 封装申请信息
Application application = new Application();
application.setApplicant(getCurrentUser()); // 申请人,当前用户
application.setPath(saveUploadFile(upload)); // 保存上传的文件并设置路径
application.setApplicationTemplate(applicationTemplateService.getById(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(StringUtils.isNotBlank(applicationStatus), "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> outcomes = applicationService.getOutcomesByTaskId(taskId);
ActionContext.getContext().put("outcomes", outcomes);
return "approveUI";
}
/** 审批处理 */
public String approve() throws Exception {
// 封装
ApproveInfo approveInfo = new ApproveInfo();
approveInfo.setComment(comment);
approveInfo.setApproval(approval);
approveInfo.setApplication(applicationService.getById(applicationId));
approveInfo.setApprover(getCurrentUser()); // 审批人,当前登录用户
approveInfo.setApproveTime(new Date()); // 当前时间
// 调用用业务方法(保存本次审批信息,并办理完任务,并维护申请的状态)
applicationService.approve(approveInfo, taskId, outcome);
return "toMyTaskList"; // 成功后转到待我审批页面
}
/** 查看流转记录 */
public String approveHistory() throws Exception {
Application application = applicationService.getById(applicationId);
ActionContext.getContext().put("approveInfos", application.getApproveInfos());
return "approveHistory";
}
// --------
public File getUpload() {
return upload;
}
public Long getApplicationTemplateId() {
return applicationTemplateId;
}
public void setApplicationTemplateId(Long applicationTemplateId) {
this.applicationTemplateId = applicationTemplateId;
}
public void setUpload(File upload) {
this.upload = upload;
}
public Long getApplicationId() {
return applicationId;
}
public void setApplicationId(Long applicationId) {
this.applicationId = applicationId;
}
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;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
用SSH写的办公OA系统
共1346个文件
gif:722个
js:185个
jar:67个
需积分: 2 7 下载量 142 浏览量
2016-11-11
11:11:05
上传
评论
收藏 29.43MB ZIP 举报
温馨提示
花了一个多月才完成,里面板块包括论坛,角色,部门,用户,权限,审批流转等,基本满足办公需求
资源推荐
资源详情
资源评论
收起资源包目录
用SSH写的办公OA系统 (1346个子文件)
config.ascx 5KB
class_upload.asp 10KB
io.asp 7KB
commands.asp 6KB
config.asp 6KB
connector.asp 2KB
upload.asp 2KB
basexml.asp 2KB
util.asp 1KB
connector.aspx 1KB
upload.aspx 1KB
install.bat 129B
image.cfc 46KB
ImageObject.cfc 12KB
cf5_upload.cfm 11KB
cf5_connector.cfm 10KB
cf_io.cfm 10KB
cf_commands.cfm 8KB
config.cfm 8KB
cf_util.cfm 4KB
cf_connector.cfm 3KB
cf_basexml.cfm 3KB
cf_upload.cfm 2KB
connector.cfm 1005B
upload.cfm 993B
connector.cgi 4KB
upload.cgi 3KB
UserAction.class 6KB
FlowAction.class 6KB
ApplicationServiceImpl.class 5KB
BaseDaoImpl.class 5KB
AnchorTag.class 4KB
User.class 4KB
ApplicationTemplateAction.class 4KB
TreeViewPractice.class 4KB
Installer.class 4KB
RoleAction.class 4KB
HqlHelper.class 4KB
ProcessDefinitionServiceImpl.class 3KB
DepartmentAction.class 3KB
ForumAction.class 3KB
TopicAction.class 3KB
ProcessDefinitionAction.class 3KB
BaseAction.class 3KB
ReplyServiceImpl.class 3KB
Application.class 3KB
TopicServiceImpl.class 3KB
Privilege.class 3KB
ForumManageAction.class 3KB
SpringTest.class 2KB
ForumServiceImpl.class 2KB
Forum.class 2KB
ReplyAction.class 2KB
Department.class 2KB
Topic.class 2KB
DepartmentUtils.class 2KB
InitServletContextListener.class 2KB
PageBean.class 2KB
CheckPrivilegeInterceptor.class 2KB
Role.class 2KB
Article.class 2KB
ApproveInfo.class 2KB
HqlHelperTest.class 2KB
ApplicationTemplate.class 2KB
DepartmentServiceImpl.class 1KB
TestService.class 1KB
ModelDrivenBaseAction.class 1KB
UserServiceImpl.class 1KB
ApplicationTemplateServiceImpl.class 1KB
PrivilegeServiceImpl.class 1KB
TestAction.class 987B
TaskView.class 978B
HomeAction.class 949B
BaseDao.class 818B
ApplicationService.class 719B
TopicService.class 598B
ReplyService.class 598B
RoleServiceImpl.class 574B
Reply.class 571B
DepartmentService.class 516B
Configuration.class 468B
ProcessDefinitionService.class 463B
PrivilegeService.class 452B
BaseDaoTest.class 424B
UserService.class 356B
ForumService.class 314B
ApplicationTemplateService.class 298B
RoleService.class 253B
.classpath 6KB
pageCommon.css 17KB
fck_editor.css 8KB
fck_editor.css 8KB
fck_editor.css 8KB
fck_dialog.css 6KB
fck_dialog.css 6KB
fck_dialog.css 6KB
forum.css 4KB
top.css 4KB
file.css 4KB
jquery.treeview.css 3KB
共 1346 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
心无距离
- 粉丝: 2
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功