From 46607139e955ca266e24bd8561bca1f93a650178 Mon Sep 17 00:00:00 2001 From: wang..123 <brook_w@163.com> Date: 星期二, 22 三月 2022 18:23:39 +0800 Subject: [PATCH] Merge branch 'master' of http://47.97.1.152:5880/r/wms_saas --- src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 205 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 168 insertions(+), 37 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 47c3b4e..467d357 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,6 +14,7 @@ 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.*; @@ -62,6 +63,10 @@ private ReceiveDetlService receiveDetlService; @Autowired ReceiveLogService receiveLogService; + @Autowired + private WaveService waveService; + @Autowired + private WaveDetlService waveDetlService; @Override @@ -295,12 +300,12 @@ @Override public R stockOutPreview(StockOutParam param, Long userId, Long hostId) { - Wrapper<Receive> wrapper = new EntityWrapper<Receive>() + Wrapper<Order> wrapper = new EntityWrapper<Order>() .eq("order_no", param.getOrderNo()); if (hostId != null) { wrapper.eq("host_id", hostId); } - Receive order_no = receiveService.selectOne(wrapper); + Order order_no = orderService.selectOne(wrapper); if (order_no.getSettle() != 1){ return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟"); @@ -309,8 +314,8 @@ // if (order.getSettle() != 1) { // return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟"); // } - List<ReceiveDetl> receiveDetls = receiveDetlService.selectByOrderNo(order_no.getOrderNo(), hostId); - if (Cools.isEmpty(receiveDetls)) { + List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order_no.getOrderNo(), hostId); + if (Cools.isEmpty(orderDetls)) { return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�"); } // List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo(), hostId); @@ -318,27 +323,27 @@ // return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�"); // } - ReceiveStoDto receiveStoDto = new ReceiveStoDto().create(order_no.getOrderNo(), receiveDetls); + OrderStoDto orderStoDto = new OrderStoDto().create(order_no.getOrderNo(), orderDetls); // OrderStoDto dto = new OrderStoDto().create(order.getOrderNo(), orderDetls); - return R.ok().add(mainService.receiveStockOutPreview(receiveStoDto, hostId)); + return R.ok().add(mainService.orderOutPreview(orderStoDto, hostId)); } @Override public R stockOutCreate(StockOutParam param, Long userId, Long hostId) { - Receive receive = receiveService.selectByOrderNo(param.getOrderNo(), hostId); -// Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId); - if (receive.getSettle() != 1) { +// Receive receive = receiveService.selectByOrderNo(param.getOrderNo(), hostId); + Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId); + if (order.getSettle() != 1) { return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟"); } - List<ReceiveDetl> receiveDetls = receiveDetlService.selectByOrderNo(param.getOrderNo(), hostId); + List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(param.getOrderNo(), hostId); // List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(param.getOrderNo(), hostId); - if (Cools.isEmpty(receiveDetls)) { + if (Cools.isEmpty(orderDetls)) { return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�"); } - ReceiveStoDto receiveStoDto = new ReceiveStoDto().create(receive.getOrderNo(), receiveDetls); + OrderStoDto orderStoDto = new OrderStoDto().create(order.getOrderNo(), orderDetls); // OrderStoDto dto = new OrderStoDto().create(receive.getOrderNo(), receiveDetls); // 寮�濮嬫暣鐞嗗嚭搴撴暟鎹� - mainService.receiveStockOutProcess(receiveStoDto,hostId); + mainService.orderStockOutProcess(orderStoDto,hostId,userId); return R.ok("鐢熸垚鎷h揣鍗曟垚鍔�"); } @@ -691,9 +696,9 @@ order1.setOrderNo(param.getOrderNo()); order1.setOrderTime(param.getOrderTime()); order1.setDocType(param.getDocType()); - order1.setItemId(item.getId()); + order1.setItemId(item == null? null : item.getId()); order1.setItemName(param.getItem()); - order1.setCstmr(cstmr.getId()); + order1.setCstmr(cstmr == null? null : cstmr.getId()); order1.setCstmrName(param.getCstmr()); order1.setSettle(1L); order1.setStatus(1); @@ -773,28 +778,28 @@ log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr()); continue; } - ReceiveDetl receiveDetl = new ReceiveDetl(); - receiveDetl.setHostId(hostId); - receiveDetl.setOrderId(order1.getId()); - receiveDetl.setAnfme(dto.getCount()); - receiveDetl.setCreateTime(now); - receiveDetl.setCreateBy(userId); - receiveDetl.setUpdateBy(userId); - receiveDetl.setUpdateTime(now); - receiveDetl.setStatus(1); - receiveDetl.setMatnr(mat.getMatnr()); - receiveDetl.setMaktx(mat.getMaktx()); - receiveDetl.setName(mat.getName()); - receiveDetl.setSpecs(mat.getSpecs()); - receiveDetl.setModel(mat.getModel()); - receiveDetl.setBatch(mat.getBatch()); - receiveDetl.setUnit(mat.getUnit()); - receiveDetl.setBarcode(mat.getBarcode()); - receiveDetl.setItemNum(mat.getItemNum()); - receiveDetl.setCount(Double.valueOf(mat.getCount())); - receiveDetl.setUnitPrice(mat.getPrice()); - receiveDetl.setWeight(mat.getWeight()); - if (!receiveDetlService.insert(receiveDetl)) { + OrderDetl orderDetl = new OrderDetl(); + orderDetl.setHostId(hostId); + orderDetl.setOrderId(order1.getId()); + orderDetl.setAnfme(dto.getCount()); + orderDetl.setCreateTime(now); + orderDetl.setCreateBy(userId); + orderDetl.setUpdateBy(userId); + orderDetl.setUpdateTime(now); + orderDetl.setStatus(1); + orderDetl.setMatnr(mat.getMatnr()); + orderDetl.setMaktx(mat.getMaktx()); + orderDetl.setName(mat.getName()); + orderDetl.setSpecs(mat.getSpecs()); + orderDetl.setModel(mat.getModel()); + orderDetl.setBatch(mat.getBatch()); + orderDetl.setUnit(mat.getUnit()); + orderDetl.setBarcode(mat.getBarcode()); + orderDetl.setItemNum(mat.getItemNum()); + orderDetl.setCount(mat.getCount() == null ? 0 : mat.getCount()); + orderDetl.setUnitPrice(mat.getPrice()); + orderDetl.setWeight(mat.getWeight()); + if (!orderDetlService.insert(orderDetl)) { throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触"); } } @@ -1000,4 +1005,130 @@ return R.ok(); } + @Override +// @Transactional + public R initOutOrder(InitOrderParam param, Long userId, Long hostId) { + Order order_no = orderService.selectOne(new EntityWrapper<Order>() + .eq("order_no", param.getOrderNo())); +// Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId); + if (order_no != null) { + return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�"); + } + Date now = new Date(); + Item item = itemService.selectByName(param.getItem()); + Cstmr cstmr = cstmrService.selectByName(param.getCstmr()); + + // 鏂板璁㈠崟琛ㄥご + order_no = new Order(); + order_no.setHostId(hostId); + order_no.setUuid(String.valueOf(snowflakeIdWorker.nextId())); + order_no.setOrderNo(param.getOrderNo()); + order_no.setOrderTime(param.getOrderTime()); + order_no.setDocType(param.getDocType()); + order_no.setItemId(item==null?null:item.getId()); + order_no.setItemName(param.getItem()); + order_no.setCstmr(cstmr==null?null:cstmr.getId()); + order_no.setCstmrName(param.getCstmr()); + order_no.setSettle(1L); + order_no.setStatus(1); + order_no.setCreateTime(now); + order_no.setCreateBy(userId); + order_no.setUpdateTime(now); + order_no.setUpdateBy(userId); + +// if (!orderService.insert(order)) { +// throw new CoolException("淇濆瓨璁㈠崟琛ㄥご澶辫触锛�"); +// } + if (!orderService.insert(order_no)) { + throw new CoolException("淇濆瓨璁㈠崟琛ㄥご澶辫触锛�"); + } + +// // 閬嶅巻鍟嗗搧鏁伴噺骞朵繚瀛� +// for (MatnrDto dto : param.getList()){ +// Mat mat = matService.selectByMatnr(hostId, dto.getMatnr()); +// if (mat == null) { +// log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr()); +// continue; +// } +// OrderDetl orderDetl = new OrderDetl(); +// orderDetl.setHostId(hostId); +// orderDetl.setOrderId(order.getId()); // 璁㈠崟鍐呯爜 +// orderDetl.setAnfme(dto.getCount()); // 鏁伴噺 +// orderDetl.setCreateBy(userId); +// orderDetl.setCreateTime(now); +// orderDetl.setUpdateBy(userId); +// orderDetl.setUpdateTime(now); +// orderDetl.setStatus(1); +// VersionUtils.setOrderDetl(orderDetl, mat); +// if (!orderDetlService.insert(orderDetl)) { +// throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触"); +// } +// } + // 閬嶅巻鍟嗗搧鏁伴噺骞朵繚瀛� + for (MatnrDto dto : param.getList()){ + Mat mat = matService.selectByMatnr(hostId, dto.getMatnr()); + if (mat == null) { + log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr()); + continue; + } + OrderDetl orderDtel = new OrderDetl(); + orderDtel.setHostId(hostId); + orderDtel.setOrderId(order_no.getId()); + orderDtel.setAnfme(dto.getCount()); + orderDtel.setCreateTime(now); + orderDtel.setCreateBy(userId); + orderDtel.setUpdateBy(userId); + orderDtel.setUpdateTime(now); + orderDtel.setStatus(1); + orderDtel.setMatnr(mat.getMatnr()); + orderDtel.setMaktx(mat.getMaktx()); + orderDtel.setName(mat.getName()); + orderDtel.setSpecs(mat.getSpecs()); + orderDtel.setModel(mat.getModel()); + orderDtel.setBatch(mat.getBatch()); + orderDtel.setUnit(mat.getUnit()); + orderDtel.setBarcode(mat.getBarcode()); + orderDtel.setItemNum(mat.getItemNum()); + orderDtel.setCount(mat.getCount() == null ? 0 : mat.getCount()); + orderDtel.setUnitPrice(mat.getPrice()); + orderDtel.setWeight(mat.getWeight()); + if (!orderDetlService.insert(orderDtel)) { + throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触"); + } + } + 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