From 1ec35b0c78dcbab5f32077ca190c70085e90615b Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 14 四月 2025 11:38:21 +0800 Subject: [PATCH] #修改 1. 质检问题修复 2. 收货单据问题修复 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java | 114 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 69 insertions(+), 45 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 75bdb0e..4ab88da 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,15 +39,16 @@ 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) { + public WaitPakin mergeItems(WaitPakinParam waitPakin, Long userId) { if (waitPakin.getItems().isEmpty()) { throw new CoolException("鍙傛暟閿欒锛氱墿鏂欒窡韪爜涓虹┖锛�"); } @@ -107,48 +106,73 @@ throw new CoolException("鍘熷崟鎹竻闄ゅけ璐ワ紒锛�"); } } - - LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new QueryWrapper<WarehouseAreasItem>() - .select("SUM(anfme) as anfme, track_code, asn_code, id, splr_batch, ispt_result, plat_item_id, batch, qty, work_qty, matnr_code, matnr_id, maktx") - .lambda() - .in(WarehouseAreasItem::getTrackCode, tracks) - .groupBy(WarehouseAreasItem::getSplrBatch, - WarehouseAreasItem::getTrackCode); - List<WarehouseAreasItem> warehouseAreasItems = warehouseAreasItemService.list(queryWrapper); - if (Objects.isNull(warehouseAreasItems) || warehouseAreasItems.isEmpty()) { - throw new CoolException("鐗╂枡鏈�佽嚦鏀惰揣鍖猴紒锛�"); - } List<WaitPakinItem> items = new ArrayList<>(); - for (WarehouseAreasItem item : warehouseAreasItems) { - WaitPakinItem pakinItem = new WaitPakinItem(); - pakinItem.setAnfme(item.getAnfme()) - .setPakinId(waitPakin1.getId()) - .setAsnId(item.getAsnId()) - .setAsnCode(item.getAsnCode()) - .setAsnItemId(item.getId()) - .setBatch(item.getSplrBatch()) - .setUnit(item.getStockUnit()) - .setFieldsIndex(item.getFieldsIndex()) - .setMatnrId(item.getMatnrId()) - .setMaktx(item.getMaktx()) - .setMatnrCode(item.getMatnrCode()); - for (PakinItem waitPakinItem : waitPakin.getItems()) { - if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) { - if (waitPakinItem.getReceiptQty() > item.getAnfme()) { - throw new CoolException("缁勬嫋鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺锛侊紒"); - } - pakinItem - .setAnfme(waitPakinItem.getReceiptQty()) - .setTrackCode(waitPakinItem.getTrackCode()); - /**鏇存柊鍗曟嵁鎵ц涓簱瀛�*/ -// if (v.compareTo(item.getAnfme()) > 0) {throw new CoolException("鎵ц涓暟閲忓ぇ浜庢敹璐ф暟閲忥紒锛�");} -// if (!asnOrderItemService.update(new LambdaUpdateWrapper<AsnOrderItem>() -// .eq(AsnOrderItem::getTrackCode, waitPakinItem.getTrackCode()).set(AsnOrderItem::getWorkQty, v))) { -// throw new CoolException("鎵ц涓簱瀛樻洿鏂板け璐ワ紒锛�"); -// } - } + if (!Objects.isNull(waitPakin.getType()) && waitPakin.getType().equals("defective")) { + List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getTrackCode, tracks)); + if (Objects.isNull(orderItems) || orderItems.isEmpty()) { + throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); } - items.add(pakinItem); + for (AsnOrderItem item : orderItems) { + WaitPakinItem pakinItem = new WaitPakinItem(); + pakinItem.setAnfme(item.getAnfme()) + .setPakinId(waitPakin1.getId()) + .setAsnId(item.getAsnId()) + .setAsnCode(item.getAsnCode()) + .setAsnItemId(item.getId()) + .setBatch(item.getSplrBatch()) + .setUnit(item.getStockUnit()) + .setFieldsIndex(item.getFieldsIndex()) + .setMatnrId(item.getMatnrId()) + .setMaktx(item.getMaktx()) + .setUpdateBy(userId) + .setCreateBy(userId) + .setMatnrCode(item.getMatnrCode()); + for (PakinItem waitPakinItem : waitPakin.getItems()) { + if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) { + if (waitPakinItem.getReceiptQty() > item.getAnfme()) { + throw new CoolException("缁勬嫋鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺锛侊紒"); + } + pakinItem.setAnfme(waitPakinItem.getReceiptQty()).setTrackCode(waitPakinItem.getTrackCode()); + } + } + items.add(pakinItem); + } + } else { + LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new QueryWrapper<WarehouseAreasItem>() + .select("SUM(anfme) as anfme, track_code, asn_code, id, splr_batch, ispt_result, plat_item_id, batch, qty, work_qty, matnr_code, matnr_id, maktx") + .lambda() + .in(WarehouseAreasItem::getTrackCode, tracks) + .groupBy(WarehouseAreasItem::getSplrBatch, + WarehouseAreasItem::getTrackCode); + List<WarehouseAreasItem> warehouseAreasItems = warehouseAreasItemService.list(queryWrapper); + if (Objects.isNull(warehouseAreasItems) || warehouseAreasItems.isEmpty()) { + throw new CoolException("鐗╂枡鏈�佽嚦鏀惰揣鍖猴紒锛�"); + } + for (WarehouseAreasItem item : warehouseAreasItems) { + WaitPakinItem pakinItem = new WaitPakinItem(); + pakinItem.setAnfme(item.getAnfme()) + .setPakinId(waitPakin1.getId()) + .setAsnId(item.getAsnId()) + .setAsnCode(item.getAsnCode()) + .setAsnItemId(item.getId()) + .setBatch(item.getSplrBatch()) + .setUnit(item.getStockUnit()) + .setFieldsIndex(item.getFieldsIndex()) + .setMatnrId(item.getMatnrId()) + .setMaktx(item.getMaktx()) + .setUpdateBy(userId) + .setCreateBy(userId) + .setMatnrCode(item.getMatnrCode()); + for (PakinItem waitPakinItem : waitPakin.getItems()) { + if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) { + if (waitPakinItem.getReceiptQty() > item.getAnfme()) { + throw new CoolException("缁勬嫋鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺锛侊紒"); + } + pakinItem.setAnfme(waitPakinItem.getReceiptQty()).setTrackCode(waitPakinItem.getTrackCode()); + } + } + items.add(pakinItem); + } } double sum1 = items.stream().mapToDouble(WaitPakinItem::getAnfme).sum(); if (!waitPakinItemService.saveBatch(items)) { -- Gitblit v1.9.1