#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;
}
var task_hty = new Dt_Task_Hty
{
// 主键TaskId在历史表中是自增的,所以不需要赋值
TaskNum = task.TaskNum,
PalletCode = task.PalletCode,
PalletType = task.PalletType,
DeviceCode = task.Roadway,
Roadway = task.Roadway,
TaskType = task.TaskType,
TaskState = task.TaskState,
SourceAddress = task.SourceAddress,
TargetAddress = task.TargetAddress,
CurrentAddress = task.CurrentAddress,
NextAddress = task.NextAddress,
ExceptionMessage = task.ExceptionMessage,
Grade = task.Grade,
WMSId = task.WMSId,
Dispatchertime = task.Dispatchertime,
Remark = task.Remark,
Depth = task.Depth,
// 源记录ID设置为原任务的TaskId
SourceId = task.TaskId,
// 操作类型使用传入的参数
OperateType = operateType,
// 基础实体字段(如果有的话)
CreateDate = DateTime.Now,
Creater = task.Creater,
};
// 插入历史记录
int result = BaseDal.AddData(task_hty);
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();
}
}
}