Avances cambios pedidos por VSM

Gerardo/Compilacion.net
Elena 2022-11-08 21:23:11 +01:00
parent 8081d00bbe
commit 39757fce61
9 changed files with 62 additions and 34 deletions

View File

@ -2316,18 +2316,26 @@ namespace OliviaAddInPro.Helper
/** /**
* Borrar una feature class de un dataset * Borrar una feature class de un dataset
* Devuelve -1 si da error al abrir la gdb, -2 si da error al abrir el ftclass (igual porque no existe)
* y 0 si da error el proceso de borrar, y 1 si va todo bien
*/ */
public static Respuesta<bool> DeleteFeatureClassSync(string gdbPath, string featureClassName) public static Respuesta<int> DeleteFeatureClassSync(string gdbPath, string featureClassName)
{ {
var res = new Respuesta<bool> { Value = false }; var res = new Respuesta<int> { Value = 0 };
Geodatabase gdb = GetGdbSync(gdbPath); Geodatabase gdb = GetGdbSync(gdbPath);
if (gdb == null) if (gdb == null)
{
res.Value = -1;
return res; return res;
}
FeatureClass ftclss = GetFtClassSync(featureClassName, gdb); FeatureClass ftclss = GetFtClassSync(featureClassName, gdb);
if (ftclss == null) if (ftclss == null)
{
res.Value = -2;
return res; return res;
}
Respuesta<bool> resp = new Respuesta<bool> { Value = false }; Respuesta<bool> resp = new Respuesta<bool> { Value = false };
SchemaBuilder schemaBuilder = null; SchemaBuilder schemaBuilder = null;
@ -2350,7 +2358,7 @@ namespace OliviaAddInPro.Helper
} }
if (resp.Value) if (resp.Value)
res.Value = true; res.Value = 1;
else else
{ {
res.Error.Add(resp.Error.FirstOrDefault()); res.Error.Add(resp.Error.FirstOrDefault());

View File

@ -33,5 +33,18 @@ namespace OliviaAddInPro.Model
public static string atr_pedes; //<Atributo del campo FOW que indica peatonal public static string atr_pedes; //<Atributo del campo FOW que indica peatonal
}; };
/**
* Campos comunes a la capa de entidades
*/
public struct CamposCom
{
public static string camp_oid; //<Campo de la tabla de entidades que indica el objectid
public static string consulta_sector; //<Campo de la tabla donde se guarda info de sector
public static string consulta_secuen; //<Campo de la tabla donde se guarda info de secuencia
public static double giro_max;
public static double desv_max;
public static double desv_max_abs;
}
} }
} }

View File

@ -37,8 +37,6 @@ namespace OliviaAddInPro.Model
public static string consulta_observ; //<Campo a consultar de la capa de limpieza, observaciones public static string consulta_observ; //<Campo a consultar de la capa de limpieza, observaciones
public static string consulta_anch_tip; //<Campo a consultar de la capa de limpieza, ancho tipo public static string consulta_anch_tip; //<Campo a consultar de la capa de limpieza, ancho tipo
public static string consulta_tipolo; //<Campo a consultar de la capa de limpieza, tipología public static string consulta_tipolo; //<Campo a consultar de la capa de limpieza, tipología
public static string consulta_sector; //<Campo a consultar de la capa planificada, sector
public static string consulta_secuen; //<Campo a consultar de la capa planificada, planificacion
}; };
/** /**
* Nombre de los atributos (de las capas) sobre los que se realizarán consultas para la limpieza * Nombre de los atributos (de las capas) sobre los que se realizarán consultas para la limpieza
@ -137,15 +135,12 @@ namespace OliviaAddInPro.Model
public static double umbral_reco; //<Umbral de llenado para la recogida de contenedores public static double umbral_reco; //<Umbral de llenado para la recogida de contenedores
}; };
public struct OtrosParam public struct OtrosParam
{ {
public static double giro_max;
public static double anch_peat; public static double anch_peat;
public static double anch_ace; public static double anch_ace;
public static double anch_aplin; public static double anch_aplin;
public static double anch_apbat; public static double anch_apbat;
public static double anch_bordlib; public static double anch_bordlib;
public static double desv_max;
public static double desv_max_abs;
}; };
//************************************************************************************* //*************************************************************************************
//Enums globales limpieza //Enums globales limpieza

View File

@ -51,8 +51,8 @@ namespace OliviaAddInPro.Model
public const int ProgrMax = 100; public const int ProgrMax = 100;
public const int ProgrStep = 5; public const int ProgrStep = 5;
public const int ParamN = 5; public const int ParamN = 5;
public const int ParamLimpN = 45; public const int ParamLimpN = 48;
public const int ParamRecoN = 43; public const int ParamRecoN = 46;
/* /*
* Define el separador entre parámetros de la llamada al proceso oliviatasks * Define el separador entre parámetros de la llamada al proceso oliviatasks
*/ */
@ -60,7 +60,6 @@ namespace OliviaAddInPro.Model
public const string EjecGeoProgName = "olivia"; public const string EjecGeoProgName = "olivia";
public const string EjecGeoParamIgual = ":"; public const string EjecGeoParamIgual = ":";
public const string NombOlvTasks = "OliviaTasks"; public const string NombOlvTasks = "OliviaTasks";
public const string NombColSector = "SECTOR";
/** /**
* Define el nombre del grupo de propiedades generales * Define el nombre del grupo de propiedades generales
*/ */
@ -531,6 +530,10 @@ namespace OliviaAddInPro.Model
public const string GTO_girmax = "Giro_max_vehiculo"; public const string GTO_girmax = "Giro_max_vehiculo";
public const string GTO_desv_max = "Desv_max_rel"; public const string GTO_desv_max = "Desv_max_rel";
public const string GTO_desv_max_abs = "Desv_max_abs"; public const string GTO_desv_max_abs = "Desv_max_abs";
public const string GTO_camp_objectid = "Camp_objectid";
public const string GTO_camp_sector = "Camp_sector";
public const string GTO_camp_secuencia = "Camp_secuencia";
/** /**
* Define el nombre para mandar a oliviatasks la configuración * Define el nombre para mandar a oliviatasks la configuración
*/ */

