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;
|
||||
private bool ParametrizandoOperacao =>
|
||||
(VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Modo ?? ModoOperacao.NaoDefinido) == ModoOperacao.MapaGPS &&
|
||||
!(VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Iniciada ?? false) &&
|
||||
(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;
|
||||
|
|
|
|||
|
|
@ -186,11 +186,13 @@ namespace OperationControl.Models
|
|||
var obj = JsonConvert.DeserializeObject<OperacaoParametrosModel>(json);
|
||||
lock (_RoversLock)
|
||||
{
|
||||
var rover = RoversNaRede.FirstOrDefault(x => x.RoverId == device_id);
|
||||
if (rover != null)
|
||||
var index = RoversNaRede.FindIndex(x => x.RoverId == device_id);
|
||||
if (index >= 0)
|
||||
{
|
||||
rover = obj;
|
||||
rover.UltimoContato = DateTime.Now;
|
||||
var logs = RoversNaRede[index].DadosLeitura?.Logs ?? new List<OperacaoSensoriamentoLogErrosModel>();
|
||||
obj.UltimoContato = DateTime.Now;
|
||||
obj.DadosLeitura.Logs.AddRange(logs);
|
||||
RoversNaRede[index] = obj;
|
||||
}
|
||||
}
|
||||
((App)Application.Current).Shell.Main?.AtualizarDadosTela_ParametrosOperacao(obj.Controle);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
using AgroBase.Models.Operacoes;
|
||||
using OperationControl.Controls;
|
||||
using OperationControl.Helpers;
|
||||
using OperationControl.Models;
|
||||
using System.ComponentModel;
|
||||
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()
|
||||
{
|
||||
CarregarParametrosPadraoCommand = new RelayCommand(p => CarregarParametrosPadrao((AgroBase.Models.Enums.ModoOperacao)p));
|
||||
LerParametrosCommand = new RelayCommand(_ => LerParametrosSolicitado?.Invoke());
|
||||
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 SalvarParametrosCommand { get; }
|
||||
public ICommand CarregarParametrosPadraoCommand { get; }
|
||||
public ICommand ReiniciarOperacaoCommand { get; }
|
||||
public Array ModosOperacaoDisponiveis { get; } = Enum.GetValues(typeof(AgroBase.Models.Enums.ModoOperacao));
|
||||
|
||||
|
||||
|
|
@ -46,10 +60,16 @@ namespace OperationControl.ViewModels.Views.Operacao.Monitoramento
|
|||
Parametros = p;
|
||||
}
|
||||
|
||||
private void ReiniciarOperacao()
|
||||
{
|
||||
VariaveisControleOperacao.EnviarComandoIniciarOperacao(false, false);
|
||||
}
|
||||
|
||||
public void AtualizarParametros(OperacaoParametrosModel origem)
|
||||
{
|
||||
if (origem == null) return;
|
||||
Parametros = origem;
|
||||
OperacaoConcluida = (VariaveisControleOperacao.RoverEmFoco?.DadosLeitura?.Operacao?.Status ?? AgroBase.Models.Enums.StatusOperacao.NaoIniciado) == AgroBase.Models.Enums.StatusOperacao.Concluido;
|
||||
}
|
||||
|
||||
public void ProcessarStreetMapClicked(MapViewControl.StreetMapClickedEventArgs e)
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ namespace OperationControl.ViewModels.Views.Operacao
|
|||
}
|
||||
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);
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -130,16 +130,7 @@ namespace OperationControl.ViewModels.Views.Operacao
|
|||
{
|
||||
var rover = Rovers.FirstOrDefault(x => x.NumeroSerie == roverId);
|
||||
RoverSelecionado = rover;
|
||||
|
||||
if (RoverSelecionado != null)
|
||||
{
|
||||
VariaveisControleOperacao.RequisitarParametrosOperacao();
|
||||
SelecionarSecao(SecaoRightBar.Menu);
|
||||
}
|
||||
else
|
||||
{
|
||||
SelecionarSecao(SecaoRightBar.SemRoverSelecionado);
|
||||
}
|
||||
SelecionarSecao(RoverSelecionado != null ? SecaoRightBar.Menu : SecaoRightBar.SemRoverSelecionado);
|
||||
RoverSelecionadoChanged?.Invoke(rover);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -943,7 +943,6 @@ namespace OperationControl.ViewModels
|
|||
_viewOperacaoCenter?.Monitoramento?.PararStreamCameraErvas();
|
||||
VariaveisControleOperacao.EnviarComandoIniciarUDP(VariaveisControleOperacao.RoverEmFoco?.IP, false);
|
||||
}
|
||||
VariaveisControleOperacao.RoverEmFoco?.RuasPercorrer?.Clear();
|
||||
AtualizarDadosMapa(VariaveisControleOperacao.RoverEmFoco);
|
||||
VariaveisControleOperacao.SelectedRoverId = VariaveisControleOperacao.BaseMarkerID;
|
||||
_viewOperacaoCenter?.Mapa?.markers?.SetMarkerFocused(VariaveisControleOperacao.SelectedRoverId, true);
|
||||
|
|
@ -959,7 +958,6 @@ namespace OperationControl.ViewModels
|
|||
_viewOperacaoCenter?.Mapa?.markers?.SetMarkerFocused(VariaveisControleOperacao.SelectedRoverId, true);
|
||||
AtualizarDadosTela(VariaveisControleOperacao.RoverEmFoco);
|
||||
|
||||
VariaveisControleOperacao.RequisitarParametrosOperacao();
|
||||
_viewOperacaoCenter?.Monitoramento?.IniciarStreamCameraFrontal();
|
||||
_viewOperacaoCenter?.Monitoramento?.IniciarStreamCameraErvas();
|
||||
VariaveisControleOperacao.EnviarComandoIniciarUDP(VariaveisControleOperacao.RoverEmFoco?.IP, true);
|
||||
|
|
@ -969,12 +967,14 @@ namespace OperationControl.ViewModels
|
|||
AtualizarDadosMapa(VariaveisControleOperacao.RoverEmFoco);
|
||||
|
||||
AtualizarBarraSuperior(VariaveisControleOperacao.RoverEmFoco);
|
||||
|
||||
VariaveisControleOperacao.RequisitarParametrosOperacao();
|
||||
}
|
||||
}
|
||||
private void OnSecaoSelecionadaChanged(SecaoRightBar secao)
|
||||
{
|
||||
if (secao == SecaoRightBar.Parametrizacao)
|
||||
_viewOperacaoRight?.areaParametrizacao?._vm?.AtualizarParametros(VariaveisControleOperacao.RoverEmFoco);
|
||||
VariaveisControleOperacao.RequisitarParametrosOperacao();
|
||||
_viewOperacaoCenter?._vm?.DefinirSecao(secao);
|
||||
AtualizarDadosMapa(VariaveisControleOperacao.RoverEmFoco);
|
||||
}
|
||||
|
|
@ -991,7 +991,7 @@ namespace OperationControl.ViewModels
|
|||
var dadosMapa = _viewOperacaoCenter?.Mapa?.CriarDadosMapa();
|
||||
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);
|
||||
return;
|
||||
|
|
@ -1015,33 +1015,28 @@ namespace OperationControl.ViewModels
|
|||
ModulosMandatorios = parametros?.ModulosMandatorios,
|
||||
ParametrosMandatorios = parametros?.ParametrosMandatorios,
|
||||
|
||||
RuasPercorrer = _viewOperacaoCenter?.Mapa?.RuasMapaCarregado?.Where(x => x.Selected)?.Select(x => x.Id)?.ToList(),
|
||||
Mapa = _viewOperacaoCenter?.Mapa?.CriarDadosMapa()
|
||||
RuasPercorrer = ruasPercorrer,
|
||||
Mapa = dadosMapa
|
||||
};
|
||||
|
||||
VariaveisControleOperacao.EnviarParametrosOperacao(novosParametros);
|
||||
|
||||
VariaveisControleOperacao.RoverEmFoco.Modo = novosParametros.Modo;
|
||||
VariaveisControleOperacao.RoverEmFoco.Descricao = novosParametros.Descricao;
|
||||
VariaveisControleOperacao.RoverEmFoco.QtdCamerasSolo = novosParametros.QtdCamerasSolo;
|
||||
VariaveisControleOperacao.RoverEmFoco.QtdBicos = novosParametros.QtdBicos;
|
||||
VariaveisControleOperacao.RoverEmFoco.CapacidadeReservatorio = novosParametros.CapacidadeReservatorio;
|
||||
//VariaveisControleOperacao.RoverEmFoco.Modo = novosParametros.Modo;
|
||||
//VariaveisControleOperacao.RoverEmFoco.Descricao = novosParametros.Descricao;
|
||||
//VariaveisControleOperacao.RoverEmFoco.QtdCamerasSolo = novosParametros.QtdCamerasSolo;
|
||||
//VariaveisControleOperacao.RoverEmFoco.QtdBicos = novosParametros.QtdBicos;
|
||||
//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;
|
||||
|
||||
VariaveisControleOperacao.RoverEmFoco.ModulosMandatorios = novosParametros.ModulosMandatorios;
|
||||
VariaveisControleOperacao.RoverEmFoco.ParametrosMandatorios = novosParametros.ParametrosMandatorios;
|
||||
|
||||
VariaveisControleOperacao.RoverEmFoco.RuasPercorrer = novosParametros.RuasPercorrer;
|
||||
VariaveisControleOperacao.RoverEmFoco.Mapa = novosParametros.Mapa;
|
||||
|
||||
VariaveisControleOperacao.RequisitarParametrosOperacao();
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await Task.Delay(1000);
|
||||
_viewOperacaoRight?._vm?.SelecionarSecao(SecaoRightBar.Diagnostico);
|
||||
});
|
||||
//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:local="clr-namespace:OperationControl.Views.Operacao"
|
||||
mc:Ignorable="d" >
|
||||
<UserControl.Resources>
|
||||
<BooleanToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
|
||||
</UserControl.Resources>
|
||||
<Grid>
|
||||
<Grid.Resources>
|
||||
<Style x:Key="ParamLabelStyle" TargetType="TextBlock">
|
||||
|
|
@ -69,6 +72,7 @@
|
|||
<ComboBox ItemsSource="{Binding ModosOperacaoDisponiveis}" SelectedItem="{Binding Parametros.Modo, Mode=TwoWay}" SelectionChanged="cmbModoOperacao_SelectionChanged" />
|
||||
<TextBlock Text="Descrição" Style="{StaticResource ParamLabelStyle}"/>
|
||||
<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>
|
||||
</Border>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue