From 4c1e8761e3fa0516d5e6d316e838e83c8e0f5edf Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期四, 24 三月 2022 12:59:25 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/controller/OrderController.java | 141 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 131 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..f8f15ea 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,33 @@ 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.utils.AddZero; 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 +118,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 +198,107 @@ 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("yyyyMMdd").format(new Date())+"-"; + String currNum = waveService.getCurrNum(waveNo); + if (!Cools.isEmpty(currNum)) { + String[] split = currNum.split("-"); + if (split.length < 2){ + wave.setWaveNo(waveNo + "0001"); + } + Integer newNum = Integer.parseInt(split[2]) +1; + String format = AddZero.addZeroForNum(newNum + "", 4); + wave.setWaveNo(waveNo + format); + }else { + wave.setWaveNo(waveNo + "0001"); + } + + 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())); + } + } + + /** + * 鎺х,鍑鸿繃BUG,鍙敓鎴愯〃澶�,涓嶇敓鎴愯〃韬� + */ + if (Cools.isEmpty(allOrderDetls)) { + waveService.delete(new EntityWrapper<Wave>() + .eq("id",wave.getId())); + throw new CoolException("鎵句笉鍒板嚭搴撳崟缁嗚妭,璇疯仈绯荤鐞嗗憳"); + } + /** + * 鍙嶅啓鍑哄簱鍗曡〃澶� + */ + 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