diff --git a/lv/lv2200z.rep b/lv/lv2200z.rep index 4797326ee..7dc7aa77f 100755 --- a/lv/lv2200z.rep +++ b/lv/lv2200z.rep @@ -1,148 +1,147 @@ - Stampa Giri Giornaliero - -
- - - MESSAGE _TODAY - - - - - - - MESSAGE _PAGENO - -
-
-
- DTCONS+CODITI - - - 167.GGCONS - -
  • -
  • -
  • -
  • -
  • -
  • -
  • - - - - - 167.CODITI - - - - 300@.S0 - - - - 167.CODAUT - - - - 301@.S0 - - - - DTCONS - - - - - - - - - - 302@.S0 - - - - - - 167.CODMEZ - - - - - - - - - - - - - - - - - - - - - - -
  • -
    - - CODITI - -
    -
    - - - - 167.ORDFER - - - - 167.CODCF - - - - 303@.RAGSOC - - - - IF(304@.CODINDSP= "0" ;303@.LOCALITACF;305@.LOCALITA) - - - - 167.MODPASS - -
  • -
  • -
  • -
  • - - - - - 167.CODNUM - - - - #NEXTCONS - - - IF(304@.CODINDSP= "0";303@.CIVCF+','+303@.INDCF;305@.CIV+','+305@.INDIR) - - - 167.NDOC - - -
  • -
    -
    -
    - - USE 167 KEY 2 + Stampa Giri Giornaliero + +
    + + + MESSAGE _TODAY + + + + + + + MESSAGE _PAGENO + +
    +
    +
    + DTCONS+CODITI + + + 167.GGCONS + +
  • +
  • +
  • +
  • +
  • +
  • +
  • + + + + + 167.CODITI + + + + 300@.S0 + + + + 167.CODAUT + + + + 301@.S0 + + + + DTCONS + + + + + + + + + + 302@.S0 + + + + + + 167.CODMEZ + + + + + + + + + + + + + + + + + + + + + + +
  • +
    + + CODITI + +
    +
    + + + + 167.ORDFER + + + + 167.CODCF + + + + IF(#F_CHECK_MNEM=="X";303@.RICALT;303@.RAGSOC) + + + + IF(304@.CODINDSP= "0" ;303@.LOCALITACF;305@.LOCALITA) + + + + 167.MODPASS + +
  • +
  • +
  • +
  • + + + + + 167.CODNUM + + + + #NEXTCONS + + + IF(304@.CODINDSP= "0";303@.CIVCF+','+303@.INDCF;305@.CIV+','+305@.INDIR) + + + 167.NDOC + + +
  • +
    +
    +
    + USE 167 KEY 2 SELECT (BETWEEN(CODITI,#FROM_CODITI,#TO_CODITI))(BETWEEN(CODAUT,#FROM_CODAUT,#TO_CODAUT))(BETWEEN(CODCF,#FROM_CODCF,#TO_CODCF)) JOIN ITI ALIAS 300 INTO CODTAB==CODITI JOIN AUT TO 167 ALIAS 301 INTO CODTAB==CODAUT diff --git a/lv/lv2300.cpp b/lv/lv2300.cpp index 8fb861853..f17d5d50b 100755 --- a/lv/lv2300.cpp +++ b/lv/lv2300.cpp @@ -2,6 +2,8 @@ #include #include #include + +#include "clifo.h" #include "lvlib.h" #include "lv2300a.h" @@ -16,13 +18,14 @@ public: //ordine fermata e eventualmente l'ora struct TPassaggio: public TObject { - long _codcf; - int _ordfer; - int _ora; + long _codcf; + TString80 _ragsoc; + int _ordfer; + int _ora; TString4 _iter; TPassaggio() :_codcf(0),_ordfer(0),_ora(0) {} - TPassaggio(long codcf, int ordfer, int ora, const TString& iter) :_codcf(codcf),_ordfer(ordfer),_ora(ora),_iter(iter) {} + TPassaggio(long codcf, TString& ragsoc, int ordfer, int ora, const TString& iter) :_codcf(codcf),_ragsoc(ragsoc),_ordfer(ordfer),_ora(ora),_iter(iter) {} }; class TPassaggi: public TArray @@ -79,7 +82,7 @@ void TPassaggi::add(TPassaggio* p) class TSettimana: public TArray { public: - void add(int g,TPassaggio* p); + void add(int g, TPassaggio* p); TPassaggio& passaggio(int g, int p);//giorno, fermata int passaggi(int g) const; int passaggi() const; @@ -137,7 +140,7 @@ class TItinerari: public TArray { public: void add(long i,int g,TPassaggio* p); - void add(long i,int g,long codcf, int ordfer, int ora,TString iter); + void add(long i,int g,long codcf, TString& ragsoc, int ordfer, int ora,TString& iter); TSettimana& settimana(long codIti); }; @@ -146,9 +149,9 @@ void TItinerari::add(long i,int g,TPassaggio* p) settimana(i).add(g,p); } -void TItinerari::add(long i,int g,long codcf, int ordfer, int ora, TString iter) +void TItinerari::add(long i,int g,long codcf, TString& ragsoc, int ordfer, int ora, TString& iter) { - TPassaggio* p = new TPassaggio(codcf,ordfer,ora,iter); + TPassaggio* p = new TPassaggio(codcf,ragsoc,ordfer,ora,iter); add(i,g,p); } TSettimana& TItinerari::settimana(long codIti) @@ -193,6 +196,8 @@ protected: void TGiri_app::elabora(const TMask& mask) const { + const bool mnemonico = mask.get_bool(F_CHECK_MNEM_TO); + TISAM_recordset giri("USE LVRCONSPLAN KEY 2\n" "SELECT (BETWEEN(CODITI,#FROM_CODITI,#TO_CODITI))" "&&(BETWEEN(CODCF,#FROM_CODCF,#TO_CODCF))" @@ -202,43 +207,51 @@ void TGiri_app::elabora(const TMask& mask) const ); //inserire parametri filtri - giri.set_var("#FROM_DATA",mask.get_date(F_DATA_FROM)); - giri.set_var("#TO_DATA",mask.get_date(F_DATA_TO)); + giri.set_var("#FROM_DATA", mask.get_date(F_DATA_FROM)); + giri.set_var("#TO_DATA", mask.get_date(F_DATA_TO)); giri.set_var("#FROM_CODITI", TVariant(mask.get(F_CODITI_FROM))); - giri.set_var("#TO_CODITI",TVariant(mask.get(F_CODITI_TO))); - giri.set_var("#FROM_CODAUT",TVariant(mask.get(F_CODAUT_FROM))); - giri.set_var("#TO_CODAUT",TVariant(mask.get(F_CODAUT_TO))); - giri.set_var("#FROM_CODCF",TVariant(mask.get(F_CODCF_FROM))); - giri.set_var("#TO_CODCF",TVariant(mask.get(F_CODCF_TO))); + giri.set_var("#TO_CODITI", TVariant(mask.get(F_CODITI_TO))); + giri.set_var("#FROM_CODAUT", TVariant(mask.get(F_CODAUT_FROM))); + giri.set_var("#TO_CODAUT", TVariant(mask.get(F_CODAUT_TO))); + giri.set_var("#FROM_CODCF", TVariant(mask.get(F_CODCF_FROM))); + giri.set_var("#TO_CODCF", TVariant(mask.get(F_CODCF_TO))); TItinerari iti; for(bool ok = giri.move_first();ok;ok=giri.move_next()) { - TDate giorno = giri.get("DTCONS").as_date(); - int wday = giorno.wday();//1=luned́ - long itinerario=giri.get("CODITI").as_int(); - TString iter=giri.get("CODITI").as_string(); - long cliente=giri.get("CODCF").as_int(); - int ordfer=giri.get("ORDFER").as_int(); - int ora = 0;//in attesa che venga inserito + TDate giorno = giri.get("DTCONS").as_date(); + int wday = giorno.wday(); //1 = luned́ + long itinerario = giri.get("CODITI").as_int(); + TString iter = giri.get("CODITI").as_string(); + long cliente = giri.get("CODCF").as_int(); + int ordfer = giri.get("ORDFER").as_int(); + int ora = 0; //in attesa che venga inserito - iti.add(itinerario,wday,cliente,ordfer,ora,iter); + TToken_string key; + key.add('C'); + key.add(cliente); + TString80 ragsoc = cache().get(LF_CLIFO, key, mnemonico ? CLI_RICALT : CLI_RAGSOC); + + iti.add(itinerario,wday,cliente,ragsoc,ordfer,ora,iter); } TGiri_report r(true); TGiri_recordset* giri_set = new TGiri_recordset(); - - giri_set->set_var("#F_CHECK_MNEM",TVariant(mask.get(F_CHECK_MNEM_TO))); + giri_set->set_var("#F_CHECK_MNEM",TVariant(mnemonico)); r.set_recordset(giri_set); - FOR_EACH_ARRAY_ITEM(iti,i,obj)//scandisce itinerario e tiene - //buoni solo quelli valorizzati +#ifdef DBG + //const long cazzoni = giri_set->items(); + //giri_set->save_as("C:/tmp/cazzone.txt", fmt_text); +#endif + + FOR_EACH_ARRAY_ITEM(iti, i, obj) //scandisce itinerario e tiene buoni solo quelli valorizzati { TSettimana& s = *(TSettimana*) obj; const int max = s.passaggi(); - for(int j=0; jnew_rec(); @@ -246,14 +259,14 @@ void TGiri_app::elabora(const TMask& mask) const str_iti.format("%03d", i); giri_set->set(0,TVariant(str_iti)); - for(int g=1; g<=7;g++) + for(int g = 1; g <= 7; g++) { const TPassaggio& pass = s.passaggio(g,j); - const int column = (g-1)*3+1; + const int column = (g-1) * 3 + 1; - giri_set->set(column,pass._codcf); - giri_set->set(column + 1,TVariant(long (pass._ordfer))); - giri_set->set(column + 2,TVariant(long (pass._ora))); + giri_set->set(column,pass._ragsoc); + giri_set->set(column + 1, TVariant(long (pass._ordfer))); + giri_set->set(column + 2, TVariant(long (pass._ora))); } } } @@ -266,6 +279,11 @@ void TGiri_app::elabora(const TMask& mask) const giri_set->set_var(varname, giri.get_var(varname), true); } + #ifdef DBG + const long cazzoni = giri_set->items(); + giri_set->save_as("C:/tmp/cazzone.xls", fmt_html); +#endif + TReport_book b; bool ok = b.add(r);// Richiede parametri di stampa in base alla maschera omonima if (ok) diff --git a/lv/lv2300a.rep b/lv/lv2300a.rep index cd5ff7e2f..16588e534 100755 --- a/lv/lv2300a.rep +++ b/lv/lv2300a.rep @@ -2,7 +2,7 @@ Stampa Giri Settimanale -
    +
    MESSAGE _TODAY @@ -15,8 +15,8 @@ MESSAGE _PAGENO
    -
    -
    +
    +
    A @@ -78,8 +78,8 @@ MESSAGE _ISAMREAD,163,MOD='LV'!COD='AUT'!CODTAB=H2.1000,S0
    -
    -
    +
    +
    @@ -91,21 +91,18 @@ B - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC C E - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC F H - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC I @@ -119,29 +116,26 @@ N - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC O Q - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC R T - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC U
    -
    -
    -
    +
    +
    +
    \ No newline at end of file diff --git a/lv/lv2300a.uml b/lv/lv2300a.uml index ab7544994..f41398de4 100755 --- a/lv/lv2300a.uml +++ b/lv/lv2300a.uml @@ -177,7 +177,7 @@ BEGIN END BOOLEAN F_CHECK_MNEM_TO - BEGIN +BEGIN PROMPT 2 18 "Utilizza Mnemorico (Ricerca Alt.)" FIELD #F_CHECK_MNEM END