package cn.ksource.web.controller.business.pages.bpbj; 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.OVERAGE_LOSS; import cn.ksource.beans.OVERAGE_LOSS_DETAIL; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.ConvertUtil; 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.bpbj.OverageLossFacade; import cn.ksource.web.facade.bpbj.SparePartsFacade; import cn.ksource.web.facade.bpbj.StockAuditingFacade; import cn.ksource.web.facade.supplier.SupplierFacade; import cn.ksource.web.service.WorkOrderCodeService; /** * 报损报溢控制器 * * @author zf * @version 1.0 * @date 2017年6月6日14:17:17 */ @Controller @RequestMapping("/business/pages/overageLoss") public class OverageLossController { @Resource private OverageLossFacade overageLossFacade; @Resource private SupplierFacade supplierFacade; @Resource private WorkOrderCodeService workOrderCodeService; @Resource private SparePartsFacade sparePartsFacade; @Resource private StockAuditingFacade stockAuditingFacade; /** * 进入库存盘点页面 * * @return */ @RequestMapping("overageLossList.html") public String overageLossList() { return "/business/pages/bpbj/overageLoss/overageLossList"; } /** * 库存盘点 列表数据 * * @param pageInfo * @param request * @param model * @return */ @RequestMapping("overageLossListData.html") public String overageLossListData(PageInfo pageInfo, HttpServletRequest request, Model model) { Map params = ParamsMapUtil.getParameterMap(request); PageInfo info = overageLossFacade.getOverageLossListData(pageInfo, params); model.addAttribute("info", info); return "/business/pages/bpbj/overageLoss/overageLossListData"; } /** * 库存盘点 总条数 * * @param request * @param response */ @RequestMapping("overageLossListCount.html") public void overageLossListCount(HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); Integer count = overageLossFacade.getOverageLossListCount(params); WebUtil.write(response, String.valueOf(count)); } /** * 库存盘点新增/编辑 页面 * * @param request * @param model * @return */ @RequestMapping(value = "overageLossEdit.html", method = RequestMethod.GET) public String overageLossEdit(HttpServletRequest request, Model model,PageInfo pageInfo) { String url="/business/pages/bpbj/overageLoss/overageLossEdit"; String type = request.getParameter("type"); String status = request.getParameter("status"); String id=""; if(StringUtil.isNotBlank(type)){ if(type.equals("xg")){ String orderId=request.getParameter("orderId"); Map msgMap=new OVERAGE_LOSS(orderId).getBeanMapById(); model.addAttribute("msgMap",msgMap); model.addAttribute("type",type); id=orderId; } }else{ id = StringUtil.getUUID(); Map msgMap=new HashMap(); msgMap.put("BUS_TYPE", status); } Map params = ParamsMapUtil.getParameterMap(request); params.put("id", id); List info = supplierFacade.getSparePartOverageSearchListData(params); model.addAttribute("info", info).addAttribute("status", status) .addAttribute("id",id); //.addAttribute("order_code", workOrderCodeService.getOverageCode()); if(StringUtil.isNotBlank(status)){ if(status.equals("1")){ url="/business/pages/bpbj/overageLoss/lossEdit"; } /*if(status.equals("2")){ url="/business/pages/bpbj/overageLoss/lossEditBy"; }*/ } return url; } /** * 批量设置报溢原因 * @param request * @param model * @return */ @RequestMapping(value= "overageByPlEdit.html",method=RequestMethod.GET) public String overageLossEdit(HttpServletRequest request, Model model) { List codeList = overageLossFacade.getNoteKeyList("BYTYPE"); model.addAttribute("codeList", codeList); String detailIds = request.getParameter("detailIds"); String detailId[]=detailIds.split(","); if(detailId.length==1){ OVERAGE_LOSS_DETAIL overage_loss_detail=new OVERAGE_LOSS_DETAIL(detailIds).getInstanceById(); String reason_key= overage_loss_detail.getReason_key(); if(StringUtil.isNotBlank(reason_key)){ model.addAttribute("reason_key", reason_key); } } model.addAttribute("detailIds", detailIds); return "/business/pages/bpbj/overageLoss/overageByPlEdit"; } @RequestMapping(value= "overageByPlEditSubmit.html",method=RequestMethod.POST) public ModelAndView overageByPlEditSubmit(HttpServletRequest request, Model model) { Map params = ParamsMapUtil.getParameterMap(request); overageLossFacade.editOverageByPlEdit(params); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('plBy');window.top.dialogIframe0.query();", SysInfo.Success, ""); } /** * 更新报损报溢工单名称 * @param request * @param model * @return */ @RequestMapping(value= "editOverageLossSubmit.html",method=RequestMethod.POST) public ModelAndView editOverageLossEdit(HttpServletRequest request, Model model){ Map params = ParamsMapUtil.getParameterMap(request); overageLossFacade.editOverageLossEdit(params); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.query();window.top.hideDialog('0');", SysInfo.Success, ""); } /** * ajax 提交盘点功能 * * @param request * @return */ @RequestMapping(value = "overageLossEditSubmit.html", method = RequestMethod.POST) public ModelAndView editSupplier(HttpServletRequest request) { Map params = ParamsMapUtil.getParameterMap(request); Map user = WebUtil.getLoginUser(request).getLoginUser(); params.put("create_id", ConvertUtil.obj2StrBlank(user.get("ID"))); params.put("create_name", ConvertUtil.obj2StrBlank(user.get("ZSXM"))); overageLossFacade.editOverageLoss(params); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.query();window.top.hideDialog('0');", SysInfo.Success, ""); } /* 跳转到提交审核 * @return */ @RequestMapping(value = "approveOverageLoss.html",method = RequestMethod.GET) public String approve(){ return "/business/pages/bpbj/overageLoss/approveOverageLoss"; } /** * 列表提交审批 */ @RequestMapping(value = "approveOverageLoss.html",method = RequestMethod.POST) public ModelAndView approveSub(HttpServletRequest request){ Map param = ParamsMapUtil.getParameterMap(request); Map loginUser = WebUtil.getLoginUser(request).getLoginUser(); param.put("userId", ConvertUtil.obj2StrBlank(loginUser.get("ID"))); param.put("userName", ConvertUtil.obj2StrBlank(loginUser.get("ZSXM"))); overageLossFacade.sendToApprove(param); String execJs = "window.top.query();window.top.hideDialog('insideAllot');"; return WebUtil.sysInfoPage(request, "操作成功!",execJs, SysInfo.Success,""); } /** * 报损新增 * @param request * @param model * @param pageInfo * @return */ @RequestMapping(value = "lossEdit.html", method = RequestMethod.GET) public ModelAndView LossEdit(HttpServletRequest request, Model model,PageInfo pageInfo) { ModelAndView view = new ModelAndView("/business/pages/bpbj/overageLoss/lossEdit"); String orderId = request.getParameter("orderId"); if(StringUtil.isBlank(orderId)){ Map info = new HashMap(); info.put("BUS_TYPE", Constants.OVERAGE_LOSS_BUS_TYPE_BS); view.addObject("info", info); }else{ Map info=new OVERAGE_LOSS(orderId).getBeanMapById(); view.addObject("info", info); } view.addObject("orderId", orderId); return view; } /** * 跳转到添加备品备件申领页面 */ @RequestMapping("spareDeviceLose.html") public ModelAndView spareDevice(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/bpbj/overageLoss/spareDeviceLose"); String orderId = request.getParameter("orderId"); String spart_ids = request.getParameter("spart_ids"); String type=""; if(StringUtil.isBlank(orderId)){ type ="1"; } List codeList = overageLossFacade.getNoteKeyList("BSLX"); modelAndView.addObject("codeList", codeList); modelAndView.addObject("type", type); modelAndView.addObject("orderId", orderId); modelAndView.addObject("spart_ids", spart_ids); return modelAndView; } /** * 保存报损备件 * @param request * @param response * @return */ @RequestMapping("editSpareSubmit.html") public ModelAndView editSpareSubmit(HttpServletRequest request,HttpServletResponse response){ overageLossFacade.saveBsbj(request); String execJs = ""; execJs = "window.top.dialogIframe0.query();window.top.hideDialog('1');"; return WebUtil.sysInfoPage(request, "操作成功!",execJs,SysInfo.Success,""); } /** * 报损备件列表信息 * @param model * @param request * @param pageInfo * @return */ @RequestMapping("spareLoseListData.html") public ModelAndView spareOverageListData(Model model, HttpServletRequest request,PageInfo pageInfo) { ModelAndView view = new ModelAndView("/business/pages/bpbj/overageLoss/spareLoseListData"); List spaer_lose = overageLossFacade.getSpareLoseListData(request); view.addObject("spaer_lose", spaer_lose); return view; } /** * 批量设置报溢原因 * @param request * @param model * @return */ @RequestMapping(value= "loseByPlEdit.html",method=RequestMethod.GET) public String loseByPlEdit(HttpServletRequest request, Model model) { String detailIds = request.getParameter("detailIds"); String detailId[]=detailIds.split(","); if(detailId.length==1){ OVERAGE_LOSS_DETAIL overage_loss_detail=new OVERAGE_LOSS_DETAIL(detailIds).getInstanceById(); String reason_key= overage_loss_detail.getReason_key(); if(StringUtil.isNotBlank(reason_key)){ model.addAttribute("reason_key", reason_key); } } model.addAttribute("detailIds", detailIds); List codeList = overageLossFacade.getNoteKeyList("BSLX"); model.addAttribute("codeList", codeList); return "/business/pages/bpbj/overageLoss/loseByPlEdit"; } /** * 保存批量更新报损类型 * @param request * @param model * @return */ @RequestMapping(value= "loseByPlEditSubmit.html",method=RequestMethod.POST) public ModelAndView loseByPlEditSubmit(HttpServletRequest request, Model model) { Map params = ParamsMapUtil.getParameterMap(request); overageLossFacade.editOverageByPlEdit(params); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('plBy');window.top.dialogIframe0.query()", SysInfo.Success, ""); } /** * 保存报损工单 * * @param request * @return */ @RequestMapping(value = "lossEditSubmit.html", method = RequestMethod.POST) public ModelAndView loseLossEditSubmit(HttpServletRequest request) { Map params = ParamsMapUtil.getParameterMap(request); Map user = WebUtil.getLoginUser(request).getLoginUser(); params.put("create_id", ConvertUtil.obj2StrBlank(user.get("ID"))); params.put("create_name", ConvertUtil.obj2StrBlank(user.get("ZSXM"))); overageLossFacade.editLossOrder(params); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.query();window.top.hideDialog('0');", SysInfo.Success, ""); } @RequestMapping(value= "modifyLossEditSubmit.html",method=RequestMethod.POST) public ModelAndView modifyLossEditSubmit(HttpServletRequest request, Model model) { Map params = ParamsMapUtil.getParameterMap(request); overageLossFacade.editOverageByPlEdit(params); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.dialogIframe0.query();window.top.hideDialog('xgbj');", SysInfo.Success, ""); } /** * 删除报损报溢备件信息 */ @RequestMapping("modifOverageStatus.html") public void modifOverageStatus(HttpServletRequest request,HttpServletResponse response){ Map params = ParamsMapUtil.getParameterMap(request); String id = request.getParameter("id"); params.put("id", id); overageLossFacade.editOverageStatus(params); WebUtil.write(response, "1"); } /** * 删除备件信息 * @param request(id:gg_xyzzjg_id,index:(1-启用,2-禁止)) * @param response */ @RequestMapping("deleteItem.html") public void deleteItem(HttpServletRequest request,HttpServletResponse response){ String id = request.getParameter("id"); OVERAGE_LOSS_DETAIL overage_loss_detail = new OVERAGE_LOSS_DETAIL(id).getInstanceById(); overage_loss_detail.deleteById(); WebUtil.write(response, "1"); } @RequestMapping("loseListCount.html") public void stockListCount(HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); int count =overageLossFacade.loseListCount(params); WebUtil.write(response, String.valueOf(count)); } @RequestMapping("initDelivery.html") public void initDelivery(HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); int count =overageLossFacade.initDelivery(params); WebUtil.write(response, String.valueOf(count)); } }