package cn.ksource.web.controller.business.pages.bpbj; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.ksource.core.util.*; 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.CMDB_CI_CATEGORY; import cn.ksource.beans.OVERAGE_LOSS_DETAIL; import cn.ksource.beans.SPARE_PART; import cn.ksource.beans.SPARE_PART_STORAGE; import cn.ksource.core.dao.BaseDao; import cn.ksource.core.dao.SqlParameter; import cn.ksource.core.page.PageInfo; import cn.ksource.core.web.SysInfo; import cn.ksource.core.web.SysInfoMsg; import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; import cn.ksource.web.facade.bpbj.OverageLossFacade; import cn.ksource.web.facade.bpbj.StockApplyFacade; import cn.ksource.web.facade.cfg.CfgFacade; import cn.ksource.web.facade.cfgcate.CfgcateFacade; import cn.ksource.web.facade.customermanage.CustomerManageFacade; import cn.ksource.web.facade.link.LinkFacade; @Controller @RequestMapping("/business/pages/bpbj/stockApply") public class StockApplyController { @Resource private StockApplyFacade stockApplyFacade; @Resource private OverageLossFacade overageLossFacade; @Resource(name="baseDao") private BaseDao baseDao; /** * 跳转到入库审核 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("stockApplyList.html") public String cfgmanageList(Model model, HttpServletRequest request) { Long currentTime = DateUtil.getCurrentDate8(); String last1MonthTime = DateUtil.getMonthAdd("yyyyMMdd",-1); model.addAttribute("start_time", last1MonthTime); model.addAttribute("end_time", currentTime); model.addAttribute("type", "rksq"); return "/business/pages/bpbj/stockApply/stockApplyList"; } /** * 入库申请列表数据 * @param pageInfo * @param model * @param request * @return */ @RequestMapping("stockApplyListData.html") public String stockApplyListData(Model model, HttpServletRequest request,PageInfo pageInfo) { PageInfo info = stockApplyFacade.getStockListData(request,pageInfo); Long currentTime = DateUtil.getCurrentDate8(); String last1MonthTime = DateUtil.getMonthAdd("yyyyMMdd",-1); model.addAttribute("start_time", last1MonthTime); model.addAttribute("end_time", currentTime); model.addAttribute("info", info); return "/business/pages/bpbj/stockApply/stockApplyListData"; } /** * 分页查询 * @param model * @param request * @param response */ @RequestMapping("stockApplyListCount.html") public void stockApplyListCount(Model model, HttpServletRequest request, HttpServletResponse response) { int count =stockApplyFacade.getStockListCount(request); WebUtil.write(response, String.valueOf(count)); } /** * 删除工单信息 * @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"); SPARE_PART_STORAGE spare_part_storage = new SPARE_PART_STORAGE(id).getInstanceById(); stockApplyFacade.delStockStorage(id); WebUtil.write(response, "1"); } /** * 加载时间 * @param request * @param response */ @RequestMapping("stockTime.html") public void stockTime(HttpServletRequest request,HttpServletResponse response){ String startTime = request.getParameter("startTime"); String day = request.getParameter("day"); Long last1MonthTime=DateUtil.getDateAdd(Long.valueOf(startTime),Integer.valueOf(day),8); WebUtil.write(response, String.valueOf(last1MonthTime)); } /** * 删除备件信息 * @param request(id:gg_xyzzjg_id,index:(1-启用,2-禁止)) * @param response */ @RequestMapping("deleteSpare_part.html") public void deleteSpare_part(HttpServletRequest request,HttpServletResponse response){ String id = request.getParameter("id"); stockApplyFacade.deleteSpare_part(id); WebUtil.write(response, "1"); } /** * 删除备件信息 和 报损报溢信息 * @param request(id:gg_xyzzjg_id,index:(1-启用,2-禁止)) * @param response */ @RequestMapping("deleteSpareOverage_part.html") public void deleteSpareOverage_part(HttpServletRequest request,HttpServletResponse response){ String id = request.getParameter("id"); stockApplyFacade.deleteSpareOverage_part(id); WebUtil.write(response, "1"); } /** * 删除备件信息 * @param request(id:gg_xyzzjg_id,index:(1-启用,2-禁止)) * @param response */ @RequestMapping("deleteSpare_part_lv3.html") public void deleteSpare_part_lv3(HttpServletRequest request,HttpServletResponse response){ String id = request.getParameter("id"); String storage_id = request.getParameter("storage_id"); stockApplyFacade.deleteSpare_part(id,storage_id); WebUtil.write(response, "1"); } /** * 校验资产编号 * @param request * @param response */ @RequestMapping("initAsset_no.html") public void initAsset_no(HttpServletRequest request,HttpServletResponse response){ String num_asset_no=stockApplyFacade.initAsset_no(request); WebUtil.write(response, num_asset_no); } /** * 编辑入库申请信息 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("editStockApply.html") public ModelAndView editStockApply(HttpServletRequest request,HttpServletResponse response) { String id = request.getParameter("id"); String type=request.getParameter("type"); ModelAndView view = new ModelAndView("/business/pages/bpbj/stockApply/editStockApply"); Map info = new HashMap(); if (StringUtil.isNotBlank(id)) { info = baseDao.queryForMap("SELECT A.* FROM SPARE_PART_STORAGE A WHERE A.ID=:id ",new SqlParameter("id",id)); view.addObject("storage", info); id = ConvertUtil.obj2StrBlank(info.get("ID")); view.addObject("storage_id", id); }else{ String storage_id=StringUtil.getUUID(); view.addObject("storage", info); view.addObject("storage_id", storage_id); view.addObject("listStock", ""); } return view; } /** * 新增入库工单保存方法 * @param spare_part_storage * @param request * @param response * @return */ @RequestMapping("editStockSbmit.html") public ModelAndView editStockSbmit(SPARE_PART_STORAGE spare_part_storage, HttpServletRequest request,HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); String type = request.getParameter("type"); String storage_id=params.get("storage_id"); Map user = WebUtil.getLoginUser(request).getLoginUser(); spare_part_storage.setId(storage_id); spare_part_storage.setCreate_id(user.get("ID").toString()); spare_part_storage.setCreate_name( user.get("ZSXM").toString()); stockApplyFacade.addSpare_part_storage(spare_part_storage,type); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('0');"+"window.top.query()", SysInfo.Success,""); } /** * 编辑配置 * * @param model * @param request * @return * @author chenlong */ @RequestMapping(value = "editCfg.html", method = RequestMethod.GET) public String editCfg(Model model, HttpServletRequest request) { String id = request.getParameter("id"); String storage_id = request.getParameter("storage_id"); model.addAttribute("storage_id", storage_id); Map info = new HashMap(); Map params = new HashMap(); params.put("lv", "1"); List lv1List = stockApplyFacade.getCfgcateList(params); params.clear(); model.addAttribute("lv1List", lv1List); if (StringUtil.isNotBlank(id)) { info = stockApplyFacade.getCfgById(id); params.put("pid", info.get("lv1_id")); List lv2List = stockApplyFacade.getCfgcateList(params); model.addAttribute("lv2List", lv2List); params.put("pid", info.get("lv2_id")); List lv3List = stockApplyFacade.getCfgcateList(params); model.addAttribute("lv3List", lv3List); List groupProps = stockApplyFacade.getPropTemplate(ConvertUtil.obj2StrBlank(info.get("lv3_id")), ConvertUtil.obj2StrBlank(info.get("id"))); model.addAttribute("groupProps", groupProps); } model.addAttribute("info", info); List cusList = stockApplyFacade.getCusList(); model.addAttribute("cusList", cusList); return "/business/pages/bpbj/stockApply/editCfg"; } /** * * 新增备件页面 * @param model * @param request * @return * @author chenlong */ @RequestMapping(value = "editBj.html", method = RequestMethod.GET) public String editBj(Model model, HttpServletRequest request) { Map info = new HashMap(); Map params = new HashMap(); String overageId = request.getParameter("id"); //获得报损报溢id params.put("lv", "1"); List lv1List = stockApplyFacade.getCfgcateList(params); params.clear(); model.addAttribute("lv1List", lv1List); params.put("pid", info.get("lv1_id")); List lv2List = stockApplyFacade.getCfgcateList(params); model.addAttribute("lv2List", lv2List); params.put("pid", info.get("lv2_id")); List lv3List = stockApplyFacade.getCfgcateList(params); model.addAttribute("lv3List", lv3List); List groupProps = stockApplyFacade.getPropTemplate(ConvertUtil.obj2StrBlank(info.get("lv3_id")), ConvertUtil.obj2StrBlank(info.get("id"))); model.addAttribute("groupProps", groupProps); model.addAttribute("info", info); List cusList = stockApplyFacade.getCusList(); model.addAttribute("cusList", cusList).addAttribute("overageId",overageId); return "/business/pages/bpbj/stockApply/editBj"; } /** * 保存备件信息 * @param request * @author copy chenglong * @return */ @RequestMapping(value = "editBjAjax.html", method = RequestMethod.POST) public ModelAndView doEditBj(SPARE_PART spare_part,HttpServletRequest request) { Map params = ParamsMapUtil.getParameterMap(request); String id=params.get("id"); if(StringUtil.isNotBlank(id)){ spare_part.setId(id); } Map user = WebUtil.getLoginUser(request).getLoginUser(); spare_part.setCreate_id(user.get("ID").toString()); spare_part.setCreate_name( user.get("ZSXM").toString()); spare_part.setGmt_create(DateUtil.getCurrentDate14()); spare_part.setState(Constants.SPARE_PART_STATE_X); if (StringUtil.isNotBlank(params.get("full_cate_id"))) { String[] cateIdArr = params.get("full_cate_id").split("-"); String[] cateNameArr = params.get("full_cate_name").split("-"); params.put("lv3_id", cateIdArr[2]); params.put("lv3_name", cateNameArr[2]); spare_part.setCate_id(cateIdArr[2]); spare_part.setCreate_name(cateNameArr[2]); /* CMDB_CI_CATEGORY cmdb_ci_category=new CMDB_CI_CATEGORY(cateIdArr[2]).getInstanceById(); String entity_no= String.valueOf(new Random().nextInt((999999)+1000000)); String code=cmdb_ci_category.getCode(); spare_part.setEntity_no(code+"_"+entity_no);*/ } spare_part.insertOrUpdate(); params.put("id", spare_part.getId()); params.put("busId", spare_part.getId()); params.put("linkId", params.get("lv3_id")); stockApplyFacade.saveCfg(params, request); //保存配置 overageLossFacade.editOverageDetail(params); String js ="window.top.hideDialog('2');"+"window.top.dialogIframe0.query()"; return WebUtil.sysInfoPage(request, "操作成功!", js, SysInfo.Success, ""); } /** * 保存备件信息 * @param request * @return */ @RequestMapping(value = "editCfg.html", method = RequestMethod.POST) public ModelAndView doEditCfg(SPARE_PART spare_part,HttpServletRequest request) { Map params = ParamsMapUtil.getParameterMap(request); String storage_id=params.get("storage_id"); String id=params.get("id"); if(StringUtil.isNotBlank(id)){ spare_part.setId(id); } Map user = WebUtil.getLoginUser(request).getLoginUser(); spare_part.setLink_storage_id(storage_id); spare_part.setCreate_id(user.get("ID").toString()); spare_part.setCreate_name( user.get("ZSXM").toString()); spare_part.setGmt_create(DateUtil.getCurrentDate14()); spare_part.setState(Constants.SPARE_PART_STATE_X); if (StringUtil.isNotBlank(params.get("full_cate_id"))) { String[] cateIdArr = params.get("full_cate_id").split("-"); String[] cateNameArr = params.get("full_cate_name").split("-"); params.put("lv3_id", cateIdArr[2]); params.put("lv3_name", cateNameArr[2]); spare_part.setCate_id(cateIdArr[2]); spare_part.setCreate_name(cateNameArr[2]); CMDB_CI_CATEGORY cmdb_ci_category_3=new CMDB_CI_CATEGORY(cateIdArr[2]).getInstanceById(); CMDB_CI_CATEGORY cmdb_ci_category_2=new CMDB_CI_CATEGORY(cateIdArr[1]).getInstanceById(); CMDB_CI_CATEGORY cmdb_ci_category_1=new CMDB_CI_CATEGORY(cateIdArr[0]).getInstanceById(); // String entity_no= String.valueOf(new Random().nextInt((999999)+1000000)); String entity_no=String.valueOf((int)((Math.random()*9+1)*10000000)); String code_3=cmdb_ci_category_3.getCode(); String code_2=cmdb_ci_category_2.getCode(); String code_1=cmdb_ci_category_1.getCode(); spare_part.setEntity_no(code_1+"-"+code_2+"-"+code_3+"-"+entity_no); } spare_part.insertOrUpdate(); params.put("id", spare_part.getId()); params.put("busId", spare_part.getId()); params.put("linkId", params.get("lv3_id")); stockApplyFacade.saveCfg(params, request); String js ="window.top.hideDialog('2');"+"window.top.dialogIframe0.query()"; return WebUtil.sysInfoPage(request, "操作成功!", js, SysInfo.Success, ""); } /** * 免审核批量入库 * * @param model * @param request * @return * @author chenlong */ @RequestMapping(value = "editCfgPl.html", method = RequestMethod.GET) public String editCfgPl(Model model, HttpServletRequest request) { Map info = new HashMap(); Map params = new HashMap(); params.put("lv", "1"); List lv1List = stockApplyFacade.getCfgcateList(params); params.clear(); model.addAttribute("lv1List", lv1List); model.addAttribute("info", info); List cusList = stockApplyFacade.getCusList(); model.addAttribute("cusList", cusList); return "/business/pages/bpbj/stockApply/editCfgPl"; } /** * 批量配置模板 * * @param model * @param request * @return * @author chenlong */ @RequestMapping(value = "editSparePartPl.html") public String cfgTemplatePl(Model model, HttpServletRequest request) { String linkId = request.getParameter("linkId"); List groupProps = stockApplyFacade.getPropTemplate(linkId, null); model.addAttribute("info", new HashMap()); model.addAttribute("groupProps", groupProps); List cusList = stockApplyFacade.getCusList(); model.addAttribute("cusList", cusList); return "/business/pages/bpbj/stockApply/editSparePartPl"; } /** * 保存备件信息 * @param request * @return */ @RequestMapping(value = "editCfgPl.html", method = RequestMethod.POST) public ModelAndView doEditCfgPl(SPARE_PART spare_part,HttpServletRequest request) { SPARE_PART_STORAGE spare_part_storage=new SPARE_PART_STORAGE(); Map params = ParamsMapUtil.getParameterMap(request); Map user = WebUtil.getLoginUser(request).getLoginUser(); spare_part_storage.setCreate_id(user.get("ID").toString()); spare_part_storage.setCreate_name( user.get("ZSXM").toString()); spare_part_storage.setOrder_name(params.get("order_name")); spare_part_storage.setStorage_reason(params.get("storage_reason")); spare_part_storage.setGmt_create(DateUtil.getCurrentDate14()); String storage_id=stockApplyFacade.addSpare_part_storagePl(spare_part_storage); stockApplyFacade.doApproveAssignPl(spare_part_storage); spare_part.setLink_storage_id(storage_id); spare_part.setCreate_id(user.get("ID").toString()); spare_part.setCreate_name( user.get("ZSXM").toString()); String orderNum=ConvertUtil.obj2Str(params.get("order_num")); if(StringUtil.notEmpty(orderNum)){ int num=ConvertUtil.obj2Int(orderNum); if(num>0){ for(int i=0;i cusList = stockApplyFacade.getCusList(); model.addAttribute("cusList", cusList); return "/business/pages/bpbj/stockApply/editSparePart"; } /** * 配置模板 * * @param model * @param request * @return * @author copy chenlong */ @RequestMapping(value = "editSparePartOverage.html") public String editSparePartOverage(Model model, HttpServletRequest request) { String linkId = request.getParameter("linkId"); List groupProps = stockApplyFacade.getPropTemplate(linkId, null); model.addAttribute("info", new HashMap()); model.addAttribute("groupProps", groupProps); List cusList = stockApplyFacade.getCusList(); List codeList = overageLossFacade.getNoteKeyList("BYTYPE"); model.addAttribute("codeList", codeList); model.addAttribute("cusList", cusList); return "/business/pages/bpbj/stockApply/editSparePartOverage"; } /** * 新增备件列表信息 * @param pageInfo * @param model * @param request * @return */ @RequestMapping("stockListData.html") public ModelAndView stockListData(PageInfo pageInfo, HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/bpbj/stockApply/stockListData"); Map params = ParamsMapUtil.getParameterMap(request); PageInfo Info = stockApplyFacade.stockListData(pageInfo, params); modelAndView.addObject("pageInfo", Info); return modelAndView; } /** * 新增报溢备件列表信息 * @param pageInfo * @param request * @return */ @RequestMapping("stockOverageListData.html") public ModelAndView stockOverageListData(PageInfo pageInfo, HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/bpbj/stockApply/stockOverageListData"); Map params = ParamsMapUtil.getParameterMap(request); PageInfo Info = stockApplyFacade.stockOverageListData(pageInfo, params); modelAndView.addObject("pageInfo", Info); return modelAndView; } /** * 新增备件列表树信息 * @param pageInfo * @param model * @param request * @return */ @RequestMapping("stockListTreeData.html") public ModelAndView stockListTreeData(PageInfo pageInfo, HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/bpbj/stockApply/stockListTreeData"); Map params = ParamsMapUtil.getParameterMap(request); List result = stockApplyFacade.stockListTreeData(params); modelAndView.addObject("trees", result); return modelAndView; } /** * 新增备件列表分页 * @param model * @param request * @param response */ @RequestMapping("stockListCount.html") public void stockListCount(HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); params.put("fstate_wc", Constants.CFG_FLOW_WC.toString()); params.put("wc_flag", "1"); int count =stockApplyFacade.stockListCount(params); WebUtil.write(response, String.valueOf(count)); } @RequestMapping("stockOverageListCount.html") public void stockOverageListCount(HttpServletRequest request, HttpServletResponse response) { Map params = ParamsMapUtil.getParameterMap(request); int count =stockApplyFacade.stockOverageListCount(params); WebUtil.write(response, String.valueOf(count)); } /** * 跳转到供应商信息页面 * @param request * @return */ @RequestMapping("subSupplier.html") public ModelAndView subSupplier(HttpServletRequest request){ ModelAndView view = new ModelAndView("/business/pages/bpbj/stockApply/subSupplier"); return view; } /** * 查询供应商信息 * @param request * @return */ @RequestMapping("subSupplierData.html") public ModelAndView subSupplierData(HttpServletRequest request){ ModelAndView view = new ModelAndView("/business/pages/bpbj/stockApply/subSupplierData"); List devices = stockApplyFacade.querySupplier(request); view.addObject("devices", devices); return view; } /** * 选择下一节点 * @param request * @return */ @RequestMapping("selStockNextNode.html") public String selNextNode(Model model,HttpServletRequest request) { String type = request.getParameter("type"); String storage_id = request.getParameter("storage_id"); String order_name = AjaxUtil.decode(request.getParameter("order_name")); String storage_reason = AjaxUtil.decode(request.getParameter("storage_reason")); Map nextNode = new HashMap(); nextNode.put("userId", ""); nextNode.put("userName", ""); model.addAttribute("nextNode", nextNode); model.addAttribute("storage_id", storage_id); model.addAttribute("type", type); model.addAttribute("order_name", order_name); model.addAttribute("storage_reason", storage_reason); return "/business/pages/bpbj/stockApply/selStockNextNode"; } //审批分派提交 @RequestMapping(value="releaseAssign.html", method=RequestMethod.POST) public ModelAndView doReleaseAssign(HttpServletRequest request, HttpServletResponse response) { stockApplyFacade.doApproveAssign(request); String js = "window.top.query();" + "window.top.hideDialog('insideAllot');"+"window.top.hideDialog('0');"; return WebUtil.sysInfoPage(request, "操作成功!", js, SysInfo.Success, ""); } /** * 工单详细信息 */ @RequestMapping(value="stockDetail.html") public String orderInfo(Model model,HttpServletRequest request) { String orderId = request.getParameter("orderId"); //SPARE_PART_STORAGE storage = new SPARE_PART_STORAGE(orderId).getInstanceById(); Map contact = new SPARE_PART_STORAGE(orderId).getBeanMapById(); String flowId = ConvertUtil.obj2StrBlank(contact.get("flow_id")); model.addAttribute("baseMsg",contact); model.addAttribute("orderId",orderId); model.addAttribute("flowId",flowId); return "/business/pages/bpbj/stockApply/stockDetail"; } /** * 备件详细信息 * @param model * @param request * @return */ @RequestMapping("sparePartDetail.html") public String cfgInfoIndex(Model model, HttpServletRequest request) { String id = request.getParameter("id"); String type = request.getParameter("type"); Map info = stockApplyFacade.getCfgById(id); //报损报溢工单id String orderId = request.getParameter("orderId"); String detail_id = request.getParameter("detail_id"); if(StringUtil.isNotBlank(orderId)){ if(type.equals("byxg")){ List overage_loss_detail = stockApplyFacade.getOverage_loss_detail(orderId,id); if(overage_loss_detail!=null&&overage_loss_detail.size()>0){ info.put("REASON",ConvertUtil.obj2StrBlank(overage_loss_detail.get(0).get("REASON"))); info.put("NOTE",ConvertUtil.obj2StrBlank(overage_loss_detail.get(0).get("NOTE"))); } }else{ List overage_loss_detail = stockApplyFacade.getOverage_loss_detail(orderId,id); if(overage_loss_detail!=null&&overage_loss_detail.size()>0){ info.put("REASON",ConvertUtil.obj2StrBlank(overage_loss_detail.get(0).get("REASON"))); info.put("NOTE",ConvertUtil.obj2StrBlank(overage_loss_detail.get(0).get("NOTE"))); } } }else{ model.addAttribute("overage_loss_detail", ""); } if(StringUtil.isNotBlank(type)){ if(type.equals("bsxg")){ List codeList = overageLossFacade.getNoteKeyList("BSLX"); model.addAttribute("codeList", codeList); OVERAGE_LOSS_DETAIL overage_loss_detail=new OVERAGE_LOSS_DETAIL(detail_id).getInstanceById(); model.addAttribute("reason_key", overage_loss_detail.getReason_key()); model.addAttribute("reason", overage_loss_detail.getReason()); model.addAttribute("detail_id", detail_id); model.addAttribute("note", overage_loss_detail.getNote()); } if(type.equals("byxg")){ List codeList = overageLossFacade.getNoteKeyList("BYTYPE"); model.addAttribute("codeList", codeList); OVERAGE_LOSS_DETAIL overage_loss_detail=new OVERAGE_LOSS_DETAIL(detail_id).getInstanceById(); model.addAttribute("reason_key", overage_loss_detail.getReason_key()); model.addAttribute("reason", overage_loss_detail.getReason()); model.addAttribute("detail_id", detail_id); model.addAttribute("note", overage_loss_detail.getNote()); } } List groupProps = stockApplyFacade.getPropTemplate(ConvertUtil.obj2StrBlank(info.get("CATE_ID")), ConvertUtil.obj2StrBlank(info.get("id"))); model.addAttribute("groupProps", groupProps); model.addAttribute("info", info); return "/business/pages/bpbj/stockApply/sparePartDetail"; } }