From 46607139e955ca266e24bd8561bca1f93a650178 Mon Sep 17 00:00:00 2001 From: wang..123 <brook_w@163.com> Date: 星期二, 22 三月 2022 18:23:39 +0800 Subject: [PATCH] Merge branch 'master' of http://47.97.1.152:5880/r/wms_saas --- src/main/java/zy/cloud/wms/manager/controller/OrderController.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 109 insertions(+), 10 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 51f26e5..1934bb6 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java @@ -19,22 +19,32 @@ 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 javax.imageio.ImageIO; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; @RestController public class OrderController extends BaseController { @Autowired private OrderService orderService; + @Autowired + private OrderDetlService orderDetlService; + @Autowired + private WaveService waveService; + @Autowired + private WaveDetlService waveDetlService; @RequestMapping(value = "/order/{id}/auth") @ManagerAuth @@ -107,13 +117,20 @@ @ManagerAuth @Transactional public R deleteBatch(@RequestParam(value = "ids[]") Long[] ids){ - if (Cools.isEmpty((Object) ids)){ - return R.error(); - } - for (Long id : ids){ - if (!orderService.deleteById(id)) { - throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + /*** + * 鎺х + */ + for (Long id : ids) { + Order target = orderService.selectOne(new EntityWrapper<Order>() + .eq("id", id)); + if (target.getSettle() == 0 || target.getSettle() == 1) { + orderService.deleteById(id); + orderDetlService.delete(new EntityWrapper<OrderDetl>() + .eq("order_id",id)); + }else { + throw new CoolException("浠呭厑璁稿垹闄�'鍒濆鍖�','寰呭鐞�'鐘舵�佺殑璁㈠崟"); } + } return R.ok(); } @@ -180,4 +197,86 @@ return R.ok(); } + /** + * 鐢熸垚娉㈡ + */ + @RequestMapping("/orders/wave/auth") + @ManagerAuth + public R createWave(@RequestBody List<Order> orders){ + /** + * 鎺х + */ + Integer seqNo = 1; + for (Order order : orders) { + if (order.getSettle() != 1L) { + return R.error("浠呮敮鎸�'寰呭鐞�'鐘舵�佺敓鎴愭尝娆�"); + } + } + + + /** + * 鐢熸垚娉㈡琛ㄥご + */ + + Wave wave = new Wave(); + wave.setHostId(getHostId()); + String s = UUID.randomUUID().toString().replace("-",""); + wave.setUuid(s); + String waveNo = "WAVE-" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); + wave.setWaveNo(waveNo); + wave.setOrdersQty(orders.size()); + wave.setStatus((short) 0); + wave.setCreateBy(getUserId()); + wave.setUpdateBy(getUserId()); + waveService.insert(wave); + + /** + * 鐢熸垚娉㈡鏄庣粏 + */ + List<OrderDetl> allOrderDetls = orderDetlService.selectBatchByOrderNo(orders); + for (OrderDetl allOrderDetl : allOrderDetls) { + WaveDetl checkWaveDetl = waveDetlService.selectOne(new EntityWrapper<WaveDetl>() + .eq("wave_id",wave.getId()) + .eq("matnr", allOrderDetl.getMatnr()) + .eq("batch", allOrderDetl.getBatch())); + if (Cools.isEmpty(checkWaveDetl)) { + WaveDetl waveDetl = new WaveDetl(); + waveDetl.setHostId(getHostId()); + waveDetl.setWaveId(wave.getId()); + waveDetl.setWaveNo(wave.getWaveNo()); + waveDetl.setSeqNo(seqNo); + seqNo++; + waveDetl.setOrderQty(1); + waveDetl.setOrderNos(allOrderDetl.getOrderNo()); + waveDetl.setAnfme(allOrderDetl.getAnfme()); + waveDetl.setMatnr(allOrderDetl.getMatnr()); + waveDetl.setMaktx(allOrderDetl.getMaktx()); + waveDetl.setSpecs(allOrderDetl.getSpecs()); + waveDetl.setModel(allOrderDetl.getModel()); + waveDetl.setUnit(allOrderDetl.getUnit()); + waveDetl.setStatus(0); + waveDetl.setBatch(allOrderDetl.getBatch()); + waveDetl.setCreateBy(getUserId()); + waveDetl.setUpdateBy(getUserId()); + waveDetlService.insert(waveDetl); + }else { + checkWaveDetl.setOrderQty(checkWaveDetl.getOrderQty()+1); + checkWaveDetl.setOrderNos(checkWaveDetl.getOrderNos() + "," +allOrderDetl.getOrderNo()); + checkWaveDetl.setAnfme(checkWaveDetl.getAnfme() + allOrderDetl.getAnfme()); + waveDetlService.update(checkWaveDetl,new EntityWrapper<WaveDetl>() + .eq("id",checkWaveDetl.getId())); + } + } + /** + * 鍙嶅啓鍑哄簱鍗曡〃澶� + */ + for (Order order : orders) { + order.setWaveNo(wave.getWaveNo()); + order.setSettle(11L); + orderService.update(order,new EntityWrapper<Order>() + .eq("id",order.getId())); + } + return R.ok("宸茬敓鎴愭尝娆�"); + } + } -- Gitblit v1.9.1