package cn.ksource.web.controller.business.pages.duty; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.HashMap; import java.util.LinkedList; 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.beans.factory.annotation.Autowired; 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.DUTY_PLAN; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.DateUtil; 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.facade.duty.DutyFacade; import cn.ksource.web.facade.incident.IncidentFacade; /** * 值班管理 * @author 高发展 *2018-03-13 */ @Controller @RequestMapping("/business/pages/duty") public class DutyController { @Resource private DutyFacade dutyFacade; @Autowired private IncidentFacade incidentFacade; /** * 值班管理 * @param model * @param request * @return * @author gaofazhan */ @SuppressWarnings("rawtypes") @RequestMapping(value = "dutyPlanList.html") public String dutyPlanList(Model model,HttpServletRequest request){ //客户列表 List cusList = incidentFacade.getCustomerList(); model.addAttribute("customers", cusList); return "/business/pages/duty/dutyPlanList"; } /** * 值班管理数据 * @param model * @param request * @return */ @SuppressWarnings("rawtypes") @RequestMapping(value = "dutyPlanListData.html") public String dutyPlanListData(Model model,HttpServletRequest request){ List list = dutyFacade.getPlanListData(request); model.addAttribute("list", list); return "/business/pages/duty/dutyPlanListData"; } /** * 值班管理数据数量 * @param model * @param request * @param response */ @RequestMapping(value = "dutyPlanListCount.html") public void dutyPlanListCount(Model model,HttpServletRequest request,HttpServletResponse response){ Integer count = dutyFacade.getPlanListConut(request); WebUtil.write(response, count.toString()); } /** * 添加值班计划 * @param model * @param request * @return * @author gaofazhan */ @SuppressWarnings({ "rawtypes"}) @RequestMapping(value = "addDutyPlan.html", method = RequestMethod.GET) public String addDutyPlan(Model model,HttpServletRequest request){ String planId = request.getParameter("planId"); Map info=new HashMap(); if(StringUtil.isNotBlank(planId)){ info = new DUTY_PLAN(planId).getBeanMapById(); } String partnerId = null; model.addAttribute("partnerId", partnerId); model.addAttribute("info", info); model.addAttribute("customers", incidentFacade.getCustomerList()); return "/business/pages/duty/addDutyPlan"; } @RequestMapping(value = "addDutyPlan.html", method = RequestMethod.POST) public ModelAndView doAddDutyPlan(DUTY_PLAN dutyPlan,HttpServletRequest request){ dutyFacade.doAddDutyPlan(dutyPlan); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.query();window.top.hideDialog('0');", SysInfo.Success,""); } /** * 配置值班计划 * @param model * @param request * @return * @author gaofazhan */ @SuppressWarnings("rawtypes") @RequestMapping(value = "configDutyPlan.html", method = RequestMethod.GET) public String configDutyPlan(Model model,HttpServletRequest request){ String planId = request.getParameter("planId"); Map info = new DUTY_PLAN(planId).getBeanMapById(); model.addAttribute("info", info); return "/business/pages/duty/configDutyPlan"; } /** * 保存配置 * @param dutyPlan * @param request * @return */ @RequestMapping(value = "configDutyPlan.html", method = RequestMethod.POST) public ModelAndView doConfigDutyPlan(DUTY_PLAN dutyPlan,HttpServletRequest request){ dutyFacade.doConfigDutyPlan(dutyPlan); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.query();window.top.hideDialog('0');", SysInfo.Success,""); } /** * 值班日历 * @param model * @param request * @return */ @SuppressWarnings("rawtypes") @RequestMapping(value = "dutyCalendar.html", method = RequestMethod.GET) public String dutyCalendar(Model model,HttpServletRequest request){ String selDate = request.getParameter("selDate"); String changeType = request.getParameter("changeType"); if(StringUtil.isBlank(selDate)){ selDate = DateUtil.getCurrentDate6().toString(); }else{ SimpleDateFormat df = new SimpleDateFormat("yyyyMM"); Calendar cal = Calendar.getInstance(); try { cal.setTime(df.parse(selDate)); if(changeType.equals("1")){ cal.add(Calendar.MONTH, -1); }else{ cal.add(Calendar.MONTH, 1); } selDate = df.format(cal.getTime()); } catch (ParseException e) { e.printStackTrace(); } } model.addAttribute("selDate", selDate); String planId = request.getParameter("planId"); List list = dutyFacade.getDutyCalendar(planId, selDate); model.addAttribute("list", list); return "/business/pages/duty/dutyCalendar"; } /** * 跳转到选择人员弹窗 */ @SuppressWarnings({ "rawtypes", "unchecked" }) @RequestMapping("exchangeCustomer.html") public ModelAndView exchangeCustomer(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/duty/exchangeCustomer"); String name=request.getParameter("name"); List list = dutyFacade.getUserDeptList(name); Map param=ParamsMapUtil.getParameterMap(request); List userList=dutyFacade.getSelectUser(param); if(userList.size()>0){ List listOne=new LinkedList(); for(Map map:userList){ listOne.add(ConvertUtil.obj2StrBlank(map.get("USER_ID"))); } if(list.size()>0){ for(Map mapa:list){ List listTwo=(List)mapa.get("children"); if(listTwo!=null){ if(listTwo.size()>0){ for(Map mapb:listTwo){ String uId=ConvertUtil.obj2StrBlank(mapb.get("USER_ID")); if(listOne.contains(uId)){ mapa.put("isKj", "1"); mapb.put("isKj", "1"); } } } } } } } modelAndView.addObject("managerList", list); modelAndView.addObject("type", request.getParameter("type")); modelAndView.addObject("search", request.getParameter("name")); modelAndView.addObject("planId", request.getParameter("planId")); modelAndView.addObject("userList", userList); return modelAndView; } /** * 保存客户 * * @param request * @param response */ @RequestMapping("exchangeSubmit.html") public void exchangeSubmit(HttpServletRequest request, HttpServletResponse response) { String userIds = request.getParameter("userIds"); String userNames = request.getParameter("userNames"); String planId = request.getParameter("planId"); dutyFacade.doAddDutyPerson(planId,userIds.split(","), userNames.split(",")); WebUtil.write(response, String.valueOf("1")); } /** * 启用/禁用值班管理 * * @param request * @param response */ @SuppressWarnings("rawtypes") @RequestMapping("delPlan.html") public void delSeller(HttpServletRequest request, HttpServletResponse response) { Map param = ParamsMapUtil.getParameterMap(request); dutyFacade.delPlan(param); WebUtil.write(response, String.valueOf("1")); } /** * 值班管理 * @param model * @param request * @return * @author gaofazhan */ @SuppressWarnings("rawtypes") @RequestMapping(value = "dutyPlanCxList.html") public String dutyPlanCxList(Model model,HttpServletRequest request){ //客户列表 List cusList = incidentFacade.getCustomerList(); model.addAttribute("customers", cusList); return "/business/pages/duty/dutyPlanCxList"; } /** * 值班管理数据 * @param model * @param request * @return */ @SuppressWarnings("rawtypes") @RequestMapping(value = "dutyPlanCxListData.html") public String dutyPlanCxListData(Model model,HttpServletRequest request){ List list = dutyFacade.getPlanListData(request); model.addAttribute("list", list); return "/business/pages/duty/dutyPlanCxListData"; } /** * 值班管理数据数量 * @param model * @param request * @param response */ @RequestMapping(value = "dutyPlanCxListCount.html") public void dutyPlanCxListCount(Model model,HttpServletRequest request,HttpServletResponse response){ Integer count = dutyFacade.getPlanListConut(request); WebUtil.write(response, count.toString()); } /** * 修改值班人员 * * @param request * @param response */ @SuppressWarnings("rawtypes") @RequestMapping("exchangePerson.html") public void exchangePerson(HttpServletRequest request, HttpServletResponse response) { Map param=ParamsMapUtil.getParameterMap(request); param.put("userId", request.getParameter("userIds").replace(",", "")); param.put("userName", request.getParameter("userNames").replace(",", "")); dutyFacade.doChangePerson(param); WebUtil.write(response, String.valueOf("1")); } }