From 658ee8ae801b17c3c795e72edc6b350ebf2801f1 Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 9 Apr 2013 15:08:09 +0000 Subject: [PATCH] Correzioni trasferimento SISPAC git-svn-id: svn://10.65.10.50/branches/R_10_00@22841 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- tc/tc8200.cpp | 12 ++--- tc/tc9300.cpp | 136 +++++++++++++++++++++++++------------------------- 2 files changed, 73 insertions(+), 75 deletions(-) diff --git a/tc/tc8200.cpp b/tc/tc8200.cpp index 224c416cc..d950b7f53 100644 --- a/tc/tc8200.cpp +++ b/tc/tc8200.cpp @@ -359,14 +359,15 @@ void TPayLine_app::esporta_partita(long cf, int year, const TString& numpart, const TDate& dal, const TDate& al, TPayLine_recset& clienti, TPayLine_recset& movimenti, TLog_report& log) const { - const TBill bill(0, 0, cf, 'C'); - TPartita game(bill, year, numpart); - - if (cf == 500277 && atoi(numpart) == 1173) + if (cf == 766 && atoi(numpart) == 0) int cazzone = 1; + const TBill bill(0, 0, cf, 'C'); + TPartita game(bill, year, numpart); + const bool game_over = game.chiusa(true); + bool some_rata = false; - const TDate inizio = game.chiusa() ? botime : dal; + const TDate inizio = game_over ? dal : botime; for (int r = game.prima_fattura(); game.esiste(r); r = game.succ(r)) { const TRiga_partite& riga = game.riga(r); @@ -380,7 +381,6 @@ void TPayLine_app::esporta_partita(long cf, int year, const TString& numpart, const TRecord_array& nonass = game.unassigned(); if (nonass.rows() > 0) { - const bool game_over = game.chiusa(); if (game_over && !some_rata) return; // Ignora vecchie partite chiuse diff --git a/tc/tc9300.cpp b/tc/tc9300.cpp index d21a5a861..6b42e30ba 100755 --- a/tc/tc9300.cpp +++ b/tc/tc9300.cpp @@ -514,26 +514,26 @@ public: TForsisp_set::TForsisp_set() : TSISPAC_set("AS400(304)") { - create_field("CODANAG", -1, 6, _alfafld); - create_field("COFI", -1, 16, _alfafld); - create_field("PAIV", -1, 11, _alfafld); - create_field("TIPOANAG", -1, 1, _alfafld); - create_field("RAGSOC", -1, 50, _alfafld); - create_field("INDIRIZZO", -1, 28, _alfafld); - create_field("NUMERO", -1, 7, _alfafld); - create_field("COMUNE", -1, 35, _alfafld); - create_field("CAP", -1, 5, _longzerofld); - create_field("STATEST", -1, 35, _alfafld); + create_field("CODANAG", -1, 6, _alfafld); + create_field("COFI", -1, 16, _alfafld); + create_field("PAIV", -1, 11, _alfafld); + create_field("TIPOANAG", -1, 1, _alfafld); + create_field("RAGSOC", -1, 50, _alfafld); + create_field("INDIRIZZO",-1, 28, _alfafld); + create_field("NUMERO", -1, 7, _alfafld); + create_field("COMUNE", -1, 35, _alfafld); + create_field("CAP", -1, 5, _longzerofld); + create_field("STATEST", -1, 35, _alfafld); create_field("TELEFONO", -1, 20, _alfafld); - create_field("TELEFAX", -1, 20, _alfafld); - create_field("TELEX", -1, 20, _alfafld); - create_field("PREFISSO", -1, 4, _alfafld); + create_field("TELEFAX", -1, 20, _alfafld); + create_field("TELEX", -1, 20, _alfafld); + create_field("PREFISSO", -1, 4, _alfafld); create_field("FRAZIONE", -1, 35, _alfafld); - create_field("PROVINCIA", -1, 2, _alfafld); - create_field("TESTAZMUN", -1, 1, _alfafld); - create_field("CODCOM", -1, 4, _alfafld); - create_field("CODFRAZ", -1, 2, _alfafld); - create_field("FINEREC", -1, 2, _alfafld,true,"\r\n"); + create_field("PROVINCIA",-1, 2, _alfafld); + create_field("TESTAZMUN",-1, 1, _alfafld); + create_field("CODCOM", -1, 4, _alfafld); + create_field("CODFRAZ", -1, 2, _alfafld); + create_field("FINEREC", -1, 2, _alfafld,true,"\r\n"); } class TClisisp_set : public TSISPAC_set @@ -544,26 +544,26 @@ public: TClisisp_set::TClisisp_set() : TSISPAC_set("AS400(304)") { - create_field("CODANAG", -1, 6, _alfafld); - create_field("COFI", -1, 16, _alfafld); - create_field("PAIV", -1, 11, _alfafld); - create_field("TIPOANAG", -1, 1, _alfafld); - create_field("RAGSOC", -1, 50, _alfafld); + create_field("CODANAG", -1, 6, _alfafld); + create_field("COFI", -1, 16, _alfafld); + create_field("PAIV", -1, 11, _alfafld); + create_field("TIPOANAG", -1, 1, _alfafld); + create_field("RAGSOC", -1, 50, _alfafld); create_field("INDIRIZZO", -1, 28, _alfafld); - create_field("NUMERO", -1, 7, _alfafld); - create_field("COMUNE", -1, 35, _alfafld); - create_field("CAP", -1, 5, _longzerofld); - create_field("STATEST", -1, 35, _alfafld); - create_field("TELEFONO", -1, 20, _alfafld); - create_field("TELEFAX", -1, 20, _alfafld); - create_field("TELEX", -1, 20, _alfafld); - create_field("PREFISSO", -1, 4, _alfafld); - create_field("FRAZIONE", -1, 35, _alfafld); - create_field("PROVINCIA", -1, 2, _alfafld); - create_field("TESTAZMUN", -1, 1, _alfafld); - create_field("CODCOM", -1, 4, _alfafld); - create_field("CODFRAZ", -1, 2, _alfafld); - create_field("FINEREC", -1, 2, _alfafld,true,"\r\n"); + create_field("NUMERO", -1, 7, _alfafld); + create_field("COMUNE", -1, 35, _alfafld); + create_field("CAP", -1, 5, _longzerofld); + create_field("STATEST", -1, 35, _alfafld); + create_field("TELEFONO", -1, 20, _alfafld); + create_field("TELEFAX", -1, 20, _alfafld); + create_field("TELEX", -1, 20, _alfafld); + create_field("PREFISSO", -1, 4, _alfafld); + create_field("FRAZIONE", -1, 35, _alfafld); + create_field("PROVINCIA", -1, 2, _alfafld); + create_field("TESTAZMUN", -1, 1, _alfafld); + create_field("CODCOM", -1, 4, _alfafld); + create_field("CODFRAZ", -1, 2, _alfafld); + create_field("FINEREC", -1, 2, _alfafld,true,"\r\n"); } /* @@ -768,6 +768,7 @@ protected: const TString & scod2contov(const TString& cod); bool scod2rc(const TString& cod); const long cod2ricl(const char* tab, const TString& cod); + const char* get_tipo_anag(const TRecordset& input) const; public: TConfig& config() {return *_configfile;}; @@ -857,13 +858,33 @@ const long TInvioSispac::cod2ricl(const char* tab, const TString& cod) return codricl; } +const char* TInvioSispac::get_tipo_anag(const TRecordset& input) const +{ + const char* var = "P"; + + const char cf = input.get(CLI_COFI).as_string()[0]; + const char pi = input.get(CLI_PAIV).as_string()[0]; + + if (isalpha(cf)) + var = isdigit(pi) ? "D" : "F"; + else + { + if (isdigit(cf)) + var = isdigit(pi) ? "S" : "A"; + else + var = isdigit(pi) ? "S" : "F"; + } + + return var; +} + void TInvioSispac::sispac_cli() { TClisisp_set recset; TString query; query << "USE " << LF_CLIFO - << "\nJOIN " << LF_COMUNI << " INTO " << COM_STATO << "==" << CLI_STATOCF << " " << COM_COM << "==" << CLI_COMCF + << "\nJOIN " << LF_COMUNI << " INTO " << COM_STATO << "==" << CLI_STATOCF << ' ' << COM_COM << "==" << CLI_COMCF << "\nFROM " << CLI_TIPOCF << "=C" << "\nTO " << CLI_TIPOCF << "=C"; @@ -877,6 +898,8 @@ void TInvioSispac::sispac_cli() for (bool ok = input.move_first(); ok ; ok = input.move_next()) { + if (!p.addstatus(1L)) + break; recset.new_rec(); const long codcli = input.get(CLI_CODCF).as_int(); @@ -885,18 +908,7 @@ void TInvioSispac::sispac_cli() recset.set("CODANAG", var); recset.set("COFI", input.get(CLI_COFI)); recset.set("PAIV", input.get(CLI_PAIV)); - - const int cflen = input.get(CLI_COFI).as_string().len(); - const int pilen = input.get(CLI_PAIV).as_string().len(); - - if (cflen > 11) - var = "F"; - else - if (cflen == 0 && pilen == 0) - var = "P"; - else - var = "D"; - recset.set("TIPOANAG", var); + recset.set("TIPOANAG", get_tipo_anag(input)); recset.set("RAGSOC", input.get(CLI_RAGSOC)); recset.set("INDIRIZZO", input.get(CLI_INDCF)); recset.set("NUMERO", input.get(CLI_CIVCF)); @@ -913,9 +925,6 @@ void TInvioSispac::sispac_cli() recset.set("COMUNE", var); recset.set("CAP", input.get(CLI_CAPCF)); recset.set("FINEREC", "\r\n"); - p.addstatus(1L);; - if (p.iscancelled()) - break; } @@ -945,25 +954,17 @@ void TInvioSispac::sispac_for() for (bool ok = input.move_first(); ok ; ok = input.move_next()) { - recset.new_rec(); + if (!p.addstatus(1L)) + break; + + recset.new_rec(); const long codfor = input.get(CLI_CODCF).as_int(); var = format("%06d", codfor); recset.set("CODANAG", var); recset.set("COFI", input.get(CLI_COFI)); recset.set("PAIV", input.get(CLI_PAIV)); - - const int cflen = input.get(CLI_COFI).as_string().len(); - const int pilen = input.get(CLI_PAIV).as_string().len(); - - if (cflen > 11) - var = "F"; - else - if (cflen == 0 && pilen == 0) - var = "P"; - else - var = "D"; - recset.set("TIPOANAG", var); + recset.set("TIPOANAG", get_tipo_anag(input)); recset.set("RAGSOC", input.get(CLI_RAGSOC)); recset.set("INDIRIZZO", input.get(CLI_INDCF)); recset.set("NUMERO", input.get(CLI_CIVCF)); @@ -980,9 +981,6 @@ void TInvioSispac::sispac_for() recset.set("COMUNE", var); recset.set("CAP", input.get(CLI_CAPCF)); recset.set("FINEREC", "\r\n"); - p.addstatus(1L);; - if (p.iscancelled()) - break; } TFilename outputname = _configfile->get("PATH", "OPZIONI");