Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Convocazioni: possibilita di selezionare mod. di convoc. e se convocare tutti quelli col punto (anche di altre sezioni); aggiunto in elenco sogg. convocati la data ultima donazione git-svn-id: svn://10.65.10.50/trunk@7780 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
758bd65930
commit
bc2a58a893
122
at/at0400.cpp
122
at/at0400.cpp
@ -46,6 +46,7 @@ class TGestioneConvocazioni: public TRelation_application
|
||||
TString16 _tipo; // tipo donazione
|
||||
TString16 _codsez; // codice sezione convocata
|
||||
TString16 _codsot; // codice sottogruppo
|
||||
TString16 _modconv; // modalita di convocazione
|
||||
TDate _dataini;
|
||||
bool _tutti, _ritarda;
|
||||
int _maxrit;
|
||||
@ -97,7 +98,11 @@ void TGestioneConvocazioni::init_modify_mode(TMask& m)
|
||||
m.show(-1);
|
||||
m.hide(-2);
|
||||
if (app()._inserimento)
|
||||
m.enable(-3);
|
||||
{
|
||||
m.enable(-3);
|
||||
m.set(F_TUTTI, TRUE);
|
||||
m.set(F_MODCONV, "PO");
|
||||
}
|
||||
else
|
||||
m.disable(-3);
|
||||
}
|
||||
@ -114,7 +119,7 @@ bool TGestioneConvocazioni::filter_func_convoc(const TRelation* rel)
|
||||
const bool dimesso = rel->lfile(ALIAS_CTD).get_bool("B0");
|
||||
filtrato = (cat.not_empty() && (stato == 'I' || stato == 'F') && !dimesso && escluso.empty());
|
||||
if (filtrato)
|
||||
filtrato = ((modconv.empty()) || (modconv == "PO") || (modconv == "IN"));
|
||||
filtrato = ((modconv.empty()) || (modconv == app()._modconv) || (modconv == "IN"));
|
||||
if (filtrato)
|
||||
{
|
||||
filtrato = FALSE;
|
||||
@ -174,11 +179,10 @@ bool TGestioneConvocazioni::filter_func_convoc(const TRelation* rel)
|
||||
bool TGestioneConvocazioni::sezione_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (f.to_check(k))
|
||||
//if (f.to_check(k))
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
//if (m.get(F_DATAINI).empty() && (m.mode() == MODE_INS))
|
||||
if (m.mode() == MODE_INS)
|
||||
if (m.get(F_DATAINI).empty() && (m.mode() == MODE_INS))
|
||||
//if (m.mode() == MODE_INS)
|
||||
{
|
||||
//const TString16 codsez = m.get(F_CODSEZ);
|
||||
//const TString16 codsot = m.get(F_CODSOT);
|
||||
@ -281,13 +285,14 @@ bool TGestioneConvocazioni::esegui_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
f.disable();
|
||||
TMask& m = f.mask();
|
||||
TCursor* cur = app()._cur;
|
||||
app()._numero = m.get_long(F_NUMERO);
|
||||
app()._data = m.get(F_DATA);
|
||||
app()._punto = m.get(F_PUNTO);
|
||||
//app()._tutti = m.get_bool(F_TUTTI);
|
||||
app()._tutti = TRUE;
|
||||
app()._tutti = m.get_bool(F_TUTTI);
|
||||
//app()._tutti = TRUE;
|
||||
app()._tipo = m.get(F_TIPO);
|
||||
app()._codsez = m.get(F_CODSEZ);
|
||||
app()._codsot = m.get(F_CODSOT);
|
||||
@ -296,6 +301,7 @@ bool TGestioneConvocazioni::esegui_handler(TMask_field& f, KEY k)
|
||||
app()._dataini = app()._data;
|
||||
app()._ritarda = m.get_bool(F_RITARDA);
|
||||
app()._maxrit = m.get_int(F_MAXRIT);
|
||||
app()._modconv = m.get(F_MODCONV);
|
||||
if (app()._numero == 0 || !app()._data.ok() || app()._punto.empty() || app()._tipo.empty())
|
||||
return f.error_box("Mancano i dati fondamentali per la convocazione");
|
||||
// filtro per sezione
|
||||
@ -408,57 +414,61 @@ bool TGestioneConvocazioni::esegui_handler(TMask_field& f, KEY k)
|
||||
}
|
||||
}
|
||||
}
|
||||
switch (chiamata)
|
||||
if (dataprossi<=data)
|
||||
{
|
||||
case 'C':
|
||||
nconv++;
|
||||
break;
|
||||
case 'S':
|
||||
nsoll++;
|
||||
break;
|
||||
case 'R':
|
||||
nrit++;
|
||||
break;
|
||||
}
|
||||
if (giorni > 0)
|
||||
{
|
||||
datasog = NULLDATE;
|
||||
int partenza;
|
||||
if (datarif <= dataini)
|
||||
partenza = 0;
|
||||
else
|
||||
partenza = (int)(datarif-dataini);
|
||||
|
||||
for (int r=partenza;r<=giorni;r++)
|
||||
switch (chiamata)
|
||||
{
|
||||
if ((numperdata[r]<quanti) && (!datasog.ok()))
|
||||
case 'C':
|
||||
nconv++;
|
||||
break;
|
||||
case 'S':
|
||||
nsoll++;
|
||||
break;
|
||||
case 'R':
|
||||
nrit++;
|
||||
break;
|
||||
}
|
||||
if (giorni > 0)
|
||||
{
|
||||
datasog = NULLDATE;
|
||||
int partenza;
|
||||
if (datarif <= dataini)
|
||||
partenza = 0;
|
||||
else
|
||||
partenza = (int)(datarif-dataini);
|
||||
|
||||
for (int r=partenza;r<=giorni;r++)
|
||||
{
|
||||
datasog = dataini+(long)(r);
|
||||
numperdata[r]++;
|
||||
}
|
||||
}
|
||||
if (!datasog.ok())
|
||||
{
|
||||
if (dataprossi < dataini)
|
||||
datasog = dataini;
|
||||
else
|
||||
datasog = dataprossi;
|
||||
}
|
||||
}
|
||||
TToken_string& row = s.row(r);
|
||||
row.add(rec.get(SOG_CODICE));
|
||||
row.add(rec.get(SOG_COGNOME));
|
||||
row.add(rec.get(SOG_NOME));
|
||||
row.add(datasog);
|
||||
row.add(chiamata);
|
||||
row.add(' '); // stampato
|
||||
row.add(' '); // annullato
|
||||
row.add(rec.get(SOG_DATANASC));
|
||||
row.add(rec.get(SOG_CATDON));
|
||||
row.add(rec.get(SOG_TESSAVIS));
|
||||
row.add(rec.get(SOG_CODSEZ));
|
||||
row.add(rec.get(SOG_CODSOT));
|
||||
r++;
|
||||
if ((numperdata[r]<quanti) && (!datasog.ok()))
|
||||
{
|
||||
datasog = dataini+(long)(r);
|
||||
numperdata[r]++;
|
||||
}
|
||||
}
|
||||
if (!datasog.ok())
|
||||
{
|
||||
if (dataprossi < dataini)
|
||||
datasog = dataini;
|
||||
else
|
||||
datasog = dataprossi;
|
||||
}
|
||||
}
|
||||
TToken_string& row = s.row(r);
|
||||
row.add(rec.get(SOG_CODICE));
|
||||
row.add(rec.get(SOG_COGNOME));
|
||||
row.add(rec.get(SOG_NOME));
|
||||
row.add(datasog);
|
||||
row.add(chiamata);
|
||||
row.add(' '); // stampato
|
||||
row.add(' '); // annullato
|
||||
row.add(rec.get(SOG_DATANASC));
|
||||
row.add(rec.get(SOG_CATDON));
|
||||
row.add(rec.get(SOG_TESSAVIS));
|
||||
row.add(rec.get(SOG_CODSEZ));
|
||||
row.add(rec.get(SOG_CODSOT));
|
||||
row.add(rec.get(SOG_DATAULTDON));
|
||||
r++;
|
||||
}
|
||||
}
|
||||
m.set(F_NUMCONV,nconv);
|
||||
m.set(F_NUMSOLL,nsoll);
|
||||
@ -505,6 +515,7 @@ bool TGestioneConvocazioni::codice_handler(TMask_field& f, KEY k)
|
||||
m.set(F_S_CODSEZ, sog.get(SOG_CODSEZ));
|
||||
m.set(F_S_CODSOT, sog.get(SOG_CODSOT));
|
||||
m.set(F_S_CATDON, sog.get(SOG_CATDON));
|
||||
m.set(F_S_DATAULTDON, sog.get(SOG_DATAULTDON));
|
||||
}
|
||||
else
|
||||
ok = FALSE; // codice non esistente
|
||||
@ -696,6 +707,7 @@ int TGestioneConvocazioni::read(TMask& m)
|
||||
row.add(soggetti.get(SOG_TESSAVIS));
|
||||
row.add(soggetti.get(SOG_CODSEZ));
|
||||
row.add(soggetti.get(SOG_CODSOT));
|
||||
row.add(soggetti.get(SOG_DATAULTDON));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
17
at/at0400a.h
17
at/at0400a.h
@ -14,13 +14,15 @@
|
||||
#define F_DENSOT 111
|
||||
#define F_DATAINI 112
|
||||
#define F_DATAINIGIO 113
|
||||
#define F_RITARDA 114
|
||||
#define F_MAXRIT 115
|
||||
#define F_NOTE 116
|
||||
#define F_NUMCONV 117
|
||||
#define F_NUMSOLL 118
|
||||
#define F_NUMRIT 119
|
||||
#define F_CONVOCATI 120
|
||||
#define F_TUTTI 114
|
||||
#define F_RITARDA 115
|
||||
#define F_MAXRIT 116
|
||||
#define F_MODCONV 117
|
||||
#define F_NOTE 118
|
||||
#define F_NUMCONV 119
|
||||
#define F_NUMSOLL 120
|
||||
#define F_NUMRIT 121
|
||||
#define F_CONVOCATI 122
|
||||
#define F_CODSEZH 151
|
||||
#define F_CODSOTH 152
|
||||
|
||||
@ -39,6 +41,7 @@
|
||||
#define F_S_TESSAVIS 110
|
||||
#define F_S_CODSEZ 111
|
||||
#define F_S_CODSOT 112
|
||||
#define F_S_DATAULTDON 113
|
||||
|
||||
#define F_S_DENSEZ 151
|
||||
#define F_S_DENSOT 152
|
||||
|
@ -51,7 +51,7 @@ ENDPAGE
|
||||
|
||||
PAGE "Testata" -1 -1 78 20
|
||||
|
||||
GROUPBOX DLG_NULL 77 13
|
||||
GROUPBOX DLG_NULL 77 15
|
||||
BEGIN
|
||||
PROMPT 1 0 "Opzioni per la convocazione"
|
||||
END
|
||||
@ -265,43 +265,62 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BOOLEAN F_TUTTI
|
||||
BEGIN
|
||||
PROMPT 2 10 "Convoca anche donatori di altre sezioni con questo punto prelievo"
|
||||
FIELD TUTTI
|
||||
END
|
||||
|
||||
BOOLEAN F_RITARDA
|
||||
BEGIN
|
||||
PROMPT 2 9 "Ritardatari"
|
||||
PROMPT 2 11 "Ritardatari"
|
||||
FIELD RITARDA
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
NUMBER F_MAXRIT 3
|
||||
BEGIN
|
||||
PROMPT 20 9 "Massimo ritardo in giorni "
|
||||
PROMPT 20 11 "Massimo ritardo in giorni "
|
||||
FIELD MAXRIT
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
LISTBOX F_MODCONV 13
|
||||
BEGIN
|
||||
PROMPT 2 12 "Modalita' convoc. "
|
||||
FIELD MODCONV
|
||||
#include "modalita.h"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING F_NOTE 100 50
|
||||
BEGIN
|
||||
PROMPT 2 10 "Note "
|
||||
PROMPT 2 13 "Note "
|
||||
FIELD NOTE
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 77 3
|
||||
BEGIN
|
||||
PROMPT 1 15 "Risultato della convocazione"
|
||||
END
|
||||
|
||||
NUMBER F_NUMCONV 4
|
||||
BEGIN
|
||||
PROMPT 2 11 "Numero convocati "
|
||||
PROMPT 2 16 "Numero convocati "
|
||||
FIELD NUMCONV
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_NUMSOLL 4
|
||||
BEGIN
|
||||
PROMPT 27 11 "sollecitati "
|
||||
PROMPT 27 16 "sollecitati "
|
||||
FIELD NUMSOLL
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_NUMRIT 4
|
||||
BEGIN
|
||||
PROMPT 50 11 "ritardatari "
|
||||
PROMPT 50 16 "ritardatari "
|
||||
FIELD NUMRIT
|
||||
FLAGS "D"
|
||||
END
|
||||
@ -331,6 +350,7 @@ BEGIN
|
||||
ITEM "Tessera"
|
||||
ITEM "Se"
|
||||
ITEM "So"
|
||||
ITEM "Data u.d."
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -481,6 +501,12 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
DATE F_S_DATAULTDON
|
||||
BEGIN
|
||||
PROMPT 2 5 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_S_DENSOT 25 23
|
||||
BEGIN
|
||||
PROMPT 49 4 ""
|
||||
@ -493,7 +519,6 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
//STRING F_S_DESC_CATDON 25
|
||||
//BEGIN
|
||||
// PROMPT 12 8 ""
|
||||
|
Loading…
x
Reference in New Issue
Block a user