From 43b40040a54d2d5e71f57481e97afb87e642c700 Mon Sep 17 00:00:00 2001 From: cris Date: Wed, 3 Dec 2003 09:36:35 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:=201.7?= =?UTF-8?q?=20at=20Files=20correlati=20=20=20=20=20:=20at8.exe=20Ricompila?= =?UTF-8?q?zione=20Demo=20:=20[=20]=20Commento=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20:=20sistemato=20programma=20di=20aggiornamrnto=20da=20?= =?UTF-8?q?appoggio=20/=20non=20si=20pianta=20pi=C3=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/trunk@11648 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- at/at8400.cpp | 51 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/at/at8400.cpp b/at/at8400.cpp index 7b8080fe0..e2519b19e 100755 --- a/at/at8400.cpp +++ b/at/at8400.cpp @@ -102,23 +102,42 @@ bool TReconstruction::destroy() return TApplication::destroy(); } +static int compare_date(const TObject** o1, const TObject** o2) +{ + const TRectype& s1 = *((TRectype*)*o1); + const TRectype& s2 = *((TRectype*)*o2); + + const TDate d1(s1.get(IDO_DATAIDO)); + const TDate d2(s2.get(IDO_DATAIDO)); + + int d=0; + if (d1>d2) d=+1; + else + if (d1run(); if (tasto == K_ENTER) { + TLocalisamfile rconvoc(LF_RCONVOC); _rel->lfile().setkey(1); bool modificato = FALSE; TDate oggi(TODAY); TRectype recsog = _rel->curr(); - TExternisamfile* f = new TExternisamfile("$appoggio"); - TProgind *pi; - pi = new TProgind(f->eod(),"Aggiornamento situazione soggetti da appoggio", FALSE, TRUE, 10); - pi->setstatus(1); - for(f->first(); !f->eof(); f->next()) + TExternisamfile f("$appoggio"); + //TExternisamfile f = new TExternisamfile("$appoggio"); + //TProgind *pi; + //pi = new TProgind(f->eod(),"Aggiornamento situazione soggetti da appoggio", FALSE, TRUE, 10); + TProgind pi(f.eod(),"Aggiornamento situazione soggetti da appoggio", TRUE, TRUE, 10); + pi.setstatus(1); + for(f.first(); !f.eof(); f.next()) { - pi->addstatus(1); - const long codsog = f->get_long("CODICE"); + pi.addstatus(1); + if (pi.iscancelled()) break; + const long codsog = f.get_long("CODICE"); recsog.zero(); recsog.put(SOG_CODICE, codsog); if (recsog.read(_rel->lfile())==NOERR) @@ -135,6 +154,8 @@ bool TReconstruction::menu(MENU_TAG m) TRectype* key = new TRectype(LF_IDONEITA); key->put(IDO_CODICE, recsog.get(SOG_CODICE)); _sidoneita->read(key); + _sidoneita->sort(compare_date); + _sidoneita->rewrite(); TRectype* keyc = new TRectype(LF_CONTSAN); keyc->put(CON_CODICE, recsog.get(SOG_CODICE)); _scontrolli->read(keyc); @@ -143,7 +164,6 @@ bool TReconstruction::menu(MENU_TAG m) con_reord(recsog,_scontrolli,_sidoneita); recsog.rewrite(_rel->lfile()); } - /* TTable ctd("CTD"); TString16 catdon = recsog.get(SOG_CATDON); const int totdon = recsog.get_int(SOG_TOTDON); @@ -162,13 +182,13 @@ bool TReconstruction::menu(MENU_TAG m) recsog.put(SOG_CATDON, _catfin1); catdon = _catfin1; } - if ((catdon == _catini2 || _catini2.empty()) && (totdon>=_numdon2) && _catfin2.not_empty() && (!_sttess2 || dimissione)) + const bool tstampata = recsog.get_bool(SOG_T_STAMPATA); + if ((catdon == _catini2 || _catini2.empty()) && (totdon>=_numdon2) && _catfin2.not_empty() && (!_sttess2 || tstampata)) { recsog.put(SOG_CATDON, _catfin2); catdon = _catfin2; } } - */ TDate dataiscsog = recsog.get_date(SOG_DATAISC); if (!dataiscsog.ok() && _dataisc) { @@ -186,7 +206,6 @@ bool TReconstruction::menu(MENU_TAG m) const TString16 statosi = recsog.get(SOG_STATOSI); if ((stato == 'S') || (statosi == SOSPENSIONE) || (dataprossi > dataconv) || !dataprossi.ok()) { - TLocalisamfile rconvoc(LF_RCONVOC); rconvoc.setkey(3); rconvoc.zero(); rconvoc.put(RCV_CODICE, recsog.get(SOG_CODICE)); @@ -203,14 +222,14 @@ bool TReconstruction::menu(MENU_TAG m) recsog.put(SOG_NUMCONV,numzero); } recsog.put(SOG_DATAULTAGG, oggi); - recsog.put(SOG_UTENULTAGG, "WINSIT"); - //recsog.put(SOG_UTENULTAGG, "CONV"); + //recsog.put(SOG_UTENULTAGG, "WINSIT"); + recsog.put(SOG_UTENULTAGG, "CONV"); recsog.rewrite(_rel->lfile()); } - f->remove(); + f.remove(); } - delete pi; - delete f; + //delete pi; + //delete f; } return FALSE; }