From 59f80df1e377e8775969ca4acadfa2eadd6e37ae Mon Sep 17 00:00:00 2001 From: zhangchao <zc857179121@qq.com> Date: 星期一, 04 十一月 2024 19:01:38 +0800 Subject: [PATCH] excel导出优化 --- src/main/java/com/zy/asrs/controller/OrderDetlController.java | 128 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 125 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java index 4aa1c2a..83caf0b 100644 --- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java +++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java @@ -15,7 +15,9 @@ import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.service.*; import com.zy.common.web.BaseController; +import lombok.Synchronized; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StopWatch; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; @@ -98,9 +100,96 @@ return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper)); } + @RequestMapping(value = "/orderDetl/pakout/list/authV193") + @ManagerAuth + public R pakoutList193(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)Long docType, + @RequestParam Map<String, Object> param){ + EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>(); + param.remove("docType"); + excludeTrash(param); + convertLike(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { + wrapper.orderBy("create_time", false); + } + List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1)); + List<Long> docIds = new ArrayList<>(); + + List<Long> unDocIds = new ArrayList<>(); + unDocIds.add(18L); + unDocIds.add(31L); + unDocIds.add(33L); + unDocIds.add(34L); + unDocIds.add(35L); + unDocIds.add(37L); + for (DocType pakin : pakins) { + if (!unDocIds.contains(pakin.getDocId())) { + docIds.add(pakin.getDocId()); + } + } + + if (docIds.size() > 0) { + if (docType > 0) { + wrapper.in("source",docType); + } else { + wrapper.in("source",docIds); + } + + } else { + wrapper.in("source",0); + } + Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); + for (OrderDetl record : page.getRecords()) { + Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode()); + record.setStock(sumAnfme == null ? 0 : sumAnfme); + } + + return R.ok(page); + } + @RequestMapping(value = "/orderDetl/pakout/list/authV3") + @Synchronized @ManagerAuth public R pakoutList3(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + StopWatch stopWatch = new StopWatch(); + stopWatch.start(); + EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convertLike(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { + wrapper.orderBy("create_time", false); + } + List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1)); + List<Long> docIds = new ArrayList<>(); + for (DocType pakin : pakins) { + if (pakin.getDocId() != 17 && pakin.getDocId() != 33 && pakin.getDocId() != 34 && pakin.getDocId() != 35) { + docIds.add(pakin.getDocId()); + } + } + wrapper.in("source",docIds); + Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); + for (OrderDetl record : page.getRecords()) { + Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode()); + record.setStock(sumAnfme == null ? 0 : sumAnfme); + } + stopWatch.stop(); + System.out.println(stopWatch.getTotalTimeSeconds()); + return R.ok(page); + } + + /* + * 鍗婃垚鍝佸姞宸ュ崟鎹� + * */ + @RequestMapping(value = "/orderDetl/pakout/list/authV5") + @ManagerAuth + public R pakoutList5(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, @RequestParam(required = false)String orderByField, @RequestParam(required = false)String orderByType, @@ -114,13 +203,15 @@ List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1)); List<Long> docIds = new ArrayList<>(); for (DocType pakin : pakins) { - docIds.add(pakin.getDocId()); + if (pakin.getDocId() == 35) { + docIds.add(pakin.getDocId()); + } } - + wrapper.eq("process_sts",1); wrapper.in("source",docIds); Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); for (OrderDetl record : page.getRecords()) { - Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode()); + Double sumAnfme = agvLocDetlService.getSumAnfmeProcess(record.getMatnr(), record.getThreeCode()); record.setStock(sumAnfme == null ? 0 : sumAnfme); } @@ -151,6 +242,37 @@ wrapper.in("source",docIds); Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); for (OrderDetl record : page.getRecords()) { + Double sumAnfme = agvLocDetlService.getSumAnfmeProcessed(record.getMatnr(), record.getThreeCode()); + record.setStock(sumAnfme == null ? 0 : sumAnfme); + } + + return R.ok(page); + } + + @RequestMapping(value = "/orderDetl/pakout/list/authV6") + @ManagerAuth + public R pakoutList6(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convertLike(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { + wrapper.orderBy("create_time", false); + } + List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1)); + List<Long> docIds = new ArrayList<>(); + for (DocType pakin : pakins) { + if (pakin.getDocId() == 37) { + docIds.add(pakin.getDocId()); + } + } + + wrapper.in("source",docIds); + Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); + for (OrderDetl record : page.getRecords()) { Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode()); record.setStock(sumAnfme == null ? 0 : sumAnfme); } -- Gitblit v1.9.1