即时库存调整

This commit is contained in:
18942506660
2024-01-02 11:26:20 +08:00
parent 7a1d4bb52d
commit 40f5513d75
8 changed files with 118 additions and 23 deletions

View File

@@ -203,12 +203,23 @@ namespace WMS.Web.Domain.Services
var materials_result = await sc_erpService.BillQueryForMaterial();
if (!materials_result.IsSuccess) return Result.ReFailure(ResultCodes.ErpMaterialError);
var materials = materials_result.Data.ToList();
List<(int materialId, string orgCode, string stockCode)> requestInventory = new List<(int materialId, string orgCode, string stockCode)>();
entity.Details.ForEach(f => requestInventory.Add((f.MaterialId, f.OrgCode, f.StockCode)));
var res_s = await sc_erpService.BillQueryForInventory(requestInventory);
if (!res_s.IsSuccess)
{
_logger.LogInformation($"及时库存获取异常->错误:{res_s.Message} 数据: {JsonConvert.SerializeObject(entity)}");
return Result<ErpTakeStockSaveDto>.ReFailure(res_s.Message, res_s.Status);
}
//组装dto
#region dto
//子仓库 ORICO_JD1000008 GD1000005 HD1000007 AD1000004
List<ErpTakeStockDetailsSaveDto> detils = new List<ErpTakeStockDetailsSaveDto>();
foreach (var d in entity.Details)
{
var erpInventory = res_s.Data.FirstOrDefault(f => f.MaterialId == d.MaterialId && f.StockCode == d.StockCode && f.OrgCode == d.OrgCode);
decimal qty = erpInventory?.Qty ?? 0;
var unitNumber = _erpBasicDataExtendService.GetMaterialUnitNumber(materials, d.MaterialId);
detils.Add(new ErpTakeStockDetailsSaveDto()
{
@@ -218,11 +229,12 @@ namespace WMS.Web.Domain.Services
UnitId = new ErpNumberDto(unitNumber), //物料带出来
StockId = new ErpNumberDto(d.StockCode),
SubStockId = new ErpSubStockDto(d.StockCode, d.Erp_SubStockCode),
//AfterQty = d.AfterQty,
AfterQty = entity.ResultType == TakeStockType.Profit ? (qty + d.FinalQty) : (qty - d.FinalQty),
FinalQty = entity.ResultType == TakeStockType.Profit ? d.FinalQty : 0,
LossQty = entity.ResultType == TakeStockType.Loss ? d.FinalQty : 0,
Fnote = d.Remark
});
requestInventory.Add((d.MaterialId, d.OrgCode, d.StockCode));
}
ErpTakeStockSaveDto dto = new ErpTakeStockSaveDto()
{
@@ -247,6 +259,7 @@ namespace WMS.Web.Domain.Services
return Result.ReFailure(ResultCodes.NoDateError);
}
}
/// <summary>
/// 同步金蝶操作
/// </summary>