| | |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.MatPrint; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.entity.dto.OrderDetlWithSum; |
| | | import com.zy.asrs.entity.result.KeyValueVo; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.utils.MatExcel2Listener; |
| | | import com.zy.asrs.utils.MatExcelListener; |
| | | import com.zy.common.CodeRes; |
| | | import com.zy.common.config.AdminInterceptor; |
| | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.awt.image.BufferedImage; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.net.URLEncoder; |
| | | import java.util.*; |
| | | |
| | |
| | | private MatService matService; |
| | | @Autowired |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | |
| | | @RequestMapping(value = "/mat/auto/matnr/auth") |
| | | public R autoMatnr(){ |
| | |
| | | return R.ok().add(mats); |
| | | } |
| | | |
| | | @RequestMapping(value = "/mat/list/pda/page/auth") |
| | | @ManagerAuth |
| | | public R pdaPageList(@RequestParam(required = true)Long tagId, |
| | | @RequestParam(defaultValue = "1")Integer curr, |
| | | @RequestParam(defaultValue = "10")Integer limit){ |
| | | EntityWrapper<Mat> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("tag_id", tagId); |
| | | wrapper.orderBy("create_time", false); |
| | | return R.ok().add(matService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | @RequestMapping(value = "/mat/search/pda/auth") |
| | | @ManagerAuth |
| | | 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).or().like("specs", condition); |
| | | } |
| | | wrapper.orderBy("create_time", false); |
| | | List<Mat> mats = matService.selectList(wrapper); |
| | |
| | | return R.ok(matService.selectById(String.valueOf(id))); |
| | | } |
| | | |
| | | @RequestMapping(value = "/matCode/auth0") |
| | | @RequestMapping(value = "/mat/auth") |
| | | @ManagerAuth |
| | | public R find(@RequestParam("matnr") String matnr) { |
| | | return R.ok(matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr))); |
| | | Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr)); |
| | | if(Cools.isEmpty(mat)){ |
| | | return R.error("物料数据不存在,请检查物料档案"); |
| | | } |
| | | return R.ok(mat); |
| | | } |
| | | |
| | | @RequestMapping(value = "/mat/list/auth") |
| | |
| | | return R.ok(matService.getPage(new Page<>(curr, limit) |
| | | , String.valueOf(tagId) |
| | | , param.get("matnr") |
| | | , param.get("maktx")) |
| | | , param.get("maktx") |
| | | , param.get("specs") |
| | | , param.get("mat_type") |
| | | ) |
| | | ); |
| | | |
| | | } |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/mat/update/auth") |
| | | @ManagerAuth |
| | | @RequestMapping(value = "/mat/update/auth") |
| | | @ManagerAuth |
| | | public R update(Mat mat){ |
| | | if (Cools.isEmpty(mat) || null==mat.getId()){ |
| | | return R.error(); |
| | |
| | | |
| | | @RequestMapping(value = "/mat/covert/{id}/auth") |
| | | @ManagerAuth |
| | | public R covert(@PathVariable("id") String id) { |
| | | Mat mat = matService.selectByMatnr(String.valueOf(id)); |
| | | public R covert(@PathVariable("id") String id) throws UnsupportedEncodingException{ |
| | | byte[] decode = Base64.getDecoder().decode(id); |
| | | String id2 = new String(decode, "utf-8"); |
| | | Mat mat = matService.selectByMatnr(id2); |
| | | if (mat == null) { |
| | | return R.ok(); |
| | | } |
| | | // OrderDetlWithSum orderDetl = new OrderDetlWithSum(); |
| | | OrderDetl orderDetl = new OrderDetl(); |
| | | orderDetl.sync(orderDetl); |
| | | orderDetl.sync(mat); |
| | | orderDetl.setAnfme(0.0D); |
| | | // orderDetl.setSum(locDetlService.selectSumByMatnr(mat.getMatnr())); |
| | | return R.ok().add(orderDetl); |
| | | } |
| | | |
| | |
| | | List<MatPrint> res = new ArrayList<>(); |
| | | for (String matnr : param){ |
| | | Mat mat = matService.selectByMatnr(matnr); |
| | | if(Cools.isEmpty(mat)) { |
| | | continue; |
| | | } |
| | | // 打印数据注入 |
| | | MatPrint print = new MatPrint(); |
| | | print.setMatnr(mat.getMatnr()); |
| | |
| | | return R.ok("成功同步"+listener.getTotal()+"条商品数据"); |
| | | } |
| | | |
| | | // 新商品编号同步 |
| | | @PostMapping(value = "/mat/excel/importNewMatnr/auth") |
| | | @ManagerAuth(memo = "新商品编号同步") |
| | | @Transactional |
| | | public R matExcelImportNewMatnr(MultipartFile file) throws IOException { |
| | | MatExcel2Listener listener = new MatExcel2Listener(getUserId()); |
| | | EasyExcel.read(file.getInputStream(), MatExcel.class, listener).sheet().doRead(); |
| | | return R.ok("成功同步"+listener.getTotal()+"条商品数据"); |
| | | } |
| | | |
| | | @RequestMapping(value = "/mat/excel/export/auth") |
| | | @ManagerAuth(memo = "商品档案数据导出") |
| | | @Transactional |
| | | public void matExcelExport(@RequestParam Map<String, Object> param, HttpServletResponse response) throws IOException { |
| | | List<Mat> data = matService.exportData(param.get("matnr"), param.get("maktx"), param.get("specs")); |
| | | response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); |
| | | response.setCharacterEncoding("utf-8"); |
| | | // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 |
| | | String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20"); |
| | | response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); |
| | | EasyExcel.write(response.getOutputStream(), Mat.class).sheet("模板").doWrite(data); |
| | | } |
| | | |
| | | /*************************************** xm-select ***********************************************/ |
| | | |
| | | // xm-select 搜索商品列表 |
| | | @RequestMapping("/mat/all/get/kv0") // todo:luxiaotao |
| | | @RequestMapping("/mat/all/get/kv") |
| | | @ManagerAuth |
| | | public R getMatDataKV(@RequestParam(required = false) String condition) { |
| | | Wrapper<Mat> wrapper = new EntityWrapper<Mat>() |
| | | .andNew().like("matnr", condition).or().like("maktx", condition) |
| | | .andNew().like("matnr", condition).or().like("maktx", condition).or().like("specs", condition) |
| | | .orderBy("create_time", false); |
| | | List<Mat> mats = matService.selectPage(new Page<>(1, 30), wrapper).getRecords(); |
| | | List<KeyValueVo> valueVos = new ArrayList<>(); |
| | | for (Mat mat : mats) { |
| | | KeyValueVo vo = new KeyValueVo(); |
| | | vo.setName(mat.getMatnr() + " - " + mat.getMaktx()); |
| | | vo.setValue(mat.getId()); |
| | | vo.setName(mat.getSpecs() + "-" + mat.getMaktx() + " - " + mat.getMatnr()); |
| | | vo.setValue(mat.getMatnr()); |
| | | valueVos.add(vo); |
| | | } |
| | | return R.ok().add(valueVos); |