diff --git a/API/TaskManager.EntityFramework/JobDbContext.cs b/API/TaskManager.EntityFramework/JobDbContext.cs
index f6189cd..81c4529 100644
--- a/API/TaskManager.EntityFramework/JobDbContext.cs
+++ b/API/TaskManager.EntityFramework/JobDbContext.cs
@@ -512,7 +512,7 @@ namespace TaskManager.EntityFramework
//控制项要求频率
b.Property(e => e.SamplingRate).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//上下限更新时间,格式(yyyy-MM-ddHH:mm:ss)
- b.Property(e => e.LimitUpdateTime).HasColumnType("CHAR").HasMaxLength(19).IsRequired(false);
+ b.Property(e => e.LimitUpdateTime).HasColumnType("varCHAR").HasMaxLength(19).IsRequired(false);
//控制项描述
b.Property(e => e.VendorFieldDesc).HasColumnType("VARCHAR").HasMaxLength(64).IsRequired(false);
//控制项代码
@@ -1993,13 +1993,13 @@ namespace TaskManager.EntityFramework
//控制项要求频率
b.Property(e => e.SamplingRate).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//上下限更新时间,格式(yyyy-MM-ddHH:mm:ss)
- b.Property(e => e.LimitUpdateTime).HasColumnType("CHAR").HasMaxLength(19).IsRequired(false);
+ b.Property(e => e.LimitUpdateTime).HasColumnType("VARCHAR").HasMaxLength(19).IsRequired(false);
//控制项描述
b.Property(e => e.VendorFieldDesc).HasColumnType("VARCHAR").HasMaxLength(64).IsRequired(false);
//控制项代码
b.Property(e => e.VendorFieldCode).HasColumnType("VARCHAR").HasMaxLength(32).IsRequired();
//库存有效日期,格式(yyyy-MM-ddHH:mm:ss)
- b.Property(e => e.DeadLine).HasColumnType("VARCHAR").HasMaxLength(10).IsRequired();
+ b.Property(e => e.DeadLine).HasColumnType("VARCHAR").HasMaxLength(30).IsRequired();
b.Property(e => e.Remark).HasColumnType("NVarchar").HasMaxLength(500).IsRequired(false);
diff --git a/API/Wood.Admin.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user b/API/Wood.Admin.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
index fa4421d..f99cbee 100644
--- a/API/Wood.Admin.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/API/Wood.Admin.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -3,7 +3,7 @@
<_PublishTargetUrl>D:\QRAPI20250528\API\Wood.Admin.WebApi\bin\Release\net8.0\publish\
- True|2025-07-02T02:15:44.3531626Z||;True|2025-07-02T10:14:19.3576521+08:00||;True|2025-07-01T18:51:45.0206266+08:00||;True|2025-06-30T15:39:43.7918723+08:00||;True|2025-06-30T14:40:36.2678533+08:00||;True|2025-06-30T14:22:36.2631903+08:00||;True|2025-06-30T09:23:23.0780295+08:00||;True|2025-06-28T10:37:00.4525422+08:00||;True|2025-06-27T14:51:18.0006510+08:00||;True|2025-06-27T14:46:36.7189818+08:00||;True|2025-06-25T10:54:54.0406425+08:00||;True|2025-06-24T15:53:07.6141315+08:00||;True|2025-06-24T15:48:22.4116425+08:00||;True|2025-06-24T15:47:33.3794364+08:00||;True|2025-06-24T15:21:28.5600646+08:00||;True|2025-06-23T17:18:30.1990173+08:00||;True|2025-06-23T17:12:33.6485743+08:00||;True|2025-06-19T17:18:07.6086155+08:00||;
+ True|2025-07-03T01:24:39.8368797Z||;True|2025-07-02T17:18:03.6042427+08:00||;True|2025-07-02T10:15:44.3531626+08:00||;True|2025-07-02T10:14:19.3576521+08:00||;True|2025-07-01T18:51:45.0206266+08:00||;True|2025-06-30T15:39:43.7918723+08:00||;True|2025-06-30T14:40:36.2678533+08:00||;True|2025-06-30T14:22:36.2631903+08:00||;True|2025-06-30T09:23:23.0780295+08:00||;True|2025-06-28T10:37:00.4525422+08:00||;True|2025-06-27T14:51:18.0006510+08:00||;True|2025-06-27T14:46:36.7189818+08:00||;True|2025-06-25T10:54:54.0406425+08:00||;True|2025-06-24T15:53:07.6141315+08:00||;True|2025-06-24T15:48:22.4116425+08:00||;True|2025-06-24T15:47:33.3794364+08:00||;True|2025-06-24T15:21:28.5600646+08:00||;True|2025-06-23T17:18:30.1990173+08:00||;True|2025-06-23T17:12:33.6485743+08:00||;True|2025-06-19T17:18:07.6086155+08:00||;
\ No newline at end of file
diff --git a/API/Wood.Service/Controllers/CheryRecurringJobInputPageExtendController.cs b/API/Wood.Service/Controllers/CheryRecurringJobInputPageExtendController.cs
index 711a12d..036f940 100644
--- a/API/Wood.Service/Controllers/CheryRecurringJobInputPageExtendController.cs
+++ b/API/Wood.Service/Controllers/CheryRecurringJobInputPageExtendController.cs
@@ -307,12 +307,12 @@ namespace TaskManager.Controllers
log.InjectFrom(itm);
log.RequestDate = requestDate;
log.TaskId = taskId;
- log.RequestDate = requestDate;
+
log.WriteState = true;
log.ReadState = true;
logs.Add(log);
}
- await _jobDbContext.BulkInsertAsync(logs);
+ await _jobDbContext.BulkInsertAsync(logs);
try
{
diff --git a/API/Wood.Service/Controllers/CheryRecurringJobOutPageController.cs b/API/Wood.Service/Controllers/CheryRecurringJobOutPageController.cs
index bdaf8a1..9fb3298 100644
--- a/API/Wood.Service/Controllers/CheryRecurringJobOutPageController.cs
+++ b/API/Wood.Service/Controllers/CheryRecurringJobOutPageController.cs
@@ -324,6 +324,101 @@ namespace TaskManager.Controllers
return allData;
}
+
+
+
+ public async Task> CustomFetchAllDataAsync(string inputdate)
+ {
+ var allData = new List();
+ int totalItems = 0;
+ int pageSize = 0;
+ int currentPage = 1;
+ string date = !string.IsNullOrEmpty(inputdate) ? inputdate : DateTime.Now.ToString("yyyy-MM-dd");
+ var taskId = Guid.NewGuid();
+ var version = date.Replace("-", "");
+ var readedcount = _jobDbContext.Set().Where(p => p.RequestDate == inputdate).Count();
+
+
+ PagedResponse firstResponse = await GetPageAsync(new PAGE_DTO() { Date = date, PageSize = CPageSize, IsForce = true }, taskId, version);
+ if (firstResponse == null || firstResponse.Code != 200)
+ {
+ await _logger.AddInfo("首次请求失败,无法获取分页信息。", TaskName, taskId, version);
+ return allData;
+ }
+ if (firstResponse.Data.Total == "0")
+ {
+ await _logger.AddInfo("首次请求失败,Total为0已经全部读取过。", TaskName, taskId, version);
+ return allData;
+
+ }
+ if (readedcount != int.Parse(firstResponse.Data.Total))//记录数不相等
+ {
+ var ids = _jobDbContext.Set().Where(p => p.RequestDate == inputdate).Select(p => p.Id).ToList();//已经同步的ID
+ totalItems = int.Parse(firstResponse.Data.Total);
+ pageSize = int.Parse(firstResponse.Data.PageSize);
+ List pagefirstList = new List();
+
+ foreach (var itm in firstResponse.Data.Rows)
+ {
+ T entity = new T();
+ entity.InjectFrom(itm);
+ entity.CreationTime = DateTime.Now;
+ pagefirstList.Add(entity);
+ entity.RequestDate = date;
+ allData.Add(itm);
+ }
+ if (pagefirstList.Any())
+ {
+ await InsertDataAsync(pagefirstList);
+ }
+ //Console.WriteLine($"总记录数: {totalItems}, 每页大小: {pageSize}");
+ // 计算总页数
+ int totalPages = (int)Math.Ceiling((double)totalItems / pageSize);
+ //Console.WriteLine($"总共需要请求 {totalPages} 页数据");
+
+ // 循环请求剩余页面
+ for (currentPage = 2; currentPage <= totalPages; currentPage++)
+ {
+ PAGE_DTO pageinput = new PAGE_DTO() { Date = date, PageNum = currentPage, PageSize = CPageSize, IsForce = true };
+ //Console.WriteLine($"正在请求第 {currentPage} 页...");
+ PagedResponse pageResponse = await GetPageAsync(pageinput, taskId, version);
+ if (pageResponse?.Data.Rows != null && pageResponse.Data.Rows.Count > 0)
+ {
+ List pageList = new List();
+ foreach (var itm in pageResponse.Data.Rows)
+ {
+ T entity = new T();
+ entity.InjectFrom(itm);
+ entity.CreationTime = DateTime.Now;
+ entity.RequestDate = date;
+ pageList.Add(entity);
+ allData.Add(itm);
+ }
+ if (pageList.Any())
+ {
+ await InsertDataAsync(pageList);
+ }
+ await _logger.AddSuccess($"成功获取 {pageResponse.Data.Rows.Count} 条记录", TaskName, taskId, version);
+ }
+ else
+ {
+ await _logger.AddInfo($"第 {currentPage} 页未返回数据", TaskName, taskId, version);
+ }
+ // 简单的请求间隔,避免过于频繁
+ await Task.Delay(200);
+ }
+ await _logger.AddSuccess($"所有数据获取完成,总共获取了 {allData.Count} 条记录", TaskName, taskId, version);
+ }
+
+
+ // 首次请求获取总条数和分页信息
+
+ return allData;
+ }
+
+
+
+
private async Task> GetPageAsync(PAGE_DTO input,Guid taskId,string version)
{
string inputjson = string.Empty;
@@ -385,7 +480,7 @@ namespace TaskManager.Controllers
Path = first.Api;
TaskName = taskName;
CPageSize = first.PageSize;
- await FetchAllDataAsync(inputdate);
+ await CustomFetchAllDataAsync(inputdate);
}
protected override async Task DoExecutingAsync(string url, string path, string takName, string client, int pagesize)
{