From 4a09820519af817c7423abee62da3bd70a7f1afd Mon Sep 17 00:00:00 2001 From: zc <zc@123> Date: 星期六, 19 四月 2025 12:58:38 +0800 Subject: [PATCH] qw --- src/main/java/com/zy/asrs/controller/OrderController.java | 137 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 137 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 8063a13..5a44740 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -9,13 +9,18 @@ import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.OrderDomainParam; + +import com.zy.asrs.entity.result.WrkTraceVo; import com.zy.asrs.service.*; import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; +import io.swagger.models.auth.In; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import javax.print.Doc; import java.util.*; @RestController @@ -33,6 +38,64 @@ private WrkDetlService wrkDetlService; @Autowired private WaitPakinService waitPakinService; + @Autowired + private LocDetlService locDetlService; + @Autowired + private WrkMastService wrkMastService; + @Autowired + private WrkMastLogService wrkMastLogService; + + @RequestMapping(value = "/order/search/pda/auth") + @ManagerAuth + public R pdaOrderSearch(@RequestParam(required = false)String condition){ + EntityWrapper<Order> wrapper = new EntityWrapper<>(); + if (!Cools.isEmpty(condition)) { +// wrapper.like("matnr", condition).or().like("maktx", condition); + wrapper.like("order_no", condition); + } + wrapper.orderBy("create_time", false); + List<Order> mats = orderService.selectList(wrapper); + return R.ok().add(mats); + } + + + @RequestMapping(value = "/order/list/pda/page/auth") + @ManagerAuth + public R pdaPageList(@RequestParam(required = true)Long tagId, + @RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit){ + List<DocType> docTypes = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1)); + ArrayList<Integer> arrayList = new ArrayList<>(); + docTypes.forEach(docType -> { + arrayList.add(docType.getDocId().intValue()); + }); + EntityWrapper<Order> wrapper = new EntityWrapper<>(); +// wrapper.eq("tag_id", tagId); + wrapper.in("doc_type", arrayList); + wrapper.in("settle",1,2); + wrapper.orderBy("create_time", false); + Page<Order> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper); + return R.ok().add(orderPage); + } + + @RequestMapping(value = "/order/list/pda/page/out/auth") + @ManagerAuth + public R pdaPageListOut(@RequestParam(required = true)Long tagId, + @RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit){ + List<DocType> docTypes = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1)); + ArrayList<Integer> arrayList = new ArrayList<>(); + docTypes.forEach(docType -> { + arrayList.add(docType.getDocId().intValue()); + }); + EntityWrapper<Order> wrapper = new EntityWrapper<>(); +// wrapper.eq("tag_id", tagId); + wrapper.in("doc_type", arrayList); + wrapper.in("settle",1,2); + wrapper.orderBy("create_time", false); + Page<Order> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper); + return R.ok().add(orderPage); + } @RequestMapping(value = "/order/nav/list/auth") @ManagerAuth @@ -221,6 +284,80 @@ return R.ok("璁㈠崟淇敼鎴愬姛"); } + @PostMapping(value = "/order/wrk/trace/auth") + @ManagerAuth + public R orderWrkTrace(@RequestParam("orderId") Long orderId) { + Order order = orderService.selectById(orderId); + if (null == order) { + return R.error("鍗曟嵁涓嶅瓨鍦�"); + } + // 鏁伴噺缁熻 + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(orderId); + double totalQty = 0; + double wrkQty = 0; + double lackQty = 0; + double endQty = 0; + for (OrderDetl orderDetl : orderDetls) { + totalQty = totalQty + orderDetl.getAnfme(); + wrkQty = wrkQty + orderDetl.getWorkQty(); + endQty = endQty + orderDetl.getQty(); + double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); + if (issued > 0.0) { + List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOrigin(), null,null,null,null); + for (LocDetl locDetl : locDetls) { + if (issued > 0) { + issued = issued - locDetl.getAnfme(); + } else { + break; + } + } + } + if (issued > 0.0) { + lackQty = lackQty + issued; + } + } + // 浠诲姟杩芥函 + List<WrkTraceVo> wrkTraceVos = new ArrayList<>(); + List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNoGroupByMatnrOfSum(order.getOrderNo()); + for (WrkDetl wrkDetl : wrkDetls) { + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime())); + if (wrkMast == null) { + WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime())); + if (wrkMastLog.getIoType()==103){ + wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()).eq("io_type",53)); + } + if (wrkMastLog != null) { + wrkMast = new WrkMast(); + BeanUtils.copyProperties(wrkMastLog, wrkMast); + } else { + continue; + } + } + boolean exist = false; + for (WrkTraceVo vo : wrkTraceVos) { + if (vo.getWrkNo().equals(wrkMast.getWrkNo()) && vo.getIoTimeStr().equals(DateUtils.convert(wrkMast.getIoTime()))) { + vo.getWrkDetls().add(wrkDetl); + exist = true; + } + } + if (!exist) { + WrkTraceVo vo = new WrkTraceVo(wrkMast.getWrkNo(), DateUtils.convert(wrkMast.getIoTime()), wrkMast, wrkDetl); + wrkTraceVos.add(vo); + } + } + if (!Cools.isEmpty(wrkTraceVos) && wrkTraceVos.size() > 1) { + wrkTraceVos.sort((o1, o2) -> (int) (o2.getWrkMast().getIoTime().getTime() - o1.getWrkMast().getIoTime().getTime())); + } + return R.ok().add(Cools + .add("list", wrkTraceVos) + .add("orderNo", order.getOrderNo()) + .add("totalQty", totalQty) + .add("wrkQty", wrkQty+endQty) + .add("lackQty", lackQty) + .add("endQty",endQty) + ); + } + // ------------------------------------------------------------------------------------------------ -- Gitblit v1.9.1