|
|
@ -437,6 +437,7 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe |
|
|
|
WorkstationDO workstationDO = workstationService.selectWorkstationExist(productreceiptRecordDetailDO.getWorkStationCode(),productreceiptRecordMainDO.getWorkshopCode(),productreceiptRecordDetailDO.getProductionlineCode()); |
|
|
|
backflushRecordDetailbDO.setFromLocationCode(workstationDO.getRawLocationCode()); |
|
|
|
// 根据 from_location_code 查询库存余额
|
|
|
|
// TODO: 如果按批次 查询批次获取库存余额 排序批次 如果第一条批次不够数量 需要扣除第二条余额 库存事务出的动作要存2条
|
|
|
|
List inventoryStatus = new ArrayList(); |
|
|
|
inventoryStatus.add("OK"); |
|
|
|
List<BalanceDO> balanceDOList = balanceService.selectNumber(backflushRequestDetailbDO.getItemCode(),inventoryStatus,workstationDO.getRawLocationCode()); |
|
|
@ -445,6 +446,9 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe |
|
|
|
backflushRecordDetailbDO.setInventoryStatus("OK"); |
|
|
|
backflushRecordDetailbDO.setFromAreaCode(balanceDOList.get(0).getAreaCode()); |
|
|
|
backflushRecordDetailbDO.setFromLocationGroupCode(balanceDOList.get(0).getLocationGroupCode()); |
|
|
|
// 消耗数量 = 成品数量 * bom数量
|
|
|
|
BigDecimal qty = productreceiptRecordDetailDO.getQty().multiply(backflushRecordDetailbDO.getQty()); |
|
|
|
backflushRecordDetailbDO.setQty(qty); |
|
|
|
backflushRecordDetailbDOList.add(backflushRecordDetailbDO); |
|
|
|
//添加库存事务list
|
|
|
|
// 出动作
|
|
|
@ -465,6 +469,7 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe |
|
|
|
transactionCreateReqVO.setAmount(BigDecimal.ZERO); |
|
|
|
transactionCreateReqVO.setWarehouseCode(""); |
|
|
|
transactionCreateReqVO.setLocationCode(backflushRecordDetailbDO.getFromLocationCode()); |
|
|
|
transactionCreateReqVO.setQty(qty); |
|
|
|
transactionCreateReqVOList.add(transactionCreateReqVO); |
|
|
|
// 判断 物品 是否为 下线结算物品 创建 下线结算记录
|
|
|
|
if (itembasicService.isOfflines(backflushRecordDetailbDO.getItemCode())) { |
|
|
|