新增任务查询业务

master
CaesarBao 2 weeks ago
parent 4c4d214185
commit c2673fe083

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework> <TargetFramework>netstandard2.1</TargetFramework>
@ -7,6 +7,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\SlnMesnac.Plc\SlnMesnac.Plc.csproj" /> <ProjectReference Include="..\SlnMesnac.Plc\SlnMesnac.Plc.csproj" />
<ProjectReference Include="..\SlnMesnac.Repository\SlnMesnac.Repository.csproj" />
<ProjectReference Include="..\SlnMesnac.Rfid\SlnMesnac.Rfid.csproj" /> <ProjectReference Include="..\SlnMesnac.Rfid\SlnMesnac.Rfid.csproj" />
</ItemGroup> </ItemGroup>

@ -0,0 +1,35 @@
using Microsoft.Extensions.Logging;
using SlnMesnac.Repository.service;
using System;
using System.Collections.Generic;
using SlnMesnac.Repository;
using TouchSocket.Sockets;
namespace SlnMesnac.Business.@base
{
public class BaseTaskInfoBusiness
{
public Action<List<AirportTask>> AirportTaskEvent;
private ILogger<BaseTaskInfoBusiness> _logger;
private IAirportTaskService _service;
public BaseTaskInfoBusiness(ILogger<BaseTaskInfoBusiness> logger, IAirportTaskService service)
{
_logger = logger;
_service = service;
}
public void GetTaskInfos()
{
try
{
List<AirportTask> TaskInfos = _service.GetTaskInfos();
}
catch (Exception ex)
{
}
}
}
}

@ -33,7 +33,7 @@ namespace SlnMesnac.Generate.Templates.Service
{ {
public class IServiceCreate public class IServiceCreate
{ {
private static readonly string templateDir = @"E:\桌面\SlnMesnac\SlnMesnac.Generate\Templates\Service\"; private static readonly string templateDir = @"F:\Mesnac\2023部门项目\机场AGV调度\HightWay_AirPot_WCS\SlnMesnac.Generate\Templates\Service\";
public bool Create(string tableName, string NameSpace, string outdir) public bool Create(string tableName, string NameSpace, string outdir)
{ {

@ -0,0 +1,123 @@
using System;
using System.Linq;
using System.Text;
using SqlSugar;
namespace SlnMesnac.Repository
{
///<summary>
///
///</summary>
[SugarTable("AirportTask")]
public partial class AirportTask
{
public AirportTask(){
}
/// <summary>
/// Desc:
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true,IsIdentity=true,ColumnName="ID")]
public int id {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="TaskNo")]
public string taskno {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="ConveyorNo")]
public string conveyorno {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="FlightNo")]
public string flightno {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="ManipulatorNo")]
public string manipulatorno {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="ManipulatorAGVIsArrive")]
public string manipulatoragvisarrive {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="AGVNo")]
public string agvno {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="AGVIsArrive")]
public string agvisarrive {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="TotalCount")]
public int? totalcount {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="LoadCount")]
public int? loadcount {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="TaskState")]
public string taskstate {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="StartTime")]
public DateTime? starttime {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="FinishTime")]
public DateTime? finishtime {get;set;}
}
}

@ -0,0 +1,17 @@
using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service.@base;
using System;
using System.Collections.Generic;
using System.Text;
namespace SlnMesnac.Repository.service
{
public interface IAirportTaskService : IBaseService<AirportTask>
{
/// <summary>
/// »ñÈ¡ÈÎÎñÁбí
/// </summary>
/// <returns></returns>
List<AirportTask> GetTaskInfos();
}
}

@ -0,0 +1,67 @@
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;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2024 WenJY
* CLR4.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<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 ,MAX(StartTime),TaskState FROM AirportTask group by ConveyorNo ";
taskInfos = base._rep.AsTenant().GetConnection("AGV").Ado.SqlQuery<AirportTask>(sql);
}
catch (Exception ex)
{
_logger.LogError($"获取任务信息异常:{ex.Message}");
}
return taskInfos;
}
}
}

@ -5,6 +5,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Text; using System.Text;
using System.Threading.Tasks;
#region << 版 本 注 释 >> #region << 版 本 注 释 >>
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------

