using Microsoft.Extensions.Logging; using SlnMesnac.Model.domain; using SlnMesnac.Common; using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Text; using SlnMesnac.Repository.service.@base; using System.Threading.Tasks; #region << 版 本 注 释 >> /*-------------------------------------------------------------------- * 版权所有 (c) 2024 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:LAPTOP-E0N2L34V * 命名空间:SlnMesnac.Repository.service.Impl * 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 * * 创建者:WenJY * 电子邮箱:wenjy@mesnac.com * 创建时间:2024-03-27 21:58:35 * 版本:V1.0.0 * 描述: * *-------------------------------------------------------------------- * 修改人: * 时间: * 修改说明: * * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> namespace SlnMesnac.Repository.service.Impl { public class AirportTaskServiceImpl : BaseServiceImpl, IAirportTaskService { private ILogger _logger; public AirportTaskServiceImpl(Repository repository, ILogger logger):base(repository) { _logger = logger; } /// /// 获取所有的任务信息 /// /// public List GetTaskInfos() { List taskInfos = null; try { String sql = "SELECT id,ConveyorNo,TaskNo,FlightNo,AGVNo,MAX(StartTime) as StartTime,TaskState, TotalCount ,LoadCount FROM AirportTask group by ConveyorNo "; taskInfos = base._rep.AsTenant().GetConnection("AGV").Ado.SqlQuery(sql); } catch (Exception ex) { _logger.LogError($"获取任务信息异常:{ex.Message}"); } return taskInfos; } /// /// 获取AGV任务信息 /// /// public List GetAGVTaskInfos() { List taskInfos = null; try { String sql = "select *from ( SELECT id, ConveyorNo,TaskNo,FlightNo,AGVNo,ManipulatorNo,MAX(StartTime) as StartTime,TaskState, TotalCount ,LoadCount FROM AirportTask group by ConveyorNo )"; taskInfos = base._rep.AsTenant().GetConnection("AGV").Ado.SqlQuery(sql); } catch (Exception ex) { _logger.LogError($"获取AGV任务信息异常:{ex.Message}"); } return taskInfos; } public async Task> GetTaskInfoListAsync(string ConveyorNo) { List list = null; list = await _rep.GetListAsync(x=>x.conveyorno == ConveyorNo); return list; } public async Task UpdateTaskAsync(AirportTask record) { bool result = await _rep.UpdateAsync(record); return result; } public async Task AddTaskAsync(AirportTask record) { bool result = await _rep.InsertAsync(record); return result; } public async Task DeleteTaskAsync(AirportTask record) { bool iFlag = await _rep.DeleteAsync(record); return iFlag; } } }