Merge remote-tracking branch 'origin/Elena/reco' into develop

# Conflicts:
#	Model/Limpieza.cs
#	Services/EjecServ.cs
ConfiguracionSimplificada
Gerardo 2022-02-09 00:31:05 +01:00
commit 14321508ad
15 changed files with 173 additions and 121 deletions

View File

@ -27,8 +27,6 @@ namespace OliviaAddInPro
{ {
///////////////////////////////////////////////////// /////////////////////////////////////////////////////
OliviaGlob.progrDialog= new ProgressDialog(
"Procesando", "Canceled", 100, false);
if (OliviaGlob.TipoEjec == TiposEjecucion.Ninguno) if (OliviaGlob.TipoEjec == TiposEjecucion.Ninguno)
{ {
///Comprueba que existe la red navegable configurada ///Comprueba que existe la red navegable configurada

View File

@ -25,8 +25,6 @@ namespace OliviaAddInPro
{ {
protected override void OnClick() protected override void OnClick()
{ {
OliviaGlob.progrDialog = new ProgressDialog(
"Procesando", "Canceled", 100, false);
if (OliviaGlob.TipoEjec==TiposEjecucion.Ninguno) if (OliviaGlob.TipoEjec==TiposEjecucion.Ninguno)
{ {
///Comprueba que existe la red navegable configurada ///Comprueba que existe la red navegable configurada

View File

@ -779,7 +779,7 @@ namespace OliviaAddInPro.Helper
return res; return res;
} }
public static bool ExportShp2(string pathLayerIn, SpatialQueryFilter filter, string nameShp, string outpath, CancelableProgressorSource cps) public static bool ExportShp2(string pathLayerIn, SpatialQueryFilter filter, string nameShp, string outpath, CancelableProgressorSource cps, int incmax=100)
{ {
if (!System.IO.Directory.Exists(outpath)) if (!System.IO.Directory.Exists(outpath))
System.IO.Directory.CreateDirectory(outpath); System.IO.Directory.CreateDirectory(outpath);
@ -796,7 +796,7 @@ namespace OliviaAddInPro.Helper
return false; return false;
} }
List<long> ids = new List<long>(); List<long> ids = new List<long>();
cps.Status = "Aplicando filtro espacial a exportación";
//Añade a la lista los ids que cumplen el filtro espacial //Añade a la lista los ids que cumplen el filtro espacial
using (RowCursor cursor = fc.Search(filter)) using (RowCursor cursor = fc.Search(filter))
{ {
@ -819,9 +819,9 @@ namespace OliviaAddInPro.Helper
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
///Exporta ///Exporta
cps.Status = "Exportando datos";
string[] args = { pathLayerIn, outpath, nameShp, whereClause }; string[] args = { pathLayerIn, outpath, nameShp, whereClause };
// execute the tool // execute the tool
uint valini = cps.Value;
IGPResult gpResult = Geoprocessing.ExecuteToolAsync("FeatureClassToFeatureClass_conversion", args, IGPResult gpResult = Geoprocessing.ExecuteToolAsync("FeatureClassToFeatureClass_conversion", args,
null, cps.CancellationTokenSource.Token, null, cps.CancellationTokenSource.Token,
@ -837,10 +837,7 @@ namespace OliviaAddInPro.Helper
case "OnProgressMessage": case "OnProgressMessage":
{ {
string msg = string.Format("{0}: {1}", new object[] { event_name, (string)o }); string msg = string.Format("{0}: {1}", new object[] { event_name, (string)o });
Debug.WriteLine(msg); Debug.WriteLine(msg); ;
;
//System.Windows.MessageBox.Show(msg);
//_cts.Cancel();
} }
break; break;
@ -848,10 +845,10 @@ namespace OliviaAddInPro.Helper
{ {
string msg2 = string.Format("{0}: {1} %", new object[] { event_name, (int)o }); string msg2 = string.Format("{0}: {1} %", new object[] { event_name, (int)o });
Debug.WriteLine(msg2); Debug.WriteLine(msg2);
var av = (int)0; var av = (int)o;
if (av > 0) if (av > 0)
{ {
cps.Value = (uint)(80 * av * 0.2); cps.Value += (uint)((float)av/100*Math.Min(incmax, cps.Max-valini));
} }
// if ((int)o < 0) // if ((int)o < 0)
//System.Windows.MessageBox.Show(msg2); //System.Windows.MessageBox.Show(msg2);
@ -860,8 +857,22 @@ namespace OliviaAddInPro.Helper
} }
} }
}).Result; }).Result;
cps.Status = "Finalizando exportacion";
if (gpResult.IsCanceled)
{
cps.CancellationTokenSource.Cancel();
return false;
}
if(gpResult.IsFailed)
{
string msg;
if (gpResult.ErrorMessages != null)
msg = gpResult.ErrorMessages.First().Text;
else
msg = "Errores en la exportación";
OutStr = "Error: " + msg;
return false;
}
return true; return true;
} }
catch (Exception ex) catch (Exception ex)
@ -946,7 +957,6 @@ namespace OliviaAddInPro.Helper
*/ */
cps.Status = "Guardando geometria a shp"; cps.Status = "Guardando geometria a shp";
//var progSrc = new CancelableProgressorSource();
string[] args = { pathLayerIn, outpath }; string[] args = { pathLayerIn, outpath };
// execute the tool // execute the tool
IGPResult gpResult = Geoprocessing.ExecuteToolAsync("FeatureClassToShapefile_conversion", args, IGPResult gpResult = Geoprocessing.ExecuteToolAsync("FeatureClassToShapefile_conversion", args,

View File

@ -8,6 +8,7 @@ using ArcGIS.Desktop.Internal.Framework.Controls;
using ArcGIS.Desktop.Framework.Dialogs; using ArcGIS.Desktop.Framework.Dialogs;
using System.Windows; using System.Windows;
using System.IO; using System.IO;
using ArcGIS.Desktop.Framework.Threading.Tasks;
namespace OliviaAddInPro.Helper namespace OliviaAddInPro.Helper
{ {
@ -79,5 +80,28 @@ namespace OliviaAddInPro.Helper
} }
} }
}
public class MyCancelableProgressorSource
{
public CancelableProgressorSource _ProgrSrc;
public MyCancelableProgressorSource(ProgressDialog prodlg)
{
_ProgrSrc = new CancelableProgressorSource(prodlg);
_ProgrSrc.Max = 100;
}
public void Init(string stat)
{
_ProgrSrc.Value = 0;
_ProgrSrc.Status = stat;
}
public void IncMessage(uint inc, string mes)
{
if ((_ProgrSrc.Value + inc) < _ProgrSrc.Max)
_ProgrSrc.Value += inc;
_ProgrSrc.Message = mes;
}
} }
} }

