cl
3 天以前 91a2be4c5b6a700346f5024267a99e9e4ab9ca57
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
@@ -53,13 +53,11 @@
 * @create 2025/3/12 17:08
 */
@Slf4j
@Service
@Service("reportMsgService")
public class ReportMsgServiceImpl implements ReportMsgService {
    @Autowired
    private PurchaseService purchaseService;
    @Autowired
    private RemotesInfoProperties.ApiInfo apiInfo;
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
@@ -123,7 +121,7 @@
        if (!remotesInfoProperties.getHost().equals("http://127.0.0.1")){
            MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
            //获取上报质检接口
            String url = remotesInfoProperties.getBaseUrl() + apiInfo.getNotifyInspect();
            String url = remotesInfoProperties.getBaseUrl() + remotesInfoProperties.getApi().getNotifyInspect();
            // 设置请求参数
            params.add("params", JSONObject.toJSONString(inspectParams));
            log.info("请求地址:{},请求参数:{}", url, JSONObject.toJSONString(inspectParams));
@@ -249,6 +247,7 @@
        params.setAction("Update").setOrderType("PD_stock");
        HttpEntity httpEntity = new HttpEntity(params, headers);
        ResponseEntity<String> exchange = restTemplate.exchange(rcsUrl, HttpMethod.POST, httpEntity, String.class);
        log.info("盘点库存修改,返回结果: {}", exchange);
        if (Objects.isNull(exchange.getBody())) {
@@ -301,10 +300,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());
                }
@@ -318,8 +320,8 @@
                        .setItemCode(orderItem.getMatnrCode())
                        .setEditUser(nickName)
                        .setEditDate(order.getUpdateTime())
                        .setZone(stocks.getLocCode())
                        .setGoodsNO(fields.get("crushNo"))
                        .setZone(stocks != null ? stocks.getLocCode() : null)
                        // .setGoodsNO(fields.get("crushNo"))  // 票号暂不使用
                        .setMemoDtl(order.getMemo());
                if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_DONE_IN.type)) {
@@ -392,6 +394,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 -> {
@@ -406,7 +411,7 @@
                            .setItemCode(stockItem.getMatnrCode())
                            .setEditUser(finalNickName)
                            .setEditDate(order.getUpdateTime())
                            .setGoodsNO(fields.get("crushNo"))
                            // .setGoodsNO(fields.get("crushNo"))  // 票号暂不使用
                            .setMemoDtl(order.getMemo());
                    if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_DONE_IN.type)) {
                        //采购入库单
@@ -499,11 +504,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());
            }
@@ -519,7 +527,7 @@
                .setItemCode(orderItem.getMatnrCode())
                .setEditUser(nickName)
                .setEditDate(order.getUpdateTime())
                .setGoodsNO(fields.get("crushNo"))
                // .setGoodsNO(fields.get("crushNo"))  // 票号暂不使用
                .setMemoDtl(order.getMemo());
        if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_DONE_IN.type)) {