Patch level : 10.0 patch 525
Files correlati : lv2 Ricompilazione Demo : [ ] Commento : La generazione del planning adesso tiene conto anche del giorno nel conteggio del numero massimo di consegne per mese: se il numero max e' 5 genera all'interno dello stesso itinerario 5 lunedi', 5 martedi' e cosi' via git-svn-id: svn://10.65.10.50/trunk@19663 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c32e36de7d
commit
4fe9b2cfee
@ -203,8 +203,11 @@ int TGenera_planning_app::conta_consegne_mese(long codcf, long codcont, const TD
|
||||
{
|
||||
TDate dadata = adata;
|
||||
dadata.set_day(1);
|
||||
|
||||
const int giorno = adata.wday();
|
||||
|
||||
//instanzia un recordset di LVRCONSPLAN prendendo tutte le consegne fatte per un cliente su un certo...
|
||||
//...itinerario prima di una certa data
|
||||
//...itinerario prima di una certa data (conta giorno per giorno)
|
||||
TISAM_recordset rplan("USE LVRCONSPLAN KEY 3\nSELECT CODITI=#CODITI\nFROM CODCF=#CODCF CODCONT=#CODCONT DTCONS=#DADATA\nTO CODCF=#CODCF CODCONT=#CODCONT DTCONS=#ADATA");
|
||||
rplan.set_var("#CODITI",coditi);
|
||||
rplan.set_var("#CODCF",codcf);
|
||||
@ -212,7 +215,17 @@ int TGenera_planning_app::conta_consegne_mese(long codcf, long codcont, const TD
|
||||
rplan.set_var("#DADATA",dadata);
|
||||
rplan.set_var("#ADATA",adata);
|
||||
|
||||
return rplan.items();
|
||||
int contatore = 0;
|
||||
|
||||
for (bool ok = rplan.move_first(); ok; ok = rplan.move_next())
|
||||
{
|
||||
TDate data = rplan.get(LVRCONSPLAN_DTCONS).as_date();
|
||||
|
||||
if (giorno == data.wday())
|
||||
contatore++;
|
||||
}
|
||||
|
||||
return contatore;
|
||||
}
|
||||
|
||||
//ARROTONDA_AL_GIORNO: questo metodo arrotonda per eccesso la data al giorno della settimana desiderato
|
||||
@ -367,7 +380,7 @@ void TGenera_planning_app::elabora_passaggio(const TDate& dadata, const TDate& a
|
||||
|
||||
//se ho già raggiunto il numero massimo di consegne per mese...
|
||||
//...la riga, anche se supera tutti i controlli, non va elaborata
|
||||
if (maxcons > 0 && conta_consegne_mese(codcf,codcont,d,coditi) >= maxcons)
|
||||
if (maxcons > 0 && conta_consegne_mese(codcf, codcont, d, coditi) >= maxcons)
|
||||
continue;
|
||||
|
||||
//scrivi la chiave
|
||||
|
Loading…
x
Reference in New Issue
Block a user