From c4e4b1a59b2068f167dc396ecada088d78663c49 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Mon, 6 Nov 2023 14:56:17 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=87=91=E8=9D=B6?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpDeliveryNoticeOutStockResultDto.cs | 4 + src/WMS.Web.Domain/Entitys/OutStock.cs | 4 +- src/WMS.Web.Domain/Entitys/OutStockTask.cs | 14 +++- .../IService/Public/IOutStockTaskService.cs | 2 +- .../IOutStockTaskRepositories.cs | 13 ++++ src/WMS.Web.Domain/Mappers/OutStockMapper.cs | 3 + .../Services/OutStockTaskService.cs | 77 +++++++++++++++++-- .../Services/Public/ErpService.cs | 1 + .../OutStockTaskRepositories.cs | 52 ++++++++++++- 9 files changed, 158 insertions(+), 12 deletions(-) diff --git a/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs b/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs index e5ab45bd..bbdcecd1 100644 --- a/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/OutStock/ErpDeliveryNoticeOutStockResultDto.cs @@ -49,5 +49,9 @@ namespace WMS.Web.Core.Dto.Erp.OutStock /// 创建时间(erp那边的创建时间) /// public DateTime? CreateTime { get; set; } + /// + /// 用来自动构建单据类型 跟OutStockType 一致 + /// + public int Type { get; set; } } } diff --git a/src/WMS.Web.Domain/Entitys/OutStock.cs b/src/WMS.Web.Domain/Entitys/OutStock.cs index a7b84333..a97e9301 100644 --- a/src/WMS.Web.Domain/Entitys/OutStock.cs +++ b/src/WMS.Web.Domain/Entitys/OutStock.cs @@ -44,7 +44,7 @@ namespace WMS.Web.Domain.Entitys /// 单据类型 /// [Column("Type")] - public OrderType Type { get; set; } = OrderType.Sal_Out; + public OutStockType Type { get; set; } = OutStockType.Sal; /// /// 发货组织 /// @@ -78,7 +78,7 @@ namespace WMS.Web.Domain.Entitys /// 创建 /// /// - public void Create(int creatorId,int taskId, OrderType type) + public void Create(int creatorId,int taskId, OutStockType type) { this.TaskId = taskId; this.Type = type; diff --git a/src/WMS.Web.Domain/Entitys/OutStockTask.cs b/src/WMS.Web.Domain/Entitys/OutStockTask.cs index 7a59aebc..26451462 100644 --- a/src/WMS.Web.Domain/Entitys/OutStockTask.cs +++ b/src/WMS.Web.Domain/Entitys/OutStockTask.cs @@ -51,7 +51,7 @@ namespace WMS.Web.Domain.Entitys /// 单据类型 /// [Column("Type")] - public OrderType Type { get; set; } = OrderType.Sal_Out; + public OutStockType Type { get; set; } = OutStockType.Sal; /// /// 操作人(出库人) /// @@ -71,6 +71,14 @@ namespace WMS.Web.Domain.Entitys /// 明细 /// public List Details = new List(); + public void Create(OutStockType type, string sourceBillNo, int deliveryOrgId, int receiptCustomerId, DateTime createTime) + { + this.Type = type; + this.SourceBillNo = sourceBillNo; + this.DeliveryOrgId = deliveryOrgId; + this.ReceiptCustomerId = receiptCustomerId; + this.CreateTime = createTime; + } /// /// 生成单据号 /// @@ -114,7 +122,7 @@ namespace WMS.Web.Domain.Entitys { // 符合合并数据逻辑:出库状态为”待拣货”+出库类型为:销售出库+发货组织一致+收货客户一致+发货仓库一致 if (list.Where(w => w.Status != OutStockStatus.Wait).Any()) return Result.ReFailure(ResultCodes.MergeStatusError); - if (list.Where(w => w.Type != OrderType.Sal_Out).Any()) return Result.ReFailure(ResultCodes.MergeStatusError); + if (list.Where(w => w.Type != OutStockType.Sal).Any()) return Result.ReFailure(ResultCodes.MergeStatusError); if (list.GroupBy(g => g.DeliveryOrgId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError); if (list.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError); @@ -131,7 +139,7 @@ namespace WMS.Web.Domain.Entitys this.OperatorId = creatorId; this.OperateTime = DateTime.Now; this.Status = OutStockStatus.Wait; - this.Type = OrderType.Sal_Out; + this.Type = OutStockType.Sal; this.Details = details; return Result.ReSuccess(); diff --git a/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs b/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs index d595171d..2ef222e7 100644 --- a/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs +++ b/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs @@ -18,7 +18,7 @@ namespace WMS.Web.Domain.IService.Public /// /// /// - Task SsynDeliveryNoticeOutStock(bool isTransaction); + Task SsynDeliveryNoticeOutStock(bool isTransaction,List sourceBillNos = null); //出库任务作废 Task Repeal(OperateRequest dto, LoginInDto loginInfo); //出库任务作废 diff --git a/src/WMS.Web.Domain/Infrastructure/IOutStockTaskRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IOutStockTaskRepositories.cs index e56baac5..811a8b26 100644 --- a/src/WMS.Web.Domain/Infrastructure/IOutStockTaskRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IOutStockTaskRepositories.cs @@ -11,10 +11,23 @@ namespace WMS.Web.Domain.Infrastructure { // 新增 Task Add(OutStockTask entity, bool isTransaction = true); + /// + /// 批量添加 + /// + /// + /// + /// + Task AddRange(List entitys, bool isTransaction = true); // 获取列表 Task<(List list, int total)> GetListAsync(OutStockTaskQueryRequest dto); /// 查询实体集合 Task> GetEntityList(List ids); + /// + /// 列表-根据明细中的来源单号 + /// + /// + /// + Task> GetListBySourceBillNo(List sourceBillNos); /// 修改实体集合 Task EditEntityList(List entitys, bool isTransaction = true); //编辑 diff --git a/src/WMS.Web.Domain/Mappers/OutStockMapper.cs b/src/WMS.Web.Domain/Mappers/OutStockMapper.cs index 042de07d..94d4b627 100644 --- a/src/WMS.Web.Domain/Mappers/OutStockMapper.cs +++ b/src/WMS.Web.Domain/Mappers/OutStockMapper.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Text; +using WMS.Web.Core.Dto.Erp.OutStock; using WMS.Web.Core.Dto.OutStock; using WMS.Web.Core.Dto.OutStockTask; using WMS.Web.Domain.Entitys; @@ -22,6 +23,8 @@ namespace WMS.Web.Domain.Mappers CreateMap(); CreateMap(); + + CreateMap(); } } } diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs index edb11381..727b193b 100644 --- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using WMS.Web.Core.Dto; +using WMS.Web.Core.Dto.Erp.OutStock; using WMS.Web.Core.Dto.Erp.Purchase; using WMS.Web.Core.Dto.Login; using WMS.Web.Core.Internal.Results; @@ -20,7 +21,7 @@ namespace WMS.Web.Domain.Services /// /// 出库任务 /// - public class OutStockTaskService: IOutStockTaskService + public class OutStockTaskService : IOutStockTaskService { private readonly IMapper _mapper; private readonly IErpService _erpService; @@ -85,20 +86,86 @@ namespace WMS.Web.Domain.Services return Result.ReSuccess(); } + + /// + /// erp数据转化wms 执行数据库操作 + /// + /// + /// + /// + public async Task SsynDate(List erp_list, bool isTransaction) + { + //2.通过单据编号找到wms系统现有的任务单;并修改 + var erp_removeList = new List(); + var SourceBillNo_list = erp_list.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList(); + var data_list = await _outStockTaskRepositories.GetListBySourceBillNo(SourceBillNo_list); + if (data_list.Count != 0) + { + //2.1提取出wms任务单明细信息 + foreach (var e in erp_list) + { + //代表单据已经存在 那么就对单据进行修改 + var data = data_list.FirstOrDefault(f => f.SourceBillNo == e.SourceBillNo); + var detail = data.Details.FirstOrDefault(w => w.MaterialId == e.MaterialId); + //存在就修改,没有就添加 + if (detail != null) + detail.AccruedQty = e.AccruedQty; + else + data.Details.Add(_mapper.Map(e)); + + erp_removeList.Add(e); + } + //2.2.提交修改 + var isSuccess = await _outStockTaskRepositories.EditEntityList(data_list, isTransaction); + if (!isSuccess) + return Result.ReFailure(ResultCodes.DateWriteError); + + //2.3剔除:已修改的单据 + foreach (var item in erp_removeList) + erp_list.Remove(item); + + //3.wms任务单的来源单据编号不存在于erp中,那么就新增 + if (erp_list.Count != 0) + { + var add_entitys = new List(); + var billNos = erp_list.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList(); + foreach (var item in billNos) + { + var e = erp_list.FirstOrDefault(f => f.SourceBillNo == item); + var dto = new OutStockTask(); + dto.SourceBillNo = e.SourceBillNo; + dto.Create((OutStockType)e.Type, e.SourceBillNo, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime); + + //找到当前对应来源单据编号的集合数据 + var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList(); + //给到dto的实体明细中 + dto.Details = _mapper.Map>(current_erp_details); + add_entitys.Add(dto); + } + //3.1提交新增 + isSuccess = await _outStockTaskRepositories.AddRange(add_entitys, isTransaction); + if (!isSuccess) + return Result.ReFailure(ResultCodes.DateWriteError); + } + + } + + return Result.ReSuccess(); + } + /// /// 发货通知单同步数据 /// /// /// - public async Task SsynDeliveryNoticeOutStock(bool isTransaction) + public async Task SsynDeliveryNoticeOutStock(bool isTransaction, List sourceBillNos = null) { //1.获取金蝶数据:采购订单数据 - var erp_result = await _erpService.BillQueryForPurchaseInStock(); + var erp_result = await _erpService.BillQueryForDeliveryNoticeOutStock(sourceBillNos); if (!erp_result.IsSuccess) return Result.ReFailure(erp_result.Message, erp_result.Status); - var erp_list = erp_result.Data; - return Result.ReSuccess(); + return await this.SsynDate(erp_result.Data.ToList(), isTransaction); } } } diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index 4e789263..7efc9431 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -424,6 +424,7 @@ namespace WMS.Web.Domain.Services.Public lis.AccruedQty = Convert.ToDecimal(item[7]); lis.Remark = item[8]; lis.CreateTime = Convert.ToDateTime(item[9]); + lis.Type = (int)OutStockType.Sal; erp_list.Add(lis); } return ResultList.ReSuccess(erp_list); diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs index d37eb6f3..1651f5e2 100644 --- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs @@ -225,7 +225,7 @@ namespace WMS.Web.Repositories if (!string.IsNullOrEmpty(dto.SourceBillNo)) query = query.Where(w => EF.Functions.Like(w.order.SourceBillNo, "%" + dto.SourceBillNo + "%")); if (dto.Type != null) - query = query.Where(w => w.order.Type == (OrderType)dto.Type); + query = query.Where(w => w.order.Type == (OutStockType)dto.Type); if (dto.Status != null) query = query.Where(w => w.order.Status == (OutStockStatus)dto.Status); if (dto.DeliveryOrgId != null) @@ -273,5 +273,55 @@ namespace WMS.Web.Repositories var mIds = entity.Details.Select(s => s.MaterialId).ToList(); return response; } + /// + /// 根据来源单号搜索 + /// + /// + /// + public async Task> GetListBySourceBillNo(List sourceBillNos) + { + var entitys = await _context.OutStockTask + .Include(s => s.Details) + .Where(w => sourceBillNos.Contains(w.SourceBillNo)) + .ToListAsync(); + + return entitys.Clone(); + } + /// + /// 批量添加 + /// + /// + /// + /// + public async Task AddRange(List entitys, bool isTransaction = true) + { + IDbContextTransaction _transaction = null; + if (isTransaction) + _transaction = _context.Database.BeginTransaction(); + try + { + if (entitys != null && entitys.Count != 0) + { + await _context.OutStockTask.AddRangeAsync(entitys); + await _context.SaveChangesAsync(); + foreach (var item in entitys) + { + if (string.IsNullOrEmpty(item.BillNo)) + //自动生成单据编号 + item.GenerateNo(); + } + await _context.SaveChangesAsync(); + } + if (_transaction != null) + _transaction.Commit(); + return true; + } + catch + { + if (_transaction != null) + _transaction.Rollback(); + return false; + } + } } } From 3b67d95f1c40d696d4a2ca1ccd9fbf36e9fa56ba Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Mon, 6 Nov 2023 16:23:52 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=87=91=E8=9D=B6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=87=BA=E5=BA=93=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/Controllers/TestController.cs | 2 +- src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 5 + src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 162 +++++++- .../IService/Public/IErpService.cs | 29 +- .../IService/Public/IOutStockTaskService.cs | 21 + .../QuartzJob/OutStockOrderQuartzJob.cs | 81 ++++ .../Services/OutStockTaskService.cs | 64 +++ .../Services/Public/ErpService.cs | 384 +++++++++++++++++- src/WMS.Web.Domain/Values/Erp/FormIdParam.cs | 10 +- .../OutStockRepositories.cs | 2 +- 10 files changed, 749 insertions(+), 11 deletions(-) create mode 100644 src/WMS.Web.Domain/QuartzJob/OutStockOrderQuartzJob.cs diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index decf6cbc..f7ad0aa6 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -35,7 +35,7 @@ namespace WMS.Web.Api.Controllers [Route("hj")] public async Task TestHJ() { - var res = await this._erpService.BillQueryForDeliveryNoticeOutStock(); + var res = await this._erpService.BillQueryForTransferDirectOutStock(); //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 e52b42f5..1619210c 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -675,6 +675,11 @@ 创建时间(erp那边的创建时间) + + + 用来自动构建单据类型 跟OutStockType 一致 + + 出库单同步金蝶 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 925140bc..3944b0be 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -746,7 +746,7 @@ 明细 - + 创建 @@ -1332,9 +1332,24 @@ 修改实体集合 + + + 批量添加 + + + + + 查询实体集合 + + + 列表-根据明细中的来源单号 + + + + 修改实体集合 @@ -1456,7 +1471,37 @@ - erp:单据查询-采购入库单 + erp:单据查询-出库单 + + + + + + erp:单据查询-直接调拨出库 + + + + + + erp:单据查询-分布式调出 + + + + + + erp:单据查询-组装拆卸单(拆卸 主出) + + + + + + erp:单据查询-组装拆卸单(组装 子出) + + + + + + erp:单据查询-其他出库 @@ -1553,13 +1598,37 @@ 出库任务 - + 采购发货通知单 + + + erp:单据查询-直接调拨出库 + + + + + + erp:单据查询-分布式调出 + + + + + + erp:单据查询-组装拆卸单(拆卸 主出) 组装 子出 + + + + + + erp:单据查询-其他出库 + + + 单点数据返回服务接口 @@ -2104,13 +2173,53 @@ - + + + erp数据转化wms 执行数据库操作 + + + + + + 发货通知单同步数据 + + + 直接调拨 + + + + + + + + 分布式调出 + + + + + + + + 组装拆卸单 + + + + + + + + 其他入库单 + + + + + erp数据交互服务 @@ -2161,6 +2270,41 @@ + + + 直接调拨出库 + + + + + + + 分布式调出 + + + + + + + 组装拆卸单 (拆卸 主出) + + + + + + + 其他出库 + + + + + + + 组装拆卸单 (组装 子出) + + + + Get方法 @@ -2623,6 +2767,16 @@ 销售发货通知单 + + + 其他出库单 + + + + + 分布式调出单 + + 入库状态 diff --git a/src/WMS.Web.Domain/IService/Public/IErpService.cs b/src/WMS.Web.Domain/IService/Public/IErpService.cs index ad9f1dec..52aefd13 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpService.cs @@ -19,12 +19,35 @@ namespace WMS.Web.Domain.IService.Public /// Task> BillQueryForPurchaseInStock(); /// - /// erp:单据查询-采购入库单 + /// erp:单据查询-出库单 /// /// Task> BillQueryForDeliveryNoticeOutStock(List sourceBillNos = null); - - + /// + /// erp:单据查询-直接调拨出库 + /// + /// + Task> BillQueryForTransferDirectOutStock(List sourceBillNos = null); + /// + /// erp:单据查询-分布式调出 + /// + /// + Task> BillQueryForTransferOutOutStock(List sourceBillNos = null); + /// + /// erp:单据查询-组装拆卸单(拆卸 主出) + /// + /// + Task> BillQueryForAssembledAppOutStock_Dassembly(List sourceBillNos = null); + /// + /// erp:单据查询-组装拆卸单(组装 子出) + /// + /// + Task> BillQueryForAssembledAppOutStock_Assembly(List sourceBillNos = null); + /// + /// erp:单据查询-其他出库 + /// + /// + Task> BillQueryForMisDeliveryOutStock(List sourceBillNos = null); /// /// erp:单据查询-物料 /// diff --git a/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs b/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs index 2ef222e7..4df6006e 100644 --- a/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs +++ b/src/WMS.Web.Domain/IService/Public/IOutStockTaskService.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using WMS.Web.Core.Dto; +using WMS.Web.Core.Dto.Erp.OutStock; using WMS.Web.Core.Dto.Login; using WMS.Web.Core.Internal.Results; @@ -19,6 +20,26 @@ namespace WMS.Web.Domain.IService.Public /// /// Task SsynDeliveryNoticeOutStock(bool isTransaction,List sourceBillNos = null); + /// + /// erp:单据查询-直接调拨出库 + /// + /// + Task BillQueryForTransferDirectOutStock(bool isTransaction, List sourceBillNos = null); + /// + /// erp:单据查询-分布式调出 + /// + /// + Task BillQueryForTransferOutOutStock(bool isTransaction, List sourceBillNos = null); + /// + /// erp:单据查询-组装拆卸单(拆卸 主出) 组装 子出 + /// + /// + Task BillQueryForAssembledAppOutStock(bool isTransaction, List sourceBillNos = null); + /// + /// erp:单据查询-其他出库 + /// + /// + Task BillQueryForMisDeliveryOutStock(bool isTransaction, List sourceBillNos = null); //出库任务作废 Task Repeal(OperateRequest dto, LoginInDto loginInfo); //出库任务作废 diff --git a/src/WMS.Web.Domain/QuartzJob/OutStockOrderQuartzJob.cs b/src/WMS.Web.Domain/QuartzJob/OutStockOrderQuartzJob.cs new file mode 100644 index 00000000..a8f6a448 --- /dev/null +++ b/src/WMS.Web.Domain/QuartzJob/OutStockOrderQuartzJob.cs @@ -0,0 +1,81 @@ +using Microsoft.EntityFrameworkCore.Storage; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Quartz; +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using WMS.Web.Domain.Infrastructure; +using WMS.Web.Domain.IService; +using WMS.Web.Domain.IService.Public; +using WMS.Web.Domain.Options; + +namespace WMS.Web.Domain.QuartzJob +{ + public class OutStockOrderQuartzJob : IJob + { + private readonly ILogger _logger; + private readonly IServiceScopeFactory _serviceScopeFactory; + private readonly AppOptions _options; + private readonly IOutStockTaskService _outStockTaskService; + private readonly ITransactionRepositories _transactionRepositories; + + public OutStockOrderQuartzJob(ILogger logger, + IServiceScopeFactory serviceScopeFactory, + IOptions options, + IOutStockTaskService inStockTaskService, + ITransactionRepositories transactionRepositories) + { + this._logger = logger; + _serviceScopeFactory = serviceScopeFactory; + this._options = options?.Value; + _outStockTaskService = inStockTaskService; + _transactionRepositories = transactionRepositories; + } + + /// + /// 执行方法 + /// + /// + /// + public async Task Execute(IJobExecutionContext context) + { + try + { + //1.事务 + IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); + bool isRollback = false; + bool isTransaction = false; + //2.记录:开始时间 + var begindatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + _logger.LogInformation($"出库单-同步金蝶入库单数据:执行开始时间->{begindatetime}"); + //3.同步数据 + var result = await _outStockTaskService.SsynDeliveryNoticeOutStock(isTransaction); + if (!result.IsSuccess) isRollback = true; + result = await _outStockTaskService.BillQueryForTransferDirectOutStock(isTransaction); + if (!result.IsSuccess) isRollback = true; + result = await _outStockTaskService.BillQueryForTransferOutOutStock(isTransaction); + if (!result.IsSuccess) isRollback = true; + result = await _outStockTaskService.BillQueryForMisDeliveryOutStock(isTransaction); + if (!result.IsSuccess) isRollback = true; + result = await _outStockTaskService.BillQueryForAssembledAppOutStock(isTransaction); + if (!result.IsSuccess) isRollback = true; + + //4.提交事务 + var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction); + + //5.记录:结束时间 + var enddatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + _logger.LogInformation($"出库单-同步金蝶入库单数据:执行结束时间->{begindatetime}"); + + } + catch (Exception ex) + { + _logger.LogInformation($"同步金蝶入库单数据:定时任务执行失败->{ex.Message}"); + } + + } + } +} diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs index 727b193b..df8014c5 100644 --- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -167,5 +167,69 @@ namespace WMS.Web.Domain.Services return await this.SsynDate(erp_result.Data.ToList(), isTransaction); } + /// + /// 直接调拨 + /// + /// + /// + /// + public async Task BillQueryForTransferDirectOutStock(bool isTransaction, List sourceBillNos = null) + { + var erp_result = await _erpService.BillQueryForTransferDirectOutStock(sourceBillNos); + if (!erp_result.IsSuccess) + return Result.ReFailure(erp_result.Message, erp_result.Status); + + return await this.SsynDate(erp_result.Data.ToList(), isTransaction); + } + /// + /// 分布式调出 + /// + /// + /// + /// + public async Task BillQueryForTransferOutOutStock(bool isTransaction, List sourceBillNos = null) + { + var erp_result = await _erpService.BillQueryForTransferOutOutStock(sourceBillNos); + if (!erp_result.IsSuccess) + return Result.ReFailure(erp_result.Message, erp_result.Status); + + return await this.SsynDate(erp_result.Data.ToList(), isTransaction); + } + /// + /// 组装拆卸单 + /// + /// + /// + /// + public async Task BillQueryForAssembledAppOutStock(bool isTransaction, List sourceBillNos = null) + { + List list = new List(); + + var erp_result = await _erpService.BillQueryForAssembledAppOutStock_Dassembly(sourceBillNos); + if (!erp_result.IsSuccess) + return Result.ReFailure(erp_result.Message, erp_result.Status); + list.AddRange(erp_result.Data); + + var erp_result_a = await _erpService.BillQueryForAssembledAppOutStock_Assembly(sourceBillNos); + if (!erp_result_a.IsSuccess) + return Result.ReFailure(erp_result_a.Message, erp_result_a.Status); + list.AddRange(erp_result_a.Data); + + return await this.SsynDate(list, isTransaction); + } + /// + /// 其他入库单 + /// + /// + /// + /// + public async Task BillQueryForMisDeliveryOutStock(bool isTransaction, List sourceBillNos = null) + { + var erp_result = await _erpService.BillQueryForMisDeliveryOutStock(sourceBillNos); + if (!erp_result.IsSuccess) + return Result.ReFailure(erp_result.Message, erp_result.Status); + + return await this.SsynDate(erp_result.Data.ToList(), isTransaction); + } } } diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index 7efc9431..1d4dbf3f 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -363,6 +363,7 @@ namespace WMS.Web.Domain.Services.Public return Result.ReSuccess(); } + #region 出库 public async Task> BillQueryForDeliveryNoticeOutStock(List sourceBillNos = null) { try @@ -379,7 +380,7 @@ namespace WMS.Web.Domain.Services.Public return ResultList.ReFailure(token_result); //2.时间条件:可能还有其它条件 - var beginTime = DateTime.Now.AddDays(-2000).ToString("yyyy-MM-dd 00:00:00"); + var beginTime = DateTime.Now.AddDays(-2).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); @@ -434,5 +435,386 @@ namespace WMS.Web.Domain.Services.Public return ResultList.ReFailure(ResultCodes.Erp_BillQuery_Error); } } + /// + /// 直接调拨出库 + /// + /// + /// + public async Task> BillQueryForTransferDirectOutStock(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(-2).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.STK_TransferDirect.ToString()); + param.FieldKeys = "FBillNo,'',FStockOutOrgId,FStockOrgId,FMaterialID,FSrcStockId,FSrcStockLocId,FQty,FNoteEntry,FCreateDate"; + param.Limit = 10; + //查询条件:备注其中的条件值以金蝶的值为准!!! + //1.创建时间在两天前和当天时间之间 + //2.审核状态:已审核 + //3.未出库数量>0 + //4.日期>=系统上线之日 + //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 + param.FilterString = "FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "' and FDocumentStatus='C'"; + //string srt = JsonConvert.SerializeObject(stocks_codes); + //param.FilterString = param.FilterString + " and FSrcStockId in (" + srt.Substring(1, srt.Length - 2) + ")"; + + //根据原订单号查询 + if (sourceBillNos != null && sourceBillNos.Count() > 0) + { + var srt_b = JsonConvert.SerializeObject(sourceBillNos); + param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + } + 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]); + lis.Type = (int)OutStockType.Stkdirecttransfers; + erp_list.Add(lis); + } + return ResultList.ReSuccess(erp_list); + } + catch (Exception ex) + { + return ResultList.ReFailure(ResultCodes.Erp_BillQuery_Error); + } + } + /// + /// 分布式调出 + /// + /// + /// + public async Task> BillQueryForTransferOutOutStock(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(-2).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.STK_TRANSFEROUT.ToString()); + param.FieldKeys = "FBillNo,'',FStockOrgID,FStockInOrgID,FMaterialID,FSrcStockID,FSrcStockLocId,FQty,FEntryNote,FCreateDate"; + param.Limit = 10; + //查询条件:备注其中的条件值以金蝶的值为准!!! + //1.创建时间在两天前和当天时间之间 + //2.审核状态:已审核 + //3.未出库数量>0 + //4.日期>=系统上线之日 + //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 + param.FilterString = "FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "' and FDocumentStatus='C'"; + //string srt = JsonConvert.SerializeObject(stocks_codes); + //param.FilterString = param.FilterString + " and FSrcStockID in (" + srt.Substring(1, srt.Length - 2) + ")"; + + //根据原订单号查询 + if (sourceBillNos != null && sourceBillNos.Count() > 0) + { + var srt_b = JsonConvert.SerializeObject(sourceBillNos); + param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + } + 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]); + lis.Type = (int)OutStockType.StktransferInst; + erp_list.Add(lis); + } + return ResultList.ReSuccess(erp_list); + } + catch (Exception ex) + { + return ResultList.ReFailure(ResultCodes.Erp_BillQuery_Error); + } + } + /// + /// 组装拆卸单 (拆卸 主出) + /// + /// + /// + public async Task> BillQueryForAssembledAppOutStock_Dassembly(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(-2).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.STK_AssembledApp.ToString()); + param.FieldKeys = "FBillNo,'','','',FMaterialID,FStockID,FStockLocId,FQty,FDescription,FCreateDate"; + param.Limit = 10; + //查询条件:备注其中的条件值以金蝶的值为准!!! + //1.创建时间在两天前和当天时间之间 + //2.审核状态:已审核 + //3.未出库数量>0 + //4.日期>=系统上线之日 + //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 FBillTypeID + param.FilterString = "FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "' and FDocumentStatus='C' and FAffairType='Dassembly'"; + //string srt = JsonConvert.SerializeObject(stocks_codes); + //param.FilterString = param.FilterString + " and FSrcStockID in (" + srt.Substring(1, srt.Length - 2) + ")"; + + //根据原订单号查询 + if (sourceBillNos != null && sourceBillNos.Count() > 0) + { + var srt_b = JsonConvert.SerializeObject(sourceBillNos); + param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + } + 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]); + lis.Type = (int)OutStockType.Assembled; + erp_list.Add(lis); + } + return ResultList.ReSuccess(erp_list); + } + catch (Exception ex) + { + return ResultList.ReFailure(ResultCodes.Erp_BillQuery_Error); + } + } + /// + /// 其他出库 + /// + /// + /// + public async Task> BillQueryForMisDeliveryOutStock(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(-2).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.STK_MisDelivery.ToString()); + param.FieldKeys = "FBillNo,'',FStockOrgId,FPickOrgId,FMaterialId,FStockId,FStockLocId ,FQty,FEntryNote,FCreateDate"; + param.Limit = 10; + //查询条件:备注其中的条件值以金蝶的值为准!!! + //1.创建时间在两天前和当天时间之间 + //2.审核状态:已审核 + //3.未出库数量>0 + //4.日期>=系统上线之日 + //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 + param.FilterString = "FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "' and FDocumentStatus='C'"; + //string srt = JsonConvert.SerializeObject(stocks_codes); + //param.FilterString = param.FilterString + " and FSrcStockID in (" + srt.Substring(1, srt.Length - 2) + ")"; + + //根据原订单号查询 + if (sourceBillNos != null && sourceBillNos.Count() > 0) + { + var srt_b = JsonConvert.SerializeObject(sourceBillNos); + param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + } + 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]); + lis.Type = (int)OutStockType.Miscellaneous; + erp_list.Add(lis); + } + return ResultList.ReSuccess(erp_list); + } + catch (Exception ex) + { + return ResultList.ReFailure(ResultCodes.Erp_BillQuery_Error); + } + } + /// + /// 组装拆卸单 (组装 子出) + /// + /// + /// + public async Task> BillQueryForAssembledAppOutStock_Assembly(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(-2).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.STK_AssembledApp.ToString()); + param.FieldKeys = "FBillNo,'',FSubProOwnerIdH,FOwnerIdHead,FMaterialIDSETY,FStockIDSETY,FStockLocIdSETY,FQtySETY,FDescriptionSETY,FCreateDate"; + param.Limit = 10; + //查询条件:备注其中的条件值以金蝶的值为准!!! + //1.创建时间在两天前和当天时间之间 + //2.审核状态:已审核 + //3.未出库数量>0 + //4.日期>=系统上线之日 + //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 FBillTypeID + param.FilterString = "FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "' and FDocumentStatus='C' and FAffairType='Assembly'"; + //string srt = JsonConvert.SerializeObject(stocks_codes); + //param.FilterString = param.FilterString + " and FSrcStockID in (" + srt.Substring(1, srt.Length - 2) + ")"; + + //根据原订单号查询 + if (sourceBillNos != null && sourceBillNos.Count() > 0) + { + var srt_b = JsonConvert.SerializeObject(sourceBillNos); + param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + } + 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]); + lis.Type = (int)OutStockType.Assembled; + erp_list.Add(lis); + } + return ResultList.ReSuccess(erp_list); + } + catch (Exception ex) + { + return ResultList.ReFailure(ResultCodes.Erp_BillQuery_Error); + } + } + #endregion } } diff --git a/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs b/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs index 0e2367f2..9221849a 100644 --- a/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs +++ b/src/WMS.Web.Domain/Values/Erp/FormIdParam.cs @@ -60,6 +60,14 @@ namespace WMS.Web.Domain.Values.Erp /// /// 销售发货通知单 /// - SAL_DELIVERYNOTICE = 13 + SAL_DELIVERYNOTICE = 13, + /// + /// 其他出库单 + /// + STK_MisDelivery=14, + /// + /// 分布式调出单 + /// + STK_TRANSFEROUT=15 } } diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs index 2ca30412..80282631 100644 --- a/src/WMS.Web.Repositories/OutStockRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockRepositories.cs @@ -99,7 +99,7 @@ namespace WMS.Web.Repositories if (!string.IsNullOrEmpty(dto.SourceBillNo)) query = query.Where(w => EF.Functions.Like(w.order.SourceBillNo, "%" + dto.SourceBillNo + "%")); if (dto.Type != null) - query = query.Where(w => w.order.Type == (OrderType)dto.Type); + query = query.Where(w => w.order.Type == (OutStockType)dto.Type); if (dto.SuccessSync != null) query = query.Where(w => w.order.SuccessSync == dto.SuccessSync); if (dto.DeliveryOrgId != null) From d92c58b15f9b1b5ceae6ebb0399be237309d7827 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Mon, 6 Nov 2023 16:42:29 +0800 Subject: [PATCH 3/3] =?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.Domain/Services/Public/ErpService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index 1d4dbf3f..16ff22b9 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -613,7 +613,7 @@ namespace WMS.Web.Domain.Services.Public //3.获取金蝶采购订单:拼接参数和条件 var query = new ErpBillQueryDto(token_result.Data); var param = new ErpBillQueryParamDto(FormIdParam.STK_AssembledApp.ToString()); - param.FieldKeys = "FBillNo,'','','',FMaterialID,FStockID,FStockLocId,FQty,FDescription,FCreateDate"; + param.FieldKeys = "FBillNo,'','0','0',FMaterialID,FStockID,FStockLocId,FQty,FDescription,FCreateDate"; param.Limit = 10; //查询条件:备注其中的条件值以金蝶的值为准!!! //1.创建时间在两天前和当天时间之间