添加项目文件。
This commit is contained in:
566
WPFWCSDemo/ViewModels/DataInfoViewModel.cs
Normal file
566
WPFWCSDemo/ViewModels/DataInfoViewModel.cs
Normal file
@@ -0,0 +1,566 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using LiveCharts.Wpf;
|
||||
using LiveCharts;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WPFWCSDemo.Models;
|
||||
using System.Threading;
|
||||
using WPFWCSDemo.Utilities.Table;
|
||||
using System.Data;
|
||||
using WPFWCSDemo.Utilities;
|
||||
using WPFWCSDemo.StateCode;
|
||||
using System.Windows;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Threading;
|
||||
using WPFWCSDemo.Models.Tables;
|
||||
using WPFWCSDemo.Models.Devices.CircleRGV;
|
||||
using System.Windows.Media;
|
||||
|
||||
|
||||
namespace WPFWCSDemo.ViewModels
|
||||
{
|
||||
public partial class DataInfoViewModel : ObservableObject
|
||||
{
|
||||
/// <summary>
|
||||
/// 用于监控环穿参数面板的定时器
|
||||
/// </summary>
|
||||
private DispatcherTimer dispatcherTimer;
|
||||
|
||||
|
||||
public DataInfoViewModel()
|
||||
{
|
||||
//传递frame控件用于顶部面板点击事件跳转
|
||||
//_navigationFrame = navigationFrame;
|
||||
|
||||
TaskBars = new ObservableCollection<DataInfoTaskbar>();
|
||||
|
||||
Tasks = new ObservableCollection<DataInfoTaskAsc>();
|
||||
|
||||
RowSeriesTitles = new string[13];
|
||||
|
||||
RowSeriesCollection = new SeriesCollection(new Series[13]);
|
||||
|
||||
RowValues = new ChartValues<double>(new double[13]);
|
||||
|
||||
PieSeriesCollection = new SeriesCollection();
|
||||
|
||||
PieValuesCount = new ChartValues<int>(new int[4]);
|
||||
|
||||
LineValuesCount = new ChartValues<int>(new int[4]);
|
||||
|
||||
LineValuesPallets = new ChartValues<int>(new int[7]);
|
||||
|
||||
LineValuesGoods = new ChartValues<int>(new int[7]);
|
||||
|
||||
CreateTaskBars();
|
||||
|
||||
TaskAscRecord();
|
||||
|
||||
Data_TaskBar();
|
||||
|
||||
Data_TaskRecord();
|
||||
|
||||
GetPie();
|
||||
|
||||
GetRowsInitialize();
|
||||
|
||||
GetLineCountOfWeek();
|
||||
|
||||
GetLineOfTaskCompare();
|
||||
|
||||
//Task.Run(() => DataMonitorAsync());
|
||||
|
||||
// 设置定时器属性
|
||||
dispatcherTimer = new DispatcherTimer();
|
||||
dispatcherTimer.Interval = TimeSpan.FromSeconds(2); // 设置时间间隔为1秒
|
||||
dispatcherTimer.Tick += DispatcherTimer_Tick; // 添加事件处理程序
|
||||
dispatcherTimer.Start(); // 启动计时器
|
||||
|
||||
|
||||
//MessageBox.Show(GetDate(0));
|
||||
}
|
||||
|
||||
|
||||
public async Task DataMonitorAsync()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
Data_TaskBar();
|
||||
|
||||
TaskAscRecord();
|
||||
|
||||
Data_TaskRecord();
|
||||
|
||||
GetLineCountOfWeek();
|
||||
|
||||
GetLineOfTaskCompare();
|
||||
});
|
||||
|
||||
await Task.Delay(1000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void DispatcherTimer_Tick(object? sender, EventArgs e)
|
||||
{
|
||||
Data_TaskBar();
|
||||
|
||||
TaskAscRecord();
|
||||
|
||||
Data_TaskRecord();
|
||||
|
||||
GetLineCountOfWeek();
|
||||
|
||||
GetLineOfTaskCompare();
|
||||
|
||||
GetRows();
|
||||
|
||||
//GetRowsInitialize();
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行中任务动态转圈元素显示
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
Visibility _taskExecutingProgressIsVisible;
|
||||
|
||||
/// <summary>
|
||||
/// 报警动态转圈元素显示
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
Visibility _alarmProgressIsVisible;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 上方任务面板对象
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
ObservableCollection<DataInfoTaskbar> _taskBars;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 顶部参数面板属性
|
||||
/// </summary>
|
||||
void CreateTaskBars()
|
||||
{
|
||||
TaskBars.Add(new DataInfoTaskbar() { Icon = "FormatListBulleted", Title = "待执行", Content = 0, Color = "#FF0CA0FF", Target = "Task" });
|
||||
TaskBars.Add(new DataInfoTaskbar() { Icon = "Reload", Title = "执行中", Content = 0, Color = "#FF1ECA3A", Target = "Task" });
|
||||
TaskBars.Add(new DataInfoTaskbar() { Icon = "ClockCheckOutLine", Title = "今日已完成", Content = 0, Color = "#FF02C6DC", Target = "TaskHistory" });
|
||||
TaskBars.Add(new DataInfoTaskbar() { Icon = "AlarmLightOutline", Title = "实时报警", Content = 0, Color = "Tomato", Target = "Alarm" });//"#FFFFA000"
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 数据展示1---顶部参数面板数据
|
||||
/// </summary>
|
||||
void Data_TaskBar()
|
||||
{
|
||||
using DataTable? dt = SqlHelper.ExecuteTable("SELECT COUNT(TASKID) FROM TASK WHERE TASKSTATE=@TaskState UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK WHERE TASKSTATE=@TaskState1 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=@TaskState2 OR TASKSTATE=@TaskState3 OR TASKSTATE=@TaskState4) AND FINISHTIME>=@FinishTime UNION ALL " +
|
||||
"SELECT COUNT(*) FROM ALARM",
|
||||
new System.Data.SqlClient.SqlParameter("@TaskState", TaskStateCode.Task_Ready),
|
||||
new System.Data.SqlClient.SqlParameter("@TaskState1", TaskStateCode.Task_Running),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime", $"{DateTime.Now.Date}"),
|
||||
new System.Data.SqlClient.SqlParameter("@TaskState2", TaskStateCode.Task_Finish),
|
||||
new System.Data.SqlClient.SqlParameter("@TaskState3", TaskStateCode.Task_Finish_Manual),
|
||||
new System.Data.SqlClient.SqlParameter("@TaskState4", TaskStateCode.Task_Finish_Timeout)
|
||||
);
|
||||
if (dt == null) return;
|
||||
|
||||
TaskBars[0].Content = (int)dt.Rows[0][0];//待执行
|
||||
TaskBars[1].Content = (int)dt.Rows[1][0];//执行中
|
||||
TaskBars[2].Content = (int)dt.Rows[2][0];//当日已完成
|
||||
TaskBars[3].Content = (int)dt.Rows[3][0];//报警
|
||||
|
||||
//值为0---面板显示灰色,否则其他颜色
|
||||
TaskBars[0].Color = (int)dt.Rows[0][0] > 0 ? "Teal" : "DarkGray";
|
||||
TaskBars[1].Color = (int)dt.Rows[1][0] > 0 ? "#FF1ECA3A" : "DarkGray";
|
||||
TaskBars[2].Color = (int)dt.Rows[2][0] > 0 ? "#FF02C6DC" : "DarkGray";
|
||||
TaskBars[3].Color = (int)dt.Rows[3][0] > 0 ? "OrangeRed" : "DarkGray";
|
||||
|
||||
AlarmProgressIsVisible = (int)dt.Rows[3][0] > 0 ? Visibility.Visible : Visibility.Hidden;
|
||||
TaskExecutingProgressIsVisible = (int)dt.Rows[1][0] > 0 ? Visibility.Visible : Visibility.Hidden;
|
||||
|
||||
|
||||
}
|
||||
|
||||
[ObservableProperty]
|
||||
ObservableCollection<DataInfoTaskAsc> _tasks;
|
||||
|
||||
/// <summary>
|
||||
/// 部分执行中任务展示面板
|
||||
/// </summary>
|
||||
void TaskAscRecord()
|
||||
{
|
||||
Tasks.Clear();
|
||||
Tasks.Add(new DataInfoTaskAsc() { JobId = string.Empty, TaskId = string.Empty, TaskType = 0, ScheduleState = string.Empty, SourceLocation = string.Empty, TargetLocation = string.Empty });
|
||||
Tasks.Add(new DataInfoTaskAsc() { JobId = string.Empty, TaskId = string.Empty, TaskType = 0, ScheduleState = string.Empty, SourceLocation = string.Empty, TargetLocation = string.Empty });
|
||||
Tasks.Add(new DataInfoTaskAsc() { JobId = string.Empty, TaskId = string.Empty, TaskType = 0, ScheduleState = string.Empty, SourceLocation = string.Empty, TargetLocation = string.Empty });
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据展示2---获取日期最早的3条任务
|
||||
/// </summary>
|
||||
public void Data_TaskRecord()
|
||||
{
|
||||
using DataTable? dt = SqlHelper.ExecuteTable("SELECT TOP 3 * FROM TASK ORDER BY CREATETIME ASC");
|
||||
if (dt == null) return;
|
||||
|
||||
if (dt.Rows.Count == 0) return;
|
||||
|
||||
//任务1
|
||||
using TaskRT? taskRT = TaskManager.ToModels(dt.Rows[0]);
|
||||
Tasks[0].JobId = taskRT.JobId;
|
||||
Tasks[0].TaskId = taskRT.TaskId.ToString();
|
||||
Tasks[0].TaskType = taskRT.TaskType;
|
||||
Tasks[0].ScheduleState = taskRT.ScheduleState;
|
||||
Tasks[0].SourceLocation = taskRT.SourceLocation;
|
||||
Tasks[0].TargetLocation = taskRT.TargetLocation;
|
||||
|
||||
if (dt.Rows.Count == 1) return;
|
||||
//任务2
|
||||
using TaskRT? taskRT1 = TaskManager.ToModels(dt.Rows[1]);
|
||||
Tasks[1].JobId = taskRT1.JobId;
|
||||
Tasks[1].TaskId = taskRT1.TaskId.ToString();
|
||||
Tasks[1].TaskType = taskRT1.TaskType;
|
||||
Tasks[1].ScheduleState = taskRT1.ScheduleState;
|
||||
Tasks[1].SourceLocation = taskRT1.SourceLocation;
|
||||
Tasks[1].TargetLocation = taskRT1.TargetLocation;
|
||||
|
||||
if (dt.Rows.Count == 2) return;
|
||||
//任务3
|
||||
using TaskRT? taskRT2 = TaskManager.ToModels(dt.Rows[2]);
|
||||
Tasks[2].JobId = taskRT2.JobId;
|
||||
Tasks[2].TaskId = taskRT2.TaskId.ToString();
|
||||
Tasks[2].TaskType = taskRT2.TaskType;
|
||||
Tasks[2].ScheduleState = taskRT2.ScheduleState;
|
||||
Tasks[2].SourceLocation = taskRT2.SourceLocation;
|
||||
Tasks[2].TargetLocation = taskRT2.TargetLocation;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 饼图数据集合
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
SeriesCollection _pieSeriesCollection;
|
||||
/// <summary>
|
||||
/// 数据集合值
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
double[] pieValues = new double[4];
|
||||
//设备使用次数
|
||||
[ObservableProperty]
|
||||
ChartValues<int> _pieValuesCount;
|
||||
|
||||
string[] s = new string[] { "1009线", "1010线", "1011线", "1012线" };
|
||||
|
||||
int[] dValuesPie = new int[4];
|
||||
/// <summary>
|
||||
/// 数据展示4---饼图面板
|
||||
/// </summary>
|
||||
private void GetPie()
|
||||
{
|
||||
using DataTable? dt = SqlHelper.ExecuteTable(
|
||||
"SELECT COUNT(SOURCELOCATION) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TARGETLOCATION='1009' AND FINISHTIME>=@FinishTime UNION ALL " +
|
||||
"SELECT COUNT(SOURCELOCATION) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TARGETLOCATION='1010' AND FINISHTIME>=@FinishTime UNION ALL " +
|
||||
"SELECT COUNT(SOURCELOCATION) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TARGETLOCATION='1011' AND FINISHTIME>=@FinishTime UNION ALL " +
|
||||
"SELECT COUNT(SOURCELOCATION) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TARGETLOCATION='1012' AND FINISHTIME>=@FinishTime ",
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime", DateTime.Now.AddDays(-7).ToString(TimeFormat.stringFormatDateOnly)));
|
||||
|
||||
//int[] dValues = new int[]
|
||||
//{
|
||||
// (int)dt.Rows[0][0],
|
||||
// (int)dt.Rows[1][0],
|
||||
// (int)dt.Rows[2][0],
|
||||
// (int)dt.Rows[3][0]
|
||||
//};
|
||||
|
||||
for (int i = 0; i < dValuesPie.Length; i++)
|
||||
{
|
||||
dValuesPie[i] = (int)dt.Rows[i][0];
|
||||
}
|
||||
|
||||
//前台数据赋值
|
||||
for (int i = 0; i < dValuesPie.Length; i++)
|
||||
{
|
||||
PieValuesCount[i] = dValuesPie[i];
|
||||
}
|
||||
|
||||
//PieSeriesCollection = new SeriesCollection();
|
||||
//int[] pieValues = new int[] { 25, 36, 85, 45, 69, 45, 85, 33, 79 };
|
||||
|
||||
|
||||
PieSeriesCollection.Clear();
|
||||
|
||||
for (int i = 0; i < PieValues.Length; i++)
|
||||
{
|
||||
PieSeriesCollection.Add(new PieSeries
|
||||
{
|
||||
Title = s[i],
|
||||
Values = new ChartValues<int> { PieValuesCount[i] },
|
||||
DataLabels = false,
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 图形数据集合
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
SeriesCollection _rowSeriesCollection;
|
||||
|
||||
/// <summary>
|
||||
/// 运行里程集合
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
ChartValues<double> _rowValues;
|
||||
|
||||
List<Brush> brushes = new List<Brush>()
|
||||
{
|
||||
Brushes.DarkGreen,
|
||||
Brushes.Salmon,
|
||||
Brushes.MediumSpringGreen,
|
||||
Brushes.SlateBlue,
|
||||
Brushes.Purple,
|
||||
Brushes.LightPink,
|
||||
Brushes.Firebrick,
|
||||
Brushes.DarkOrange,
|
||||
Brushes.DeepSkyBlue,
|
||||
Brushes.Yellow,
|
||||
Brushes.Blue,
|
||||
Brushes.OliveDrab,
|
||||
Brushes.Tan,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// 标题集合
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
string[] _rowSeriesTitles;
|
||||
|
||||
/// <summary>
|
||||
/// 里程统计条形图初始化
|
||||
/// </summary>
|
||||
private void GetRowsInitialize()
|
||||
{
|
||||
List<CircleRGVState> states = CircleRGVsViewModel.GetAllCircleRGVState();
|
||||
|
||||
if (states == null) return;
|
||||
|
||||
RowSeriesCollection.Clear();
|
||||
|
||||
//前台数据赋值
|
||||
for (int i = 0; i < states.Count; i++)
|
||||
{
|
||||
RowValues[i] = states[i].Read_Mileage;
|
||||
|
||||
RowSeriesTitles[i] = ($"{i + 1}#环穿");
|
||||
}
|
||||
|
||||
RowSeriesCollection = new SeriesCollection
|
||||
{
|
||||
new RowSeries()
|
||||
{
|
||||
Title = "运行里程(km):",
|
||||
Values = RowValues,
|
||||
RowPadding = 10,
|
||||
MinHeight = 30,
|
||||
Foreground = Brushes.Gray,
|
||||
Fill=Brushes.Transparent,
|
||||
DataLabels = true,
|
||||
Configuration=new LiveCharts.Configurations.CartesianMapper<double>()
|
||||
.Y((value,index)=>index)
|
||||
.X(value=>value)
|
||||
.Fill((value, index) => brushes[index])
|
||||
}
|
||||
};
|
||||
|
||||
//for (int i = 0; i < RowSeriesTitles.Length; i++)
|
||||
//{
|
||||
//RowSeriesCollection.Add(new RowSeries()
|
||||
//{
|
||||
// Title = RowSeriesTitles[i],
|
||||
// Values = new ChartValues<double> { RowValues[i] },
|
||||
// RowPadding = 10,
|
||||
// MinHeight = 30,
|
||||
//});
|
||||
|
||||
//}
|
||||
}
|
||||
|
||||
private void GetRows()
|
||||
{
|
||||
List<CircleRGVState> states = CircleRGVsViewModel.GetAllCircleRGVState();
|
||||
|
||||
if (states == null) return;
|
||||
|
||||
//前台数据赋值
|
||||
for (int i = 0; i < states.Count; i++)
|
||||
{
|
||||
RowValues[i] = states[i].Read_Mileage;
|
||||
|
||||
//RowSeriesTitles[i] = ($"{i + 1}#环穿");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[ObservableProperty]
|
||||
string[] lineLabels = new[] { "第一周", "第二周", "第三周", "第四周" };
|
||||
|
||||
[ObservableProperty]
|
||||
ChartValues<int> lineValuesCount;
|
||||
|
||||
int[] dValuesWeekLine = new int[4];
|
||||
/// <summary>
|
||||
/// 数据展示3---曲线图面板1---月内(每周)任务数量
|
||||
/// </summary>
|
||||
private void GetLineCountOfWeek()
|
||||
{
|
||||
//X轴---日期
|
||||
//LineLabels = new[] { "第一周", "第二周", "第三周", "第四周" };
|
||||
|
||||
using DataTable? dt = SqlHelper.ExecuteTable(
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND FINISHTIME>=@FinishTime1 AND FINISHTIME<@FinishTime UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND FINISHTIME>=@FinishTime2 AND FINISHTIME<@FinishTime1 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND FINISHTIME>=@FinishTime3 AND FINISHTIME<@FinishTime2 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND FINISHTIME>=@FinishTime4 AND FINISHTIME<@FinishTime3 "
|
||||
,
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime", $"{DateTime.Now.AddMonths(1).ToString("yyyy-MM")}-01"),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime1", $"{DateTime.Now.ToString("yyyy-MM")}-22"),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime2", $"{DateTime.Now.ToString("yyyy-MM")}-15"),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime3", $"{DateTime.Now.ToString("yyyy-MM")}-08"),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime4", $"{DateTime.Now.ToString("yyyy-MM")}-01")
|
||||
);
|
||||
|
||||
//当日任务量
|
||||
for (int i = 0; i < dValuesWeekLine.Length; i++)
|
||||
{
|
||||
dValuesWeekLine[i] = (int)dt.Rows[3 - i][0];
|
||||
}
|
||||
|
||||
//LineValuesCount.Clear();
|
||||
|
||||
for (int i = 0; i < dValuesWeekLine.Length; i++)
|
||||
{
|
||||
//LineValuesCount.Add(dValues[i]);
|
||||
LineValuesCount[i] = dValuesWeekLine[i];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
[ObservableProperty]
|
||||
string[] lineLabels1;
|
||||
|
||||
/// <summary>
|
||||
/// 空托任务曲线集合初始化
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
ChartValues<int> lineValuesPallets;
|
||||
|
||||
/// <summary>
|
||||
/// 实垛任务曲线集合初始化
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
ChartValues<int> lineValuesGoods;
|
||||
|
||||
int[] dValuesTask = new int[7];
|
||||
|
||||
int[] dValuesTask1 = new int[7];
|
||||
|
||||
/// <summary>
|
||||
/// 数据展示5---曲线图面板2---当日各类型任务数量
|
||||
/// </summary>
|
||||
private void GetLineOfTaskCompare()
|
||||
{
|
||||
LineLabels1 = new[] { GetDate(-6), GetDate(-5), GetDate(-4), GetDate(-3), GetDate(-2), GetDate(-1), GetDate(0) };
|
||||
|
||||
using DataTable? dt = SqlHelper.ExecuteTable(
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType AND FINISHTIME>@FinishTime1 AND FINISHTIME<@FinishTime UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType AND FINISHTIME>@FinishTime2 AND FINISHTIME<@FinishTime1 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType AND FINISHTIME>@FinishTime3 AND FINISHTIME<@FinishTime2 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType AND FINISHTIME>@FinishTime4 AND FINISHTIME<@FinishTime3 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType AND FINISHTIME>@FinishTime5 AND FINISHTIME<@FinishTime4 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType AND FINISHTIME>@FinishTime6 AND FINISHTIME<@FinishTime5 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType AND FINISHTIME>@FinishTime7 AND FINISHTIME<@FinishTime6 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType1 AND FINISHTIME>@FinishTime1 AND FINISHTIME<@FinishTime UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType1 AND FINISHTIME>@FinishTime2 AND FINISHTIME<@FinishTime1 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType1 AND FINISHTIME>@FinishTime3 AND FINISHTIME<@FinishTime2 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType1 AND FINISHTIME>@FinishTime4 AND FINISHTIME<@FinishTime3 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType1 AND FINISHTIME>@FinishTime5 AND FINISHTIME<@FinishTime4 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType1 AND FINISHTIME>@FinishTime6 AND FINISHTIME<@FinishTime5 UNION ALL " +
|
||||
"SELECT COUNT(TASKID) FROM TASK_HISTORY WHERE (TASKSTATE=102 OR TASKSTATE=103 OR TASKSTATE=106) AND TASKTYPE LIKE @TaskType1 AND FINISHTIME>@FinishTime7 AND FINISHTIME<@FinishTime6",
|
||||
new System.Data.SqlClient.SqlParameter("@TaskType", "10%"),
|
||||
new System.Data.SqlClient.SqlParameter("@TaskType1", "11%"),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime", GetDate(1)),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime1", GetDate(0)),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime2", GetDate(-1)),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime3", GetDate(-2)),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime4", GetDate(-3)),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime5", GetDate(-4)),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime6", GetDate(-5)),
|
||||
new System.Data.SqlClient.SqlParameter("@FinishTime7", GetDate(-6))
|
||||
);
|
||||
|
||||
//各类型任务数据
|
||||
for (int i = 0; i < dValuesTask.Length; i++)
|
||||
{
|
||||
dValuesTask[i] = (int)dt.Rows[6 - i][0];
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < dValuesTask.Length; i++)
|
||||
{
|
||||
//LineValuesStockIn.Add(dValues[i]);
|
||||
LineValuesPallets[i] = dValuesTask[i];
|
||||
}
|
||||
|
||||
//重置数据
|
||||
for (int i = 0; i < dValuesTask1.Length; i++)
|
||||
{
|
||||
dValuesTask1[i] = (int)dt.Rows[6 + 7 - i][0];
|
||||
}
|
||||
|
||||
for (int i = 0; i < dValuesTask1.Length; i++)
|
||||
{
|
||||
//LineValuesStockOut.Add(dValues2[i]);
|
||||
LineValuesGoods[i] = dValuesTask1[i];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取时间字符串
|
||||
/// </summary>
|
||||
/// <param name="i">以当天为准偏移i天</param>
|
||||
/// <returns>偏移天数</returns>
|
||||
string GetDate(int i)
|
||||
{
|
||||
return DateTime.Now.AddDays(i).ToString(TimeFormat.stringFormatDateOnly);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user