567 lines
22 KiB
C#
567 lines
22 KiB
C#
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);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|