View File

@ -53,12 +53,13 @@ namespace OliviaAddInPro.Model
Serv = new LimpiezaServ(this); Serv = new LimpiezaServ(this);
LanzaSrv = new LanzaLimpSrv(); LanzaSrv = new LanzaLimpSrv();
ProceSrv = new ProcesoEjecServ(); ProceSrv = new ProcesoEjecServ();
ProgrSrc = new MyCancelableProgressorSource(OliviaGlob.progrDialog);
} }
public TareaRes Ejecuta(ModosEjec modo, CancelableProgressorSource cps) public TareaRes Ejecuta(ModosEjec modo)
{ {
TareaRes res = null; TareaRes res = null;
res = Serv.Ejecuta(modo, cps); res = Serv.Ejecuta(modo);
if (!res.Errores) if (!res.Errores)
{ {
var res1=LanzaSrv.ejec(this, modo, TipoTtoStr); var res1=LanzaSrv.ejec(this, modo, TipoTtoStr);
@ -68,7 +69,7 @@ namespace OliviaAddInPro.Model
ProceSrv.Puerto = conf.Puerto; ProceSrv.Puerto = conf.Puerto;
ProceSrv.Ip = conf.Ip; ProceSrv.Ip = conf.Ip;
res1 = ProceSrv.start(LanzaSrv.str_cfg, cps); res1 = ProceSrv.start(LanzaSrv.str_cfg, ProgrSrc._ProgrSrc);
} }
if (res1.HasError) if (res1.HasError)
@ -80,16 +81,13 @@ namespace OliviaAddInPro.Model
} }
return res; return res;
} }
public async void EjecutaAsync(ModosEjec modo, CancelableProgressorSource cps, Action<TareaRes> ffin) public async void EjecutaAsync(ModosEjec modo, Action<TareaRes> ffin)
{ {
await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() => await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{ {
cps.Status = "Procesando"; var res = Ejecuta(modo);
cps.Value = 0;
var res = Ejecuta(modo, cps);
ffin(res); ffin(res);
return res; return res;
}); });
} }

