#region << 版 本 注 释 >>
|
/*----------------------------------------------------------------
|
* 命名空间:WIDESEAWCS_TaskInfoService
|
* 创建者:系统自动生成
|
* 创建时间:2024/11/14
|
* 版本:V1.0.0
|
* 描述:任务历史服务实现
|
*
|
* ----------------------------------------------------------------
|
* 修改人:
|
* 修改时间:
|
* 版本:V1.0.1
|
* 修改说明:
|
*
|
*----------------------------------------------------------------*/
|
#endregion << 版 本 注 释 >>
|
|
using AutoMapper;
|
using WIDESEAWCS_Core.BaseRepository;
|
using WIDESEAWCS_Core.BaseServices;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using SqlSugar;
|
using System.Linq;
|
|
namespace WIDESEAWCS_TaskInfoService
|
{
|
/// <summary>
|
/// 任务历史服务实现
|
/// </summary>
|
public class TaskHtyService : ServiceBase<Dt_Task_Hty, IRepository<Dt_Task_Hty>>, ITaskHtyService
|
{
|
private readonly IMapper _mapper;
|
|
public TaskHtyService(IRepository<Dt_Task_Hty> repository, IMapper mapper) : base(repository)
|
{
|
_mapper = mapper;
|
}
|
|
/// <summary>
|
/// 添加任务历史记录
|
/// </summary>
|
/// <param name="task">原任务对象</param>
|
/// <param name="operateType">操作类型</param>
|
/// <returns>是否添加成功</returns>
|
public bool AddTaskHistory(Dt_Task task, string operateType = "自动完成")
|
{
|
try
|
{
|
if (task == null)
|
{
|
return false;
|
}
|
|
// 使用AutoMapper将任务对象映射到历史对象
|
var historyTask = _mapper.Map<Dt_Task_Hty>(task);
|
|
// 设置历史记录特有的字段
|
historyTask.TaskId = 0; // 重置主键,让数据库自动生成
|
historyTask.SourceId = task.TaskId; // 设置源记录ID
|
historyTask.OperateType = operateType; // 设置操作类型
|
historyTask.CreateDate = DateTime.Now;
|
historyTask.Creater = "System";
|
historyTask.ModifyDate = DateTime.Now;
|
historyTask.Modifier = "System";
|
|
// 插入历史记录
|
int result = BaseDal.AddData(historyTask);
|
return result > 0;
|
}
|
catch (Exception ex)
|
{
|
// 记录异常日志
|
Console.WriteLine($"添加任务历史记录失败: {ex.Message}");
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 根据原任务ID查询历史记录
|
/// </summary>
|
/// <param name="sourceId">原任务ID</param>
|
/// <returns>历史记录列表</returns>
|
public List<Dt_Task_Hty> GetHistoryBySourceId(int sourceId)
|
{
|
return BaseDal.QueryData(x => x.SourceId == sourceId).OrderByDescending(x => x.CreateDate).ToList();
|
}
|
|
/// <summary>
|
/// 根据任务号查询历史记录
|
/// </summary>
|
/// <param name="taskNum">任务号</param>
|
/// <returns>历史记录列表</returns>
|
public List<Dt_Task_Hty> GetHistoryByTaskNum(int taskNum)
|
{
|
return BaseDal.QueryData(x => x.TaskNum == taskNum).OrderByDescending(x => x.CreateDate).ToList();
|
}
|
}
|
}
|