From 137f8ed0fc853987ca3f506db5fa46359706eb8d Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 20 Dec 2023 11:12:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/Controllers/TestController.cs | 6 +-- .../Services/TakeStockService.cs | 37 +++++++++++-------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index dc57c053..e1aa9174 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -57,10 +57,10 @@ namespace WMS.Web.Api.Controllers public async Task TestHJ() { OperateRequest dto = new OperateRequest(); - dto.Ids.Add(54); - var result = await this._erpService.BillQueryForSubStock(); + dto.Ids.Add(71); + //var result = await this._erpService.BillQueryForSubStock(); //await _outStockService.Sync(dto, null); - //var b = await _takeStockService.Sync(dto); + var b = await _takeStockService.Sync(dto); // List list = null; //var b= list.FirstOrDefault(f => f.Id == 123); //var entity=await _takeStockRepositories.GetEntityList(new List() {2 }); diff --git a/src/WMS.Web.Domain/Services/TakeStockService.cs b/src/WMS.Web.Domain/Services/TakeStockService.cs index 0fd1dff9..65765867 100644 --- a/src/WMS.Web.Domain/Services/TakeStockService.cs +++ b/src/WMS.Web.Domain/Services/TakeStockService.cs @@ -68,7 +68,7 @@ namespace WMS.Web.Domain.Services public async Task Save(List 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 list = new List(); @@ -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 detils = new List(); 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) {