package com.cabletech.business.analysis.action; import java.util.HashMap; 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.analysis.service.WorkOrderApprovePassedRateService; import com.cabletech.business.analysis.service.WorkOrderProcessInTimeRateService; import com.cabletech.business.analysis.service.WorkOrderProcessOverTimeRateService; import com.cabletech.business.analysis.service.WorkOrderProcessTimeLengthService; import com.cabletech.common.base.BaseAction; import com.cabletech.common.util.Page; /** * 工单质量指标统计 * * @author Administrator * */ @Namespace("/analysis") @Results({ @Result(name = "prossetimelyrate", location = "/analysis/workordertimelyrate_analysis.jsp"), @Result(name = "overtimerate", location = "/analysis/workorderovertimerate_analysis.jsp"), @Result(name = "processtime", location = "/analysis/workorderprocesstime_analysis.jsp"), @Result(name = "approvepass", location = "/analysis/workorderapprovepass_analysis.jsp") }) @Action("/workOrderAnalysisAction") public class WorkOrderAnalysisAction extends BaseAction<String, String> { private static final long serialVersionUID = 1L; /** * 工单处理及时率 */ private static final String SHOW_PROSSETIMELY_RATE = "prossetimelyrate"; /** * 超时工单统计 */ private static final String SHOW_OVERTIME_RATE = "overtimerate"; /** * 工单历时 */ private static final String SHOW_PROCESS_TIME= "processtime"; /** * 工单审批 */ private static final String SHOW_APPROVE_PASS= "approvepass"; /** * 工单处理及时率 */ @Resource(name = "workOrderProcessInTimeRateServiceImpl") private WorkOrderProcessInTimeRateService workOrderProcessInTimeRateService; /** * 超时工单统计 */ @Resource(name = "workOrderProcessOverTimeRateServiceImpl") private WorkOrderProcessOverTimeRateService workOrderProcessOverTimeRateService; /** * 工单历时统计 */ @Resource(name = "workOrderProcessTimeLengthServiceImpl") private WorkOrderProcessTimeLengthService workOrderProcessTimeLengthService; /** * 工单审核通过率统计 */ @Resource(name = "workOrderApprovePassedRateServiceImpl") private WorkOrderApprovePassedRateService workOrderApprovePassedRateService; @Override public String getModel() { // TODO Auto-generated method stub return null; } @Override protected void prepareViewModel() throws Exception { // TODO Auto-generated method stub } @Override protected void prepareSaveModel() throws Exception { // TODO Auto-generated method stub } /** * 工单质量指标统计列表 * @return */ @SuppressWarnings("rawtypes") public String test() { Map<String, String> map = new HashMap<String, String>(); UserInfo user = this.getUser(); Page page = super.initPage(); map.put("regionId", user.getRegionId()); // 工单处理及时率列表 workOrderProcessInTimeRateService .getWorkOrderProcessInTimeMainRateList(map); // 及时处理工单列表 workOrderProcessInTimeRateService.getInTimeWorkOrderList(map, page); // 超时处理工单列表 workOrderProcessInTimeRateService.getOverTimeWorkOrderList(map, page); // 超时工单统计列表 workOrderProcessOverTimeRateService .getWorkOrderProcessOverTimeMainRateList(map); // 工单历时统计列表 workOrderProcessTimeLengthService .getWorkOrderProcessMainTimeLengthList(map); // 工单审核通过率列表 workOrderApprovePassedRateService .getWorkOrderApprovePassedRateList(map); // 一次审核通过工单列表 workOrderApprovePassedRateService.getNTimesApprovePassedWorkOrderList( map, 1, page); // 二次审核通过工单列表 workOrderApprovePassedRateService.getNTimesApprovePassedWorkOrderList( map, 2, page); return null; } /** * 工单处理及时率页面 * @return */ public String prossetimelyrate(){ return SHOW_PROSSETIMELY_RATE; } /** * 工单处理及时率数据 */ public void prossetimelyratelist(){ Map<String, Object> data = new HashMap<String, Object>(); data.put("root", workOrderProcessInTimeRateService.getWorkOrderProcessInTimeMainRateList(getParameters())); convertObjToJson(data); } /** * 超时工单页面 * @return */ public String overtimerate(){ return SHOW_OVERTIME_RATE; } /** * 超时工单数据 */ public void overtimeratelist(){ Map<String, Object> data = new HashMap<String, Object>(); data.put("root", workOrderProcessOverTimeRateService.getWorkOrderProcessOverTimeMainRateList(getParameters())); convertObjToJson(data); } /** * 工单历时页面 * @return */ public String processtime(){ return SHOW_PROCESS_TIME; } /** * 工单历时数据 */ public void processtimelist(){ Map<String, Object> data = new HashMap<String, Object>(); data.put("root",workOrderProcessTimeLengthService.getWorkOrderProcessMainTimeLengthList(getParameters())); convertObjToJson(data); } /** * 工单审批通过率页面 * @return */ public String approvepass(){ return SHOW_APPROVE_PASS; } /** * 工单审批通过率数据 */ public void approvepasslist(){ Map<String, Object> data = new HashMap<String, Object>(); data.put("root",workOrderApprovePassedRateService.getWorkOrderApprovePassedRateList(getParameters())); convertObjToJson(data); } /** * 获取查询参数 */ public Map<String, String> getParameters() { Map<String, String> map = new HashMap<String, String>(); UserInfo user = this.getUser(); if (StringUtils.isNotBlank(this.getParameter("orgId"))) { map.put("orgId", this.getParameter("orgId")); } else { if (user.isContractor()) { map.put("orgId", user.getOrgId()); } } map.put("regionId", user.getRegionId()); map.put("startTime", this.getParameter("startTime")); map.put("endTime", this.getParameter("endTime")); map.put("taskType", this.getParameter("taskType")); return map; } }