package cn.ksource.web.controller.business.pages.bpbj; import java.io.*; import java.util.ArrayList; 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 cn.ksource.core.util.*; import org.aspectj.weaver.ast.Var; 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.SC_WORKFLOW_RELEASE; import cn.ksource.beans.SPARE_PART; import cn.ksource.beans.SPARE_PART_APPLY; import cn.ksource.beans.SPARE_PART_DELIVERY; import cn.ksource.beans.SPARE_PART_STORAGE; import cn.ksource.beans.WORKFLOW_BASE; 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.DeliveryApplyFacade; import cn.ksource.web.facade.bpbj.SparePartsFacade; import cn.ksource.web.facade.bpbj.StockApplyFacade; import cn.ksource.web.facade.bpbj.StockQueryFacade; 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.incident.IncidentFacade; import cn.ksource.web.facade.link.LinkFacade; @Controller @RequestMapping("/business/pages/bpbj/spareParts") public class SparePartsController { @Resource private SparePartsFacade sparePartsFacade; @Autowired private IncidentFacade incidentFacade; @Resource private DeliveryApplyFacade deliveryApplyFacade; @Resource(name="baseDao") private BaseDao baseDao; /** * 跳转到入库查询 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("sparePartsApplyList.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); //项目列表 List cusList = sparePartsFacade.getCustomerList(); Map num = sparePartsFacade.queryOrderCountByCate(request); model.addAttribute("num", num); model.addAttribute("customers", cusList); model.addAttribute("type", "bjsl"); return "/business/pages/bpbj/spareParts/sparePartsApplyList"; } /** * 入库查询列表数据 * @param pageInfo * @param model * @param request * @return */ @RequestMapping("sparePartsApplyListData.html") public String stockApplyListData(Model model, HttpServletRequest request,PageInfo pageInfo) { PageInfo info = sparePartsFacade.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/spareParts/sparePartsApplyListData"; } /** * 详情中的备件分类明细列表数据 * @param pageInfo * @param model * @param request * @return */ @RequestMapping("applyCateListData.html") public String ApplyCateListData(Model model, HttpServletRequest request,PageInfo pageInfo) { Map params = ParamsMapUtil.getParameterMap(request); String orderId = request.getParameter("orderId"); //备件申请列表 List spareDeviceList = sparePartsFacade.querySpareDeviceList(orderId); model.addAttribute("spareDeviceList", spareDeviceList); return "/business/pages/bpbj/spareParts/applyCateListData"; } /** * 分页查询 * @param model * @param request * @param response */ @RequestMapping("sparePartsApplyListCount.html") public void stockApplyListCount(Model model, HttpServletRequest request, HttpServletResponse response) { int count =sparePartsFacade.getStockListCount(request); WebUtil.write(response, String.valueOf(count)); } /** * 编辑出库申请信息 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("confirmSparePartsApply.html") public ModelAndView confirmSparePartsApply(HttpServletRequest request,HttpServletResponse response) { String orderId = request.getParameter("orderId"); ModelAndView view = new ModelAndView("/business/pages/bpbj/spareParts/confirmSparePartsApply"); Map baseMsg = new SPARE_PART_APPLY(orderId).getBeanMapById(); view.addObject("baseMsg", baseMsg); String delivery_order_id=ConvertUtil.obj2StrBlank(baseMsg.get("DELIVERY_ORDER_ID")); if(StringUtil.isNotBlank(delivery_order_id)){ SPARE_PART_DELIVERY spare_part_delivery=new SPARE_PART_DELIVERY(delivery_order_id).getInstanceById(); String order_code_c=spare_part_delivery.getOrder_code(); baseMsg.put("order_code_c", order_code_c); }else{ baseMsg.put("order_code_c", ""); } view.addObject("orderId", orderId); String flowId = ConvertUtil.obj2StrBlank(baseMsg.get("flow_id")); view.addObject("flowId",flowId); return view; } /** * 备件分类明细列表信息 * @param request * @return */ @RequestMapping("entityListTreeData.html") public ModelAndView deliveryListTreeData(HttpServletRequest request) { String orderId = request.getParameter("orderId"); String id_test = request.getParameter("id_test"); String type = request.getParameter("type"); String url=""; if(StringUtil.isNotBlank(type)){ if(type.equals("xq")){ url="/business/pages/bpbj/spareParts/entityDetailListTreeData"; } }else{ url="/business/pages/bpbj/spareParts/entityListTreeData"; } ModelAndView modelAndView = new ModelAndView(url); //备件分类明细列表 if(StringUtil.isNotBlank(orderId)||StringUtil.isNotBlank(id_test)){ List apply_cate = deliveryApplyFacade.queryApplyCateList(request); modelAndView.addObject("apply_cate", apply_cate); } modelAndView.addObject("orderId", orderId); modelAndView.addObject("type", type); return modelAndView; } /** * 关联配置保存 * @param xyzzjg * @param request * @param response * @return */ @RequestMapping("editItem.html") public ModelAndView onAddBmSubmit(HttpServletRequest request,HttpServletResponse response){ sparePartsFacade.doEditCiId(request); String execJs = ""; execJs = "window.top.query();window.top.hideDialog('0');"; return WebUtil.sysInfoPage(request, "操作成功!",execJs,SysInfo.Success,""); } /** * 编辑入库申请信息 * * @param model * @param request * @return * @author chenlong */ @RequestMapping("editSparePartsApply.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/spareParts/editSparePartsApply"); Map info = new HashMap(); if (StringUtil.isNotBlank(id)) { info = baseDao.queryForMap("SELECT A.* FROM SPARE_PART_APPLY A WHERE A.ID=:id ",new SqlParameter("id",id)); view.addObject("info", info); id = ConvertUtil.obj2StrBlank(info.get("ID")); view.addObject("orderId", id); //备件申请列表 List spareDeviceList = sparePartsFacade.querySpareDeviceList(id); view.addObject("spareDeviceList", spareDeviceList); SPARE_PART_APPLY spare_part_apply=new SPARE_PART_APPLY(id).getInstanceById(); String flowid= spare_part_apply.getFlow_id(); if(StringUtil.isNotBlank(flowid)){ List linkDeviceList = sparePartsFacade.queryLinkDeviceList(flowid); view.addObject("linkDeviceList", linkDeviceList); } }else{ view.addObject("info", info); view.addObject("orderId", ""); view.addObject("listStock", ""); } //项目列表 List cusList = sparePartsFacade.getCustomerList(); view.addObject("customers", cusList); return view; } /** * 跳转到关联设备信息页面 */ @RequestMapping("bjIinkDevice.html") public ModelAndView linkDevice(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/bpbj/spareParts/bjIinkDevice"); String ciIds = request.getParameter("ciIds"); String customerid = request.getParameter("customerid"); String spare_part_apply_entity_id = request.getParameter("spare_part_apply_entity_id"); String orderId = request.getParameter("orderId"); String type = request.getParameter("type"); String subCustomerName = sparePartsFacade.getCustomerName(customerid); modelAndView.addObject("subCustomerName", subCustomerName); modelAndView.addObject("ciIds", ciIds); modelAndView.addObject("type", type); modelAndView.addObject("orderId", orderId); modelAndView.addObject("spare_part_apply_entity_id", spare_part_apply_entity_id); return modelAndView; } /** * 查询关联设备 */ @RequestMapping("deviceList.html") public ModelAndView deviceList(HttpServletRequest request) { String type=request.getParameter("type"); String url=""; if(type.equals("1")){ url="/business/pages/bpbj/spareParts/deviceCfgList"; }else if(type.equals("2")){ url="/business/pages/bpbj/spareParts/deviceCfgDetailList"; }else{ url="/business/pages/bpbj/spareParts/deviceList"; } ModelAndView modelAndView = new ModelAndView(url); List devices = sparePartsFacade.queryLinkDevice(request); modelAndView.addObject("devices", devices); return modelAndView; } /** * 跳转到添加备品备件申领页面 */ @RequestMapping("spareDevice.html") public ModelAndView spareDevice(HttpServletRequest request) { String urlString="/business/pages/bpbj/spareParts/spareDevice"; String type=request.getParameter("type"); if(StringUtil.isNotBlank(type)){ if(type.equals("bjtj")){ urlString="/business/pages/tj/sparePartStatis/spareTjDevice"; }else if(type.equals("cx")){ urlString="/business/pages/supplier/spareCxDevice"; } } List trees = sparePartsFacade.stockListTreeData(request); ModelAndView modelAndView = new ModelAndView(urlString); modelAndView.addObject("trees", trees); modelAndView.addObject("type", type); return modelAndView; } /** * 保存申领备件信息 * @param spare_part_storage * @param request * @param response * @return */ @RequestMapping("editSpareSbmit.html") public ModelAndView editStockSbmit(SPARE_PART_APPLY spare_part_apply, HttpServletRequest request,HttpServletResponse response) { String type = request.getParameter("type"); String orderId = sparePartsFacade.saveSpare(request,spare_part_apply); return WebUtil.sysInfoPage(request, "操作成功!", "window.top.hideDialog('0');"+"window.top.query()", SysInfo.Success,""); } /** * 选择下一节点 * @param request * @return */ @RequestMapping("selSpareNextNode.html") public String selNextNode(Model model,HttpServletRequest request) { String type = request.getParameter("type"); String orderId = request.getParameter("orderId"); if(StringUtil.isNotBlank(orderId)){ List cusList = sparePartsFacade.getFlowList(orderId); if(cusList!=null && cusList.size()>0){ String flowid=cusList.get(0).get("flowid").toString(); String nexNodeId=cusList.get(0).get("nextNoid").toString(); model.addAttribute("flowId", flowid); model.addAttribute("nexNodeId", nexNodeId); } model.addAttribute("orderId", orderId); } model.addAttribute("type", type); return "/business/pages/bpbj/spareParts/selSpareNextNode"; } //审批分派提交 @RequestMapping(value="releaseAssign.html", method=RequestMethod.POST) public ModelAndView doReleaseAssign(HttpServletRequest request, HttpServletResponse response) { sparePartsFacade.doApproveAssign(request); String js = "window.top.query();" + "window.top.hideDialog('insideAllot');"+"window.top.hideDialog('0');"; return WebUtil.sysInfoPage(request, "操作成功!", js, SysInfo.Success, ""); } /** * 工单详细信息 */ @RequestMapping(value="spareDetail.html") public String spareDetail(Model model,HttpServletRequest request) { String orderId = request.getParameter("orderId"); Map baseMsg = new SPARE_PART_APPLY(orderId).getBeanMapById(); String flowId = ConvertUtil.obj2StrBlank(baseMsg.get("flow_id")); String delivery_order_id=ConvertUtil.obj2StrBlank(baseMsg.get("DELIVERY_ORDER_ID")); if(StringUtil.isNotBlank(delivery_order_id)){ SPARE_PART_DELIVERY spare_part_delivery=new SPARE_PART_DELIVERY(delivery_order_id).getInstanceById(); String order_code_c=spare_part_delivery.getOrder_code(); baseMsg.put("order_code_c", order_code_c); }else{ baseMsg.put("order_code_c", ""); } model.addAttribute("baseMsg",baseMsg); model.addAttribute("orderId",orderId); model.addAttribute("flowId",flowId); return "/business/pages/bpbj/spareParts/spareDetail"; } /** * 删除工单信息 * @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"); sparePartsFacade.delSpareSpart(id); WebUtil.write(response, "1"); } /** * 删除工单信息 * @param request(id:gg_xyzzjg_id,index:(1-启用,2-禁止)) * @param response */ @RequestMapping("initCateNum.html") public void initCateNum(HttpServletRequest request,HttpServletResponse response){ String num=sparePartsFacade.initCateNum(request); WebUtil.write(response, num); } /** * 校验提交前信息 * @param request * @param response */ @RequestMapping("initDelivery.html") public void initDelivery(HttpServletRequest request,HttpServletResponse response){ String result=sparePartsFacade.initDelivery(request); WebUtil.write(response, result); } /** * 跳转到事件流转记录页面 */ @RequestMapping("lcRecord.html") public ModelAndView lczRecord(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("/business/pages/bpbj/spareParts/bpbjLcRecord"); String flowId = request.getParameter("flowId"); List lzs = incidentFacade.incidentLzRecord(flowId); modelAndView.addObject("lzs", lzs); return modelAndView; } }