Patch level : 1.7 at
Files correlati : at1200a.msk at1.exe Ricompilazione Demo : [ ] Commento : attribuzione complessiva benemerenze: possibilita di fare la stampa dell ben. previste (chiesto da Luzzara) git-svn-id: svn://10.65.10.50/trunk@12249 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
dc58976cd2
commit
f3ab5bca70
@ -39,11 +39,13 @@ class TAttribuzioneBenemerenze : public TPrintapp
|
|||||||
TString16 _gruppoazie, _oldben;
|
TString16 _gruppoazie, _oldben;
|
||||||
int _bonus;
|
int _bonus;
|
||||||
TDate _dataela, _datapre;
|
TDate _dataela, _datapre;
|
||||||
bool _attgruppi,_anchegruppi;
|
bool _attgruppi,_anchegruppi, _prevista;
|
||||||
bool _definitiva;
|
bool _definitiva;
|
||||||
TParagraph_string _cognome_nome;
|
TParagraph_string _cognome_nome;
|
||||||
|
int _numdon;
|
||||||
int _contatore;
|
int _contatore;
|
||||||
int _progope;
|
int _progope;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool user_create();
|
virtual bool user_create();
|
||||||
virtual bool user_destroy();
|
virtual bool user_destroy();
|
||||||
@ -92,6 +94,35 @@ bool TAttribuzioneBenemerenze::preprocess_page(int file, int counter)
|
|||||||
nome << " ";
|
nome << " ";
|
||||||
nome << recsog.get(SOG_NOME);
|
nome << recsog.get(SOG_NOME);
|
||||||
_cognome_nome = nome;
|
_cognome_nome = nome;
|
||||||
|
|
||||||
|
if (_prevista)
|
||||||
|
{
|
||||||
|
int numdon = recsog.get_int(SOG_TOTDON);
|
||||||
|
if (_prevista)
|
||||||
|
{
|
||||||
|
// aggiungo le donazioni che puo' fare da oggi alla data elaborazione
|
||||||
|
const TDate oggi(TODAY);
|
||||||
|
const long giorni = _dataela - oggi;
|
||||||
|
int intervallo = 0;
|
||||||
|
if (giorni > 0)
|
||||||
|
{
|
||||||
|
const int intsi = recsog.get_int(SOG_INTSI);
|
||||||
|
const int intaf = recsog.get_int(SOG_INTAF);
|
||||||
|
if (intsi == 0)
|
||||||
|
intervallo = intaf;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (intaf == 0)
|
||||||
|
intervallo = intsi;
|
||||||
|
else
|
||||||
|
intervallo = min(intsi, intaf);
|
||||||
|
}
|
||||||
|
if (intervallo > 0)
|
||||||
|
numdon = numdon + int(giorni / intervallo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_numdon = numdon;
|
||||||
|
}
|
||||||
// salto pagina se cambio benemerenza
|
// salto pagina se cambio benemerenza
|
||||||
const TString16 tipoben = current_cursor()->curr().get(ROP_S0);
|
const TString16 tipoben = current_cursor()->curr().get(ROP_S0);
|
||||||
if (tipoben!=_oldben)
|
if (tipoben!=_oldben)
|
||||||
@ -140,6 +171,8 @@ void TAttribuzioneBenemerenze::set_page(int file, int cnt)
|
|||||||
set_row(1,"@26g@S", FLD(LF_SOGGETTI,SOG_CATDON));
|
set_row(1,"@26g@S", FLD(LF_SOGGETTI,SOG_CATDON));
|
||||||
set_row(1,"@29g@S", FLD(LF_SOGGETTI,SOG_TESSAVIS));
|
set_row(1,"@29g@S", FLD(LF_SOGGETTI,SOG_TESSAVIS));
|
||||||
set_row(1,"@39g@pn", FLD(LF_SOGGETTI,SOG_TOTDON,"###"));
|
set_row(1,"@39g@pn", FLD(LF_SOGGETTI,SOG_TOTDON,"###"));
|
||||||
|
if (_prevista)
|
||||||
|
set_row(1,"@48g#3d", &_numdon);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
set_row(1,"");
|
set_row(1,"");
|
||||||
@ -165,6 +198,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
{
|
{
|
||||||
_oldben = "**";
|
_oldben = "**";
|
||||||
_contatore = 0;
|
_contatore = 0;
|
||||||
|
_prevista = (_msk->get(F_SITUAZIONE)[0] == 'P');
|
||||||
_dataela = _msk->get(F_DATAELA);
|
_dataela = _msk->get(F_DATAELA);
|
||||||
_datapre = _msk->get(F_DATAPRE);
|
_datapre = _msk->get(F_DATAPRE);
|
||||||
_attgruppi = _msk->get_bool(F_ATTGRUPPI);
|
_attgruppi = _msk->get_bool(F_ATTGRUPPI);
|
||||||
@ -241,10 +275,6 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
atopera.put(OPE_TIPOOPE,'B');
|
atopera.put(OPE_TIPOOPE,'B');
|
||||||
atopera.write();
|
atopera.write();
|
||||||
TLocalisamfile atropera(LF_ATROPERA);
|
TLocalisamfile atropera(LF_ATROPERA);
|
||||||
// cancelliamo l'elaborazione precedente
|
|
||||||
// NO! non la cancelliamo piu' cosi' perche ci possono essere le righe di altre elaborazioni (es. tessere!)
|
|
||||||
//for (atropera.first(); !atropera.eof(); atropera.next())
|
|
||||||
// atropera.remove();
|
|
||||||
TRectype& sog = _cur->curr();
|
TRectype& sog = _cur->curr();
|
||||||
long last = _cur->items();
|
long last = _cur->items();
|
||||||
_benem->setkey(3);
|
_benem->setkey(3);
|
||||||
@ -270,11 +300,6 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
{
|
{
|
||||||
int precsi = sog.get_int(SOG_DONPRECSI);
|
int precsi = sog.get_int(SOG_DONPRECSI);
|
||||||
int precaf = sog.get_int(SOG_DONPRECAF);
|
int precaf = sog.get_int(SOG_DONPRECAF);
|
||||||
//int numdon = 0;
|
|
||||||
//if (precsi!=0)
|
|
||||||
//numdon = numdon+precsi;
|
|
||||||
//if (precaf!=0)
|
|
||||||
// numdon = numdon+precaf;
|
|
||||||
int numdon = precsi + precaf;
|
int numdon = precsi + precaf;
|
||||||
for (int r=1; r<=_sdonazioni->rows(); r++)
|
for (int r=1; r<=_sdonazioni->rows(); r++)
|
||||||
{
|
{
|
||||||
@ -283,6 +308,29 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
if (datadon<=_dataela)
|
if (datadon<=_dataela)
|
||||||
numdon++;
|
numdon++;
|
||||||
}
|
}
|
||||||
|
if (_prevista)
|
||||||
|
{
|
||||||
|
// aggiungo le donazioni che puo' fare da oggi alla data elaborazione
|
||||||
|
const TDate oggi(TODAY);
|
||||||
|
const long giorni = _dataela - oggi;
|
||||||
|
int intervallo = 0;
|
||||||
|
if (giorni > 0)
|
||||||
|
{
|
||||||
|
const int intsi = sog.get_int(SOG_INTSI);
|
||||||
|
const int intaf = sog.get_int(SOG_INTAF);
|
||||||
|
if (intsi == 0)
|
||||||
|
intervallo = intaf;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (intaf == 0)
|
||||||
|
intervallo = intsi;
|
||||||
|
else
|
||||||
|
intervallo = min(intsi, intaf);
|
||||||
|
}
|
||||||
|
if (intervallo > 0)
|
||||||
|
numdon = numdon + int(giorni / intervallo);
|
||||||
|
}
|
||||||
|
}
|
||||||
TString16 ultben = "**";
|
TString16 ultben = "**";
|
||||||
TRectype* key = new TRectype(LF_BENEM);
|
TRectype* key = new TRectype(LF_BENEM);
|
||||||
key->put(BEN_CODICE, codice);
|
key->put(BEN_CODICE, codice);
|
||||||
@ -314,7 +362,6 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
if (numdon >= bonus)
|
if (numdon >= bonus)
|
||||||
{
|
{
|
||||||
// controllo che non abbia ricevuto la benemerenza
|
// controllo che non abbia ricevuto la benemerenza
|
||||||
//const char* tipoben = _tabben.get_hashobj()->key();
|
|
||||||
_benem->zero();
|
_benem->zero();
|
||||||
_benem->put(BEN_CODICE, codice);
|
_benem->put(BEN_CODICE, codice);
|
||||||
_benem->put(BEN_TIPOBEN, tipoben);
|
_benem->put(BEN_TIPOBEN, tipoben);
|
||||||
@ -356,6 +403,8 @@ void TAttribuzioneBenemerenze::crea_intestazione()
|
|||||||
|
|
||||||
TString sep(132);
|
TString sep(132);
|
||||||
sep = "ATTRIBUZIONE BENEMERENZE ";
|
sep = "ATTRIBUZIONE BENEMERENZE ";
|
||||||
|
if (_prevista)
|
||||||
|
sep << " PREVISTE ";
|
||||||
if (_definitiva)
|
if (_definitiva)
|
||||||
sep << "DEFINITIVA";
|
sep << "DEFINITIVA";
|
||||||
else
|
else
|
||||||
@ -371,8 +420,16 @@ void TAttribuzioneBenemerenze::crea_intestazione()
|
|||||||
sep = "";
|
sep = "";
|
||||||
sep.fill('-');
|
sep.fill('-');
|
||||||
set_header(3, (const char *) sep);
|
set_header(3, (const char *) sep);
|
||||||
|
if (_prevista)
|
||||||
|
{
|
||||||
|
set_header(4,"@0gCognome e nome@26gC.@29gTessera@39gTot.don.@48gDon.pre.");
|
||||||
|
set_header(5,"@0-------------------------@26g--@29g--------@39g--------@48g--------");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
set_header(4,"@0gCognome e nome@26gC.@29gTessera@39gTot.don.");
|
set_header(4,"@0gCognome e nome@26gC.@29gTessera@39gTot.don.");
|
||||||
set_header(5,"@0-------------------------@26g--@29g--------@39g--------");
|
set_header(5,"@0-------------------------@26g--@29g--------@39g--------");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TAttribuzioneBenemerenze::user_create()
|
bool TAttribuzioneBenemerenze::user_create()
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#define F_CAT6 211
|
#define F_CAT6 211
|
||||||
#define F_D_CAT6 212
|
#define F_D_CAT6 212
|
||||||
|
|
||||||
|
#define F_SITUAZIONE 308
|
||||||
#define F_DATAELA 309
|
#define F_DATAELA 309
|
||||||
#define F_DATAPRE 310
|
#define F_DATAPRE 310
|
||||||
#define F_ATTGRUPPI 311
|
#define F_ATTGRUPPI 311
|
||||||
|
@ -201,34 +201,42 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 77 8
|
GROUPBOX DLG_NULL 77 9
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "Opzioni per l'attribuzione"
|
PROMPT 1 9 "Opzioni per l'attribuzione"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
LISTBOX F_SITUAZIONE 10
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 10 "Situazione "
|
||||||
|
FLAGS "U"
|
||||||
|
ITEM "A|Attuale"
|
||||||
|
ITEM "P|Prevista"
|
||||||
|
END
|
||||||
|
|
||||||
DATE F_DATAELA
|
DATE F_DATAELA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 10 "Data elaborazione "
|
PROMPT 2 11 "Data elaborazione "
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
HELP "Data di riferimento per l'attribuzione delle benemerenze"
|
HELP "Data di riferimento per l'attribuzione delle benemerenze"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATAPRE
|
DATE F_DATAPRE
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Data prevista consegna "
|
PROMPT 2 12 "Data prevista consegna "
|
||||||
HELP "Data di prevista consegna"
|
HELP "Data di prevista consegna"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_ATTGRUPPI
|
BOOLEAN F_ATTGRUPPI
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 12 "Attribuzione fatta dai gruppi aziendali"
|
PROMPT 2 13 "Attribuzione fatta dai gruppi aziendali"
|
||||||
MESSAGE TRUE ENABLE,1@|RESET,F_ANCHEGRUPPI|DISABLE,F_ANCHEGRUPPI
|
MESSAGE TRUE ENABLE,1@|RESET,F_ANCHEGRUPPI|DISABLE,F_ANCHEGRUPPI
|
||||||
MESSAGE FALSE RESET,1@|DISABLE,1@|ENABLE,F_ANCHEGRUPPI
|
MESSAGE FALSE RESET,1@|DISABLE,1@|ENABLE,F_ANCHEGRUPPI
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_GRUPPOAZIE 4
|
STRING F_GRUPPOAZIE 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 13 "Gruppo az. che attribuisce "
|
PROMPT 2 14 "Gruppo az. che attribuisce "
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
USE GAZ
|
USE GAZ
|
||||||
INPUT CODTAB F_GRUPPOAZIE
|
INPUT CODTAB F_GRUPPOAZIE
|
||||||
@ -246,7 +254,7 @@ END
|
|||||||
|
|
||||||
STRING F_D_GRUPPOAZIE 30
|
STRING F_D_GRUPPOAZIE 30
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 37 13 ""
|
PROMPT 37 14 ""
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
USE GAZ KEY 2
|
USE GAZ KEY 2
|
||||||
INPUT S0 F_D_GRUPPOAZIE
|
INPUT S0 F_D_GRUPPOAZIE
|
||||||
@ -261,12 +269,12 @@ END
|
|||||||
|
|
||||||
BOOLEAN F_ANCHEGRUPPI
|
BOOLEAN F_ANCHEGRUPPI
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 14 "Includi soggetti appartenenti a gruppi aziendali"
|
PROMPT 2 15 "Includi soggetti appartenenti a gruppi aziendali"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_DEFINITIVA
|
BOOLEAN F_DEFINITIVA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 15 "Attribuzione definitiva"
|
PROMPT 2 16 "Attribuzione definitiva"
|
||||||
HELP "Se attribuzione definitiva, le benemerenze stampate verranno registrate"
|
HELP "Se attribuzione definitiva, le benemerenze stampate verranno registrate"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user