修复bug

This commit is contained in:
18942506660
2023-12-20 11:12:17 +08:00
parent 0f6581beab
commit 137f8ed0fc
2 changed files with 25 additions and 18 deletions

View File

@@ -57,10 +57,10 @@ namespace WMS.Web.Api.Controllers
public async Task<string> TestHJ() public async Task<string> TestHJ()
{ {
OperateRequest dto = new OperateRequest(); OperateRequest dto = new OperateRequest();
dto.Ids.Add(54); dto.Ids.Add(71);
var result = await this._erpService.BillQueryForSubStock(); //var result = await this._erpService.BillQueryForSubStock();
//await _outStockService.Sync(dto, null); //await _outStockService.Sync(dto, null);
//var b = await _takeStockService.Sync(dto); var b = await _takeStockService.Sync(dto);
// List<ErpCustomerDto> list = null; // List<ErpCustomerDto> list = null;
//var b= list.FirstOrDefault(f => f.Id == 123); //var b= list.FirstOrDefault(f => f.Id == 123);
//var entity=await _takeStockRepositories.GetEntityList(new List<int>() {2 }); //var entity=await _takeStockRepositories.GetEntityList(new List<int>() {2 });

View File

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