Ultimos cambios modificaciones columnas vsm, comprobaciones tiempos shp etc

Gerardo/estandarizacion
Elena 2020-06-03 01:12:19 +02:00
parent 1db598ab45
commit bf7d2d7d5c
6 changed files with 88 additions and 73 deletions

View File

@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 2,0,0,5
PRODUCTVERSION 2,0,0,5
FILEVERSION 2,0,0,6
PRODUCTVERSION 2,0,0,6
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -46,12 +46,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "VSM"
VALUE "FileDescription", "Librería de la aplicación Olivia"
VALUE "FileVersion", "2.0.0.5"
VALUE "FileVersion", "2.0.0.6"
VALUE "InternalName", "Olivia.dll"
VALUE "LegalCopyright", "OLIVIA (c) VSM 2020. All rights reserved."
VALUE "OriginalFilename", "Olivia.dll"
VALUE "ProductName", "OLIVIA"
VALUE "ProductVersion", "2.0.0.5"
VALUE "ProductVersion", "2.0.0.6"
END
END
BLOCK "VarFileInfo"

View File

@ -26,7 +26,7 @@ Colv_limp::Colv_limp(COlivia *olv)
t_carg = 60*30;
t_conv = 3600*8;
t_desc = 60*40;
t_despl = 60*25/2;
t_despl = 60*25;
t_sal=0;
nsec=4;
ancho_via = 2; //m
@ -282,7 +282,7 @@ int Colv_limp::pon_config(char *config_)
{
if(!olv->dame_param(token, &t_despl))
break;
t_despl=t_despl*60/2;//porque viene en minutos
t_despl=t_despl*60;//porque viene en minutos
}
else if(strstr(token,OliviaDef::GeneralDef::GL_tca))
{
@ -810,7 +810,7 @@ void Colv_limp::dame_cost(double ltot, int ia, float *cost, float *cost2)
else if(iaso[ia].flgs & (OLV_LIMP_FLG_SEG_LIN | OLV_LIMP_FLG_SEG_PUN))
{
//coste fijo para los segmentos
*cost2=*cost=(float)(ltot/(3*OLV_KMH2MS));//OLV_LIMP_COST_SEGM
*cost2 = *cost = 0;// (float)(ltot / (3 * OLV_KMH2MS));//OLV_LIMP_COST_SEGM
}
else if(iaso[ia].flgs & OLV_LIMP_FLG_PEAT_REP)
{

View File

@ -136,7 +136,8 @@ enum TipoAmbit
*/
enum DesplTto{
OLV_DESP,
OLV_TTO,
OLV_TTO, //aquí almacena los metros lineales
OLV_TTO_2, //para cuando es tratamiento en m2/h, almacenar aquí los m2
OLV_DT_N
};
/**

View File

@ -7293,6 +7293,7 @@ BOOL Colv_limp_thr::genera_planif_aux(int is, Info_sec *ss, Info_planif *pp, int
pp->elem[0].ltot = 0;
pp->t[dt]=cost;
pp->m[dt]=0;
pp->m[OLV_TTO_2] = 0;
return TRUE;
}
//////////////////////////////////////////////////////////////////
@ -7451,8 +7452,11 @@ BOOL Colv_limp_thr::genera_planif_aux(int is, Info_sec *ss, Info_planif *pp, int
//////////////
if(dt<OLV_DT_N)
{
if((olv_limp->uds_tto==OliviaDef::GeneralDef::OlvTipTtoM2h) && (dt==OLV_TTO))
pp->m[dt]+=(ltot*olv_limp->iaso[ref_j].inf_l.ancho);
if ((olv_limp->uds_tto == OliviaDef::GeneralDef::OlvTipTtoM2h) && (dt == OLV_TTO))
{
pp->m[OLV_TTO_2] += (ltot * olv_limp->iaso[ref_j].inf_l.ancho);
pp->m[dt] += ltot;
}
else
pp->m[dt]+=ltot;
pp->t[dt]+=cost;
@ -7539,7 +7543,7 @@ BOOL Colv_limp_thr::genera_planif_instala(int is, int nvaciados, int ini, int fi
if(tip_viaje==OLV_IDA_INST)
olv_limp->sec[is].t_despl[0]=(float)pp_insta[i].elem[pp_insta[i].nelem-1].coste + olv_limp->t_sal;
else if(tip_viaje==OLV_VUELTA_INST) //son impares, implica que la última ida adescargar es a la instalación también
else if(tip_viaje==OLV_VUELTA_INST)
olv_limp->sec[is].t_despl[1]=(float)pp_insta[i].elem[pp_insta[i].nelem-1].coste + olv_limp->t_sal;
return TRUE;
@ -7964,7 +7968,7 @@ int Colv_limp_thr::rellena_insta_tramos()
if(olv_limp->plan[is].planif_insta[nins-1].nelem==0)
nins--; //es porque la descarga y planta son la misma
pinsta = olv_limp->plan[is].planif_insta;
for(it=0;it<nt;it++)
for(it=0;it< nt;it++)
{
tramo = &olv_limp->tramos[is][it];
tramo->iins[0]=2*it;
@ -7978,7 +7982,7 @@ int Colv_limp_thr::rellena_insta_tramos()
tramo->long_tr += pinsta[tramo->iins[0]].m[OLV_DESP] + pinsta[tramo->iins[1]].m[OLV_DESP];
}
if (olv_limp->plan[is].ninsta % 2) //instala y descarga distintos si es impar
if (nins % 2) //instala y descarga distintos si es impar
{
//para el último tramo
tramo = &olv_limp->tramos[is][nt-1];
@ -8561,13 +8565,13 @@ BOOL Colv_limp_thr::guarda_cols_ruta(char *path_shp)
{
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];
}
else
tt = 0;
//para guardar en número
((double*)info)[isec_novac] = tt;
@ -8578,7 +8582,7 @@ BOOL Colv_limp_thr::guarda_cols_ruta(char *path_shp)
free(info);
return FALSE;
}
memset(info, 0, nsec * OLV_SHP_SZ_CAMP_SZ);
memset(info, 0, nsec* OLV_SHP_SZ_CAMP_SZ);
//rellena la info de duración de los descansos
isec_novac=0;
@ -8622,7 +8626,7 @@ BOOL Colv_limp_thr::guarda_cols_ruta(char *path_shp)
int tipodato, sz;
tipodato = GdataTable::Tstring;
sz = OLV_SHP_SZ_CAMP_CHAR;
for(int k=0;k<OLV_DT_N;k++)
for(int k=0;k<= OLV_TTO;k++)
{
for(p=0;p<3;p++)
{
@ -8650,26 +8654,30 @@ BOOL Colv_limp_thr::guarda_cols_ruta(char *path_shp)
else if(p==1) //M/M2/UDS
{
sz = 0;
if(k==OLV_TTO)
if ((k == OLV_TTO) && (olv_limp->uds_tto == OliviaDef::GeneralDef::OlvTipTtoM2h || olv_limp->uds_tto == OliviaDef::GeneralDef::OlvTipTtoM2h_eje))
{
if(olv_limp->uds_tto==OliviaDef::GeneralDef::OlvTipTtoM2h || olv_limp->uds_tto==OliviaDef::GeneralDef::OlvTipTtoM2h_eje)
strcpy_s(nombia,"M2_");
else if(olv_limp->uds_tto==OliviaDef::GeneralDef::OlvTipTtoMh || olv_limp->uds_tto==OliviaDef::GeneralDef::OlvTipTtoMh_eje)
strcpy_s(nombia,"M_");
else if(olv_limp->uds_tto==OliviaDef::GeneralDef::OlvTipTtoMin)
strcpy_s(nombia,"UDS_");
}
else
strcpy_s(nombia, "M2_");
for (i = 0; i < olv_limp->nsec; i++)
{
strcpy_s(nombia,"M_");
}
if((k==OLV_TTO) && (olv_limp->uds_tto==OliviaDef::GeneralDef::OlvTipTtoMin))
{
for(i=0;i<olv_limp->nsec;i++)
{
if(olv_limp->sec[i].namb==0)
if (olv_limp->sec[i].namb == 0)
continue;
tt=olv_limp->sec[i].namb;
tt = olv_limp->plan[i].m[OLV_TTO_2];
//para guardar en número
((double*)info)[isec_novac] = tt;
tipodato = GdataTable::Tdouble;
isec_novac++;
}
}
else if ((k == OLV_TTO) && (olv_limp->uds_tto == OliviaDef::GeneralDef::OlvTipTtoMin))
{
strcpy_s(nombia, "UDS_");
for (i = 0; i < olv_limp->nsec; i++)
{
if (olv_limp->sec[i].namb == 0)
continue;
tt = olv_limp->sec[i].namb;
//para guardar en número
((int*)info)[isec_novac] = tt;
tipodato = GdataTable::Tint;
@ -8678,11 +8686,12 @@ BOOL Colv_limp_thr::guarda_cols_ruta(char *path_shp)
}
else
{
for(i=0;i<olv_limp->nsec;i++)
strcpy_s(nombia, "M_");
for (i = 0; i < olv_limp->nsec; i++)
{
if(olv_limp->sec[i].namb==0)
if (olv_limp->sec[i].namb == 0)
continue;
tt=olv_limp->plan[i].m[k];
tt = olv_limp->plan[i].m[k];
//para guardar en número
((double*)info)[isec_novac] = tt;
tipodato = GdataTable::Tdouble;
@ -8690,6 +8699,7 @@ BOOL Colv_limp_thr::guarda_cols_ruta(char *path_shp)
}
}
}
else if(p==2) //VELO
{
@ -8709,8 +8719,8 @@ BOOL Colv_limp_thr::guarda_cols_ruta(char *path_shp)
}
else
{
strcpy_s(nombia,"M_H_");
tt=olv_limp->v_despl/OLV_KMH2MS;
strcpy_s(nombia,"KM_H_");
tt=olv_limp->v_despl;
}
for(i=0;i<olv_limp->nsec;i++)
{
@ -9039,7 +9049,8 @@ BOOL Colv_limp_thr::guarda_cols_insta(char *path_shp)
continue;
tt=olv_limp->plan[i].planif_insta[insta].elem[olv_limp->plan[i].planif_insta[insta].nelem-1].coste;
if((olv_limp->plan[i].planif_insta[insta].ninsta== OLV_IDA_INST) || (olv_limp->plan[i].planif_insta[insta].ninsta == OLV_VUELTA_INST))
if((olv_limp->plan[i].planif_insta[insta].ninsta== OLV_IDA_INST) || (olv_limp->plan[i].planif_insta[insta].ninsta == OLV_VUELTA_INST)
|| (olv_limp->plan[i].planif_insta[insta].ninsta == OLV_IDA_PLANT && (insta< olv_limp->plan[i].ninsta-1) && olv_limp->plan[i].planif_insta[insta+1].nelem==0))
tt+= olv_limp->t_sal;
ttt+=tt;
dame_h_m_s(tt, &h, &m, &s);
@ -9146,17 +9157,22 @@ BOOL Colv_limp_thr::genera_list_rut_ctrl()
{
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);
dame_h_m_s(olv_limp->t_ini + olv_limp->t_sal, &h, &m, &seg);
if(linst[0] ==0)
sprintf_s(fila0,256,"%02d;%04d;%s;%s;%s;%s;%02d:%02d:%02d;\r\n",s+1,ii,"","","Ida desde instalación","",h,m,seg);
else
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);
if(!cc.escribe(fila0))
if (!cc.escribe(fila0))
{
mal=TRUE;
mal = TRUE;
continue;;
}
if (linst[0] != 0)
{
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);
if (!cc.escribe(fila0))
{
mal = TRUE;
continue;;
}
}
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);
if(!cc.escribe(fila0))
@ -9305,19 +9321,17 @@ ctrl:
//final
//////////////////////////////////////////////
if (linst[1] != 0)
{
tt = t0;
dame_h_m_s(tt, &h, &m, &seg);
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);
else
sprintf_s(fila0, 256, "%02d;%04d;%s;%s;%s;%.1f;%02d:%02d:%02d;\r\n", s + 1, ii, "", "", "Vuelta a instalación", linst[1], h, m, seg);
if (!cc.escribe(fila0))
{
mal = TRUE;
continue;
}
}
tt = olv_limp->t_ini + olv_limp->sec[s].cost_ac + olv_limp->t_desc;
//////////////////////////////////////////////
dame_h_m_s(tt, &h, &m, &seg);

View File

@ -1321,13 +1321,13 @@ void Colv_reco_thr::planifica_sub_1(int ithr, Matrix2d<float> &cost_amb)
olv_reco->ord_sec_plan[OLV_INSTAL].ctnod[0], //nodos djktra conj final
olv_limp->conjs.n,
&nsecu2);
cc += olv_limp->t_sal;
if(!genera_planif_vaci(is,0, nsecu2, secu2,OLV_VUELTA_INST))
{
sal=TRUE;
break;
}
}
cc += olv_limp->t_sal; //suma el tiempo tanto si va a instala como si no
///////////////////////////////////////////
if(esta_repe(secu_ambi, s->namb, FALSE))

View File

@ -82,8 +82,8 @@ MAINICON ICON "favicon.ico"
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 2,0,0,5
PRODUCTVERSION 2,0,0,5
FILEVERSION 2,0,0,6
PRODUCTVERSION 2,0,0,6
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -100,12 +100,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "VSM"
VALUE "FileDescription", "Launcher de la aplicación Olivia"
VALUE "FileVersion", "2.0.0.5"
VALUE "FileVersion", "2.0.0.6"
VALUE "InternalName", "OliviaTasks"
VALUE "LegalCopyright", "OLIVIA (c) VSM 2020. All rights reserved."
VALUE "OriginalFilename", "OliviaTasks.exe"
VALUE "ProductName", "OliviaTasks"
VALUE "ProductVersion", "2.0.0.5"
VALUE "ProductVersion", "2.0.0.6"
END
END
BLOCK "VarFileInfo"