From 8d6ca8104f0119978502992ae54b8821052f9658 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Mon, 6 Nov 2023 09:35:35 +0800 Subject: [PATCH 1/2] 11 --- .vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 | Bin 228751 -> 228751 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index ab89519a316894282aaf74c2517ae84f10f9e009..7c00df9fd4cffca1d273b66fbc9aaa77b6818b5b 100644 GIT binary patch literal 228751 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 literal 228751 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 bk?XD&CfdBrw@{d9^S^!fb$2xc$=&@gnC|H0 From 729119abf788db37024b0394910b73a12f3e611f Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Mon, 6 Nov 2023 11:43:29 +0800 Subject: [PATCH 2/2] =?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(); + } }