122 lines
6.0 KiB
C#
122 lines
6.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using SisNetBase;
|
|
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 Geofoto 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 geofoto
|
|
* 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;
|
|
}
|
|
|
|
}
|
|
}
|