skyouc
2025-04-12 5ae1669ac1794f62cf72e7d5352853da14d440b9
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -213,6 +213,10 @@
        Double receiptQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getReceiptQty).sum();
        if (Objects.isNull(receiptQty) || receiptQty.compareTo(0.00) <= 0) {
            throw new CoolException("收货数量不能小于或等于零!!");
        }
        String asnCode = receipts.stream().findFirst().get().getAsnCode();
        AsnOrder asnOrder = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>()
@@ -248,7 +252,7 @@
                throw new CoolException("通知单明细不存在!!");
            }
            if (Objects.isNull(dto.getReceiptQty()) || Double.compare(dto.getReceiptQty(), 0.0) == 0) {
                throw new CoolException("收货数量不能为零!!");
                throw new CoolException("物料:" + dto.getMaktx() +  "收货数量不能为零!!");
            }
            Double itemRcptQty = dto.getReceiptQty() + orderItem.getQty();
            orderItem.setQty(itemRcptQty)
@@ -291,7 +295,7 @@
                    .setWeight(dto.getWeigth())
                    .setStockUnit(dto.getStockUnit())
                    .setBatch(SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_RECEIPT_BATCH, dto))
                    .setAnfme(itemRcptQty)
                    .setAnfme(dto.getReceiptQty())
                    .setSplrBatch(dto.getSplrBatch())
                    .setMatnrCode(matnr.getCode())
                    .setMatnrId(matnr.getId())
@@ -738,9 +742,15 @@
     */
    @Override
    public R getItemByContainer(Map<String, Object> params) {
        //获取组拖未生成任务的组拖档
        List<Short> asList = Arrays.asList(Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val), Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val));
        Short flagDefect = 0;
        if (!Objects.isNull(params.get("type")) && params.get("type").equals("defective")) {
            flagDefect = 1;
        }
        WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>()
                .eq(WaitPakin::getBarcode, params.get("barcode").toString())
                        .eq(WaitPakin::getFlagDefect, flagDefect)
                .in(WaitPakin::getIoStatus, asList));
        if (Objects.isNull(waitPakin)) {
            return R.ok(new ArrayList<>());
@@ -750,17 +760,39 @@
        if (pakinItems.isEmpty()) {
            return R.ok(new ArrayList<>());
        }
        List<String> list = pakinItems.stream().map(WaitPakinItem::getTrackCode).collect(Collectors.toList());
        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, list)
                .groupBy(WarehouseAreasItem::getSplrBatch,
                        WarehouseAreasItem::getAsnId,
                        WarehouseAreasItem::getAreaId,
                        WarehouseAreasItem::getTrackCode,
                        WarehouseAreasItem::getMatnrId);
        return R.ok(warehouseAreasItemService.list(queryWrapper));
        if (!Objects.isNull(params.get("type")) && params.get("type").equals("defective")) {
            return R.ok(pakinItems);
        } else {
            List<String> list = pakinItems.stream().map(WaitPakinItem::getTrackCode).collect(Collectors.toList());
            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, list)
                    .groupBy(WarehouseAreasItem::getSplrBatch,
                            WarehouseAreasItem::getTrackCode);
            List<WarehouseAreasItem> warehouseAreasItems = warehouseAreasItemService.list(queryWrapper);
            for (int i = 0; i < warehouseAreasItems.size(); i++) {
                for (WaitPakinItem pakinItem : pakinItems) {
                    if (warehouseAreasItems.get(i).getTrackCode().equals(pakinItem.getTrackCode())) {
                        warehouseAreasItems.get(i).setAnfme(pakinItem.getAnfme());
                    }
                }
            }
            return R.ok(warehouseAreasItems);
        }
    }
    /**
     * @author Ryan
     * @description 不良标签
     * @param
     * @return
     * @time 2025/4/12 08:12
     */
    @Override
    public R defectProducts(String trackCode) {
        AsnOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getTrackCode, trackCode));
        return R.ok(orderItem);
    }
    /**