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.faces.cm.AwaitingSignclosedProductInfoService; import com.iamberry.rst.faces.cm.ComplaintDetectInfoService; import com.iamberry.rst.faces.cm.ComplaintSignclosedInfoService; 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.StitchAttrUtil; 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.*; /** * Created by wxm on 2017/8/29. */ @Controller @RequestMapping("/admin/signclosed") public class AdminSignclosedController { // private @Autowired private ComplaintDetectInfoService complaintDetectInfoService; @Autowired private ProductService productService; @Autowired private FittingsInfoService fittingsInfoService; @Autowired private ComplaintSignclosedInfoService complaintSignclosedInfoService; @Autowired private AwaitingSignclosedProductInfoService awaitingSignclosedProductInfoService; /** * 跳转到添加签收记录页面 * * @return */ @RequiresPermissions("signclosed:add:signclosed") @RequestMapping(value = "/to_add_signclosed") public ModelAndView toAddDetect(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/signclosed/add_signclosed"); //获取所有产品及其颜色,配件 Product product = new Product(); List productList = productService.listProductAndColorAndfittings(product); mv.addObject("productList",productList); return mv; } /** * 客诉 - 查询签收/仓储列表 * @param request * @return */ @RequiresPermissions("signclosed:select:signclosed") @RequestMapping("/select_signclosed_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, ComplaintSignclosedInfo signclosedInfo) { ModelAndView mv = new ModelAndView("cm/signclosed/signclosed_list"); StringBuilder url = new StringBuilder("/admin/signclosed/select_signclosed_list?pageSize=" + pageSize); // 封装请求数据 PageRequest pageRequest = new PageRequest<>(signclosedInfo, pageNO, pageSize, pageTotal == null); // 查询订单列表 PagedResult result = complaintSignclosedInfoService.listSignclosed(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());*/ StitchAttrUtil.setModelAndView(signclosedInfo, mv, "/admin/signclosed/select_signclosed_list", result); return mv; } /** * 添加签收信息 * @param request * @return * @throws Exception */ @RequiresPermissions("signclosed:add:signclosed") @ResponseBody @RequestMapping("/add_signclosed") public ResponseJson addSignclosed(HttpServletRequest request,ComplaintSignclosedInfo signclosedInfo) throws Exception { ResponseJson msg = new ResponseJson(); if(signclosedInfo == null){ msg.setResultCode(200); msg.setReturnCode(500); return msg; } /**寄回产品**/ /*String[] colorName = request.getParameterValues("colorName"); String[] fittingsName = request.getParameterValues("fittingsName");*/ /**签收产品**/ String[] alreadyColorName = request.getParameterValues("alreadyColorName"); String[] alreadyFittingsName = request.getParameterValues("alreadyFittingsName"); if(alreadyColorName == null && alreadyFittingsName == null){ msg.setResultCode(200); msg.setReturnCode(502); return msg; } /*Map colorNameMap = new HashMap<>(); if(colorName != null && colorName.length> 0){ for (int i = 0;i fittingsNameMap = new HashMap<>(); if(fittingsName != null && fittingsName.length> 0){ for (int i = 0;i alreadyColorMap = new HashMap<>(); Map machineNumberMap = new HashMap<>(); if(alreadyColorName != null && alreadyColorName.length> 0){ for (int i = 0;i alreadyFittingsMap = new HashMap<>(); if(alreadyFittingsName != null && alreadyFittingsName.length> 0) { for (int i = 0; i < alreadyFittingsName.length; i++) { alreadyFittingsMap.put(alreadyFittingsName[i], Integer.valueOf(request.getParameter("alreadyFittingsId" + alreadyFittingsName[i]))); } } String signclosedDate = request.getParameter("signclosed_date"); if(signclosedDate != null){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); signclosedInfo.setSignclosedDate(format.parse(signclosedDate)); } if(signclosedInfo.getSignclosedState() == 2){ signclosedInfo.setSignclosedObjectsState(3); } signclosedInfo.setSignclosedCreateTime(new Date()); boolean num = complaintSignclosedInfoService.insert(signclosedInfo,alreadyColorMap,machineNumberMap,alreadyFittingsMap); if (!num) { msg.setResultCode(200); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 跳转到完成签收记录页面 * * @return */ @RequiresPermissions("signclosed:update:signclosed") @RequestMapping(value = "/to_complete_signclosed") public ModelAndView toCompleteDetect(HttpServletRequest request,Integer signclosedId) { ModelAndView mv = new ModelAndView("cm/signclosed/complete_signclosed"); //获取所有待收产品及其颜色,配件 if(signclosedId == null){ return mv; } ComplaintSignclosedInfo complaintSignclosedInfo = complaintSignclosedInfoService.getSignclosedById(signclosedId); List signclosedList = awaitingSignclosedProductInfoService.listBySignclosedId(signclosedId); mv.addObject("signclosedList",signclosedList); mv.addObject("complaintSignclosedInfo",complaintSignclosedInfo); return mv; } /** * 完成签收信息 * @param request * @return * @throws Exception */ @RequiresPermissions("signclosed:update:signclosed") @ResponseBody @RequestMapping("/complete_signclosed") public ResponseJson completeSignclosed(HttpServletRequest request,ComplaintSignclosedInfo signclosedInfo) throws Exception { ResponseJson msg = new ResponseJson(); if(signclosedInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } /**签收产品**/ String[] alreadyColorName = request.getParameterValues("alreadyColorName"); String[] alreadyFittingsName = request.getParameterValues("alreadyFittingsName"); if(alreadyColorName == null && alreadyFittingsName == null){ msg.setResultCode(200); msg.setReturnCode(502); return msg; } Map alreadyColorMap = new HashMap<>(); Map machineNumberMap = new HashMap<>(); if(alreadyColorName != null && alreadyColorName.length> 0){ for (int i = 0;i alreadyFittingsMap = new HashMap<>(); if(alreadyFittingsName != null && alreadyFittingsName.length> 0) { for (int i = 0; i < alreadyFittingsName.length; i++) { alreadyFittingsMap.put(alreadyFittingsName[i], Integer.valueOf(request.getParameter("alreadyFittingsId" + alreadyFittingsName[i]))); } } String signclosedDate = request.getParameter("signclosed_date"); if(signclosedDate != null){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); signclosedInfo.setSignclosedDate(format.parse(signclosedDate)); } signclosedInfo.setSignclosedState(1); boolean num = complaintSignclosedInfoService.updateSignclosedById(signclosedInfo,alreadyColorMap,machineNumberMap,alreadyFittingsMap); if (!num) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 跳转到修改备注页面 * * @return */ @RequiresPermissions("signclosed:update:signclosed") @RequestMapping(value = "/to_update_remark") public ModelAndView toUpdateRemark(HttpServletRequest request,Integer signclosedId) { ModelAndView mv = new ModelAndView("cm/signclosed/update_remark"); ComplaintSignclosedInfo complaintSignclosedInfo = complaintSignclosedInfoService.getSignclosedById(signclosedId); mv.addObject("signclosedId",signclosedId); mv.addObject("complaintSignclosedInfo",complaintSignclosedInfo); return mv; } /** * 修改备注 * * @return */ @ResponseBody @RequiresPermissions("signclosed:update:signclosed") @RequestMapping(value = "/update_remark") public ResponseJson updateRemark(HttpServletRequest request,ComplaintSignclosedInfo signclosedInfo){ ResponseJson msg = new ResponseJson(); if(signclosedInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } Integer num = complaintSignclosedInfoService.updateSignclosedById(signclosedInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 跳转到修改寄件人信息页面 * * @return */ @RequiresPermissions("signclosed:update:signclosed") @RequestMapping(value = "/to_update_sender") public ModelAndView toUpdateSender(HttpServletRequest request,Integer signclosedId) { ModelAndView mv = new ModelAndView("cm/signclosed/update_sender"); ComplaintSignclosedInfo complaintSignclosedInfo = complaintSignclosedInfoService.getSignclosedById(signclosedId); mv.addObject("signclosedId",signclosedId); mv.addObject("complaintSignclosedInfo",complaintSignclosedInfo); return mv; } /** * 转入品质 * * @return */ @ResponseBody @RequiresPermissions("signclosed:update:signclosed") @RequestMapping(value = "/into_complaint") public ResponseJson intoComplaint(HttpServletRequest request,Integer signclosedId){ ResponseJson msg = new ResponseJson(); if(signclosedId == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } Integer num = complaintSignclosedInfoService.intoComplaint(signclosedId); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 根据产品名称查询产品数据 * * @return */ @ResponseBody @RequiresPermissions("signclosed:select:signclosed") @RequestMapping(value = "/select_product") public ResponseJson selectProduct(HttpServletRequest request,String productName){ ResponseJson msg = new ResponseJson(); if(productName == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } //获取所有产品及其颜色,配件 Product product = new Product(); product.setProductName(productName); List productList = productService.listProductAndColorAndfittings(product); if (productList.size() == 0) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); msg.addResponseKeyValue("productList",productList); } return msg; } }