From 3f31d6aa87063f91fd3c2678d32638b3cb3000f6 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期五, 25 三月 2022 16:53:28 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 335 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 295 insertions(+), 40 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 c92e900..e1542c4 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.*; @@ -60,7 +61,12 @@ private ReceiveService receiveService; @Autowired private ReceiveDetlService receiveDetlService; - + @Autowired + ReceiveLogService receiveLogService; + @Autowired + private WaveService waveService; + @Autowired + private WaveDetlService waveDetlService; @Override @@ -116,6 +122,23 @@ if (!pakinService.insert(pakin)) { throw new CoolException("淇濆瓨鍏ュ簱璁板綍澶辫触"); } + + /** + * 涓婃灦瀹屾垚涔嬪悗,瀛樻斁鏁版嵁鑷充笂鏋剁粺璁¤〃 man_receive_log + */ + ReceiveLog receiveLog = new ReceiveLog(); + receiveLog.setOrderNo("");//鍗曞彿 + receiveLog.setNodeId(node.getId());//搴撲綅鍙穒d + receiveLog.setNodeName(node.getName());//搴撲綅鍚嶇О + receiveLog.setMatnr(dto.getMatnr());//鐗╂枡缂栫爜 + receiveLog.setAnfme(dto.getCount());//鏁伴噺 + receiveLog.setBatch(dto.getBatch());//鎵瑰彿 + receiveLog.setCreateBy(userId);//娣诲姞浜哄憳 + receiveLog.setUpdateBy(userId);//淇敼浜哄憳 + receiveLog.setCreateTime(now); + receiveLog.setUpdateTime(now); + receiveLog.setIoType(1); + receiveLogService.insert(receiveLog); // 淇敼搴撳瓨 LocDetl locDetl = locDetlService.getLocDetl(node.getId(), dto.getMatnr()); if (locDetl == null) { @@ -127,6 +150,7 @@ locDetl.setZpallet(""); locDetl.setAnfme(dto.getCount()); VersionUtils.setLocDetl(locDetl, mat); + locDetl.setBatch(dto.getBatch()); // locDetl.setDocId(param.getDocType().longValue()); // locDetl.setDocNum(docNum); locDetl.setStatus(1); @@ -276,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("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟"); @@ -290,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); @@ -299,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揣鍗曟垚鍔�"); } @@ -564,13 +588,11 @@ } return R.ok("鎷h揣鍗曞凡鍙栨秷"); } - @Override @Transactional - public R initOrder(InitOrderParam param, Long userId, Long hostId) { + public R initReceive(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_no != null) { return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�"); } @@ -615,10 +637,116 @@ now, // 淇敼鏃堕棿 null // 澶囨敞 ); + if (!receiveService.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; + } + ReceiveDetl receiveDetl = new ReceiveDetl(); + receiveDetl.setHostId(hostId); + receiveDetl.setOrderId(order_no.getId()); + receiveDetl.setOrderNo(param.getOrderNo()); + 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(dto.getCount()); + receiveDetl.setUnitPrice(mat.getPrice()); + receiveDetl.setWeight(mat.getWeight()); + if (!receiveDetlService.insert(receiveDetl)) { + throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触"); + } + } + return R.ok("鍒涘缓璁㈠崟鎴愬姛"); + } + + @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("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�"); + } + Date now = new Date(); + Item item = itemService.selectByName(param.getItem()); + Cstmr cstmr = cstmrService.selectByName(param.getCstmr()); + // 鏂板璁㈠崟琛ㄥご + Order order1 = new Order(); + order1.setUuid(String.valueOf(snowflakeIdWorker.nextId())); + order1.setHostId(hostId); + order1.setOrderNo(param.getOrderNo()); + order1.setOrderTime(param.getOrderTime()); + order1.setDocType(param.getDocType()); + order1.setItemId(item == null? null : item.getId()); + order1.setItemName(param.getItem()); + order1.setCstmr(cstmr == null? null : cstmr.getId()); + order1.setCstmrName(param.getCstmr()); + order1.setSettle(1L); + order1.setStatus(1); + order1.setCreateBy(userId); + order1.setCreateTime(now); + order1.setUpdateBy(userId); + order1.setUpdateTime(now); +// order_no = new Receive( +// hostId, +// String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] +// param.getOrderNo(), // 璁㈠崟缂栧彿 +// param.getOrderTime(), // 鍗曟嵁鏃ユ湡 +// param.getDocType(), // 鍗曟嵁绫诲瀷 +// item==null?null:item.getId(), // 椤圭洰缂栧彿 +// param.getItem(), // 椤圭洰鍚嶇О +// null, // 璋冩嫧椤圭洰缂栧彿 +// null, // 鍒濆绁ㄦ嵁鍙� +// null, // 绁ㄦ嵁鍙� +// cstmr==null?null:cstmr.getId(), // 瀹㈡埛缂栧彿 +// param.getCstmr(), // 瀹㈡埛 +// null, // 鑱旂郴鏂瑰紡 +// null, // 鎿嶄綔浜哄憳 +// null, // 鍚堣閲戦 +// null, // 浼樻儬鐜� +// null, // 浼樻儬閲戦 +// null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 +// null, // 瀹炰粯閲戦 +// null, // 浠樻绫诲瀷 +// null, // 涓氬姟鍛� +// null, // 缁撶畻澶╂暟 +// null, // 閭垂鏀粯绫诲瀷 +// null, // 閭垂 +// null, // 浠樻鏃堕棿 +// null, // 鍙戣揣鏃堕棿 +// null, // 鐗╂祦鍚嶇О +// null, // 鐗╂祦鍗曞彿 +// 1L, // 璁㈠崟鐘舵�� +// 1, // 鐘舵�� +// userId, // 娣诲姞浜哄憳 +// now, // 娣诲姞鏃堕棿 +// userId, // 淇敼浜哄憳 +// now, // 淇敼鏃堕棿 +// null // 澶囨敞 +// ); // if (!orderService.insert(order)) { // throw new CoolException("淇濆瓨璁㈠崟琛ㄥご澶辫触锛�"); // } - if (!receiveService.insert(order_no)) { + if (!orderService.insert(order1)) { throw new CoolException("淇濆瓨璁㈠崟琛ㄥご澶辫触锛�"); } @@ -650,28 +778,29 @@ log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr()); continue; } - ReceiveDetl receiveDetl = new ReceiveDetl(); - receiveDetl.setHostId(hostId); - receiveDetl.setOrderId(order_no.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.setOrderNo(order1.getOrderNo()); + 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("淇濆瓨璁㈠崟鏄庣粏澶辫触"); } } @@ -877,4 +1006,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