using Audit.View; using Models; using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Data; /// /// 统计机台单料数变换器 /// 输入:原料代码、机台代码、时间区间 /// 输出:机台料单数 /// namespace Audit.ConvertMoels { internal class MachinesDyelotsNumberConvert : IValueConverter { private Dyelots dyelots = new Dyelots(); private DyelotsBulkedRecipe dyelotsBulkedRecipe = new DyelotsBulkedRecipe(); public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { string machines = System.Convert.ToString(value);//转换机台号 if (string.IsNullOrWhiteSpace(StatisticsView.query_start)) StatisticsView.query_start = DateTime.Now.AddDays(-30).ToString("yyyy-MM-dd");//默认开始时间当前日期前30天 if (string.IsNullOrWhiteSpace(StatisticsView.query_end)) StatisticsView.query_end = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");//默认结束时间当前日期后一天 dyelots.Machine = System.Convert.ToString(machines);//传递机台 //dyelots.StartTime = System.Convert.ToString(machines); //float sum_grams = (float)new DyelotsBulkedRecipeProvider().SelectCode(dyelotsBulkedRecipe).Sum(x => x.DispenseGrams);//查询并返回统计结果 if (string.IsNullOrWhiteSpace(StatisticsView.DataGridStatistics_ProductCode))//原料代码名有效返回数据,无效返回空 { return null; } else { dyelotsBulkedRecipe.Dispenser = System.Convert.ToString(machines);//传递机台 dyelotsBulkedRecipe.ProductCode = StatisticsView.DataGridStatistics_ProductCode; dyelotsBulkedRecipe.DispenseStartTime = System.Convert.ToDateTime(StatisticsView.query_start); dyelotsBulkedRecipe.DispenseEndTime = System.Convert.ToDateTime(StatisticsView.query_end); float Machines_Number = (float)new DyelotsBulkedRecipeProvider().SelectMachineSUM(dyelotsBulkedRecipe).Count(t => t.ReDye == 0);//查询并返回统计结果 if (Machines_Number == 0) { return null; } else { return Machines_Number; } } } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return null; } } }