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