Merge branch 'Elena/import' into develop
# Conflicts: # Services/FinProcServ.csElena/develop
commit
00182b5260
|
|
@ -1403,5 +1403,24 @@ namespace OliviaAddInPro.Helper
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Dado un nombre de capa mira si está abierta y la cierra
|
||||
*/
|
||||
public static bool CloseLayer(string nombCapa)
|
||||
{
|
||||
try
|
||||
{
|
||||
var lyr = MapView.Active.Map.FindLayers(nombCapa).FirstOrDefault() as FeatureLayer;
|
||||
if (lyr == null)
|
||||
return false;
|
||||
MapView.Active.Map.RemoveLayer(lyr);
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,22 +20,44 @@ namespace OliviaAddInPro.Services
|
|||
if (res.HasError)
|
||||
{
|
||||
msg = res.Error.First();
|
||||
//actualiza los flags
|
||||
OliviaGlob.RemoveFlagTipEjec(TiposEjecucion.FinEjecNOk);
|
||||
}
|
||||
else
|
||||
{
|
||||
msg = Resource1.String_exito;
|
||||
bool todoOk = true;
|
||||
//importa resultados
|
||||
if (OliviaGlob.HasFlagTipEjec(TiposEjecucion.EjecSecto)) //Ha terminado bien la sectorización
|
||||
{
|
||||
/*if (!gdb.import_secto_ini())
|
||||
{
|
||||
todoOk=false;
|
||||
msg = msg + " " + gdb.err_st;
|
||||
}*/
|
||||
}
|
||||
else if (OliviaGlob.HasFlagTipEjec(TiposEjecucion.EjecPlanif)) //Ha terminado bien la planificación
|
||||
{
|
||||
/*guarda_csv();
|
||||
if (!gdb.import_planif())
|
||||
{
|
||||
todoOk=false;
|
||||
msg = msg + " " + gdb.err_st;
|
||||
}*/
|
||||
}
|
||||
//actualiza los flags
|
||||
OliviaGlob.RemoveFlagTipEjec(TiposEjecucion.FinEjecOk);
|
||||
if (todoOk)
|
||||
{
|
||||
//pone modo config2
|
||||
OliviaGlob.AddFlagTipEjec(TiposEjecucion.Config2);
|
||||
}
|
||||
}
|
||||
|
||||
//importa resultados
|
||||
|
||||
//borra los archivos que le toca borrar
|
||||
//hay una funcion borrafiles en EjecServ, usar esa?
|
||||
//pone modo config2
|
||||
|
||||
|
||||
BorraFiles();
|
||||
HelperGlobal.ponMsg(msg);
|
||||
|
||||
Application.Current.Dispatcher.Invoke(new Action(() => { finEjecuta2(); }));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -46,62 +68,7 @@ namespace OliviaAddInPro.Services
|
|||
OliviaGlob.ShowHidePane(true);
|
||||
}
|
||||
|
||||
//se le llama cuando ha terminado el proceso de ejecución en Olivia Tasks
|
||||
//puede haber ido bien, haberse cancelado, etc. En función de ello se realizan
|
||||
//unas tareas u otras
|
||||
public void FinProceso()
|
||||
{
|
||||
bool mal = true;
|
||||
string err = "";
|
||||
|
||||
if (OliviaGlob.HasFlagTipEjec(TiposEjecucion.FinEjecOk)) //ha terminado bien
|
||||
{
|
||||
if (OliviaGlob.HasFlagTipEjec(TiposEjecucion.EjecSecto)) //Ha terminado bien la sectorización
|
||||
{
|
||||
/*if (gdb.import_secto_ini())
|
||||
{
|
||||
mal = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
mal = true;
|
||||
err = gdb.err_st;
|
||||
}*/
|
||||
}
|
||||
else if (OliviaGlob.HasFlagTipEjec(TiposEjecucion.EjecPlanif)) //Ha terminado bien la planificación
|
||||
{
|
||||
/*guarda_csv();
|
||||
if (gdb.import_planif())
|
||||
{
|
||||
mal = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
mal = true;
|
||||
err = gdb.err_st;
|
||||
}*/
|
||||
}
|
||||
//actualiza los flags
|
||||
OliviaGlob.RemoveFlagTipEjec(TiposEjecucion.FinEjecOk);
|
||||
OliviaGlob.AddFlagTipEjec(TiposEjecucion.Config2);
|
||||
}
|
||||
else if(OliviaGlob.HasFlagTipEjec(TiposEjecucion.FinEjecNOk)) //ha habido error
|
||||
{
|
||||
/*mal = true;
|
||||
err = progr_eje.err_str;*/
|
||||
//actualiza los flags
|
||||
OliviaGlob.RemoveFlagTipEjec(TiposEjecucion.FinEjecNOk);
|
||||
}
|
||||
|
||||
if (mal)
|
||||
{
|
||||
HelperGlobal.ponMsg(err, System.Windows.MessageBoxImage.Error);
|
||||
|
||||
}
|
||||
|
||||
OliviaGlob.ShowHidePane(true);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Borra los archivos exportados para el proceso
|
||||
|
|
@ -114,26 +81,30 @@ namespace OliviaAddInPro.Services
|
|||
|
||||
try
|
||||
{
|
||||
if (capa_principal == null)
|
||||
return;
|
||||
list = System.IO.Directory.GetFiles(OliviaGlob.Paths.DirData, capa_principal + "*");
|
||||
if (list.Length > 0)
|
||||
if (capa_principal != null && HelperGdb.CloseLayer(capa_principal))
|
||||
{
|
||||
foreach (string f in list)
|
||||
list = System.IO.Directory.GetFiles(OliviaGlob.Paths.DirData, capa_principal + "*");
|
||||
if (list.Length > 0)
|
||||
{
|
||||
if (System.IO.Path.GetExtension(f) == ".lock")
|
||||
continue;
|
||||
System.IO.File.Delete(f);
|
||||
foreach (string f in list)
|
||||
{
|
||||
if (System.IO.Path.GetExtension(f) == ".lock")
|
||||
continue;
|
||||
System.IO.File.Delete(f);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (capa_principal_nw == null)
|
||||
return;
|
||||
list = System.IO.Directory.GetFiles(OliviaGlob.Paths.DirData, capa_principal_nw + "*");
|
||||
if (list.Length > 0)
|
||||
if (capa_principal_nw != null && HelperGdb.CloseLayer(capa_principal_nw))
|
||||
{
|
||||
foreach (string f in list)
|
||||
list = System.IO.Directory.GetFiles(OliviaGlob.Paths.DirData, capa_principal_nw + "*");
|
||||
if (list.Length > 0)
|
||||
{
|
||||
System.IO.File.Delete(f);
|
||||
foreach (string f in list)
|
||||
{
|
||||
if (System.IO.Path.GetExtension(f) == ".lock")
|
||||
continue;
|
||||
System.IO.File.Delete(f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,9 +43,6 @@ namespace OliviaAddInPro.Services.LanzaSrv
|
|||
NombreTratamiento = NTratamiento;
|
||||
add_cfg_comun();
|
||||
|
||||
//lanza ventana marchando que lanza proceso en bucle para actualizar barra progreso
|
||||
//OliviaGlob.progr_eje = new ProgresoEjec();
|
||||
|
||||
//lanza proceso OliviaTask
|
||||
var res = lanza();
|
||||
if (!res.Value)
|
||||
|
|
@ -54,8 +51,6 @@ namespace OliviaAddInPro.Services.LanzaSrv
|
|||
return res;
|
||||
}
|
||||
|
||||
//OliviaGlob.progr_eje.start(str_cfg);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
|
@ -107,6 +102,7 @@ namespace OliviaAddInPro.Services.LanzaSrv
|
|||
GeneralDef.EjecGeoParamSep + GeneralDef.GG_pcfg + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathCfg + "D:\\Proyectos\\Olivia\\Instal2.0\\cfg.ini";
|
||||
|
||||
pfi = new ProcessStartInfo(OliviaGlob.Paths.PathExeOlivia, args);
|
||||
pfi.UseShellExecute = false;
|
||||
System.Diagnostics.Process.Start(pfi);
|
||||
|
||||
//comprueba que haya arrancado OliviaTask
|
||||
|
|
@ -183,5 +179,38 @@ namespace OliviaAddInPro.Services.LanzaSrv
|
|||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Comprueba si OliviaTask ha salido y le espera durante T seg. Si no, para la tarea
|
||||
* return true si ha terminado, false si no
|
||||
*/
|
||||
private bool EsperaProcess(string nombproc)
|
||||
{
|
||||
bool esta_geo = true;
|
||||
Process[] pg;
|
||||
|
||||
//le da 3 seg de margen para que se cierre
|
||||
pg = Is_process(nombproc, 1, false);
|
||||
esta_geo = (pg != null);
|
||||
|
||||
if (esta_geo)
|
||||
{
|
||||
//mata a la fuerza la tarea
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < pg.Length; i++)
|
||||
{
|
||||
pg[i].Kill();
|
||||
if (pg[i].WaitForExit(500))
|
||||
esta_geo = false;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
esta_geo = false;
|
||||
}
|
||||
}
|
||||
return !esta_geo;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ namespace OliviaAddInPro.Services
|
|||
return res;
|
||||
}
|
||||
res.Value = true;
|
||||
|
||||
return res;
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue