即时库存调整
This commit is contained in:
@@ -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_JD:1000008 GD:1000005 HD:1000007 AD:1000004
|
||||
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>
|
||||
|
||||
Reference in New Issue
Block a user