Browse Source

添加字段

master
赵新宇 14 hours ago
parent
commit
d5334536a6
  1. 9
      API/TaskManager.Entity/Entity.cs
  2. 9991
      API/TaskManager.EntityFramework/Migrations/20250617084345_z202506170002.Designer.cs
  3. 38
      API/TaskManager.EntityFramework/Migrations/20250617084345_z202506170002.cs
  4. 6
      API/TaskManager.EntityFramework/Migrations/JobDbContextModelSnapshot.cs
  5. 29
      API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs
  6. 3
      API/Wood.Service/Controllers/CheryRecurringJobInputPageExtendController.cs
  7. 4
      API/Wood.Service/Controllers/CheryRecurringJobOutPageController.cs
  8. 7
      API/Wood.Service/Controllers/CustomLogService.cs
  9. 27
      API/Wood.Service/Controllers/LogConsumerService.cs

9
API/TaskManager.Entity/Entity.cs

@ -148,7 +148,7 @@ namespace TaskManager.Entity
[Index(nameof(Module), IsUnique = false)]
public class TaskLog:BaseEntity
{
/// <summary>
@ -167,7 +167,6 @@ namespace TaskManager.Entity
/// 详细描述
/// </summary>
[ExporterHeader(DisplayName = "信息")]
public string? Info { get; set; }
/// <summary>
/// 日志类型,错误、正常,警告,信息,提示,调试,跟踪,请求,应答
@ -182,10 +181,14 @@ namespace TaskManager.Entity
[ExporterHeader(DisplayName = "任务名")]
public string? TaskName { get; set; }
[MaxLength(30)]
[ExporterHeader(DisplayName = "业务模块")]
public string? Module { get; set; }
/// <summary>
/// 任务名称
/// </summary>
[ExporterHeader(DisplayName = "任务ID")]
public Guid TaskId { get; set; }
/// <summary>

9991
API/TaskManager.EntityFramework/Migrations/20250617084345_z202506170002.Designer.cs

File diff suppressed because it is too large

38
API/TaskManager.EntityFramework/Migrations/20250617084345_z202506170002.cs

@ -0,0 +1,38 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace TaskManager.EntityFramework.Migrations
{
/// <inheritdoc />
public partial class z202506170002 : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "Module",
table: "TaskLogs",
type: "nvarchar(30)",
maxLength: 30,
nullable: true);
migrationBuilder.CreateIndex(
name: "IX_TaskLogs_Module",
table: "TaskLogs",
column: "Module");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex(
name: "IX_TaskLogs_Module",
table: "TaskLogs");
migrationBuilder.DropColumn(
name: "Module",
table: "TaskLogs");
}
}
}

6
API/TaskManager.EntityFramework/Migrations/JobDbContextModelSnapshot.cs

@ -9868,6 +9868,10 @@ namespace TaskManager.EntityFramework.Migrations
b.Property<string>("Info")
.HasColumnType("nvarchar(max)");
b.Property<string>("Module")
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property<string>("Path")
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
@ -9898,6 +9902,8 @@ namespace TaskManager.EntityFramework.Migrations
b.HasKey("UId");
b.HasIndex("Module");
b.ToTable("TaskLogs");
});

29
API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs

