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 | 106 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 94 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 d167f48..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 @@ -14,13 +14,16 @@ import zy.cloud.wms.common.model.MatnrDto; import zy.cloud.wms.common.model.OrderStoDto; import zy.cloud.wms.common.model.ReceiveStoDto; +import zy.cloud.wms.common.model.WaveStoDto; import zy.cloud.wms.common.service.MainService; import zy.cloud.wms.common.utils.VersionUtils; import zy.cloud.wms.manager.entity.*; 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.*; /** @@ -62,6 +65,10 @@ private ReceiveDetlService receiveDetlService; @Autowired ReceiveLogService receiveLogService; + @Autowired + private WaveService waveService; + @Autowired + private WaveDetlService waveDetlService; @Override @@ -583,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(), // 椤圭洰缂栧彿 @@ -646,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); @@ -674,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()); @@ -687,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()); @@ -775,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); @@ -1093,4 +1143,36 @@ return R.ok("鍒涘缓璁㈠崟鎴愬姛"); } + @Override + public R wavePreview(StockOutParam stockOutParam, Long userId, Long hostId) { + Wrapper<Wave> wrapper = new EntityWrapper<Wave>() + .eq("id", stockOutParam.getOrderNo()); + + if (hostId != null) { + wrapper.eq("host_id", hostId); + } + Wave wave = waveService.selectOne(wrapper); + + if (wave.getStatus() != 0){ + return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟"); + } +// Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId); +// if (order.getSettle() != 1) { +// return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟"); +// } + List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>() + .eq("wave_id", stockOutParam.getOrderNo())); + if (Cools.isEmpty(waveDetls)) { + return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�"); + } +// List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo(), hostId); +// if (Cools.isEmpty(orderDetls)) { +// return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�"); +// } + + WaveStoDto waveStoDto = new WaveStoDto().create(stockOutParam.getOrderNo(),waveDetls); +// OrderStoDto dto = new OrderStoDto().create(order.getOrderNo(), orderDetls); + return R.ok().add(mainService.waveOutPreview(waveStoDto, hostId)); + } + } -- Gitblit v1.9.1