package com.iamberry.rst.controllers.cm; import com.iamberry.rst.core.cm.CompanyInfo; import com.iamberry.rst.core.cm.SalesOrder; import com.iamberry.rst.core.fm.*; import com.iamberry.rst.core.order.Product; import com.iamberry.rst.core.order.ProductColor; import com.iamberry.rst.core.order.ProductType; import com.iamberry.rst.core.page.PageRequest; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.sys.Admin; import com.iamberry.rst.core.tools.LogisticsInfo; import com.iamberry.rst.faces.cm.CompanyInfoService; import com.iamberry.rst.faces.cm.SalesOrderService; import com.iamberry.rst.faces.fm.AwaitingSignclosedProductInfoService; import com.iamberry.rst.faces.fm.ComplaintDetectInfoService; import com.iamberry.rst.faces.fm.ComplaintSignclosedInfoService; import com.iamberry.rst.faces.fm.ComplaintSignclosedProductInfoService; import com.iamberry.rst.faces.product.ProductService; import com.iamberry.rst.service.fm.mapper.ComplaintSignclosedInfoMapper; import com.iamberry.rst.util.CustomerCommonUtil; import com.iamberry.rst.util.ProduceNoUtil; import com.iamberry.rst.utils.AdminUtils; import com.iamberry.rst.utils.GenerateKeyUtil; import com.iamberry.rst.utils.StitchAttrUtil; import com.iamberry.wechat.tools.ResponseJson; import org.apache.poi.hssf.usermodel.*; 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.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; 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 ComplaintSignclosedInfoService complaintSignclosedInfoService; @Autowired private ComplaintSignclosedProductInfoService signclosedProductInfoService; @Autowired private AwaitingSignclosedProductInfoService awaitingSignclosedProductService; @Autowired private CompanyInfoService companyInfoService; @Autowired private SalesOrderService salesOrderService; @Autowired private GenerateKeyUtil generateKeyUtil; /** * 跳转到添加检测记录页面 * * @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); ProductColor color = new ProductColor(); color.setColorProductId(product.getProductId()); List productColorList = productService.listProduceColor(color); mv.addObject("productColorList",productColorList); mv.addObject("productList",productList); //获取所有维修内容 DetectionBasis detectionBasis = new DetectionBasis(); List detectionBasisList = complaintDetectInfoService.listDetectionBasis(detectionBasis); mv.addObject("detectionBasisList",detectionBasisList); List companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo()); mv.addObject("companyInfoList",companyInfoList); return mv; } /** * 客诉 - 查询品质检测列表 * @param request * @return */ @RequiresPermissions("detect:select:detect") @RequestMapping("/select_detect_list") public ModelAndView selectDetectList(HttpServletRequest request, @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize, @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO, @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum, ComplaintDetectInfo detect) throws ParseException { ModelAndView mv = new ModelAndView("cm/inspection/detect_list"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 封装请求数据 PageRequest pageRequest = new PageRequest<>(detect, pageNO, pageSize, totalNum == 0); // 查询订单列表 PagedResult result = complaintDetectInfoService.listComplaintDetect(pageRequest); if (totalNum != 0) { result.setTotal(totalNum); } //获取所有产品类型 ProductType productType = new ProductType(); List productTypeList = productService.listProductType(productType); mv.addObject("productTypeList",productTypeList); Product product = new Product(); List productList = productService.listProductAndColorAndfittings(product); mv.addObject("productList",productList); //查询各个状态数量 ComplaintAfterSalesNum complaintAfterSalesNum = complaintDetectInfoService.getDetectCount(); mv.addObject("complaintAfterSalesNum",complaintAfterSalesNum); StitchAttrUtil.getSa().setModelAndView(detect, mv, "/admin/detect/select_detect_list", result); 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; } /*String itemDate = request.getParameter("itemDate"); if(itemDate == null ){ msg.setResultCode(500); msg.setReturnCode(500); return msg; }*/ //生成维修编号 String number = generateKeyUtil.detectNumber(); detectInfo.setDetectNumber(number); detectInfo.setDetectState(1); detectInfo.setIsMaintenance(0); detectInfo.setDetectRenovation(0); detectInfo.setDetectProcessingResults(0); Calendar date = Calendar.getInstance(); date.setTime(new Date()); boolean fl = false; for (int i = 1 ; i <= 3; i++){ date.set(Calendar.DATE, date.get(Calendar.DATE) + i); int week = date.get(Calendar.DAY_OF_WEEK);//1--7的值,对应:星期日,星期一,星期二,星期三....星期六 if(week == 1){ fl = true; } date.set(Calendar.DATE, date.get(Calendar.DATE) - i); } if(fl){ date.set(Calendar.DATE, date.get(Calendar.DATE) + 4); }else{ date.set(Calendar.DATE, date.get(Calendar.DATE) + 3); } detectInfo.setMaintenanceCutTime(date.getTime()); if(complaintDetectInfoService.insert(detectInfo) > 0){ msg.setResultCode(200); msg.setReturnCode(200); }else{ msg.setResultCode(500); msg.setReturnCode(500); } 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 detectItemId = request.getParameter("detectItemId"); if(detectItemId == null || detectItemId.equals("")){ return mv; } ComplaintDetectItem detectItem = complaintDetectInfoService.getDetectItemById(Integer.valueOf(detectItemId)); mv.addObject("detectItemId",detectItemId); mv.addObject("detectItem",detectItem); return mv; }*/ /** * 跳转到添加维修记录页面 * * @return */ @RequiresPermissions("info:update:info") @RequestMapping(value = "/to_add_content") public ModelAndView toAddContent(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/add_content"); String detectId = request.getParameter("detectId"); if(detectId == null || detectId.equals("")){ return mv; } ComplaintDetectInfo detectinfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId)); mv.addObject("detectId",detectId); mv.addObject("detectinfo",detectinfo); return mv; } /** * 跳转到修改QC检测结果页面 * * @return */ @RequiresPermissions("info:update:info") @RequestMapping(value = "/to_add_QC") public ModelAndView toAddQC(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/add_QC"); String detectId = request.getParameter("detectId"); if(detectId == null || detectId.equals("")){ return mv; } ComplaintDetectInfo detectinfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId)); mv.addObject("detectId",detectId); mv.addObject("detectinfo",detectinfo); return mv; } /** * 跳转到完成维修页面 * * @return */ @RequiresPermissions("info:update:info") @RequestMapping(value = "/to_complete") public ModelAndView toComplete(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/complete_maintenance"); String detectId = request.getParameter("detectId"); String detectState = request.getParameter("detectState"); if(detectId == null || detectId.equals("")){ return mv; }if(detectState == null || detectState.equals("")){ return mv; } ComplaintDetectInfo detectinfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId)); List listMaterial = complaintDetectInfoService.listMaterialNumber(); mv.addObject("detectId",detectId); mv.addObject("detectState",detectState); mv.addObject("detectinfo",detectinfo); mv.addObject("listMaterial",listMaterial); return mv; } /** * 跳转到检测详情页面 * * @return */ @RequiresPermissions("info:update:info") @RequestMapping(value = "/to_detail") public ModelAndView toAddDetail(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/detect_detail"); String detectId = request.getParameter("detectId"); if(detectId == null || detectId.equals("")){ return mv; } ComplaintDetectInfo detectinfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId)); List imgList = complaintDetectInfoService.listDetectImg(Integer.valueOf(detectId)); List listMaterialItem = complaintDetectInfoService.listMaterialItem(Integer.valueOf(detectId)); List listQcInfo = complaintDetectInfoService.listQcInfo(Integer.valueOf(detectId)); List listTreatmentRecordLog = complaintDetectInfoService.listTreatmentRecordLog(Integer.valueOf(detectId)); if(detectinfo.getSalesOrderId() != null){ SalesOrder salesOrder = salesOrderService.getSalesOrderByOrderId(detectinfo.getSalesOrderId()); mv.addObject("salesOrder",salesOrder); } DetectionItem detectionItem = new DetectionItem(); detectionItem.setDetectId(Integer.valueOf(detectId)); //查询检测现象 detectionItem.setConfigType(1); mv.addObject("detectPhenomenonList",complaintDetectInfoService.listDetectionItem(detectionItem)); //查询故障原因 detectionItem.setConfigType(2); mv.addObject("detectFailureCauseList",complaintDetectInfoService.listDetectionItem(detectionItem)); //查询判定结果 detectionItem.setConfigType(3); mv.addObject("detectResultsList",complaintDetectInfoService.listDetectionItem(detectionItem)); //查询故障指向 detectionItem.setConfigType(4); mv.addObject("detectPointList",complaintDetectInfoService.listDetectionItem(detectionItem)); //查询原因分析 detectionItem.setConfigType(5); mv.addObject("detectNalysisList",complaintDetectInfoService.listDetectionItem(detectionItem)); mv.addObject("listTreatmentRecordLog",listTreatmentRecordLog); mv.addObject("listQcInfo",listQcInfo); mv.addObject("listMaterialItem",listMaterialItem); mv.addObject("detectinfo",detectinfo); mv.addObject("imgList",imgList); return mv; } /** * 跳转到修改检测页面 * * @return */ @RequiresPermissions("info:update:info") @RequestMapping(value = "/to_update") public ModelAndView toupdate(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/update_detect"); String detectId = request.getParameter("detectId"); if(detectId == null || detectId.equals("")){ return mv; } ComplaintDetectInfo detectinfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId)); List imgList = complaintDetectInfoService.listDetectImg(Integer.valueOf(detectId)); DetectionItem detectionItem = new DetectionItem(); detectionItem.setDetectId(Integer.valueOf(detectId)); //查询维修配置信息 List config1 = complaintDetectInfoService.listDetectionConfig(1); List config2 = complaintDetectInfoService.listDetectionConfig(2); List config3 = complaintDetectInfoService.listDetectionConfig(3); List config4 = complaintDetectInfoService.listDetectionConfig(4); List config5 = complaintDetectInfoService.listDetectionConfig(5); List listMaterial = complaintDetectInfoService.listMaterialNumber(); mv.addObject("config1",config1); mv.addObject("config2",config2); mv.addObject("config3",config3); mv.addObject("config4",config4); mv.addObject("config5",config5); //查询检测现象 detectionItem.setConfigType(1); mv.addObject("detectPhenomenonList",complaintDetectInfoService.listDetectionItem(detectionItem)); //查询故障原因 detectionItem.setConfigType(2); mv.addObject("detectFailureCauseList",complaintDetectInfoService.listDetectionItem(detectionItem)); //查询判定结果 detectionItem.setConfigType(3); mv.addObject("detectResultsList",complaintDetectInfoService.listDetectionItem(detectionItem)); //查询故障指向 detectionItem.setConfigType(4); mv.addObject("detectPointList",complaintDetectInfoService.listDetectionItem(detectionItem)); //查询原因分析 detectionItem.setConfigType(5); mv.addObject("detectNalysisList",complaintDetectInfoService.listDetectionItem(detectionItem)); //查询维修配件 mv.addObject("listMaterialItem",complaintDetectInfoService.listMaterialItem(Integer.valueOf(detectId))); mv.addObject("listMaterial",listMaterial); mv.addObject("detectInfo",detectinfo); mv.addObject("imgList",imgList); return mv; } /** * 修改检测信息 * @param request * @return * @throws Exception */ @RequiresPermissions("info:update:info") @ResponseBody @RequestMapping("/update") 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){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } /*String[] componentsImgs = request.getParameterValues("componentsImg");*/ String[] configli1 = request.getParameterValues("configli1"); String[] configli2 = request.getParameterValues("configli2"); String[] configli3 = request.getParameterValues("configli3"); String[] configli4 = request.getParameterValues("configli4"); String[] configli5 = request.getParameterValues("configli5"); String[] configli6 = request.getParameterValues("configui6"); detectInfo.setConfigli1(configli1); detectInfo.setConfigli2(configli2); detectInfo.setConfigli3(configli3); detectInfo.setConfigli4(configli4); detectInfo.setConfigli5(configli5); detectInfo.setConfigli6(configli6); Integer num = complaintDetectInfoService.updateDetectById(detectInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 修改qc检测信息 * @param request * @return * @throws Exception */ @RequiresPermissions("info:update:info") @ResponseBody @RequestMapping("/update_qc") public ResponseJson updateQC(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){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } Integer num = complaintDetectInfoService.updateDetectQc(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("info:update:info") @ResponseBody @RequestMapping("/update_content") public ResponseJson update_content(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){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } String[] configli6 = request.getParameterValues("configli6"); detectInfo.setConfigli6(configli6); if(detectInfo.getDetectState() != null){ if(detectInfo.getDetectState() == 32 || detectInfo.getDetectState() == 36 ){ detectInfo.setMaintenanceCompletionTime(new Date()); } if(detectInfo.getDetectState() == 21 ){ detectInfo.setRenovationCompletionTime(new Date()); } } Integer num = complaintDetectInfoService.updateDetectContent(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 = complaintSignclosedInfoService.getSignclosedById(Integer.valueOf(signclosedId)); signclosedProductInfo = signclosedProductInfoService.listSignclosedById(complaintSignclosedInfo.getSignclosedId()); mv.addObject("signclosedProductInfo",signclosedProductInfo); mv.addObject("signclosedInfo",complaintSignclosedInfo); mv.addObject("signclosedId",signclosedId); return mv; } /** * 跳转到查看物流信息页面 * * @return */ @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; } /** * 跳转到修改检测完成信息页面 * * @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.getDetectById(Integer.valueOf(detectId)); //查询维修配置信息 List config1 = complaintDetectInfoService.listDetectionConfig(1); List config2 = complaintDetectInfoService.listDetectionConfig(2); List config3 = complaintDetectInfoService.listDetectionConfig(3); List config4 = complaintDetectInfoService.listDetectionConfig(4); List config5 = complaintDetectInfoService.listDetectionConfig(5); mv.addObject("config1",config1); mv.addObject("config2",config2); mv.addObject("config3",config3); mv.addObject("config4",config4); mv.addObject("config5",config5); detectInfo.setDetectDate(new Date()); mv.addObject("detectId",detectId); mv.addObject("detectInfo",detectInfo); return mv; } /** * 查询单个检测信息 * * @return */ @RequiresPermissions("complete:update:complete") @ResponseBody @RequestMapping(value = "/get_detect") public ResponseJson getDetect(HttpServletRequest request,Integer detectId) { ResponseJson msg = new ResponseJson(); if(detectId == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } ComplaintDetectInfo detectInfo = complaintDetectInfoService.getDetectById(detectId); if(detectInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; }else { List detectImg = complaintDetectInfoService.listDetectImg(detectId); ComplaintSignclosedInfo signclosedInfo = complaintSignclosedInfoService.getSignclosedById(detectInfo.getSignclosedId()); LogisticsInfo info = new LogisticsInfo(); if(signclosedInfo != null){ info.setLogisticsRstCode(signclosedInfo.getSignclosedLogistics()); List logisticsInfos = salesOrderService.getLogisticsInfo(info); if(logisticsInfos != null && logisticsInfos.size() > 0){ signclosedInfo.setSignclosedLogisticsName(logisticsInfos.get(0).getLogisticsName()); }else{ signclosedInfo.setSignclosedLogisticsName("其它快递"); } } Admin admin = AdminUtils.getLoginAdmin(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); msg.addResponseKeyValue("detectImg",detectImg); msg.addResponseKeyValue("detectInfo",detectInfo); msg.addResponseKeyValue("signclosedInfo",signclosedInfo); msg.addResponseKeyValue("date",sdf.format(new Date()));//当前时间 msg.addResponseKeyValue("adminName",admin.getAdminName());//当前登录人 msg.setResultCode(200); msg.setReturnCode(200); return msg; } } /** * 跳转到查看客服录入客诉信息页面 * * @return */ @RequiresPermissions("complete:select:complete") @RequestMapping(value = "/to_customer_detail") public ModelAndView toCustomerDetail(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/customer_detail"); 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; } String detectDate = request.getParameter("detect_date"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); if(detectDate != null){ detectInfo.setDetectDate(format.parse(detectDate)); } String[] componentsImgs = request.getParameterValues("componentsImg"); String[] configli1 = request.getParameterValues("configli1"); String[] configli2 = request.getParameterValues("configli2"); String[] configli3 = request.getParameterValues("configli3"); String[] configli4 = request.getParameterValues("configli4"); String[] configli5 = request.getParameterValues("configli5"); detectInfo.setConfigli1(configli1); detectInfo.setConfigli2(configli2); detectInfo.setConfigli3(configli3); detectInfo.setConfigli4(configli4); detectInfo.setConfigli5(configli5); detectInfo.setDetectCompletionTime(new Date()); Integer num = complaintDetectInfoService.updateDetectById(detectInfo,componentsImgs); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 删除检测信息 * @param request * @return * @throws Exception */ @RequiresPermissions("remark:add:remark") @ResponseBody @RequestMapping("/delete") public ResponseJson delete(HttpServletRequest request, Integer detectId) throws Exception { ResponseJson msg = new ResponseJson(); if(detectId == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } Integer num = complaintDetectInfoService.deleteDetect(detectId); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 查询单个检测信息 * @param request * @return * @throws Exception */ @RequiresPermissions("remark:add:remark") @ResponseBody @RequestMapping("/getDetectionBasis") public ResponseJson getDetectionBasis(HttpServletRequest request, Integer basisId) throws Exception { ResponseJson msg = new ResponseJson(); if(basisId == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } DetectionBasis detectionBasis = new DetectionBasis(); detectionBasis.setBasisId(basisId); List listDetectionBasis = complaintDetectInfoService.listDetectionBasis(detectionBasis); if (listDetectionBasis.size() < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.addResponseKeyValue("detectionBasis",listDetectionBasis.get(0)); msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 客服确认处理结果 * @param request * @return * @throws Exception */ @RequiresPermissions("complete:update:complete") @ResponseBody @RequestMapping("/customer_confirm") public ResponseJson customerConfirm(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 || "".equals(detectInfo.getDetectId())){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } Admin admin = AdminUtils.getLoginAdmin(); if (!complaintDetectInfoService.customerConfirm(detectInfo,admin)) { msg.setResultCode(500); msg.setReturnCode(500); } else { ComplaintDetectInfo info = complaintDetectInfoService.getDetectById(detectInfo.getDetectId()); msg.setResultCode(200); msg.setReturnCode(200); msg.addResponseKeyValue("detectInfo",info); } return msg; } /** * 查询维修信息条数 * @param request * @param res * @param detectInfo * @throws Exception */ @ResponseBody @RequiresPermissions("detect:select:detect") @RequestMapping("/detect_excel_num") public ResponseJson salesOrderExcelNum(HttpServletRequest request,HttpServletResponse res , ComplaintDetectInfo detectInfo) throws Exception{ ResponseJson msg = new ResponseJson(); //根据条件查询维修数据 List detectList = complaintDetectInfoService.listComplaintDetect(detectInfo); if (detectList == null || detectList.size() == 0) { msg.setResultCode(500); msg.setReturnCode(500); return msg; } msg.setResultCode(200); msg.setReturnCode(200); return msg; } /** * 导出维修信息 * @param request * @param res * @param detectInfo * @throws Exception */ @RequiresPermissions("detect:select:detect") @RequestMapping("/detect_excel") public void salesOrderExcel(HttpServletRequest request,HttpServletResponse res , ComplaintDetectInfo detectInfo) throws Exception{ //根据id查询订单数据 List detectList = complaintDetectInfoService.listComplaintDetect(detectInfo); if (detectList == null || detectList.size() == 0) { return; } String[] cells = { "维修编号","产品名称","颜色","生产月份","机身条码", "退货地区","返厂日期","购买日期","客诉日期","客诉类型", "客诉问题","售后原因","售后处理类型","工厂检测现象","是否翻新机", "故障原因","判断结果","故障指向","原因分析", "维修内容","厚膜类型","浮子类型","版本号" }; exportExcel(request,res,cells,detectList); } /** * 导出订单Excel并下载 * @param request * @param res * @param cells * @param detectList * @throws Exception */ public void exportExcel(HttpServletRequest request,HttpServletResponse res, String[] cells,List detectList) throws Exception { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建一个workbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); //在workbook中添加一个sheet,对应Excel中的一个sheet HSSFSheet sheet = wb.createSheet("导出维修"); //在sheet中添加表头第0行,老版本poi对excel行数列数有限制short HSSFRow row = sheet.createRow((int) 0); //创建单元格,设置值表头,设置表头居中 HSSFCellStyle style = wb.createCellStyle(); //居中格式 style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //设置表头 if (cells == null || cells.length == 0) { return; } //循环设置表头 HSSFCell cell = null; for (int i = 0;i < cells.length;i++) { String name = cells[i]; cell = row.createCell(i); cell.setCellValue(name); cell.setCellStyle(style); } for (int i = 0; i < detectList.size(); i++) { row = sheet.createRow((int) i + 1); ComplaintDetectInfo detect = detectList.get(i); String detectFilmType = ""; if(detect.getDetectFilmType() != null){ switch (detect.getDetectFilmType()) { case 1:detectFilmType = "圆";break; case 2:detectFilmType = "扁";break; } } String detectIsRefurbishing = ""; if(detect.getDetectIsRefurbishing() != null){ switch (detect.getDetectIsRefurbishing()) { case 1:detectIsRefurbishing = "是";break; case 2:detectIsRefurbishing = "否";break; } } String detectFloatType = ""; if(detect.getDetectFloatType() != null){ switch (detect.getDetectFloatType()) { case 1:detectFloatType = "长";break; case 2:detectFloatType = "短";break; } } // 创建单元格,设置值 row.createCell(0).setCellValue(detect.getDetectNumber()==null?"":detect.getDetectNumber()); row.createCell(1).setCellValue(detect.getProductName()==null?"":detect.getProductName()); row.createCell(2).setCellValue(detect.getColorName()==null?"":detect.getColorName()); row.createCell(3).setCellValue(detect.getDetectProduction()==null?"":detect.getDetectProduction()); row.createCell(4).setCellValue(detect.getDetectFuselageBarcode()==null?"":detect.getDetectFuselageBarcode()); StringBuffer area = new StringBuffer(" "); if(detect.getSignclosedAddrProvincesName() == null || detect.getSignclosedAddrProvincesName().equals("")){ area.append(""); }else{ area.append(detect.getSignclosedAddrProvincesName()); } if(detect.getSignclosedAddrProvincesName() == null || detect.getSignclosedAddrProvincesName().equals("")){ area.append(""); }else{ area.append("-"+detect.getSignclosedAddrProvincesName()); } if(detect.getSignclosedAddrCityName() == null || detect.getSignclosedAddrCityName().equals("")){ area.append(""); }else{ area.append("-"+detect.getSignclosedAddrCityName()); } row.createCell(5).setCellValue(area.toString()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if(detect.getSignclosedDate()==null){ row.createCell(6).setCellValue( ""); }else{ row.createCell(6).setCellValue(sdf.format(detect.getSignclosedDate())); } if(detect.getSalesTime()==null){ row.createCell(7).setCellValue(""); }else{ row.createCell(7).setCellValue(sdf.format(detect.getSalesTime())); } if(detect.getCustomerCreateTime()==null){ row.createCell(8).setCellValue(""); }else{ row.createCell(8).setCellValue(sdf.format(detect.getCustomerCreateTime())); } row.createCell(9).setCellValue(detect.getProcTypeName()==null?"":detect.getProcTypeName()); row.createCell(10).setCellValue(detect.getQuestionTitle()==null?"":detect.getQuestionTitle()); row.createCell(12).setCellValue(detect.getProcMethodName()==null?"":detect.getProcMethodName()); row.createCell(13).setCellValue(detect.getDetectPhenomenon()==null?"":detect.getDetectPhenomenon()); row.createCell(14).setCellValue(detectIsRefurbishing); row.createCell(15).setCellValue(detect.getDetectFailureCause()==null?"":detect.getDetectFailureCause()); row.createCell(16).setCellValue(detect.getDetectResults()==null?"":detect.getDetectResults()); row.createCell(17).setCellValue(detect.getDetectPoint()==null?"":detect.getDetectPoint()); row.createCell(18).setCellValue(detect.getDetectNalysis()==null?"":detect.getDetectNalysis()); row.createCell(19).setCellValue(detect.getDetectContent()==null?"":detect.getDetectContent()); row.createCell(20).setCellValue(detectFilmType); row.createCell(21).setCellValue(detectFloatType); row.createCell(22).setCellValue(detect.getDetectVersionNumber()==null?"":detect.getDetectVersionNumber()); } //下载导出订单Excel downloadOrderExcel(res,wb); } /** * 下载导出订单Excel * @param res * @param wb * @throws Exception */ public void downloadOrderExcel(HttpServletResponse res, HSSFWorkbook wb) throws Exception{ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String fileName = format.format(new Date()) + "维修报表"; ByteArrayOutputStream os = new ByteArrayOutputStream(); wb.write(os); byte[] content = os.toByteArray(); InputStream is = new ByteArrayInputStream(content); // 设置response参数,可以打开下载页面 res.reset(); res.setContentType("application/vnd.ms-excel;charset=utf-8"); res.setHeader("Content-Disposition", "attachment;filename=" + new String((fileName + ".xls").getBytes(), "iso-8859-1")); ServletOutputStream out = res.getOutputStream(); BufferedInputStream bis = null; BufferedOutputStream bos = null; try { bis = new BufferedInputStream(is); bos = new BufferedOutputStream(out); byte[] buff = new byte[2048]; int bytesRead; // Simple read/write loop. while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { if (bis != null) bis.close(); if (bos != null) bos.close(); } } /** * 进入导出每日检测页面 */ @RequestMapping(value = "/to_download_detection") public ModelAndView toDownloadDetection(HttpServletRequest request) { ModelAndView mv = new ModelAndView("cm/inspection/download_detection"); return mv; } /** * 导出维修信息 * @param request * @param res * @param detectInfo * @throws Exception */ @RequestMapping("/download_detection") public void downloadDetection(HttpServletRequest request,HttpServletResponse res , ComplaintDetectInfo detectInfo) throws Exception{ //根据id查询订单数据 if((detectInfo.getStartTime() == null || detectInfo.getStartTime().equals("")) && (detectInfo.getEndTime() == null || detectInfo.getEndTime().equals(""))){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar date = Calendar.getInstance(); date.setTime(new Date()); detectInfo.setTodayTime(sdf.format(date.getTime())); } List detectList = complaintDetectInfoService.listComplaintDetect(detectInfo); /*if (detectList == null || detectList.size() == 0) { return; }*/ String[] cells = { "维修编号","快递单号","产品简称","产品颜色","生产月份","机身条码", "退货地区","返厂日期","售后处理类型","工厂检测现象","是否翻新机","厚膜类型","浮子类型","版本号","检测日期" }; exportExcel2(request,res,cells,detectList); } /** * 导出订单Excel并下载 * @param request * @param res * @param cells * @param detectList * @throws Exception */ public void exportExcel2(HttpServletRequest request,HttpServletResponse res, String[] cells,List detectList) throws Exception { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建一个workbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); //在workbook中添加一个sheet,对应Excel中的一个sheet HSSFSheet sheet = wb.createSheet("导出维修"); //在sheet中添加表头第0行,老版本poi对excel行数列数有限制short HSSFRow row = sheet.createRow((int) 0); //创建单元格,设置值表头,设置表头居中 HSSFCellStyle style = wb.createCellStyle(); //居中格式 style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //设置表头 if (cells == null || cells.length == 0) { return; } //循环设置表头 HSSFCell cell = null; for (int i = 0;i < cells.length;i++) { String name = cells[i]; cell = row.createCell(i); cell.setCellValue(name); cell.setCellStyle(style); } for (int i = 0; i < detectList.size(); i++) { row = sheet.createRow((int) i + 1); ComplaintDetectInfo detect = detectList.get(i); String detectFilmType = ""; if(detect.getDetectFilmType() != null){ switch (detect.getDetectFilmType()) { case 1:detectFilmType = "圆";break; case 2:detectFilmType = "扁";break; } } String detectIsRefurbishing = ""; if(detect.getDetectIsRefurbishing() != null){ switch (detect.getDetectIsRefurbishing()) { case 1:detectIsRefurbishing = "是";break; case 2:detectIsRefurbishing = "否";break; } } String detectFloatType = ""; if(detect.getDetectFloatType() != null){ switch (detect.getDetectFloatType()) { case 1:detectFloatType = "长";break; case 2:detectFloatType = "短";break; } } // 创建单元格,设置值 row.createCell(0).setCellValue(detect.getDetectNumber()==null?"":detect.getDetectNumber()); row.createCell(1).setCellValue(detect.getLogisticsNumber()==null?"":detect.getLogisticsNumber()); row.createCell(2).setCellValue(detect.getProductAbbreviation()==null?"":detect.getProductAbbreviation()); row.createCell(3).setCellValue(detect.getColorName()==null?"":detect.getColorName()); row.createCell(4).setCellValue(detect.getDetectProduction()==null?"":detect.getDetectProduction()); row.createCell(5).setCellValue(detect.getDetectFuselageBarcode()==null?"":detect.getDetectFuselageBarcode()); StringBuffer area = new StringBuffer(" "); if(detect.getSignclosedAddrProvincesName() == null || detect.getSignclosedAddrProvincesName().equals("")){ area.append(""); }else{ area.append(detect.getSignclosedAddrProvincesName()); } if(detect.getSignclosedAddrCityName() == null || detect.getSignclosedAddrCityName().equals("")){ area.append(""); }else{ area.append("-"+detect.getSignclosedAddrCityName()); } row.createCell(6).setCellValue(area.toString()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if(detect.getSignclosedDate()==null){ row.createCell(7).setCellValue( ""); }else{ row.createCell(7).setCellValue(sdf.format(detect.getSignclosedDate())); } /*row.createCell(9).setCellValue(detect.getProcTypeName()==null?"":detect.getProcTypeName());*/ row.createCell(8).setCellValue(detect.getProcMethodName()==null?"":detect.getProcMethodName()); row.createCell(9).setCellValue(detect.getDetectPhenomenon()==null?"":detect.getDetectPhenomenon()); row.createCell(10).setCellValue(detectIsRefurbishing); row.createCell(11).setCellValue(detectFilmType); row.createCell(12).setCellValue(detectFloatType); row.createCell(13).setCellValue(detect.getDetectVersionNumber()==null?"":detect.getDetectVersionNumber()); if(detect.getDetectPrintTime()==null){ row.createCell(14).setCellValue( ""); }else{ row.createCell(14).setCellValue(sdf.format(detect.getDetectPrintTime())); } } //下载导出订单Excel downloadOrderExcel(res,wb); } /** * 修改打印状态 * * @return */ @ResponseBody @RequestMapping(value = "/update_print") public ResponseJson updatePrint(HttpServletRequest request,ComplaintDetectInfo complaintDetectInfo){ ResponseJson msg = new ResponseJson(); if(complaintDetectInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } complaintDetectInfo.setDetectIsPrint(2); complaintDetectInfo.setDetectPrintTime(new Date()); Integer num = complaintDetectInfoService.updatePrint(complaintDetectInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 修改报废状态 * * @return */ @ResponseBody @RequestMapping(value = "/update_scrap") public ResponseJson updateScrap(HttpServletRequest request,ComplaintDetectInfo complaintDetectInfo){ ResponseJson msg = new ResponseJson(); if(complaintDetectInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } complaintDetectInfo.setScrapCompletionTime(new Date()); Integer num = complaintDetectInfoService.updatePrint(complaintDetectInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; } /** * 修改是否下单状态 * * @return */ /*@ResponseBody @RequestMapping(value = "/update_placeorder") public ResponseJson updatePlaceorder(HttpServletRequest request,ComplaintDetectInfo complaintDetectInfo){ ResponseJson msg = new ResponseJson(); if(complaintDetectInfo == null){ msg.setResultCode(500); msg.setReturnCode(500); return msg; } Integer num = complaintDetectInfoService.updatePrint(complaintDetectInfo); if (num < 1) { msg.setResultCode(500); msg.setReturnCode(500); } else { msg.setResultCode(200); msg.setReturnCode(200); } return msg; }*/ }