|  |  | 
 |  |  | import com.zy.asrs.entity.Mat; | 
 |  |  | import com.zy.asrs.entity.MatPrint; | 
 |  |  | import com.zy.asrs.entity.OrderDetl; | 
 |  |  | import com.zy.asrs.entity.param.EmptyPlateOutParam; | 
 |  |  | import com.zy.asrs.entity.result.KeyValueVo; | 
 |  |  | import com.zy.asrs.service.MatService; | 
 |  |  | import com.zy.asrs.utils.MatExcelListener; | 
 |  |  | import com.zy.asrs.utils.OrderGiftProofreadingExcelListener; | 
 |  |  | import com.zy.asrs.utils.OutLocBoxExcelListener; | 
 |  |  | import com.zy.asrs.utils.OutpandianBoxExeclListener; | 
 |  |  | import com.zy.common.CodeRes; | 
 |  |  | import com.zy.common.config.AdminInterceptor; | 
 |  |  | import com.zy.common.entity.MatExcel; | 
 |  |  | import com.zy.common.entity.OrderGiftProofreadingExcel; | 
 |  |  | import com.zy.common.entity.OutLocBoxExcel; | 
 |  |  | import com.zy.common.entity.pandianExcel; | 
 |  |  | import com.zy.common.utils.BarcodeUtils; | 
 |  |  | import com.zy.common.utils.QrCode; | 
 |  |  | import com.zy.common.web.BaseController; | 
 |  |  | 
 |  |  | import org.springframework.web.multipart.MultipartFile; | 
 |  |  |  | 
 |  |  | import javax.imageio.ImageIO; | 
 |  |  | import javax.servlet.http.HttpServletRequest; | 
 |  |  | import javax.servlet.http.HttpServletResponse; | 
 |  |  | import java.awt.image.BufferedImage; | 
 |  |  | import java.io.IOException; | 
 |  |  | 
 |  |  |     public R pdaSearch(@RequestParam(required = false)String condition){ | 
 |  |  |         EntityWrapper<Mat> wrapper = new EntityWrapper<>(); | 
 |  |  |         if (!Cools.isEmpty(condition)) { | 
 |  |  |             wrapper.like("matnr", condition).or().like("maktx", condition); | 
 |  |  | //            wrapper.like("matnr", condition).or().like("maktx", condition); | 
 |  |  |             wrapper.like("matnr", condition).or().like("specs", condition); | 
 |  |  |         } | 
 |  |  |         wrapper.orderBy("create_time", false); | 
 |  |  |         List<Mat> mats = matService.selectList(wrapper); | 
 |  |  | 
 |  |  |         if (Cools.isEmpty(tagId)) { | 
 |  |  |             tagId = getOriginTag().getId(); | 
 |  |  |         } | 
 |  |  |         return R.ok(matService.getPage(new Page<>(curr, limit) | 
 |  |  |         return R.ok(matService.getPage2(new Page<>(curr, limit) | 
 |  |  |                 , String.valueOf(tagId) | 
 |  |  |                 , param.get("matnr") | 
 |  |  |                 , param.get("maktx")) | 
 |  |  |                 , param.get("maktx") | 
 |  |  |                 , param.get("specs")) | 
 |  |  |         ); | 
 |  |  |  | 
 |  |  |     } | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping(value = "/mat/turn/over/list/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     public R turnOverList(@RequestParam(defaultValue = "1")Integer curr, | 
 |  |  |                           @RequestParam(defaultValue = "10")Integer limit, | 
 |  |  |                           @RequestParam Map<String, Object> param){ | 
 |  |  |         return R.ok(matService.getMatTurnPage(toPage(curr, limit, param, Mat.class))); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/mat/turn/over/take/site") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availableTakeSite(@RequestParam(required = false) String matnr){ | 
 |  |  |         List<Map<String, Object>> result = new ArrayList<>(); | 
 |  |  |         List<Mat> mats = matService.selectByMatnrLink(matnr); | 
 |  |  |         for (Mat mat : mats) { | 
 |  |  |             Map<String, Object> map = new HashMap<>(); | 
 |  |  |             map.put("siteId", mat.getId()); | 
 |  |  |             map.put("desc", mat.getMatnr()); | 
 |  |  |             result.add(map); | 
 |  |  |         } | 
 |  |  |         return R.ok().add(result); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping(value = "/mat/export/auth") | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /*************************************** 数据相关 ***********************************************/ | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * excel导入模板下载 | 
 |  |  |      */ | 
 |  |  |     @RequestMapping(value = "/out/loc/box/excel/import/mould") | 
 |  |  |     public void outLocBoxExcelImportMould(HttpServletResponse response) throws IOException { | 
 |  |  |         List<OutLocBoxExcel> excels = new ArrayList<>(); | 
 |  |  |         response.setContentType("application/vnd.ms-excel"); | 
 |  |  |         response.setCharacterEncoding("utf-8"); | 
 |  |  |         String fileName = URLEncoder.encode("导入箱号出库模板", "UTF-8"); | 
 |  |  |         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); | 
 |  |  |         EasyExcel.write(response.getOutputStream(), OutLocBoxExcel.class) | 
 |  |  |                 .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) | 
 |  |  |                 .sheet("出库模板") | 
 |  |  |                 .doWrite(excels); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // excel导入 | 
 |  |  |     @PostMapping(value = "/out/loc/box/excel/import/auth") | 
 |  |  |     @ManagerAuth(memo = "导入箱号出库") | 
 |  |  |     @Transactional | 
 |  |  |     public R outLocBoxExcelImport(HttpServletRequest request, MultipartFile file) throws IOException { | 
 |  |  |         OutLocBoxExcelListener listener = new OutLocBoxExcelListener(request.getRemoteAddr(),getUserId()); | 
 |  |  |         EasyExcel.read(file.getInputStream(), OutLocBoxExcel.class, listener).sheet().doRead(); | 
 |  |  |         if (listener.getSign()){ | 
 |  |  |             return R.ok("成功出库"+listener.getTotal()+"条商品数据."+listener.getErrorMsgOrderLoc()); | 
 |  |  |         } else { | 
 |  |  |             return R.error("出库失败:"+listener.getErrorMsgOrderLoc()); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /*********************************************盘点导入导出****************************************************************/ | 
 |  |  |     /** | 
 |  |  |      * excel导入模板下载 | 
 |  |  |      */ | 
 |  |  |     @RequestMapping(value = "/out/loc/box/excel/import/mould1") | 
 |  |  |     public void outLocBoxExcelImportMould1(HttpServletResponse response) throws IOException { | 
 |  |  |         List<OutLocBoxExcel> excels = new ArrayList<>(); | 
 |  |  |         response.setContentType("application/vnd.ms-excel"); | 
 |  |  |         response.setCharacterEncoding("utf-8"); | 
 |  |  |         String fileName = URLEncoder.encode("导入箱号盘点模板", "UTF-8"); | 
 |  |  |         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); | 
 |  |  |         EasyExcel.write(response.getOutputStream(), pandianExcel.class) | 
 |  |  |                 .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) | 
 |  |  |                 .sheet("盘点模板") | 
 |  |  |                 .doWrite(excels); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // excel导入 | 
 |  |  |     @PostMapping(value = "/out/loc/box/excel/import/auth1") | 
 |  |  |     @ManagerAuth(memo = "导入箱号盘点出库") | 
 |  |  |     @Transactional | 
 |  |  |     public R outLocBoxExcelImport1(HttpServletRequest request,MultipartFile file) throws IOException { | 
 |  |  |         OutpandianBoxExeclListener listener = new OutpandianBoxExeclListener(request.getRemoteAddr(),getUserId()); | 
 |  |  |         EasyExcel.read(file.getInputStream(), pandianExcel.class, listener).sheet().doRead(); | 
 |  |  |         if (listener.getSign()){ | 
 |  |  |             return R.ok("成功出库"+listener.getTotal()+"条商品数据."+listener.getErrorMsgOrderLoc()); | 
 |  |  |         } else { | 
 |  |  |             return R.error("出库失败:"+listener.getErrorMsgOrderLoc()); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /*************************************** xm-select ***********************************************/ | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /*********************************************核对导入导出****************************************************************/ | 
 |  |  |     /** | 
 |  |  |      * excel导入模板下载 | 
 |  |  |      */ | 
 |  |  |     @RequestMapping(value = "/out/order/gift/excel/import/mould") | 
 |  |  |     public void outLocBoxExcelImportMould2(HttpServletResponse response) throws IOException { | 
 |  |  |         List<OrderGiftProofreadingExcel> excels = new ArrayList<>(); | 
 |  |  |         response.setContentType("application/vnd.ms-excel"); | 
 |  |  |         response.setCharacterEncoding("utf-8"); | 
 |  |  |         String fileName = URLEncoder.encode("导入校对模板", "UTF-8"); | 
 |  |  |         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); | 
 |  |  |         EasyExcel.write(response.getOutputStream(), OrderGiftProofreadingExcel.class) | 
 |  |  |                 .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) | 
 |  |  |                 .sheet("校对模板") | 
 |  |  |                 .doWrite(excels); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // excel导入 | 
 |  |  |     @PostMapping(value = "/out/order/gift/excel/import/auth") | 
 |  |  |     @ManagerAuth(memo = "导入校对订单") | 
 |  |  |     @Transactional | 
 |  |  |     public R outLocBoxExcelImport2(MultipartFile file) throws IOException { | 
 |  |  |         OrderGiftProofreadingExcelListener listener = new OrderGiftProofreadingExcelListener(getUserId()); | 
 |  |  |         EasyExcel.read(file.getInputStream(), OrderGiftProofreadingExcel.class, listener).sheet().doRead(); | 
 |  |  |         return R.ok("成功导入"+listener.getTotal()+"条校对订单明细"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /*************************************** xm-select ***********************************************/ | 
 |  |  | } |