From dfa7e1cce786f386392c6bc6f1355d238f079c69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Fri, 13 Jun 2025 16:33:55 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E5=9F=BA=E7=B1=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../CheryRecurringJobInputPageController.cs | 10 +++++++---
.../Controllers/CherySupplierBomService.cs | 2 +-
.../Controllers/CherySupplierConDateService.cs | 2 +-
.../Controllers/CherySupplierProFlawService.cs | 2 +-
.../CherySupplierProMaterialDataService.cs | 2 +-
.../CherySupplierProProcessService.cs | 2 +-
...rySupplierProStationFirstPassYieldService.cs | 2 +-
.../Controllers/RecurringJobBaseController.cs | 17 +++++++++++++++++
8 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs b/API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs
index 28f0d1c..8ce317b 100644
--- a/API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs
+++ b/API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs
@@ -79,12 +79,14 @@ namespace TaskManager.Controllers
{
try
{
+
var inputjson = JsonSerializer.Serialize(t,
new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
Converters = { new DecimalTrimConverter() },
- WriteIndented = false // 可选,用于格式化输出
+ WriteIndented = false ,// 可选,用于格式化输出
+ Encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Unicode.UnicodeRanges.All)
}
);
//inputjson = RemoveWhitespace(inputjson);
@@ -170,8 +172,10 @@ namespace TaskManager.Controllers
var total = entites.Count();
sub.DataCount = total;
int totalPages = (int)Math.Ceiling((double)total / pageSize);
+
+ int startPage =sub.SyncedPageCount == 0 ? 1 : sub.SyncedPageCount;
- for (int i = sub.SyncedPageCount; i <= totalPages; i++)
+ for (int i = startPage; i <= totalPages; i++)
{
var records = entites.Skip((i - 1) * pageSize)
@@ -200,7 +204,7 @@ namespace TaskManager.Controllers
var result = await PostPageAsync(pagedRequest,sub.TaskId, DateTime.Now.ToString("yyyyMMdd"));
if(result.code == 200)
{
- _jobDbContext.BulkUpdate(records);
+ _jobDbContext.BulkUpdate(records,options=>options.UseTableLock=true);
sub.SyncedPageCount = i;
if (i == totalPages)
{
diff --git a/API/Wood.Service/Controllers/CherySupplierBomService.cs b/API/Wood.Service/Controllers/CherySupplierBomService.cs
index e28e769..5be99a9 100644
--- a/API/Wood.Service/Controllers/CherySupplierBomService.cs
+++ b/API/Wood.Service/Controllers/CherySupplierBomService.cs
@@ -8,7 +8,7 @@ namespace TaskManager.Controllers
///
/// BOM主数据
///
- public class CherySupplierBomService : CheryRecurringJobInputPageController
+ public class CherySupplierBomService : CheryRecurringJobInputPageExtendController
{
public CherySupplierBomService(HttpClient httpClient, JobDbContext jobDbContext, LogController log, IRepository repository) : base(httpClient, jobDbContext, log, repository)
{
diff --git a/API/Wood.Service/Controllers/CherySupplierConDateService.cs b/API/Wood.Service/Controllers/CherySupplierConDateService.cs
index b27f389..ebc0c1b 100644
--- a/API/Wood.Service/Controllers/CherySupplierConDateService.cs
+++ b/API/Wood.Service/Controllers/CherySupplierConDateService.cs
@@ -54,7 +54,7 @@ namespace TaskManager.Controllers
task.CreateTime = DateTime.Now;
task.CreateUser = "admin";
task.CreationTime = DateTime.Now;
- task.SyncedPageCount = 0;
+ task.SyncedPageCount = 1;
entites.ForEach(p =>
{
p.ReadState = true;
diff --git a/API/Wood.Service/Controllers/CherySupplierProFlawService.cs b/API/Wood.Service/Controllers/CherySupplierProFlawService.cs
index 450e8fa..78938d4 100644
--- a/API/Wood.Service/Controllers/CherySupplierProFlawService.cs
+++ b/API/Wood.Service/Controllers/CherySupplierProFlawService.cs
@@ -8,7 +8,7 @@ namespace TaskManager.Controllers
///
/// 缺陷业务数据
///
- public class CherySupplierProFlawService : CheryRecurringJobInputPageController
+ public class CherySupplierProFlawService : CheryRecurringJobInputPageExtendController
{
public CherySupplierProFlawService(HttpClient httpClient, JobDbContext jobDbContext, LogController log, IRepository repository) : base(httpClient, jobDbContext, log, repository)
{
diff --git a/API/Wood.Service/Controllers/CherySupplierProMaterialDataService.cs b/API/Wood.Service/Controllers/CherySupplierProMaterialDataService.cs
index 02ddf8c..0a7b36a 100644
--- a/API/Wood.Service/Controllers/CherySupplierProMaterialDataService.cs
+++ b/API/Wood.Service/Controllers/CherySupplierProMaterialDataService.cs
@@ -5,7 +5,7 @@ using TaskManager.EntityFramework;
namespace TaskManager.Controllers
{
- public class CherySupplierProMaterialDataService : CheryRecurringJobInputPageController
+ public class CherySupplierProMaterialDataService : CheryRecurringJobInputPageExtendController
{
public CherySupplierProMaterialDataService(HttpClient httpClient, JobDbContext jobDbContext, LogController log, IRepository repository) : base(httpClient, jobDbContext, log, repository)
{
diff --git a/API/Wood.Service/Controllers/CherySupplierProProcessService.cs b/API/Wood.Service/Controllers/CherySupplierProProcessService.cs
index a220268..2986a1b 100644
--- a/API/Wood.Service/Controllers/CherySupplierProProcessService.cs
+++ b/API/Wood.Service/Controllers/CherySupplierProProcessService.cs
@@ -14,7 +14,7 @@ namespace Wood.Service.Controllers
///
/// 工艺
///
- public class CherySupplierProProcessService : CheryRecurringJobInputPageController
+ public class CherySupplierProProcessService : CheryRecurringJobInputPageExtendController
{
public CherySupplierProProcessService(HttpClient httpClient, JobDbContext jobDbContext, LogController log, IRepository repository) : base(httpClient, jobDbContext, log, repository)
{
diff --git a/API/Wood.Service/Controllers/CherySupplierProStationFirstPassYieldService.cs b/API/Wood.Service/Controllers/CherySupplierProStationFirstPassYieldService.cs
index 22851ce..cab8091 100644
--- a/API/Wood.Service/Controllers/CherySupplierProStationFirstPassYieldService.cs
+++ b/API/Wood.Service/Controllers/CherySupplierProStationFirstPassYieldService.cs
@@ -7,7 +7,7 @@ namespace TaskManager.Controllers
///
/// 工位一次合格率
///
- public class CherySupplierProStationFirstPassyieldService : CheryRecurringJobInputPageController
+ public class CherySupplierProStationFirstPassyieldService : CheryRecurringJobInputPageExtendController
{
public CherySupplierProStationFirstPassyieldService(HttpClient httpClient, JobDbContext jobDbContext, LogController log, IRepository repository) : base(httpClient, jobDbContext, log, repository)
{
diff --git a/API/Wood.Service/Controllers/RecurringJobBaseController.cs b/API/Wood.Service/Controllers/RecurringJobBaseController.cs
index 03e859f..84e325f 100644
--- a/API/Wood.Service/Controllers/RecurringJobBaseController.cs
+++ b/API/Wood.Service/Controllers/RecurringJobBaseController.cs
@@ -14,6 +14,7 @@ using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
+using TaskManager.Contracts.Dtos;
using TaskManager.Entity;
using TaskManager.EntityFramework;
using Wood.Entity;
@@ -74,6 +75,11 @@ namespace TaskManager.Controllers
// 构建请求
var request = new HttpRequestMessage(HttpMethod.Post, url);
request.Content = new StringContent(jsonData, Encoding.UTF8, "application/json");
+
+ var str3 = request.Content.ToString();
+
+
+
request.Headers.Add("appKey", appKey);
request.Headers.Add("appSecret", appSecret);
request.Headers.Add("timestamp", timeStamp);
@@ -119,6 +125,17 @@ namespace TaskManager.Controllers
private string GenerateSign(string method, string path, string appKey, string appSecret, string timestamp, string nonce, string jsonBody)
{
+ //var options = new JsonSerializerOptions
+ //{
+ // WriteIndented = true, // 格式化缩进,方便阅读
+ // Encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Unicode.UnicodeRanges.All)
+ //};
+
+ //byte[] utf8Bytes = JsonSerializer.SerializeToUtf8Bytes(jsonBody, options);
+ //// 转成字符串(若需要字符串形式,可按需操作,不过直接传字节更高效)
+ //string jsonStr = Encoding.UTF8.GetString(utf8Bytes);
+
+
string paramStr = $"method={method.ToUpper()}&path={path}&appKey={appKey}&appSecret={appSecret}×tamp={timestamp}&nonce={nonce}&jsonBody={jsonBody}";
return ComputeSHA512(paramStr);