huangjiayang
2025-05-15 dbcc9f8992c97b84aa6ae0a381c807ba6239ae2c
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java
@@ -5,6 +5,7 @@
import cn.hutool.core.util.IdUtil;
import com.aps.common.core.utils.DateUtils;
import com.aps.common.security.utils.SecurityUtils;
import com.aps.core.domain.ApsPlatePlan;
import com.aps.core.domain.ApsPlateStandardRequire;
import com.aps.core.mapper.ApsPlatePlanMapper;
@@ -13,6 +14,7 @@
import com.aps.core.mapper.ApsPlateStandardRequireBomOrderDetailMapper;
import com.aps.core.domain.ApsPlateStandardRequireBomOrderDetail;
import com.aps.core.service.IApsPlateStandardRequireBomOrderDetailService;
import org.springframework.transaction.annotation.Transactional;
/**
 * ApsPlateStandardRequireBomOrderDetailService业务层处理
@@ -100,22 +102,36 @@
    {
        return apsPlateStandardRequireBomOrderDetailMapper.deleteApsPlateStandardRequireBomOrderDetailById(id);
    }
    @Transactional
    @Override
    public void savePlastPlanAndBomOrderDetail(ApsPlateStandardRequire require, ApsPlatePlan platePlan, BigDecimal subtract, BigDecimal stock, BigDecimal netRequirement) {
    public void savePlastPlanAndBomOrderDetail(ApsPlateStandardRequire require, ApsPlatePlan platePlan, BigDecimal subtract
            , BigDecimal stock, BigDecimal netRequirement, List<ApsPlateStandardRequireBomOrderDetail> orderDetailsList) {
        platePlan.setUnmatchedQuantity(subtract);
        apsPlatePlanMapper.updatePlanUnMatchQtyByVersion(platePlan);
       // apsPlatePlanMapper.updatePlanUnMatchQtyByVersion(platePlan);
        /* 记录工单与净需求的匹配关系*/
        ApsPlateStandardRequireBomOrderDetail bomOrderDetail = ApsPlateStandardRequireBomOrderDetail.builder()
                .id(IdUtil.getSnowflakeNextId())
                .requireId(require.getId().toString())
                .requireTrackId(require.getRequireId())
                .requireId(require.getId())
                .requireTrackId(require.getRequireTrackId())
                .bomLineId(require.getBomLineId())
                .bomLineCode(require.getBomLineCode())
                .docNo(platePlan.getDocumentNumber())
                .beforeProdAmount(stock)
                .deductionAmount(netRequirement)
                .afterProdAmount(subtract).build();
        apsPlateStandardRequireBomOrderDetailMapper.insertApsPlateStandardRequireBomOrderDetail(bomOrderDetail);
                .afterProdAmount(subtract)
                .batchNumber(require.getBatchNumber())
                .orgCode(require.getOrgCode())
                .delFlag("0")
                .build();
        bomOrderDetail.setCreateTime(DateUtils.getNowDate());
        bomOrderDetail.setCreateBy(SecurityUtils.getUsername());
        orderDetailsList.add(bomOrderDetail);
        //apsPlateStandardRequireBomOrderDetailMapper.insertApsPlateStandardRequireBomOrderDetail(bomOrderDetail);
    }
    @Override
    public List<ApsPlatePlan> selectRequireUpAndDownLevel(Long requireId){
        return apsPlateStandardRequireBomOrderDetailMapper.selectRequireUpAndDownLevel(requireId);
    }
}