ajustes para receber parametros do rover
This commit is contained in:
parent
8ee9368c8b
commit
6f2a5181fc
|
|
@ -127,6 +127,7 @@ namespace OperationControl.Controls
|
||||||
|
|
||||||
public event EventHandler<StreetMapClickedEventArgs>? StreetMapClicked;
|
public event EventHandler<StreetMapClickedEventArgs>? StreetMapClicked;
|
||||||
private bool ParametrizandoOperacao =>
|
private bool ParametrizandoOperacao =>
|
||||||
|
(VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Modo ?? ModoOperacao.NaoDefinido) == ModoOperacao.MapaGPS &&
|
||||||
!(VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Iniciada ?? false) &&
|
!(VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Iniciada ?? false) &&
|
||||||
(VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Status ?? StatusOperacao.NaoIniciado) == StatusOperacao.Parametrizando &&
|
(VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Status ?? StatusOperacao.NaoIniciado) == StatusOperacao.Parametrizando &&
|
||||||
((App)System.Windows.Application.Current).Shell.Dock?._vm?._viewOperacaoRight?._vm?.SecaoAtual == ViewModels.Views.Operacao.SecaoRightBar.Parametrizacao;
|
((App)System.Windows.Application.Current).Shell.Dock?._vm?._viewOperacaoRight?._vm?.SecaoAtual == ViewModels.Views.Operacao.SecaoRightBar.Parametrizacao;
|
||||||
|
|
|
||||||
|
|
@ -186,11 +186,13 @@ namespace OperationControl.Models
|
||||||
var obj = JsonConvert.DeserializeObject<OperacaoParametrosModel>(json);
|
var obj = JsonConvert.DeserializeObject<OperacaoParametrosModel>(json);
|
||||||
lock (_RoversLock)
|
lock (_RoversLock)
|
||||||
{
|
{
|
||||||
var rover = RoversNaRede.FirstOrDefault(x => x.RoverId == device_id);
|
var index = RoversNaRede.FindIndex(x => x.RoverId == device_id);
|
||||||
if (rover != null)
|
if (index >= 0)
|
||||||
{
|
{
|
||||||
rover = obj;
|
var logs = RoversNaRede[index].DadosLeitura?.Logs ?? new List<OperacaoSensoriamentoLogErrosModel>();
|
||||||
rover.UltimoContato = DateTime.Now;
|
obj.UltimoContato = DateTime.Now;
|
||||||
|
obj.DadosLeitura.Logs.AddRange(logs);
|
||||||
|
RoversNaRede[index] = obj;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
((App)Application.Current).Shell.Main?.AtualizarDadosTela_ParametrosOperacao(obj.Controle);
|
((App)Application.Current).Shell.Main?.AtualizarDadosTela_ParametrosOperacao(obj.Controle);
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using AgroBase.Models.Operacoes;
|
using AgroBase.Models.Operacoes;
|
||||||
using OperationControl.Controls;
|
using OperationControl.Controls;
|
||||||
using OperationControl.Helpers;
|
using OperationControl.Helpers;
|
||||||
|
using OperationControl.Models;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
|
||||||
|
|
@ -23,11 +24,23 @@ namespace OperationControl.ViewModels.Views.Operacao.Monitoramento
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool _operacaoConcluida;
|
||||||
|
public bool OperacaoConcluida
|
||||||
|
{
|
||||||
|
get => _operacaoConcluida;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_operacaoConcluida = value;
|
||||||
|
OnPropertyChanged(nameof(OperacaoConcluida));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ParametrizacaoViewModel()
|
public ParametrizacaoViewModel()
|
||||||
{
|
{
|
||||||
CarregarParametrosPadraoCommand = new RelayCommand(p => CarregarParametrosPadrao((AgroBase.Models.Enums.ModoOperacao)p));
|
CarregarParametrosPadraoCommand = new RelayCommand(p => CarregarParametrosPadrao((AgroBase.Models.Enums.ModoOperacao)p));
|
||||||
LerParametrosCommand = new RelayCommand(_ => LerParametrosSolicitado?.Invoke());
|
LerParametrosCommand = new RelayCommand(_ => LerParametrosSolicitado?.Invoke());
|
||||||
SalvarParametrosCommand = new RelayCommand(_ => SalvarParametrosSolicitado?.Invoke(Parametros));
|
SalvarParametrosCommand = new RelayCommand(_ => SalvarParametrosSolicitado?.Invoke(Parametros));
|
||||||
|
ReiniciarOperacaoCommand = new RelayCommand(_ => ReiniciarOperacao());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -36,6 +49,7 @@ namespace OperationControl.ViewModels.Views.Operacao.Monitoramento
|
||||||
public ICommand LerParametrosCommand { get; }
|
public ICommand LerParametrosCommand { get; }
|
||||||
public ICommand SalvarParametrosCommand { get; }
|
public ICommand SalvarParametrosCommand { get; }
|
||||||
public ICommand CarregarParametrosPadraoCommand { get; }
|
public ICommand CarregarParametrosPadraoCommand { get; }
|
||||||
|
public ICommand ReiniciarOperacaoCommand { get; }
|
||||||
public Array ModosOperacaoDisponiveis { get; } = Enum.GetValues(typeof(AgroBase.Models.Enums.ModoOperacao));
|
public Array ModosOperacaoDisponiveis { get; } = Enum.GetValues(typeof(AgroBase.Models.Enums.ModoOperacao));
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -46,10 +60,16 @@ namespace OperationControl.ViewModels.Views.Operacao.Monitoramento
|
||||||
Parametros = p;
|
Parametros = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ReiniciarOperacao()
|
||||||
|
{
|
||||||
|
VariaveisControleOperacao.EnviarComandoIniciarOperacao(false, false);
|
||||||
|
}
|
||||||
|
|
||||||
public void AtualizarParametros(OperacaoParametrosModel origem)
|
public void AtualizarParametros(OperacaoParametrosModel origem)
|
||||||
{
|
{
|
||||||
if (origem == null) return;
|
if (origem == null) return;
|
||||||
Parametros = origem;
|
Parametros = origem;
|
||||||
|
OperacaoConcluida = (VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Status ?? AgroBase.Models.Enums.StatusOperacao.NaoIniciado) == AgroBase.Models.Enums.StatusOperacao.Concluido;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ProcessarStreetMapClicked(MapViewControl.StreetMapClickedEventArgs e)
|
public void ProcessarStreetMapClicked(MapViewControl.StreetMapClickedEventArgs e)
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,7 @@ namespace OperationControl.ViewModels.Views.Operacao
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!((VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Modo ?? AgroBase.Models.Enums.ModoOperacao.NaoDefinido) == AgroBase.Models.Enums.ModoOperacao.Manual) && !(VariaveisControleOperacao.RoverEmFoco?.RuasPercorrer?.Any() ?? false))
|
if (((VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Modo ?? AgroBase.Models.Enums.ModoOperacao.NaoDefinido) == AgroBase.Models.Enums.ModoOperacao.MapaGPS) && !(VariaveisControleOperacao.RoverEmFoco?.RuasPercorrer?.Any() ?? false))
|
||||||
{
|
{
|
||||||
System.Windows.MessageBox.Show("Para iniciar a operação automática, é necessário carregar um mapa e selecionar as ruas onde o equipamento irá operar!", "Parametrização", MessageBoxButton.OK, MessageBoxImage.Warning);
|
System.Windows.MessageBox.Show("Para iniciar a operação automática, é necessário carregar um mapa e selecionar as ruas onde o equipamento irá operar!", "Parametrização", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -130,16 +130,7 @@ namespace OperationControl.ViewModels.Views.Operacao
|
||||||
{
|
{
|
||||||
var rover = Rovers.FirstOrDefault(x => x.NumeroSerie == roverId);
|
var rover = Rovers.FirstOrDefault(x => x.NumeroSerie == roverId);
|
||||||
RoverSelecionado = rover;
|
RoverSelecionado = rover;
|
||||||
|
SelecionarSecao(RoverSelecionado != null ? SecaoRightBar.Menu : SecaoRightBar.SemRoverSelecionado);
|
||||||
if (RoverSelecionado != null)
|
|
||||||
{
|
|
||||||
VariaveisControleOperacao.RequisitarParametrosOperacao();
|
|
||||||
SelecionarSecao(SecaoRightBar.Menu);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SelecionarSecao(SecaoRightBar.SemRoverSelecionado);
|
|
||||||
}
|
|
||||||
RoverSelecionadoChanged?.Invoke(rover);
|
RoverSelecionadoChanged?.Invoke(rover);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -943,7 +943,6 @@ namespace OperationControl.ViewModels
|
||||||
_viewOperacaoCenter?.Monitoramento?.PararStreamCameraErvas();
|
_viewOperacaoCenter?.Monitoramento?.PararStreamCameraErvas();
|
||||||
VariaveisControleOperacao.EnviarComandoIniciarUDP(VariaveisControleOperacao.RoverEmFoco?.IP, false);
|
VariaveisControleOperacao.EnviarComandoIniciarUDP(VariaveisControleOperacao.RoverEmFoco?.IP, false);
|
||||||
}
|
}
|
||||||
VariaveisControleOperacao.RoverEmFoco?.RuasPercorrer?.Clear();
|
|
||||||
AtualizarDadosMapa(VariaveisControleOperacao.RoverEmFoco);
|
AtualizarDadosMapa(VariaveisControleOperacao.RoverEmFoco);
|
||||||
VariaveisControleOperacao.SelectedRoverId = VariaveisControleOperacao.BaseMarkerID;
|
VariaveisControleOperacao.SelectedRoverId = VariaveisControleOperacao.BaseMarkerID;
|
||||||
_viewOperacaoCenter?.Mapa?.markers?.SetMarkerFocused(VariaveisControleOperacao.SelectedRoverId, true);
|
_viewOperacaoCenter?.Mapa?.markers?.SetMarkerFocused(VariaveisControleOperacao.SelectedRoverId, true);
|
||||||
|
|
@ -959,7 +958,6 @@ namespace OperationControl.ViewModels
|
||||||
_viewOperacaoCenter?.Mapa?.markers?.SetMarkerFocused(VariaveisControleOperacao.SelectedRoverId, true);
|
_viewOperacaoCenter?.Mapa?.markers?.SetMarkerFocused(VariaveisControleOperacao.SelectedRoverId, true);
|
||||||
AtualizarDadosTela(VariaveisControleOperacao.RoverEmFoco);
|
AtualizarDadosTela(VariaveisControleOperacao.RoverEmFoco);
|
||||||
|
|
||||||
VariaveisControleOperacao.RequisitarParametrosOperacao();
|
|
||||||
_viewOperacaoCenter?.Monitoramento?.IniciarStreamCameraFrontal();
|
_viewOperacaoCenter?.Monitoramento?.IniciarStreamCameraFrontal();
|
||||||
_viewOperacaoCenter?.Monitoramento?.IniciarStreamCameraErvas();
|
_viewOperacaoCenter?.Monitoramento?.IniciarStreamCameraErvas();
|
||||||
VariaveisControleOperacao.EnviarComandoIniciarUDP(VariaveisControleOperacao.RoverEmFoco?.IP, true);
|
VariaveisControleOperacao.EnviarComandoIniciarUDP(VariaveisControleOperacao.RoverEmFoco?.IP, true);
|
||||||
|
|
@ -969,12 +967,14 @@ namespace OperationControl.ViewModels
|
||||||
AtualizarDadosMapa(VariaveisControleOperacao.RoverEmFoco);
|
AtualizarDadosMapa(VariaveisControleOperacao.RoverEmFoco);
|
||||||
|
|
||||||
AtualizarBarraSuperior(VariaveisControleOperacao.RoverEmFoco);
|
AtualizarBarraSuperior(VariaveisControleOperacao.RoverEmFoco);
|
||||||
|
|
||||||
|
VariaveisControleOperacao.RequisitarParametrosOperacao();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void OnSecaoSelecionadaChanged(SecaoRightBar secao)
|
private void OnSecaoSelecionadaChanged(SecaoRightBar secao)
|
||||||
{
|
{
|
||||||
if (secao == SecaoRightBar.Parametrizacao)
|
if (secao == SecaoRightBar.Parametrizacao)
|
||||||
_viewOperacaoRight?.areaParametrizacao?._vm?.AtualizarParametros(VariaveisControleOperacao.RoverEmFoco);
|
VariaveisControleOperacao.RequisitarParametrosOperacao();
|
||||||
_viewOperacaoCenter?._vm?.DefinirSecao(secao);
|
_viewOperacaoCenter?._vm?.DefinirSecao(secao);
|
||||||
AtualizarDadosMapa(VariaveisControleOperacao.RoverEmFoco);
|
AtualizarDadosMapa(VariaveisControleOperacao.RoverEmFoco);
|
||||||
}
|
}
|
||||||
|
|
@ -991,7 +991,7 @@ namespace OperationControl.ViewModels
|
||||||
var dadosMapa = _viewOperacaoCenter?.Mapa?.CriarDadosMapa();
|
var dadosMapa = _viewOperacaoCenter?.Mapa?.CriarDadosMapa();
|
||||||
var ruasPercorrer = _viewOperacaoCenter?.Mapa?.RuasMapaCarregado?.Where(x => x.Selected)?.Select(x => x.Id)?.ToList() ?? new List<string>();
|
var ruasPercorrer = _viewOperacaoCenter?.Mapa?.RuasMapaCarregado?.Where(x => x.Selected)?.Select(x => x.Id)?.ToList() ?? new List<string>();
|
||||||
|
|
||||||
if ((dadosMapa?.features?.Count ?? 0) == 0 || !ruasPercorrer.Any())
|
if (parametros.Modo == AgroBase.Models.Enums.ModoOperacao.MapaGPS && ((dadosMapa?.features?.Count ?? 0) == 0 || !ruasPercorrer.Any()))
|
||||||
{
|
{
|
||||||
System.Windows.MessageBox.Show("Selecione as ruas no mapa onde o equipamento irá operar", "Ruas não selecionadas", MessageBoxButton.OK, MessageBoxImage.Warning);
|
System.Windows.MessageBox.Show("Selecione as ruas no mapa onde o equipamento irá operar", "Ruas não selecionadas", MessageBoxButton.OK, MessageBoxImage.Warning);
|
||||||
return;
|
return;
|
||||||
|
|
@ -1015,33 +1015,28 @@ namespace OperationControl.ViewModels
|
||||||
ModulosMandatorios = parametros?.ModulosMandatorios,
|
ModulosMandatorios = parametros?.ModulosMandatorios,
|
||||||
ParametrosMandatorios = parametros?.ParametrosMandatorios,
|
ParametrosMandatorios = parametros?.ParametrosMandatorios,
|
||||||
|
|
||||||
RuasPercorrer = _viewOperacaoCenter?.Mapa?.RuasMapaCarregado?.Where(x => x.Selected)?.Select(x => x.Id)?.ToList(),
|
RuasPercorrer = ruasPercorrer,
|
||||||
Mapa = _viewOperacaoCenter?.Mapa?.CriarDadosMapa()
|
Mapa = dadosMapa
|
||||||
};
|
};
|
||||||
|
|
||||||
VariaveisControleOperacao.EnviarParametrosOperacao(novosParametros);
|
VariaveisControleOperacao.EnviarParametrosOperacao(novosParametros);
|
||||||
|
|
||||||
VariaveisControleOperacao.RoverEmFoco.Modo = novosParametros.Modo;
|
//VariaveisControleOperacao.RoverEmFoco.Modo = novosParametros.Modo;
|
||||||
VariaveisControleOperacao.RoverEmFoco.Descricao = novosParametros.Descricao;
|
//VariaveisControleOperacao.RoverEmFoco.Descricao = novosParametros.Descricao;
|
||||||
VariaveisControleOperacao.RoverEmFoco.QtdCamerasSolo = novosParametros.QtdCamerasSolo;
|
//VariaveisControleOperacao.RoverEmFoco.QtdCamerasSolo = novosParametros.QtdCamerasSolo;
|
||||||
VariaveisControleOperacao.RoverEmFoco.QtdBicos = novosParametros.QtdBicos;
|
//VariaveisControleOperacao.RoverEmFoco.QtdBicos = novosParametros.QtdBicos;
|
||||||
VariaveisControleOperacao.RoverEmFoco.CapacidadeReservatorio = novosParametros.CapacidadeReservatorio;
|
//VariaveisControleOperacao.RoverEmFoco.CapacidadeReservatorio = novosParametros.CapacidadeReservatorio;
|
||||||
|
//VariaveisControleOperacao.RoverEmFoco.Controle = novosParametros.Controle;
|
||||||
|
//VariaveisControleOperacao.RoverEmFoco.ModulosMandatorios = novosParametros.ModulosMandatorios;
|
||||||
|
//VariaveisControleOperacao.RoverEmFoco.ParametrosMandatorios = novosParametros.ParametrosMandatorios;
|
||||||
|
//VariaveisControleOperacao.RoverEmFoco.RuasPercorrer = novosParametros.RuasPercorrer;
|
||||||
|
//VariaveisControleOperacao.RoverEmFoco.Mapa = novosParametros.Mapa;
|
||||||
|
|
||||||
VariaveisControleOperacao.RoverEmFoco.Controle = novosParametros.Controle;
|
//Task.Run(async () =>
|
||||||
|
//{
|
||||||
VariaveisControleOperacao.RoverEmFoco.ModulosMandatorios = novosParametros.ModulosMandatorios;
|
// await Task.Delay(1000);
|
||||||
VariaveisControleOperacao.RoverEmFoco.ParametrosMandatorios = novosParametros.ParametrosMandatorios;
|
// _viewOperacaoRight?._vm?.SelecionarSecao(SecaoRightBar.Diagnostico);
|
||||||
|
//});
|
||||||
VariaveisControleOperacao.RoverEmFoco.RuasPercorrer = novosParametros.RuasPercorrer;
|
|
||||||
VariaveisControleOperacao.RoverEmFoco.Mapa = novosParametros.Mapa;
|
|
||||||
|
|
||||||
VariaveisControleOperacao.RequisitarParametrosOperacao();
|
|
||||||
|
|
||||||
Task.Run(async () =>
|
|
||||||
{
|
|
||||||
await Task.Delay(1000);
|
|
||||||
_viewOperacaoRight?._vm?.SelecionarSecao(SecaoRightBar.Diagnostico);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:local="clr-namespace:OperationControl.Views.Operacao"
|
xmlns:local="clr-namespace:OperationControl.Views.Operacao"
|
||||||
mc:Ignorable="d" >
|
mc:Ignorable="d" >
|
||||||
|
<UserControl.Resources>
|
||||||
|
<BooleanToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
|
||||||
|
</UserControl.Resources>
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.Resources>
|
<Grid.Resources>
|
||||||
<Style x:Key="ParamLabelStyle" TargetType="TextBlock">
|
<Style x:Key="ParamLabelStyle" TargetType="TextBlock">
|
||||||
|
|
@ -69,6 +72,7 @@
|
||||||
<ComboBox ItemsSource="{Binding ModosOperacaoDisponiveis}" SelectedItem="{Binding Parametros.Modo, Mode=TwoWay}" SelectionChanged="cmbModoOperacao_SelectionChanged" />
|
<ComboBox ItemsSource="{Binding ModosOperacaoDisponiveis}" SelectedItem="{Binding Parametros.Modo, Mode=TwoWay}" SelectionChanged="cmbModoOperacao_SelectionChanged" />
|
||||||
<TextBlock Text="Descrição" Style="{StaticResource ParamLabelStyle}"/>
|
<TextBlock Text="Descrição" Style="{StaticResource ParamLabelStyle}"/>
|
||||||
<TextBox Text="{Binding Parametros.Descricao}" Style="{StaticResource ParamTextBoxStyle}" Margin="0,0,0,0"/>
|
<TextBox Text="{Binding Parametros.Descricao}" Style="{StaticResource ParamTextBoxStyle}" Margin="0,0,0,0"/>
|
||||||
|
<Button Content="Reiniciar Operação" Command="{Binding ReiniciarOperacaoCommand}" Visibility="{Binding OperacaoConcluida, Converter={StaticResource BoolToVisibilityConverter}}" Margin="0,10,0,0" Height="36"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue