package com.cabletech.business.wplan.plan.action;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.lang.StringUtils;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import com.cabletech.baseinfo.business.entity.UserInfo;
import com.cabletech.business.workflow.common.model.CommonWorkflowResult;
import com.cabletech.business.wplan.plan.model.PatrolApprove;
import com.cabletech.business.wplan.plan.model.PatrolTemplate;
import com.cabletech.business.wplan.plan.service.PatrolApproveService;
import com.cabletech.business.wplan.plan.service.PatrolTemplateService;
import com.cabletech.business.wplan.plan.service.PatrolWorkflowService;
import com.cabletech.business.wplan.plan.service.PatrolinfoService;
import com.cabletech.common.base.SysConstant;
/**
* 巡检计划审批
*
* @author zhaobi
* @author 杨隽 2012-05-17 去除无用的导入、局部变量和类成员
*
*/
@Namespace("/wplan")
@Results({
@Result(name = "input", location = "/wplan/plan/patrolinfo_audit_input.jsp"),
@Result(name = "show_audit_history_list", location = "/wplan/plan/patrolinfo_audithistory_list.jsp") })
@Action("/patrolinfoApproveAction")
public class PatrolinfoApproveAction extends
PatrolinfoBaseAction<PatrolApprove, String> {
/**
* 审批历史列表跳转页面名称
*/
private static final String SHOW_AUDIT_HISTORY_LIST = "show_audit_history_list";
/**
* 巡检计划审批信息
*/
private PatrolApprove patrolapprove = new PatrolApprove();
/**
* 巡检计划信息服务
*/
@Resource(name = "patrolinfoServiceImpl")
private PatrolinfoService patrolinfoService;
/**
* 巡检计划审批服务
*/
@Resource(name = "patrolApproveServiceImpl")
private PatrolApproveService patrolApproveService;
/**
* 巡检工作流服务
*/
@Resource(name = "patrolWorkflowService")
private PatrolWorkflowService patrolWorkflowService;
/**
* 计划模板服务
*/
@Resource(name = "patrolTemplateServiceImpl")
private PatrolTemplateService patrolTemplateService;
/*
* (non-Javadoc)
*
* @see com.cabletech.common.base.BaseAction#input()
*/
@Override
public String input() {
try {
// 计划ID
String planid = this.getRequest().getParameter("planid");
// 专业类型
String businessType = this.getRequest().getParameter("type");
String taskid = this.getRequest().getParameter("taskid");
UserInfo user = super.getUser();
// 编辑
if (StringUtils.isNotBlank(planid)) {
Map<String, Object> patrolinfo = patrolinfoService.view(planid);
// 增加taskID
patrolinfo.put("TASKID", taskid);
PatrolTemplate template = patrolTemplateService.get(planid);
if (template != null) {
patrolinfo.put("TEMPLATEID", template.getTemplateid());
}
this.getRequest().setAttribute("patrolinfoMap", patrolinfo);
businessType = patrolinfo.get("BUSINESS_TYPE").toString();
}
// 设置界面Tag
this.setViewTag(businessType, user.getRegionId());
return INPUT;
} catch (Exception e) {
logger.error("执行计划审批页面出错:", e);
return ERROR;
}
}
/**
* 故障回单审核操作
*
* @return
*/
public String audit() {
try {
UserInfo userInfo = this.getUser();
// 专业类型
// 计划ID
String business_type = this.getRequest().getParameter("type");
patrolApproveService.audit(patrolapprove, userInfo);
super.addMessage("提示:计划审核成功!", WAIT_HANDLED_PAGE_URL
+ business_type, SysConstant.SUCCESS);
return SUCCESS;
} catch (Exception e) {
logger.error("执行计划审批页面出错:" + e.getMessage());
return ERROR;
}
}
/**
* 故障回单审核历史信息查看操作
*
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public String showAuditHistoryList() {
try {
String planid = this.getRequest().getParameter("planid");
Map<String, List<CommonWorkflowResult>> map = patrolWorkflowService
.getProcessHistoryList(planid);
super.sessionManager.put("PATROLINFO_AUDIT_HISTORY_MAP", map);
return SHOW_AUDIT_HISTORY_LIST;
} catch (Exception e) {
logger.error("执行计划审批历史页面出错:" + e.getMessage());
return ERROR;
}
}
@Override
public PatrolApprove getModel() {
return patrolapprove;
}
@Override
protected void prepareViewModel() throws Exception {
if (patrolapprove == null) {
patrolapprove = new PatrolApprove();
}
}
@Override
protected void prepareSaveModel() throws Exception {
// TODO Auto-generated method stub
}
}