View File

@ -446,8 +446,6 @@ namespace OliviaAddInPro.Model
LimpiezaDef.Campos.consulta_observ = c.cons_obser; LimpiezaDef.Campos.consulta_observ = c.cons_obser;
LimpiezaDef.Campos.consulta_anch_tip = c.cons_anch_tip; LimpiezaDef.Campos.consulta_anch_tip = c.cons_anch_tip;
LimpiezaDef.Campos.consulta_tipolo = c.cons_tipolo; 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_esca = c.atr_esca;
LimpiezaDef.Atributos.atr_fuent = c.atr_fuent; LimpiezaDef.Atributos.atr_fuent = c.atr_fuent;
@ -540,10 +538,6 @@ namespace OliviaAddInPro.Model
LimpiezaDef.OtrosParam.anch_aplin = c.Ancho_ap_lin_def; LimpiezaDef.OtrosParam.anch_aplin = c.Ancho_ap_lin_def;
LimpiezaDef.OtrosParam.anch_apbat = c.Ancho_ap_bat_def; LimpiezaDef.OtrosParam.anch_apbat = c.Ancho_ap_bat_def;
LimpiezaDef.OtrosParam.anch_bordlib = c.Ancho_bord_lib_def; LimpiezaDef.OtrosParam.anch_bordlib = c.Ancho_bord_lib_def;
LimpiezaDef.OtrosParam.giro_max = c.Giro_max_vehiculo;
LimpiezaDef.OtrosParam.desv_max = c.Desv_max;
LimpiezaDef.OtrosParam.desv_max_abs = c.Desv_max_abs;
//Capas, consultas, atributos y filtros de RECOGIDA //Capas, consultas, atributos y filtros de RECOGIDA
@ -635,6 +629,13 @@ namespace OliviaAddInPro.Model
ComunDef.AtributosNW.atr_N = c.atr_N; ComunDef.AtributosNW.atr_N = c.atr_N;
ComunDef.AtributosNW.atr_pedes = c.atr_pedes; ComunDef.AtributosNW.atr_pedes = c.atr_pedes;
ComunDef.CamposCom.camp_oid = c.id;
ComunDef.CamposCom.consulta_sector = c.consulta_sector;
ComunDef.CamposCom.consulta_secuen = c.consulta_secuen;
ComunDef.CamposCom.giro_max = c.Giro_max_vehiculo;
ComunDef.CamposCom.desv_max = c.Desv_max;
ComunDef.CamposCom.desv_max_abs = c.Desv_max_abs;
} }
} }
} }

View File

