Exemplo n.º 1
0
        public void HistoricizingStates(IFomMonitoringEntities context, int idMachine)
        {
            var maxHpDate = context.Set <HistoryState>().Where(historyState => historyState.MachineId == idMachine)
                            .Max(a => a.Day);

            maxHpDate = maxHpDate?.Date ?? DateTime.MinValue;

            var historyStates = context.Set <StateMachine>()
                                .Where(p => p.Day >= maxHpDate && p.MachineId == idMachine).ToList()
                                .GroupBy(g => new { g.Day.Value.Date, g.Operator, g.StateId })
                                .Select(n => new HistoryState
            {
                Id          = 0,
                Day         = n.Key.Date,
                MachineId   = idMachine,
                Operator    = n.Key.Operator,
                Period      = n.Key.Date.Year * 10000 + n.Key.Date.Month * 100 + n.Key.Date.Day,
                TypeHistory = "d",
                ElapsedTime = n.Sum(i => i.ElapsedTime),
                StateId     = n.Key.StateId,
                OverfeedAvg = n.Key.StateId == 1 ? (n.Sum(i => i.ElapsedTime) > 0 ? n.Sum(i => i.Overfeed * i.ElapsedTime) / n.Sum(i => i.ElapsedTime) : 0) : null,
            }).ToList();

            var aggregato = historyStates.GroupBy(c => new { c.Day, c.StateId }).Select(n => new HistoryState
            {
                Id          = 0,
                Day         = n.Key.Day.Value,
                MachineId   = idMachine,
                Operator    = null,
                Period      = n.Key.Day.Value.Year * 10000 + n.Key.Day.Value.Month * 100 + n.Key.Day.Value.Day,
                ElapsedTime = n.Sum(i => i.ElapsedTime),
                TypeHistory = "d",
                StateId     = n.Key.StateId,
                OverfeedAvg = n.Key.StateId == 1 ? n.Sum(i => i.ElapsedTime) > 0 ? n.Sum(i => i.OverfeedAvg * i.ElapsedTime) / n.Sum(i => i.ElapsedTime) : 0 : null
            }).ToList();

            historyStates.AddRange(aggregato);


            foreach (var cur in historyStates)
            {
                var row = context.Set <HistoryState>().FirstOrDefault(historyState => historyState.MachineId == idMachine &&
                                                                      historyState.Day == cur.Day && historyState.StateId == cur.StateId &&
                                                                      (historyState.Operator == cur.Operator ||
                                                                       historyState.Operator == null && cur.Operator == null));
                if (row != null)
                {
                    row.ElapsedTime = cur.ElapsedTime;
                    row.OverfeedAvg = cur.OverfeedAvg;
                }
                else
                {
                    context.Set <HistoryState>().Add(cur);
                }
            }

            context.SaveChanges();
        }
Exemplo n.º 2
0
 public MachineService(
     IMachineModelRepository machineModelRepository,
     IPanelRepository panelRepository,
     IFomMonitoringEntities context,
     IMachineRepository machineRepository)
 {
     _machineRepository      = machineRepository;
     _machineModelRepository = machineModelRepository;
     _panelRepository        = panelRepository;
     _context = context;
 }
