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/service/impl/WorkServiceImpl.java | 69 ++++++++++++++++++++++++++++------ 1 files changed, 56 insertions(+), 13 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 e1542c4..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,7 +675,8 @@ ReceiveDetl receiveDetl = new ReceiveDetl(); receiveDetl.setHostId(hostId); receiveDetl.setOrderId(order_no.getId()); - receiveDetl.setOrderNo(param.getOrderNo()); + receiveDetl.setOrderNo(orderNo); +// receiveDetl.setOrderNo(param.getOrderNo()); receiveDetl.setAnfme(dto.getCount()); receiveDetl.setCreateTime(now); receiveDetl.setCreateBy(userId); @@ -680,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()); @@ -693,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()); -- Gitblit v1.9.1