package cn.ksource.web.controller.business.pages.rcxj; import java.util.Calendar; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import cn.ksource.beans.CI_DAILY_PATROL; import cn.ksource.beans.FlowRecord; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.DateUtil; import cn.ksource.core.util.JsonUtil; import cn.ksource.core.util.ParamsMapUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.web.SysInfo; import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; import cn.ksource.web.facade.JsglFacade; import cn.ksource.web.facade.customermanage.CustomerManageFacade; import cn.ksource.web.facade.rcxj.RcxjFacade; import cn.ksource.web.service.file.FileService; @RequestMapping("/business/pages/rcxj") @SuppressWarnings({"rawtypes"}) @Controller public class RcxjController { @Resource private CustomerManageFacade customerFacade; @Resource private RcxjFacade rcxjFacade; @Resource private JsglFacade jsglFacade; @Resource private FileService fileService; /** * 我的日常巡检列表 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("myRcxjList.html") public String healthPlanList(Model model, HttpServletRequest request) { long month = DateUtil.getCurrentDate6(); long monthFirstDate = ConvertUtil.obj2Long(month + "01"); Long defaultDate = DateUtil.getCurrentDate8(); model.addAttribute("defaultDate", defaultDate); model.addAttribute("monthFirstDate", monthFirstDate); List cusList = customerFacade.getCusList(); model.addAttribute("cusList", cusList); return "/business/pages/rcxj/myRcxjList"; } @RequestMapping("myRcxjData.html") public String healthPlanData(PageInfo pageInfo, Model model, HttpServletRequest request) { Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getUserId(request)); pageInfo = rcxjFacade.getRcxjData(pageInfo, params); model.addAttribute("pageInfo", pageInfo); return "/business/pages/rcxj/myRcxjData"; } @RequestMapping("myRcxjCount.html") public void myRcxjCount(Model model, HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); params.put("userId", WebUtil.getUserId(request)); WebUtil.write(response, rcxjFacade.getRcxjCount(params).toString()); } /** * 添加,编辑日常巡检 * * @param model * @param request * @return * @author chenlong */ @RequestMapping(value = "editRcxj.html", method = RequestMethod.GET) public String editRcxj(Model model, HttpServletRequest request) { String id = request.getParameter("id"); Map info = new HashMap(); List cusList = customerFacade.getCusList(); model.addAttribute("cusList", cusList); if (StringUtil.isNotBlank(id)) { info = rcxjFacade.getRcxjById(id); List fileList = fileService.getFileList(id); info.put("fileList", fileList); List patrolCiList = rcxjFacade.getPatrolCiList(id); model.addAttribute("patrolCiList", patrolCiList); List linkOrderList = rcxjFacade.getLinkOrderList(id); model.addAttribute("linkOrderList", linkOrderList); } model.addAttribute("info", info); info.put("user_name", WebUtil.getUserName(request)); return "/business/pages/rcxj/editRcxj"; } @RequestMapping(value = "editRcxj.html", method = RequestMethod.POST) public ModelAndView doEditRcxj(CI_DAILY_PATROL report, Model model, HttpServletRequest request) { Map params = ParamsMapUtil.getParameterMap(request); params.put("user_id", WebUtil.getUserId(request)); CI_DAILY_PATROL ss=rcxjFacade.savePatrol(report, params); fileService.uploadFile(request,ss.getId(),null,Constants.FILE_STATE_SHTG,null); return WebUtil.sysInfoPage(request, "操作成功!", "", SysInfo.Success, "/business/pages/rcxj/myRcxjList.html"); } /** * 巡检项列表 * * @param model * @param request * @param response * @return */ @RequestMapping("itemresult.html") public String itemresult(Model model, HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); List ciList = rcxjFacade.getCiItemList(params); model.addAttribute("ciList", ciList); return "/business/pages/rcxj/itemresult"; } /** * 通用巡检项 * * @param model * @param request * @param response * @return */ @RequestMapping("commonPatrolItem.html") public String commonPatrolItem(Model model, HttpServletRequest request, HttpServletResponse response) { String cusId = request.getParameter("cusId"); String orderId = request.getParameter("orderId"); List categoryList = rcxjFacade.getCommonPatrolItem(cusId, orderId); model.addAttribute("categoryList", categoryList); return "/business/pages/rcxj/commonPatrolItem"; } /** * 通用巡检项(只读) * * @param model * @param request * @param response * @return */ @RequestMapping("commonPatrolItem_read.html") public String commonPatrolItem_read(Model model, HttpServletRequest request, HttpServletResponse response) { String cusId = request.getParameter("cusId"); String orderId = request.getParameter("orderId"); List categoryList = rcxjFacade.getCommonPatrolItem(cusId, orderId); model.addAttribute("categoryList", categoryList); return "/business/pages/rcxj/commonPatrolItem_read"; } /** * 巡检设备列表 * * @param model * @param request * @param response * @return */ @RequestMapping("patrolCiList.html") public String patrolCiList(Model model, HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); List ciList = rcxjFacade.getPatrolCiList(params); model.addAttribute("ciList", ciList); return "/business/pages/rcxj/patrolCiList"; } /** * 详情首页 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("rcxjIndex.html") public String rcxjIndex(Model model, HttpServletRequest request) { String patrolDate = request.getParameter("patrolDate"); String orderId = request.getParameter("orderId"); String userId = request.getParameter("userId"); Map params = ParamsMapUtil.getParameterMap(request); int currentYear = Integer.valueOf(patrolDate.substring(0, 4)); int currentMonth = Integer.valueOf(patrolDate.substring(4, 6)); int currentDay = Integer.valueOf(patrolDate.substring(6, 8)); String warnString = rcxjFacade.getMonthWarnDate(params); if (StringUtil.isBlank(warnString)) { warnString = ""; } String hasReportDate = rcxjFacade.getHasReportDate(params); if (StringUtil.isBlank(hasReportDate)) { hasReportDate = ""; } Calendar cal = Calendar.getInstance(); Map calendar = getCalendar(currentYear, currentMonth); calendar.put("warnString", warnString); calendar.put("hasReportDate", hasReportDate); model.addAttribute("currentYear", String.valueOf(currentYear)) .addAttribute("currentMonth", String.valueOf(currentMonth)) .addAttribute("currentDay", String.valueOf(currentDay)) .addAttribute("orderId", orderId) .addAttribute("patrolDate", patrolDate) .addAttribute("userId", userId) .addAttribute("calendar", calendar); return "/business/pages/rcxj/rcxjIndex"; } /** * 获取日历数据 * * @param year * @param month * @return * @author chenlong */ public Map getCalendar(int year, int month) { Map map = new HashMap(); Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month - 1);//Java月份才0开始算 cal.set(Calendar.DAY_OF_MONTH, 1); //获取当月天数 int monthDays = cal.getActualMaximum(Calendar.DATE); //获取当前月第一天是星期几 int firstWeekDay = cal.get(Calendar.DAY_OF_WEEK) - 1; map.put("monthDays", monthDays); map.put("firstWeekDay", firstWeekDay); return map; } /** * 获取日历 * * @param request * @param response * @author chenlong */ @RequestMapping("getCalendarData.html") public void getCalendarData(HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); int year = Integer.parseInt(request.getParameter("year")); int month = Integer.parseInt(request.getParameter("month")); Map calendar = getCalendar(year, month); String warnString = rcxjFacade.getMonthWarnDate(params); if (StringUtil.isBlank(warnString)) { warnString = ""; } calendar.put("warnString", warnString); String hasReportDate = rcxjFacade.getHasReportDate(params); if (StringUtil.isBlank(hasReportDate)) { hasReportDate = ""; } calendar.put("hasReportDate", hasReportDate); WebUtil.write(response, JsonUtil.map2Json(calendar)); } /** * 获取巡检报告 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("rcxjReport.html") public String rcxjReport(Model model, HttpServletRequest request) { String orderId = request.getParameter("orderId"); Map info = rcxjFacade.getRcxjById(orderId); List fileList = fileService.getFileList(orderId); info.put("fileList", fileList); //List ciList = rcxjFacade.getPatrolCiList(orderId); List commonList = rcxjFacade.getCommonPatrolItem(ConvertUtil.obj2StrBlank(info.get("cus_id")), orderId); model.addAttribute("info", info); //model.addAttribute("ciList", ciList); model.addAttribute("commonList", commonList); Map params = new HashMap(); params.put("orderId", orderId); params.put("cusId", ConvertUtil.obj2StrBlank(info.get("CUS_ID"))); params.put("subCusId", ConvertUtil.obj2StrBlank(info.get("SUB_CUS_ID"))); params.put("errflag", "1"); List ciList = rcxjFacade.getCiItemList(params); Map shInfo = rcxjFacade.getShInfoById(orderId); model.addAttribute("ciList", ciList); model.addAttribute("shInfo", shInfo); List linkOrderList = rcxjFacade.getLinkOrderList(orderId); model.addAttribute("linkOrderList", linkOrderList); return "/business/pages/rcxj/rcxjReport"; } /** * 获取当天工单 * * @param request * @param response * @author chenlong */ @RequestMapping("getCurOrders.html") public void getCurOrders(HttpServletRequest request, HttpServletResponse response) { String userId = request.getParameter("userId"); String patrolDate = request.getParameter("patrolDate"); Map params = new HashMap(); params.put("userId", userId); params.put("patrolDate", patrolDate); List list = rcxjFacade.getCurDateOrders(params); WebUtil.write(response, JsonUtil.list2Json(list)); } /* *//** * 提交审核 * * @param * @param request * @return * @author chenlong *//* @RequestMapping(value = "comitSh.html", method = RequestMethod.GET) public String comitSh(Model model, HttpServletRequest request) { String id = request.getParameter("id"); Map info = rcxjFacade.getRcxjById(id); Map cus = customerFacade.getPartnerCostomerById(info.get("CUS_ID").toString()); model.addAttribute("cus", cus); return "/business/pages/rcxj/comitSh"; }*/ @RequestMapping(value = "comitSh.html") public void doComitSh(FlowRecord flowRecord, HttpServletResponse response, HttpServletRequest request) { String id = request.getParameter("id"); Map info = rcxjFacade.getRcxjById(id); Map cus = customerFacade.getPartnerCostomerById(info.get("CUS_ID").toString()); Map params = ParamsMapUtil.getParameterMap(request); params.put("busId", id); params.put("id", id); if(StringUtil.notEmpty(ConvertUtil.obj2Str(cus.get("ywjl_id")))){ params.put("cus_id", cus.get("ywjl_id").toString()); params.put("cus_name", cus.get("ywjl_name").toString()); }else{ params.put("cus_id", ""); params.put("cus_name", ""); } flowRecord.setDealId(WebUtil.getUserId(request)); flowRecord.setDealName(WebUtil.getUserName(request)); flowRecord.setTemplateKey(Constants.RCXJ_FLOW_XZ); params.put("state", Constants.RCXJ_FLOW_DSH.toString()); rcxjFacade.doToNext(params, flowRecord); WebUtil.write(response, "1"); } /** * 日常巡检审核列表 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("rcxjShList.html") public String rcxjShList(Model model, HttpServletRequest request) { List cusList = customerFacade.getCusList(); long month = DateUtil.getCurrentDate6(); long beginDate = ConvertUtil.obj2Long(month + "01"); model.addAttribute("cusList", cusList); model.addAttribute("beginDate", beginDate); return "/business/pages/rcxj/rcxjShList"; } @RequestMapping("rcxjShData.html") public String rcxjShData(PageInfo pageInfo, Model model, HttpServletRequest request) { Map params = ParamsMapUtil.getParameterMap(request); if (params.get("flag").equals("1")) { params.put("curId", WebUtil.getUserId(request)); params.put("fstate", Constants.RCXJ_FLOW_DSH.toString()); } else { params.put("templateKey", Constants.CFG_FLOW_DSH.toString()); params.put("dealId", WebUtil.getUserId(request)); } pageInfo = rcxjFacade.getRcxjData(pageInfo, params); model.addAttribute("pageInfo", pageInfo); return "/business/pages/rcxj/rcxjShData"; } @RequestMapping("rcxjShCount.html") public void rcxjShCount(Model model, HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); if (params.get("flag").equals("1")) { params.put("curId", WebUtil.getUserId(request)); params.put("fstate", Constants.RCXJ_FLOW_DSH.toString()); } else { params.put("templateKey", Constants.CFG_FLOW_DSH.toString()); params.put("dealId", WebUtil.getUserId(request)); } WebUtil.write(response, rcxjFacade.getRcxjCount(params).toString()); } /** * 审核 * * @param model * @param request * @return * @author chenlong */ @RequestMapping(value = "rcxjSh.html", method = RequestMethod.GET) public String rcxjSh(Model model, HttpServletRequest request) { List users = jsglFacade.getUsersByRoleKey(Constants.ROLE_YWADMIN); model.addAttribute("users", users); String id = request.getParameter("id"); Map info = rcxjFacade.getRcxjById(id); Map params = new HashMap(); params.put("orderId", id); params.put("cusId", ConvertUtil.obj2StrBlank(info.get("CUS_ID"))); params.put("subCusId", ConvertUtil.obj2StrBlank(info.get("SUB_CUS_ID"))); List patrolCiList = rcxjFacade.getPatrolCiList(params); model.addAttribute("info", info); model.addAttribute("patrolCiList", patrolCiList); List categoryList = rcxjFacade.getCommonPatrolItem(info.get("cus_id").toString(), id); model.addAttribute("categoryList", categoryList); List linkOrderList = rcxjFacade.getLinkOrderList(id); model.addAttribute("linkOrderList", linkOrderList); return "/business/pages/rcxj/rcxjSh"; } @RequestMapping(value = "rcxjSh.html", method = RequestMethod.POST) public ModelAndView doRcxjSh(FlowRecord flowRecord, Model model, HttpServletRequest request) { Map params = ParamsMapUtil.getParameterMap(request); flowRecord.setDealId(WebUtil.getUserId(request)); flowRecord.setDealName(WebUtil.getUserName(request)); flowRecord.setTemplateKey(Constants.RCXJ_FLOW_DSH); if (params.get("flag").equals("1")) { params.put("state", Constants.RCXJ_FLOW_WC.toString()); } else { params.put("state", Constants.RCXJ_FLOW_SB.toString()); } rcxjFacade.doToNext(params, flowRecord); String js = "window.top.query();" + "window.top.hideDialog('do');"; return WebUtil.sysInfoPage(request, "操作成功!", js, SysInfo.Success, ""); } /** * 日常巡检查询列表 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("rcxjCxList.html") public String rcxjCxList(Model model, HttpServletRequest request) { /*long month = DateUtil.getCurrentDate6(); long beginDate = ConvertUtil.obj2Long(month+"01"); long time = DateUtil.getCurrentDate8();*/ long time = DateUtil.getCurrentDate8(); //将当前时间提前一个月 String month = DateUtil.beforeTime30(time); long beginDate = ConvertUtil.obj2Long(month); model.addAttribute("beginDate", beginDate); List cusList = customerFacade.getCusList(); model.addAttribute("cusList", cusList); return "/business/pages/rcxj/rcxjCxList"; } @RequestMapping("rcxjCxData.html") public String rcxjCxData(PageInfo pageInfo, Model model, HttpServletRequest request) { Map params = ParamsMapUtil.getParameterMap(request); params.put("state","cx"); pageInfo = rcxjFacade.getRcxjData(pageInfo, params); model.addAttribute("pageInfo", pageInfo); return "/business/pages/rcxj/rcxjCxData"; } @RequestMapping("rcxjCxCount.html") public void rcxjCxCount(Model model, HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); params.put("state","cx"); WebUtil.write(response, rcxjFacade.getRcxjCount(params).toString()); } /** * 巡检详情 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("patrolDetail.html") public String patrolDetail(Model model, HttpServletRequest request) { String orderId = request.getParameter("orderId"); Map info = rcxjFacade.getRcxjById(orderId); Map params = new HashMap(); params.put("orderId", orderId); params.put("cusId", ConvertUtil.obj2StrBlank(info.get("CUS_ID"))); params.put("subCusId", ConvertUtil.obj2StrBlank(info.get("SUB_CUS_ID"))); List ciList = rcxjFacade.getCiItemList(params); model.addAttribute("ciList", ciList); return "/business/pages/rcxj/patrolDetail"; } }