Lee y almacena la secuencia que le viene en la capa

Gerardo/estandarizacion
Elena 2022-12-22 00:29:58 +01:00
parent a39107cb93
commit adf96d4cb4
8 changed files with 41 additions and 20 deletions

View File

@ -60,6 +60,7 @@ Colv_limp::Colv_limp(COlivia *olv)
tipo_shp_viaj=OLV_SHPRUTINST;//OLV_SHPRUT_SHPINST tipo_shp_viaj=OLV_SHPRUTINST;//OLV_SHPRUT_SHPINST
nomb_tto[0]=0; nomb_tto[0]=0;
barr_mix=FALSE; barr_mix=FALSE;
usa_secuen = FALSE;
} }
//******************************************************************************************************************************************* //*******************************************************************************************************************************************
Colv_limp::~Colv_limp(void) Colv_limp::~Colv_limp(void)

View File

@ -49,6 +49,7 @@ public:
int nod_plant; ///<Nodos en la red de la planta donde va a descargar int nod_plant; ///<Nodos en la red de la planta donde va a descargar
BOOL igno_ais; ///<Indica si ignorar aislados BOOL igno_ais; ///<Indica si ignorar aislados
BOOL barr_mix; ///<Indica si es barrido mixto BOOL barr_mix; ///<Indica si es barrido mixto
BOOL usa_secuen;
double f_trafic; ///<Factor de reducción de la velocidad en calles por el tráfico en tanto por 1 double f_trafic; ///<Factor de reducción de la velocidad en calles por el tráfico en tanto por 1
double calc_nsec; ///<Indica si el número de sectores es calculado (almacena el coste del sector) o impuesto (0) double calc_nsec; ///<Indica si el número de sectores es calculado (almacena el coste del sector) o impuesto (0)
double margen_sect; ///<Margen de diferencia entre sectores, en tanto por uno double margen_sect; ///<Margen de diferencia entre sectores, en tanto por uno

View File