@ -407,6 +407,9 @@
<UsingTask AssemblyFile="$(ArcGISFolder)\bin\proapp-sdk-MSBuild.dll" TaskName="proapp_sdk_MSBuild.ConvertToRelativePath" /> <UsingTask AssemblyFile="$(ArcGISFolder)\bin\proapp-sdk-MSBuild.dll" TaskName="proapp_sdk_MSBuild.ConvertToRelativePath" />
<!--<Import Project="Esri.ArcGISPro.Extensions.targets" Condition="Exists('Esri.ArcGISPro.Extensions.targets')" />--> <!--<Import Project="Esri.ArcGISPro.Extensions.targets" Condition="Exists('Esri.ArcGISPro.Extensions.targets')" />-->
<Import Project="$(ArcGISFolder)\bin\Esri.ProApp.SDK.Desktop.targets" Condition="Exists('$(ArcGISFolder)\bin\Esri.ProApp.SDK.Desktop.targets') AND !Exists('Esri.ArcGISPro.Extensions.targets')" /> <Import Project="$(ArcGISFolder)\bin\Esri.ProApp.SDK.Desktop.targets" Condition="Exists('$(ArcGISFolder)\bin\Esri.ProApp.SDK.Desktop.targets') AND !Exists('Esri.ArcGISPro.Extensions.targets')" />
<PropertyGroup>
<PostBuildEvent>copy $(ProjectDir)Model\OliviaDef.cs $(SolutionDir)..\Olivia\includes\Olivia\</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">

View File