View File

@ -75,9 +75,9 @@ namespace OliviaAddInPro.Model
public static string ftclass_ejes; //<Nombre de la capa de ejes de carretera public static string ftclass_ejes; //<Nombre de la capa de ejes de carretera
public static string ftclass_muni; //<Nombre de la capa de municipios de TOMTOM public static string ftclass_muni; //<Nombre de la capa de municipios de TOMTOM
}; };
private static TiposEjecucion tipoEjec = TiposEjecucion.Ninguno; private static TiposEjecucion tipoEjec;
public static Limpieza limp = new Limpieza(); public static Limpieza limp;
private static Recogida reco = new Recogida(); private static Recogida reco;
#region Properties #region Properties
public static TiposEjecucion TipoEjec public static TiposEjecucion TipoEjec
@ -102,9 +102,11 @@ namespace OliviaAddInPro.Model
public static void Inicia() public static void Inicia()
{ {
tipoEjec = TiposEjecucion.Ninguno;
IniDefault(); IniDefault();
LimpiezaDef.iniciaLimpDef(); LimpiezaDef.iniciaLimpDef();
RecogidaDef.iniciaRecoDef(); RecogidaDef.iniciaRecoDef();
progrDialog = new ProgressDialog("Procesando", Resource1.String_cancel_progreso, 100, false);
limp = new Limpieza(); limp = new Limpieza();
reco = new Recogida(); reco = new Recogida();
SpatRef = ArcGIS.Core.Geometry.SpatialReferenceBuilder.CreateSpatialReference(GeneralDef.SpatRefDef); SpatRef = ArcGIS.Core.Geometry.SpatialReferenceBuilder.CreateSpatialReference(GeneralDef.SpatRefDef);

View File

@ -59,10 +59,6 @@ namespace OliviaAddInPro.Model
* grados en º de giro del vehículo * grados en º de giro del vehículo
*/ */
public int GiroVehic { get; set; } = 0; public int GiroVehic { get; set; } = 0;
/**
* Coordenadas de la planta de descarga
*/
public Coordinate2D CoordsPlanta { get; set; } = new Coordinate2D(0, 0);
/* /*
* *
@ -76,23 +72,22 @@ namespace OliviaAddInPro.Model
public Recogida() public Recogida()
{ {
Serv = new RecogidaServ(this); Serv = new RecogidaServ(this);
ProgrSrc = new MyCancelableProgressorSource(OliviaGlob.progrDialog);
} }
public TareaRes Ejecuta(ModosEjec modo, CancelableProgressorSource cps) public TareaRes Ejecuta(ModosEjec modo)
{ {
TareaRes res = null; TareaRes res = null;
res = Serv.Ejecuta(modo, cps); res = Serv.Ejecuta(modo);
return res; return res;
} }
public async void EjecutaAsync(ModosEjec modo, CancelableProgressorSource cps, Action<TareaRes> ffin) public async void EjecutaAsync(ModosEjec modo, Action<TareaRes> ffin)
{ {
await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() => await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{ {
cps.Status = "Procesando"; var res = Ejecuta(modo);
cps.Value = 0;
var res = Ejecuta(modo, cps);
ffin(res); ffin(res);
return res; return res;

View File

@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using ArcGIS.Core.Geometry; using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Internal.Layouts.Utilities; using ArcGIS.Desktop.Internal.Layouts.Utilities;
using OliviaAddInPro.Helper;
namespace OliviaAddInPro.Model namespace OliviaAddInPro.Model
{ {
@ -61,6 +62,10 @@ namespace OliviaAddInPro.Model
* Coordenadas de la instalación * Coordenadas de la instalación
*/ */
public Coordinate2D CoordsInstal { get; set; } = new Coordinate2D(0, 0); public Coordinate2D CoordsInstal { get; set; } = new Coordinate2D(0, 0);
/**
* Coordenadas de la planta de descarga, solo hace falta para recogida
*/
public Coordinate2D CoordsPlanta { get; set; } = new Coordinate2D(0, 0);
/** /**
* Buffer para la exportación, en metros * Buffer para la exportación, en metros
*/ */
@ -121,5 +126,10 @@ namespace OliviaAddInPro.Model
set { err_str = value;} set { err_str = value;}
} }
/**
* Para la ventana de progreso
*/
public MyCancelableProgressorSource ProgrSrc;
} }
} }

