From 914654f749f93a195f5add5621ae23b7f8d5ad3e Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Sat, 28 Oct 2023 13:32:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E4=BB=BB=E5=8A=A1=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/Controllers/TestController.cs | 4 +- src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 52 ++++++++++--- src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 12 +++ .../Purchase/ErpPurchaseInStockResultDto.cs | 54 +++++++++----- .../QuartzJob/InStockOrderQuartzJob.cs | 73 +++++++++++++++++++ .../Services/Public/ErpService.cs | 29 ++++++-- src/WMS.Web.Domain/WMS.Web.Domain.csproj | 4 - 7 files changed, 186 insertions(+), 42 deletions(-) create mode 100644 src/WMS.Web.Domain/QuartzJob/InStockOrderQuartzJob.cs diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 99a81e00..7dd5fa5b 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -26,8 +26,8 @@ namespace WMS.Web.Api.Controllers [Route("hj")] public async Task TestHJ() { - //var result= await this._erpService.BillQueryForPurchaseInStock(); - var result = await this._erpService.BillQueryForOrg(); + var result= await this._erpService.BillQueryForPurchaseInStock(); + //var result = await this._erpService.BillQueryForOrg(); if (!result.IsSuccess) return ""; return JsonConvert.SerializeObject(result.Data); diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index d6ffb6b5..f2d9ee9b 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -325,34 +325,64 @@ erp-采购入库-返回数据源 - + - 单据编号 + 采购订单号 - + - 物料规格信号 + 供应商 - + - 供应商名称 + 采购组织 - + - 组织名称 + 规则型号 - + + + 物料编码 + + + 物料名称 - + - 物料编码 + 物料ID + + + + + 仓库ID + + + + + 子仓库 + + + + + 采购数量 + + + + + 明细备注 + + + + + 创建时间 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index e94f83ca..e1db52e0 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -1365,6 +1365,18 @@ 私钥 + + + erp入库单-获取定时任务 + + + + + 执行方法 + + + + 改箱 移箱服务 diff --git a/src/WMS.Web.Core/Dto/Erp/Purchase/ErpPurchaseInStockResultDto.cs b/src/WMS.Web.Core/Dto/Erp/Purchase/ErpPurchaseInStockResultDto.cs index af50325f..5232e273 100644 --- a/src/WMS.Web.Core/Dto/Erp/Purchase/ErpPurchaseInStockResultDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/Purchase/ErpPurchaseInStockResultDto.cs @@ -12,33 +12,53 @@ namespace WMS.Web.Core.Dto.Erp.Purchase public class ErpPurchaseInStockResultDto { /// - /// 单据编号 + /// 采购订单号 /// - public string BillNo { get; set; } + public string FPOOrderNo { get; set; } /// - /// 物料规格信号 + /// 供应商 /// - public string Specifications { get; set; } - + public int FSupplierId { get; set; } /// - /// 供应商名称 + /// 采购组织 /// - public string SupplierName { get; set; } - + public int FPurchaseOrgId { get; set; } /// - /// 组织名称 + /// 规则型号 /// - public string OrgName { get; set; } - - /// - /// 物料名称 - /// - public string MaterialName { get; set; } - + public string FUOM { get; set; } /// /// 物料编码 /// - public string MaterialNumber { get; set; } + public string FNumber { get; set; } + /// + /// 物料名称 + /// + public string FMaterialName { get; set; } + /// + /// 物料ID + /// + public int FMaterialId { get; set; } + /// + /// 仓库ID + /// + public int FStockId { get; set; } + /// + /// 子仓库 + /// + public int FStockLocId { get; set; } + /// + /// 采购数量 + /// + public decimal FRemainInStockQty { get; set; } + /// + /// 明细备注 + /// + public string FNote { get; set; } + /// + /// 创建时间 + /// + public DateTime FCreateDate { get; set; } } } diff --git a/src/WMS.Web.Domain/QuartzJob/InStockOrderQuartzJob.cs b/src/WMS.Web.Domain/QuartzJob/InStockOrderQuartzJob.cs new file mode 100644 index 00000000..d3bcc4f4 --- /dev/null +++ b/src/WMS.Web.Domain/QuartzJob/InStockOrderQuartzJob.cs @@ -0,0 +1,73 @@ +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.Public; +using WMS.Web.Domain.Options; + +namespace WMS.Web.Domain.QuartzJob +{ + /// + /// erp入库单-获取定时任务 + /// + public class InStockOrderQuartzJob : IJob + { + private readonly ILogger _logger; + private readonly IServiceScopeFactory _serviceScopeFactory; + private readonly AppOptions _options; + private readonly IInStockTaskRepositories _inStockTaskRepositories; + private readonly IErpService _erpService; + + public InStockOrderQuartzJob(ILogger logger, + IServiceScopeFactory serviceScopeFactory, + IOptions options, + IInStockTaskRepositories inStockTaskRepositories, + IErpService erpService) + { + this._erpService = erpService; + this._logger = logger; + _serviceScopeFactory = serviceScopeFactory; + this._options = options?.Value; + _inStockTaskRepositories = inStockTaskRepositories; + } + + /// + /// 执行方法 + /// + /// + /// + public async Task Execute(IJobExecutionContext context) + { + try + { + + + var begindatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + + + var purchaseInStockOrder = await _erpService.BillQueryForPurchaseInStock(); + + + + var enddatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + //_logger.LogInformation($"《获取金蝶数据》->执行开始时间:{begindatetime},\r\n" + + //$"执行条数:{result.Data?.ExecuteCount}条,\r\n" + + //$"新增数:{result.Data?.ExecuteCreateCount}条,\r\n" + + //$"更新数:{result.Data?.ExecuteUpdateCount}条,\r\n" + + //$"执行结果:{result.Data?.Message},\r\n" + + //$"执行结束时间:{enddatetime}"); + + } + catch (Exception ex) + { + _logger.LogInformation($"首页库存金额统计:定时任务执行失败->{ex.Message}"); + } + + } + } +} diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index 65b079c6..77e16fe2 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -76,9 +76,16 @@ namespace WMS.Web.Domain.Services.Public if (!token_result.IsSuccess) return ResultList.ReFailure(token_result); + //var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00"); + //var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + var beginTime = DateTime.Now.ToString("2023-07-06 00:00:00"); + var endTime = DateTime.Now.ToString("2023-07-06 01:00:00"); + var query = new ErpBillQueryDto(token_result.Data); var param = new ErpBillQueryParamDto(FormIdParam.STK_InStock.ToString()); - param.FieldKeys = this._erpOptions.PurchaseInstockFieldKeys; + param.FieldKeys = "FPOOrderNo,FSupplierId,FPurchaseOrgId,FUOM,FMaterialId.FNumber,FMaterialName,FMaterialId,FStockId,FStockLocId,FRemainInStockQty,FNote,FCreateDate"; + param.Limit = 10; + param.FilterString = "FCreateDate>='"+beginTime+"' and FCreateDate<='"+endTime+"'"; query.Data = JsonConvert.SerializeObject(param); var json = JsonConvert.SerializeObject(query); @@ -89,19 +96,25 @@ namespace WMS.Web.Domain.Services.Public foreach (var item in result) { var lis = new ErpPurchaseInStockResultDto(); - lis.BillNo = item[0]; - lis.Specifications = item[1]; - lis.SupplierName = item[2]; - lis.OrgName = item[3]; - lis.MaterialName = item[4]; - lis.MaterialNumber = item[5]; + lis.FPOOrderNo = item[0]; + lis.FSupplierId = Convert.ToInt32(item[1]); + lis.FPurchaseOrgId = Convert.ToInt32(item[2]); + lis.FUOM = item[3]; + lis.FNumber = item[4]; + lis.FMaterialName = item[5]; + lis.FMaterialId = Convert.ToInt32(item[6]); + lis.FStockId = Convert.ToInt32(item[7]); + lis.FStockLocId = Convert.ToInt32(item[8]); + lis.FRemainInStockQty =Convert.ToDecimal(item[9]); + lis.FNote = item[10]; + lis.FCreateDate =Convert.ToDateTime(item[11]); list.Add(lis); } return ResultList.ReSuccess(list); } - catch (Exception) + catch (Exception ex) { return ResultList.ReFailure("错误", 10001); } diff --git a/src/WMS.Web.Domain/WMS.Web.Domain.csproj b/src/WMS.Web.Domain/WMS.Web.Domain.csproj index f744f4cd..342ff923 100644 --- a/src/WMS.Web.Domain/WMS.Web.Domain.csproj +++ b/src/WMS.Web.Domain/WMS.Web.Domain.csproj @@ -29,8 +29,4 @@ - - - -