|
|
|
@ -2,6 +2,7 @@
|
|
|
|
|
using Admin.Core.Model;
|
|
|
|
|
using Admin.Core.Model.Model_New;
|
|
|
|
|
using Aucma.Core.ProductOffLine.Models;
|
|
|
|
|
using Aucma.Core.ProductOffLine.Views;
|
|
|
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
|
|
|
using CommunityToolkit.Mvvm.Input;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
@ -22,15 +23,26 @@ namespace Aucma.Core.ProductOffLine.ViewModels
|
|
|
|
|
// 成品下线操作mes数据
|
|
|
|
|
private readonly IOffLineInfoServices? _offLineInfoServices = App.ServiceProvider.GetService<IOffLineInfoServices>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public RelayCommand ResetCommand { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public StatisticsPageViewModel()
|
|
|
|
|
{
|
|
|
|
|
_offLineInfoServices = App.ServiceProvider.GetService<IOffLineInfoServices>();
|
|
|
|
|
MainWindowViewModel.RefreshChartsEvent += LoadData;
|
|
|
|
|
ResetCommand = new RelayCommand(Reset);
|
|
|
|
|
LoadData();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<MaterialComplateInfo> materialComplateInfos = new List<MaterialComplateInfo>();
|
|
|
|
|
|
|
|
|
|
public void Reset()
|
|
|
|
|
{
|
|
|
|
|
ProductSNCode = string.Empty;
|
|
|
|
|
LoadData();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#region 加载DataGrid数据
|
|
|
|
|
private void LoadData()
|
|
|
|
|
{
|
|
|
|
@ -95,6 +107,17 @@ namespace Aucma.Core.ProductOffLine.ViewModels
|
|
|
|
|
OnPropertyChanged();//属性通知
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 物料条码
|
|
|
|
|
private string _productSNCode;
|
|
|
|
|
public string ProductSNCode
|
|
|
|
|
{
|
|
|
|
|
get => _productSNCode;
|
|
|
|
|
set => SetProperty(ref _productSNCode, value);
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 按照型号统计
|
|
|
|
|
private ObservableCollection<TempInfo> totalItem = new ObservableCollection<TempInfo>() { };
|
|
|
|
|
public ObservableCollection<TempInfo> TotalItem
|
|
|
|
@ -132,36 +155,44 @@ namespace Aucma.Core.ProductOffLine.ViewModels
|
|
|
|
|
[RelayCommand]
|
|
|
|
|
private void ExecQuery(object obj)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
List<OffLineInfo> list = null;
|
|
|
|
|
var result = (StatisticModel)obj;
|
|
|
|
|
if (string.IsNullOrEmpty(result.BeginTime) && string.IsNullOrEmpty(result.EndTime))
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else if (string.IsNullOrEmpty(result.BeginTime))
|
|
|
|
|
{
|
|
|
|
|
DateTime EndTime = Convert.ToDateTime(result.EndTime);
|
|
|
|
|
|
|
|
|
|
list = _offLineInfoServices.QueryAsync(x => x.ProductScanTime <= EndTime.AddDays(1)).Result;
|
|
|
|
|
}
|
|
|
|
|
else if (string.IsNullOrEmpty(result.EndTime))
|
|
|
|
|
if (!string.IsNullOrEmpty(_productSNCode))
|
|
|
|
|
{
|
|
|
|
|
DateTime BeginTime = Convert.ToDateTime(result.BeginTime);
|
|
|
|
|
list = _offLineInfoServices.QueryAsync(x => x.ProductScanTime >= BeginTime).Result;
|
|
|
|
|
list = _offLineInfoServices.QueryAsync(x => x.ProductSNCode == _productSNCode).Result;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
DateTime BeginTime = Convert.ToDateTime(result.BeginTime);
|
|
|
|
|
DateTime EndTime = Convert.ToDateTime(result.EndTime);
|
|
|
|
|
if (BeginTime > EndTime)
|
|
|
|
|
var result = (StatisticModel)obj;
|
|
|
|
|
if (result == null) return;
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(result.BeginTime) && string.IsNullOrEmpty(result.EndTime))
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("结束时间要大于开始时间!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
list = _offLineInfoServices.QueryAsync(x => x.ProductScanTime >= BeginTime && x.ProductScanTime <= EndTime.AddDays(1)).Result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else if (string.IsNullOrEmpty(result.BeginTime))
|
|
|
|
|
{
|
|
|
|
|
DateTime EndTime = Convert.ToDateTime(result.EndTime);
|
|
|
|
|
|
|
|
|
|
list = _offLineInfoServices.QueryAsync(x => x.ProductScanTime <= EndTime.AddDays(1)).Result;
|
|
|
|
|
}
|
|
|
|
|
else if (string.IsNullOrEmpty(result.EndTime))
|
|
|
|
|
{
|
|
|
|
|
DateTime BeginTime = Convert.ToDateTime(result.BeginTime);
|
|
|
|
|
list = _offLineInfoServices.QueryAsync(x => x.ProductScanTime >= BeginTime).Result;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
DateTime BeginTime = Convert.ToDateTime(result.BeginTime);
|
|
|
|
|
DateTime EndTime = Convert.ToDateTime(result.EndTime);
|
|
|
|
|
if (BeginTime > EndTime)
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("结束时间要大于开始时间!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
list = _offLineInfoServices.QueryAsync(x => x.ProductScanTime >= BeginTime && x.ProductScanTime <= EndTime.AddDays(1)).Result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (list != null)
|
|
|
|
|
{
|
|
|
|
|
list = list.OrderByDescending(x => x.ProductScanTime).ToList();
|
|
|
|
|