From 830db9a372955f1c85ab020d2e12e273570dca87 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 07 五月 2025 20:37:51 +0800 Subject: [PATCH] 新增质检状态流程 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java | 121 ++++++++++++++------------------------- 1 files changed, 44 insertions(+), 77 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 02a782c..48cedde 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 @@ -107,79 +107,45 @@ List<WaitPakinItem> items = new ArrayList<>(); for (PakinItem pakinItem1 : waitPakin.getItems()) { //涓嶈壇鏍囩缁勬墭 - if (!Objects.isNull(waitPakin.getType()) && waitPakin.getType().equals("defective")) { - List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnCode, pakinItem1.getAsnCode())); - if (Objects.isNull(orderItems) || orderItems.isEmpty()) { - throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); - } - 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()); - 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() || waitPakinItem.getReceiptQty().compareTo(0.0) >= 0) { - throw new CoolException("缁勬墭鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺锛侊紒"); - } - pakinItem.setAnfme(waitPakinItem.getReceiptQty()).setTrackCode(waitPakinItem.getTrackCode()); - } - } - items.add(pakinItem); - } - } else { - WarehouseAreasItem warehouseAreasItems = warehouseAreasItemService.getById(pakinItem1.getId()); - if (null == warehouseAreasItems) { - throw new CoolException("鐗╂枡鏈�佽嚦鏀惰揣鍖猴紒锛�"); - } - WaitPakinItem pakinItem = new WaitPakinItem(); - pakinItem.setAnfme(warehouseAreasItems.getAnfme()) - .setPakinId(waitPakin1.getId()) - .setSource(warehouseAreasItems.getId()) - .setAsnId(warehouseAreasItems.getAsnId()) - .setAsnCode(warehouseAreasItems.getAsnCode()) - .setAsnItemId(warehouseAreasItems.getId()) - .setBatch(warehouseAreasItems.getSplrBatch()) - .setUnit(warehouseAreasItems.getStockUnit()) - .setFieldsIndex(warehouseAreasItems.getFieldsIndex()) - .setMatnrId(warehouseAreasItems.getMatnrId()) - .setMaktx(warehouseAreasItems.getMaktx()) - .setUpdateBy(userId) - .setCreateBy(userId) - .setMatnrCode(warehouseAreasItems.getMatnrCode()); - AsnOrder order = asnOrderService.getById(warehouseAreasItems.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(warehouseAreasItems.getTrackCode())) { - if (waitPakinItem.getReceiptQty() > warehouseAreasItems.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) <= 0) { - throw new CoolException("缁勬墭鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺涓斾笉鑳藉皬浜庨浂锛侊紒"); - } - pakinItem.setAnfme(waitPakinItem.getReceiptQty()).setTrackCode(waitPakinItem.getTrackCode()); - } - } - items.add(pakinItem); - + WarehouseAreasItem warehouseAreasItems = warehouseAreasItemService.getById(pakinItem1.getId()); + if (null == warehouseAreasItems) { + throw new CoolException("鐗╂枡鏈�佽嚦鏀惰揣鍖猴紒锛�"); } + WaitPakinItem pakinItem = new WaitPakinItem(); + pakinItem.setAnfme(warehouseAreasItems.getAnfme()) + .setPakinId(waitPakin1.getId()) + .setSource(warehouseAreasItems.getId()) + .setAsnId(warehouseAreasItems.getAsnId()) + .setAsnCode(warehouseAreasItems.getAsnCode()) + .setAsnItemId(warehouseAreasItems.getAsnItemId()) + .setIsptResult(warehouseAreasItems.getIsptResult()) + .setBatch(warehouseAreasItems.getSplrBatch()) + .setUnit(warehouseAreasItems.getStockUnit()) + .setFieldsIndex(warehouseAreasItems.getFieldsIndex()) + .setMatnrId(warehouseAreasItems.getMatnrId()) + .setMaktx(warehouseAreasItems.getMaktx()) + .setUpdateBy(userId) + .setCreateBy(userId) + .setMatnrCode(warehouseAreasItems.getMatnrCode()); + AsnOrder order = asnOrderService.getById(warehouseAreasItems.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.getId().equals(warehouseAreasItems.getId())) { + if (waitPakinItem.getReceiptQty() > warehouseAreasItems.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) <= 0) { + 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)) { @@ -188,13 +154,12 @@ for (WaitPakinItem pakinItem : items) { WarehouseAreasItem one = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>() - .eq(WarehouseAreasItem::getTrackCode, pakinItem.getTrackCode()) - .eq(!Cools.isEmpty(pakinItem.getBatch()),WarehouseAreasItem::getSplrBatch, pakinItem.getBatch())); + .eq(WarehouseAreasItem::getId, pakinItem.getSource())); if (Objects.isNull(one)) { throw new CoolException("鏀惰揣鍖烘暟鎹敊璇紒锛�"); } // one.setAnfme(one.getAnfme() - pakinItem.getAnfme()) - one.setWorkQty(one.getWorkQty() + pakinItem.getAnfme() + one.getQty()) ; + one.setWorkQty(one.getWorkQty() + pakinItem.getAnfme() + one.getQty()); if (one.getWorkQty() > one.getAnfme()) { throw new CoolException("缁勬墭鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺锛侊紒"); } @@ -214,10 +179,10 @@ } /** - * @author Ryan - * @description 缁勬墭瑙g粦 * @param * @return + * @author Ryan + * @description 缁勬墭瑙g粦 * @time 2025/3/29 14:42 */ @Override @@ -279,7 +244,9 @@ Map<Long, List<WaitPakinItem>> listMap = pakinItems.stream().collect(Collectors.groupingBy(WaitPakinItem::getSource)); for (WarehouseAreasItem item : areasItems) { List<WaitPakinItem> pakin = listMap.get(item.getId()); - if (Objects.isNull(pakin)) {continue;} + if (Objects.isNull(pakin)) { + continue; + } double sum = pakin.stream().mapToDouble(WaitPakinItem::getAnfme).sum(); item.setWorkQty(item.getWorkQty() - sum) .setAnfme(item.getAnfme() + sum); -- Gitblit v1.9.1