From 87d0517e08decfc438e9d984719d35054e412c59 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Thu, 27 Jan 2022 22:59:40 +0100 Subject: [PATCH] Lanzadores estables --- Model/OliviaGlob.cs.bak | 418 ++++++++++++++++++ Model/Recogida.cs | 8 + OliviaAddInPro.csproj.bak | 371 ++++++++++++++++ Services/LanzaSrv/LanzaRecoSrv.cs | 48 +- .../Limpieza/PaneLimpiezaViewModel.cs.bak | 182 ++++++++ 5 files changed, 1003 insertions(+), 24 deletions(-) create mode 100644 Model/OliviaGlob.cs.bak create mode 100644 OliviaAddInPro.csproj.bak create mode 100644 ViewModel/Limpieza/PaneLimpiezaViewModel.cs.bak diff --git a/Model/OliviaGlob.cs.bak b/Model/OliviaGlob.cs.bak new file mode 100644 index 0000000..b0e04a1 --- /dev/null +++ b/Model/OliviaGlob.cs.bak @@ -0,0 +1,418 @@ +using ArcGIS.Desktop.Internal.Core; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using OliviaAddInPro.Services; +using ArcGIS.Core.Geometry; +using ArcGIS.Desktop.Framework.Threading.Tasks; +using OliviaAddInPro.Helper; + +namespace OliviaAddInPro.Model +{ + [Flags] + /** + * + */ + public enum TiposEjecucion + { + Ninguno = 0, + Limp=1, + Reco=2, + Props = 4,//está editando propiedades + Config = 8, //está configurando la ventana de limpieza o recogida por primera vez + EjecSecto=16,//está ejecutando por primera vez + EjecPlanif = 32,//está ejecutando después de haber planificado ya al menos una primera vez + FinEjecOk = 64, //ha terminado de ejecutar Bien + FinEjecNOk = 128,//ha terminado de ejecutar y ha habido errores + Config2 =256,//está configurando la ventana de limpieza o recogida después de haber sectorizado + //ya al menos una primera vez + //se pone este estado cuando ha terminado ya la primera vez + } + static class OliviaGlob + { + /** + * Paths de la configuración + */ + public struct Paths + { + public static string PathWork; //>>>>>> Elena/reco + }; + + private static TiposEjecucion tipoEjec = TiposEjecucion.Ninguno; + public static Limpieza limp = new Limpieza(); + private static Recogida reco = new Recogida(); + + #region Properties + public static TiposEjecucion TipoEjec + { + get { return tipoEjec; } + set { tipoEjec = value; } + } + public static Limpieza Limp + { + get { return limp; } + set { limp = value; } + } + public static Recogida Reco + { + get { return reco; } + set { reco = value; } + } + public static EjecServ Serv { get; } = new EjecServ(); + public static SpatialReference SpatRef { get; set; } = null; + public static ProgressDialog progrDialog { get; set; } = null; + #endregion Properties + + public static void Inicia() + { + IniDefault(); + LimpiezaDef.iniciaLimpDef(); + RecogidaDef.iniciaRecoDef(); + limp = new Limpieza(); + reco = new Recogida(); + SpatRef = ArcGIS.Core.Geometry.SpatialReferenceBuilder.CreateSpatialReference(GeneralDef.SpatRefDef); + } + + public static bool IsLimp() + { + return HasFlagTipEjec(TiposEjecucion.Limp); + } + public static bool IsReco() + { + return HasFlagTipEjec(TiposEjecucion.Reco); + } + public static bool IsProps() + { + return HasFlagTipEjec(TiposEjecucion.Props); + } + public static bool IsConfig2() + { + return HasFlagTipEjec(TiposEjecucion.Config2); + } + public static bool HasFlagTipEjec(TiposEjecucion flag) + { + return (OliviaGlob.TipoEjec & flag) == flag; + } + public static void SetFlagTipEjec(TiposEjecucion flag) + { + //pone el tipo de ejecución igual al flag + OliviaGlob.TipoEjec = flag; + } + public static void AddFlagTipEjec(TiposEjecucion flag) + { + //añade el flag al tipo de ejecución + OliviaGlob.TipoEjec = OliviaGlob.TipoEjec | flag; + } + public static void RemoveFlagTipEjec(TiposEjecucion flag) + { + //quita el flag al tipo de ejecución + OliviaGlob.TipoEjec = OliviaGlob.TipoEjec & ~flag; + } + /** + * Habilita Sh=true + * o Deshabilita sh=false + * el pane correspondiente + */ + public static void ShowHidePane(bool sh) + { + if (OliviaGlob.IsLimp()) + { + if (sh) + { + DockpaneLimpiezaViewModel.Show(); + } + else + { + DockpaneLimpiezaViewModel.Hide_(); + } + } + else if (OliviaGlob.IsReco()) + { + if (sh) + { + DockpaneRecogidaViewModel.Show(); + } + else + { + DockpaneRecogidaViewModel.Hide_(); + } + } + else if(OliviaGlob.IsProps()) + { + if (sh) + { + DockpaneConfigViewModel.Show(); + } + else + { + DockpaneConfigViewModel.Hide_(); + } + } + } + + /** + * Inicializa los nombres por defecto de las variables, para debug por si no hay instalador + */ + public static void IniDefault() + { + var c = ConfigServ.Serv.Leer(); + Paths.PathWork = c.path_work; + Paths.PathExeOlivia = c.path_exe; + Paths.DirData = c.path_data; + Paths.PathTemp = c.path_temp; + c.PathCartela = c.PathCartela; + + HelperGlobal.create_folder(Paths.DirData); + HelperGlobal.create_folder(Paths.PathTemp); + + Paths.PathGdbGen = c.PathGdbGen; + Paths.PathGdbNw = c.red_carreteras; + Paths.PathSimbVSM = c.PathSimbVSM; + Paths.PathSimbESRI = c.PathSimbESRI; + Conexion.Puerto = c.Puerto; + Conexion.Ip = c.Ip; + Conexion.TiempoOutSocket = c.TiempoOutSocket; + + //buff_export = c.buffer_export; + + /////////////////////////////////////// + //Capas, consultas y filtros GENERALES + Capas.ftclass_ejes = c.eje_via; + Capas.ftclass_muni = c.municipios; + + /////////////////////////////////////// + //Capas, consultas, atributos y filtros de LIMPIEZA + LimpiezaDef.Campos.consulta_entidad = c.cons_tip_ent; + LimpiezaDef.Campos.consulta_mecan = c.cons_mecaniz; + LimpiezaDef.Campos.consulta_observ = c.cons_obser; + LimpiezaDef.Campos.consulta_anch_tip = c.cons_anch_tip; + LimpiezaDef.Campos.consulta_tipolo = c.cons_tipolo; + LimpiezaDef.Campos.consulta_sector = c.consulta_sector; + LimpiezaDef.Campos.consulta_secuen = c.consulta_secuen; + + LimpiezaDef.Atributos.atr_esca = c.atr_esca; + LimpiezaDef.Atributos.atr_fuent = c.atr_fuent; + LimpiezaDef.Atributos.atr_infan = c.atr_infan; + LimpiezaDef.Atributos.atr_pape = c.atr_pape; + LimpiezaDef.Atributos.atr_paso_niv = c.atr_paso_niv; + LimpiezaDef.Atributos.atr_pipi = c.atr_pipi; + LimpiezaDef.Atributos.atr_sane = c.atr_sane; + LimpiezaDef.Atributos.atr_acera = c.atr_acera; + LimpiezaDef.Atributos.atr_aparc = c.atr_aparc; + LimpiezaDef.Atributos.atr_bord = c.atr_bord; + LimpiezaDef.Atributos.atr_hoja = c.atr_hoja; + LimpiezaDef.Atributos.atr_peat = c.atr_peat; + LimpiezaDef.Atributos.atr_terri = c.atr_terri; + LimpiezaDef.Atributos.atr_ocio = c.atr_ocio; + LimpiezaDef.Atributos.atr_org_ofi = c.atr_org_ofi; + LimpiezaDef.Atributos.atr_parq = c.atr_parq; + LimpiezaDef.Atributos.atr_park = c.atr_park; + LimpiezaDef.Atributos.atr_play = c.atr_play; + LimpiezaDef.Atributos.atr_polid = c.atr_polid; + LimpiezaDef.Atributos.atr_turis = c.atr_turis; + LimpiezaDef.Atributos.atr_solar = c.atr_solar; + LimpiezaDef.Atributos.atr_suelo = c.atr_suelo; + LimpiezaDef.Atributos.atr_ap_lin = c.atr_ap_lin; + LimpiezaDef.Atributos.atr_ap_bat = c.atr_ap_bat; + + //para el grupo PARAMETROS de LIMPIEZA + LimpiezaDef.Parametros.t_ttoM = c.t_tratamiento_max; + LimpiezaDef.Parametros.t_ttom = c.t_tratamiento_min; + LimpiezaDef.Parametros.v_despM = c.v_desplaz_max; + LimpiezaDef.Parametros.v_despm = c.v_desplaz_min; + LimpiezaDef.Parametros.t_cardescM = c.t_carga_desc_max; + LimpiezaDef.Parametros.t_cardescm = c.t_carga_desc_min; + LimpiezaDef.Parametros.t_cardesc = c.t_carga_desc; + LimpiezaDef.Parametros.t_despM = c.t_carga_desc_max; + LimpiezaDef.Parametros.t_despm = c.t_carga_desc_min; + LimpiezaDef.Parametros.t_desp = c.t_desplaz; + LimpiezaDef.Parametros.t_convM = c.t_convenio_max; + LimpiezaDef.Parametros.t_convm = c.t_convenio_min; + LimpiezaDef.Parametros.t_conv = c.t_convenio; + LimpiezaDef.Parametros.t_descansoM = c.t_descanso_max; + LimpiezaDef.Parametros.t_descansom = c.t_descanso_min; + LimpiezaDef.Parametros.t_descanso = c.t_descanso; + LimpiezaDef.Parametros.h_inicio = c.hora_inicio; + LimpiezaDef.Parametros.ancho_viaM = c.ancho_via_max; + LimpiezaDef.Parametros.ancho_viam = c.ancho_via_min; + LimpiezaDef.Parametros.ancho_via = c.ancho_via; + LimpiezaDef.Parametros.ttoBarMan = c.t_tratamiento_BarMan; + LimpiezaDef.Parametros.ttoBarManMant = c.t_tratamiento_BarManMant; + LimpiezaDef.Parametros.ttoBarMMot = c.t_tratamiento_BarMMot; + LimpiezaDef.Parametros.ttoBarMC = c.t_tratamiento_BarMC; + LimpiezaDef.Parametros.ttoBarMAP = c.t_tratamiento_BarMAP; + LimpiezaDef.Parametros.ttoBarMix = c.t_tratamiento_BarMix; + LimpiezaDef.Parametros.ttoBalMan = c.t_tratamiento_BalMan; + LimpiezaDef.Parametros.ttoBalMC = c.t_tratamiento_BalMC; + LimpiezaDef.Parametros.ttoBalMAP = c.t_tratamiento_BalMAP; + LimpiezaDef.Parametros.ttoBalMix = c.t_tratamiento_BalMix; + LimpiezaDef.Parametros.ttoBL = c.t_tratamiento_BL; + LimpiezaDef.Parametros.ttoCH = c.t_tratamiento_CH; + LimpiezaDef.Parametros.ttoVPap = c.t_tratamiento_VPap; + LimpiezaDef.Parametros.ttoLPap = c.t_tratamiento_LPap; + LimpiezaDef.Parametros.ttoLC = c.t_tratamiento_LC; + LimpiezaDef.Parametros.ttoLZI = c.t_tratamiento_LZI; + LimpiezaDef.Parametros.ttoLPip = c.t_tratamiento_LPip; + LimpiezaDef.Parametros.ttoLS = c.t_tratamiento_LS; + LimpiezaDef.Parametros.vdespBarMan = c.v_desp_BarMan; + LimpiezaDef.Parametros.vdespBarManMant = c.v_desp_BarManMant; + LimpiezaDef.Parametros.vdespBarMMot = c.v_desp_BarMMot; + LimpiezaDef.Parametros.vdespBarMC = c.v_desp_BarMC; + LimpiezaDef.Parametros.vdespBarMAP = c.v_desp_BarMAP; + LimpiezaDef.Parametros.vdespBarMix = c.v_desp_BarMix; + LimpiezaDef.Parametros.vdespBalMan = c.v_desp_BalMan; + LimpiezaDef.Parametros.vdespBalMC = c.v_desp_BalMC; + LimpiezaDef.Parametros.vdespBalMAP = c.v_desp_BalMAP; + LimpiezaDef.Parametros.vdespBalMix = c.v_desp_BalMix; + LimpiezaDef.Parametros.vdespBL = c.v_desp_BL; + LimpiezaDef.Parametros.vdespCH = c.v_desp_CH; + LimpiezaDef.Parametros.vdespVPap = c.v_desp_VPap; + LimpiezaDef.Parametros.vdespLPap = c.v_desp_LPap; + LimpiezaDef.Parametros.vdespLC = c.v_desp_LC; + LimpiezaDef.Parametros.vdespLZI = c.v_desp_LZI; + LimpiezaDef.Parametros.vdespLPip = c.v_desp_LPip; + LimpiezaDef.Parametros.vdespLS = c.v_desp_LS; + LimpiezaDef.Parametros.umbral_reco = 80; + + LimpiezaDef.OtrosParam.giro_max = c.Giro_max_vehiculo; + LimpiezaDef.OtrosParam.anch_peat = c.Ancho_peat_def; + LimpiezaDef.OtrosParam.anch_ace = c.Ancho_acera_def; + LimpiezaDef.OtrosParam.anch_aplin = c.Ancho_ap_lin_def; + LimpiezaDef.OtrosParam.anch_apbat = c.Ancho_ap_bat_def; + LimpiezaDef.OtrosParam.anch_bordlib = c.Ancho_bord_lib_def; + LimpiezaDef.OtrosParam.desv_max = c.Desv_max; + LimpiezaDef.OtrosParam.desv_max_abs = c.Desv_max_abs; + + + //Capas, consultas, atributos y filtros de RECOGIDA + + RecogidaDef.campos_def.cons_id = c.id; + RecogidaDef.campos_def.cons_nomrec = c.nomrec; + RecogidaDef.campos_def.cons_lateral = c.lateralidad; + RecogidaDef.campos_def.cons_fracc = c.frac; + RecogidaDef.campos_def.cons_capac = c.capac; + RecogidaDef.campos_def.cons_uds = c.uds; + RecogidaDef.campos_def.cons_kgrec = c.kgrec; + RecogidaDef.kgrec_cont = c.kgrec_val; + + //Rellena los tipos de fracción + RecogidaDef.tipos_fracc_str[(int)RecogidaDef.TiposFracción.Organica] = c.organica; + RecogidaDef.tipos_fracc_str[(int)RecogidaDef.TiposFracción.Resto] = c.resto; + RecogidaDef.tipos_fracc_str[(int)RecogidaDef.TiposFracción.Envases] = c.envase; + RecogidaDef.tipos_fracc_str[(int)RecogidaDef.TiposFracción.Papel] = c.papel; + RecogidaDef.tipos_fracc_str[(int)RecogidaDef.TiposFracción.Vidrio] = c.vidrio; + //Rellena los tipos de carga + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.Trasera] = c.trasera; + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.Lateral] = c.lateral; + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.Superior] = c.superior; + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.Bilateral] = c.bilat; + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.BolseoPtaPta] = c.bolseo; + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.Lavado] = c.lavado; + + RecogidaDef.lleno = c.is_lleno; + RecogidaDef.kgrec_camp = c.is_campo; + + RecogidaDef.Parametros.t_vaciM = c.t_vaciado_max; + RecogidaDef.Parametros.t_vacim = c.t_vaciado_min; + RecogidaDef.Parametros.t_llegsalM = c.t_llega_sale_max; + RecogidaDef.Parametros.t_llegsalm = c.t_llega_sale_min; + RecogidaDef.Parametros.t_llegsal = c.t_llega_sale; + RecogidaDef.Parametros.t_descM = c.t_descarga_max; + RecogidaDef.Parametros.t_descm = c.t_descarga_min; + RecogidaDef.Parametros.t_desc = c.t_descarga; + RecogidaDef.Parametros.t_convM = c.R_t_convenio_max; + RecogidaDef.Parametros.t_convm = c.R_t_convenio_min; + RecogidaDef.Parametros.t_conv = c.R_t_convenio; + RecogidaDef.Parametros.t_descansoM = c.R_t_descanso_max; + RecogidaDef.Parametros.t_descansom = c.R_t_descanso_min; + RecogidaDef.Parametros.t_descanso = c.R_t_descanso; + RecogidaDef.Parametros.h_inicio = c.R_hora_inicio; + RecogidaDef.Parametros.dens_vehi_org = c.dens_vehi_org; + RecogidaDef.Parametros.dens_vehi_res = c.dens_vehi_res; + RecogidaDef.Parametros.dens_vehi_env = c.dens_vehi_env; + RecogidaDef.Parametros.dens_vehi_pap = c.dens_vehi_pap; + RecogidaDef.Parametros.dens_vehi_vid = c.dens_vehi_vid; + RecogidaDef.Parametros.dens_vehi_otr = c.dens_vehi_otr; + RecogidaDef.Parametros.dens_cont_org = c.dens_cont_org; + RecogidaDef.Parametros.dens_cont_res = c.dens_cont_res; + RecogidaDef.Parametros.dens_cont_env = c.dens_cont_env; + RecogidaDef.Parametros.dens_cont_pap = c.dens_cont_pap; + RecogidaDef.Parametros.dens_cont_vid = c.dens_cont_vid; + RecogidaDef.Parametros.dens_cont_otr = c.dens_cont_otr; + RecogidaDef.Parametros.anch_vehi_3 = c.anch_vehi_3; + RecogidaDef.Parametros.anch_vehi_2 = c.anch_vehi_2; + RecogidaDef.Parametros.anch_vehi_s = c.anch_vehi_s; + RecogidaDef.Parametros.rad_giro_3 = c.radio_giro_3; + RecogidaDef.Parametros.rad_giro_2 = c.radio_giro_2; + RecogidaDef.Parametros.rad_giro_s = c.radio_giro_s; + RecogidaDef.Parametros.t_vaci_tra = c.t_vaci_trasera; + RecogidaDef.Parametros.t_vaci_lat = c.t_vaci_lateral; + RecogidaDef.Parametros.t_vaci_sup = c.t_vaci_superior; + RecogidaDef.Parametros.t_vaci_bi = c.t_vaci_bilateral; + RecogidaDef.Parametros.t_vaci_bol = c.t_vaci_bolseo; + RecogidaDef.Parametros.t_vaci_lav = c.t_vaci_lavado; + RecogidaDef.Parametros.t_vaci_otr = c.t_vaci_otra; + RecogidaDef.Parametros.kgmaxM = c.kgmax_max; + RecogidaDef.Parametros.kgmaxm = c.kgmax_min; + RecogidaDef.Parametros.carga_maxM = c.carga_max_max; + RecogidaDef.Parametros.carga_maxm = c.carga_max_min; + + //Atributos LATERALIDAD + RecogidaDef.tipos_lateralidad[(int)RecogidaDef.Lateralidad.Ambos] = c.ambos; + RecogidaDef.tipos_lateralidad[(int)RecogidaDef.Lateralidad.Dcha] = c.derecha; + RecogidaDef.tipos_lateralidad[(int)RecogidaDef.Lateralidad.Izqda] = c.izquierda; + + + //Campos de la red navegable que se leen + ComunDef.CamposNW.cons_onew = c.cons_onew; + ComunDef.CamposNW.cons_kph = c.cons_kph; + ComunDef.CamposNW.cons_fow = c.cons_fow; + ComunDef.CamposNW.cons_name = c.cons_name; + //Atributos de la red navegable que se leen + ComunDef.AtributosNW.atr_TF = c.atr_TF; + ComunDef.AtributosNW.atr_FT = c.atr_FT; + ComunDef.AtributosNW.atr_N = c.atr_N; + ComunDef.AtributosNW.atr_pedes = c.atr_pedes; + + } + } +} diff --git a/Model/Recogida.cs b/Model/Recogida.cs index 00ab00e..f58386d 100644 --- a/Model/Recogida.cs +++ b/Model/Recogida.cs @@ -64,6 +64,14 @@ namespace OliviaAddInPro.Model */ public Coordinate2D CoordsPlanta { get; set; } = new Coordinate2D(0, 0); + /* + * + * */ + public double AnchoVehiculo + { + get; + set; + } public RecogidaServ Serv { get; set; } = null; public Recogida() { diff --git a/OliviaAddInPro.csproj.bak b/OliviaAddInPro.csproj.bak new file mode 100644 index 0000000..cf1cf44 --- /dev/null +++ b/OliviaAddInPro.csproj.bak @@ -0,0 +1,371 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {10742570-CF59-42F2-BEA2-2A38002A06EE} + Library + Properties + OliviaAddInPro + OliviaAddInPro + v4.8 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + $([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGISPro', 'InstallDir', null, RegistryView.Registry64)) + $(registry:HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro@InstallDir) + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + Program + $(ArcGISFolder)\bin\ArcGISPro.exe + x64 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + Program + $(ArcGISFolder)\bin\ArcGISPro.exe + AnyCPU + + + + packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + + + + + + + + + + + + + + + $(ArcGISFolder)\bin\ArcGIS.Desktop.Framework.dll + False + + + $(ArcGISFolder)\bin\ArcGIS.Core.dll + False + + + $(ArcGISFolder)\bin\Extensions\Core\ArcGIS.Desktop.Core.dll + False + + + $(ArcGISFolder)\bin\Extensions\Mapping\ArcGIS.Desktop.Mapping.dll + False + + + $(ArcGISFolder)\bin\Extensions\Catalog\ArcGIS.Desktop.Catalog.dll + False + + + $(ArcGISFolder)\bin\Extensions\Editing\ArcGIS.Desktop.Editing.dll + False + + + $(ArcGISFolder)\bin\Extensions\DesktopExtensions\ArcGIS.Desktop.Extensions.dll + False + + + $(ArcGISFolder)\bin\Extensions\GeoProcessing\ArcGIS.Desktop.GeoProcessing.dll + False + + + $(ArcGISFolder)\bin\Extensions\Layout\ArcGIS.Desktop.Layouts.dll + False + + + $(ArcGISFolder)\bin\ArcGIS.Desktop.Shared.Wpf.dll + False + + + $(ArcGISFolder)\bin\ArcGIS.Desktop.Ribbon.Wpf.dll + False + + + $(ArcGISFolder)\bin\ArcGIS.Desktop.DataGrid.Contrib.Wpf.dll + False + + + $(ArcGISFolder)\bin\ArcGIS.Desktop.Resources.dll + False + + + $(ArcGISFolder)\bin\ArcGIS.Desktop.Resources.dll + False + + + $(ArcGISFolder)\bin\ESRI.ArcGIS.ItemIndex.dll + False + + + ..\wpftoolkit-master\ExtendedWPFToolkitSolution\Src\Xceed.Wpf.Toolkit\bin\Release\Xceed.Wpf.Toolkit.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<<<<<<< HEAD + + + +======= + +>>>>>>> Elena/reco + + + + + + + + + + + + + + PaneRecogidaSub1.xaml + + + PaneRecogida.xaml + + + + DockPaneConfig.xaml + + + PaneConfigView.xaml + + + PaneEjecutar.xaml + + + PaneLimpiezaSub4.xaml + + + PaneLimpiezaSub3.xaml + + + PaneLimpiezaSub2.xaml + + + PaneLimpiezaSub1.xaml + + + + PaneLimpieza.xaml + + + DockpaneLimpieza.xaml + + + + DockpaneRecogida.xaml + + + + + + + True + True + Resource1.resx + + + ProWndSelectFields.xaml + + + + + + + + + + + + + + + + + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + + + + + + + + + ResXFileCodeGenerator + Resource1.Designer.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<<<<<<< HEAD + +======= + + + + + + + +>>>>>>> Elena/reco + + + + BuildDefault + true + + + BuildDefault + + + + + + + + + \ No newline at end of file diff --git a/Services/LanzaSrv/LanzaRecoSrv.cs b/Services/LanzaSrv/LanzaRecoSrv.cs index 60cdc34..38dbef0 100644 --- a/Services/LanzaSrv/LanzaRecoSrv.cs +++ b/Services/LanzaSrv/LanzaRecoSrv.cs @@ -16,7 +16,7 @@ namespace OliviaAddInPro.Services.LanzaSrv * Comienza las funciones de ejecución * modo 0 la primera vez, va a sectorizar, modo 1 la segunda vez, planifica */ - public Respuesta ejec(Recogida reco, int modo) + public Respuesta ejec(Recogida reco, int modo, string NombreTratamiento) { var res = new Respuesta(); res.Value = false; @@ -41,10 +41,10 @@ namespace OliviaAddInPro.Services.LanzaSrv return res; } - this.reco = reco; + //this.reco = reco; //Llama al ejecuta del padre - return base.ejec(); + return base.ejec(NombreTratamiento); } @@ -62,38 +62,38 @@ namespace OliviaAddInPro.Services.LanzaSrv modo_str = GeneralDef.SockConfPlan; else if (modo == (int)ModosEjec.SoloPlanif) modo_str = GeneralDef.SockConfTodo; - + var conf = ConfigServ.Serv.Leer(); //van ParamLimpN parámetros, sin incluir "CONFIGURACION", si se añaden, incrementar ParamLimpN str = GeneralDef.EjecGeoParamSep + modo_str + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_cap + GeneralDef.EjecGeoParamIgual + reco.rec_capac + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_kgM + GeneralDef.EjecGeoParamIgual + reco.carg_max_vehic + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_kgrec + GeneralDef.EjecGeoParamIgual + reco.rec_kg + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_uds + GeneralDef.EjecGeoParamIgual + reco.rec_uds + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_kgrecog + GeneralDef.EjecGeoParamIgual + reco.rec_kgrec_cont + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_carga_cont + GeneralDef.EjecGeoParamIgual + reco.carga_max + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_dens + GeneralDef.EjecGeoParamIgual + reco.dens_cont + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_cap + GeneralDef.EjecGeoParamIgual + conf.capac + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_kgM + GeneralDef.EjecGeoParamIgual + reco.KgMaxVehic + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_kgrec + GeneralDef.EjecGeoParamIgual + conf.kgrec + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_uds + GeneralDef.EjecGeoParamIgual + conf.uds + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_kgrecog + GeneralDef.EjecGeoParamIgual + conf.kgrec_val + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_carga_cont + GeneralDef.EjecGeoParamIgual + 0 + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_dens + GeneralDef.EjecGeoParamIgual + reco.DensCont + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tco + GeneralDef.EjecGeoParamIgual + reco.TConv + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tdc + GeneralDef.EjecGeoParamIgual + reco.TDescan + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_tvc + GeneralDef.EjecGeoParamIgual + reco.t_vaci + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_tvc + GeneralDef.EjecGeoParamIgual + reco.TVaciCont + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GR_tdca + GeneralDef.EjecGeoParamIgual + reco.TDescarg + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_tsal + GeneralDef.EjecGeoParamIgual + reco.t_despl_insta + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_tsal + GeneralDef.EjecGeoParamIgual + reco.TDesplIniFin + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_hini + GeneralDef.EjecGeoParamIgual + reco.HIni + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GG_trafic + GeneralDef.EjecGeoParamIgual + reco.trafico + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_trafic + GeneralDef.EjecGeoParamIgual + reco.Trafico + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_npt + GeneralDef.EjecGeoParamIgual + reco.NPtosCtrl + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_sec + GeneralDef.EjecGeoParamIgual + reco.NSect + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_anc + GeneralDef.EjecGeoParamIgual + reco.anch_vehic + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_gir + GeneralDef.EjecGeoParamIgual + reco.giro_vehic + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_anc + GeneralDef.EjecGeoParamIgual + reco.AnchoVehiculo + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_gir + GeneralDef.EjecGeoParamIgual + reco.GiroVehic + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_coox + GeneralDef.EjecGeoParamIgual + reco.CoordsInstal.X + " " +//coordenadas GeneralDef.EjecGeoParamSep + GeneralDef.GG_cooy + GeneralDef.EjecGeoParamIgual + reco.CoordsInstal.Y + " " +//coordenadas - GeneralDef.EjecGeoParamSep + GeneralDef.GR_descx + GeneralDef.EjecGeoParamIgual + reco.coords_descarg[0] + " " +//coordenadas - GeneralDef.EjecGeoParamSep + GeneralDef.GR_descy + GeneralDef.EjecGeoParamIgual + reco.coords_descarg[1] + " " +//coordenadas - GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_id + GeneralDef.EjecGeoParamIgual + reco.id_sens + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_url + GeneralDef.EjecGeoParamIgual + reco.url_sens + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_fecha + GeneralDef.EjecGeoParamIgual + reco.fecha_sens + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_fechaf + GeneralDef.EjecGeoParamIgual + reco.fechaf_sens + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_modo + GeneralDef.EjecGeoParamIgual + reco.media + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_descx + GeneralDef.EjecGeoParamIgual + reco.CoordsPlanta.X + " " +//coordenadas + GeneralDef.EjecGeoParamSep + GeneralDef.GR_descy + GeneralDef.EjecGeoParamIgual + reco.CoordsPlanta.Y + " " +//coordenadas + GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_id + GeneralDef.EjecGeoParamIgual + 0 + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_url + GeneralDef.EjecGeoParamIgual + 0 + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_fecha + GeneralDef.EjecGeoParamIgual + 0 + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_fechaf + GeneralDef.EjecGeoParamIgual + 0 + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_modo + GeneralDef.EjecGeoParamIgual + 0 + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_ais + GeneralDef.EjecGeoParamIgual + (reco.IgnoAis?1:0) + " " + - GeneralDef.EjecGeoParamSep + GeneralDef.GR_lateral + GeneralDef.EjecGeoParamIgual + reco.lateralidad + " "; + GeneralDef.EjecGeoParamSep + GeneralDef.GR_lateral + GeneralDef.EjecGeoParamIgual + reco.TipoLate + " "; base.str_cfg = str; diff --git a/ViewModel/Limpieza/PaneLimpiezaViewModel.cs.bak b/ViewModel/Limpieza/PaneLimpiezaViewModel.cs.bak new file mode 100644 index 0000000..830fd96 --- /dev/null +++ b/ViewModel/Limpieza/PaneLimpiezaViewModel.cs.bak @@ -0,0 +1,182 @@ +using OliviaAddInPro.Model; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Media.Imaging; +using OliviaAddInPro.Helper; +using static OliviaAddInPro.Model.ComunDef; +using ArcGIS.Desktop.Framework.Threading.Tasks; +using ArcGIS.Desktop.Framework.Contracts; +namespace OliviaAddInPro +{ + class PaneLimpiezaViewModel : PanelViewModelBase + { + private PaneLimpiezaSub1ViewModel _subPanel1ViewModel; + + public PaneLimpiezaViewModel() + { + _subPanel1ViewModel = new PaneLimpiezaSub1ViewModel(); + _subPanel2ViewModel = new PaneLimpiezaSub2ViewModel(); + _subPanel3ViewModel = new PaneLimpiezaSub3ViewModel(); + _subPanel4ViewModel = new PaneLimpiezaSub4ViewModel(); + + OptionsMenu = new ObservableCollection + { + new OptionsMenuItem(new BitmapImage(new Uri("pack://application:,,,/OliviaAddInPro;component/Resources/inicio.png")), Resource1.String_tto, _subPanel1ViewModel), + new OptionsMenuItem(new BitmapImage(new Uri("pack://application:,,,/OliviaAddInPro;component/Resources/zonas.png")), Resource1.String_zonif, _subPanel2ViewModel), + new OptionsMenuItem(new BitmapImage(new Uri("pack://application:,,,/OliviaAddInPro;component/Resources/ptosctrl.png")), Resource1.String_ctrol, _subPanel3ViewModel), + new OptionsMenuItem(new BitmapImage(new Uri("pack://application:,,,/OliviaAddInPro;component/Resources/time.png")), Resource1.String_tiempos, _subPanel4ViewModel) + }; + SelectedOption = OptionsMenu[0]; + // OliviaGlob.limp = OliviaGlob.Limp; + } + public override string DisplayName + { + get { return Resource1.String_header_limpieza; } + } + private ObservableCollection _optionsMenu = new ObservableCollection(); + public ObservableCollection OptionsMenu + { + get { return _optionsMenu; } + set { SetProperty(ref _optionsMenu, value, () => OptionsMenu); } + } + + private PanelViewModelBase _currentSubPanelPage; + public PanelViewModelBase CurrentSubPanelPage + { + get { return _currentSubPanelPage; } + set { SetProperty(ref _currentSubPanelPage, value, () => CurrentSubPanelPage); } + } + + private OptionsMenuItem _selectionOption; + public OptionsMenuItem SelectedOption + { + get { return _selectionOption; } + set { + SetProperty(ref _selectionOption, value, () => SelectedOption); + CurrentSubPanelPage = value.SubPanelViewModel; + } + } + public PaneLimpiezaSub1ViewModel PaneSub1 + { + get { return _subPanel1ViewModel; } + } + + public bool Lee(out string err_str) + { + err_str = ""; + try + { + //////////////////////////////////////////////////////////// + ///Lee el panel 1 + if(!_subPanel1ViewModel.CapaAbierta || string.IsNullOrEmpty(_subPanel1ViewModel.CapaElems)) + { + err_str = "No se ha seleccionado ninguna Capa de Limpieza"; + return false; + } + OliviaGlob.limp.CapaElems = _subPanel1ViewModel.CapaElems; + + //lee el tipo tto + if (_subPanel1ViewModel.TipoTto == (int)LimpiezaDef.TiposTto.TtoNoDef) + { + err_str = "No se ha seleccionado ningún Tipo de Tratamiento"; + return false; + } +<<<<<<< HEAD + OliviaGlob.limp.TipoTto = _subPanel1ViewModel.TipoTto; + +======= + limp.TipoTto = _subPanel1ViewModel.TipoTto; + limp.TipoTtoStr = LimpiezaDef.tto_gdb[_subPanel1ViewModel.TipoTto]; +>>>>>>> Elena/reco + //lee el/los ámbito seleccionado + if (!_subPanel1ViewModel.lee_ambitos()) + { + err_str = "No se ha seleccionado ningún Ámbito de trabajo"; + return false; + } + OliviaGlob.limp.AmbitosSel = _subPanel1ViewModel.AmbitosSel; + int i = 0; + for (i = 0; i < OliviaGlob.limp.AmbitosSel.Length; i++) + if (OliviaGlob.limp.AmbitosSel[i]) + break; + if(i>= OliviaGlob.limp.AmbitosSel.Length) + { + err_str = "No se ha seleccionado ningún Ámbito de trabajo"; + return false; + } + //lee si respeta circulacion + OliviaGlob.limp.RespCirc = _subPanel1ViewModel.RespCirc; + + //lee velo de desplazamiento + int vv = -1; + if((!HelperGlobal.Str2Int(_subPanel1ViewModel.TextVeloDespl, out vv)) && (_subPanel1ViewModel.TextVeloDespl!=Resource1.String_velo_nodef)) + { + err_str = "Error al leer la velocidad de desplazamiento"; + return false; + } + if ((vv == 0) || (vv > LimpiezaDef.Parametros.v_despM) || (vv < LimpiezaDef.Parametros.v_despm)) + { + err_str = "La velocidad de desplazamiento no está dentro de los límites configurados"; + return false; + } + OliviaGlob.limp.VDespl = vv; + + //lee tiempo de tto + if ((_subPanel1ViewModel.TimeTto == 0) || + (_subPanel1ViewModel.TimeTto > LimpiezaDef.Parametros.t_ttoM) || (_subPanel1ViewModel.TimeTto < LimpiezaDef.Parametros.t_ttom)) + { + err_str = "El tiempo de tratamiento no está dentro de los límites configurados"; + return false; + } + OliviaGlob.limp.Ttto = _subPanel1ViewModel.TimeTto; + OliviaGlob.limp.UdsTTto = _subPanel1ViewModel.UdsTTto; + + //lee las propiedades comunes a recogida + if (!LeeComun(OliviaGlob.limp,out err_str)) + { + return false; + } + + return true; + } + catch + { + return false; + } + } + + /** + * Acciones para comenzar ejecución + */ + public void Ejecuta(OliviaAddInPro.Services.ModosEjec modo) + { + string err = ""; + + + OliviaGlob.progrDialog.Show(); + var progSrc = new CancelableProgressorSource(OliviaGlob.progrDialog); + + + if (!Lee(out err)) + { + HelperGlobal.ponMsg(err); + return; + } + + Action ac = finEjecuta; + OliviaGlob.Limp.EjecutaAsync(modo, progSrc, ac); + } + public void finEjecuta(TareaRes res) + { + OliviaGlob.progrDialog.Hide(); + if (res.Errores) + { + HelperGlobal.ponMsg(res.msg); + } + } + } +}