package com.cabletech.business.assess.action; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; 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.assess.model.AssessExaminationResult; import com.cabletech.business.assess.model.AssessTemplate; import com.cabletech.business.assess.service.AssessAppraiseService; import com.cabletech.business.assess.service.AssessExaminationService; import com.cabletech.business.assess.service.AssessTemplateContentService; import com.cabletech.business.assess.service.AssessTemplateService; import com.cabletech.common.base.BaseAction; import com.cabletech.common.base.SysConstant; import com.cabletech.common.util.DateUtil; import com.cabletech.common.util.Page; /** * 现场检查 * * @author wj 2012-07-31 创建 * */ @Namespace("/assess") @Results({ @Result(name = "list", location = "/assess/examination/assess_examination_list.jsp"), @Result(name = "inputfirst", location = "/assess/examination/assess_examination_inputfirst.jsp"), @Result(name = "inputsecond", location = "/assess/examination/assess_examination_inputsecond.jsp"), @Result(name = "view", location = "/assess/examination/assess_examination_view.jsp") }) @Action("/assessExaminationAction") @SuppressWarnings("all") public class AssessExaminationAction extends BaseAction<AssessExaminationResult, String> { private AssessExaminationResult examination; @Resource(name = "assessExaminationServiceImpl") private AssessExaminationService assessExaminationService; /** * 考核/检查结果业务服务 */ @Resource(name = "assessAppraiseServiceImpl") private AssessAppraiseService assessAppraiseService; /** * 考核模版服务 */ @Resource(name = "assessTemplateContentServiceImpl") private AssessTemplateContentService assessTemplateContentService; /** * 考核模版业务服务 */ @Resource(name = "assessTemplateServiceImpl") private AssessTemplateService assessTemplateService; public static final String TABLE_TYPE_EXAMINATION = "03";//考核表类型-现场检查 /** * 添加 第一步 跳转 */ public String inputFirst() { Map<String, String> parameter = this.initConditions(); List<Map<String, Object>> ls = assessExaminationService.queryAppraiseTables(parameter); getRequest().setAttribute("appraiseTables", ls); return "inputfirst"; } /** * 添加 第二步 跳转 */ public String inputSecond() { Map<String, String> parameter = this.initConditions(); getRequest().setAttribute("tableId", parameter.get("appraiseTableId")); getRequest().setAttribute("tableName", parameter.get("appraiseTableName")); Map<String, Object> map = new HashMap<String, Object>(); map.put("tableId", parameter.get("appraiseTableId")); //获取模板内容 List<Map<String,Object>> newlist=assessTemplateContentService.getTableItemList(map); //获取模板最大列数 int maxItemCount=assessTemplateContentService.getMaxTableItem(map); this.getRequest().setAttribute("maxitemcount", maxItemCount); this.getRequest().setAttribute("templatecontent", newlist); return "inputsecond"; } /** * 列表 跳转 */ public String list() { Map<String,String> monthSlot = DateUtil.getMonthSlot();//当前月的时间段 getRequest().setAttribute("monthSlot", monthSlot); return LIST; } /** * 列表 数据 */ public void listData() { Map<String, String> parameters = initConditions(); Page<Map<String, Object>> page = this.initPage(); page = assessExaminationService.queryResultList(parameters, page); setExcelParameter(page); convertObjToJson(page); } /** * 明细 跳转 */ public String view() { AssessExaminationResult assessExaminationResult = assessAppraiseService.view(super.getParameter("id")); String siteName = assessExaminationService.viewResourceInfo(assessExaminationResult.getSiteId()); AssessTemplate template = assessTemplateService.getTemplate(assessExaminationResult.getTableId()); //获取模板内容 List<Map<String,Object>> newlist=assessExaminationResult.getDetailList(); //获取模板最大列数 int maxItemCount=assessExaminationResult.getLevel(); List<Map<String, Object>> list = assessTemplateContentService.processList(maxItemCount,newlist); this.getRequest().setAttribute("maxitemcount", maxItemCount); this.getRequest().setAttribute("templatecontent", list); if(null!=template) this.getRequest().setAttribute("appraiseTableName",template.getTableName()); this.getRequest().setAttribute("assessExaminationResult", assessExaminationResult); this.getRequest().setAttribute("siteName", siteName); return this.VIEW; } /** * 明细 数据 */ public String save() { assessExaminationService.save(getExamination()); super.addMessage("保存成功","/assess/assessExaminationAction!inputFirst.action", SysConstant.SUCCESS); return SUCCESS; } /** * 封装查询条件 * @return Map */ private Map<String, String> initConditions() { HttpServletRequest request = this.getRequest(); Map<String, String> map = new HashMap<String, String>(); UserInfo userInfo = super.getUser(); String regionId = request.getParameter("regionId");//区域 if(StringUtils.isBlank(regionId)){ regionId = userInfo.getRegionId(); } String orgId = request.getParameter("orgId");//组织 String inspector = request.getParameter("inspector");//检查人 String stationType = request.getParameter("stationType");//站点类型 String stationId = request.getParameter("stationId");//站点 String principal = request.getParameter("principal");//维护责任人 String stationName = request.getParameter("stationName");//站点名称 String inspectionDate = request.getParameter("inspectionDate");//检查日期 String startTime = request.getParameter("startTime");//开始时间 String endTime = request.getParameter("endTime");//结束时间 if(StringUtils.isBlank(startTime)&&StringUtils.isBlank(endTime)){ startTime = DateUtil.getMonthSlot().get("startTime"); endTime = DateUtil.getMonthSlot().get("endTime"); } String appraiseTableId = request.getParameter("appraiseTableId");//模板ID String appraiseTableName = request.getParameter("appraiseTableName");//模板名称 map.put("tableType",TABLE_TYPE_EXAMINATION); map.put("regionId", regionId); map.put("orgId", orgId); map.put("inspector", inspector); map.put("stationType", stationType); map.put("stationId", stationId); map.put("principal", principal); map.put("stationName", stationName); map.put("inspectionDate", inspectionDate); map.put("startTime", startTime); map.put("endTime", endTime); map.put("appraiseTableId", appraiseTableId); map.put("appraiseTableName", appraiseTableName); return map; } @Override protected void prepareSaveModel() throws Exception { } /** * @return the examination */ public AssessExaminationResult getExamination() { return examination; } /** * @param examination the examination to set */ public void setExamination(AssessExaminationResult examination) { this.examination = examination; } @Override protected void prepareViewModel() throws Exception { } @Override public AssessExaminationResult getModel() { return null; } }