From 669fe984048785873c20fbd0ce8abb3cd52c1fce Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 29 四月 2025 15:22:24 +0800 Subject: [PATCH] 新增出库单优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java | 37 ++++++++++++++++++++++++++++--------- 1 files changed, 28 insertions(+), 9 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java index 07e3d46..ee36323 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java @@ -2,7 +2,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.manager.controller.params.PakinItem; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; @@ -16,7 +15,6 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -41,16 +39,17 @@ private LocService locService; /** + * @param + * @param userId + * @return * @author Ryan * @description 缁勬嫋 - * @param - * @return * @time 2025/3/29 14:42 */ @Override @Transactional(rollbackFor = Exception.class) - public WaitPakin mergeItems(WaitPakinParam waitPakin) { - if (waitPakin.getItems().isEmpty()) { + public WaitPakin mergeItems(WaitPakinParam waitPakin, Long userId) { + if (Objects.isNull(waitPakin.getItems()) || waitPakin.getItems().isEmpty()) { throw new CoolException("鍙傛暟閿欒锛氱墿鏂欒窡韪爜涓虹┖锛�"); } if (StringUtils.isBlank(waitPakin.getBarcode())) { @@ -84,6 +83,8 @@ //鐘舵�佷慨鏀逛负鍏ュ簱涓� .setIoStatus(Short.parseShort(PakinIOStatus.PAKIN_IO_STATUS_DONE.val)) .setAnfme(sum) + .setUpdateBy(userId) + .setCreateBy(userId) .setBarcode(waitPakin.getBarcode()); if (!this.save(waitPakin1)) { throw new CoolException("涓诲崟淇濆瓨澶辫触锛侊紒"); @@ -125,10 +126,17 @@ .setFieldsIndex(item.getFieldsIndex()) .setMatnrId(item.getMatnrId()) .setMaktx(item.getMaktx()) + .setUpdateBy(userId) + .setCreateBy(userId) .setMatnrCode(item.getMatnrCode()); + AsnOrder order = asnOrderService.getById(item.getAsnId()); + if (!Objects.isNull(order)) { + pakinItem.setType(null == order.getType() ? null :order.getType()) + .setWkType(null == order.getWkType() ? null : Short.parseShort(order.getWkType()) ); + } for (PakinItem waitPakinItem : waitPakin.getItems()) { if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) { - if (waitPakinItem.getReceiptQty() > item.getAnfme()) { + if (waitPakinItem.getReceiptQty() > item.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) >= 0) { throw new CoolException("缁勬嫋鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺锛侊紒"); } pakinItem.setAnfme(waitPakinItem.getReceiptQty()).setTrackCode(waitPakinItem.getTrackCode()); @@ -159,11 +167,19 @@ .setFieldsIndex(item.getFieldsIndex()) .setMatnrId(item.getMatnrId()) .setMaktx(item.getMaktx()) + .setUpdateBy(userId) + .setCreateBy(userId) .setMatnrCode(item.getMatnrCode()); + AsnOrder order = asnOrderService.getById(item.getAsnId()); + if (!Objects.isNull(order)) { + pakinItem.setType(null == order.getType() ? null :order.getType()) + .setWkType(null == order.getWkType() ? null : Short.parseShort(order.getWkType()) ); + } + for (PakinItem waitPakinItem : waitPakin.getItems()) { if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) { - if (waitPakinItem.getReceiptQty() > item.getAnfme()) { - throw new CoolException("缁勬嫋鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺锛侊紒"); + if (waitPakinItem.getReceiptQty() > item.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) <= 0) { + throw new CoolException("缁勬嫋鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺涓斾笉鑳藉皬浜庨浂锛侊紒"); } pakinItem.setAnfme(waitPakinItem.getReceiptQty()).setTrackCode(waitPakinItem.getTrackCode()); } @@ -179,6 +195,9 @@ if (!this.updateById(waitPakin1)) { throw new CoolException("缁勬嫋鏁伴噺淇敼澶辫触锛侊紒"); } + + //TODO 缁勬嫋瀹屾垚鍚庯紝鎵e噺鏀惰揣鍖哄簱瀛� + return pakin; } -- Gitblit v1.9.1