using OliviaAddInPro.Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OliviaAddInPro.Services.LanzaSrv { public class LanzaLimpSrv: LanzaOlvServ { public LanzaLimpSrv() { } /** * Comienza las funciones de ejecución * modo 0 la primera vez, va a sectorizar, modo 1 la segunda vez, planifica */ public Respuesta ejec(Limpieza limp, ModosEjec modo, string NombreTratamiento) { var res = new Respuesta(); if (limp == null) { res.Error.Add("Error en la recopilación de datos para el procesado"); res.Value = false; return res; } //configura el string de opciones if (!configura_ops_geo(limp, modo)) { res.Error.Add("Error al configurar opciones"); res.Value = false; return res; } //Llama al ejecuta del padre return base.ejec(NombreTratamiento); } /** * Configura el str de opciones que va a mandar a OliviaTask * modo 0 la primera vez, va a sectorizar, modo 1 la segunda vez, planifica */ private bool configura_ops_geo(Limpieza limp, ModosEjec modo) { string str; string modo_str = ""; int r = 0; if ((limp.TipoTto < 0) || (limp.TipoTto >= (int)LimpiezaDef.TiposTto.TtoN)) return false; if (limp.RespCirc) r = 1; //restricción de circulación if (modo == ModosEjec.Sectoriza) modo_str = GeneralDef.SockConf; else if (modo == ModosEjec.Planifica) modo_str = GeneralDef.SockConfPlan; 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.GL_tto + GeneralDef.EjecGeoParamIgual + limp.Ttto + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_res + GeneralDef.EjecGeoParamIgual + r + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_uto + GeneralDef.EjecGeoParamIgual + (int)limp.UdsTTto + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_vdp + GeneralDef.EjecGeoParamIgual + limp.VDespl + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tco + GeneralDef.EjecGeoParamIgual + limp.TConv + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tdc + GeneralDef.EjecGeoParamIgual + limp.TDescan + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_tdp + GeneralDef.EjecGeoParamIgual + limp.TDesplIniFin + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_tca + GeneralDef.EjecGeoParamIgual + limp.TDescarg + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_hini + GeneralDef.EjecGeoParamIgual + limp.HIni + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_trafic + GeneralDef.EjecGeoParamIgual + limp.Trafico + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_npt + GeneralDef.EjecGeoParamIgual + limp.NPtosCtrl + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_sec + GeneralDef.EjecGeoParamIgual + limp.NSect + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_anc + GeneralDef.EjecGeoParamIgual + limp.AnchoVia+ " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_coox + GeneralDef.EjecGeoParamIgual + limp.CoordsInstal.X + " " +//coordenadas GeneralDef.EjecGeoParamSep + GeneralDef.GG_cooy + GeneralDef.EjecGeoParamIgual + limp.CoordsInstal.Y + " " +//coordenadas GeneralDef.EjecGeoParamSep + GeneralDef.GG_ais + GeneralDef.EjecGeoParamIgual + (limp.IgnoAis ? 1 : 0) + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_elev + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.comprueba_elevacion ? 1 : 0) + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_topo + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.revisa_topologia ? 1 : 0) + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_conj + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.revisa_conjunciones ? 1 : 0) + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_angu + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.revisa_angulos ? 1 : 0) + " " + //campos del dbf de limpieza para leer GeneralDef.EjecGeoParamSep + GeneralDef.GAA_obser + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Campos.consulta_observ + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GAA_anch_tip + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Campos.consulta_anch_tip + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GAA_tipolo + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Campos.consulta_tipolo + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GAA_entid + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Campos.consulta_entidad + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GAL_aparc + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Atributos.atr_aparc + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GAL_bord + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Atributos.atr_bord + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GAL_acera + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Atributos.atr_acera + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GAL_peat + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Atributos.atr_peat + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GAL_ap_lin + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Atributos.atr_ap_lin + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GAL_ap_bat + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Atributos.atr_ap_bat + " " + //campos de anchos de entidades de limpieza GeneralDef.EjecGeoParamSep + GeneralDef.GTO_anch_peat + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.anch_peat+ " " + GeneralDef.EjecGeoParamSep + GeneralDef.GTO_anch_ace + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.anch_ace + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GTO_anch_aplin + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.anch_aplin + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GTO_anch_apbat + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.anch_apbat + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GTO_anch_bordlib + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.anch_bordlib + " " + //mima de la nw GeneralDef.EjecGeoParamSep + GeneralDef.GTO_mima_xmin + GeneralDef.EjecGeoParamIgual + limp.MimaNw.XMin + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GTO_mima_xmax + GeneralDef.EjecGeoParamIgual + limp.MimaNw.XMax + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GTO_mima_ymin + GeneralDef.EjecGeoParamIgual + limp.MimaNw.YMin + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GTO_mima_ymax + GeneralDef.EjecGeoParamIgual + limp.MimaNw.YMax + " "; base.str_cfg = str; return true; } } }