@ -12,9 +12,9 @@
<DataTemplate x:Key="TaskTemplate"> <DataTemplate x:Key="TaskTemplate">
<Border BorderBrush="#1254AB" BorderThickness="2" CornerRadius="5" Margin="2,5"> <Border BorderBrush="#1254AB" BorderThickness="2" CornerRadius="5" Margin="2,5">
<StackPanel Margin="10,0,0,0"> <StackPanel Margin="10,0,0,0">
<TextBlock Text="{Binding StationName}" FontSize="18" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,10,0,0"/> <TextBlock Text="{Binding conveyorno}" FontSize="18" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,10,0,0"/>
<TextBlock Text="{Binding TaskDetails}" FontSize="18" Foreground="White" Margin="0,10,0,0"/> <TextBlock Text="{Binding taskno}" FontSize="18" Foreground="White" Margin="0,10,0,0"/>
<TextBlock Text="{Binding Status}" FontSize="18" Foreground="White" Margin="0,10,0,0"/> <TextBlock Text="{Binding taskstate}" FontSize="18" Foreground="White" Margin="0,10,0,0"/>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,10,0,10"> <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,10,0,10">
<Button Content="待处理任务" FontSize="14" Style="{StaticResource BUTTON_AGREE}" <Button Content="待处理任务" FontSize="14" Style="{StaticResource BUTTON_AGREE}"
Width="80" Height="30" Background="YellowGreen" BorderBrush="YellowGreen" Margin="40,0,0,0" Width="80" Height="30" Background="YellowGreen" BorderBrush="YellowGreen" Margin="40,0,0,0"

@ -8,7 +8,12 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Threading; using System.Windows.Threading;
using SlnMesnac.Business.@base;
using static Microsoft.WindowsAPICodePack.Shell.PropertySystem.SystemProperties.System; using static Microsoft.WindowsAPICodePack.Shell.PropertySystem.SystemProperties.System;
using SlnMesnac.Repository.service;
using SlnMesnac.Repository;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.DependencyInjection;
#region << 版 本 注 释 >> #region << 版 本 注 释 >>
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
@ -36,29 +41,36 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
{ {
public partial class IndexContentViewModel: ObservableObject public partial class IndexContentViewModel: ObservableObject
{ {
private ILogger<IndexContentViewModel> _logger;
private IAirportTaskService _service;
private DispatcherTimer _timer; private DispatcherTimer _timer;
public IndexContentViewModel() public IndexContentViewModel()
{ {
LogMessages = new ObservableCollection<string>(); LogMessages = new ObservableCollection<string>();
_service = App.ServiceProvider.GetService<IAirportTaskService>();
this.Init(); this.Init();
} }
private void Init() private void Init()
{ {
#region 测试数据 #region 测试数据
TaskItems = new ObservableCollection<TaskItem>
{ List<AirportTask> AirportTaskItem = _service.GetTaskInfos();
new TaskItem { TaskCode = "1", StationName = "1#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" }, TaskItems = new ObservableCollection<AirportTask>(AirportTaskItem);
new TaskItem { TaskCode = "2", StationName = "2#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" },
new TaskItem { TaskCode = "3", StationName = "3#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" }, // TaskItems = new ObservableCollection<AirportTask>
new TaskItem { TaskCode = "4", StationName = "4#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" }, // {
new TaskItem { TaskCode = "5", StationName = "5#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" }, // new AirportTask { TaskCode = "1", StationName = "1#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" },
new TaskItem { TaskCode = "6", StationName = "6#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" }, // new TaskItem { TaskCode = "2", StationName = "2#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" },
}; // new TaskItem { TaskCode = "3", StationName = "3#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" },
// new TaskItem { TaskCode = "4", StationName = "4#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" },
// new TaskItem { TaskCode = "5", StationName = "5#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" },
// new TaskItem { TaskCode = "6", StationName = "6#站台", TaskDetails = "入库P04->C01", Status = "任务状态:执行中" },
// };
RefreshLogMessage($"1#站台任务下发站台任务下发站台任务下发站台任务下发站台任务下发站台任务下发"); RefreshLogMessage($"1#站台任务下发站台任务下发站台任务下发站台任务下发站台任务下发站台任务下发");
RefreshLogMessage($"2#站台任务下发"); RefreshLogMessage($"2#站台任务下发");
@ -106,8 +118,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
/// <summary> /// <summary>
/// 任务列表 /// 任务列表
/// </summary> /// </summary>
private ObservableCollection<TaskItem> _taskItems = new ObservableCollection<TaskItem>(); private ObservableCollection<AirportTask> _taskItems = new ObservableCollection<AirportTask>();
public ObservableCollection<TaskItem> TaskItems public ObservableCollection<AirportTask> TaskItems
{ {
get => _taskItems; get => _taskItems;
set => SetProperty(ref _taskItems, value); set => SetProperty(ref _taskItems, value);

@ -19,6 +19,11 @@
"configId": "mcs", "configId": "mcs",
"dbType": 3, "dbType": 3,
"connStr": "Data Source=175.27.215.92/helowin;User ID=aucma_scada;Password=aucma" "connStr": "Data Source=175.27.215.92/helowin;User ID=aucma_scada;Password=aucma"
},
{
"configId": "AGV",
"dbType": 2,
"connStr": "Data Source=F:\\Mesnac\\2023部门项目\\机场AGV调度\\HightWay_AirPot_WCS\\SlnMesnac.WPF\\bin\\Debug\\net6.0-windows\\data\\Airport_db.sqlite;"
} }
], ],
"PlcConfig": [ "PlcConfig": [

Loading…
Cancel
Save