9
Resource1.Designer.cs generated
View File

@ -60,6 +60,15 @@ namespace OliviaAddInPro {
} }
} }
/// <summary>
/// Busca una cadena traducida similar a Se ha cancelado la operación.
/// </summary>
internal static string String_cancel_progreso {
get {
return ResourceManager.GetString("String_cancel_progreso", resourceCulture);
}
}
/// <summary> /// <summary>
/// Busca una cadena traducida similar a General. /// Busca una cadena traducida similar a General.
/// </summary> /// </summary>

View File

@ -117,6 +117,9 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="String_cancel_progreso" xml:space="preserve">
<value>Se ha cancelado la operación</value>
</data>
<data name="String_ConfigGeneralView" xml:space="preserve"> <data name="String_ConfigGeneralView" xml:space="preserve">
<value>General</value> <value>General</value>
</data> </data>

View File

@ -37,11 +37,12 @@ namespace OliviaAddInPro.Services
* Modo 0, sectorizar * Modo 0, sectorizar
* Modo 1, planificar * Modo 1, planificar
*/ */
public bool LanzaEjec(ModosEjec modo, CancelableProgressorSource cps, out string ErrStr) public bool LanzaEjec(ModosEjec modo, out string ErrStr)
{ {
ErrStr = string.Empty; ErrStr = string.Empty;
try try
{ {
com.ProgrSrc.Init("Exportando datos");
//Comprueba que tiene las columnas necesarias para planificar //Comprueba que tiene las columnas necesarias para planificar
if ((modo == ModosEjec.Planifica) && !CompruebaPlanif()) if ((modo == ModosEjec.Planifica) && !CompruebaPlanif())
{ {
@ -57,7 +58,7 @@ namespace OliviaAddInPro.Services
return false; return false;
} }
cps.Status = "Exportando geometria"; com.ProgrSrc.IncMessage(0, "Exportando geometria");
//Obtiene la geometría que envuelve a los ámbitos //Obtiene la geometría que envuelve a los ámbitos
Geometry geom_export = null; Geometry geom_export = null;
@ -82,23 +83,26 @@ namespace OliviaAddInPro.Services
//se consigue el tiempo en este instante para añadirlo a los nombres de los archivos de salida (shapefiles) //se consigue el tiempo en este instante para añadirlo a los nombres de los archivos de salida (shapefiles)
fechaHora = DateTime.Now.ToString("yyyyMMdd_Hmmss"); fechaHora = DateTime.Now.ToString("yyyyMMdd_Hmmss");
//Pone nombre al shape en función de los ámbitos, el tratamiento, y los polígonos + timestamp //Pone nombre al shape en función de los ámbitos, el tratamiento, y los polígonos + timestamp
com.NombreShpExport = prefNameExport + com.NombreShpExp_PrefTto +"_" + fechaHora + extShp; com.NombreShpExport = prefNameExport + com.NombreShpExp_PrefTto + "_" + fechaHora + extShp;
com.ProgrSrc.IncMessage(10, "Exportando ámbitos de trabajo");
//exporta los datos de entrada //exporta los datos de entrada
if (!HelperGdb.ExportShp2(com.CapaElems, filtroEspacial, com.NombreShpExport, OliviaGlob.Paths.DirData, cps)) if (!HelperGdb.ExportShp2(com.CapaElems, filtroEspacial, com.NombreShpExport, OliviaGlob.Paths.DirData, com.ProgrSrc._ProgrSrc, 40))
//if (!HelperGdb.ExportShp(com.CapaElems, filtroEspacial, com.NombreShpExport, OliviaGlob.Paths.DirData, cps, out ErrStr))
{ {
ErrStr = "Error al exportar los ámbitos: "+ HelperGdb.OutStr; ErrStr = "Error al exportar los ámbitos: " + HelperGdb.OutStr;
return false;
}
if (com.ProgrSrc._ProgrSrc.CancellationTokenSource.IsCancellationRequested)
{
ErrStr = Resource1.String_cancel_progreso;
return false; return false;
} }
//Guarda el nombre //Guarda el nombre
OliviaGlob.Paths.PathData = OliviaGlob.Paths.DirData + com.NombreShpExport; OliviaGlob.Paths.PathData = OliviaGlob.Paths.DirData + com.NombreShpExport;
if(cps.CancellationTokenSource.IsCancellationRequested)
{ com.ProgrSrc.IncMessage(50, "Preparando exportación de red navegable");
ErrStr = "Se ha cancelado la operación";
return false;
}
cps.Value = 80;
//hace intersecciones espaciales en caso de ámbitos lineales para quitar los que tienen más parte fuera de la zona que dentro //hace intersecciones espaciales en caso de ámbitos lineales para quitar los que tienen más parte fuera de la zona que dentro
//REVISAR //REVISAR
/*if (((com.GeomNiv != null) || (com.GeomZon != null)) && /*if (((com.GeomNiv != null) || (com.GeomZon != null)) &&
@ -113,7 +117,7 @@ namespace OliviaAddInPro.Services
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
//comprueba, si hay restricciones de circulación y hay instalación, que la instalación no está en ellas //comprueba, si hay restricciones de circulación y hay instalación, que la instalación no está en ellas
if (!com.CoordsInstal.IsEmpty && (com.CoordsInstal.X!=0) && (com.GeomRestr != null)) if (!com.CoordsInstal.IsEmpty && (com.CoordsInstal.X != 0) && (com.GeomRestr != null))
{ {
Respuesta<bool> resp = HelperGdb.IsPtoInGeom(com.CoordsInstal, com.GeomRestr); Respuesta<bool> resp = HelperGdb.IsPtoInGeom(com.CoordsInstal, com.GeomRestr);
if (!resp.Value && resp.HasError) if (!resp.Value && resp.HasError)
@ -121,42 +125,44 @@ namespace OliviaAddInPro.Services
ErrStr = "Error al comprobar si la instalación está contenida en el polígono de restricciones: " + resp.Error.ElementAt(0); ErrStr = "Error al comprobar si la instalación está contenida en el polígono de restricciones: " + resp.Error.ElementAt(0);
return false; return false;
} }
else if(resp.Value) //sí está contenido en las restricciones else if (resp.Value) //sí está contenido en las restricciones
{ {
ErrStr = "Error, la instalación está en la zona restringida a la circulación "; ErrStr = "Error, la instalación está en la zona restringida a la circulación ";
return false; return false;
} }
} }
if (cps.CancellationTokenSource.IsCancellationRequested)
{
ErrStr = "Se ha cancelado la operación";
return false;
}
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
//exporta la red navegable (buffer, le quita las restr...) //exporta la red navegable (buffer, le quita las restr...)
//se obtiene la geometría a intersecar con la red, que será la que contiene //se obtiene la geometría a intersecar con la red, que será la que contiene
//a todos los ámbitos y la instalación, ampliada un buffer, mayor si hay //a todos los ámbitos y la instalación, ampliada un buffer, mayor si hay
//restricciones de circulación //restricciones de circulación
Geometry geom_aux = HelperGdb.BufferGeom(geom_export, com.BuffExport).Value; geom_export = HelperGdb.BufferGeom(geom_export, com.BuffExport).Value;
if(geom_aux==null) if (geom_export == null)
{ {
ErrStr = "Error al añadir buffer a la geometría"; ErrStr = "Error al añadir buffer a la geometría";
return false; return false;
} }
//quita las restricciones //quita las restricciones
geom_aux = HelperGdb.QuitaGeom(geom_aux, com.GeomRestr); if (com.GeomRestr != null)
if (geom_aux == null) {
geom_export = HelperGdb.QuitaGeom(geom_export, com.GeomRestr);
if (geom_export == null)
{ {
ErrStr = "Error al intersecar con las restricciones."; ErrStr = "Error al intersecar con las restricciones.";
return false; return false;
} }
geom_export = geom_aux; }
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////
//comprueba si la geometría de exportación contiene a la instalación //comprueba si la geometría de exportación contiene a la instalación y a la planta de descarga
if (!com.CoordsInstal.IsEmpty && (com.CoordsInstal.X != 0)) Coordinate2D[] coords = { com.CoordsInstal, com.CoordsPlanta };
for (int i = 0; i < coords.Length; i++)
{ {
Respuesta<bool> resp = HelperGdb.IsPtoInGeom(com.CoordsInstal, geom_export); if (!coords[i].IsEmpty && (coords[i].X != 0))
{
Respuesta<bool> resp = HelperGdb.IsPtoInGeom(coords[i], geom_export);
if (!resp.Value) //si no lo contiene if (!resp.Value) //si no lo contiene
{ {
//ha ido mal //ha ido mal
@ -168,7 +174,7 @@ namespace OliviaAddInPro.Services
else else
{ {
//amplía la geom //amplía la geom
Respuesta<ArcGIS.Core.Geometry.Geometry> respGeom = HelperGdb.AddPtoInGeom(com.CoordsInstal, geom_export); Respuesta<ArcGIS.Core.Geometry.Geometry> respGeom = HelperGdb.AddPtoInGeom(coords[i], geom_export);
if (respGeom.Value == null) if (respGeom.Value == null)
{ {
//ha ido mal //ha ido mal
@ -183,6 +189,8 @@ namespace OliviaAddInPro.Services
} }
} }
} }
}
//Hace el filtro con la geometría final //Hace el filtro con la geometría final
filtroEspacial = HelperGdb.CreateFiler(String.Empty, geom_export); filtroEspacial = HelperGdb.CreateFiler(String.Empty, geom_export);
if (filtroEspacial == null) if (filtroEspacial == null)
@ -191,22 +199,22 @@ namespace OliviaAddInPro.Services
return false; return false;
} }
//Prepara naombre de exportación com.ProgrSrc.IncMessage(60, "Exportando red navegable");
//Prepara nombre de exportación
com.NombreShpExportNw = prefNameExportNw + fechaHora + extShp; com.NombreShpExportNw = prefNameExportNw + fechaHora + extShp;
//exporta los datos de entrada //exporta los datos de entrada
string capaNw =OliviaGlob.Paths.PathGdbNw; string capaNw =System.IO.Path.Combine(OliviaGlob.Paths.PathGdbNw, OliviaGlob.Capas.ftclass_ejes);
//if (!HelperGdb.ExportShp(capaNw, filtroEspacial, com.NombreShpExportNw, OliviaGlob.Paths.DirData, cps, out ErrStr)) if (!HelperGdb.ExportShp2(capaNw, filtroEspacial, com.NombreShpExportNw, OliviaGlob.Paths.DirData, com.ProgrSrc._ProgrSrc,40))
if (!HelperGdb.ExportShp2(capaNw, filtroEspacial, com.NombreShpExportNw, OliviaGlob.Paths.DirData, cps))
{ {
ErrStr = "Error al exportar la red navegable: " + HelperGdb.OutStr; ErrStr = "Error al exportar la red navegable: " + HelperGdb.OutStr;
return false; return false;
} }
//guarda los nombres del shape //guarda los nombres del shape
OliviaGlob.Paths.PathNW = OliviaGlob.Paths.DirData + com.NombreShpExportNw; OliviaGlob.Paths.PathNW = OliviaGlob.Paths.DirData + com.NombreShpExportNw;
if (com.ProgrSrc._ProgrSrc.CancellationTokenSource.IsCancellationRequested)
if (cps.CancellationTokenSource.IsCancellationRequested)
{ {
ErrStr = "Se ha cancelado la operación"; ErrStr = Resource1.String_cancel_progreso;
return false; return false;
} }
} }

View File

@ -27,7 +27,7 @@ namespace OliviaAddInPro.Services
* Modo 0, sectorizar * Modo 0, sectorizar
* Modo 1, planificar * Modo 1, planificar
*/ */
public TareaRes Ejecuta(ModosEjec modo, CancelableProgressorSource cps) public TareaRes Ejecuta(ModosEjec modo)
{ {
var res = new TareaRes() var res = new TareaRes()
{ {
@ -35,10 +35,10 @@ namespace OliviaAddInPro.Services
data = null, data = null,
msg = "" msg = ""
}; };
MyCancelableProgressorSource cps = limp.ProgrSrc;
com = (TratamientoComun)limp; com = (TratamientoComun)limp;
string nombFileAmbs = string.Empty; string nombFileAmbs = string.Empty;
cps.Status = "Preparando filtro para la exportacion";
//Prepara consulta //Prepara consulta
ErrStr = string.Empty; ErrStr = string.Empty;
if (!PreparaConsulta(out nombFileAmbs)) if (!PreparaConsulta(out nombFileAmbs))
@ -47,14 +47,13 @@ namespace OliviaAddInPro.Services
res.Errores = true; res.Errores = true;
return res; return res;
} }
cps.Value = 5;
//Prepara nombre //Prepara nombre
limp.NombreShpExp_PrefTto = "T" + limp.TipoTto.ToString("00") + nombFileAmbs + DameStrPoligs(); limp.NombreShpExp_PrefTto = "T" + limp.TipoTto.ToString("00") + nombFileAmbs + DameStrPoligs();
string msg = ""; string msg = "";
//comienza ejecucion //comienza ejecucion
if(!LanzaEjec(ModosEjec.Sectoriza, cps, out msg)) if(!LanzaEjec(modo, out msg))
{ {
res.Errores = true; res.Errores = true;
res.msg = msg; res.msg = msg;

View File

@ -18,6 +18,7 @@ namespace OliviaAddInPro.Services
public RecogidaServ(Recogida _reco) public RecogidaServ(Recogida _reco)
{ {
reco = _reco; reco = _reco;
RellenaFiltrosReco();
} }
/* /*
@ -60,7 +61,7 @@ namespace OliviaAddInPro.Services
* Modo 0, sectorizar * Modo 0, sectorizar
* Modo 1, planificar * Modo 1, planificar
*/ */
public TareaRes Ejecuta(ModosEjec modo, CancelableProgressorSource cps) public TareaRes Ejecuta(ModosEjec modo)
{ {
var res = new TareaRes() var res = new TareaRes()
{ {
@ -71,7 +72,7 @@ namespace OliviaAddInPro.Services
com = (TratamientoComun)reco; com = (TratamientoComun)reco;
string nombFileAmbs = string.Empty; string nombFileAmbs = string.Empty;
cps.Status = "Preparando filtro para la exportacion";
//Prepara consulta //Prepara consulta
ErrStr = string.Empty; ErrStr = string.Empty;
@ -81,7 +82,6 @@ namespace OliviaAddInPro.Services
res.Errores = true; res.Errores = true;
return res; return res;
} }
cps.Value = 10;
//Prepara nombre //Prepara nombre
//Pone nombre al shape en función de los ámbitos, el tratamiento, y los polígonos + timestamp //Pone nombre al shape en función de los ámbitos, el tratamiento, y los polígonos + timestamp
@ -89,7 +89,7 @@ namespace OliviaAddInPro.Services
string msg = ""; string msg = "";
//comienza ejecucion //comienza ejecucion
if (!LanzaEjec(ModosEjec.Sectoriza, cps, out msg)) if (!LanzaEjec(modo, out msg))
{ {
res.Errores = true; res.Errores = true;
res.msg = msg; res.msg = msg;

View File

@ -174,7 +174,6 @@ namespace OliviaAddInPro
OliviaGlob.progrDialog.Show(); OliviaGlob.progrDialog.Show();
var progSrc = new CancelableProgressorSource(OliviaGlob.progrDialog);
if (!Lee(out err)) if (!Lee(out err))
{ {
@ -183,7 +182,7 @@ namespace OliviaAddInPro
} }
Action<TareaRes> ac = finEjecuta; Action<TareaRes> ac = finEjecuta;
OliviaGlob.Limp.EjecutaAsync(modo, progSrc, ac); OliviaGlob.Limp.EjecutaAsync(modo, ac);
} }
public void finEjecuta(TareaRes res) public void finEjecuta(TareaRes res)
{ {

View File

@ -225,7 +225,6 @@ namespace OliviaAddInPro
{ {
string err = ""; string err = "";
OliviaGlob.progrDialog.Show(); OliviaGlob.progrDialog.Show();
var progSrc = new CancelableProgressorSource(OliviaGlob.progrDialog);
if (!Lee(out err)) if (!Lee(out err))
{ {
HelperGlobal.ponMsg(err); HelperGlobal.ponMsg(err);
@ -233,7 +232,7 @@ namespace OliviaAddInPro
} }
Action<TareaRes> ac = finEjecuta; Action<TareaRes> ac = finEjecuta;
OliviaGlob.Reco.EjecutaAsync(modo, progSrc, ac); OliviaGlob.Reco.EjecutaAsync(modo, ac);
} }
public void finEjecuta(TareaRes res) public void finEjecuta(TareaRes res)