private MotorAxesParameterVueModel GetVueModelBlitz(MachineInfoModel machine) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.BlitzMotorAxes); var result = new MotorAxesParameterVueModel { motors = par .Where(p => p.VarNumber == 428 || p.VarNumber == 430 || p.VarNumber == 432 || p.VarNumber == 434) .OrderBy(n => n.VarNumber).ToList(), axes = par.Where(p => p.VarNumber == 450 || p.VarNumber == 452 || p.VarNumber == 454) .OrderBy(n => n.VarNumber).ToList() }; //per questi parametri che sono interi elimino o decimali foreach (var mot in result.motors) { mot.Value = double.IsNaN(double.Parse(mot.Value)) ? "" : double.Parse(mot.Value).ToString("0"); } foreach (var ax in result.axes) { ax.Value = double.IsNaN(double.Parse(ax.Value)) ? "" : ax.ConvertedDistanceValue(); } return(result); }
private ChartViewModel GetHistoricalOptions(MachineInfoModel machine, PeriodModel period) { var options = new ChartViewModel(); var granularity = Common.GetAggregationType(period.StartDate, period.EndDate); var startDateTrend = Common.GetStartDateTrend(period.EndDate, period.StartDate, granularity); var periodTrend = new PeriodModel(); periodTrend.StartDate = startDateTrend.ToUniversalTime().Date; periodTrend.EndDate = period.EndDate.ToUniversalTime().Date.AddDays(1).AddTicks(-1); periodTrend.Aggregation = granularity; var data = _pieceService.GetAggregationPieces(machine, periodTrend, enDataType.Historical).OrderBy(o => o.Day).ToList(); if (data.Count == 0) { return(null); } var days = data.Select(s => s.Day).Distinct().ToList(); var valori = _stateService.GetDayActivity(machine, days); options.categories = CommonViewService.GetTimeCategories(days, granularity); options.yTitle = $"{Resource.Efficiency} (%)"; options.yTitle2 = $"{Resource.Productivity} (pz/h)"; options.series = GetSeriesChartProd(valori, false); return(options); }
/// <summary> /// Ritorna i dati di barre e spezzoni in base al tipo di aggregazione /// </summary> /// <param name="machine"></param> /// <param name="period"></param> /// <returns>Lista dei dettagli di barre e spezzoni</returns> public List <HistoryBarModel> GetAggregationBar(MachineInfoModel machine, PeriodModel period) { var result = new List <HistoryBarModel>(); try { result = _context.Set <HistoryBar>().Where(hb => hb.MachineId == machine.Id && hb.Day >= period.StartDate && hb.Day <= period.EndDate).GroupBy(g => g.MachineId).Select(n => new HistoryBarModel { Count = n.Count(), Id = n.Max(i => i.Id), Length = n.Sum(i => i.Length), Day = n.Max(i => i.Day), MachineId = n.Key, OffcutCount = n.Sum(i => i.OffcutCount), OffcutLength = n.Sum(i => i.OffcutLength), Period = null, System = null, TypeHistory = "d" }).ToList(); } catch (Exception ex) { string errMessage = string.Format(ex.GetStringLog(), machine.Id.ToString(), string.Concat(period.StartDate.ToString(), " - ", period.EndDate.ToString(), " - ", period.Aggregation.ToString())); LogService.WriteLog(errMessage, LogService.TypeLevel.Error, ex); } return(result); }
private SensorSpindlesParameterVueModel GetSensorSpindlesVueModel(MachineInfoModel machine) { var panels = _machineService.GetMachinePanels(machine.Model.Id); SensorSpindlesParameterVueModel result = null; if (panels.Contains((int)enPanel.XMUSp_SensorsLMX)) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.XMUSp_SensorsLMX); result = new SensorSpindlesParameterVueModel { SoglieAmpereMandrini = par.FirstOrDefault(p => p.VarNumber == 40131), SoglieAmpereContatore = par.FirstOrDefault(p => p.VarNumber == 40135), AccelerometroINT_1 = par.FirstOrDefault(p => p.VarNumber == 39601), AccelerometroINT_2 = par.FirstOrDefault(p => p.VarNumber == 39602), AccelerometroINT_3 = par.FirstOrDefault(p => p.VarNumber == 39603), HSD_NumCollRilevate = par.FirstOrDefault(p => p.VarNumber == 32234), AccelContatoreINT_2 = par.FirstOrDefault(p => p.VarNumber == 39612), AccelContatoreINT_3 = par.FirstOrDefault(p => p.VarNumber == 39613), TemperSchedaMinutiINT = par.FirstOrDefault(p => p.VarNumber == 39733), TemperSchedaContatoreINT = par.FirstOrDefault(p => p.VarNumber == 39723), TemperStatoreMinutiINT = par.FirstOrDefault(p => p.VarNumber == 39731), TemperStatoreContatoreINT = par.FirstOrDefault(p => p.VarNumber == 39721), TemperCuscinettiMinutiINT = par.FirstOrDefault(p => p.VarNumber == 39732), TemperCuscinettiContatoreINT = par.FirstOrDefault(p => p.VarNumber == 39722) }; } return(result); }
private ChartViewModel GetKpisOptions(MachineInfoModel machine, PeriodModel period) { var options = new ChartViewModel(); var data = _stateService.GetAggregationStates(machine, period, enDataType.Dashboard); var stateProd = data.FirstOrDefault(w => w.enState == enState.Production); var stateManual = data.FirstOrDefault(w => w.enState == enState.Manual); var totalValue = machine.MachineTypeId == (int)enMachineType.Troncatrice || machine.MachineTypeId == (int)enMachineType.CentroLavoro ? stateProd?.ElapsedTime + stateManual?.ElapsedTime : stateProd?.ElapsedTime; var totalOn = data.Where(w => w.enState != enState.Offline).Select(s => s.ElapsedTime).Sum(); decimal?percProd = Common.GetPercentage(totalValue, totalOn); options.series = new List <SerieViewModel>() { new SerieViewModel { stateProductivityGreenThreshold = machine.StateProductivityGreenThreshold ?? 0, stateProductivityYellowThreshold = machine.StateProductivityYellowThreshold ?? 0, y = CommonViewService.getKpiViewModel(percProd, machine.StateProductivityGreenThreshold, machine.StateProductivityYellowThreshold).value ?? (decimal)0 } }; return(options); }
private OtherDataParameterVueModel GetOtherDataVueModel(MachineInfoModel machine) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.OtherMachineData); if (machine.Model.ModelCodev997 == 508) { var result = new OtherDataParameterVueModel { AsseXKm = par.FirstOrDefault(p => p.VarNumber == 700), AsseYKm = par.FirstOrDefault(p => p.VarNumber == 702), AsseZKm = par.FirstOrDefault(p => p.VarNumber == 704), CountRotationA = par.FirstOrDefault(p => p.VarNumber == 706), OreVitaMacchina = par.FirstOrDefault(p => p.VarNumber == 347), OreParzialiDaIngrassaggio = par.FirstOrDefault(p => p.VarNumber == 348), ModelCode = machine.Model.ModelCodev997 }; return(result); } else { var result = new OtherDataParameterVueModel { AsseXKm = par.FirstOrDefault(p => p.VarNumber == 3000), AsseYKm = par.FirstOrDefault(p => p.VarNumber == 3002), AsseZKm = par.FirstOrDefault(p => p.VarNumber == 3004), CountRotationA = par.FirstOrDefault(p => p.VarNumber == 3006), CycleCountXFlow = par.FirstOrDefault(p => p.VarNumber == 3200), OreVitaMacchina = par.FirstOrDefault(p => p.VarNumber == 369), OreParzialiDaIngrassaggio = par.FirstOrDefault(p => p.VarNumber == 365), ModelCode = machine.Model.ModelCodev997 }; return(result); } }
public List <ToolMachineModel> GetTools(MachineInfoModel machine, bool xmodule = false) { List <ToolMachineModel> result = new List <ToolMachineModel>(); try { List <ToolMachine> query = null; if (machine.Type.Id == (int)enMachineType.LineaTaglioLavoro) { Regex regex = new Regex(@"^[1-2]\d{3}$"); if (xmodule) { query = _context.Set <ToolMachine>().Where(w => w.IsActive && w.MachineId == machine.Id).ToList().Where(w => regex.IsMatch(w.Code)).OrderBy(w => w.CodeAsInt).ThenByDescending(w => w.CurrentLife).ToList(); } else { query = _context.Set <ToolMachine>().Where(w => w.IsActive && w.MachineId == machine.Id).ToList().Where(w => !regex.IsMatch(w.Code)).OrderBy(w => w.CodeAsInt).ThenByDescending(w => w.CurrentLife).ToList(); } } else { query = _context.Set <ToolMachine>().Where(w => w.IsActive && w.MachineId == machine.Id).ToList().OrderBy(w => w.CodeAsInt).ThenByDescending(w => w.CurrentLife).ToList(); } result = query.Adapt <List <ToolMachineModel> >(); } catch (Exception ex) { string errMessage = string.Format(ex.GetStringLog(), machine.Id.ToString()); LogService.WriteLog(errMessage, LogService.TypeLevel.Error, ex); } return(result); }
public MultiSpindleParameterVueModel GetMultiSpindleVueModel(MachineInfoModel machine, int?position) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.Multispindle, position ?? 11); var result = GetMultiSpindleVueModelCluster(par, position ?? 11); return(result); }
private MessageVueModel GetVueModel(MachineInfoModel machine, PeriodModel period, string actualMachineGroup = null) { var result = new MessageVueModel(); var data = _messageService.GetAggregationMessages(machine, period, enDataType.Summary, actualMachineGroup); if (data.Count == 0) { return(result); } var messages = data.Select(a => new MessageDataModel() { code = a.Code, type = a.Type != null ? ((enTypeAlarm)a.Type).GetDescription() : "", parameters = a.Params, quantity = a.Count ?? 0, day = a.Day == null ? "-" : a.Day.Value.ToString("t"), description = a.Description }).ToList(); messages = messages.OrderByDescending(o => o.quantity).ToList(); var sorting = new SortingViewModel { duration = enSorting.Descending.GetDescription() }; result.messages = messages; result.sorting = sorting; return(result); }
public List <EfficiencyStateMachineModel> GetDayActivity(MachineInfoModel machine, List <DateTime> days) { var res = new List <EfficiencyStateMachineModel>(); foreach (var day in days) { var result = new EfficiencyStateMachineModel(); var dateTo = day.AddDays(1); result.StatesTime = _context.Set <HistoryState>() .Where(w => w.MachineId == machine.Id && w.Day >= day && w.Day <= dateTo && w.StateId != (int?)enState.Offline && w.Operator != null && w.Shift == null) .GroupBy(g => g.StateId).ToDictionary(s => s.Key, s => s.Sum(x => x.ElapsedTime)); result.TotalTime = 0; if (result.StatesTime != null && result.StatesTime.Count > 0) { result.TotalTime = result.StatesTime.Values.Sum(); } result.machineType = machine.MachineTypeId; result.Day = day; //tot. pezzi prodotti var tmp2 = _context.Set <HistoryPiece>() .Where(w => w.MachineId == machine.Id && w.Day >= day && w.Day <= dateTo && w.Operator != null && w.Shift == null).ToList(); result.CompletedCount = tmp2.Sum(x => x.CompletedCount); res.Add(result); } return(res); }
/// <summary> /// Ritorna l'elenco dei job in base all'aggregazione /// </summary> /// <param name="machine"></param> /// <param name="period"></param> /// <returns>Lista dei dettagli degli stati</returns> public List <HistoryJobModel> GetAggregationJobs(MachineInfoModel machine, PeriodModel period) { var result = new List <HistoryJobModel>(); try { result = _context.Set <HistoryJob>().Where(hb => hb.MachineId == machine.Id && hb.Day >= period.StartDate && hb.Day <= period.EndDate).ToList() .GroupBy(g => new { g.MachineId, g.Code, Day = g.Day.Value.Date }) .Select(n => new HistoryJobModel { Id = n.Max(i => i.Id), Code = n.Key.Code, Day = n.Key.Day, MachineId = n.Key.MachineId, TotalPieces = n.OrderByDescending(i => i.Id).FirstOrDefault()?.TotalPieces, ElapsedTime = n.Max(i => i.ElapsedTime), PiecesProduced = GetProdPieces(n.Max(i => i.Id), n.Key.Day), Period = null }).ToList(); } catch (Exception ex) { var errMessage = string.Format(ex.GetStringLog(), machine.Id.ToString(), string.Concat(period.StartDate.ToString(), " - ", period.EndDate.ToString(), " - ", period.Aggregation.ToString())); LogService.WriteLog(errMessage, LogService.TypeLevel.Error, ex); } return(result); }
private ElectroSpindleParameterVueModel GetElectroSpindleVueModel(MachineInfoModel machine) { var panels = _machineService.GetMachinePanels(machine.Model.Id); ElectroSpindleParameterVueModel result = null; if (panels.Contains((int)enPanel.Electrospindle)) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.Electrospindle); if (machine.Model.ModelCodev997 == 508) { result = new ElectroSpindleParameterVueModel { OreLavoroTotali = par.FirstOrDefault(p => p.VarNumber == 714), SblocchiPinza = par.FirstOrDefault(p => p.VarNumber == 103), RpmRange1500 = par.FirstOrDefault(p => p.VarNumber == 750), RpmRange5500 = par.FirstOrDefault(p => p.VarNumber == 752), RpmRange8000 = par.FirstOrDefault(p => p.VarNumber == 754), RpmRange11500 = par.FirstOrDefault(p => p.VarNumber == 756), RpmRange14500 = par.FirstOrDefault(p => p.VarNumber == 758), RpmRange20000 = par.FirstOrDefault(p => p.VarNumber == 760), ShowSovrassorbimento = false }; } else { result = new ElectroSpindleParameterVueModel { OreLavoroTotali = par.FirstOrDefault(p => p.VarNumber == 3012), SblocchiPinza = par.FirstOrDefault(p => p.VarNumber == 103), QtaSovrassorbimento = par.FirstOrDefault(p => p.VarNumber == 3024), RpmRange1500 = par.FirstOrDefault(p => p.VarNumber == 3030), RpmRange5500 = par.FirstOrDefault(p => p.VarNumber == 3032), RpmRange8000 = par.FirstOrDefault(p => p.VarNumber == 3034), RpmRange11500 = par.FirstOrDefault(p => p.VarNumber == 3036), RpmRange14500 = par.FirstOrDefault(p => p.VarNumber == 3038), RpmRange20000 = par.FirstOrDefault(p => p.VarNumber == 3040), ShowSovrassorbimento = true }; } } else if (panels.Contains((int)enPanel.XSpindles)) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.XSpindles); result = new ElectroSpindleParameterVueModel { OreLavoroTotali = par.FirstOrDefault(p => p.VarNumber == 40162), SblocchiPinza = par.FirstOrDefault(p => p.VarNumber == 40300), RpmRange1500 = par.FirstOrDefault(p => p.VarNumber == 40121), RpmRange5500 = par.FirstOrDefault(p => p.VarNumber == 40122), RpmRange8000 = par.FirstOrDefault(p => p.VarNumber == 40123), RpmRange11500 = par.FirstOrDefault(p => p.VarNumber == 40124), RpmRange14500 = par.FirstOrDefault(p => p.VarNumber == 40125), RpmRange20000 = par.FirstOrDefault(p => p.VarNumber == 40126), ShowSovrassorbimento = false }; } return(result); }
private AxesLmxParameterVueModel GetLinearAxesLmxVueModel(MachineInfoModel machine) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.LinearAxesLMX); var result = new AxesLmxParameterVueModel { AxesLmx = par.OrderBy(n => n.VarNumber).ToList() }; return(result); }
public List <MessageMachineModel> GetMaintenanceNotifications(MachineInfoModel machine, PeriodModel period, string userId) { var notificationsUser = GetMaintenanceMessages(machine, period); var notificationsRead = _context.Set <MessageMachineNotification>().Where(n => n.UserId == userId) .Select(nu => nu.IdMessageMachine).ToList(); notificationsUser = notificationsUser.Where(o => notificationsRead.All(i => i != o.Id)).OrderBy(n => n.Day) .ToList(); return(notificationsUser); }
public List <MessageMachineModel> GetMaintenanceMessages(MachineInfoModel machine, PeriodModel period) { var result = new List <MessageMachineModel>(); try { var query = _context.Set <MessageMachine>().Where(m => m.MachineId == machine.Id && m.Machine.ActivationDate != null && m.MessagesIndex.IsPeriodicM && m.IgnoreDate == null && !m.MessagesIndex.IsDisabled) .ToList(); query = query.GroupBy(g => g.MessagesIndexId) .Select(s => new MessageMachine { Day = s.Max(i => i.Day), MessagesIndexId = s.Key, Operator = s.OrderByDescending(i => i.Day).FirstOrDefault()?.Operator, Id = s.OrderByDescending(i => i.Day).FirstOrDefault()?.Id ?? 0, IgnoreDate = s.OrderByDescending(i => i.Day).FirstOrDefault()?.IgnoreDate, MachineId = machine.Id, Machine = _context.Set <Machine>().Find(machine.Id) }).ToList() .OrderByDescending(o => o.Day).ToList(); query = query.Where(m => { var msg = _context.Set <MessagesIndex>().Find(m.MessagesIndexId); if (msg == null) { return(false); } var span = msg.PeriodicSpan ?? 0; m.MessagesIndex = msg; return(span > 0 && m.Machine.ActivationDate?.AddHours(span) <= DateTime.UtcNow || span == 0); }).ToList(); var cl = _languageService.GetCurrentLanguage() ?? 0; result = query.BuildAdapter().AddParameters("idLanguage", cl).AdaptToType <List <MessageMachineModel> >(); } catch (Exception ex) { var errMessage = string.Format(ex.GetStringLog(), machine.Id.ToString(), string.Concat(period.StartDate.ToString(), " - ", period.EndDate.ToString(), " - ", period.Aggregation.ToString())); LogService.WriteLog(errMessage, LogService.TypeLevel.Error, ex); } return(result); }
private SensorSpindlesAxelParameterVueModel GetSensorsAxelVueModel(MachineInfoModel machine) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.AXEL_Sp_Sensors); var result = new SensorSpindlesAxelParameterVueModel { TempoSovraAssorbimento = par.FirstOrDefault(p => p.VarNumber == 2616), QtaSovrassorbimento = par.FirstOrDefault(p => p.VarNumber == 2624), TempoSovraTemperatura = par.FirstOrDefault(p => p.VarNumber == 2618), QtaSovraTemperatura = par.FirstOrDefault(p => p.VarNumber == 2626), NumSblocchiPinza = par.FirstOrDefault(p => p.VarNumber == 103) }; return(result); }
private OtheDataAxelVueModel GetOtherDataAxelVueModel(MachineInfoModel machine) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.AXEL5_MachineData); var result = new OtheDataAxelVueModel { ClickIsolaSx = par.FirstOrDefault(p => p.VarNumber == 2620), ClickIsolaDx = par.FirstOrDefault(p => p.VarNumber == 2622), OreVitaMacchina = par.FirstOrDefault(p => p.VarNumber == 347), OreUltimoIngrassaggio = par.FirstOrDefault(p => p.VarNumber == 348), KmMorse = par.Where(p => p.VarNumber >= 500 && p.VarNumber <= 522).ToList() }; return(result); }
private OtherDataLmxParameterVueModel GetOtherDataLmxVueModel(MachineInfoModel machine) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.OtherMachineDataLmx); var result = new OtherDataLmxParameterVueModel { OreVitaMacchina = par.FirstOrDefault(p => p.VarNumber == 542), OreUltimoIngr = par.FirstOrDefault(p => p.VarNumber == 20095), NumBarreCaricate = par.FirstOrDefault(p => p.VarNumber == 544), EtiMancanti = par.FirstOrDefault(p => p.VarNumber == 40402), EtiPerse = par.FirstOrDefault(p => p.VarNumber == 40400), EtiStampate = par.FirstOrDefault(p => p.VarNumber == 40401) }; return(result); }
private ToolWarehouseVueModel GetToolsWarehouseAxelVueModel(MachineInfoModel machine) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.AXEL_ToolW); var lista = par.Select(n => new ToolWarehouseValueModel { Code = n.Cluster, Value = n.ConvertedValue }).ToList(); var result = new ToolWarehouseVueModel { toolsWharehouse = lista }; return(result); }
private AxisAxelVueModel GetAxesAxelVueModel(MachineInfoModel machine) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.AXEL5_Axes); var result = new AxisAxelVueModel { AsseX = par.FirstOrDefault(p => p.VarNumber == 2600), AsseY = par.FirstOrDefault(p => p.VarNumber == 2602), AsseZ = par.FirstOrDefault(p => p.VarNumber == 2604), AsseRotA = par.FirstOrDefault(p => p.VarNumber == 2610), AsseRotC = par.FirstOrDefault(p => p.VarNumber == 2606), AsseRotD = par.FirstOrDefault(p => p.VarNumber == 2608) }; return(result); }
public List <ParameterMachineValueModel> GetParameters(MachineInfoModel machine, int idPanel, int?idCluster = null) { var result = new List <ParameterMachineValueModel>(); //var parametersValues = _parameterMachineValueRepository.Get(p => p.MachineId == machine.Id, tracked: false).GroupBy(g => g.VarNumber); var parametersValues = _parameterMachineValueRepository.GetByParameters(machine.Id, idPanel, idCluster); var varNums = new Dictionary <string, ParameterMachineValueModel>(); foreach (var i in parametersValues) { varNums.Add(i.VarNumber, i.BuildAdapter().AdaptToType <ParameterMachineValueModel>()); } //se ci sono dati cerco tutti i parametri di quel modello per avere almeno le descrizioni //if(varNums.Any()) { var parametri = _parameterMachineRepository.GetByParameters(machine.MachineModelId ?? 0).Where(p => p.PanelId == idPanel && (idCluster == null || p.Cluster == idCluster.ToString())).OrderBy(pp => pp.VarNumber).ToList(); foreach (var pm in parametri) { if (varNums.ContainsKey(pm.VarNumber)) { result.Add(varNums[pm.VarNumber]); } else { var ve = new ParameterMachineValueModel { VarNumber = int.Parse(pm.VarNumber), Description = LocalizationService.GetResource(pm.Keyword), Value = pm.DefaultValue, Cluster = pm.Cluster, Keyword = pm.Keyword, CnUm = pm.CnUm, HmiUm = pm.HmiUm }; result.Add(ve); } } } return(result); }
private ToolVueModel GetVueModel(MachineInfoModel machine, bool xmodule = false) { ToolVueModel result = new ToolVueModel(); List <ToolMachineModel> data = _toolService.GetTools(machine, xmodule); List <ToolMachineModel> dataTools = data.Where(w => w.IsActive).ToList(); //List<ToolMachineModel> dataHistorical = data.Where(w => w.IsActive == false).ToList(); if (dataTools.Count == 0) { return(result); } var lan = _contextService.GetContext().ActualLanguage.InitialsLanguage; List <ToolDataModel> tools = dataTools.Select(t => new ToolDataModel() { code = t.Code, description = t.Description, perc = Common.GetPercentage(t.CurrentLife, t.ExpectedLife), changes = new ChangeModel() { //total = (t.BrokenEventsCount ?? 0) + (t.RevisedEventsCount ?? 0), breaking = 0, replacement = 0, //historical = dataHistorical.Where(w => w.Code == t.Code).Select(h => new HistoricalModel() //{ // date = h.DateReplaced.ToString(), // type = CommonViewService.GetTypeTool(h).ToLocalizedString(lan), // color_type = CommonViewService.GetTypeTool(h).GetDescription(), // duration = CommonViewService.getTimeViewModel(h.CurrentLife) //}).OrderByDescending(o => o.date).ToList() }, time = CommonViewService.getTimeViewModel((t.ExpectedLife ?? 0) - (t.CurrentLife ?? 0)) }).ToList(); tools = tools.OrderByDescending(o => o.perc).ToList(); SortingViewModel sorting = new SortingViewModel(); sorting.time = enSorting.Descending.GetDescription(); result.tools = tools; result.sorting = sorting; return(result); }
private MotorBladeLmxParameterVueModel GetMotorBladeLmxVueModel(MachineInfoModel machine) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.MotorBladeLMX); var result = new MotorBladeLmxParameterVueModel { RpmRange1500 = par.FirstOrDefault(p => p.VarNumber == 40111), RpmRange2500 = par.FirstOrDefault(p => p.VarNumber == 40112), RpmRange3000 = par.FirstOrDefault(p => p.VarNumber == 40113), TempoSovraAss = par.FirstOrDefault(p => p.VarNumber == 40115), QtaSovraAss = par.FirstOrDefault(p => p.VarNumber == 40118), TempoTot = par.FirstOrDefault(p => p.VarNumber == 40161), TagliLamaTot = par.FirstOrDefault(p => p.VarNumber == 543), TagliLamaPar = par.FirstOrDefault(p => p.VarNumber == 551) }; return(result); }
public MachineInfoModel GetMachineInfo(int machineId) { var result = new MachineInfoModel(); try { var query = _machineRepository.GetByID(machineId); result = query.Adapt <MachineInfoModel>(); } catch (Exception ex) { var errMessage = string.Format(ex.GetStringLog(), machineId.ToString()); LogService.WriteLog(errMessage, LogService.TypeLevel.Error, ex); } return(result); }
private AxesKeopeParameterVueModel GetAxesVueModelKeope(MachineInfoModel machine) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.KeopeAxes); var result = new AxesKeopeParameterVueModel { axes = par.Where(p => p.VarNumber == 450 || p.VarNumber == 452 || p.VarNumber == 454 || p.VarNumber == 456 || p.VarNumber == 458).OrderBy(n => n.VarNumber).ToList() }; foreach (var ax in result.axes) { ax.Value = double.IsNaN(double.Parse(ax.Value)) ? "" : ax.ConvertedDistanceValue(); } return(result); }
private JobVueModel GetVueModel(MachineInfoModel machine, PeriodModel period) { var result = new JobVueModel(); var data = _jobService.GetAggregationJobs(machine, period); if (data.Count == 0) { return(result); } CurrentStateModel currentState = null; if (machine.Model.Name.ToUpper().Contains("FMC") || (machine.Model.Name.ToUpper().Contains("LMX"))) { currentState = GetCurrentState(machine.Id); } var jobs = data.Select(j => new JobDataModel() { code = j.Code, perc = getPercent(j), time = CommonViewService.getTimeViewModel(j.ElapsedTime), quantity = j.PiecesProduced ?? 0, pieces = j.TotalPieces != null && (j.TotalPieces > 0 && !j.Code.ToUpper().StartsWith("M#2")) ? (int)j.TotalPieces : (int)j.PiecesProduced, day = j.Day.GetValueOrDefault(), ResidueWorkingTimeJob = getResTime(currentState, j) }).ToList(); jobs = jobs.OrderBy(o => o.perc).ToList(); var sorting = new SortingViewModel { progress = enSorting.Ascending.GetDescription() }; result.jobs = jobs; result.sorting = sorting; return(result); }
private ToolsFmcLmxParameterVueModel GetToolsFmcLmxVueModel(MachineInfoModel context, int panel) { var par = _parameterMachineService.GetParameters(context, panel); bool xmodule = panel == (int)enPanel.XmuToolsLmx; var tools = _toolsService.GetTools(context, xmodule).Where(n => n.IsActive); var dtos = tools.Select(n => new ToolParameterMachineValueModel { Code = par.FirstOrDefault(p => p.Cluster == n.Code)?.Cluster ?? n.Code, Description = n.Description, ElapsedLife = par.FirstOrDefault(p => p.Cluster == n.Code)?.ConvertedValue }).ToList(); var result = new ToolsFmcLmxParameterVueModel { ToolsInfo = dtos, PanelId = panel }; return(result); }
private RotaryAxesParameterVueModel GetRotaryAxesVueModel(MachineInfoModel machine) { var panels = _machineService.GetMachinePanels(machine.Model.Id); RotaryAxesParameterVueModel result = null; if (panels.Contains((int)enPanel.RotaryAxesLMX)) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.RotaryAxesLMX); result = new RotaryAxesParameterVueModel { NrotazioniAsse3C1 = par.FirstOrDefault(p => p.VarNumber == 308), NrotazioniAsse3C2 = par.FirstOrDefault(p => p.VarNumber == 309), NsblocchiForc1 = par.FirstOrDefault(p => p.VarNumber == 40301), NsblocchiForc2 = par.FirstOrDefault(p => p.VarNumber == 40302), NsblocchiForc3 = par.FirstOrDefault(p => p.VarNumber == 40303) }; } return(result); }
public List <EfficiencyStateMachineModel> GetOperatorsActivity(MachineInfoModel machine, DateTime dateFrom, DateTime dateTo) { var tmp = _context.Set <HistoryState>() .Where(w => w.MachineId == machine.Id && w.Day >= dateFrom && w.Day <= dateTo && w.Operator != null && w.Operator != "Other" && w.StateId != (int?)enState.Offline && w.Shift == null) .GroupBy(g => g.Operator).ToList(); var totTime = tmp.Select(s => new EfficiencyStateMachineModel { TotalTime = s.Sum(x => x.ElapsedTime), Operator = s.Key, machineType = machine.MachineTypeId }).ToList(); if (totTime.Count > 0) { foreach (var item in totTime) { //tot. pezzi prodotti var tmp2 = _context.Set <HistoryPiece>() .Where(w => w.MachineId == machine.Id && w.Day >= dateFrom && w.Day <= dateTo && w.Operator == item.Operator && w.Shift == null && w.Operator != null).ToList(); item.CompletedCount = tmp2.GroupBy(g => g.Operator) .Select(s => s.Sum(x => x.CompletedCount)).FirstOrDefault(); //tempo netto var tmp3 = _context.Set <HistoryState>() .Where(w => w.MachineId == machine.Id && w.Day >= dateFrom && w.Day <= dateTo && w.Operator == item.Operator && w.Shift == null && w.Operator != null && (w.StateId == (int)enState.Production || w.StateId == (int)enState.Manual)) .ToList(); item.StatesTime = tmp3.GroupBy(g => g.StateId) .ToDictionary(s => s.Key, s => s.Sum(x => x.ElapsedTime)); } } return(totTime); }
private TiltingAxesParameterVueModel GetTiltingAxesVueModel(MachineInfoModel machine) { var panels = _machineService.GetMachinePanels(machine.Model.Id); TiltingAxesParameterVueModel result = null; if (panels.Contains((int)enPanel.TiltingMSAxesLMX)) { var par = _parameterMachineService.GetParameters(machine, (int)enPanel.TiltingMSAxesLMX); result = new TiltingAxesParameterVueModel { NrotazioniAsse2A1 = par.FirstOrDefault(p => p.VarNumber == 302), NrotazioniAsse2A2 = par.FirstOrDefault(p => p.VarNumber == 303), NrotazioniAsse2A3 = par.FirstOrDefault(p => p.VarNumber == 304), NrotazioniAsse2A4 = par.FirstOrDefault(p => p.VarNumber == 305), NrotazioniAsse2A5 = par.FirstOrDefault(p => p.VarNumber == 306), NrotazioniAsse2A6 = par.FirstOrDefault(p => p.VarNumber == 307) }; } return(result); }