@ -365,13 +365,13 @@ namespace OliviaAddInPro.Services
//Añade al shp exportado la columna de sector y secuencia //Añade al shp exportado la columna de sector y secuencia
HelperGdb.FieldToAdd[] fields = new HelperGdb.FieldToAdd[2]; HelperGdb.FieldToAdd[] fields = new HelperGdb.FieldToAdd[2];
//campo SECTOR //campo SECTOR
fields[0].Name = LimpiezaDef.Campos.consulta_sector; fields[0].Name = ComunDef.CamposCom.consulta_sector;
fields[0].Alias = LimpiezaDef.Campos.consulta_sector; fields[0].Alias = ComunDef.CamposCom.consulta_sector;
fields[0].Tipo = "LONG"; fields[0].Tipo = "LONG";
fields[0].Length = 0; fields[0].Length = 0;
//campo SECUENCIA //campo SECUENCIA
fields[1].Name = LimpiezaDef.Campos.consulta_secuen; fields[1].Name = ComunDef.CamposCom.consulta_secuen;
fields[1].Alias = LimpiezaDef.Campos.consulta_secuen; fields[1].Alias = ComunDef.CamposCom.consulta_secuen;
fields[1].Tipo = "LONG"; fields[1].Tipo = "LONG";
fields[1].Length = 0; fields[1].Length = 0;
@ -412,8 +412,8 @@ namespace OliviaAddInPro.Services
{ {
//context.Invalidate(rowshp); //context.Invalidate(rowshp);
// modify and execute // modify and execute
modifyOp.Modify(rowshp, LimpiezaDef.Campos.consulta_sector, rowsecto[LimpiezaDef.Campos.consulta_sector]); modifyOp.Modify(rowshp, ComunDef.CamposCom.consulta_sector, rowsecto[ComunDef.CamposCom.consulta_sector]);
modifyOp.Modify(rowshp, LimpiezaDef.Campos.consulta_secuen, rowsecto[LimpiezaDef.Campos.consulta_secuen]); modifyOp.Modify(rowshp, ComunDef.CamposCom.consulta_secuen, rowsecto[ComunDef.CamposCom.consulta_secuen]);
rowshp.Store(); rowshp.Store();
//context.Invalidate(rowshp); //context.Invalidate(rowshp);
} }
@ -588,8 +588,8 @@ namespace OliviaAddInPro.Services
int NCAMPS = 2; int NCAMPS = 2;
string[] camps; string[] camps;
camps = new string[NCAMPS]; camps = new string[NCAMPS];
camps[0] = LimpiezaDef.Campos.consulta_sector; camps[0] = ComunDef.CamposCom.consulta_sector;
camps[1] = LimpiezaDef.Campos.consulta_secuen; camps[1] = ComunDef.CamposCom.consulta_secuen;
return HelperGdb.CheckFiledsSync(pathCapa, camps) == 0; return HelperGdb.CheckFiledsSync(pathCapa, camps) == 0;
} }
@ -630,7 +630,7 @@ namespace OliviaAddInPro.Services
string path_import = res.Value; string path_import = res.Value;
//abre con valor único //abre con valor único
string path_lyr = path_import; string path_lyr = path_import;
var resb = HelperGdb.OpenLayerUniqueValue(path_lyr, LimpiezaDef.Campos.consulta_sector); var resb = HelperGdb.OpenLayerUniqueValue(path_lyr, ComunDef.CamposCom.consulta_sector);
if (!resb.Value) if (!resb.Value)
{ {
res.Error.Add("Error al abrir capa "+ path_lyr + " con Valor único. " + resb.Error.FirstOrDefault()); res.Error.Add("Error al abrir capa "+ path_lyr + " con Valor único. " + resb.Error.FirstOrDefault());
@ -685,7 +685,7 @@ namespace OliviaAddInPro.Services
for(i =0;i<NOPEN;i++) for(i =0;i<NOPEN;i++)
{ {
com.ProgrSrc.IncMessage((uint)(60 / NOPEN)); com.ProgrSrc.IncMessage((uint)(60 / NOPEN));
resb = HelperGdb.OpenLayerUniqueValue(path_lyr_arr[i], LimpiezaDef.Campos.consulta_sector, visible_arr[i]); resb = HelperGdb.OpenLayerUniqueValue(path_lyr_arr[i], ComunDef.CamposCom.consulta_sector, visible_arr[i]);
if (!resb.Value) if (!resb.Value)
break; break;
} }
@ -862,8 +862,8 @@ namespace OliviaAddInPro.Services
//mira a ver si hay que borrar para reemplazar //mira a ver si hay que borrar para reemplazar
if (sobreescribe) if (sobreescribe)
{ {
resp2 = HelperGdb.DeleteFeatureClassSync(GdbFileName, noms_gdb[i]); resp = HelperGdb.DeleteFeatureClassSync(GdbFileName, noms_gdb[i]);
if (!resp2.Value) if (resp.Value!=-2 && resp.Value!=1) //-2 porque puede ser que no pueda abrir la capa porque no existe
{ {
err_st = "Error al sobreescribir la capa " + noms_gdb[i]; err_st = "Error al sobreescribir la capa " + noms_gdb[i];
break; break;

View File

@ -74,10 +74,15 @@ namespace OliviaAddInPro.Services.LanzaSrv
//paths de archivos //paths de archivos
GeneralDef.EjecGeoParamSep + GeneralDef.GG_pd + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathData + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_pd + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathData + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GG_pn + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathNW + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_pn + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathNW + " " +
//nombres de cols de sector y secuencia
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_camp_sector + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.consulta_sector + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_camp_secuencia + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.consulta_secuen + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_camp_objectid + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.camp_oid + " " +
//giro max y desv //giro max y desv
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_girmax + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.giro_max + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GTO_girmax + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.giro_max + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_desv_max + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.desv_max + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GTO_desv_max + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.desv_max + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_desv_max_abs + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.desv_max_abs + " "; GeneralDef.EjecGeoParamSep + GeneralDef.GTO_desv_max_abs + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.desv_max_abs + " ";
//LimpiezaDef.Campos.consulta_sector;
} }
/** /**

View File

@ -61,7 +61,7 @@ namespace OliviaAddInPro.Services.LanzaSrv
else if (modo == ModosEjec.SoloPlanifica) else if (modo == ModosEjec.SoloPlanifica)
modo_str = GeneralDef.SockConfTodo; modo_str = GeneralDef.SockConfTodo;
var conf = ConfigServ.Serv.Leer(); var conf = ConfigServ.Serv.Leer();
//van ParamLimpN parámetros, sin incluir "CONFIGURACION", si se añaden, incrementar ParamLimpN //van ParamLimpN parámetros, sin incluir "CONFIGURACION", si se añaden, incrementar ParamRecoN
str = GeneralDef.EjecGeoParamSep + modo_str + " " + str = GeneralDef.EjecGeoParamSep + modo_str + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_cap + GeneralDef.EjecGeoParamIgual + conf.capac + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_cap + GeneralDef.EjecGeoParamIgual + conf.capac + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GR_kgM + GeneralDef.EjecGeoParamIgual + reco.KgMaxVehic + " " + GeneralDef.EjecGeoParamSep + GeneralDef.GR_kgM + GeneralDef.EjecGeoParamIgual + reco.KgMaxVehic + " " +