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(); }
public MachineService( IMachineModelRepository machineModelRepository, IPanelRepository panelRepository, IFomMonitoringEntities context, IMachineRepository machineRepository) { _machineRepository = machineRepository; _machineModelRepository = machineModelRepository; _panelRepository = panelRepository; _context = context; }
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); } } } } } } }
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; }
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 }); } }
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; }
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); } } }
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(); }
public XmlDataService(IFomMonitoringEntities context) { _context = context; }
public JobService(IFomMonitoringEntities context, IHistoryJobRepository historyJobRepository) { _context = context; _historyJobRepository = historyJobRepository; }
public HistoryJobRepository(IFomMonitoringEntities context) : base(context) { }
public AuditLogin(IFomMonitoringEntities fomMonitoringEntities) { _fomMonitoringEntities = fomMonitoringEntities; }
public MessageLanguagesRepository(IFomMonitoringEntities context) : base(context) { }
public MessageMachineRepository(IFomMonitoringEntities context) : base(context) { }
public PlantManagerService(IFomMonitoringEntities context) { _context = context; }
public StateService(IHistoryStateRepository historyStateRepository, IFomMonitoringEntities context) { _historyStateRepository = historyStateRepository; _context = context; }
public PanelRepository(IFomMonitoringEntities context) : base(context) { }
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); } } }
public Users(IFomMonitoringEntities fomMonitoringEntities, ILoggedUserServices loggedUserServices) { _fomMonitoringEntities = fomMonitoringEntities; _loggedUserServices = loggedUserServices; }
public UserManagerService(IFomMonitoringEntities fomMonitoringEntities, IUserServices userServices, ILoginServices loginServices) { _fomMonitoringEntities = fomMonitoringEntities; _userServices = userServices; _loginServices = loginServices; }
public MessageTranslationRepository(IFomMonitoringEntities context) : base(context) { }
public MachineTypeRepository(IFomMonitoringEntities context) : base(context) { }
public AssistanceService(IFomMonitoringEntities fomMonitoringEntities, IUserServices userServices) { _fomMonitoringEntities = fomMonitoringEntities; _userServices = userServices; }
public TimeZoneService(IFomMonitoringEntities fomMonitoringEntities) { _fomMonitoringEntities = fomMonitoringEntities; }
public ParameterMachineValueRepository(IFomMonitoringEntities context) : base(context) { }
public ToolService(IFomMonitoringEntities context) { _context = context; }
public MessagesIndexRepository(IFomMonitoringEntities context) : base(context) { }
public PieceService(IFomMonitoringEntities context) { _context = context; }
public JsonAPIClientService(IFomMonitoringEntities context, IMesService mesService, IUserManagerService userManagerService) { _context = context; _mesService = mesService; _userManagerService = userManagerService; }