@ -185,11 +185,11 @@ namespace TaskManager.Controllers
var version = DateTime.Now.ToString("yyyyMMdd");
if (string.IsNullOrEmpty(taskName) || string.IsNullOrEmpty(client))
{
await _logger.AddError("任务名称或客户端不能为空",taskName,Guid.NewGuid(),version);
await _logger.AddError("任务名称或客户端不能为空", taskName, Guid.NewGuid(), version);
return;
}
var sublist = _jobDbContext.TaskSub.Where(p => taskName.Contains(p.TaskName) && p.WriteState == false && p.Subscriber == client ).ToList();
int pageSize = CPageSize;
var sublist = _jobDbContext.TaskSub.Where(p => taskName.Contains(p.TaskName) && p.WriteState == false && p.Subscriber == client).ToList();
int pageSize = CPageSize;
if (sublist.Any())
{
foreach (var sub in sublist)
@ -201,8 +201,8 @@ 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 = startPage; i <= totalPages; i++)
int startPage = sub.SyncedPageCount == 0 ? 1 : sub.SyncedPageCount;
for (int i = startPage; i <= totalPages; i++)
{
var records = entites.Skip((i - 1) * pageSize)
.Take(pageSize).ToList();
@ -227,11 +227,11 @@ namespace TaskManager.Controllers
{
itm.WriteState = true;
}
var result = await PostPageAsync(pagedRequest,sub.TaskId,version);
if(result.code == 200)
var result = await PostPageAsync(pagedRequest, sub.TaskId, version);
if (result.code == 200)
{
await _logger.AddSuccess($"第 {i} 页奇瑞数据保存成功", TaskName, sub.TaskId, version);
_jobDbContext.BulkUpdate(records,options=>options.UseTableLock=true);
_jobDbContext.BulkUpdate(records, options => options.UseTableLock = true);
sub.SyncedPageCount = i;
if (i == totalPages)
{
@ -240,17 +240,15 @@ namespace TaskManager.Controllers
_jobDbContext.SaveChanges();
await _logger.AddSuccess($"奇瑞数{sub.TaskId}任务完成据保存成功", TaskName, sub.TaskId, version);
}
}
}
else
{
sub.FailedCount = i*pageSize;
sub.FailedCount = i * pageSize;
sub.FailedInfo = $"第 {i} 页奇瑞数据保存失败 {result.message}。";
await _logger.AddError($"第 {i} 页奇瑞数据保存失败 {result.message}。", TaskName,sub.TaskId, version);
await _logger.AddError($"第 {i} 页奇瑞数据保存失败 {result.message}。", TaskName, sub.TaskId, version);
}
}
}
}
}
}
@ -579,13 +577,8 @@ namespace TaskManager.Controllers
DataType = dataType
});
}
return Ok(fields);
}
}

3
API/Wood.Service/Controllers/CheryRecurringJobInputPageExtendController.cs

@ -69,9 +69,6 @@ namespace TaskManager.Controllers
//await SyncTaskSubTable(TaskName, Client);
//var jobId1 = BackgroundJob.Enqueue((()=>SyncTaskSubTable(TaskName,Client)));
await SyncTaskSubTable(TaskName, Client);
}
catch (Exception ex)

4
API/Wood.Service/Controllers/CheryRecurringJobOutPageController.cs

@ -102,12 +102,12 @@ namespace TaskManager.Controllers
if (firstResponse == null || firstResponse.Code != 200)
{
await _logger.AddInfo("首次请求失败,无法获取分页信息。", TaskName,taskId,version);
await _logger.AddInfo("首次请求,无法获取分页信息。", TaskName,taskId,version);
return allData;
}
if (firstResponse.Data.Total == "0")
{
await _logger.AddInfo("首次请求失败,Total为0已经全部读取过。", TaskName, taskId, version);
await _logger.AddInfo("首次请求,Total为0已经全部读取过。", TaskName, taskId, version);
return allData;
}
if (readedcount != int.Parse(firstResponse.Data.Total))//记录数不相等

7
API/Wood.Service/Controllers/CustomLogService.cs

@ -22,9 +22,14 @@ namespace Wood.Service.Controllers
_logDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "CustomLogs");
}
/// <summary>
/// 获取请求文件
/// </summary>
/// <param name="uId"></param>
/// <returns></returns>
[HttpGet]
public async Task<IActionResult> GetLogResponseList(int uId)
public async Task<IActionResult> GetLogRequestList(int uId)
{
var first = _context.TaskLogs.FirstOrDefault(x => x.UId == uId);
if (!string.IsNullOrEmpty(first.Path))

27
API/Wood.Service/Controllers/LogConsumerService.cs

@ -41,6 +41,23 @@ namespace TaskManager.Controllers
private readonly string _logDirectory;
private readonly IServiceProvider _serviceProvider;
private readonly List<string> list = new List<string>() {
"来料检验数据",
"排产数据",
"供应商基础信息",
"人员资质信息",
"BOM主数据",
"过程控制项质量数据",
"生产过程数据",
"产品一次合格率",
"工位一次合格率",
"缺陷业务数据",
"物料主数据",
"附件类数据",
"工艺装备",
"工艺"
};
public LogConsumerService(
LogController logService,
@ -86,7 +103,15 @@ namespace TaskManager.Controllers
if (!string.IsNullOrEmpty(log.Remark))
{
log.Path = WriteLogToFile(log.Remark);
}
}
if (list.Contains(log.TaskName))
{
log.Module = "生产质量";
}
else
{
log.Module = "计划物流";
}
log.Remark = string.Empty;
logsToSave.Add(log);
}

Loading…
Cancel
Save