From d17c089f1d7ff3be848b05161917346e7f664a1d Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期二, 26 四月 2022 15:17:53 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/controller/OrderController.java | 94 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 86 insertions(+), 8 deletions(-) diff --git a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java index 3806cfe..7670a29 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java @@ -18,14 +18,10 @@ import zy.cloud.wms.common.utils.BarcodeUtils; import zy.cloud.wms.common.utils.QrCode; import zy.cloud.wms.common.web.BaseController; -import zy.cloud.wms.manager.entity.Order; -import zy.cloud.wms.manager.entity.OrderDetl; -import zy.cloud.wms.manager.entity.Wave; -import zy.cloud.wms.manager.entity.WaveDetl; -import zy.cloud.wms.manager.service.OrderDetlService; -import zy.cloud.wms.manager.service.OrderService; -import zy.cloud.wms.manager.service.WaveDetlService; -import zy.cloud.wms.manager.service.WaveService; +import zy.cloud.wms.manager.entity.*; +import zy.cloud.wms.manager.entity.dto.OrderDetlDTO; +import zy.cloud.wms.manager.entity.param.StockOutParam; +import zy.cloud.wms.manager.service.*; import zy.cloud.wms.manager.utils.AddZero; import javax.imageio.ImageIO; @@ -46,6 +42,13 @@ private WaveService waveService; @Autowired private WaveDetlService waveDetlService; + @Autowired + private PickoutService pickoutService; + @Autowired + private PickoutDetlService pickoutDetlService; + @Autowired + private LocDetlService locDetlService; + @RequestMapping(value = "/order/{id}/auth") @ManagerAuth @@ -357,4 +360,79 @@ Page<OrderDetl> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit),orderDetailWrapper); return R.ok(orderDetlPage); } + + + /** + * 寮�濮嬫挱绉�,鏇存柊璁㈠崟缁嗚妭,鍑忓皯搴撳瓨閲� + * @param orderDetls + * @return + */ + @RequestMapping("/order/waveBack") + public R waveBack(@RequestBody OrderDetlDTO orderDetls){ + /** + * 鎺х涓庡垵濮嬪寲 + */ + if (Cools.isEmpty(orderDetls.getOrderDetls())) { + + throw new CoolException("鏈敹鍒版湁鏁堟挱绉嶄俊鎭�,璇疯仈绯荤鐞嗗憳"); + } + + /** + * 鏇存柊鍘熷嚭搴撳崟,鏍规嵁鎷h揣鍗曟潵鍑忓幓搴撳瓨 + */ + for (OrderDetl newOne : orderDetls.getOrderDetls()) { + Order order = orderService.selectOne(new EntityWrapper<Order>() + .eq("id", newOne.getOrderId())); + Pickout pickout = pickoutService.selectOne(new EntityWrapper<Pickout>() + .eq("wave_no", order.getWaveNo())); + OrderDetl oldOne = orderDetlService.selectOne(new EntityWrapper<OrderDetl>() + .eq("id", newOne.getId())); + /** + * 璁$畻鍑哄樊鍊�,鍑忓幓搴撳瓨 + */ + double diffValue = newOne.getOutQty() - oldOne.getOutQty(); + if (diffValue !=0) { + /** + * 鑾峰彇鎷h揣鍗曞垎閰嶇殑搴撲綅 + */ + List<PickoutDetl> pickoutDetls = pickoutDetlService.selectList(new EntityWrapper<PickoutDetl>() + .eq("head_id", pickout.getId()) + .eq("matnr", newOne.getMatnr())); + /** + * 閫氳繃鎷h揣鍗曞垎閰嶇殑搴撲綅,閬嶅巻搴撳瓨, + */ + for (PickoutDetl pickoutDetl : pickoutDetls) { + if (diffValue == 0) break; + LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>() + .eq("node_id", pickoutDetl.getNodeId()) + .eq("matnr",newOne.getMatnr())); + if (Cools.isEmpty(locDetl) || locDetl.getAnfme() == 0) { + continue; + } + if (locDetl.getAnfme() > diffValue){ + locDetl.setAnfme(locDetl.getAnfme() - diffValue); + locDetlService.update(locDetl, new EntityWrapper<LocDetl>() + .eq("node_id",locDetl.getNodeId() ) + .eq("matnr",locDetl.getMatnr())); + break; + } + if (locDetl.getAnfme() < diffValue){ + locDetl.setAnfme(0.0); + diffValue = diffValue - locDetl.getAnfme(); + locDetlService.update(locDetl, new EntityWrapper<LocDetl>() + .eq("node_id",locDetl.getNodeId() ) + .eq("matnr",locDetl.getMatnr())); + } + + } + orderDetlService.update(newOne, new EntityWrapper<OrderDetl>() + .eq("id", newOne.getId() )); + } + Boolean result = orderDetlService.checkFinish(order.getId()); + if (result) { + orderDetlService.finishOrder(order.getId()); + } + } + return R.ok("鎾鎴愬姛"); + } } -- Gitblit v1.9.1