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 "contsan.h"
|
||||||
#include "idoneita.h"
|
#include "idoneita.h"
|
||||||
#include "benem.h"
|
#include "benem.h"
|
||||||
|
#include "famiglie.h"
|
||||||
|
|
||||||
class TAggConSan : public TApplication
|
class TAggConSan : public TApplication
|
||||||
{
|
{
|
||||||
@ -29,10 +30,12 @@ class TAggConSan : public TApplication
|
|||||||
TLocalisamfile* _contsan;
|
TLocalisamfile* _contsan;
|
||||||
TLocalisamfile* _idoneita;
|
TLocalisamfile* _idoneita;
|
||||||
TLocalisamfile* _benem;
|
TLocalisamfile* _benem;
|
||||||
|
TLocalisamfile* _famiglie;
|
||||||
TRecord_array* _sdonazioni;
|
TRecord_array* _sdonazioni;
|
||||||
TRecord_array* _scontrolli;
|
TRecord_array* _scontrolli;
|
||||||
TRecord_array* _sidoneita;
|
TRecord_array* _sidoneita;
|
||||||
TRecord_array* _sbenem;
|
TRecord_array* _sbenem;
|
||||||
|
TRecord_array* _sfamiglie;
|
||||||
// parametri di sezione
|
// parametri di sezione
|
||||||
int _intsi_f1, _intsi_f2, _intsi_m, _intaf_m, _etadonne;
|
int _intsi_f1, _intsi_f2, _intsi_m, _intaf_m, _etadonne;
|
||||||
int _numdon1, _numdon2;
|
int _numdon1, _numdon2;
|
||||||
@ -64,10 +67,12 @@ bool TAggConSan::create()
|
|||||||
_contsan = new TLocalisamfile(LF_CONTSAN);
|
_contsan = new TLocalisamfile(LF_CONTSAN);
|
||||||
_idoneita = new TLocalisamfile(LF_IDONEITA);
|
_idoneita = new TLocalisamfile(LF_IDONEITA);
|
||||||
_benem = new TLocalisamfile(LF_BENEM);
|
_benem = new TLocalisamfile(LF_BENEM);
|
||||||
|
_famiglie = new TLocalisamfile(LF_FAMIGLIE);
|
||||||
_sdonazioni = new TRecord_array(LF_DONAZ,DON_PROGDON);
|
_sdonazioni = new TRecord_array(LF_DONAZ,DON_PROGDON);
|
||||||
_scontrolli = new TRecord_array(LF_CONTSAN,CON_PROGCON);
|
_scontrolli = new TRecord_array(LF_CONTSAN,CON_PROGCON);
|
||||||
_sidoneita = new TRecord_array(LF_IDONEITA,IDO_PROGIDO);
|
_sidoneita = new TRecord_array(LF_IDONEITA,IDO_PROGIDO);
|
||||||
_sbenem = new TRecord_array(LF_BENEM,BEN_PROGBEN);
|
_sbenem = new TRecord_array(LF_BENEM,BEN_PROGBEN);
|
||||||
|
_sfamiglie = new TRecord_array(LF_FAMIGLIE,FAM_PROGFAM);
|
||||||
TConfig config(CONFIG_STUDIO);
|
TConfig config(CONFIG_STUDIO);
|
||||||
_numdon1 = config.get_int("NumDon1");
|
_numdon1 = config.get_int("NumDon1");
|
||||||
_numdon2 = config.get_int("NumDon2");
|
_numdon2 = config.get_int("NumDon2");
|
||||||
@ -89,10 +94,12 @@ bool TAggConSan::create()
|
|||||||
|
|
||||||
bool TAggConSan::destroy()
|
bool TAggConSan::destroy()
|
||||||
{
|
{
|
||||||
|
delete _sfamiglie;
|
||||||
delete _sbenem;
|
delete _sbenem;
|
||||||
delete _sidoneita;
|
delete _sidoneita;
|
||||||
delete _scontrolli;
|
delete _scontrolli;
|
||||||
delete _sdonazioni;
|
delete _sdonazioni;
|
||||||
|
delete _famiglie;
|
||||||
delete _benem;
|
delete _benem;
|
||||||
delete _idoneita;
|
delete _idoneita;
|
||||||
delete _contsan;
|
delete _contsan;
|
||||||
@ -116,6 +123,7 @@ bool TAggConSan::menu(MENU_TAG m)
|
|||||||
bool anagrafica = _msk->get_bool(F_ANAGRAFICA);
|
bool anagrafica = _msk->get_bool(F_ANAGRAFICA);
|
||||||
bool controlli = _msk->get_bool(F_CONTROLLI);
|
bool controlli = _msk->get_bool(F_CONTROLLI);
|
||||||
bool benemerenze = _msk->get_bool(F_BENEMERENZE);
|
bool benemerenze = _msk->get_bool(F_BENEMERENZE);
|
||||||
|
bool famiglie = _msk->get_bool(F_FAMIGLIE);
|
||||||
TLocalisamfile& soggetti = _rel->lfile();
|
TLocalisamfile& soggetti = _rel->lfile();
|
||||||
_rel->lfile().setkey(2);
|
_rel->lfile().setkey(2);
|
||||||
bool modificato = FALSE;
|
bool modificato = FALSE;
|
||||||
@ -472,6 +480,69 @@ bool TAggConSan::menu(MENU_TAG m)
|
|||||||
delete pi;
|
delete pi;
|
||||||
delete fc;
|
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.formfeed();
|
||||||
pr.close();
|
pr.close();
|
||||||
}
|
}
|
||||||
|
@ -4,3 +4,9 @@
|
|||||||
#define F_ANAGRAFICA 101
|
#define F_ANAGRAFICA 101
|
||||||
#define F_CONTROLLI 102
|
#define F_CONTROLLI 102
|
||||||
#define F_BENEMERENZE 103
|
#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
|
BOOLEAN F_ANAGRAFICA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 3 "Aggiorna dati anagrafici"
|
PROMPT 2 2 "Aggiorna dati anagrafici"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_CONTROLLI
|
BOOLEAN F_CONTROLLI
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 4 "Aggiorna controlli sanitari e idoneita'"
|
PROMPT 2 3 "Aggiorna controlli sanitari e idoneita'"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN F_BENEMERENZE
|
BOOLEAN F_BENEMERENZE
|
||||||
BEGIN
|
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
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user