package com.iamberry.rst.controllers.cm; import com.iamberry.rst.core.cm.*; import com.iamberry.rst.core.order.Order; import com.iamberry.rst.core.order.Product; import com.iamberry.rst.core.order.RentType; import com.iamberry.rst.core.page.PageRequest; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.pts.PtsDevice; import com.iamberry.rst.faces.cm.AwaitingSignclosedProductInfoService; import com.iamberry.rst.faces.cm.ComplaintDetectInfoService; import com.iamberry.rst.faces.cm.ComplaintSignclosedProductInfoService; import com.iamberry.rst.faces.cm.FittingsInfoService; import com.iamberry.rst.faces.product.ProductService; import com.iamberry.rst.service.cm.mapper.AwaitingSignclosedProductMapper; import com.iamberry.rst.service.cm.mapper.ComplaintSignclosedInfoMapper; import com.iamberry.rst.service.cm.mapper.ComplaintSignclosedProductInfoMapper; import com.iamberry.rst.utils.AdminUtils; import com.iamberry.wechat.tools.ResponseJson; import org.apache.commons.lang.StringUtils; 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.SimpleDateFormat; import java.util.Date; import java.util.List; /** * Created by wxm on 2017/8/29. */ @Controller @RequestMapping("/admin/detect") public class AdminDetectController { // private @Autowired private ComplaintDetectInfoService complaintDetectInfoService; @Autowired private ProductService productService; @Autowired private ComplaintSignclosedInfoMapper complaintSignclosedInfoMapper; @Autowired private ComplaintSignclosedProductInfoService signclosedProductInfoService; @Autowired private AwaitingSignclosedProductInfoService awaitingSignclosedProductService; /** * 跳转到添加检测记录页面 * * @return */ @RequiresPermissions("detect:add:detect") @RequestMapping(value = "/to_add_detect") public ModelAndView toAddDetect(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/add_detect"); Product product = new Product(); List productList = productService.listProductAndColorAndfittings(product); mv.addObject("productList",productList); /*//获取所有配件 List listFittings = fittingsInfoService.listFittings(); mv.addObject("listFittings",listFittings);*/ return mv; } /** * 客诉 - 查询品质检测列表 * @param request * @return */ @RequiresPermissions("detect:select:detect") @RequestMapping("/select_detect_list") public ModelAndView selectDetectList(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, ComplaintDetectInfo detectInfo) { ModelAndView mv = new ModelAndView("cm/inspection/detect_list"); StringBuilder url = new StringBuilder("/admin/detect/select_detect_list?pageSize=" + pageSize); // 请求参数 if (StringUtils.isNotEmpty(detectInfo.getDetectPhenomenon())) { url.append("&detectPhenomenon=").append(detectInfo.getDetectPhenomenon()); mv.addObject("detectPhenomenon",detectInfo.getDetectPhenomenon()); } if (StringUtils.isNotEmpty(detectInfo.getDetectFailureCause())) { url.append("&detectFailureCause=").append(detectInfo.getDetectFailureCause()); mv.addObject("detectFailureCause",detectInfo.getDetectFailureCause()); } if (StringUtils.isNotEmpty(detectInfo.getDetectPoint())) { url.append("&detectPoint=").append(detectInfo.getDetectPoint()); mv.addObject("detectPoint",detectInfo.getDetectPoint()); } if (StringUtils.isNotEmpty(detectInfo.getDetectAnalysis())) { url.append("&detectAnalysis=").append(detectInfo.getDetectAnalysis()); mv.addObject("detectAnalysis",detectInfo.getDetectAnalysis()); } if (detectInfo.getDetectState() != null && detectInfo.getDetectState() != -1) { url.append("&detectState=").append(detectInfo.getDetectState()); mv.addObject("detectState",detectInfo.getDetectState()); } if (StringUtils.isNotEmpty(detectInfo.getDetectFailureClassification())) { url.append("&detectFailureClassification=").append(detectInfo.getDetectFailureClassification()); mv.addObject("detectFailureClassification",detectInfo.getDetectFailureClassification()); } if (detectInfo.getDetectProductType() != null && detectInfo.getDetectProductType() != -1) { url.append("&detectProductType=").append(detectInfo.getDetectProductType()); mv.addObject("detectProductType",detectInfo.getDetectProductType()); } // 封装请求数据 PageRequest pageRequest = new PageRequest<>(detectInfo, pageNO, pageSize, pageTotal == null); // 查询订单列表 PagedResult result = complaintDetectInfoService.listComplaintDetect(pageRequest); long total = 0; if (pageTotal == null) { total = result.getPages(); } else { total = pageTotal; result.setPages(total); } url.append("&pageTotal=").append(total).append("&pageNO="); mv.addObject("page", result); mv.addObject("url", url.toString()); return mv; } /** * 添加检测信息 * @param request * @return * @throws Exception */ @RequiresPermissions("detect:add:detect") @ResponseBody @RequestMapping("/add_detect") public ResponseJson addDetect(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception { ResponseJson msg = new ResponseJson(); if(detectInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } if(detectInfo.getProductId() == null || detectInfo.getProductId().equals("")){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } if(detectInfo.getProductId() != null){ detectInfo.setProductColorId(Integer.valueOf(request.getParameter("colorId"+detectInfo.getProductId()))); detectInfo.setMachineNo(request.getParameter("maintenanceEquipmentNumber"+detectInfo.getProductId())); } Product product = productService.getProduce(detectInfo.getProductId()); detectInfo.setDetectProductNumber(product.getProductNumber()); String detectDate = request.getParameter("detect_date"); if(detectDate == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); detectInfo.setDetectDate(format.parse(detectDate)); Integer num = complaintDetectInfoService.insert(detectInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 跳转到添加检测备注页面 * * @return */ @RequiresPermissions("info:update:info") @RequestMapping(value = "/to_add_remark") public ModelAndView toAddRemark(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/add_remark"); String detectId = request.getParameter("detectId"); if(detectId == null || detectId.equals("")){ return mv; } ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId)); mv.addObject("detectId",detectId); mv.addObject("detectInfo",detectInfo); return mv; } /** * 跳转到添加修改转入信息页面 * * @return */ @RequiresPermissions("remark:add:remark") @RequestMapping(value = "/to_produced_info") public ModelAndView toProducedInfo(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/update_produced_info"); String detectId = request.getParameter("detectId"); String state = request.getParameter("state"); if(detectId == null || detectId.equals("")){ return mv; } ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId)); mv.addObject("detectId",detectId); mv.addObject("detectInfo",detectInfo); mv.addObject("state",state); return mv; } /** * 跳转到检测完成页面 * * @return */ @RequiresPermissions("complete:update:complete") @RequestMapping(value = "/to_detect_complete") public ModelAndView toDetectComplete(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/detect_complete"); String detectId = request.getParameter("detectId"); if(detectId == null || detectId.equals("")){ return mv; } ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId)); mv.addObject("detectId",detectId); mv.addObject("detectInfo",detectInfo); return mv; } /** * 添加/修改检测信息 * @param request * @return * @throws Exception */ @RequiresPermissions("remark:add:remark") @ResponseBody @RequestMapping("/add_remark") public ResponseJson addRemark(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception { ResponseJson msg = new ResponseJson(); if(detectInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } if(detectInfo.getDetectId() == null || detectInfo.getDetectId().equals("")){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } if(detectInfo.getDetectIsMaintenance() == 2){ //选择不需要转入时 detect_revolution_produced 统一改为待转入 detectInfo.setDetectRevolutionProduced(1); } Integer num = complaintDetectInfoService.updateComplaintDetectById(detectInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 检测完成 * @param request * @return * @throws Exception */ @RequiresPermissions("complete:update:complete") @ResponseBody @RequestMapping("/detect_complete") public ResponseJson detect_complete(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception { ResponseJson msg = new ResponseJson(); if(detectInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } if(detectInfo.getDetectId() == null || detectInfo.getDetectId().equals("")){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } if(detectInfo.getDetectIsMaintenance() == 2){ //选择不需要转入时 detect_revolution_produced 统一改为待转入 detectInfo.setDetectRevolutionProduced(1); } Integer num = complaintDetectInfoService.updateComplaintDetect(detectInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 跳转到查看仓储进度页面 * * @return */ @RequiresPermissions("complete:update:complete") @RequestMapping(value = "/to_view_progress") public ModelAndView toViewProgress(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/view_progress"); String signclosedId = request.getParameter("signclosedId"); if(signclosedId == null || signclosedId.equals("")){ return mv; } if(Integer.valueOf(signclosedId) == 0){ return mv; } List signclosedProductInfo = null; List awaitingSignclosedProductInfo = null; ComplaintSignclosedInfo complaintSignclosedInfo = complaintSignclosedInfoMapper.getSignclosedById(Integer.valueOf(signclosedId)); if(complaintSignclosedInfo.getSignclosedState() == 1){//如果已签收。查询签收表所有产品 反之查询待签收表 signclosedProductInfo = signclosedProductInfoService.listSignclosedById(complaintSignclosedInfo.getSignclosedId()); }else{ awaitingSignclosedProductInfo = awaitingSignclosedProductService.listByPrimaryId(complaintSignclosedInfo.getSignclosedId()); } mv.addObject("signclosedProductInfo",signclosedProductInfo == null ? awaitingSignclosedProductInfo :signclosedProductInfo); mv.addObject("signclosedInfo",complaintSignclosedInfo); mv.addObject("signclosedId",signclosedId); return mv; } /** * 跳转到查看物流信息页面 * * @return */ @RequiresPermissions("complete:update:complete") @RequestMapping(value = "/to_view_logistics") public ModelAndView toViewLogistics(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/logistics/view_logistics"); String billCode = request.getParameter("billCode"); String billName = request.getParameter("billName"); if(billCode == null || billCode.equals("") ||billName == null || billName.equals("")){ return mv; } mv.addObject("billCode",billCode); mv.addObject("billName",billName); return mv; } /** * 增加催促提醒 * @param request * @return * @throws Exception */ @RequiresPermissions("reminding:add:reminding") @ResponseBody @RequestMapping("/add_reminding") public ResponseJson add_reminding(HttpServletRequest request,ComplaintSignclosedInfo complaintSignclosedInfo) throws Exception { ResponseJson msg = new ResponseJson(); Integer num = complaintSignclosedInfoMapper.updateUrgedNumById(complaintSignclosedInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 跳转到修改检测完成信息页面 * * @return */ @RequiresPermissions("complete:update:complete") @RequestMapping(value = "/to_update_complete") public ModelAndView toUpdateComplete(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/update_complete"); String detectId = request.getParameter("detectId"); if(detectId == null || detectId.equals("")){ return mv; } ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId)); mv.addObject("detectId",detectId); mv.addObject("detectInfo",detectInfo); return mv; } /** * 检测完成 * @param request * @return * @throws Exception */ @RequiresPermissions("complete:update:complete") @ResponseBody @RequestMapping("/update_complete") public ResponseJson update_complete(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception { ResponseJson msg = new ResponseJson(); if(detectInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } if(detectInfo.getDetectId() == null || detectInfo.getDetectId().equals("")){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } Integer num = complaintDetectInfoService.updateComplaintDetectById(detectInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } }