From 6d5b1cf59e0e013ab740998ca50c9d9cf52e4375 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期六, 09 四月 2022 13:53:36 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/controller/OrderController.java | 99 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 88 insertions(+), 11 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 a2e3574..b9cebdf 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java @@ -26,6 +26,7 @@ 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; @@ -63,11 +64,15 @@ excludeTrash(param); convert(param, wrapper); hostEq(wrapper); - if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} - else { - wrapper.orderBy("update_time", false); + if (!Cools.isEmpty(orderByField)){ + wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); } - return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); + else { + wrapper.orderBy("create_time",false); + } + + Page<Order> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper); + return R.ok(orderPage); } private void convert(Map<String, Object> map, EntityWrapper wrapper){ @@ -202,28 +207,40 @@ */ @RequestMapping("/orders/wave/auth") @ManagerAuth + @Transactional public R createWave(@RequestBody List<Order> orders){ /** - * 鎺х + * 鎺х涓庡垵濮嬪寲 */ Integer seqNo = 1; for (Order order : orders) { - if (order.getSettle() != 2L) { - return R.error("浠呮敮鎸�'鏈嫞璐�'鐘舵�佺敓鎴愭尝娆�"); + 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); + 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 < 3){ + wave.setWaveNo(waveNo + "0001"); + } else { + 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()); @@ -267,6 +284,15 @@ .eq("id",checkWaveDetl.getId())); } } + + /** + * 鎺х,鍑鸿繃BUG,鍙敓鎴愯〃澶�,涓嶇敓鎴愯〃韬� + */ + if (Cools.isEmpty(allOrderDetls)) { + waveService.delete(new EntityWrapper<Wave>() + .eq("id",wave.getId())); + throw new CoolException("鎵句笉鍒板嚭搴撳崟缁嗚妭,璇疯仈绯荤鐞嗗憳"); + } /** * 鍙嶅啓鍑哄簱鍗曡〃澶� */ @@ -279,4 +305,55 @@ return R.ok("宸茬敓鎴愭尝娆�"); } + /** + * 閫氳繃鎵瑰彿璁㈠崟涓寘鍚殑鍑哄簱鍗� + */ + + @RequestMapping("/order/orderByWave/auth") + @ManagerAuth + public R getOrderDetailByWave(@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, + String research){ + EntityWrapper<Wave> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + hostEq(wrapper); + wrapper.orderBy("create_time",false); + List<Wave> waves = waveService.selectList(wrapper); + if (Cools.isEmpty(waves)) { + throw new CoolException("鎵句笉鍒拌娉㈡"); + } + HashSet<String> allOrders = new HashSet<>(); + for (Wave wave : waves) { + List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>() + .eq("wave_id", wave.getId())); + for (WaveDetl waveDetl : waveDetls) { + String[] split = waveDetl.getOrderNos().split(","); + for (String s : split) { + allOrders.add(s); + } + } + } + ArrayList<String> allOrdersList = new ArrayList<>(allOrders); + EntityWrapper<OrderDetl> orderDetailWrapper = new EntityWrapper<>(); + for (int i = 0; i < allOrdersList.size(); i++) { + String s = allOrdersList.get(i); + if (i == 0){ + orderDetailWrapper + .eq("order_no",s); + }else { + orderDetailWrapper + .or() + .eq("order_no",s); + } + } + if (!Cools.isEmpty(research)) { + orderDetailWrapper.eq("order_no",research); + } + Page<OrderDetl> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit),orderDetailWrapper); + return R.ok(orderDetlPage); + } } -- Gitblit v1.9.1