chen.lin
昨天 98d88ac8caf7f0991d741079474c262f1e252927
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
@@ -302,10 +302,13 @@
                //获取库存中订单库位
                Set<Long> longSet = stockItems.stream().map(StockItem::getStockId).collect(Collectors.toSet());
                Stock stocks = stockService.getOne(new LambdaQueryWrapper<Stock>()
                        .in(Stock::getId, longSet)
                        .eq(Stock::getType, OrderType.ORDER_IN.type)
                        .eq(Stock::getSourceCode, order.getCode()));
                Stock stocks = null;
                if (!longSet.isEmpty()) {
                    stocks = stockService.getOne(new LambdaQueryWrapper<Stock>()
                            .in(Stock::getId, longSet)
                            .eq(Stock::getType, OrderType.ORDER_IN.type)
                            .eq(Stock::getSourceCode, order.getCode()));
                }
                if (!Objects.isNull(stocks)) {
                    param.setZone(stocks.getLocCode());
                }
@@ -319,7 +322,7 @@
                        .setItemCode(orderItem.getMatnrCode())
                        .setEditUser(nickName)
                        .setEditDate(order.getUpdateTime())
                        .setZone(stocks.getLocCode())
                        .setZone(stocks != null ? stocks.getLocCode() : null)
                        // .setGoodsNO(fields.get("crushNo"))  // 票号暂不使用
                        .setMemoDtl(order.getMemo());
@@ -393,6 +396,9 @@
                //过滤拣货入库明细,避免上报
                List<Stock> stockList = stocks.stream().filter(stock -> stock.getType().equals(OrderType.ORDER_OUT.type) && !Objects.isNull(stock.getSourceCode())).collect(Collectors.toList());
                List<Long> list = stockList.stream().map(Stock::getId).collect(Collectors.toList());
                if (list.isEmpty()) {
                    return;
                }
                List<StockItem> stockItems1 = stockItemService.list(new LambdaQueryWrapper<StockItem>().in(StockItem::getStockId, list));
                String finalNickName = nickName;
                stockItems1.forEach(stockItem -> {
@@ -500,11 +506,14 @@
                    .eq(StockItem::getFieldsIndex, orderItem.getFieldsIndex()));
            //获取库存中订单库位
            List<Long> longSet = stockItems.stream().map(StockItem::getStockId).collect(Collectors.toList());
            //获取库存库位信息
            Stock stocks = stockService.getOne(new LambdaQueryWrapper<Stock>()
                    .in(Stock::getId, longSet)
                    .eq(Stock::getType, OrderType.ORDER_IN.type)
                    .eq(Stock::getSourceCode, order.getCode()));
            //获取库存库位信息(避免 longSet 为空时生成 stock_id IN () 导致 SQL 异常)
            Stock stocks = null;
            if (!longSet.isEmpty()) {
                stocks = stockService.getOne(new LambdaQueryWrapper<Stock>()
                        .in(Stock::getId, longSet)
                        .eq(Stock::getType, OrderType.ORDER_IN.type)
                        .eq(Stock::getSourceCode, order.getCode()));
            }
            if (!Objects.isNull(stocks)) {
                param.setZone(stocks.getLocCode());
            }