牛尾培训讲师老版本同步,测试

master
xiaochanghai 5 months ago
parent 9bde10b0c0
commit 5a35adb1dd
  1. 2
      Tiobon.Core.IServices/Ghre/IGhre_TeacherServices.cs
  2. 66
      Tiobon.Core.Services/Ghre/Ghre_TeacherServices.cs
  3. 10
      Tiobon.Core.Tasks/QuartzNet/Jobs/Job_Ushio_TrainTeacher_Sync_Quartz.cs

@ -12,4 +12,6 @@ public interface IGhre_TeacherServices : IBaseServices<Ghre_Teacher, Ghre_Teache
Task<ServiceResult> UpdateStatus(InsertGhre_TeacherInput input, string status);
Task<ServiceResult<long>> InsertByStatus(InsertGhre_TeacherInput insertModel, string status);
Task Ushio_Sync();
}

@ -1,4 +1,5 @@
using static Tiobon.Core.Model.Consts;
using Serilog;
using static Tiobon.Core.Model.Consts;
namespace Tiobon.Core.Services;
@ -588,4 +589,67 @@ FROM (SELECT A.*,
}
#endregion
#region 牛尾培训讲师同步
public async Task Ushio_Sync()
{
Log.Information($"【牛尾培训讲师同步】开始同步");
try
{
string sql = @"SELECT A.SchoolId,
b.DeptID,
C.StaffId,
A.TeacherType,
A.TeacherNo,
A.TeacherName,
A.PhotoUrl,
A.Gender,
A.Email,
A.Mobile,
A.TeacherLevel,
A.Price,
A.SkillPoints,
A.ApplyReason,
C.StaffId SponsorId,A.WorkNo
FROM [120.26.205.42].[GhrUshio].[dbo].Ushio_TrainTeacher A
LEFT JOIN Ghro_Dept B ON A.DeptNo = B.DeptNo
LEFT JOIN Ghra_Staff C ON A.TeacherNo = C.StaffNo
LEFT JOIN Ghra_Staff D ON A.ApplyStaffNo = D.StaffNo
WHERE WorkNo NOT IN (SELECT WorkNo
FROM Ghre_Teacher
WHERE WorkNo IS NOT NULL)";
var dt = await Db.Ado.GetDataTableAsync(sql);
var list = Db.Utilities.DataTableToList<Ghre_TeacherDto>(dt);
Log.Information($"【牛尾培训讲师同步】查询到待同步{list.Count}条数据");
for (int i = 0; i < list.Count; i++)
{
Log.Information($"【牛尾培训讲师同步】同步队列{i + 1}/{list.Count}");
var insert = Mapper.Map(list[i]).ToANew<InsertGhre_TeacherInput>();
if (await base.AnyAsync(x => x.WorkNo == insert.WorkNo))
continue;
if (insert.SchoolId == 0) insert.SchoolId = null;
var id = await base.Add(insert);
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_Teacher WHERE Id !='{id}'";
var id1 = await Db.Ado.GetLongAsync(sql);
sql = $"UPDATE Ghre_Teacher SET Id={id1} WHERE Id ='{id}'";
await Db.Ado.ExecuteCommandAsync(sql);
}
}
catch (Exception E)
{
Log.Information($"【牛尾培训讲师同步】发生错误:{E.Message}");
Log.Information($"【牛尾培训讲师同步】发生错误行:{E.StackTrace}");
}
Log.Information($"【牛尾培训讲师同步】结束同步");
}
#endregion
}

@ -8,12 +8,12 @@ namespace Tiobon.Core.Tasks;
/// </summary>
public class Job_Ushio_TrainTeacher_Sync_Quartz : JobBase, IJob
{
private readonly IGhrh_ResumeServices _ghrh_ResumeServices;
private readonly IGhre_TeacherServices _ghre_TeacherServices;
public Job_Ushio_TrainTeacher_Sync_Quartz(IGhrh_ResumeServices ghrh_ResumeServices, ITasksQzServices tasksQzServices, ITasksLogServices tasksLogServices)
public Job_Ushio_TrainTeacher_Sync_Quartz(IGhre_TeacherServices ghre_TeacherServices, ITasksQzServices tasksQzServices, ITasksLogServices tasksLogServices)
: base(tasksQzServices, tasksLogServices)
{
_ghrh_ResumeServices = ghrh_ResumeServices;
_ghre_TeacherServices = ghre_TeacherServices;
}
public async Task Execute(IJobExecutionContext context)
{
@ -21,7 +21,7 @@ public class Job_Ushio_TrainTeacher_Sync_Quartz : JobBase, IJob
}
public async Task Run(IJobExecutionContext context)
{
Console.WriteLine($"Job_Ushio_TrainRequest_Sync_Quartz 执行 {DateTime.Now.ToShortTimeString()}");
await _ghrh_ResumeServices.Shihua_OA_Sync();
Console.WriteLine($"Job_Ushio_TrainTeacher_Sync_Quartz 执行 {DateTime.Now.ToShortTimeString()}");
await _ghre_TeacherServices.Ushio_Sync();
}
}

Loading…
Cancel
Save