src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.basic.service.IProductService;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.mapper.*;
@@ -26,6 +28,7 @@
import com.ruoyi.technology.mapper.TechnologyRoutingMapper;
import com.ruoyi.technology.pojo.TechnologyRouting;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -86,6 +89,8 @@
    private StockUtils stockUtils;
    @Autowired
    private StockInventoryMapper stockInventoryMapper;
    @Autowired
    private IProductService productService;
    @Override
    public SalesLedgerProduct selectSalesLedgerProductById(Long id) {
@@ -178,6 +183,20 @@
    @Transactional(rollbackFor = Exception.class)
    public int addOrUpdateSalesLedgerProduct(SalesLedgerProduct salesLedgerProduct) {
        // 采购台账(type=2)手工录入品名/材质/规格型号时,自动注册到产品维护
        if (Integer.valueOf(2).equals(salesLedgerProduct.getType())
                && StringUtils.isNotBlank(salesLedgerProduct.getMaterial())) {
            ProductModel productModel = productService.ensureProductHierarchy(
                    salesLedgerProduct.getProductCategory(),
                    salesLedgerProduct.getMaterial(),
                    salesLedgerProduct.getSpecificationModel(),
                    salesLedgerProduct.getUnit());
            if (productModel != null) {
                salesLedgerProduct.setProductId(productModel.getProductId());
                salesLedgerProduct.setProductModelId(productModel.getId());
            }
        }
        int result;
        Long salesLedgerId = salesLedgerProduct.getSalesLedgerId();
        if (salesLedgerProduct.getId() == null) {