#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;
|
}
|
|
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;
|
}
|
}
|
|
/// <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();
|
}
|
}
|
}
|