Patch level : at 1.7 702
Files correlati : at8.exe Ricompilazione Demo : [ ] Commento : Aggiornamento archivi da altra sezione RIMINI: aggiunta possibilita di caricare le famiglie git-svn-id: svn://10.65.10.50/trunk@12140 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
6470ebcc73
commit
dc44bbbd4f
@ -19,6 +19,7 @@
|
||||
#include "contsan.h"
|
||||
#include "idoneita.h"
|
||||
#include "benem.h"
|
||||
#include "famiglie.h"
|
||||
|
||||
class TAggConSan : public TApplication
|
||||
{
|
||||
@ -29,10 +30,12 @@ class TAggConSan : public TApplication
|
||||
TLocalisamfile* _contsan;
|
||||
TLocalisamfile* _idoneita;
|
||||
TLocalisamfile* _benem;
|
||||
TLocalisamfile* _famiglie;
|
||||
TRecord_array* _sdonazioni;
|
||||
TRecord_array* _scontrolli;
|
||||
TRecord_array* _sidoneita;
|
||||
TRecord_array* _sbenem;
|
||||
TRecord_array* _sfamiglie;
|
||||
// parametri di sezione
|
||||
int _intsi_f1, _intsi_f2, _intsi_m, _intaf_m, _etadonne;
|
||||
int _numdon1, _numdon2;
|
||||
@ -64,10 +67,12 @@ bool TAggConSan::create()
|
||||
_contsan = new TLocalisamfile(LF_CONTSAN);
|
||||
_idoneita = new TLocalisamfile(LF_IDONEITA);
|
||||
_benem = new TLocalisamfile(LF_BENEM);
|
||||
_famiglie = new TLocalisamfile(LF_FAMIGLIE);
|
||||
_sdonazioni = new TRecord_array(LF_DONAZ,DON_PROGDON);
|
||||
_scontrolli = new TRecord_array(LF_CONTSAN,CON_PROGCON);
|
||||
_sidoneita = new TRecord_array(LF_IDONEITA,IDO_PROGIDO);
|
||||
_sbenem = new TRecord_array(LF_BENEM,BEN_PROGBEN);
|
||||
_sfamiglie = new TRecord_array(LF_FAMIGLIE,FAM_PROGFAM);
|
||||
TConfig config(CONFIG_STUDIO);
|
||||
_numdon1 = config.get_int("NumDon1");
|
||||
_numdon2 = config.get_int("NumDon2");
|
||||
@ -89,10 +94,12 @@ bool TAggConSan::create()
|
||||
|
||||
bool TAggConSan::destroy()
|
||||
{
|
||||
delete _sfamiglie;
|
||||
delete _sbenem;
|
||||
delete _sidoneita;
|
||||
delete _scontrolli;
|
||||
delete _sdonazioni;
|
||||
delete _famiglie;
|
||||
delete _benem;
|
||||
delete _idoneita;
|
||||
delete _contsan;
|
||||
@ -116,6 +123,7 @@ bool TAggConSan::menu(MENU_TAG m)
|
||||
bool anagrafica = _msk->get_bool(F_ANAGRAFICA);
|
||||
bool controlli = _msk->get_bool(F_CONTROLLI);
|
||||
bool benemerenze = _msk->get_bool(F_BENEMERENZE);
|
||||
bool famiglie = _msk->get_bool(F_FAMIGLIE);
|
||||
TLocalisamfile& soggetti = _rel->lfile();
|
||||
_rel->lfile().setkey(2);
|
||||
bool modificato = FALSE;
|
||||
@ -472,6 +480,69 @@ bool TAggConSan::menu(MENU_TAG m)
|
||||
delete pi;
|
||||
delete fc;
|
||||
}
|
||||
if (famiglie)
|
||||
{
|
||||
TString16 codsez = _msk->get(F_SEZINI);
|
||||
TString16 codsot = _msk->get(F_SOTINI);
|
||||
for(_famiglie->first(); !_famiglie->eof(); _famiglie->next())
|
||||
{
|
||||
soggetti.setkey(1);
|
||||
soggetti.zero();
|
||||
soggetti.put(SOG_CODICE, _famiglie->get(FAM_CODFAM));
|
||||
if (soggetti.read() == NOERR)
|
||||
{
|
||||
if (soggetti.get_long(SOG_CODICE) == _famiglie->get_long(FAM_CODFAM) && soggetti.get(SOG_CODSEZ) == codsez && soggetti.get(SOG_CODSOT))
|
||||
_famiglie->remove();
|
||||
}
|
||||
}
|
||||
_famiglie->last();
|
||||
_rel->lfile().setkey(2);
|
||||
long ultfam = _famiglie->get_long(FAM_FAMIGLIA);
|
||||
long actfam = 0, prevfam = -1;
|
||||
TExternisamfile* fc = new TExternisamfile("$portafam");
|
||||
TProgind *pi;
|
||||
pi = new TProgind(fc->eod(),"Aggiornamento famiglie", FALSE, TRUE, 10);
|
||||
pi->setstatus(1);
|
||||
for(fc->first(); !fc->eof(); fc->next())
|
||||
{
|
||||
pi->addstatus(1);
|
||||
modificato = FALSE;
|
||||
const TString80 cognome = fc->get("COGNOME");
|
||||
const TString80 nome = fc->get("NOME");
|
||||
const TDate datanasc = fc->get_date("DATANASC");
|
||||
recsog.zero();
|
||||
recsog.put(SOG_COGNOME, cognome);
|
||||
recsog.put(SOG_NOME, nome);
|
||||
recsog.put(SOG_DATANASC, datanasc);
|
||||
if (recsog.read(_rel->lfile())==NOERR)
|
||||
{
|
||||
TRectype& recfam = fc->curr();
|
||||
recfam.put(FAM_CODFAM, recsog.get(SOG_CODICE));
|
||||
actfam = recfam.get_long(FAM_FAMIGLIA);
|
||||
if (actfam != prevfam)
|
||||
{
|
||||
ultfam++;
|
||||
prevfam = actfam;
|
||||
}
|
||||
recfam.put(FAM_FAMIGLIA, ultfam);
|
||||
recfam.put(FAM_PROGFAM, fc->get("PROGFAM"));
|
||||
recfam.put(FAM_GRADOPAR, fc->get("GRADOPAR"));
|
||||
_famiglie->write(recfam);
|
||||
}
|
||||
else
|
||||
{
|
||||
rigastampa = "";
|
||||
rigastampa << cognome;
|
||||
rigastampa << " " << nome;
|
||||
rigastampa << " " << datanasc.string();
|
||||
row.reset();
|
||||
row.put(rigastampa);
|
||||
printer().print(row);
|
||||
}
|
||||
}
|
||||
delete pi;
|
||||
delete fc;
|
||||
}
|
||||
pr.formfeed();
|
||||
pr.close();
|
||||
}
|
||||
|
@ -4,3 +4,9 @@
|
||||
#define F_ANAGRAFICA 101
|
||||
#define F_CONTROLLI 102
|
||||
#define F_BENEMERENZE 103
|
||||
#define F_FAMIGLIE 104
|
||||
#define F_SEZINI 105
|
||||
#define F_D_SEZINI 106
|
||||
#define F_SOTINI 107
|
||||
#define F_D_SOTINI 108
|
||||
|
||||
|
@ -21,18 +21,84 @@ END
|
||||
|
||||
BOOLEAN F_ANAGRAFICA
|
||||
BEGIN
|
||||
PROMPT 2 3 "Aggiorna dati anagrafici"
|
||||
PROMPT 2 2 "Aggiorna dati anagrafici"
|
||||
END
|
||||
|
||||
BOOLEAN F_CONTROLLI
|
||||
BEGIN
|
||||
PROMPT 2 4 "Aggiorna controlli sanitari e idoneita'"
|
||||
PROMPT 2 3 "Aggiorna controlli sanitari e idoneita'"
|
||||
END
|
||||
|
||||
|
||||
BOOLEAN F_BENEMERENZE
|
||||
BEGIN
|
||||
PROMPT 2 5 "Aggiorna benemerenze"
|
||||
PROMPT 2 4 "Aggiorna benemerenze"
|
||||
END
|
||||
|
||||
BOOLEAN F_FAMIGLIE
|
||||
BEGIN
|
||||
PROMPT 2 5 "Aggiorna famiglie"
|
||||
MESSAGE TRUE ENABLE,1@
|
||||
MESSAGE FALSE RESET,1@|DISABLE,1@
|
||||
END
|
||||
|
||||
STRING F_SEZINI 2
|
||||
BEGIN
|
||||
PROMPT 25 5 "Sez. "
|
||||
FLAGS "U"
|
||||
USE LF_SEZIONI
|
||||
INPUT CODSEZ F_SEZINI
|
||||
INPUT CODSOT F_SOTINI
|
||||
DISPLAY "Cod.sez" CODSEZ
|
||||
DISPLAY "Cod.sot." CODSOT
|
||||
DISPLAY "Sezione@25" DENSEZ
|
||||
DISPLAY "Sottogruppo@25" DENSOT
|
||||
OUTPUT F_SEZINI CODSEZ
|
||||
OUTPUT F_D_SEZINI DENSEZ
|
||||
OUTPUT F_SOTINI CODSOT
|
||||
OUTPUT F_D_SOTINI DENSOT
|
||||
CHECKTYPE SEARCH
|
||||
HELP "Codice sezione da cui partire"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_D_SEZINI 25
|
||||
BEGIN
|
||||
PROMPT 35 5 ""
|
||||
FLAGS "U"
|
||||
USE LF_SEZIONI KEY 2
|
||||
INPUT DENSEZ F_D_SEZINI
|
||||
DISPLAY "Sezione@25" DENSEZ
|
||||
DISPLAY "Sottogruppo@25" DENSOT
|
||||
DISPLAY "Cod.sez" CODSEZ
|
||||
DISPLAY "Cod.sot." CODSOT
|
||||
COPY OUTPUT F_SEZINI
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Sezione da cui partire"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_SOTINI 2
|
||||
BEGIN
|
||||
PROMPT 25 6 "Sot. "
|
||||
COPY ALL F_SEZINI
|
||||
CHECKTYPE SEARCH
|
||||
HELP "Codice sottogruppo da cui partire"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_D_SOTINI 25
|
||||
BEGIN
|
||||
PROMPT 35 6 ""
|
||||
FLAGS "U"
|
||||
COPY USE F_D_SEZINI
|
||||
INPUT DENSEZ F_D_SEZINI
|
||||
INPUT DENSOT F_D_SOTINI
|
||||
COPY DISPLAY F_D_SEZINI
|
||||
COPY OUTPUT F_D_SEZINI
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Sottogruppo da cui partire"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
Loading…
x
Reference in New Issue
Block a user