package com.iamberry.rst.controllers.cm; import com.iamberry.rst.core.cm.ComplaintDetectInfo; import com.iamberry.rst.core.cm.FittingsInfo; 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.ComplaintDetectInfoService; import com.iamberry.rst.faces.cm.FittingsInfoService; import com.iamberry.rst.faces.product.ProductService; 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 FittingsInfoService fittingsInfoService; /** * 跳转到添加检测记录页面 * * @return */ @RequiresPermissions("detect:add:detect") @RequestMapping(value = "/to_add_detect") public ModelAndView toAddDetect(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/add_detect"); //获取所有产品 List productList = productService.listProduce(); 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; } Product product = productService.getProduce(String.valueOf(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; } }