public abayModel(string locationID = "abay") : base(locationID) { Skip1 = new Mine_skip(locationID); Skip2 = new Mine_skip(locationID); BeltPos1 = new Mine_konv(locationID); BeltPos9 = new Mine_konv(locationID); BeltBoiler = new Mine_konv(locationID); Sklad = new Mine_sklad(locationID); Vagon = new Mine_vagon(locationID); Crusher = new Mine_crusher(locationID); RockUtil = new Mine_rockUtil(locationID); Kotel = new Mine_Kotel(locationID); }
public sar1Model(string locationID = "sar1") : base(locationID) { Skip1 = new Mine_skip(locationID); Skip2 = new Mine_skip(locationID); BeltToVagon1 = new Mine_konv(locationID); BeltToVagon2 = new Mine_konv(locationID); BeltToBoiler = new Mine_konv(locationID); Sklad = new Mine_sklad(locationID); Vagon = new Mine_vagon(locationID); Crusher = new Mine_crusher(locationID); RockUtil = new Mine_rockUtil(locationID); Kotel = new Mine_Kotel(locationID); }
public sar3Model(string locationID = "sar3") : base(locationID) { Skip = new Mine_skip(locationID); BeltToTech1 = new Mine_konv(locationID); BeltToTech2 = new Mine_konv(locationID); BeltToBoiler = new Mine_konv(locationID); Sklad = new Mine_sklad(locationID); VagonObogatitel = new Mine_vagon(locationID); VagonSaburkhan = new Mine_vagon(locationID); Crusher = new Mine_crusher(locationID); RockUtil = new Mine_rockUtil(locationID); Kotel = new Mine_Kotel(locationID); }
/// <summary> /// Вагонные весы погрузка ЦОФ /// </summary> /// <param name = "wagonScaleID" ></ param > /// < returns ></ returns > public Mine_vagon GetWagonCounterModel(int wagonScaleID) { var model = new Mine_vagon(wagonScaleID.ToString()); List <Models.CofvVagons> list = new List <Models.CofvVagons>(); var db = new CTS_Models.DBContext.CtsDbContext(); string dayBuffer = null, lastday = null, dateBuffer = null; var periodDays = from rain in db.RailWeighbridges where rain.TransferTimeStamp >= fromDate && rain.TransferTimeStamp <= toDate select rain; var lastDateHours = db.RailWeighbridges.Where(p => p.TransferTimeStamp >= fromDate && p.TransferTimeStamp <= toDate).OrderByDescending(x => x.TransferTimeStamp); int counter = 0; string[] arr = new string[periodDays.Count()]; foreach (var item in lastDateHours) { lastday = item.TransferTimeStamp.ToString(); } foreach (var item in periodDays) { if (item.TransferTimeStamp.Date.ToString() == dayBuffer) { counter++; dateBuffer = item.TransferTimeStamp.ToString(); } else { if (dayBuffer != null) { Models.CofvVagons cofvVagons = new Models.CofvVagons { Times = DateTime.Parse(dateBuffer), CountVagons = counter }; list.Add(cofvVagons); } dayBuffer = item.TransferTimeStamp.Date.ToString(); counter = 0; } } var count = db.RailWeighbridges.Where(p => p.TransferTimeStamp >= fromDate && p.TransferTimeStamp <= toDate).Count(); // list.Sort(); model.RailWeigh = list; model.Time = DateTime.Parse(lastday.ToString()); model.Count = count;//кол-во вагонов за промежуток времени return(model); }
/// <summary> /// Вагонные весы /// </summary> /// <param name="wagonScaleID"></param> /// <returns></returns> public Mine_vagon GetWagonScaleModel(int wagonScaleID) { var wagonScale = _cdbService.FindEquipmentById <WagonScale>(wagonScaleID); var model = new Mine_vagon(wagonScale.LocationID);//выбираем название шахты var newModel = new Mine_vagon(wagonScale.LocationID); model.WagonScaleID = wagonScaleID; model.WagonScaleName = GetEquipNameOnCurrentLanguate(wagonScale); model.MineName = GetLocationNameOnCurrentLanguate(wagonScale.LocationID); model.WagonTransfers = _cdbService.GetTransfers <WagonTransfer>(wagonScaleID, fromDate, toDate); var fromShiftDate = _cdbService.GetStartShiftTime(wagonScale.LocationID); var toShiftDate = _cdbService.GetEndShiftTime(wagonScale.LocationID, fromShiftDate); var shiftransfers = _cdbService.GetTransfers <WagonTransfer>(wagonScaleID, fromShiftDate, toShiftDate) .Where(tr => tr.Direction == CTS_Core.ProjectConstants.WagonDirection_FromObject). ///положение обьекта Select(t => new { Netto = t.Netto, OperatorName = t.OperatorName }); var timeDB = _cdbService.GetTransfers <WagonTransfer>(wagonScaleID, fromDate, toDate); // var timeRailWeighbridge = _cdbService.GetTransfers<RailWeighbridges>(19, fromDate, toDate); //Сумма загружено за смену model.ShippedPerShiftTonns = (float)shiftransfers.Select(t => t.Netto).DefaultIfEmpty(0).Sum(); var lastTrainTransfers = model.WagonTransfers.OrderByDescending(t => t.TransferTimeStamp). Select(t => new { LotName = t.LotName, Direction = t.Direction, TransferTimeStamp = t.TransferTimeStamp, Netto = t.Netto }) .ToList(); if (model.WagonTransfers != null && lastTrainTransfers.Any()) { lastTrainTransfers = lastTrainTransfers.GroupBy(l => l.LotName) .First() .ToList(); //Направление посл. сост model.LastTrainDirection = lastTrainTransfers.Select(x => x.Direction).FirstOrDefault(); //Загруж. в посл. состав model.ShippedToLastTrainDateTime = lastTrainTransfers.Select(x => x.TransferTimeStamp).FirstOrDefault(); //Сумма вагонов посл сост model.LastTrainVagonCount = lastTrainTransfers.Count(); float?sum1 = 0; foreach (var t in lastTrainTransfers) { var f = t.Netto; if (f.HasValue) { sum1 += f.Value; } } model.ShippedToLastTrainTonns = (float)sum1; //Сумма в посл составе } model.HasManualValues = model .WagonTransfers .Any(v => v.OperatorName != ProjectConstants.DbSyncOperatorName) || shiftransfers .Any(v => v.OperatorName != ProjectConstants.DbSyncOperatorName); return(model); }
public Mine_vagon GetWagonScaleModel(int wagonScaleID) { var wagonScale = _cdbService.FindEquipmentById <WagonScale>(wagonScaleID); var model = new Mine_vagon(wagonScale.LocationID); model.WagonScaleID = wagonScaleID; model.WagonScaleName = GetEquipNameOnCurrentLanguate(wagonScale); model.MineName = GetLocationNameOnCurrentLanguate(wagonScale.LocationID); model.WagonTransfers = _cdbService.GetTransfers <WagonTransfer>(wagonScaleID, fromDate, toDate); //model.WagonTransfers.AddRange(GetDataFromWagonDB(fromDate, toDate, wagonScale.LocationID)); // To get data from wagonDB var fromShiftDate = _cdbService.GetStartShiftTime(wagonScale.LocationID); var toShiftDate = _cdbService.GetEndShiftTime(wagonScale.LocationID, fromShiftDate); var shiftransfers = _cdbService.GetTransfers <WagonTransfer>(wagonScaleID, fromShiftDate, toShiftDate) .Where(tr => tr.Direction == CTS_Core.ProjectConstants.WagonDirection_FromObject). Select(t => new { Netto = t.Netto, OperatorName = t.OperatorName }); //var shiftransfers = GetDataFromWagonDB(fromShiftDate, toShiftDate, wagonScale.LocationID); // To get data from wagonDB model.ShippedPerShiftTonns = (float)shiftransfers.Select(t => t.Netto).DefaultIfEmpty(0).Sum(); var lastTrainTransfers = model.WagonTransfers.OrderByDescending(t => t.TransferTimeStamp). Select(t => new { LotName = t.LotName, Direction = t.Direction, TransferTimeStamp = t.TransferTimeStamp, Netto = t.Netto }) .ToList(); if (lastTrainTransfers.Any()) { lastTrainTransfers = lastTrainTransfers.GroupBy(l => l.LotName) .First() .ToList(); model.LastTrainDirection = lastTrainTransfers.Select(x => x.Direction).FirstOrDefault(); model.ShippedToLastTrainDateTime = lastTrainTransfers.Select(x => x.TransferTimeStamp).FirstOrDefault(); model.LastTrainVagonCount = lastTrainTransfers.Count(); float?sum1 = 0; foreach (var t in lastTrainTransfers) { var f = t.Netto; if (f.HasValue) { sum1 += f.Value; } } model.ShippedToLastTrainTonns = (float)sum1; } model.HasManualValues = model .WagonTransfers .Any(v => v.OperatorName != ProjectConstants.DbSyncOperatorName) || shiftransfers .Any(v => v.OperatorName != ProjectConstants.DbSyncOperatorName); return(model); }