liyong
2026-04-25 20d3e1da6517ed5e55ae3613ccbbb01f1b9eda2e
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -1,11 +1,14 @@
package com.ruoyi.sales.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.ProductModelAnticlockwiseDto;
import com.ruoyi.basic.service.IProductModelService;
import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
import com.ruoyi.framework.web.domain.R;
@@ -84,6 +87,8 @@
    private StockInventoryMapper stockInventoryMapper;
    @Autowired
    private ProductOrderServiceImpl productOrderServiceImpl;
    @Autowired
    private IProductModelService productModelService;
    @Override
    public SalesLedgerProduct selectSalesLedgerProductById(Long id) {
@@ -194,6 +199,16 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int addOrUpdateSalesLedgerProduct(SalesLedgerProduct salesLedgerProduct) {
        //先查询基础表有没有
        ProductModelAnticlockwiseDto productModelAnticlockwiseDto = new ProductModelAnticlockwiseDto();
        productModelAnticlockwiseDto.setProductName(salesLedgerProduct.getProductCategory());
        productModelAnticlockwiseDto.setModel(salesLedgerProduct.getSpecificationModel());
        productModelAnticlockwiseDto.setUnit(salesLedgerProduct.getUnit());
        productModelAnticlockwiseDto.setSubUnit(salesLedgerProduct.getUnit());
        productModelAnticlockwiseDto.setId(salesLedgerProduct.getId());
        Long l = productModelService.productModelAnticlockwise(productModelAnticlockwiseDto);
        salesLedgerProduct.setProductModelId(l);
        // 待回款,付款
        if (salesLedgerProduct.getType().equals(1)) {
            salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));
@@ -286,11 +301,14 @@
            //新增生产订单工艺路线子表
            List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(new QueryWrapper<ProcessRouteItem>().lambda().eq(ProcessRouteItem::getRouteId, processRoute.getId()));
            Map<Long, ProductProcess> productProcessMap = productProcessService
                    .list(new LambdaQueryWrapper<ProductProcess>().in(ProductProcess::getId, processRouteItems.stream().map(ProcessRouteItem::getProcessId).collect(Collectors.toList())))
                    .stream()
                    .collect(Collectors.toMap(ProductProcess::getId, productProcess -> productProcess));
            Map<Long, ProductProcess> productProcessMap = new HashMap<>();
            if(CollUtil.isNotEmpty(processRouteItems)){
                productProcessMap = productProcessService
                        .list(new LambdaQueryWrapper<ProductProcess>().in(ProductProcess::getId, processRouteItems.stream().map(ProcessRouteItem::getProcessId).collect(Collectors.toList())))
                        .stream()
                        .collect(Collectors.toMap(ProductProcess::getId, productProcess -> productProcess));
            }
            for (ProcessRouteItem processRouteItem : processRouteItems) {
                ProductProcessRouteItem productProcessRouteItem = new ProductProcessRouteItem();
                productProcessRouteItem.setProductModelId(processRouteItem.getProductModelId());