@ -6634,8 +6634,11 @@ BOOL Colv_limp_thr::lee_secto()
//////////////////////////////////////// ////////////////////////////////////////
//revisa si todos los ámbitos de todos los sectores tienen secuencia //revisa si todos los ámbitos de todos los sectores tienen secuencia
bool secuen_incompleta = false; bool secuen_incompleta = false;
bool secuen_vacia = true;
for (std::map<int, std::map<int, int>>::iterator it = l_secuen.begin(); it != l_secuen.end(); ++it) for (std::map<int, std::map<int, int>>::iterator it = l_secuen.begin(); it != l_secuen.end(); ++it)
{ {
if (secuen_vacia && (it->second.size() > 0))
secuen_vacia = false;//alguno de los sectores trae info de secuencia
if (it->second.size()>0 && (l_sec[it->first].size() != it->second.size()))//no ha almacenado el mismo número de ámbitos en los dos arrays if (it->second.size()>0 && (l_sec[it->first].size() != it->second.size()))//no ha almacenado el mismo número de ámbitos en los dos arrays
{ {
secuen_incompleta = true; secuen_incompleta = true;
@ -6650,7 +6653,7 @@ BOOL Colv_limp_thr::lee_secto()
} }
} }
} }
if (secuen_incompleta) if (!secuen_vacia && secuen_incompleta)
{ {
//loguea error //loguea error
pon_mi_msg("Se descarta información de secuencia por encontrarse elementos incompletos o repetidos"); pon_mi_msg("Se descarta información de secuencia por encontrarse elementos incompletos o repetidos");
@ -6671,26 +6674,29 @@ BOOL Colv_limp_thr::lee_secto()
{ {
i++; i++;
olv_limp->sec[i].sec_def = it->first; olv_limp->sec[i].sec_def = it->first;
olv_limp->sec[i].namb = (int)it->second.size() - 1; olv_limp->sec[i].namb = (int)it->second.size();
if (secuen_incompleta) //añade los elementos según los ha leído if(!secuen_vacia && ! secuen_incompleta)//se ha indicado toda la secuencia en l_secuen
{
olv_limp->sec[i].iamb_ini_def = -1;
for (ia = 1; ia < olv_limp->sec[i].namb + 1; ia++)
{
olv_limp->sec[i].iamb[ia - 1] = it->second[ia];
olv_limp->amb_sec[it->second[ia]].sec = i;
}
}
else//se ha indicado toda la secuencia en l_secuen
{ {
olv_limp->sec[i].iamb_ini_def = l_secuen[it->first][1]; olv_limp->sec[i].iamb_ini_def = l_secuen[it->first][1];
for (ia = 1; ia < olv_limp->sec[i].namb + 1; ia++) for (ia = 1; ia < olv_limp->sec[i].namb + 1; ia++)
{ {
olv_limp->sec[i].iamb[ia - 1] = l_secuen[it->first][ia]; olv_limp->sec[i].iamb[ia - 1] = l_secuen[it->first][ia];
olv_limp->amb_sec[l_secuen[it->first][ia]].sec = i; olv_limp->amb_sec[l_secuen[it->first][ia]].sec = i;
olv_limp->amb_sec[l_secuen[it->first][ia]].iseq = ia-1;
}
}
else //añade los elementos según los ha leído
{
olv_limp->sec[i].iamb_ini_def = -1;
for (ia = 0; ia < olv_limp->sec[i].namb; ia++)
{
olv_limp->sec[i].iamb[ia] = it->second[ia];
olv_limp->amb_sec[it->second[ia]].sec = i;
} }
} }
} }
if (!secuen_vacia && !secuen_incompleta)//se ha indicado toda la secuencia en l_secuen
olv_limp->usa_secuen = TRUE;
fin: fin:
@ -9310,7 +9316,7 @@ BOOL Colv_limp_thr::genera_list_rut_ctrl()
pp=&olv_limp->plan[s]; pp=&olv_limp->plan[s];
if(pp->nelem==0) if(pp->nelem==0)
continue; continue;
ii=1; ii=0;
i=0; i=0;
t0=olv_limp->t_ini + olv_limp->sec[s].t_despl[0]; t0=olv_limp->t_ini + olv_limp->sec[s].t_despl[0];
@ -9327,7 +9333,7 @@ BOOL Colv_limp_thr::genera_list_rut_ctrl()
if(i==0) if(i==0)
{ {
dame_h_m_s(olv_limp->t_ini, &h, &m, &seg); dame_h_m_s(olv_limp->t_ini, &h, &m, &seg);
sprintf_s(fila0, 256, "%02d;%04d;%s;%s;%s;%s;%02d:%02d:%02d;\r\n", s + 1, ii, "", "", "Inicio", "", h, m, seg); sprintf_s(fila0, 256, "%02d;%04d;%s;%s;%s;%s;%02d:%02d:%02d;\r\n", s + 1, ii+1, "", "", "Inicio", "", h, m, seg);
if (!cc.escribe(fila0)) if (!cc.escribe(fila0))
{ {
mal = TRUE; mal = TRUE;
@ -9337,7 +9343,7 @@ BOOL Colv_limp_thr::genera_list_rut_ctrl()
if (linst[0] != 0) if (linst[0] != 0)
{ {
dame_h_m_s(olv_limp->t_ini + olv_limp->t_sal, &h, &m, &seg); dame_h_m_s(olv_limp->t_ini + olv_limp->t_sal, &h, &m, &seg);
sprintf_s(fila0, 256, "%02d;%04d;%s;%s;%s;%.1f;%02d:%02d:%02d;\r\n", s + 1, ii, "", "", "Ida desde instalación", linst[0], h, m, seg); sprintf_s(fila0, 256, "%02d;%04d;%s;%s;%s;%.1f;%02d:%02d:%02d;\r\n", s + 1, ii+1, "", "", "Ida desde instalación", linst[0], h, m, seg);
if (!cc.escribe(fila0)) if (!cc.escribe(fila0))
{ {
mal = TRUE; mal = TRUE;
@ -9345,7 +9351,7 @@ BOOL Colv_limp_thr::genera_list_rut_ctrl()
} }
} }
dame_h_m_s(t0, &h, &m, &seg); dame_h_m_s(t0, &h, &m, &seg);
sprintf_s(fila0,256,"%02d;%04d;%s;%s;%s;%s;%02d:%02d:%02d;\r\n",s+1,ii,"","","Control - Inicio","",h,m,seg); sprintf_s(fila0,256,"%02d;%04d;%s;%s;%s;%s;%02d:%02d:%02d;\r\n",s+1,ii+1,"","","Control - Inicio","",h,m,seg);
if(!cc.escribe(fila0)) if(!cc.escribe(fila0))
{ {
mal=TRUE; mal=TRUE;
@ -9393,6 +9399,7 @@ BOOL Colv_limp_thr::genera_list_rut_ctrl()
case OLV_PLAN_TIP_SEG_PUN: case OLV_PLAN_TIP_SEG_PUN:
strcpy_s(tto_desp,32,"Tratamiento"); strcpy_s(tto_desp,32,"Tratamiento");
dt=OLV_TTO; dt=OLV_TTO;
ii++;
break; break;
case OLV_PLAN_TIP_SEG_LIN: case OLV_PLAN_TIP_SEG_LIN:
goto ctrl; goto ctrl;
@ -9466,7 +9473,7 @@ ctrl:
} }
////////////////////////////////////////////// //////////////////////////////////////////////
ii++; //ii++;
} }
////////////////////////////////////////////// //////////////////////////////////////////////
//último punto de control e instalación //último punto de control e instalación

View File

@ -244,6 +244,10 @@ copy $(OutDir)$(TargetFileName) D:\Proyectos\Olivia\Instal2.0\bin\</Command>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly> <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup>
<Image Include="icon2.ico" />
<Image Include="OliviaIconPro.ico" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
</ImportGroup> </ImportGroup>

View File

@ -59,4 +59,12 @@
<Filter>Resource Files</Filter> <Filter>Resource Files</Filter>
</ResourceCompile> </ResourceCompile>
</ItemGroup> </ItemGroup>
<ItemGroup>
<Image Include="OliviaIconPro.ico">
<Filter>Resource Files</Filter>
</Image>
<Image Include="icon2.ico">
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
</Project> </Project>

View File

@ -1,6 +1,6 @@
//{{NO_DEPENDENCIES}} //{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file. // Archivo de inclusión generado de Microsoft Visual C++.
// Used by OliviaTasks.rc // Usado por OliviaTasks.rc
// //
#define IDI_ICON1 102 #define IDI_ICON1 102
#define IDS_APP_TITLE 103 #define IDS_APP_TITLE 103
@ -9,7 +9,7 @@
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 103 #define _APS_NEXT_RESOURCE_VALUE 104
#define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1000 #define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_SYMED_VALUE 101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 141 KiB

BIN
OliviaTasks/favicon_old.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB