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_03 = "Conversione stati trasfusionali", "ba3 -0 pr1", ""
|
||||
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]
|
||||
Caption = "Gestione Anagrafiche"
|
||||
|
124
at/at9300.cpp
124
at/at9300.cpp
@ -19,6 +19,12 @@
|
||||
#include "benem.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
|
||||
{
|
||||
TMask* _msk;
|
||||
@ -32,13 +38,15 @@ class TProv2com: public TSkeleton_application
|
||||
TIsamtempfile* _fileben;
|
||||
TIsamtempfile* _filesto;
|
||||
TLocalisamfile* _soggetti;
|
||||
|
||||
long _lastcod;
|
||||
|
||||
protected:
|
||||
virtual bool create(void);
|
||||
virtual void main_loop();
|
||||
virtual bool destroy(void) ;
|
||||
void agg_anagrafica(const TRectype& recsog);
|
||||
void transfer();
|
||||
void print_line(const TString& message="");
|
||||
|
||||
public:
|
||||
const TMask& msk() const { return *_msk; }
|
||||
@ -74,16 +82,20 @@ void TProv2com::main_loop()
|
||||
KEY key = _msk->run();
|
||||
if (key == K_ENTER)
|
||||
{
|
||||
transfer();
|
||||
_configfile->set("PERCORSO", _msk->get(F_PERCORSO), "ARCHIVIO");
|
||||
TDate oggi(TODAY);
|
||||
_configfile->set("DATA", oggi, "ARCHIVIO");
|
||||
if (printer().open())
|
||||
{
|
||||
transfer();
|
||||
_configfile->set("PERCORSO", _msk->get(F_PERCORSO), "ARCHIVIO");
|
||||
TDate oggi(TODAY);
|
||||
_configfile->set("DATA", oggi, "ARCHIVIO");
|
||||
printer().close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// trasferimento dati da file CT su programma avis
|
||||
void TProv2com::transfer()
|
||||
{
|
||||
{
|
||||
bool anagrafica = _msk->get_bool(F_ANAGRAFICA);
|
||||
const bool donazioni = _msk->get_bool(F_DONAZIONI);
|
||||
const bool controlli = _msk->get_bool(F_CONTROLLI);
|
||||
@ -126,6 +138,9 @@ void TProv2com::transfer()
|
||||
_rel->add(LF_STORICO, "CODICE==CODICE");
|
||||
|
||||
_reltmp = new TRelation(LF_SOGGETTI);
|
||||
_reltmp->lfile().last();
|
||||
_lastcod = _reltmp->lfile().get_long(SOG_CODICE);
|
||||
|
||||
//_reltmp->add(LF_DONAZ, "CODICE==CODICE");
|
||||
//_reltmp->add(LF_CONTSAN, "CODICE==CODICE");
|
||||
//_reltmp->add(LF_IDONEITA, "CODICE==CODICE");
|
||||
@ -199,25 +214,110 @@ 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)
|
||||
{
|
||||
{
|
||||
bool print_intest = FALSE;
|
||||
TString intestazione = "";
|
||||
TString message = "";
|
||||
const TString80 cognome = recsog.get(SOG_COGNOME);
|
||||
const TString80 nome = recsog.get(SOG_NOME);
|
||||
const TDate datanasc = recsog.get_date(SOG_DATANASC);
|
||||
_soggetti->setkey(3);
|
||||
_soggetti->setkey(2);
|
||||
TRectype& rec = _rel->curr();
|
||||
rec.zero();
|
||||
rec.put(SOG_COGNOME, cognome);
|
||||
rec.put(SOG_NOME, nome);
|
||||
rec.put(SOG_DATANASC, datanasc);
|
||||
intestazione = cognome;
|
||||
intestazione << " ";
|
||||
intestazione << nome;
|
||||
intestazione << " ";
|
||||
intestazione << datanasc.string();
|
||||
if (_soggetti->read(rec)==NOERR)
|
||||
{
|
||||
TString80 cog = rec.get(SOG_COGNOME);
|
||||
TString80 nom = rec.get(SOG_NOME);
|
||||
int a = 1;
|
||||
a++;
|
||||
for (int i=1;i++;i<recsog.items())
|
||||
{
|
||||
message = " ";
|
||||
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