#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
{
///
/// 任务历史服务实现
///
public class TaskHtyService : ServiceBase>, ITaskHtyService
{
private readonly IMapper _mapper;
public TaskHtyService(IRepository repository, IMapper mapper) : base(repository)
{
_mapper = mapper;
}
///
/// 添加任务历史记录
///
/// 原任务对象
/// 操作类型
/// 是否添加成功
public bool AddTaskHistory(Dt_Task task, string operateType = "自动完成")
{
try
{
if (task == null)
{
return false;
}
// 使用AutoMapper将任务对象映射到历史对象
var historyTask = _mapper.Map(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;
}
}
///
/// 根据原任务ID查询历史记录
///
/// 原任务ID
/// 历史记录列表
public List GetHistoryBySourceId(int sourceId)
{
return BaseDal.QueryData(x => x.SourceId == sourceId).OrderByDescending(x => x.CreateDate).ToList();
}
///
/// 根据任务号查询历史记录
///
/// 任务号
/// 历史记录列表
public List GetHistoryByTaskNum(int taskNum)
{
return BaseDal.QueryData(x => x.TaskNum == taskNum).OrderByDescending(x => x.CreateDate).ToList();
}
}
}