Modificaciones columnas vsm y corregido fallo tamaño char

Gerardo/estandarizacion
Elena 2020-05-27 22:17:21 +02:00
parent 7d216b4bc2
commit 5515f57c6c
3 changed files with 135 additions and 12 deletions

View File

@ -31,7 +31,7 @@ public:
//************************************************************************************* //*************************************************************************************
//Variables //Variables
bool socCreado; bool socCreado;
char nomb_tto[64]; ///<Nombre del tratamiento para escribir en el shp char nomb_tto[OLV_SHP_SZ_CAMP_CHAR]; ///<Nombre del tratamiento para escribir en el shp
int pp; ///<Entero para pruebas int pp; ///<Entero para pruebas
int tipo_ambit; ///<Indica si los ámbitos son lineales o puntuales int tipo_ambit; ///<Indica si los ámbitos son lineales o puntuales
int n_amb; ///<Número de entidades de ámbitos, la cuenta empieza en 0 porque es la primera capa que se carga int n_amb; ///<Número de entidades de ámbitos, la cuenta empieza en 0 porque es la primera capa que se carga

View File

@ -8130,6 +8130,28 @@ BOOL Colv_limp_thr::guarda_cols_ruta_tram(char *path_shp)
} }
memset(info,0,ntram* OLV_SHP_SZ_CAMP_SZ); memset(info,0,ntram* OLV_SHP_SZ_CAMP_SZ);
//M_TOTAL
nt_parc = 0;
for (i = 0; i < olv_limp->nsec; i++)
{
if (olv_limp->sec[i].namb == 0)
continue;
nt = (int)olv_limp->tramos[i].size();
for (it = 0; it < nt; it++)
{
tt = olv_limp->tramos[i][it].long_tr;
//para guardar en número
((double*)info)[nt_parc + it] = tt;
}
nt_parc += nt;
}
if (!dbfmgr.AddCol(path_dbf, "M_TOTAL", GdataTable::Tdouble, &dataDbf))
{
free(info);
return FALSE;
}
memset(info, 0, ntram* OLV_SHP_SZ_CAMP_SZ);
//T_TTO //T_TTO
nt_parc=0; nt_parc=0;
for(i=0;i<olv_limp->nsec;i++) for(i=0;i<olv_limp->nsec;i++)
@ -8464,6 +8486,33 @@ BOOL Colv_limp_thr::guarda_cols_ruta(char *path_shp)
} }
memset(info,0,nsec* OLV_SHP_SZ_CAMP_SZ); memset(info,0,nsec* OLV_SHP_SZ_CAMP_SZ);
//rellena col m total
isec_novac = 0;
for (i = 0; i < olv_limp->nsec; i++)
{
if (olv_limp->sec[i].namb == 0)
continue;
tt = 0;
if ((olv_limp->nod_instal != -1) && (olv_limp->plan[i].ninsta > 0))
{
tt = olv_limp->plan[i].planif_insta[0].m[OLV_DESP];
tt += olv_limp->plan[i].planif_insta[olv_limp->plan[i].ninsta - 1].m[OLV_DESP];
}
tt += olv_limp->plan[i].m[OLV_DESP] + olv_limp->plan[i].m[OLV_TTO];
//para guardar en número
((double*)info)[isec_novac] = tt;
isec_novac++;
}
if (!dbfmgr.AddCol(path_dbf, "M_TOTAL", GdataTable::Tdouble, &dataDbf))
{
free(info);
return FALSE;
}
memset(info, 0, nsec * OLV_SHP_SZ_CAMP_SZ);
//rellena la info de duración de los desplazamientos //rellena la info de duración de los desplazamientos
isec_novac=0; isec_novac=0;
for(i=0;i<olv_limp->nsec;i++) for(i=0;i<olv_limp->nsec;i++)
@ -8482,6 +8531,31 @@ BOOL Colv_limp_thr::guarda_cols_ruta(char *path_shp)
} }
memset(info,0,nsec* OLV_SHP_SZ_CAMP_SZ); memset(info,0,nsec* OLV_SHP_SZ_CAMP_SZ);
//rellena col m insta
isec_novac = 0;
for (i = 0; i < olv_limp->nsec; i++)
{
if (olv_limp->sec[i].namb == 0)
continue;
if ((olv_limp->nod_instal != -1) && (olv_limp->plan[i].ninsta > 0))
{
tt = olv_limp->plan[i].planif_insta[0].m[OLV_DESP];
tt += olv_limp->plan[i].planif_insta[olv_limp->plan[i].ninsta - 1].m[OLV_DESP];
}
//para guardar en número
((double*)info)[isec_novac] = tt;
isec_novac++;
}
if (!dbfmgr.AddCol(path_dbf, "M_INSTA", GdataTable::Tdouble, &dataDbf))
{
free(info);
return FALSE;
}
memset(info, 0, nsec * OLV_SHP_SZ_CAMP_SZ);
//rellena la info de duración de los descansos //rellena la info de duración de los descansos
isec_novac=0; isec_novac=0;
for(i=0;i<olv_limp->nsec;i++) for(i=0;i<olv_limp->nsec;i++)
@ -8506,7 +8580,7 @@ BOOL Colv_limp_thr::guarda_cols_ruta(char *path_shp)
{ {
if(olv_limp->sec[i].namb==0) if(olv_limp->sec[i].namb==0)
continue; continue;
tt=olv_limp->plan[i].m[0]+olv_limp->plan[i].m[1]; tt=olv_limp->plan[i].m[OLV_DESP]+olv_limp->plan[i].m[OLV_TTO];
//para guardar en número //para guardar en número
((double*)info)[isec_novac] = tt; ((double*)info)[isec_novac] = tt;
@ -9155,8 +9229,8 @@ ctrl:
if((i==(pp->nelem))&& !mal) if((i==(pp->nelem))&& !mal)
{ {
//REVISAR //REVISAR
tt=olv_limp->t_ini+ olv_limp->sec[s].cost_ac + olv_limp->t_desc + 2 * olv_limp->t_sal - olv_limp->sec[s].t_despl[1]; olv_limp->t_ini+ olv_limp->sec[s].cost_ac + olv_limp->t_desc + olv_limp->t_sal - olv_limp->sec[s].t_despl[1];
quita_t_ult_desc(s,&tt); //quita_t_ult_desc(s,&tt);
dame_h_m_s(tt, &h, &m, &seg); dame_h_m_s(tt, &h, &m, &seg);
sprintf_s(fila0,256,"%02d;%04d;%s;%s;%s;%s;%02d:%02d:%02d;\r\n",s+1,ii,calle,"","Control - Fin","",h,m,seg); sprintf_s(fila0,256,"%02d;%04d;%s;%s;%s;%s;%02d:%02d:%02d;\r\n",s+1,ii,calle,"","Control - Fin","",h,m,seg);
if(!cc.escribe(fila0)) if(!cc.escribe(fila0))
@ -9180,7 +9254,7 @@ ctrl:
//final //final
tt = olv_limp->t_ini + olv_limp->sec[s].cost_ac + olv_limp->t_desc + 2 * olv_limp->t_sal; tt = olv_limp->t_ini + olv_limp->sec[s].cost_ac + olv_limp->t_desc + 2 * olv_limp->t_sal;
////////////////////////////////////////////// //////////////////////////////////////////////
dame_h_m_s(tt- olv_limp->t_sal - olv_limp->t_despl[1], &h, &m, &seg); dame_h_m_s(tt- olv_limp->t_sal - olv_limp->sec[s].t_despl[1], &h, &m, &seg);
if (linst[1] == 0) if (linst[1] == 0)
sprintf_s(fila0, 256, "%02d;%04d;%s;%s;%s;%s;%02d:%02d:%02d;\r\n", s + 1, ii, "", "", "Vuelta a instalación", "", h, m, seg); sprintf_s(fila0, 256, "%02d;%04d;%s;%s;%s;%s;%02d:%02d:%02d;\r\n", s + 1, ii, "", "", "Vuelta a instalación", "", h, m, seg);
else else

View File

@ -1589,7 +1589,7 @@ BOOL Colv_reco_thr::guarda_cols_ruta(char *path_shp)
char path_dbf[MAX_PATH]; char path_dbf[MAX_PATH];
double tt; double tt;
int h,m,s,j; int h,m,s,j;
int nsec, i, isec_novac; int nsec, i, isec_novac,p;
ManagerDbfGdataTable dbfmgr; ManagerDbfGdataTable dbfmgr;
//cuenta el número de sectores no vacíos //cuenta el número de sectores no vacíos
@ -1618,7 +1618,7 @@ BOOL Colv_reco_thr::guarda_cols_ruta(char *path_shp)
memset(info,0,nsec* OLV_SHP_SZ_CAMP_SZ); memset(info,0,nsec* OLV_SHP_SZ_CAMP_SZ);
AddColsDbf dataDbf(info); AddColsDbf dataDbf(info);
//sustituye la info de hora final /*//sustituye la info de hora final
isec_novac=0; isec_novac=0;
for(i=0;i<olv_limp->nsec;i++) for(i=0;i<olv_limp->nsec;i++)
{ {
@ -1637,7 +1637,33 @@ BOOL Colv_reco_thr::guarda_cols_ruta(char *path_shp)
free(info); free(info);
return FALSE; return FALSE;
} }
memset(info,0,nsec* OLV_SHP_SZ_CAMP_SZ); memset(info,0,nsec* OLV_SHP_SZ_CAMP_SZ);*/
//sustituye col m total
isec_novac = 0;
for (i = 0; i < olv_limp->nsec; i++)
{
if (olv_limp->sec[i].namb == 0)
continue;
tt = 0;
for(p=0;p<olv_limp->plan[i].ninsta;p++)
{
tt += olv_limp->plan[i].planif_insta[p].m[OLV_DESP];
}
tt += olv_limp->plan[i].m[OLV_DESP] + olv_limp->plan[i].m[OLV_TTO];
//para guardar en número
((double*)info)[isec_novac] = tt;
isec_novac++;
}
if (!dbfmgr.AddCol(path_dbf, "M_TOTAL", GdataTable::Tdouble, &dataDbf))
{
free(info);
return FALSE;
}
memset(info, 0, nsec * OLV_SHP_SZ_CAMP_SZ);
//sustituye la columna de uds de tratamiento porque hay contenedores que son varias unidades //sustituye la columna de uds de tratamiento porque hay contenedores que son varias unidades
isec_novac=0; isec_novac=0;
@ -1697,7 +1723,6 @@ BOOL Colv_reco_thr::guarda_cols_ruta(char *path_shp)
//rellena la info de duración de los desplazamientos a descargar //rellena la info de duración de los desplazamientos a descargar
isec_novac=0; isec_novac=0;
int p;
for(i=0;i<olv_limp->nsec;i++) for(i=0;i<olv_limp->nsec;i++)
{ {
tt=0; tt=0;
@ -1707,9 +1732,9 @@ BOOL Colv_reco_thr::guarda_cols_ruta(char *path_shp)
{ {
if(olv_limp->plan[i].planif_insta[p].nelem==0) if(olv_limp->plan[i].planif_insta[p].nelem==0)
continue; continue;
if (olv_limp->plan[i].planif_insta[p].ninsta == OLV_IDA_PLANT || olv_limp->plan[i].planif_insta[p].ninsta == OLV_VUELTA_PLANT)
tt+=olv_limp->plan[i].planif_insta[p].elem[olv_limp->plan[i].planif_insta[p].nelem-1].coste; tt+=olv_limp->plan[i].planif_insta[p].elem[olv_limp->plan[i].planif_insta[p].nelem-1].coste;
} }
//tt=olv_limp->sec[i].cost_ac-olv_limp->plan[i].elem[olv_limp->plan[i].nelem-1].coste-olv_limp->sec[i].t_despl[0]-olv_limp->sec[i].t_despl[1]-olv_reco->t_sal;
dame_h_m_s(tt, &h, &m, &s); dame_h_m_s(tt, &h, &m, &s);
sprintf_s(&info[isec_novac*OLV_SHP_SZ_CAMP_CHAR],OLV_SHP_SZ_CAMP_CHAR,"%02d:%02d:%02d h",h,m,s); sprintf_s(&info[isec_novac*OLV_SHP_SZ_CAMP_CHAR],OLV_SHP_SZ_CAMP_CHAR,"%02d:%02d:%02d h",h,m,s);
isec_novac++; isec_novac++;
@ -1721,6 +1746,30 @@ BOOL Colv_reco_thr::guarda_cols_ruta(char *path_shp)
} }
memset(info,0,nsec* OLV_SHP_SZ_CAMP_SZ); memset(info,0,nsec* OLV_SHP_SZ_CAMP_SZ);
//añade col m descarg
isec_novac = 0;
for (i = 0; i < olv_limp->nsec; i++)
{
if (olv_limp->sec[i].namb == 0)
continue;
tt = 0;
for (p = 0; p < olv_limp->plan[i].ninsta; p++)
{
if (olv_limp->plan[i].planif_insta[p].ninsta == OLV_IDA_PLANT || olv_limp->plan[i].planif_insta[p].ninsta == OLV_VUELTA_PLANT)
tt += olv_limp->plan[i].planif_insta[p].m[OLV_DESP];
}
//para guardar en número
((double*)info)[isec_novac] = tt;
isec_novac++;
}
if (!dbfmgr.AddCol(path_dbf, "M_DESCARG", GdataTable::Tdouble, &dataDbf))
{
free(info);
return FALSE;
}
memset(info, 0, nsec * OLV_SHP_SZ_CAMP_SZ);
free(info); free(info);
return TRUE; return TRUE;
} }