From 729119abf788db37024b0394910b73a12f3e611f Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Mon, 6 Nov 2023 11:43:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=91=E8=9D=B6=E5=90=8C=E6=AD=A5wms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/OutStockTaskController.cs | 8 +- src/WMS.Web.Api/Controllers/TestController.cs | 2 + src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 55 +++++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 49 ++++++-- .../ErpDeliveryNoticeOutStockResultDto.cs | 53 +++++++++ src/WMS.Web.Domain/Entitys/OutStockTask.cs | 7 +- .../Entitys/OutStockTaskDetails.cs | 6 +- .../IService/IOutStockService.cs | 5 +- .../IService/Public/IErpService.cs | 9 +- .../IService/Public/IOutStockTaskService.cs | 27 +++++ .../Services/OutStockService.cs | 45 -------- .../Services/OutStockTaskService.cs | 104 +++++++++++++++++ .../Services/Public/ErpService.cs | 108 ++++++++++++++++-- src/WMS.Web.Domain/Values/Erp/FormIdParam.cs | 26 +++-- .../DependencyInjection/AppBuilder.cs | 2 + 15 files changed, 417 insertions(+), 89 deletions(-) create mode 100644 src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs create mode 100644 src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs create mode 100644 src/WMS.Web.Domain/Services/OutStockTaskService.cs diff --git a/src/WMS.Web.Api/Controllers/OutStockTaskController.cs b/src/WMS.Web.Api/Controllers/OutStockTaskController.cs index 345c3388..1eefdbcc 100644 --- a/src/WMS.Web.Api/Controllers/OutStockTaskController.cs +++ b/src/WMS.Web.Api/Controllers/OutStockTaskController.cs @@ -26,13 +26,15 @@ namespace WMS.Web.Api.Controllers private readonly ILoginService _loginService; private readonly IOutStockTaskRepositories _repositories; private readonly IOutStockService _outStockService; + private readonly IOutStockTaskService _outStockTaskService; public OutStockTaskController(IMapper mapper, ILoginService loginService, - IOutStockTaskRepositories repositories, IOutStockService outStockService) + IOutStockTaskRepositories repositories, IOutStockService outStockService, IOutStockTaskService outStockTaskService) { _mapper = mapper; _loginService = loginService; _repositories = repositories; _outStockService = outStockService; + _outStockTaskService = outStockTaskService; } /// /// 列表 @@ -65,7 +67,7 @@ namespace WMS.Web.Api.Controllers if (loginInfo == null || loginInfo.UserInfo == null) return Result.ReFailure(ResultCodes.Token_Invalid_Error); - return await _outStockService.Repeal(dto,loginInfo); + return await _outStockTaskService.Repeal(dto,loginInfo); } /// @@ -81,7 +83,7 @@ namespace WMS.Web.Api.Controllers if (loginInfo == null || loginInfo.UserInfo == null) return Result.ReFailure(ResultCodes.Token_Invalid_Error); - return await _outStockService.merge(dto, loginInfo); + return await _outStockTaskService.merge(dto, loginInfo); } /// diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 273ebd84..935fcdbd 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -23,6 +23,7 @@ namespace WMS.Web.Api.Controllers private readonly IErpService _erpService; private IInStockTaskService _inStockTaskService; private ITransactionRepositories _transactionRepositories; + public TestController(IErpService erpService, IInStockTaskService inStockTaskService, ITransactionRepositories transactionRepositories) { this._erpService = erpService; @@ -34,6 +35,7 @@ namespace WMS.Web.Api.Controllers [Route("hj")] public async Task TestHJ() { + //var res = await this._erpService.BillQueryForDeliveryNoticeOutStock(); //var result= await this._erpService.BillQueryForPurchaseInStock(); //var result = await this._erpService.BillQueryForOrg(); var result = await this._erpService.BillQueryForMaterial(); diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 524a5183..5c19a90e 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -620,6 +620,61 @@ 名称 + + + 发货通知单转出库任务 + + + + + 来源单号 + + + + + 销售订单号 + + + + + 发货组织 + + + + + 收货客户 + + + + + 物料Id + + + + + 仓库ID + + + + + 仓位ID + + + + + 应出库数量 + + + + + 订单明细备注 + + + + + 创建时间(erp那边的创建时间) + + 出库单同步金蝶 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 7c08eef3..2ca954c3 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -847,6 +847,11 @@ 操作时间(出库时间) + + + 创建时间(erp那边的创建时间) + + 明细 @@ -920,11 +925,6 @@ 订单明细备注 - - - 创建时间(erp那边的创建时间) - - 出库 反写 任务单 @@ -1454,6 +1454,12 @@ + + + erp:单据查询-采购入库单 + + + erp:单据查询-物料 @@ -1542,6 +1548,18 @@ + + + 出库任务 + + + + + 采购发货通知单 + + + + 单点数据返回服务接口 @@ -2067,20 +2085,32 @@ - + + + 出库任务 + + + 出库任务作废 - + 出库任务合并 + + + 发货通知单同步数据 + + + + erp数据交互服务 @@ -2588,6 +2618,11 @@ 物料 + + + 销售发货通知单 + + 入库状态 diff --git a/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs b/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs new file mode 100644 index 00000000..e5ab45bd --- /dev/null +++ b/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Erp.OutStock +{ + /// + /// 发货通知单转出库任务 + /// + public class ErpDeliveryNoticeOutStockResultDto + { + /// + /// 来源单号 + /// + public string SourceBillNo { get; set; } + /// + /// 销售订单号 + /// + public string SaleBillNo { get; set; } + /// + /// 发货组织 + /// + public int DeliveryOrgId { get; set; } + /// + /// 收货客户 + /// + public int ReceiptCustomerId { get; set; } + /// + /// 物料Id + /// + public int MaterialId { get; set; } + /// + /// 仓库ID + /// + public int StockId { get; set; } + /// + /// 仓位ID + /// + public int? SubStockId { get; set; } + /// + /// 应出库数量 + /// + public decimal AccruedQty { get; set; } + /// + /// 订单明细备注 + /// + public string Remark { get; set; } + /// + /// 创建时间(erp那边的创建时间) + /// + public DateTime? CreateTime { get; set; } + } +} diff --git a/src/WMS.Web.Domain/Entitys/OutStockTask.cs b/src/WMS.Web.Domain/Entitys/OutStockTask.cs index 5909e22a..7a59aebc 100644 --- a/src/WMS.Web.Domain/Entitys/OutStockTask.cs +++ b/src/WMS.Web.Domain/Entitys/OutStockTask.cs @@ -63,6 +63,11 @@ namespace WMS.Web.Domain.Entitys [Column("OperateTime")] public DateTime? OperateTime { get; set; } /// + /// 创建时间(erp那边的创建时间) + /// + [Column("CreateTime")] + public DateTime? CreateTime { get; set; } + /// /// 明细 /// public List Details = new List(); @@ -76,7 +81,7 @@ namespace WMS.Web.Domain.Entitys if (this.Id.ToString().Length >= 8) { - this.BillNo = "CKZL" + this.Id.ToString(); + this.BillNo = "CKRW" + this.Id.ToString(); return; } diff --git a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs index d9da6d54..d68aa89f 100644 --- a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs +++ b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs @@ -61,11 +61,7 @@ namespace WMS.Web.Domain.Entitys /// [Column("Remark")] public string Remark { get; set; } - /// - /// 创建时间(erp那边的创建时间) - /// - [Column("CreateTime")] - public DateTime? CreateTime { get; set; } + /// /// 出库 反写 任务单 diff --git a/src/WMS.Web.Domain/IService/IOutStockService.cs b/src/WMS.Web.Domain/IService/IOutStockService.cs index 1ebcbe0f..f051c911 100644 --- a/src/WMS.Web.Domain/IService/IOutStockService.cs +++ b/src/WMS.Web.Domain/IService/IOutStockService.cs @@ -19,9 +19,6 @@ namespace WMS.Web.Domain.IService Task Save(SaveOutStockRequest dto, LoginInDto loginInfo); // 同步金蝶 Task Sync(OperateRequest dto); - //出库任务作废 - Task Repeal(OperateRequest dto, LoginInDto loginInfo); - //出库任务作废 - Task merge(OperateRequest dto, LoginInDto loginInfo); + } } diff --git a/src/WMS.Web.Domain/IService/Public/IErpService.cs b/src/WMS.Web.Domain/IService/Public/IErpService.cs index 1a85fa8f..ad9f1dec 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpService.cs @@ -4,6 +4,7 @@ using System.Text; using System.Threading.Tasks; using WMS.Web.Core.Dto.Erp; using WMS.Web.Core.Dto.Erp.Org; +using WMS.Web.Core.Dto.Erp.OutStock; using WMS.Web.Core.Dto.Erp.Purchase; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Entitys; @@ -17,6 +18,12 @@ namespace WMS.Web.Domain.IService.Public /// /// Task> BillQueryForPurchaseInStock(); + /// + /// erp:单据查询-采购入库单 + /// + /// + Task> BillQueryForDeliveryNoticeOutStock(List sourceBillNos = null); + /// /// erp:单据查询-物料 @@ -39,6 +46,6 @@ namespace WMS.Web.Domain.IService.Public Task Sync(T dto, string formId); //下推 Task Push(ErpPushDto dto); - + } } diff --git a/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs b/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs new file mode 100644 index 00000000..d595171d --- /dev/null +++ b/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using WMS.Web.Core.Dto; +using WMS.Web.Core.Dto.Login; +using WMS.Web.Core.Internal.Results; + +namespace WMS.Web.Domain.IService.Public +{ + /// + /// 出库任务 + /// + public interface IOutStockTaskService + { + /// + /// 采购发货通知单 + /// + /// + /// + Task SsynDeliveryNoticeOutStock(bool isTransaction); + //出库任务作废 + Task Repeal(OperateRequest dto, LoginInDto loginInfo); + //出库任务作废 + Task merge(OperateRequest dto, LoginInDto loginInfo); + } +} diff --git a/src/WMS.Web.Domain/Services/OutStockService.cs b/src/WMS.Web.Domain/Services/OutStockService.cs index 3d6a26c8..cfeb555c 100644 --- a/src/WMS.Web.Domain/Services/OutStockService.cs +++ b/src/WMS.Web.Domain/Services/OutStockService.cs @@ -92,50 +92,5 @@ namespace WMS.Web.Domain.Services { return Task.FromResult(Result.ReSuccess()); } - /// - /// 出库任务作废 - /// - /// - /// - public async Task Repeal(OperateRequest dto, LoginInDto loginInfo) - { - var list = await _outStockTaskRepositories.GetEntityList(dto.Ids); - foreach (var entity in list) - { - //作废 - entity.Repeal(loginInfo.UserInfo.StaffId); - } - var isSuccess = await _outStockTaskRepositories.EditEntityList(list, true); - if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); - - return Result.ReSuccess(); - } - /// - /// 出库任务合并 - /// - /// - /// - public async Task merge(OperateRequest dto, LoginInDto loginInfo) - { - var list = await _outStockTaskRepositories.GetEntityList(dto.Ids); - // 2:符合合并数据逻辑:出库状态为”待拣货”+出库类型为:销售出库+发货组织一致+收货客户一致+发货仓库一致 - OutStockTask entity = new OutStockTask(); - var res = entity.Merge(list, loginInfo.UserInfo.StaffId); - if (!res.IsSuccess) return res; - - IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); - bool isRollback = false; - bool isSuccess = true; - entity = await _outStockTaskRepositories.Add(entity, false); - if (entity == null) isRollback = true; - isSuccess = await _outStockTaskRepositories.DeleteEntityList(list.Select(s => s.Id).ToList(), false); - if (isSuccess == false) isRollback = true; - //提交事务 - isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction); - if (!isSuccess) - return Result.ReFailure(ResultCodes.DateWriteError); - - return Result.ReSuccess(); - } } } diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs new file mode 100644 index 00000000..edb11381 --- /dev/null +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -0,0 +1,104 @@ +using AutoMapper; +using Microsoft.EntityFrameworkCore.Storage; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WMS.Web.Core.Dto; +using WMS.Web.Core.Dto.Erp.Purchase; +using WMS.Web.Core.Dto.Login; +using WMS.Web.Core.Internal.Results; +using WMS.Web.Domain.Entitys; +using WMS.Web.Domain.Infrastructure; +using WMS.Web.Domain.IService; +using WMS.Web.Domain.IService.Public; +using WMS.Web.Domain.Values; + +namespace WMS.Web.Domain.Services +{ + /// + /// 出库任务 + /// + public class OutStockTaskService: IOutStockTaskService + { + private readonly IMapper _mapper; + private readonly IErpService _erpService; + private readonly ILoginService _loginService; + private readonly ITransactionRepositories _transactionRepositories; + private readonly IOutStockRepositories _outStockRepositories; + private readonly IOutStockTaskRepositories _outStockTaskRepositories; + public OutStockTaskService(IMapper mapper, IErpService erpService, ILoginService loginService, + ITransactionRepositories transactionRepositories, + IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories) + { + _mapper = mapper; + _erpService = erpService; + _loginService = loginService; + _transactionRepositories = transactionRepositories; + _outStockRepositories = outStockRepositories; + _outStockTaskRepositories = outStockTaskRepositories; + } + + /// + /// 出库任务作废 + /// + /// + /// + public async Task Repeal(OperateRequest dto, LoginInDto loginInfo) + { + var list = await _outStockTaskRepositories.GetEntityList(dto.Ids); + foreach (var entity in list) + { + //作废 + entity.Repeal(loginInfo.UserInfo.StaffId); + } + var isSuccess = await _outStockTaskRepositories.EditEntityList(list, true); + if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); + + return Result.ReSuccess(); + } + /// + /// 出库任务合并 + /// + /// + /// + public async Task merge(OperateRequest dto, LoginInDto loginInfo) + { + var list = await _outStockTaskRepositories.GetEntityList(dto.Ids); + // 2:符合合并数据逻辑:出库状态为”待拣货”+出库类型为:销售出库+发货组织一致+收货客户一致+发货仓库一致 + OutStockTask entity = new OutStockTask(); + var res = entity.Merge(list, loginInfo.UserInfo.StaffId); + if (!res.IsSuccess) return res; + + IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); + bool isRollback = false; + bool isSuccess = true; + entity = await _outStockTaskRepositories.Add(entity, false); + if (entity == null) isRollback = true; + isSuccess = await _outStockTaskRepositories.DeleteEntityList(list.Select(s => s.Id).ToList(), false); + if (isSuccess == false) isRollback = true; + //提交事务 + isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction); + if (!isSuccess) + return Result.ReFailure(ResultCodes.DateWriteError); + + return Result.ReSuccess(); + } + /// + /// 发货通知单同步数据 + /// + /// + /// + public async Task SsynDeliveryNoticeOutStock(bool isTransaction) + { + //1.获取金蝶数据:采购订单数据 + var erp_result = await _erpService.BillQueryForPurchaseInStock(); + if (!erp_result.IsSuccess) + return Result.ReFailure(erp_result.Message, erp_result.Status); + var erp_list = erp_result.Data; + + return Result.ReSuccess(); + } + } +} diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index b471dd23..4e3e5079 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -13,6 +13,7 @@ using System.Text; using System.Threading.Tasks; using WMS.Web.Core.Dto.Erp; using WMS.Web.Core.Dto.Erp.Org; +using WMS.Web.Core.Dto.Erp.OutStock; using WMS.Web.Core.Dto.Erp.Purchase; using WMS.Web.Core.Dto.Erp.TakeStock; using WMS.Web.Core.Internal.Results; @@ -95,12 +96,12 @@ namespace WMS.Web.Domain.Services.Public { try { - - var stocks= await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); - if(stocks.Count==0) + + var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); + if (stocks.Count == 0) return ResultList.ReFailure(ResultCodes.ErpStockNoData); var stocks_codes = stocks.Select(x => x.Code).ToList(); - + //1.先登录金蝶-拿到token var token_result = await this.Init(); @@ -134,7 +135,7 @@ namespace WMS.Web.Domain.Services.Public else str = str + $"'{scode}'" + ","; } - param.FilterString = param.FilterString +str+ ")"; + param.FilterString = param.FilterString + str + ")"; query.Data = JsonConvert.SerializeObject(param); var json = JsonConvert.SerializeObject(query); @@ -156,8 +157,8 @@ namespace WMS.Web.Domain.Services.Public lis.FMaterialId = Convert.ToInt32(item[5]); lis.FSOSTOCKID = Convert.ToInt32(item[6]); lis.FQty = Convert.ToDecimal(item[7]); - lis.FEntryNote = item[8]; - lis.FCreateDate =Convert.ToDateTime(item[9]); + lis.FEntryNote = item[8]; + lis.FCreateDate = Convert.ToDateTime(item[9]); lis.FCHUCHANGPRICE = Convert.ToDecimal(item[10]); lis.StockFNumber = item[11]; lis.FStockInQty = Convert.ToDecimal(item[12]); @@ -179,7 +180,7 @@ namespace WMS.Web.Domain.Services.Public /// erp:单据查询-物料 /// /// - public async Task> BillQueryForMaterial() + public async Task> BillQueryForMaterial() { //1.先登录金蝶-拿到token var token_result = await this.Init(); @@ -206,8 +207,8 @@ namespace WMS.Web.Domain.Services.Public var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); _logger.LogInformation($"开始时间:{beginTime}"); - //4.请求查询接口 - var result_json = await _client.ExecuteBillQueryAsync(json); + //4.请求查询接口 + var result_json = await _client.ExecuteBillQueryAsync(json); var result = JsonConvert.DeserializeObject>>(result_json); var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); @@ -219,7 +220,7 @@ namespace WMS.Web.Domain.Services.Public var lis = new ErpMaterialDto(); lis.MaterialId = Convert.ToInt32(item[0]); lis.MaterialName = item[1]; - lis.MaterialNumber =item[2]; + lis.MaterialNumber = item[2]; lis.Specifications = item[3]; lis.Status = item[4]; lis.UseOrgId = item[5]; @@ -313,7 +314,7 @@ namespace WMS.Web.Domain.Services.Public /// /// /// - public async Task Sync(T dto,string formId) + public async Task Sync(T dto, string formId) { try { @@ -357,5 +358,88 @@ namespace WMS.Web.Domain.Services.Public return Result.ReSuccess(); } + + public async Task> BillQueryForDeliveryNoticeOutStock(List sourceBillNos = null) + { + try + { + + var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); + if (stocks.Count == 0) + return ResultList.ReFailure(ResultCodes.ErpStockNoData); + var stocks_codes = stocks.Select(x => x.Id).ToList(); + + //1.先登录金蝶-拿到token + var token_result = await this.Init(); + if (!token_result.IsSuccess) + return ResultList.ReFailure(token_result); + + //2.时间条件:可能还有其它条件 + var beginTime = DateTime.Now.AddDays(-2000).ToString("yyyy-MM-dd 00:00:00"); + var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + //3.获取金蝶采购订单:拼接参数和条件 + var query = new ErpBillQueryDto(token_result.Data); + var param = new ErpBillQueryParamDto(FormIdParam.SAL_DELIVERYNOTICE.ToString()); + param.FieldKeys = "FBillNo,FOrderNo,FDeliveryOrgID,FCustomerID,FMaterialID,FStockID,FStockLocID,FQty,FNoteEntry,FCreateDate"; + param.Limit = 10; + //查询条件:备注其中的条件值以金蝶的值为准!!! + //1.创建时间在两天前和当天时间之间 + //2.审核状态:已审核 + //3.未出库数量>0 + //4.日期>=系统上线之日 + //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 + param.FilterString = "FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "' and FDocumentStatus='C' and FRemainOutQty>=0"; + //string srt = JsonConvert.SerializeObject(stocks_codes); + //param.FilterString = param.FilterString + " and FStockID in (" + srt.Substring(1, srt.Length - 1) + ")"; + //param.FilterString = param.FilterString + " and FSOSTOCKID.FNumber in ("; + + //var str = ""; + //int index = 0; + //foreach (var scode in stocks_codes) + //{ + // index++; + // if (index == stocks_codes.Count) + // str = str + $"'{scode}'"; + // else + // str = str + $"'{scode}'" + ","; + //} + //param.FilterString = param.FilterString + str + ")"; + //根据原订单号查询 + if (sourceBillNos != null && sourceBillNos.Count() > 0) + { + var srt = JsonConvert.SerializeObject(sourceBillNos); + param.FilterString = param.FilterString + " and FBillNo in (" + srt.Substring(1, srt.Length - 1) + ")"; + } + query.Data = JsonConvert.SerializeObject(param); + var json = JsonConvert.SerializeObject(query); + + //4.请求查询接口 + var result_json = await _client.ExecuteBillQueryAsync(json); + var result = JsonConvert.DeserializeObject>>(result_json); + + //5.返回数据的组装 + var erp_list = new List(); + foreach (var item in result) + { + var lis = new ErpDeliveryNoticeOutStockResultDto(); + lis.SourceBillNo = item[0]; + lis.SaleBillNo = item[1]; + lis.DeliveryOrgId = Convert.ToInt32(item[2]); + lis.ReceiptCustomerId = Convert.ToInt32(item[3]); + lis.MaterialId = Convert.ToInt32(item[4]); + lis.StockId = Convert.ToInt32(item[5]); + lis.SubStockId = Convert.ToInt32(item[6]); + lis.AccruedQty = Convert.ToDecimal(item[7]); + lis.Remark = item[8]; + lis.CreateTime = Convert.ToDateTime(item[9]); + erp_list.Add(lis); + } + return ResultList.ReSuccess(erp_list); + } + catch (Exception ex) + { + return ResultList.ReFailure(ResultCodes.Erp_BillQuery_Error); + } + } } } diff --git a/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs b/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs index ca416baa..0e2367f2 100644 --- a/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs +++ b/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs @@ -12,15 +12,15 @@ namespace WMS.Web.Domain.Values.Erp /// /// 采购订单 /// - PUR_PurchaseOrder=1, + PUR_PurchaseOrder = 1, /// /// 采购入库单 /// - STK_InStock=2, + STK_InStock = 2, /// /// 其他入库单 /// - STK_MISCELLANEOUS=3, + STK_MISCELLANEOUS = 3, /// /// 直接调拨单-里面包含出和入 /// @@ -28,34 +28,38 @@ namespace WMS.Web.Domain.Values.Erp /// /// 分步式调入单 /// - STK_TRANSFERIN=5, + STK_TRANSFERIN = 5, /// /// 组装拆卸单:里面包含出和入 /// - STK_AssembledApp=6, + STK_AssembledApp = 6, /// /// 组织 /// - ORG_Organizations=7, + ORG_Organizations = 7, /// /// 供应商 /// - BD_Supplier=8, + BD_Supplier = 8, /// /// 仓库 /// - BD_STOCK=9, + BD_STOCK = 9, /// /// 盘盈单 /// - STK_StockCountGain, + STK_StockCountGain = 10, /// /// 盘亏单 /// - STK_StockCountLoss, + STK_StockCountLoss = 11, /// /// 物料 /// - BD_MATERIAL, + BD_MATERIAL = 12, + /// + /// 销售发货通知单 + /// + SAL_DELIVERYNOTICE = 13 } } diff --git a/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs b/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs index 6877e1a1..3e16e9c1 100644 --- a/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs +++ b/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs @@ -241,6 +241,8 @@ namespace WMS.Web.Repositories.DependencyInjection Services.AddTransient(); Services.AddTransient(); Services.AddTransient(); + Services.AddTransient(); + } }