package com.aps.core.service.impl;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
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;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
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业务层处理
|
*
|
* @author zhl
|
* @date 2025-05-06
|
*/
|
@Service
|
public class ApsPlateStandardRequireBomOrderDetailServiceImpl implements IApsPlateStandardRequireBomOrderDetailService
|
{
|
@Autowired
|
private ApsPlateStandardRequireBomOrderDetailMapper apsPlateStandardRequireBomOrderDetailMapper;
|
@Autowired
|
private ApsPlatePlanMapper apsPlatePlanMapper;
|
/**
|
* 查询ApsPlateStandardRequireBomOrderDetail
|
*
|
* @param id ApsPlateStandardRequireBomOrderDetail主键
|
* @return ApsPlateStandardRequireBomOrderDetail
|
*/
|
@Override
|
public ApsPlateStandardRequireBomOrderDetail selectApsPlateStandardRequireBomOrderDetailById(Long id)
|
{
|
return apsPlateStandardRequireBomOrderDetailMapper.selectApsPlateStandardRequireBomOrderDetailById(id);
|
}
|
|
/**
|
* 查询ApsPlateStandardRequireBomOrderDetail列表
|
*
|
* @param apsPlateStandardRequireBomOrderDetail ApsPlateStandardRequireBomOrderDetail
|
* @return ApsPlateStandardRequireBomOrderDetail
|
*/
|
@Override
|
public List<ApsPlateStandardRequireBomOrderDetail> selectApsPlateStandardRequireBomOrderDetailList(ApsPlateStandardRequireBomOrderDetail apsPlateStandardRequireBomOrderDetail)
|
{
|
return apsPlateStandardRequireBomOrderDetailMapper.selectApsPlateStandardRequireBomOrderDetailList(apsPlateStandardRequireBomOrderDetail);
|
}
|
|
/**
|
* 新增ApsPlateStandardRequireBomOrderDetail
|
*
|
* @param apsPlateStandardRequireBomOrderDetail ApsPlateStandardRequireBomOrderDetail
|
* @return 结果
|
*/
|
@Override
|
public int insertApsPlateStandardRequireBomOrderDetail(ApsPlateStandardRequireBomOrderDetail apsPlateStandardRequireBomOrderDetail)
|
{
|
apsPlateStandardRequireBomOrderDetail.setCreateTime(DateUtils.getNowDate());
|
return apsPlateStandardRequireBomOrderDetailMapper.insertApsPlateStandardRequireBomOrderDetail(apsPlateStandardRequireBomOrderDetail);
|
}
|
|
/**
|
* 修改ApsPlateStandardRequireBomOrderDetail
|
*
|
* @param apsPlateStandardRequireBomOrderDetail ApsPlateStandardRequireBomOrderDetail
|
* @return 结果
|
*/
|
@Override
|
public int updateApsPlateStandardRequireBomOrderDetail(ApsPlateStandardRequireBomOrderDetail apsPlateStandardRequireBomOrderDetail)
|
{
|
apsPlateStandardRequireBomOrderDetail.setUpdateTime(DateUtils.getNowDate());
|
return apsPlateStandardRequireBomOrderDetailMapper.updateApsPlateStandardRequireBomOrderDetail(apsPlateStandardRequireBomOrderDetail);
|
}
|
|
/**
|
* 批量删除ApsPlateStandardRequireBomOrderDetail
|
*
|
* @param ids 需要删除的ApsPlateStandardRequireBomOrderDetail主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteApsPlateStandardRequireBomOrderDetailByIds(Long[] ids)
|
{
|
return apsPlateStandardRequireBomOrderDetailMapper.deleteApsPlateStandardRequireBomOrderDetailByIds(ids);
|
}
|
|
/**
|
* 删除ApsPlateStandardRequireBomOrderDetail信息
|
*
|
* @param id ApsPlateStandardRequireBomOrderDetail主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteApsPlateStandardRequireBomOrderDetailById(Long id)
|
{
|
return apsPlateStandardRequireBomOrderDetailMapper.deleteApsPlateStandardRequireBomOrderDetailById(id);
|
}
|
@Transactional
|
@Override
|
public void savePlastPlanAndBomOrderDetail(ApsPlateStandardRequire require, ApsPlatePlan platePlan, BigDecimal subtract
|
, BigDecimal stock, BigDecimal netRequirement, List<ApsPlateStandardRequireBomOrderDetail> orderDetailsList) {
|
platePlan.setUnmatchedQuantity(subtract);
|
apsPlatePlanMapper.updatePlanUnMatchQtyByVersion(platePlan);
|
/* 记录工单与净需求的匹配关系*/
|
ApsPlateStandardRequireBomOrderDetail bomOrderDetail = ApsPlateStandardRequireBomOrderDetail.builder()
|
.id(IdUtil.getSnowflakeNextId())
|
.requireId(require.getId())
|
.requireTrackId(require.getRequireTrackId())
|
.bomLineId(require.getBomLineId())
|
.bomLineCode(require.getBomLineCode())
|
.docNo(platePlan.getDocumentNumber())
|
.beforeProdAmount(stock)
|
.deductionAmount(netRequirement)
|
.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);
|
}
|
}
|