using System; using System.Collections.Generic; using System.Linq; using System.Text; using OliviaDef; using System.IO; using System.Windows.Forms; namespace OliviaAddIn { /** * @file EjecutaLimp.cs * Clase con funciones para ejecución del programa en modo limpieza viaria. * Hace la llamada correspondiente a OliviaTask con los parámetros seleccionados. */ class EjecutaLimp : Ejecuta { //************************************************************************************* //Variables public Limpieza limp; //************************************************************************************* //Métodos public EjecutaLimp() { err_str = ""; } /** * Comienza las funciones de ejecución * modo 0 la primera vez, va a sectorizar, modo 1 la segunda vez, planifica */ public bool ejec(Limpieza limp, int modo) { if (limp == null) { err_str = "Error en la recopilación de datos para el procesado"; return false; } OliviaGlob.tip_oliv = OliviaDef.GeneralDef.TiposOliv.OlivLimp; if (!OliviaGlob.gdb_limp.exporta(limp, modo == (int)Ejecuta.ModosEjec.Planif)) { err_str = OliviaGlob.gdb_limp.err_st; return false; } //configura el string de opciones if (!configura_ops_geo(limp,modo)) { err_str = "Error al configurar opciones"; return false; } this.limp = limp; //Llama al ejecuta del padre return base.ejec(); } /** * 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 */ public bool configura_ops_geo(Limpieza limp, int modo) { string str; string modo_str=""; int r = 0; if ((limp.tipo_tto < 0) || (limp.tipo_tto >= (int)LimpiezaDef.TiposTto.TtoN)) return false; if (limp.rest_circ[(int)limp.tipo_tto]) r=1; //restricción de circulación if(modo==0) modo_str = GeneralDef.SockConf; else if(modo==1) modo_str = GeneralDef.SockConfPlan; //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.t_tto + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_res + GeneralDef.EjecGeoParamIgual + r + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_uto + GeneralDef.EjecGeoParamIgual + (int)limp.uds_t_tto + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_vdp + GeneralDef.EjecGeoParamIgual + limp.v_despl + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tco + GeneralDef.EjecGeoParamIgual + limp.t_conv + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tdc + GeneralDef.EjecGeoParamIgual + limp.t_descan + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_tdp + GeneralDef.EjecGeoParamIgual + limp.t_despl_insta + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_tca + GeneralDef.EjecGeoParamIgual + limp.t_descarg + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_hini + GeneralDef.EjecGeoParamIgual + limp.h_ini + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_trafic + GeneralDef.EjecGeoParamIgual + limp.trafico + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_npt + GeneralDef.EjecGeoParamIgual + limp.n_ptsctrl + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_sec + GeneralDef.EjecGeoParamIgual + limp.n_secdef + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GL_anc + GeneralDef.EjecGeoParamIgual + limp.ancho_via + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_coox + GeneralDef.EjecGeoParamIgual + limp.coords_instala[0] + " " +//coordenadas GeneralDef.EjecGeoParamSep + GeneralDef.GG_cooy + GeneralDef.EjecGeoParamIgual + limp.coords_instala[1] + " " +//coordenadas GeneralDef.EjecGeoParamSep + GeneralDef.GG_ais + GeneralDef.EjecGeoParamIgual + limp.aislados + " " + //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 + " "; base.str_cfg = str; return true; } } }