| | |
| | | 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.*; |
| | | import com.aps.core.mapper.ApsMaterialStorageManagementMapper; |
| | | import jakarta.annotation.Resource; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.aps.core.mapper.ApsPlateStandardRequireBomStockDetailMapper; |
| | | import com.aps.core.domain.ApsPlateStandardRequireBomStockDetail; |
| | | import com.aps.core.service.IApsPlateStandardRequireBomStockDetailService; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | /** |
| | | * ApsPlateStandardRequireBomStockDetailService业务层处理 |
| | |
| | | { |
| | | @Autowired |
| | | private ApsPlateStandardRequireBomStockDetailMapper apsPlateStandardRequireBomStockDetailMapper; |
| | | @Resource |
| | | ApsMaterialStorageManagementMapper itemStorageMapper; |
| | | |
| | | @Resource |
| | | ApsPlateStandardRequireBomStockDetailMapper plateBomStockDetailMapper; |
| | | /** |
| | | * 查询ApsPlateStandardRequireBomStockDetail |
| | | * |
| | |
| | | { |
| | | return apsPlateStandardRequireBomStockDetailMapper.deleteApsPlateStandardRequireBomStockDetailById(id); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 计算物料剩余库存 并保存物料剩余库存明细。 |
| | | * */ |
| | | @Transactional |
| | | @Override |
| | | public void saveStorageAndDetail(ApsMaterialStorageManagement itemStorage, ApsPlatePlan plan, String bomLineId, |
| | | String itemCode, String batchNum, BigDecimal deductionAmount, |
| | | BigDecimal afterStockAmount,Long requireId |
| | | ,List<ApsPlateStandardRequireBomStockDetail> stockDetailsList){ |
| | | |
| | | |
| | | itemStorageMapper.updateMaterialStorageByVersion(itemStorage.getId(), afterStockAmount,itemStorage.getVersion()); |
| | | /*记录扣减明细*/ |
| | | ApsPlateStandardRequireBomStockDetail bomStockDetail = ApsPlateStandardRequireBomStockDetail.builder() |
| | | .id(IdUtil.getSnowflakeNextId()) |
| | | .requireId(requireId) |
| | | .requireTrackId(plan.getRequireId()) |
| | | .bomLineId(bomLineId) |
| | | .bomLineCode(itemCode) |
| | | .beforeStockAmount(itemStorage.getRemainderStock()) |
| | | .deductionAmount(deductionAmount) |
| | | .afterStockAmount(afterStockAmount) |
| | | .batchNumber(batchNum) |
| | | .orgCode(itemStorage.getApplicableFactories()) |
| | | .delFlag("0") |
| | | .build(); |
| | | bomStockDetail.setCreateBy(SecurityUtils.getUsername()); |
| | | bomStockDetail.setCreateTime(DateUtils.getNowDate()); |
| | | |
| | | stockDetailsList.add(bomStockDetail); |
| | | plateBomStockDetailMapper.insertApsPlateStandardRequireBomStockDetail(bomStockDetail); |
| | | /*更新内存中物料剩余库存*/ |
| | | /*itemStorage.setRemainderStock(afterStockAmount); |
| | | if(null== itemStorage.getVersion()){ |
| | | itemStorage.setVersion(1); |
| | | }else{ |
| | | itemStorage.setVersion(itemStorage.getVersion()+1); |
| | | }*/ |
| | | } |
| | | } |