package com.iamberry.rst.controllers.cm; import com.iamberry.rst.core.cm.*; import com.iamberry.rst.core.order.Product; import com.iamberry.rst.core.page.PageRequest; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.pts.PtsMachine; import com.iamberry.rst.core.pts.PtsSalesCompany; import com.iamberry.rst.faces.cm.*; import com.iamberry.rst.faces.product.ProductService; import com.iamberry.rst.faces.pts.MachineService; import com.iamberry.rst.faces.pts.PtsSalesCompanyService; import com.iamberry.rst.service.pts.mapper.MachineMapper; import com.iamberry.rst.utils.StitchAttrUtil; import com.iamberry.wechat.tools.ResponseJson; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; /** * Created by wxm * 问题 */ @Controller @RequestMapping("/admin/maintenance") public class ComplaintMaintenanceController { @Autowired private ComplaintMaintenanceInfoService complaintMaintenanceInfoService; @Autowired private MachineService machineService; @Autowired private ProductService productService; @Autowired private PtsSalesCompanyService ptsSalesCompanyService; @Autowired private ComplaintDetectInfoService complaintDetectInfoService; /** * 客诉 - 查询签收/仓储列表 * @param request * @return */ @RequiresPermissions("maintenance:select:maintenance") @RequestMapping("/select_maintenance_list") public ModelAndView selectmaintenanceList(HttpServletRequest request, @RequestParam(value = "pageNO", defaultValue = "1", required = false) int pageNO, @RequestParam(value = "pageTotal", required = false) Integer pageTotal, @RequestParam(value = "pageSize", defaultValue = "5", required = false) int pageSize, ComplaintMaintenanceInfo complaintMaintenanceInfo) { ModelAndView mv = new ModelAndView("cm/maintenance/maintenance_list"); // 封装请求数据 PageRequest pageRequest = new PageRequest<>(complaintMaintenanceInfo, pageNO, pageSize, pageTotal == null); PagedResult result = complaintMaintenanceInfoService.listMaintenance(pageRequest); long total = 0; if (pageTotal == null) { total = result.getPages(); } else { total = pageTotal; result.setPages(total); } StitchAttrUtil.setModelAndView(complaintMaintenanceInfo, mv, "/admin/maintenance/select_maintenance_list", result); return mv; } /** * 修改维修记录 * * @return */ @ResponseBody @RequiresPermissions("maintenance:update:maintenance") @RequestMapping(value = "/update_maintenance") public ResponseJson updateMaintenance(HttpServletRequest request,ComplaintMaintenanceInfo maintenanceInfo)throws Exception{ ResponseJson msg = new ResponseJson(); if(maintenanceInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } String maintenanceContentDate = request.getParameter("maintenanceContent_Date"); if(maintenanceContentDate != null){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); maintenanceInfo.setMaintenanceContentDate(format.parse(maintenanceContentDate)); } if(maintenanceInfo.getProductId() != null){ maintenanceInfo.setProductColorId(Integer.valueOf(request.getParameter("colorId"+maintenanceInfo.getProductId()))); maintenanceInfo.setMaintenanceEquipmentNumber(request.getParameter("maintenanceEquipmentNumber"+maintenanceInfo.getProductId())); } Product product = productService.getProduce(maintenanceInfo.getProductId()); maintenanceInfo.setMaintenanceProductNumber(product.getProductNumber()); Integer num = complaintMaintenanceInfoService.updateMaintenanceById(maintenanceInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 跳转到修改维修记录页面 * * @return */ @RequiresPermissions("maintenance:update:maintenance") @RequestMapping(value = "/to_update_maintenance") public ModelAndView toUpdateMaintenance(HttpServletRequest request,Integer maintenanceId) { ModelAndView mv = new ModelAndView("cm/maintenance/update_maintenance"); //获取所有产品及其颜色,配件 Product product = new Product(); List productList = productService.listProductAndColorAndfittings(product); ComplaintMaintenanceInfo complaintMaintenanceInfo = complaintMaintenanceInfoService.getMaintenanceByid(maintenanceId); mv.addObject("productList",productList); mv.addObject("maintenanceInfo",complaintMaintenanceInfo); return mv; } /** * 跳转到增加维修记录页面 * * @return */ @RequiresPermissions("maintenance:add:maintenance") @RequestMapping(value = "/to_add_maintenance") public ModelAndView toAddMaintenance(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/maintenance/add_maintenance"); //获取所有产品及其颜色,配件 Product product = new Product(); List productList = productService.listProductAndColorAndfittings(product); mv.addObject("productList",productList); return mv; } /** * 增加维修记录 * * @return */ @ResponseBody @RequiresPermissions("maintenance:add:maintenance") @RequestMapping(value = "/add_maintenance") public ResponseJson addMaintenance(HttpServletRequest request,ComplaintMaintenanceInfo maintenanceInfo) throws Exception { ResponseJson msg = new ResponseJson(); if(maintenanceInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } String maintenanceContentDate = request.getParameter("maintenanceContent_Date"); if(maintenanceContentDate != null){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); maintenanceInfo.setMaintenanceContentDate(format.parse(maintenanceContentDate)); } if(maintenanceInfo.getProductId() != null){ maintenanceInfo.setProductColorId(Integer.valueOf(request.getParameter("colorId"+maintenanceInfo.getProductId()))); maintenanceInfo.setMaintenanceEquipmentNumber(request.getParameter("maintenanceEquipmentNumber"+maintenanceInfo.getProductId())); } Product product = productService.getProduce(maintenanceInfo.getProductId()); maintenanceInfo.setMaintenanceProductNumber(product.getProductNumber()); maintenanceInfo.setMaintenanceCreateTime(new Date()); Integer num = complaintMaintenanceInfoService.insert(maintenanceInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * *根据机器编号搜索机器出库记录 * @return */ @ResponseBody @RequiresPermissions("maintenance:update:maintenance") @RequestMapping(value = "/select_outbound") public ResponseJson selectOutbound(HttpServletRequest request,String machineNum){ ResponseJson msg = new ResponseJson(); if(machineNum == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } PtsMachine ptsMachine = machineService.getMachineByBarCode(machineNum); if (ptsMachine == null) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); msg.addResponseKeyValue("ptsMachine",ptsMachine); } return msg; } /** * 跳转到完善机器编号页面 * * @return */ @RequiresPermissions("maintenance:update:maintenance") @RequestMapping(value = "/to_perfecting_machine") public ModelAndView toPerfectingMachine(HttpServletRequest request,Integer maintenanceId) { ModelAndView mv = new ModelAndView("cm/maintenance/perfecting_machine"); PtsSalesCompany ptsSalesCompany = new PtsSalesCompany(); List listSalesCompany = ptsSalesCompanyService.listPtsSalesCompany(ptsSalesCompany); mv.addObject("listSalesCompany",listSalesCompany); ComplaintMaintenanceInfo complaintMaintenanceInfo = complaintMaintenanceInfoService.getMaintenanceByid(maintenanceId); mv.addObject("maintenanceInfo",complaintMaintenanceInfo); return mv; } /** * 完善机器编号(出库录入) */ @ResponseBody @RequiresPermissions("maintenance:update:maintenance") @RequestMapping("/perfecting_machine") public ResponseJson perfectingMachine(HttpServletRequest request, ComplaintMaintenanceInfo complaintMaintenanceInfo)throws Exception { ResponseJson rj = new ResponseJson(500, "ERROR", 500); if(complaintMaintenanceInfo == null){ return rj; } PtsMachine ptsMachine = machineService.getMachineByBarCode(complaintMaintenanceInfo.getMaintenanceEquipmentNumber()); if(ptsMachine == null){ return rj; } if(ptsMachine.getMachineSalesState() == 2){//如果未出库,则将该机器编号录入到这条维修任务 String machineSalesCompanyId = request.getParameter("machineSalesCompanyId"); //销售公司 String machineSales_date = request.getParameter("machineSales_date");//销售时间 if(machineSalesCompanyId == null || machineSalesCompanyId.equals("")|| machineSales_date == null || machineSales_date.equals("")){ return rj; } SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date machineSalesDate = format.parse(machineSales_date); //将机器出库 PtsMachine machine = new PtsMachine(); machine.setMachineBarcode(complaintMaintenanceInfo.getMaintenanceEquipmentNumber()); machine.setMachineSalesDate(machineSalesDate); machine.setMachineSalesCompanyId(Integer.valueOf(machineSalesCompanyId)); machine.setMachineSalesState(1); //设置状态为已售出 int flag = machineService.updateMachineSalesInfo(machine); if(flag < 1){ rj.setResultCode(500); rj.setResultMsg("ERROR"); rj.setReturnCode(500); return rj; }else{ rj.setResultCode(200); rj.setResultMsg("SUCCESS"); rj.setReturnCode(200); } } int msg = complaintMaintenanceInfoService.updateMaintenanceById(complaintMaintenanceInfo); if(msg < 1){ rj.setResultCode(500); rj.setResultMsg("ERROR"); rj.setReturnCode(500); }else{ rj.setResultCode(200); rj.setResultMsg("SUCCESS"); rj.setReturnCode(200); } return rj; } /** * 跳转到完成返修页面 * * @return */ @RequiresPermissions("maintenance:update:maintenance") @RequestMapping(value = "/to_complete_reorder") public ModelAndView toCompleteReorder(HttpServletRequest request,Integer maintenanceId) { ModelAndView mv = new ModelAndView("cm/maintenance/complete_reorder"); ComplaintMaintenanceInfo complaintMaintenanceInfo = complaintMaintenanceInfoService.getMaintenanceByid(maintenanceId); mv.addObject("maintenanceInfo",complaintMaintenanceInfo); return mv; } /** * 完成返修 * * @return */ @ResponseBody @RequiresPermissions("maintenance:update:maintenance") @RequestMapping(value = "/complete_reorder") public ResponseJson completeReorder(HttpServletRequest request,ComplaintMaintenanceInfo maintenanceInfo)throws Exception{ ResponseJson msg = new ResponseJson(); if(maintenanceInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } Integer num = complaintMaintenanceInfoService.updateMaintenanceById(maintenanceInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 跳转到查看品检页面 * * @return */ @RequiresPermissions("maintenance:update:maintenance") @RequestMapping(value = "/to_view_detect") public ModelAndView toViewDetect(HttpServletRequest request,Integer detectId) { ModelAndView mv = new ModelAndView("cm/maintenance/view_detect"); ComplaintDetectInfo complaintDetectInfo = complaintDetectInfoService.getComplaintDetectById(detectId); mv.addObject("detectInfo",complaintDetectInfo); return mv; } }