From 58bccbc9d1a23c8184217317a9a37345d98883c2 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期一, 28 三月 2022 15:44:07 +0800
Subject: [PATCH] .
---
src/main/java/zy/cloud/wms/manager/controller/OrderController.java | 153 ++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 139 insertions(+), 14 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..29dd6ce 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
@@ -53,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){
@@ -107,13 +122,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 +202,107 @@
return R.ok();
}
+ /**
+ * 鐢熸垚娉㈡
+ */
+ @RequestMapping("/orders/wave/auth")
+ @ManagerAuth
+ @Transactional
+ 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 < 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());
+ 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