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
* 唯 一 标 识 : 496f 8d 2 b - 70e3 - 4 a05 - 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 < AirportTask > , IAirportTaskService
{
private ILogger < AirportTaskServiceImpl > _logger ;
public AirportTaskServiceImpl ( Repository < AirportTask > repository , ILogger < AirportTaskServiceImpl > logger ) : base ( repository )
{
_logger = logger ;
}
/// <summary>
/// 获取所有的任务信息
/// </summary>
/// <returns></returns>
public List < AirportTask > GetTaskInfos ( )
{
List < AirportTask > taskInfos = null ;
try
{
String sql = "SELECT ConveyorNo,TaskNo,FlightNo,AGVNo,MAX(StartTime) as StartTime,TaskState, TotalCount ,LoadCount FROM AirportTask group by ConveyorNo " ;
taskInfos = base . _rep . AsTenant ( ) . GetConnection ( "AGV" ) . Ado . SqlQuery < AirportTask > ( sql ) ;
}
catch ( Exception ex )
{
_logger . LogError ( $"获取任务信息异常:{ex.Message}" ) ;
}
return taskInfos ;
}
/// <summary>
/// 获取AGV任务信息
/// </summary>
/// <returns></returns>
public List < AirportTask > GetAGVTaskInfos ( )
{
List < AirportTask > taskInfos = null ;
try
{
String sql = "SELECT id, ConveyorNo,TaskNo,FlightNo,AGVNo,MAX(StartTime) as StartTime,TaskState, TotalCount ,LoadCount FROM AirportTask WHERE AGVNo IS NULL and TaskState = '等待' group by ConveyorNo " ;
taskInfos = base . _rep . AsTenant ( ) . GetConnection ( "AGV" ) . Ado . SqlQuery < AirportTask > ( sql ) ;
}
catch ( Exception ex )
{
_logger . LogError ( $"获取AGV任务信息异常:{ex.Message}" ) ;
}
return taskInfos ;
}
public async Task < bool > UpdateAsync ( AirportTask record )
{
bool result = await _rep . UpdateAsync ( record ) ;
return result ;
}
}
}