Patch level : 10.0 186
Files correlati : lv2 Ricompilazione Demo : [ ] Commento : 0001038: Gestione passo giri in automatico per frequenza consegne settimanale Description Gestione passo giri in automatico per frequenza consegne settimanale (spiegazioni dettagliate nel documento allegato) 0001006: Gestione più itinerari nello stesso giorno e itinerario stagionale Description Nel programma dove vengono impostati i giri per il contratto bisognerebbe dare la possibilità di gestire più itinerari per lo stesso giorno a di poter assegnare ad ognuno di essi una data inizio e fine validità. in allegato un esempio Additional Information Dove ... Lo stesso itinerario nello stesso giorno può esistere solo se c'è una data inizio e fine validità validità Mentre può esserci un itinerario diverso Più gestione festività git-svn-id: svn://10.65.10.50/trunk@17827 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
7c1f142b26
commit
f2b5bc6bc1
@ -1,5 +1,6 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <date.h>
|
||||
#include <isam.h>
|
||||
#include <progind.h>
|
||||
#include <real.h>
|
||||
@ -210,9 +211,11 @@ int TGenera_planning_app::conta_consegne_mese(long codcf, long codcont, const TD
|
||||
{
|
||||
TDate dadata = adata;
|
||||
dadata.set_day(1);
|
||||
long ggcons = adata.wday();
|
||||
//instanzia un recordset di LVRCONSPLAN prendendo tutte le consegne fatte per un cliente su un certo...
|
||||
//...itinerario prima di una certa data
|
||||
TISAM_recordset rplan("USE LVRCONSPLAN KEY 3\nFROM CODCF=#CODCF CODCONT=#CODCONT DTCONS=#DADATA\nTO CODCF=#CODCF CODCONT=#CODCONT DTCONS=#ADATA");
|
||||
TISAM_recordset rplan("USE LVRCONSPLAN KEY 3\nSELECT GGCONS=#GGCONS\nFROM CODCF=#CODCF CODCONT=#CODCONT DTCONS=#DADATA\nTO CODCF=#CODCF CODCONT=#CODCONT DTCONS=#ADATA");
|
||||
rplan.set_var("#GGCONS",ggcons);
|
||||
rplan.set_var("#CODCF",codcf);
|
||||
rplan.set_var("#CODCONT",codcont);
|
||||
rplan.set_var("#DADATA",dadata);
|
||||
@ -246,6 +249,8 @@ void TGenera_planning_app::elabora_passaggio(const TDate& dadata, const TDate& a
|
||||
const int ordfer = pplan.get(LVPASPLAN_ORDFERM).as_int(); //ordine di fermata
|
||||
const TString4 freq = pplan.get(LVPASPLAN_FREQ).as_string(); //codice della tabella di frequenze di consegna
|
||||
char modpass = pplan.get(LVPASPLAN_MODPASS).as_string()[0]; //modalità di passaggio
|
||||
const TDate dastag = pplan.get_date(LVPASPLAN_DTSTAGIN); //data di inizio del periodo di stagionalità
|
||||
const TDate astag = pplan.get_date(LVPASPLAN_DTSTAGSC); //data di fine del periodo di stagionalità
|
||||
|
||||
//cache sulle testate dei contratti, selezionati per CODCF e CODCONT
|
||||
TToken_string keycont;
|
||||
@ -254,9 +259,7 @@ void TGenera_planning_app::elabora_passaggio(const TDate& dadata, const TDate& a
|
||||
const TRectype& contratto = cache().get(LF_LVCONDV,keycont);
|
||||
//dati recuperati dalle testate dei contratti:
|
||||
const TDate dadatacont = contratto.get_date(LVCONDV_DATAIN); //data di inizio validità del contratto
|
||||
const TDate adatacont = contratto.get_date(LVCONDV_DATASC); //data di fine validità del contratto
|
||||
const TDate dastag = contratto.get_date(LVCONDV_DTSTAGIN); //data di inizio del periodo di stagionalità
|
||||
const TDate astag = contratto.get_date(LVCONDV_DTSTAGSC); //data di fine del periodo di stagionalità
|
||||
const TDate adatacont = contratto.get_date(LVCONDV_DATASC); //data di fine validità del contratto
|
||||
|
||||
// Controllo se il contratto e' valido nel periodo interessato
|
||||
if (dadatacont > adata || (adatacont.ok() && adatacont < dadata))
|
||||
@ -309,6 +312,10 @@ void TGenera_planning_app::elabora_passaggio(const TDate& dadata, const TDate& a
|
||||
continue; // Questa data non e' ancora in contratto: provo la prossima
|
||||
if (adatacont.ok() && d > adatacont)
|
||||
break; // Questa data e' oltre il contratto: inutile proseguire
|
||||
|
||||
//controlla se è una festività
|
||||
if(lv_is_holiday(d))
|
||||
continue;
|
||||
|
||||
//...e/o in un periodo di stagionalità (se necessario)...
|
||||
////la riga va elaborata se il flag di stagionalità è TRUE
|
||||
|
Loading…
x
Reference in New Issue
Block a user