Example #1
0
 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);
 }
Example #2
0
 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);
 }
Example #3
0
 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);
 }
Example #4
0
        /// <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);
        }
Example #5
0
        /// <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);
        }