Correzioni trasferimento SISPAC

git-svn-id: svn://10.65.10.50/branches/R_10_00@22841 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2013-04-09 15:08:09 +00:00
parent 0063fc1077
commit 658ee8ae80
2 changed files with 73 additions and 75 deletions

View File

@ -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

View File

@ -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");