Exemplo n.º 3
0
        public void CheckVariableTresholds(IFomMonitoringEntities context, IMessageService messageService, Machine machine,
                                           ParameterMachineThreshold par, DataProcessing.Dto.Value value, decimal?oldValue, DateTime utcDatetime)
        {
            if (machine == null || par == null || value == null)
            {
                return;
            }
            if (oldValue != null && oldValue >= value.VariableValue)
            {
                return;
            }

            //controllo se il valore oltrepassa la soglia e non esiste già un msessaggio lo inserisco
            var min = par.ThresholdMin;
            var max = par.ThresholdMax;

            if (value.VariableValue < min || value.VariableValue > max)
            {
                var mes = context.Set <MessageMachine>().AsNoTracking().FirstOrDefault(mm =>
                                                                                       mm.MachineId == machine.Id && mm.MessagesIndex != null &&
                                                                                       mm.MessagesIndex.Id == par.MessagesIndex.Id);
                if (mes == null)
                {
                    messageService.InsertMessageMachine(machine, par.MessagesIndex, utcDatetime);
                }
                else if (oldValue != null)
                {
                    if (mes.Day < utcDatetime)
                    {
                        //verifico se il precedente valore era sotto la soglia inserisco un nuovo messaggio
                        if (oldValue >= min && oldValue <= max)
                        {
                            messageService.InsertMessageMachine(machine, par.MessagesIndex, utcDatetime);
                        }
                        //in questo caso ero sopra la soglia e continuo ad essere sopra la soglia
                        // controllo se il valore del parametro ha superato il prossimo multiplo del valore max
                        else
                        {
                            var valOld = (decimal)oldValue;
                            var valNew = value.VariableValue;
                            if (valOld > max && valNew > valOld && max > 0)
                            {
                                var multiploOld = Math.Floor(valOld / max);
                                var multiploNew = Math.Floor((valNew ?? 0) / max);
                                if (multiploNew > multiploOld)
                                {
                                    messageService.InsertMessageMachine(machine, par.MessagesIndex, utcDatetime);
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
 public AccountController(IContextService contextService, IUserManagerService userManagerService,
                          IFomMonitoringEntities dbContext, IAccountService accountService, IJsonAPIClientService jsonApiClientService,
                          IFaqService faqService)
 {
     _contextService       = contextService;
     _dbContext            = dbContext;
     _accountService       = accountService;
     _jsonApiClientService = jsonApiClientService;
     _userManagerService   = userManagerService;
     _faqService           = faqService;
 }
Exemplo n.º 5
0
 private void AddResetValue(IFomMonitoringEntities context, ParameterMachine parameterMachine, DateTime lastReset, decimal?variableValue, decimal?valueBeforeReset, int idMachine)
 {
     if (!parameterMachine.ParameterResetValue.Any(pm => pm.ResetDate == lastReset && pm.MachineId == idMachine))
     {
         context.Set <ParameterResetValue>().Add(
             new ParameterResetValue()
         {
             ParameterMachineId = parameterMachine.Id,
             ResetDate          = (DateTime)lastReset,
             ResetValue         = variableValue,
             ValueBeforeReset   = valueBeforeReset,
             MachineId          = idMachine
         });
     }
 }
Exemplo n.º 6
0
 public MessageService(
     IMessageMachineRepository messageMachineRepository,
     IMachineRepository machineRepository,
     IMessagesIndexRepository messagesIndexRepository,
     IFomMonitoringEntities context,
     IHistoryMessageRepository historyMessageRepository,
     ILanguageService languageService, IAccountService accountService)
 {
     _messageMachineRepository = messageMachineRepository;
     _machineRepository        = machineRepository;
     _messagesIndexRepository  = messagesIndexRepository;
     _context = context;
     _historyMessageRepository = historyMessageRepository;
     _languageService          = languageService;
     _accountService           = accountService;
 }
Exemplo n.º 7
0
        public void HistoricizingBars(IFomMonitoringEntities context, int idMachine)
        {
            DateTime?maxHpDate = DateTime.MinValue;

            if (context.Set <HistoryBar>().Any(hp => hp.MachineId == idMachine))
            {
                maxHpDate = context.Set <HistoryBar>().Where(hp => hp.MachineId == idMachine).Max(a => a.Day);
            }


            var historyBars = context.Set <Bar>()
                              .Where(p => p.StartTime != null && p.StartTime >= maxHpDate && p.MachineId == idMachine).ToList()
                              .GroupBy(g => g.StartTime.Value.Date)
                              .Select(n => new HistoryBar
            {
                Id           = 0,
                Day          = n.Key,
                MachineId    = idMachine,
                TypeHistory  = "d",
                System       = null,
                Period       = n.Key.Year * 10000 + n.Key.Month * 100 + n.Key.Day,
                Length       = n.Sum(i => i.IsOffcut == false ? i.Length : 0),
                OffcutCount  = n.Count(i => i.IsOffcut == true),
                OffcutLength = n.Sum(i => i.IsOffcut == true ? (int)i.Length : 0),
                Count        = n.Count()
            }).ToList();

            foreach (var cur in historyBars)
            {
                var row = context.Set <HistoryBar>().FirstOrDefault(hp => hp.MachineId == idMachine &&
                                                                    hp.Day == cur.Day);
                if (row != null)
                {
                    row.Count        = cur.Count;
                    row.Length       = cur.Length;
                    row.OffcutCount  = cur.OffcutCount;
                    row.OffcutLength = cur.OffcutLength;
                }
                else
                {
                    context.Set <HistoryBar>().Add(cur);
                }
            }
        }
Exemplo n.º 8
0
        public void HistoricizingMessages(IFomMonitoringEntities context, int idMachine)
        {
            var maxHpDate = context.Set <HistoryMessage>().Where(hp => hp.MachineId == idMachine)
                            .OrderByDescending(a => a.Day).FirstOrDefault()?.Day;

            maxHpDate = maxHpDate?.Date ?? DateTime.MinValue;

            var historyMessages = context.Set <MessageMachine>()
                                  .Where(p => p.Day >= maxHpDate && p.MachineId == idMachine && p.MessagesIndex.IsVisibleLOLA &&
                                         (p.MessagesIndex.MessageTypeId == 11 ||
                                          p.MessagesIndex.MessageTypeId == 12 ||
                                          p.MessagesIndex.MessageType.Id == 13)).ToList()
                                  .GroupBy(g => new{ g.Day.Value.Date, g.Params, g.MessagesIndexId })
                                  .Select(n => new HistoryMessage
            {
                Day             = n.Key.Date,
                Params          = n.Key.Params,
                MessagesIndexId = n.Key.MessagesIndexId,
                MachineId       = idMachine,
                Period          = n.Key.Date.Year * 10000 + n.Key.Date.Month * 100 + n.Key.Date.Day,
                Count           = n.Count(),
                TypeHistory     = "d"
            }).ToList();

            foreach (var cur in historyMessages)
            {
                var row = context.Set <HistoryMessage>().FirstOrDefault(hp => hp.MachineId == idMachine &&
                                                                        hp.Day == cur.Day &&
                                                                        hp.TypeHistory == cur.TypeHistory &&
                                                                        hp.MessagesIndexId == cur.MessagesIndexId &&
                                                                        hp.Params == cur.Params);
                if (row != null)
                {
                    row.Count = cur.Count;
                }
                else
                {
                    context.Set <HistoryMessage>().Add(cur);
                }
            }

            context.SaveChanges();
        }
Exemplo n.º 9
0
 public XmlDataService(IFomMonitoringEntities context)
 {
     _context = context;
 }
Exemplo n.º 10
0
 public JobService(IFomMonitoringEntities context, IHistoryJobRepository historyJobRepository)
 {
     _context = context;
     _historyJobRepository = historyJobRepository;
 }
Exemplo n.º 11
0
 public HistoryJobRepository(IFomMonitoringEntities context) : base(context)
 {
 }
Exemplo n.º 12
0
 public AuditLogin(IFomMonitoringEntities fomMonitoringEntities)
 {
     _fomMonitoringEntities = fomMonitoringEntities;
 }
 public MessageLanguagesRepository(IFomMonitoringEntities context) : base(context)
 {
 }
 public MessageMachineRepository(IFomMonitoringEntities context) : base(context)
 {
 }
Exemplo n.º 15
0
 public PlantManagerService(IFomMonitoringEntities context)
 {
     _context = context;
 }
Exemplo n.º 16
0
 public StateService(IHistoryStateRepository historyStateRepository, IFomMonitoringEntities context)
 {
     _historyStateRepository = historyStateRepository;
     _context = context;
 }
Exemplo n.º 17
0
 public PanelRepository(IFomMonitoringEntities context) : base(context)
 {
 }
Exemplo n.º 18
0
        public void HistoricizingPieces(IFomMonitoringEntities context, int idMachine)
        {
            var maxHpDate = DateTime.MinValue;

            if (context.Set <HistoryPiece>().Any(hp => hp.MachineId == idMachine))
            {
                maxHpDate = context.Set <HistoryPiece>().Where(hp => hp.MachineId == idMachine)
                            .Max(a => a.Day).Date;
            }

            var historyPieces = context.Set <Piece>()
                                .Where(p => p.Day >= maxHpDate && p.MachineId == idMachine).ToList()
                                .GroupBy(g => new { g.Day.Value.Date, g.Operator })
                                .Select(n => new HistoryPiece
            {
                Id                   = 0,
                Day                  = n.Key.Date,
                MachineId            = idMachine,
                Operator             = n.Key.Operator,
                CompletedCount       = n.Count(i => i.IsRedone == false),
                Period               = n.Key.Date.Year * 10000 + n.Key.Date.Month * 100 + n.Key.Date.Day,
                ElapsedTime          = n.Sum(i => i.ElapsedTime),
                ElapsedTimeCut       = n.Sum(i => i.ElapsedTimeCut),
                ElapsedTimeProducing = n.Sum(i => i.ElapsedTimeProducing),
                ElapsedTimeTrim      = n.Sum(i => i.ElapsedTimeTrim),
                ElapsedTimeWorking   = n.Sum(i => i.ElapsedTimeWorking),
                PieceLengthSum       = (int)n.Sum(i => i.IsRedone == true ? 0 : i.Length),
                RedoneCount          = n.Count(i => i.IsRedone == true),
                TypeHistory          = "d"
            }).ToList();

            var aggregato = historyPieces.GroupBy(c => c.Day).Select(n => new HistoryPiece
            {
                Id                   = 0,
                Day                  = n.Key,
                MachineId            = idMachine,
                Operator             = null,
                Period               = n.Key.Year * 10000 + n.Key.Month * 100 + n.Key.Day,
                CompletedCount       = n.Sum(i => i.CompletedCount),
                ElapsedTime          = n.Sum(i => i.ElapsedTime),
                ElapsedTimeCut       = n.Sum(i => i.ElapsedTimeCut),
                ElapsedTimeProducing = n.Sum(i => i.ElapsedTimeProducing),
                ElapsedTimeTrim      = n.Sum(i => i.ElapsedTimeTrim),
                ElapsedTimeWorking   = n.Sum(i => i.ElapsedTimeWorking),
                PieceLengthSum       = n.Sum(i => i.PieceLengthSum),
                RedoneCount          = n.Sum(i => i.RedoneCount),
                TypeHistory          = "d"
            }).ToList();

            historyPieces.AddRange(aggregato);


            foreach (var cur in historyPieces)
            {
                var row = context.Set <HistoryPiece>().FirstOrDefault(hp => hp.MachineId == idMachine &&
                                                                      hp.Day == cur.Day &&
                                                                      (hp.Operator == cur.Operator ||
                                                                       hp.Operator == null && cur.Operator == null));
                if (row != null)
                {
                    row.CompletedCount       = cur.CompletedCount;
                    row.ElapsedTime          = cur.ElapsedTime;
                    row.ElapsedTimeProducing = cur.ElapsedTimeProducing;
                    row.ElapsedTimeCut       = cur.ElapsedTimeCut;
                    row.ElapsedTimeWorking   = cur.ElapsedTimeWorking;
                    row.ElapsedTimeTrim      = cur.ElapsedTimeTrim;
                    row.PieceLengthSum       = cur.PieceLengthSum;
                    row.RedoneCount          = cur.RedoneCount;
                }
                else
                {
                    context.Set <HistoryPiece>().Add(cur);
                }
            }
        }
Exemplo n.º 19
0
 public Users(IFomMonitoringEntities fomMonitoringEntities, ILoggedUserServices loggedUserServices)
 {
     _fomMonitoringEntities = fomMonitoringEntities;
     _loggedUserServices    = loggedUserServices;
 }
Exemplo n.º 20
0
 public UserManagerService(IFomMonitoringEntities fomMonitoringEntities, IUserServices userServices, ILoginServices loginServices)
 {
     _fomMonitoringEntities = fomMonitoringEntities;
     _userServices          = userServices;
     _loginServices         = loginServices;
 }
Exemplo n.º 21
0
 public MessageTranslationRepository(IFomMonitoringEntities context) : base(context)
 {
 }
Exemplo n.º 22
0
 public MachineTypeRepository(IFomMonitoringEntities context) : base(context)
 {
 }
Exemplo n.º 23
0
 public AssistanceService(IFomMonitoringEntities fomMonitoringEntities, IUserServices userServices)
 {
     _fomMonitoringEntities = fomMonitoringEntities;
     _userServices          = userServices;
 }
Exemplo n.º 24
0
 public TimeZoneService(IFomMonitoringEntities fomMonitoringEntities)
 {
     _fomMonitoringEntities = fomMonitoringEntities;
 }
 public ParameterMachineValueRepository(IFomMonitoringEntities context) : base(context)
 {
 }
Exemplo n.º 26
0
 public ToolService(IFomMonitoringEntities context)
 {
     _context = context;
 }
Exemplo n.º 27
0
 public MessagesIndexRepository(IFomMonitoringEntities context) : base(context)
 {
 }
Exemplo n.º 28
0
 public PieceService(IFomMonitoringEntities context)
 {
     _context = context;
 }
Exemplo n.º 29
0
 public JsonAPIClientService(IFomMonitoringEntities context, IMesService mesService, IUserManagerService userManagerService)
 {
     _context            = context;
     _mesService         = mesService;
     _userManagerService = userManagerService;
 }