From fc42bcbfbd980c4057c0d3eaf78214bbcfc065d0 Mon Sep 17 00:00:00 2001 From: cris Date: Fri, 16 Oct 1998 14:15:16 +0000 Subject: [PATCH] Patch level : Files correlati : Ricompilazione Demo : [ ] Commento : Attribuzione ben.: possibile ora l'attribuzione per gruppi aziendali complessiva, corretto la registrazione dell'ente che ha effettuato la attribuzione (sez. o gruppo), corretto il calcolo delle don. tenendo conto anche delle precedenti minori di zero (es. -1) git-svn-id: svn://10.65.10.50/trunk@7261 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- at/at1200.cpp | 55 ++++++++++++++++++++++++++++++-------------------- at/at1200a.h | 20 +++++------------- at/at1200a.uml | 19 ++++++++++++----- 3 files changed, 52 insertions(+), 42 deletions(-) diff --git a/at/at1200.cpp b/at/at1200.cpp index dae12b071..eefe73225 100755 --- a/at/at1200.cpp +++ b/at/at1200.cpp @@ -39,7 +39,7 @@ class TAttribuzioneBenemerenze : public TPrintapp TString16 _gruppoazie, _oldben; int _bonus; TDate _dataela, _datapre; - bool _anchegruppi; + bool _attgruppi,_anchegruppi; bool _definitiva; TParagraph_string _cognome_nome; int _contatore; @@ -76,31 +76,34 @@ bool TAttribuzioneBenemerenze::preprocess_page(int file, int counter) _oldben = tipoben; header_ben(tipoben); } - if (app()._definitiva) + if (_definitiva) { const long codice = recsog.get_long(SOG_CODICE); TRectype* key = new TRectype(LF_BENEM); key->put(BEN_CODICE, codice); - int err = app()._sbenemerenze->read(key); + int err = _sbenemerenze->read(key); if (err == NOERR) { - int r = app()._sbenemerenze->rows(); - TRectype& rec = app()._sbenemerenze->row(r+1,TRUE); + int r = _sbenemerenze->rows(); + TRectype& rec = _sbenemerenze->row(r+1,TRUE); TString16 codsez = recsog.get(SOG_CODSEZ); TString16 codsot = recsog.get(SOG_CODSOT); TString16 gruppoazie = recsog.get(SOG_GRUPPOAZIE); - rec.put(BEN_TIPOBEN, tipoben); - rec.put(BEN_DATAMAT, recsog.get(SOG_DATAULTDON)); - rec.put(BEN_BONUS, recsog.get(SOG_TOTDON)); - rec.put(BEN_DATABEN, app()._dataela); - rec.put(BEN_DATACON, app()._datapre); - //rec.put(BEN_RITIRATA, row.get()); - rec.put(BEN_CODSEZ, codsez); - rec.put(BEN_CODSOT, codsot); - rec.put(BEN_GRUPPOAZIE, gruppoazie); - int err = app()._sbenemerenze->rewrite(); + rec.put(BEN_TIPOBEN, tipoben); + rec.put(BEN_DATAMAT, recsog.get(SOG_DATAULTDON)); + rec.put(BEN_BONUS, recsog.get(SOG_TOTDON)); + rec.put(BEN_DATABEN, _dataela); + rec.put(BEN_DATACON, _datapre); + if (_attgruppi) + rec.put(BEN_GRUPPOAZIE, gruppoazie); + else + { + rec.put(BEN_CODSEZ, codsez); + rec.put(BEN_CODSOT, codsot); + } + int err = _sbenemerenze->rewrite(); } } } @@ -148,6 +151,7 @@ bool TAttribuzioneBenemerenze::set_print(int) _contatore = 0; _dataela = _msk->get(F_DATAELA); _datapre = _msk->get(F_DATAPRE); + _attgruppi = _msk->get_bool(F_ATTGRUPPI); _gruppoazie = _msk->get(F_GRUPPOAZIE); _anchegruppi = _msk->get_bool(F_ANCHEGRUPPI); _definitiva = _msk->get_bool(F_DEFINITIVA); @@ -180,8 +184,13 @@ bool TAttribuzioneBenemerenze::set_print(int) _tabben.add((const char*)codben, (TObject*) oggetto); } TString80 filtro = ""; - if (_gruppoazie.not_empty()) - filtro.format("(90->GRUPPOAZIE == \"%s\")",(const char*)_gruppoazie); + if (_attgruppi) + { + if (_gruppoazie.not_empty()) + filtro.format("(90->GRUPPOAZIE == \"%s\")",(const char*)_gruppoazie); + else + filtro.format("(90->GRUPPOAZIE != \"\")"); + } else if (!_anchegruppi) filtro.format("(90->GRUPPOAZIE == \"\")"); @@ -208,6 +217,7 @@ bool TAttribuzioneBenemerenze::set_print(int) atopera.put(OPE_DATA1,_dataela); atopera.put(OPE_DATA2,_datapre); atopera.put(OPE_FLAG1,_anchegruppi); + atopera.put(OPE_FLAG2,_attgruppi); atopera.put(OPE_UTENTE,user()); atopera.write(); TLocalisamfile atropera(LF_ATROPERA); @@ -239,11 +249,12 @@ bool TAttribuzioneBenemerenze::set_print(int) { int precsi = sog.get_int(SOG_DONPRECSI); int precaf = sog.get_int(SOG_DONPRECAF); - int numdon = 0; - if (precsi>0) - numdon = numdon+precsi; - if (precaf>0) - numdon = numdon+precaf; + //int numdon = 0; + //if (precsi!=0) + //numdon = numdon+precsi; + //if (precaf!=0) + // numdon = numdon+precaf; + int numdon = precsi + precaf; for (int r=1; r<=_sdonazioni->rows(); r++) { const TRectype& riga = _sdonazioni->row(r); diff --git a/at/at1200a.h b/at/at1200a.h index 80c7affdb..d166e29d2 100755 --- a/at/at1200a.h +++ b/at/at1200a.h @@ -5,10 +5,6 @@ #define F_D_SEZINI 102 #define F_SOTINI 103 #define F_D_SOTINI 104 -//#define F_SEZFIN 105 -//#define F_D_SEZFIN 106 -//#define F_SOTFIN 107 -//#define F_D_SOTFIN 108 #define F_CAT1 201 #define F_D_CAT1 202 @@ -25,17 +21,11 @@ #define F_DATAELA 309 #define F_DATAPRE 310 -#define F_GRUPPOAZIE 311 -#define F_D_GRUPPOAZIE 312 -#define F_ANCHEGRUPPI 313 -//#define F_TIPOBEN 314 -//#define F_D_TIPOBEN 315 -#define F_DEFINITIVA 314 +#define F_ATTGRUPPI 311 +#define F_GRUPPOAZIE 312 +#define F_D_GRUPPOAZIE 313 +#define F_ANCHEGRUPPI 314 +#define F_DEFINITIVA 315 #define F_O_CODSEZ 401 #define F_O_CODSOT 402 -//#define F_O_GRUPPOAZIE 403 -//#define F_O_DATA1 404 -//#define F_O_DATA2 405 -//#define F_O_FLAG1 406 -//#define F_O_UTENTE 407 diff --git a/at/at1200a.uml b/at/at1200a.uml index a6c56f9db..29af5f363 100755 --- a/at/at1200a.uml +++ b/at/at1200a.uml @@ -201,7 +201,7 @@ BEGIN FLAGS "D" END -GROUPBOX DLG_NULL 77 7 +GROUPBOX DLG_NULL 77 8 BEGIN PROMPT 1 9 "Opzioni per l'attribuzione" END @@ -219,9 +219,16 @@ BEGIN HELP "Data di prevista consegna" END +BOOLEAN F_ATTGRUPPI +BEGIN + PROMPT 2 12 "Attribuzione fatta dai gruppi aziendali" + MESSAGE TRUE ENABLE,1@|RESET,F_ANCHEGRUPPI|DISABLE,F_ANCHEGRUPPI + MESSAGE FALSE RESET,1@|DISABLE,1@|ENABLE,F_ANCHEGRUPPI +END + STRING F_GRUPPOAZIE 4 BEGIN - PROMPT 2 12 "Gruppo az. che attribuisce " + PROMPT 2 13 "Gruppo az. che attribuisce " FLAGS "U" USE GAZ INPUT CODTAB F_GRUPPOAZIE @@ -234,11 +241,12 @@ BEGIN MESSAGE EMPTY ENABLE,F_ANCHEGRUPPI WARNING "Codice gruppo aziendale non presente" HELP "Gruppo aziendale di appartenenza" + GROUP 1 END STRING F_D_GRUPPOAZIE 30 BEGIN - PROMPT 37 12 "" + PROMPT 37 13 "" FLAGS "U" USE GAZ KEY 2 INPUT S0 F_D_GRUPPOAZIE @@ -248,16 +256,17 @@ BEGIN CHECKTYPE NORMAL WARNING "Gruppo aziendale non presente" HELP "Gruppo aziendale di appartenenza" + GROUP 1 END BOOLEAN F_ANCHEGRUPPI BEGIN - PROMPT 2 13 "Includi soggetti appartenenti a gruppi aziendali" + PROMPT 2 14 "Includi soggetti appartenenti a gruppi aziendali" END BOOLEAN F_DEFINITIVA BEGIN - PROMPT 2 14 "Attribuzione definitiva" + PROMPT 2 15 "Attribuzione definitiva" HELP "Se attribuzione definitiva, le benemerenze stampate verranno registrate" END