Patch level : 1.7 at 660
Files correlati : agaat.men at9.exe Ricompilazione Demo : [ ] Commento : Modifiche sostanziali al programma di aggiornamento dati da estrazione git-svn-id: svn://10.65.10.50/trunk@11675 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
598ccda5e2
commit
a44bb05597
@ -205,6 +205,8 @@ Item_01 = "Aggiornamento archivi da SIT", "at8 -8", ""
|
|||||||
Item_02 = "Acquisizione donazioni da SIT", "at8 -9", ""
|
Item_02 = "Acquisizione donazioni da SIT", "at8 -9", ""
|
||||||
Item_03 = "Conversione stati trasfusionali", "ba3 -0 pr1", ""
|
Item_03 = "Conversione stati trasfusionali", "ba3 -0 pr1", ""
|
||||||
Item_04 = "Conversione tipi donazione", "ba3 -0 pr2", ""
|
Item_04 = "Conversione tipi donazione", "ba3 -0 pr2", ""
|
||||||
|
Item_04 = "Estrazione dati per aggiornamento", "at9 -1", ""
|
||||||
|
Item_04 = "Aggiornamento archivi da estrazione", "at9 -2", ""
|
||||||
|
|
||||||
[PRASSI_001]
|
[PRASSI_001]
|
||||||
Caption = "Gestione Anagrafiche"
|
Caption = "Gestione Anagrafiche"
|
||||||
|
118
at/at9300.cpp
118
at/at9300.cpp
@ -19,6 +19,12 @@
|
|||||||
#include "benem.h"
|
#include "benem.h"
|
||||||
#include "storico.h"
|
#include "storico.h"
|
||||||
|
|
||||||
|
#define X_SOS_CONAVVISO 'A'
|
||||||
|
#define X_SOS_NONAVVISO 'S'
|
||||||
|
#define X_INS_SEVUOTO 'R'
|
||||||
|
#define X_VIS_SEDIVERSO 'V'
|
||||||
|
#define X_IGNORA 'I'
|
||||||
|
|
||||||
class TProv2com: public TSkeleton_application
|
class TProv2com: public TSkeleton_application
|
||||||
{
|
{
|
||||||
TMask* _msk;
|
TMask* _msk;
|
||||||
@ -32,6 +38,7 @@ class TProv2com: public TSkeleton_application
|
|||||||
TIsamtempfile* _fileben;
|
TIsamtempfile* _fileben;
|
||||||
TIsamtempfile* _filesto;
|
TIsamtempfile* _filesto;
|
||||||
TLocalisamfile* _soggetti;
|
TLocalisamfile* _soggetti;
|
||||||
|
long _lastcod;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool create(void);
|
virtual bool create(void);
|
||||||
@ -39,6 +46,7 @@ protected:
|
|||||||
virtual bool destroy(void) ;
|
virtual bool destroy(void) ;
|
||||||
void agg_anagrafica(const TRectype& recsog);
|
void agg_anagrafica(const TRectype& recsog);
|
||||||
void transfer();
|
void transfer();
|
||||||
|
void print_line(const TString& message="");
|
||||||
|
|
||||||
public:
|
public:
|
||||||
const TMask& msk() const { return *_msk; }
|
const TMask& msk() const { return *_msk; }
|
||||||
@ -74,10 +82,14 @@ void TProv2com::main_loop()
|
|||||||
KEY key = _msk->run();
|
KEY key = _msk->run();
|
||||||
if (key == K_ENTER)
|
if (key == K_ENTER)
|
||||||
{
|
{
|
||||||
transfer();
|
if (printer().open())
|
||||||
_configfile->set("PERCORSO", _msk->get(F_PERCORSO), "ARCHIVIO");
|
{
|
||||||
TDate oggi(TODAY);
|
transfer();
|
||||||
_configfile->set("DATA", oggi, "ARCHIVIO");
|
_configfile->set("PERCORSO", _msk->get(F_PERCORSO), "ARCHIVIO");
|
||||||
|
TDate oggi(TODAY);
|
||||||
|
_configfile->set("DATA", oggi, "ARCHIVIO");
|
||||||
|
printer().close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,6 +138,9 @@ void TProv2com::transfer()
|
|||||||
_rel->add(LF_STORICO, "CODICE==CODICE");
|
_rel->add(LF_STORICO, "CODICE==CODICE");
|
||||||
|
|
||||||
_reltmp = new TRelation(LF_SOGGETTI);
|
_reltmp = new TRelation(LF_SOGGETTI);
|
||||||
|
_reltmp->lfile().last();
|
||||||
|
_lastcod = _reltmp->lfile().get_long(SOG_CODICE);
|
||||||
|
|
||||||
//_reltmp->add(LF_DONAZ, "CODICE==CODICE");
|
//_reltmp->add(LF_DONAZ, "CODICE==CODICE");
|
||||||
//_reltmp->add(LF_CONTSAN, "CODICE==CODICE");
|
//_reltmp->add(LF_CONTSAN, "CODICE==CODICE");
|
||||||
//_reltmp->add(LF_IDONEITA, "CODICE==CODICE");
|
//_reltmp->add(LF_IDONEITA, "CODICE==CODICE");
|
||||||
@ -201,23 +216,108 @@ void TProv2com::transfer()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TProv2com::print_line(const TString& message)
|
||||||
|
{
|
||||||
|
TPrintrow row;
|
||||||
|
row.reset();
|
||||||
|
row.put((const char*) message);
|
||||||
|
printer().print(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void TProv2com::agg_anagrafica(const TRectype& recsog)
|
void TProv2com::agg_anagrafica(const TRectype& recsog)
|
||||||
{
|
{
|
||||||
|
bool print_intest = FALSE;
|
||||||
|
TString intestazione = "";
|
||||||
|
TString message = "";
|
||||||
const TString80 cognome = recsog.get(SOG_COGNOME);
|
const TString80 cognome = recsog.get(SOG_COGNOME);
|
||||||
const TString80 nome = recsog.get(SOG_NOME);
|
const TString80 nome = recsog.get(SOG_NOME);
|
||||||
const TDate datanasc = recsog.get_date(SOG_DATANASC);
|
const TDate datanasc = recsog.get_date(SOG_DATANASC);
|
||||||
_soggetti->setkey(3);
|
_soggetti->setkey(2);
|
||||||
TRectype& rec = _rel->curr();
|
TRectype& rec = _rel->curr();
|
||||||
rec.zero();
|
rec.zero();
|
||||||
rec.put(SOG_COGNOME, cognome);
|
rec.put(SOG_COGNOME, cognome);
|
||||||
rec.put(SOG_NOME, nome);
|
rec.put(SOG_NOME, nome);
|
||||||
rec.put(SOG_DATANASC, datanasc);
|
rec.put(SOG_DATANASC, datanasc);
|
||||||
|
intestazione = cognome;
|
||||||
|
intestazione << " ";
|
||||||
|
intestazione << nome;
|
||||||
|
intestazione << " ";
|
||||||
|
intestazione << datanasc.string();
|
||||||
if (_soggetti->read(rec)==NOERR)
|
if (_soggetti->read(rec)==NOERR)
|
||||||
{
|
{
|
||||||
TString80 cog = rec.get(SOG_COGNOME);
|
for (int i=1;i++;i<recsog.items())
|
||||||
TString80 nom = rec.get(SOG_NOME);
|
{
|
||||||
int a = 1;
|
message = " ";
|
||||||
a++;
|
TString80 campo(recsog.fieldname(i));
|
||||||
|
if (campo.not_empty())
|
||||||
|
{
|
||||||
|
const char operazione = _configfile->get(campo, "SOGGETTI")[0];
|
||||||
|
TString esterno = recsog.get(campo);
|
||||||
|
TString interno = rec.get(campo);
|
||||||
|
if (esterno != interno)
|
||||||
|
{
|
||||||
|
if (!print_intest)
|
||||||
|
{
|
||||||
|
print_line();
|
||||||
|
print_line(intestazione);
|
||||||
|
print_intest = TRUE;
|
||||||
|
}
|
||||||
|
switch (operazione)
|
||||||
|
{
|
||||||
|
case X_SOS_CONAVVISO:
|
||||||
|
{
|
||||||
|
rec.put(campo, esterno);
|
||||||
|
message << campo;
|
||||||
|
message << " da ";
|
||||||
|
message << interno;
|
||||||
|
message << " a ";
|
||||||
|
message << esterno;
|
||||||
|
print_line(message);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case X_SOS_NONAVVISO:
|
||||||
|
{
|
||||||
|
rec.put(campo, esterno);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case X_INS_SEVUOTO:
|
||||||
|
{
|
||||||
|
if (interno.empty())
|
||||||
|
rec.put(campo, esterno);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case X_VIS_SEDIVERSO:
|
||||||
|
{
|
||||||
|
message << campo;
|
||||||
|
message << " originale ";
|
||||||
|
message << interno;
|
||||||
|
message << " aggiornamento ";
|
||||||
|
message << esterno;
|
||||||
|
print_line(message);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case X_IGNORA:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TString16 catdon = recsog.get(SOG_CATDON);
|
||||||
|
const char xcatdon = _configfile->get(catdon, "CATDON")[0];
|
||||||
|
if (xcatdon == X_SOS_CONAVVISO)
|
||||||
|
{
|
||||||
|
_lastcod = _lastcod + 1;
|
||||||
|
rec = recsog;
|
||||||
|
rec.put(SOG_CODICE, _lastcod);
|
||||||
|
_soggetti->write(rec);
|
||||||
|
message << " INSERITO ";
|
||||||
|
print_line(message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
95
at/at9300a.ini
Executable file
95
at/at9300a.ini
Executable file
@ -0,0 +1,95 @@
|
|||||||
|
FILE DI CONFIGURAZIONE PER AGGIORNAMENTO DATI COMUNALI DA AVIS PROVINCIALE
|
||||||
|
[LEGENDA]
|
||||||
|
A=SOSTITUISCI CON AVVISO
|
||||||
|
S=SOSTITUISCI SENZA CONDIZIONI
|
||||||
|
R=INSERISCI SOLO SE IL CAMPO DESTINAZIONE E' VUOTO (ALTRIMENTI VISUALIZZA DIFFERENZA)
|
||||||
|
V=VISUALIZZA SE DIVERSO
|
||||||
|
I=IGNORA
|
||||||
|
|
||||||
|
[ARCHIVIO]
|
||||||
|
DATA = 18-12-2003
|
||||||
|
PERCORSO = c:\tmp\
|
||||||
|
|
||||||
|
[SOGGETTI]
|
||||||
|
CODSEZ = V
|
||||||
|
CODSOT = V
|
||||||
|
|
||||||
|
COMNASC = A
|
||||||
|
CATDON = V
|
||||||
|
SESSO = V
|
||||||
|
DATAISC = V
|
||||||
|
DATADIM = V
|
||||||
|
CATNOND = I
|
||||||
|
CATNOND2 = I
|
||||||
|
TESSAVIS = S
|
||||||
|
TESSSSN = R
|
||||||
|
CODCT = S
|
||||||
|
CODCL = S
|
||||||
|
DOCID = V
|
||||||
|
CF = S
|
||||||
|
DOM_INDIR = V
|
||||||
|
DOM_CODCOM = V
|
||||||
|
DOM_CODLOC = V
|
||||||
|
DOM_STRADA = V
|
||||||
|
DOM_DISTRI = V
|
||||||
|
DOM_CAP = V
|
||||||
|
RES_INDIR = V
|
||||||
|
RES_CODCOM = V
|
||||||
|
RES_CODLOC = V
|
||||||
|
RES_CAP = V
|
||||||
|
TELABI = V
|
||||||
|
TELLAV = V
|
||||||
|
TELALT = V
|
||||||
|
TITINDIR = V
|
||||||
|
ESCLUSO = V
|
||||||
|
TERMESCL = V
|
||||||
|
MOTESCL = V
|
||||||
|
DONPRECSI = V
|
||||||
|
DONPRECAF = V
|
||||||
|
DATAPRISI = V
|
||||||
|
DATAPRIAF = V
|
||||||
|
|
||||||
|
GRUPPOAB0 = S
|
||||||
|
RHANTID = S
|
||||||
|
KELL = S
|
||||||
|
FENOTIPORH = S
|
||||||
|
DU = S
|
||||||
|
ANTICORPI = S
|
||||||
|
CMV = S
|
||||||
|
|
||||||
|
PUNTORACC = I
|
||||||
|
CODMED = V
|
||||||
|
MODCONV = I
|
||||||
|
GIOPREDON = V
|
||||||
|
GIOPRECON = V
|
||||||
|
|
||||||
|
CONDOCC = V
|
||||||
|
POSPROF = V
|
||||||
|
RAMOATT = V
|
||||||
|
TITSTUD = V
|
||||||
|
LUOGOLAV = V
|
||||||
|
PROFESS = V
|
||||||
|
T_STAMPATA = S
|
||||||
|
GRUPPOAZIE = V
|
||||||
|
NOTIZIARIO = V
|
||||||
|
BENEM = V
|
||||||
|
COGNOME_SP = V
|
||||||
|
CONSENSO = V
|
||||||
|
NOTE = I
|
||||||
|
|
||||||
|
[DONAZIONI]
|
||||||
|
DATADON=V
|
||||||
|
TIPODON=V
|
||||||
|
|
||||||
|
[CONTROLLI]
|
||||||
|
DATACON=V
|
||||||
|
TIPOCON=V
|
||||||
|
|
||||||
|
[STORICO]
|
||||||
|
DATAISC=V
|
||||||
|
|
||||||
|
[CATDON]
|
||||||
|
AV=A
|
||||||
|
AS=A
|
||||||
|
NU=A
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user