package com.cabletech.business.wplan.plan.action; import java.util.Calendar; 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.wplan.plan.model.Patrolinfo; import com.cabletech.business.wplan.plan.service.PatrolanalysisService; import com.cabletech.common.base.SysConstant; import com.cabletech.common.util.DateUtil; import com.cabletech.common.util.Page; /** * 巡检分析Action * * @author zhaobi * */ @Namespace("/wplan") @Results({ @Result(name = "orglistshow", location = "/wplan/plan/patrolanalysis_orgquery.jsp"), @Result(name = "orglist", location = "/wplan/plan/patrolanalysis_org.jsp"), @Result(name = "regionlistshow", location = "/wplan/plan/patrolanalysis_regionquery.jsp"), @Result(name = "regionlist", location = "/wplan/plan/patrolanalysis_region.jsp") }) @Action("/patrolanalysisAction") public class PatrolanalysisAction extends PatrolinfoBaseAction<Patrolinfo, String> { /** * 巡检分析服务 */ @Resource(name = "patrolanalysisServiceImpl") private PatrolanalysisService patrolanalysisService; /** * 按照代维公司分析结果页面 */ private static final String SHOW_ORG_LIST = "orglist"; /** * 按照区域分析结果页面 */ private static final String SHOW_REGION_LIST = "regionlist"; /** * 巡检计划表单信息 */ private Patrolinfo patrolinfo = new Patrolinfo(); @Override public Patrolinfo getModel() { return patrolinfo; } @Override protected void prepareViewModel() throws Exception { // TODO Auto-generated method stub } @Override protected void prepareSaveModel() throws Exception { // TODO Auto-generated method stub } /** * 按照代维公司分析结果页面 * * @return */ public String showorg() { initparam(patrolinfo); getallpatrolcount(patrolinfo); this.getRequest().setAttribute("PatrolGroupChartMap", patrolanalysisService.getPatrolGroupChart(patrolinfo)); return SHOW_ORG_LIST; } /** * 转到代维公司页面分析查询页面 * * @return */ public String orgshow() { getparam(); return "orglistshow"; } /** * 按照区域分析页面 * * @return */ public String showregion() { initparam(patrolinfo); getallpatrolcount(patrolinfo); this.getRequest().setAttribute("PatrolOrgChartMap", patrolanalysisService.getPatrolOrgChart(patrolinfo)); return SHOW_REGION_LIST; } /** * 转到区域页面分析查询页面 * * @return */ public String regionshow() { getparam(); return "regionlistshow"; } /** * 获取巡检组分析列表 */ public void getpatrolgrouppatrollist() { Page<Map<String, Object>> page = this.initPage(); page = patrolanalysisService.getPatrolGroupPatrolInfo( initparam(patrolinfo), page); convertObjToJson(page); } /** * 获取区域组分析列表 */ public void getregionpatrollist() { Page<Map<String, Object>> page = this.initPage(); page = patrolanalysisService.getRegionPatrolInfo(initparam(patrolinfo), page); convertObjToJson(page); } /** * 获取巡检计划相关完成信息 */ public void getpatrolinfolist() { Page<Map<String, Object>> page = this.initPage(); page = patrolanalysisService.getPatrolInfo(initparam(patrolinfo), page); convertObjToJson(page); } /** * 获取所有巡检记录数据 * * @param patrolinfo * 实体 */ private void getallpatrolcount(Patrolinfo patrolinfo) { Map<String, Object> map = patrolanalysisService .getAllPatrolCount(patrolinfo); this.getRequest().setAttribute("patrolanalyMap", map); } /** * 获取参数 */ private void getparam() { // 获取按年,按季度,按月,按年处理参数 String flag = this.getRequest().getParameter("flg"); this.getRequest().setAttribute("flg", flag); // 计划类型TAG this.getRequest().setAttribute("plantypeMap", this.getPlanTypeMap()); // 计划年份TAG this.getRequest().setAttribute("planyearMap", this.getPlanYearMap()); // 季度类型TAG this.getRequest() .setAttribute("seasonTypeMap", this.getSeasonTypeMap()); patrolinfo.setYear(Integer.toString(Calendar.getInstance().get( Calendar.YEAR))); } /** * 处理前台传过来的参数 * * @param patrolinfo * 实体 * @return */ private Patrolinfo initparam(Patrolinfo patrolinfo) { String orgid = this.getRequest().getParameter("orgid"); UserInfo user = this.getUser(); // 年计划 if (SysConstant.WPLAN_YEAR.equals(patrolinfo.getPlantype())) { patrolinfo.setStarttime(patrolinfo.getYear() + "-01-01"); patrolinfo.setEndtime(patrolinfo.getYear() + "-12-31"); } // 季度 else if (SysConstant.WPLAN_SEASON.equals(patrolinfo.getPlantype())) { patrolinfo.setStarttime(DateUtil.getSeasonTime( patrolinfo.getYear(), Integer.parseInt(patrolinfo.getSeasontype()), true)); patrolinfo.setEndtime(DateUtil.getSeasonTime( patrolinfo.getYear(), Integer.parseInt(patrolinfo.getSeasontype()), false)); } if (!StringUtils.isNotBlank(patrolinfo.getRegionid())) { patrolinfo.setRegionid(user.getRegionId()); } if (!StringUtils.isNotBlank(patrolinfo.getContractorid())) { if (user.isContractor()) { patrolinfo.setContractorid(user.getOrgId()); } else { patrolinfo.setContractorid(orgid); } } patrolinfo.setPlanstate(SysConstant.PASSED_STATE); return patrolinfo; } }