Patch level : 10.0 no patch

Files correlati     :pi0001.exe
Ricompilazione Demo : [ ]
Commento            :

Conversione movimenti partite e cespiti GALILEO


git-svn-id: svn://10.65.10.50/trunk@19973 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-01-22 14:06:07 +00:00
parent 3af9d31177
commit e57f1b6542
3 changed files with 114 additions and 100 deletions

View File

@ -167,6 +167,7 @@ void TImporta_mov::build_IVA(TConfig & conf, TArray & rows, TString_array & conc
{ {
const int items = rows.items(); const int items = rows.items();
TString paragraph; TString paragraph;
TToken_string key;
if (items > 0) if (items > 0)
{ {
@ -198,11 +199,15 @@ void TImporta_mov::build_IVA(TConfig & conf, TArray & rows, TString_array & conc
} }
imptot -= imp; imptot -= imp;
paragraph.format("%d,%d",LF_RMOVIVA,nrigai++); paragraph.format("%d,%d",LF_RMOVIVA,nrigai++);
key.add(gruppo);
key.add(conto);
const TString4 tipocf = cache().get(LF_PCON, key, PCN_TMCF);
conf.set_paragraph(paragraph); conf.set_paragraph(paragraph);
conf.set(RMI_CODIVA, rec.get(RMI_CODIVA)); conf.set(RMI_CODIVA, rec.get(RMI_CODIVA));
conf.set(RMI_TIPODET, rec.get(RMI_TIPODET)); conf.set(RMI_TIPODET, rec.get(RMI_TIPODET));
conf.set(RMI_IMPONIBILE, imp.string()); conf.set(RMI_IMPONIBILE, imp.string());
conf.set(RMI_IMPOSTA, iva.string()); conf.set(RMI_IMPOSTA, iva.string());
conf.set(RMI_TIPOC, tipocf);
conf.set(RMI_GRUPPO, gruppo); conf.set(RMI_GRUPPO, gruppo);
conf.set(RMI_CONTO, conto); conf.set(RMI_CONTO, conto);
conf.set(RMI_SOTTOCONTO, sottoconto); conf.set(RMI_SOTTOCONTO, sottoconto);
@ -359,14 +364,15 @@ void TImporta_mov::transfer(const TFilename& file)
importo = -importo; importo = -importo;
sez = "A"; sez = "A";
} }
if (iva)
{
TToken_string key; TToken_string key;
key.add(gruppo); key.add(gruppo);
key.add(conto); key.add(conto);
const TString4 tipocf = cache().get(LF_PCON, key, PCN_TMCF); const TString4 tipocf = cache().get(LF_PCON, key, PCN_TMCF);
if (iva)
{
if (tipocf.full()) if (tipocf.full())
{ {
conf->set_paragraph("23"); //setto il paragrafo [23] del file ini (testata) conf->set_paragraph("23"); //setto il paragrafo [23] del file ini (testata)
@ -398,6 +404,7 @@ void TImporta_mov::transfer(const TFilename& file)
conf->set(RMV_GRUPPO, gruppo); conf->set(RMV_GRUPPO, gruppo);
conf->set(RMV_CONTO, conto); conf->set(RMV_CONTO, conto);
conf->set(RMV_SOTTOCONTO, sottoconto); conf->set(RMV_SOTTOCONTO, sottoconto);
conf->set(RMV_TIPOC, tipocf);
} }
} }
else else

View File

@ -21,7 +21,7 @@
#include <rmov.h> #include <rmov.h>
#include <rmoviva.h> #include <rmoviva.h>
// Tracciato File: FGA5DAT/CGSCA00F - CGSCA : Scadenze INDEX 9/12/09 17:43:05 Pag. 1 /* // Tracciato File: FGA5DAT/CGSCA00F - CGSCA : Scadenze INDEX 9/12/09 17:43:05 Pag. 1
#define TR01CD 0 // A=Att./Sosp./Ann/Estr.ant.ft DIZSMAS - ATTI #define TR01CD 0 // A=Att./Sosp./Ann/Estr.ant.ft DIZSMAS - ATTI
#define DT01CD 1 // Data ult.manut. DIZSMAS - DATS #define DT01CD 1 // Data ult.manut. DIZSMAS - DATS
#define NR01CD 2 // Numero azione di aggiornamento DIZSMAS - NRAZ #define NR01CD 2 // Numero azione di aggiornamento DIZSMAS - NRAZ
@ -41,7 +41,7 @@
#define TIPOCD 16 // Tipo Effetto DIZSMAS - TIPO #define TIPOCD 16 // Tipo Effetto DIZSMAS - TIPO
#define GEINCD 17 // * = Generato RCD su Insoluti DIZSMAS - FLAG #define GEINCD 17 // * = Generato RCD su Insoluti DIZSMAS - FLAG
#define CAMBCD2 18 // Cambio EURO DIZSMAS - CAME #define CAMBCD2 18 // Cambio EURO DIZSMAS - CAME
#define IMVACD2 19 // Importo val2 DIZSMAS - IMPO #define IMVACD2 19 // Importo val2 DIZSMAS - IMPO */
// Tracciato File: FGA5DAT/CGSPA00F - CGSPA : Scadenze partite aperte 9/12/09 17:43:12 Pag. 1 // Tracciato File: FGA5DAT/CGSPA00F - CGSPA : Scadenze partite aperte 9/12/09 17:43:12 Pag. 1
#define AT01PA 0 // Tipo provvisorio DIZSMAS - ATTI #define AT01PA 0 // Tipo provvisorio DIZSMAS - ATTI
@ -184,6 +184,7 @@ bool build_rec(const TRelation& rel, void* pJolly)
const int p1 = key.find(" ", p); const int p1 = key.find(" ", p);
gmm->zero(); gmm->zero();
if (p1 > p)
key.cut(p1); key.cut(p1);
key = key.mid(p); key = key.mid(p);
gmm->put("CODTAB", key); gmm->put("CODTAB", key);
@ -213,10 +214,11 @@ void TImporta_sc::transfer(const TFilename& file)
TString4 conto; TString4 conto;
TString8 sottoconto; TString8 sottoconto;
TString descr(50); TString descr(50);
TPartita * game; TPartita * game = NULL;
long nreg; long nreg;
TCausali_cache cache_causali; TCausali_cache cache_causali;
build_table();
for (bool ok=s.move_first();ok;ok=s.move_next()) for (bool ok=s.move_first();ok;ok=s.move_next())
{ {
if (!pi.addstatus(1)) if (!pi.addstatus(1))
@ -230,15 +232,10 @@ void TImporta_sc::transfer(const TFilename& file)
anno = a; anno = a;
part = p; part = p;
const TString8 reg = s.get(DIVIPA).as_string();
const TDate dataop(s.get(DTRGPA).as_int());
const long nmov = s.get(NONPPA).as_int();
TToken_string key(25, ','); TToken_string key(25, ',');
key.add(part);
key.add(anno); key.add(anno);
key.add(reg);
key.add(dataop.string());
key.add(nmov);
nreg = cache().get("GMM", key).get_long("I0"); nreg = cache().get("GMM", key).get_long("I0");
@ -250,6 +247,9 @@ void TImporta_sc::transfer(const TFilename& file)
game = NULL; game = NULL;
} }
real residuo = s.get(IMPOPA).as_real();
if (residuo !=ZERO)
{
TToken_string keymov; TToken_string keymov;
keymov.add(nreg); keymov.add(nreg);
@ -282,26 +282,26 @@ void TImporta_sc::transfer(const TFilename& file)
partita.put(PART_SOTTOCONTO, clifo.sottoconto()); partita.put(PART_SOTTOCONTO, clifo.sottoconto());
const TString8 codpag(mov.get(MOV_CODPAG)); const TString8 codpag(mov.get(MOV_CODPAG));
TPagamento pag(codpag); TPagamento pag(codpag);
partita.put(PART_CODPAG, codpag); partita.put(PART_TIPOPAG, pag.n_rate() > 0 ? pag.tipo_rata(0) : _rim_dir);
partita.put(PART_TIPOPAG, pag.tipo_rata(0));
partita.put(PART_GRUPPOCL, clifo.gruppo()); partita.put(PART_GRUPPOCL, clifo.gruppo());
partita.put(PART_CONTOCL, clifo.conto()); partita.put(PART_CONTOCL, clifo.conto());
partita.put(PART_PROTIVA, mov.get(MOV_PROTIVA)); partita.put(PART_PROTIVA, mov.get(MOV_PROTIVA));
int sign = residuo.sign();
real residuo = s.get(IMPOPA).as_real(); TImporto importo(sign < 0 ? 'A' : 'D', abs(residuo));
TImporto importo(residuo.sign() < 0 ? 'A' : 'D', abs(residuo));
importo.normalize(c.sezione(1)); importo.normalize(c.sezione(1));
partita.add(PART_IMPTOTDOC, importo.valore()); partita.add(PART_IMPTOTDOC, sign * importo.valore());
partita.put(PART_IMPORTO, importo.valore()); partita.put(PART_IMPORTO, sign * importo.valore());
TRiga_scadenze& scadenza = partita.new_row(); TRiga_scadenze& scadenza = partita.new_row();
scadenza.put(SCAD_CODPAG, mov.get(MOV_CODPAG)); scadenza.put(SCAD_CODPAG, codpag);
scadenza.put(SCAD_DATASCAD, s.get(DTSCPA).as_string()); scadenza.put(SCAD_DATASCAD, s.get(DTSCPA).as_string());
scadenza.put(SCAD_IMPORTO, importo.valore()); scadenza.put(SCAD_IMPORTO, sign * importo.valore());
scadenza.put(SCAD_TIPOPAG, partita.get(PART_TIPOPAG)); scadenza.put(SCAD_TIPOPAG, partita.get(PART_TIPOPAG));
} }
}
if (game != NULL) if (game != NULL)
{ {
game->write(); game->write();

View File

@ -215,10 +215,21 @@ public:
virtual bool destroy(); virtual bool destroy();
virtual void main_loop(); virtual void main_loop();
void transfer(const TFilename& file, const TFilename& filesto); void transfer(const TFilename& file, const TFilename& filesto);
const char * galileo2campo(const TString & codces);
TImporta_cesp() {}; TImporta_cesp() {};
}; };
const char * TImporta_cesp::galileo2campo(const TString & codces)
{
TString & str = get_tmp_string(16);
const long cod = atoi(codces.left(6));
const long prog = atoi(codces.mid(7));
str.format("%06ld%04ld", cod, prog);
return str;
}
void TImporta_cesp::transfer(const TFilename& file, const TFilename& filesto) void TImporta_cesp::transfer(const TFilename& file, const TFilename& filesto)
{ {
TFilename outdir(_msk->get(F_PATHOUT)); TFilename outdir(_msk->get(F_PATHOUT));
@ -230,7 +241,6 @@ void TImporta_cesp::transfer(const TFilename& file, const TFilename& filesto)
const int codes = _msk->get_int(F_ANNOES); const int codes = _msk->get_int(F_ANNOES);
real val; real val;
TAssoc_array sto_keys; TAssoc_array sto_keys;
TString16 key;
TString16 pos; TString16 pos;
{ {
@ -246,10 +256,9 @@ void TImporta_cesp::transfer(const TFilename& file, const TFilename& filesto)
if (ditta == dtst && annoes == codes) if (ditta == dtst && annoes == codes)
{ {
const long codces = st.get(CCESAS).as_int(); const TString16 codces(galileo2campo(st.get(CCESAS).as_string()));
key.format("%010ld", codces);
pos.format("%ld", st.current_row()); pos.format("%ld", st.current_row());
sto_keys.add(key, pos); sto_keys.add(codces, pos);
} }
} }
} }
@ -278,19 +287,17 @@ void TImporta_cesp::transfer(const TFilename& file, const TFilename& filesto)
conf.set("Mode","AUTO"); conf.set("Mode","AUTO");
conf.set_paragraph("139"); // setto il paragrafo cespi conf.set_paragraph("139"); // setto il paragrafo cespi
const long codces = s.get(CCESAA).as_int(); const TString16 codces(galileo2campo(s.get(CCESAA).as_string()));
const TString16 scodces(format("%010ld", codces));
conf.set(CESPI_IDCESPITE, codces);
conf.set(CESPI_CODCAT, str = s.get(CDNAAA).as_string());
conf.set(CESPI_IDCESPITE, scodces);
str = s.get(DCESAA).as_string(); str = s.get(DCESAA).as_string();
/* str << ' ' << s.get(SIGLAA).as_string();
str << ' ' << s.get(DACEAA).as_string();
str << ' ' << s.get(MATRAA).as_string(); */
str.left(60); str.left(60);
conf.set(CESPI_DESC, str); conf.set(CESPI_DESC, str);
conf.set(CESPI_DTCOMP, s.get(DTIAAA).as_string()); conf.set(CESPI_DTCOMP, s.get(DTIAAA).as_date());
conf.set(CESPI_DTFUNZ, s.get(DTIAAA).as_string()); conf.set(CESPI_DTFUNZ, s.get(DTIAAA).as_date());
conf.set(CESPI_DTALIEN, s.get(DTFAAA).as_string()); conf.set(CESPI_DTALIEN, s.get(DTFAAA).as_date());
conf.set(CESPI_TPSPEMAN, s.get(FLSMAA).as_bool() ? 2 : 1); conf.set(CESPI_TPSPEMAN, s.get(FLSMAA).as_bool() ? 2 : 1);
/* /*
#define CESPI_CODCGRA "CODCGRA" #define CESPI_CODCGRA "CODCGRA"
@ -324,20 +331,20 @@ void TImporta_cesp::transfer(const TFilename& file, const TFilename& filesto)
#define CESPI_FABBR06 "FABBR06" #define CESPI_FABBR06 "FABBR06"
*/ */
TString * p = (TString *) sto_keys.objptr(key); conf.set_paragraph("143"); // setto il paragrafo del file salce
conf.set(SALCE_IDCESPITE, codces);
conf.set(SALCE_CODES, codes);
conf.set(SALCE_ANNIAMM, 1);
conf.set(SALCE_NUMELE, 1);
TString * p = (TString *) sto_keys.objptr(codces);
if (p != NULL) if (p != NULL)
{ {
st.move_to(atol(*p)); st.move_to(atol(*p));
const int wcodces = s.get(CCESAS).as_int(); const TString16 wcodces(galileo2campo(st.get(CCESAS).as_string()));
CHECK(codces == wcodces, format("Errore di posizionamento Cespite %ld - %ld", codces, wcodces));
conf.set_paragraph("143"); // setto il paragrafo del file salce CHECK(codces == wcodces, format("Errore di posizionamento Cespite %s - %s", (const char *)codces, (const char *) wcodces));
conf.set(SALCE_IDCESPITE, scodces); val = st.get(VLINAS).as_real() + st.get(VAVIAS).as_real();
conf.set(SALCE_CODES, codes);
conf.set(SALCE_ANNIAMM, 1);
conf.set(SALCE_NUMELE, 1);
val = s.get(VLINAS).as_real() + s.get(VAVIAS).as_real();
conf.set(SALCE_CSTO, val.string()); conf.set(SALCE_CSTO, val.string());
/* /*
#define SALCE_VNONAMM "VNONAMM" #define SALCE_VNONAMM "VNONAMM"
@ -359,33 +366,33 @@ void TImporta_cesp::transfer(const TFilename& file, const TFilename& filesto)
val = s.get(VLINAS2).as_real() + s.get(VAVIAS2).as_real(); // gest val = s.get(VLINAS2).as_real() + s.get(VAVIAS2).as_real(); // gest
*/ */
conf.set_paragraph("136"); // setto il paragrafo del file ammce fiscale conf.set_paragraph("136"); // setto il paragrafo del file ammce fiscale
conf.set(AMMCE_IDCESPITE, scodces); conf.set(AMMCE_IDCESPITE, codces);
conf.set(AMMCE_CODES, codes); conf.set(AMMCE_CODES, codes);
val = s.get(PFANAS).as_real() + s.get(VAFNAS).as_real(); // prog amm norm fisc val = st.get(PFANAS).as_real() + st.get(VAFNAS).as_real(); // prog amm norm fisc
conf.set(AMMCE_QNOR, val.string()); conf.set(AMMCE_QNOR, val.string());
val = s.get(VAMAAS).as_real(); // val amm acc fisc val = st.get(VAMAAS).as_real(); // val amm acc fisc
conf.set(AMMCE_QACC, val.string()); conf.set(AMMCE_QACC, val.string());
val = s.get(PFAAAS).as_real() + s.get(VAFAAS).as_real(); // prog amm ant fisc val = st.get(PFAAAS).as_real() + st.get(VAFAAS).as_real(); // prog amm ant fisc
conf.set(AMMCE_QANT, val.string()); conf.set(AMMCE_QANT, val.string());
conf.set_paragraph("-1"); // setto il paragrafo del file ammce civilistico conf.set_paragraph("-1"); // setto il paragrafo del file ammce civilistico
conf.set(AMMCE_IDCESPITE, scodces); conf.set(AMMCE_IDCESPITE, codces);
conf.set(AMMCE_CODES, codes); conf.set(AMMCE_CODES, codes);
val = s.get(FANCAS).as_real() + s.get(VFNCAS).as_real(); // prog amm norm civ val = st.get(FANCAS).as_real() + st.get(VFNCAS).as_real(); // prog amm norm civ
conf.set(AMMCE_QNOR, val.string()); conf.set(AMMCE_QNOR, val.string());
val = s.get(VALCAS).as_real(); // val amm acc civ val = st.get(VALCAS).as_real(); // val amm acc civ
conf.set(AMMCE_QACC, val.string()); conf.set(AMMCE_QACC, val.string());
val = s.get(FAACAS).as_real() + s.get(VFACAS).as_real(); // prog amm ant civ val = st.get(FAACAS).as_real() + st.get(VFACAS).as_real(); // prog amm ant civ
conf.set(AMMCE_QANT, val.string()); conf.set(AMMCE_QANT, val.string());
conf.set_paragraph("-2"); // setto il paragrafo del file ammce gestionale conf.set_paragraph("-2"); // setto il paragrafo del file ammce gestionale
conf.set(AMMCE_IDCESPITE, scodces); conf.set(AMMCE_IDCESPITE, codces);
conf.set(AMMCE_CODES, codes); conf.set(AMMCE_CODES, codes);
val = s.get(PFANAS2).as_real() + s.get(VAFNAS2).as_real(); // prog amm norm gest val = st.get(PFANAS2).as_real() + st.get(VAFNAS2).as_real(); // prog amm norm gest
conf.set(AMMCE_QNOR, val.string()); conf.set(AMMCE_QNOR, val.string());
val = s.get(VALCAS).as_real(); // val amm acc gest val = st.get(VALCAS).as_real(); // val amm acc gest
conf.set(AMMCE_QACC, val.string()); conf.set(AMMCE_QACC, val.string());
val = s.get(PFAAAS2).as_real() + s.get(VAFAAS2).as_real(); // prog amm ant gest val = st.get(PFAAAS2).as_real() + st.get(VAFAAS2).as_real(); // prog amm ant gest
conf.set(AMMCE_QANT, val.string()); conf.set(AMMCE_QANT, val.string());
/* /*