|
|
|
@ -62,7 +62,8 @@ namespace Aucma.Core.SheetMetal.ViewModels
|
|
|
|
|
//WeakReferenceMessenger.Default.Register<string>(this, Recive);
|
|
|
|
|
Task.WaitAll(LoadData());
|
|
|
|
|
AddSelectData();//添加下拉菜单
|
|
|
|
|
RefreshHourAmount();//小时产量
|
|
|
|
|
RefreshHourAmount();//小时产量
|
|
|
|
|
// InitEveryDayMethod();
|
|
|
|
|
RefreshMaterialStats();//型号产量
|
|
|
|
|
SheetMetalPlanTaskHandle.RefreshCurrentPlanInfoEvent += RefreshCurrentPlanInfo;
|
|
|
|
|
QuantityIssuedViewModel.RefreshCretaePlanInfoEvent += LoadData;
|
|
|
|
@ -155,34 +156,34 @@ namespace Aucma.Core.SheetMetal.ViewModels
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 按类型统计
|
|
|
|
|
ChartValues<double> achievement2 = new ChartValues<double>();
|
|
|
|
|
Random random2 = new Random();
|
|
|
|
|
for (int i = 0; i < 2; i++)
|
|
|
|
|
{
|
|
|
|
|
achievement2.Add(random2.Next(60, 100));
|
|
|
|
|
}
|
|
|
|
|
var column2 = new ColumnSeries();
|
|
|
|
|
column2.DataLabels = true;
|
|
|
|
|
column2.Title = "前板";
|
|
|
|
|
column2.Values = achievement2;
|
|
|
|
|
column2.Foreground = Brushes.White;
|
|
|
|
|
column2.FontSize = 18;
|
|
|
|
|
ModelStatistics.Add(column2);
|
|
|
|
|
|
|
|
|
|
ModelStatistics.Add(new ColumnSeries()
|
|
|
|
|
{
|
|
|
|
|
DataLabels = true,
|
|
|
|
|
Title = "后板",
|
|
|
|
|
Values = achievement2,
|
|
|
|
|
Fill = new SolidColorBrush(Color.FromRgb(15, 209, 226)),
|
|
|
|
|
Foreground = Brushes.White,
|
|
|
|
|
FontSize = 18
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
MaterialNameList = new List<string>()
|
|
|
|
|
{
|
|
|
|
|
"玻璃门,SC-439", "玻璃门,SC-439,AC"
|
|
|
|
|
};
|
|
|
|
|
//ChartValues<double> achievement2 = new ChartValues<double>();
|
|
|
|
|
//Random random2 = new Random();
|
|
|
|
|
//for (int i = 0; i < 2; i++)
|
|
|
|
|
//{
|
|
|
|
|
// achievement2.Add(random2.Next(60, 100));
|
|
|
|
|
//}
|
|
|
|
|
//var column2 = new ColumnSeries();
|
|
|
|
|
//column2.DataLabels = true;
|
|
|
|
|
//column2.Title = "前板";
|
|
|
|
|
//column2.Values = achievement2;
|
|
|
|
|
//column2.Foreground = Brushes.White;
|
|
|
|
|
//column2.FontSize = 18;
|
|
|
|
|
//ModelStatistics.Add(column2);
|
|
|
|
|
|
|
|
|
|
//ModelStatistics.Add(new ColumnSeries()
|
|
|
|
|
//{
|
|
|
|
|
// DataLabels = true,
|
|
|
|
|
// Title = "后板",
|
|
|
|
|
// Values = achievement2,
|
|
|
|
|
// Fill = new SolidColorBrush(Color.FromRgb(15, 209, 226)),
|
|
|
|
|
// Foreground = Brushes.White,
|
|
|
|
|
// FontSize = 18
|
|
|
|
|
//});
|
|
|
|
|
|
|
|
|
|
//MaterialNameList = new List<string>()
|
|
|
|
|
//{
|
|
|
|
|
// "玻璃门,SC-439", "玻璃门,SC-439,AC"
|
|
|
|
|
//};
|
|
|
|
|
#endregion
|
|
|
|
|
//await InitExecMethod();
|
|
|
|
|
return Task.CompletedTask;
|
|
|
|
@ -199,7 +200,7 @@ namespace Aucma.Core.SheetMetal.ViewModels
|
|
|
|
|
string stationCode = Appsettings.app("StationInfo", "StationCode");
|
|
|
|
|
CurrentTeamTimeView view = GetTeamHour();
|
|
|
|
|
|
|
|
|
|
var list = _taskExecutionPlanInfoServices.QueryAsync(x => x.ProductLineCode == stationCode&& x.CreatedTime> view.StartTime && x.CreatedTime <view.EndTime).Result;
|
|
|
|
|
var list = _taskExecutionPlanInfoServices.QueryAsync(x => x.ProductLineCode == stationCode&& x.CreatedTime> view.StartTime && x.CreatedTime <view.EndTime&& x.ExecuteStatus==2).Result;
|
|
|
|
|
if (list == null) return Task.CompletedTask;
|
|
|
|
|
|
|
|
|
|
var execList = list.OrderByDescending(d => d.ExecuteOrder);
|
|
|
|
@ -675,26 +676,48 @@ namespace Aucma.Core.SheetMetal.ViewModels
|
|
|
|
|
{
|
|
|
|
|
//获取小时产量
|
|
|
|
|
string stationCode = Appsettings.app("StationInfo", "StationCode");
|
|
|
|
|
List<dynamic> hourAmount = _taskExecutionPlanInfoServices.GetStationSheetMetalHourAmountAsync(stationCode).Result;
|
|
|
|
|
var hourAmount = _sysUserInfoServices.GetSheetMetaHourData(stationCode).Result;
|
|
|
|
|
if (hourAmount != null)
|
|
|
|
|
{
|
|
|
|
|
Achievement.Clear();
|
|
|
|
|
|
|
|
|
|
ProductionHourList = new List<string>();
|
|
|
|
|
//ChartValues<double> hourAchievement = new ChartValues<double>();
|
|
|
|
|
ChartValues<ObservablePoint> hourAchievement = new ChartValues<ObservablePoint>();
|
|
|
|
|
ChartValues<ObservablePoint> hourAchievement1 = new ChartValues<ObservablePoint>();
|
|
|
|
|
ChartValues<ObservablePoint> hourAchievement2 = new ChartValues<ObservablePoint>();
|
|
|
|
|
int hour = 0;
|
|
|
|
|
foreach (var item in hourAmount)
|
|
|
|
|
{
|
|
|
|
|
ObservablePoint point = new ObservablePoint(Convert.ToInt32(item.SIDPANELHOURAMOUNT), Convert.ToInt32(item.BACKPANELHOURAMOUNT));
|
|
|
|
|
ProductionHourList.Add(item.PRODUCT_HOUR);
|
|
|
|
|
hourAchievement.Add(point);
|
|
|
|
|
//hourAchievement.Add(Convert.ToDouble(item.PRODUCT_AMOUNT));
|
|
|
|
|
hourAchievement1.Add(new ObservablePoint(hour,Convert.ToDouble(item.FrontPlateAmount)));
|
|
|
|
|
hourAchievement2.Add(new ObservablePoint(hour,Convert.ToDouble(item.RearPanelAmount)));
|
|
|
|
|
ProductionHourList.Add(item.HourTime);
|
|
|
|
|
hour++;
|
|
|
|
|
}
|
|
|
|
|
var houeColumn = new ColumnSeries();
|
|
|
|
|
houeColumn.DataLabels = true;
|
|
|
|
|
houeColumn.Title = "小时产量";
|
|
|
|
|
houeColumn.Values = hourAchievement;
|
|
|
|
|
houeColumn.Foreground = Brushes.White;
|
|
|
|
|
Achievement.Add(houeColumn);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 按时间统计
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var column = new ColumnSeries();
|
|
|
|
|
column.DataLabels = true;
|
|
|
|
|
column.Title = "前板";
|
|
|
|
|
column.Values = hourAchievement1;
|
|
|
|
|
column.Foreground = Brushes.White;
|
|
|
|
|
column.FontSize = 18;
|
|
|
|
|
|
|
|
|
|
Achievement.Add(column);
|
|
|
|
|
|
|
|
|
|
Achievement.Add(new ColumnSeries
|
|
|
|
|
{
|
|
|
|
|
DataLabels = true,
|
|
|
|
|
Title = "后板",
|
|
|
|
|
Values = hourAchievement2,
|
|
|
|
|
Fill = new SolidColorBrush(Color.FromRgb(15, 209, 226)),
|
|
|
|
|
Foreground = Brushes.CadetBlue,
|
|
|
|
|
FontSize = 18
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
@ -708,29 +731,41 @@ namespace Aucma.Core.SheetMetal.ViewModels
|
|
|
|
|
{
|
|
|
|
|
App.Current.Dispatcher.Invoke((Action)(() =>
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
//获取物料型号统计
|
|
|
|
|
string stationCode = Appsettings.app("StationInfo", "StationCode");
|
|
|
|
|
List<dynamic> materialStats = _taskExecutionPlanInfoServices.GetStationSheetMetalStats(stationCode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (materialStats != null)
|
|
|
|
|
var sheetMetalTypeList = _sysUserInfoServices.GetSheetMetalTypeData(stationCode).Result;
|
|
|
|
|
if (sheetMetalTypeList != null)
|
|
|
|
|
{
|
|
|
|
|
ModelStatistics.Clear();
|
|
|
|
|
#region 按类型统计
|
|
|
|
|
ChartValues<double> achievement1 = new ChartValues<double>();
|
|
|
|
|
ChartValues<double> achievement2 = new ChartValues<double>();
|
|
|
|
|
|
|
|
|
|
MaterialNameList = new List<string>();
|
|
|
|
|
ChartValues<double> materialAchievement = new ChartValues<double>();
|
|
|
|
|
foreach (var item in materialStats)
|
|
|
|
|
foreach (var item in sheetMetalTypeList)
|
|
|
|
|
{
|
|
|
|
|
MaterialNameList.Add(item.MATERIAL_NAME);
|
|
|
|
|
materialAchievement.Add(Convert.ToDouble(item.PRODUCT_AMOUNT));
|
|
|
|
|
achievement1.Add(Convert.ToInt32(item.FrontPlateAmount));
|
|
|
|
|
achievement2.Add(Convert.ToInt32(item.RearPanelAmount));
|
|
|
|
|
MaterialNameList.Add(item.MaterialName);
|
|
|
|
|
}
|
|
|
|
|
var materialColumn = new ColumnSeries();
|
|
|
|
|
materialColumn.DataLabels = true;
|
|
|
|
|
materialColumn.Title = "型号";
|
|
|
|
|
materialColumn.Values = materialAchievement;
|
|
|
|
|
materialColumn.Foreground = Brushes.White;
|
|
|
|
|
ModelStatistics.Add(materialColumn);
|
|
|
|
|
var column2 = new ColumnSeries();
|
|
|
|
|
column2.DataLabels = true;
|
|
|
|
|
column2.Title = "前板";
|
|
|
|
|
column2.Values = achievement1;
|
|
|
|
|
column2.Foreground = Brushes.White;
|
|
|
|
|
column2.FontSize = 18;
|
|
|
|
|
ModelStatistics.Add(column2);
|
|
|
|
|
|
|
|
|
|
ModelStatistics.Add(new ColumnSeries()
|
|
|
|
|
{
|
|
|
|
|
DataLabels = true,
|
|
|
|
|
Title = "后板",
|
|
|
|
|
Values = achievement2,
|
|
|
|
|
Fill = new SolidColorBrush(Color.FromRgb(15, 209, 226)),
|
|
|
|
|
Foreground = Brushes.White,
|
|
|
|
|
FontSize = 18
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|