From 464b41d1c0098dde4738c0577c5e6f162b46b349 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期四, 31 三月 2022 10:38:17 +0800
Subject: [PATCH] .
---
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 69 ++++++++++++++++++++++++++++------
1 files changed, 57 insertions(+), 12 deletions(-)
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
index 9e5baaf..5f4586d 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -21,7 +21,9 @@
import zy.cloud.wms.manager.entity.param.*;
import zy.cloud.wms.manager.entity.result.StoPrintVo;
import zy.cloud.wms.manager.service.*;
+import zy.cloud.wms.manager.utils.AddZero;
+import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -588,22 +590,44 @@
}
return R.ok("鎷h揣鍗曞凡鍙栨秷");
}
+
@Override
@Transactional
public R initReceive(InitOrderParam param, Long userId, Long hostId){
- Receive order_no = receiveService.selectOne(new EntityWrapper<Receive>()
- .eq("order_no", param.getOrderNo()));
- if (order_no != null) {
- return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+ String orderNo = "";
+ if(!Cools.isEmpty(param.getOrderNo())) {
+ Receive receive = receiveService.selectOne(new EntityWrapper<Receive>()
+ .eq("order_no", param.getOrderNo()));
+ if (receive != null) {
+ return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+ }
+ orderNo = param.getOrderNo();
+ } else {
+ String sheetNo = "STO-" + new SimpleDateFormat("yyyyMMdd").format(new Date()) + "-";
+ String currNum = receiveService.getCurrNum(sheetNo);
+ if (!Cools.isEmpty(currNum)) {
+ String[] split = currNum.split("-");
+ if (split.length < 3) {
+ orderNo = sheetNo + "0001";
+ } else {
+ Integer newNum = Integer.parseInt(split[2]) + 1;
+ String format = AddZero.addZeroForNum(newNum + "", 4);
+ orderNo = sheetNo + format;
+ }
+ } else {
+ orderNo = sheetNo + "0001";
+ }
}
+
Date now = new Date();
Item item = itemService.selectByName(param.getItem());
Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
// 鏂板璁㈠崟琛ㄥご
- order_no = new Receive(
+ Receive order_no = new Receive(
hostId,
String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
- param.getOrderNo(), // 璁㈠崟缂栧彿
+ orderNo, // 璁㈠崟缂栧彿
+// param.getOrderNo(), // 璁㈠崟缂栧彿
param.getOrderTime(), // 鍗曟嵁鏃ユ湡
param.getDocType(), // 鍗曟嵁绫诲瀷
item==null?null:item.getId(), // 椤圭洰缂栧彿
@@ -651,6 +675,8 @@
ReceiveDetl receiveDetl = new ReceiveDetl();
receiveDetl.setHostId(hostId);
receiveDetl.setOrderId(order_no.getId());
+ receiveDetl.setOrderNo(orderNo);
+// receiveDetl.setOrderNo(param.getOrderNo());
receiveDetl.setAnfme(dto.getCount());
receiveDetl.setCreateTime(now);
receiveDetl.setCreateBy(userId);
@@ -679,12 +705,30 @@
@Override
@Transactional
public R initOrder(InitOrderParam param, Long userId, Long hostId) {
- // Receive order_no = receiveService.selectOne(new EntityWrapper<Receive>()
- // .eq("order_no", param.getOrderNo()));
- Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
- if (order != null) {
- return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+ String orderNo = "";
+ if(!Cools.isEmpty(param.getOrderNo())) {
+ Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+ if (order != null) {
+ return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+ }
+ orderNo = param.getOrderNo();
+ } else {
+ String sheetNo = "ORD-" + new SimpleDateFormat("yyyyMMdd").format(new Date()) + "-";
+ String currNum = receiveService.getCurrNum(sheetNo);
+ if (!Cools.isEmpty(currNum)) {
+ String[] split = currNum.split("-");
+ if (split.length < 3) {
+ orderNo = sheetNo + "0001";
+ } else {
+ Integer newNum = Integer.parseInt(split[2]) + 1;
+ String format = AddZero.addZeroForNum(newNum + "", 4);
+ orderNo = sheetNo + format;
+ }
+ } else {
+ orderNo = sheetNo + "0001";
+ }
}
+
Date now = new Date();
Item item = itemService.selectByName(param.getItem());
Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
@@ -692,7 +736,7 @@
Order order1 = new Order();
order1.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
order1.setHostId(hostId);
- order1.setOrderNo(param.getOrderNo());
+ order1.setOrderNo(orderNo);
order1.setOrderTime(param.getOrderTime());
order1.setDocType(param.getDocType());
order1.setItemId(item == null? null : item.getId());
@@ -780,6 +824,7 @@
OrderDetl orderDetl = new OrderDetl();
orderDetl.setHostId(hostId);
orderDetl.setOrderId(order1.getId());
+ orderDetl.setOrderNo(order1.getOrderNo());
orderDetl.setAnfme(dto.getCount());
orderDetl.setCreateTime(now);
orderDetl.setCreateBy(userId);
--
Gitblit v1.9.1