修复bug
This commit is contained in:
@@ -68,7 +68,7 @@ namespace WMS.Web.Domain.Services
|
||||
public async Task<Result> Save(List<SaveTakeStockRequest> dto, LoginInDto loginInfo)
|
||||
{
|
||||
_logger.LogInformation($"盘点保存:{JsonConvert.SerializeObject(dto)} 盘点人:{loginInfo.UserInfo.StaffId}");
|
||||
if(dto.GroupBy(g=>g.BoxId).Count()>1)
|
||||
if (dto.GroupBy(g => g.BoxId).Count() > 1)
|
||||
return Result.ReFailure(ResultCodes.TakeStockBoxError);
|
||||
|
||||
List<TakeStock> list = new List<TakeStock>();
|
||||
@@ -135,7 +135,10 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//同步金蝶
|
||||
foreach (var entity in list)
|
||||
await Loss_Profit(entity);
|
||||
{
|
||||
var res = await Loss_Profit(entity);
|
||||
if (!res.IsSuccess) return res;
|
||||
}
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
@@ -150,7 +153,10 @@ namespace WMS.Web.Domain.Services
|
||||
var list = await _takeStockRepositories.GetEntityList(dto.Ids);
|
||||
list = list.Where(w => w.SuccessSync == SyncStatus.Fail).ToList();
|
||||
foreach (var entity in list)
|
||||
await Loss_Profit(entity);
|
||||
{
|
||||
var res = await Loss_Profit(entity);
|
||||
if (!res.IsSuccess) return res;
|
||||
}
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
@@ -163,31 +169,32 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
try
|
||||
{
|
||||
if (entity.Details.Count() == 0) return Result.ReSuccess();
|
||||
var materials_result = await _erpService.BillQueryForMaterial();
|
||||
if (!materials_result.IsSuccess) return Result.ReFailure(ResultCodes.ErpMaterialError);
|
||||
var materials = materials_result.Data.ToList();
|
||||
|
||||
var res = await _erpService.BillQueryForStock();
|
||||
if (!res.IsSuccess) return Result.ReFailure(ResultCodes.ErpStockError);
|
||||
var stock = res.Data.FirstOrDefault(f => f.Code == entity.Details[0].StockCode);//需要根据单点code搜索
|
||||
if (stock == null) return Result.ReFailure(ResultCodes.ErpStockNoData);
|
||||
//var res = await _erpService.BillQueryForStock();
|
||||
//if (!res.IsSuccess) return Result.ReFailure(ResultCodes.ErpStockError);
|
||||
//var stock = res.Data.FirstOrDefault(f => f.Code == entity.Details[0].StockCode && f.OrgCode == entity.Details[0].OrgCode);//需要根据单点code搜索
|
||||
//if (stock == null) return Result.ReFailure(ResultCodes.ErpStockNoData);
|
||||
//组装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 subStockCode = _singleDataService.GetSingleDataCode(SingleAction.Stocks, _loginRepositories.CompanyId, d.SubStockId);
|
||||
|
||||
//var subStockCode = _singleDataService.GetSingleDataCode(SingleAction.Stocks, _loginRepositories.CompanyId, d.SubStockId);
|
||||
|
||||
var unitNumber = _erpBasicDataExtendService.GetMaterialUnitNumber(materials, d.MaterialId);
|
||||
detils.Add(new ErpTakeStockDetailsSaveDto()
|
||||
{
|
||||
FOwnerid = new ErpNumberDto(stock.OrgCode.ToString()),
|
||||
FKeeperId = new ErpNumberDto(stock.OrgCode.ToString()),
|
||||
FOwnerid = new ErpNumberDto(d.OrgCode),
|
||||
FKeeperId = new ErpNumberDto(d.OrgCode),
|
||||
MaterialId = new ErpNumberDto(_erpBasicDataExtendService.GetMaterialNumber(materials, d.MaterialId)),
|
||||
UnitId = new ErpNumberDto(unitNumber), //物料带出来
|
||||
StockId = new ErpNumberDto(stock.Code),
|
||||
SubStockId = new ErpSubStockDto(stock.Code, d.Erp_SubStockCode),
|
||||
StockId = new ErpNumberDto(d.StockCode),
|
||||
SubStockId = new ErpSubStockDto(d.StockCode, d.Erp_SubStockCode),
|
||||
BeforeQty = d.BeforeQty,
|
||||
AfterQty = d.AfterQty,
|
||||
FinalQty = entity.ResultType == TakeStockType.Profit ? d.FinalQty : 0,
|
||||
@@ -198,7 +205,7 @@ namespace WMS.Web.Domain.Services
|
||||
ErpTakeStockSaveDto dto = new ErpTakeStockSaveDto()
|
||||
{
|
||||
BillNo = entity.BillNo,
|
||||
StockOrgId = new ErpNumberDto(stock.OrgCode),
|
||||
StockOrgId = new ErpNumberDto(entity.Details[0].OrgCode),
|
||||
Type = new ErpNumberDto(entity.ResultType == TakeStockType.Loss ? "PK01_SYS" : "PY01_SYS"),
|
||||
Date = entity.Date,
|
||||
Details = detils
|
||||
@@ -210,7 +217,7 @@ namespace WMS.Web.Domain.Services
|
||||
var resSync = await ErpOperate(dto, type);
|
||||
entity.Sync(resSync.result.IsSuccess, resSync.result.Message, resSync.syncStatus, resSync.erpBillNo);
|
||||
await _takeStockRepositories.Edit(entity, true);
|
||||
return res;
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user