|
|
@ -1,5 +1,6 @@ |
|
|
|
using Azure.Core; |
|
|
|
using Dapper; |
|
|
|
using Magicodes.ExporterAndImporter.Core; |
|
|
|
using Magicodes.ExporterAndImporter.Core.Extension; |
|
|
|
using Magicodes.ExporterAndImporter.Excel; |
|
|
|
using Microsoft.AspNetCore.Http; |
|
|
@ -13,6 +14,7 @@ using System.Data; |
|
|
|
using System.Drawing.Printing; |
|
|
|
using System.Globalization; |
|
|
|
using System.Linq.Expressions; |
|
|
|
using System.Reflection; |
|
|
|
using System.Security.Policy; |
|
|
|
using System.Text; |
|
|
|
using System.Text.Json; |
|
|
@ -38,12 +40,6 @@ namespace TaskManager.Controllers |
|
|
|
_repository = repository; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 手工发送调用接口
|
|
|
|
/// </summary>
|
|
|
@ -154,8 +150,6 @@ namespace TaskManager.Controllers |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(taskName) || string.IsNullOrEmpty(client)) |
|
|
|
{ |
|
|
|
await _logger.AddError("任务名称或客户端不能为空",taskName,Guid.NewGuid(),DateTime.Now.ToString("yyyyMMdd")); |
|
|
@ -206,12 +200,10 @@ namespace TaskManager.Controllers |
|
|
|
var result = await PostPageAsync(pagedRequest,sub.TaskId, DateTime.Now.ToString("yyyyMMdd")); |
|
|
|
if(result.code == 200) |
|
|
|
{ |
|
|
|
|
|
|
|
_jobDbContext.BulkUpdate(records); |
|
|
|
sub.SyncedPageCount = i; |
|
|
|
if (i == totalPages) |
|
|
|
{ |
|
|
|
|
|
|
|
sub.WriteState = true; |
|
|
|
_jobDbContext.Set<TaskSub>().Update(sub); |
|
|
|
_jobDbContext.SaveChanges(); |
|
|
@ -220,6 +212,7 @@ namespace TaskManager.Controllers |
|
|
|
else |
|
|
|
{ |
|
|
|
sub.FailedCount = i*pageSize; |
|
|
|
sub.FailedInfo = $"第 {i} 页奇瑞数据保存失败 {result.message}。"; |
|
|
|
|
|
|
|
await _logger.AddError($"第 {i} 页奇瑞数据保存失败 {result.message}。", TaskName,sub.TaskId, DateTime.Now.ToString("yyyyMMdd")); |
|
|
|
} |
|
|
@ -543,5 +536,44 @@ namespace TaskManager.Controllers |
|
|
|
writer.WriteStringValue(value.ToString("0.########################", CultureInfo.InvariantCulture)); |
|
|
|
} |
|
|
|
} |
|
|
|
/// <summary>
|
|
|
|
/// 高级查询字段
|
|
|
|
/// </summary>
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
|
|
[HttpGet("fields")] |
|
|
|
public IActionResult GetQueryFields() |
|
|
|
{ |
|
|
|
// 获取实体类的所有属性
|
|
|
|
Type entityType = typeof(T); |
|
|
|
var properties = entityType.GetProperties(); |
|
|
|
|
|
|
|
// 构建字段信息列表
|
|
|
|
var fields = new List<QueryFieldInfo>(); |
|
|
|
|
|
|
|
foreach (var property in properties) |
|
|
|
{ |
|
|
|
// 获取ExporterHeader特性中的DisplayName
|
|
|
|
var exporterHeader = property.GetCustomAttribute<ExporterHeaderAttribute>(); |
|
|
|
string displayName = exporterHeader?.DisplayName ?? property.Name; |
|
|
|
|
|
|
|
// 获取属性类型
|
|
|
|
string dataType = property.PropertyType.Name; |
|
|
|
|
|
|
|
// 添加到字段列表
|
|
|
|
fields.Add(new QueryFieldInfo |
|
|
|
{ |
|
|
|
FieldName = property.Name, |
|
|
|
DisplayName = displayName, |
|
|
|
DataType = dataType |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
return Ok(fields); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|