Patch level : 1.7 at 660
Files correlati : agaat.men at9.exe Ricompilazione Demo : [ ] Commento : Modifiche sostanziali al programma di aggiornamento dati da estrazione git-svn-id: svn://10.65.10.50/trunk@11675 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									598ccda5e2
								
							
						
					
					
						commit
						a44bb05597
					
				@ -205,6 +205,8 @@ Item_01 = "Aggiornamento archivi da SIT", "at8 -8", ""
 | 
			
		||||
Item_02 = "Acquisizione donazioni da SIT", "at8 -9", ""
 | 
			
		||||
Item_03 = "Conversione stati trasfusionali", "ba3 -0 pr1", ""
 | 
			
		||||
Item_04 = "Conversione tipi donazione", "ba3 -0 pr2", ""
 | 
			
		||||
Item_04 = "Estrazione dati per aggiornamento", "at9 -1", ""
 | 
			
		||||
Item_04 = "Aggiornamento archivi da estrazione", "at9 -2", ""
 | 
			
		||||
 | 
			
		||||
[PRASSI_001]
 | 
			
		||||
Caption = "Gestione Anagrafiche"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										118
									
								
								at/at9300.cpp
									
									
									
									
									
								
							
							
						
						
									
										118
									
								
								at/at9300.cpp
									
									
									
									
									
								
							@ -19,6 +19,12 @@
 | 
			
		||||
#include "benem.h"
 | 
			
		||||
#include "storico.h"
 | 
			
		||||
 | 
			
		||||
#define X_SOS_CONAVVISO 'A'
 | 
			
		||||
#define X_SOS_NONAVVISO 'S'
 | 
			
		||||
#define X_INS_SEVUOTO   'R'
 | 
			
		||||
#define X_VIS_SEDIVERSO 'V'
 | 
			
		||||
#define X_IGNORA  			'I'
 | 
			
		||||
 | 
			
		||||
class TProv2com: public TSkeleton_application
 | 
			
		||||
{
 | 
			
		||||
  TMask*          _msk;
 | 
			
		||||
@ -32,6 +38,7 @@ class TProv2com: public TSkeleton_application
 | 
			
		||||
	TIsamtempfile*	_fileben;
 | 
			
		||||
	TIsamtempfile*	_filesto;
 | 
			
		||||
	TLocalisamfile* _soggetti;
 | 
			
		||||
	long 						_lastcod;
 | 
			
		||||
	  
 | 
			
		||||
protected:
 | 
			
		||||
  virtual bool create(void);
 | 
			
		||||
@ -39,6 +46,7 @@ protected:
 | 
			
		||||
  virtual bool destroy(void) ;
 | 
			
		||||
  void agg_anagrafica(const TRectype& recsog);
 | 
			
		||||
  void transfer();
 | 
			
		||||
	void print_line(const TString& message="");
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
  const TMask& msk() const { return *_msk; }
 | 
			
		||||
@ -74,10 +82,14 @@ void TProv2com::main_loop()
 | 
			
		||||
  KEY key = _msk->run();
 | 
			
		||||
  if (key == K_ENTER)
 | 
			
		||||
  {
 | 
			
		||||
    transfer();
 | 
			
		||||
  	_configfile->set("PERCORSO", _msk->get(F_PERCORSO), "ARCHIVIO");
 | 
			
		||||
  	TDate oggi(TODAY);
 | 
			
		||||
  	_configfile->set("DATA", oggi, "ARCHIVIO");
 | 
			
		||||
		if (printer().open())
 | 
			
		||||
		{
 | 
			
		||||
	    transfer();
 | 
			
		||||
  		_configfile->set("PERCORSO", _msk->get(F_PERCORSO), "ARCHIVIO");
 | 
			
		||||
  		TDate oggi(TODAY);
 | 
			
		||||
  		_configfile->set("DATA", oggi, "ARCHIVIO");
 | 
			
		||||
	  	printer().close();
 | 
			
		||||
	  }	
 | 
			
		||||
  }	
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -126,6 +138,9 @@ void TProv2com::transfer()
 | 
			
		||||
		_rel->add(LF_STORICO, "CODICE==CODICE");
 | 
			
		||||
		
 | 
			
		||||
	_reltmp = new TRelation(LF_SOGGETTI);
 | 
			
		||||
	_reltmp->lfile().last();
 | 
			
		||||
	_lastcod = _reltmp->lfile().get_long(SOG_CODICE);
 | 
			
		||||
 | 
			
		||||
	//_reltmp->add(LF_DONAZ, "CODICE==CODICE");
 | 
			
		||||
	//_reltmp->add(LF_CONTSAN, "CODICE==CODICE");
 | 
			
		||||
	//_reltmp->add(LF_IDONEITA, "CODICE==CODICE");
 | 
			
		||||
@ -201,23 +216,108 @@ void TProv2com::transfer()
 | 
			
		||||
 	}
 | 
			
		||||
}                     
 | 
			
		||||
 | 
			
		||||
void TProv2com::print_line(const TString& message)
 | 
			
		||||
{
 | 
			
		||||
	TPrintrow row;
 | 
			
		||||
	row.reset();
 | 
			
		||||
	row.put((const char*) message);
 | 
			
		||||
	printer().print(row);			
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void TProv2com::agg_anagrafica(const TRectype& recsog)
 | 
			
		||||
{                                  
 | 
			
		||||
	bool print_intest = FALSE;
 | 
			
		||||
	TString intestazione = "";       
 | 
			
		||||
	TString message = "";       
 | 
			
		||||
	const TString80 cognome = recsog.get(SOG_COGNOME);	  	             
 | 
			
		||||
	const TString80 nome = recsog.get(SOG_NOME);
 | 
			
		||||
	const TDate datanasc = recsog.get_date(SOG_DATANASC);	  	             
 | 
			
		||||
	_soggetti->setkey(3);
 | 
			
		||||
	_soggetti->setkey(2);
 | 
			
		||||
	TRectype& rec = _rel->curr();
 | 
			
		||||
	rec.zero();
 | 
			
		||||
	rec.put(SOG_COGNOME, cognome);
 | 
			
		||||
	rec.put(SOG_NOME, nome);			
 | 
			
		||||
	rec.put(SOG_DATANASC, datanasc);			
 | 
			
		||||
	intestazione  = cognome;
 | 
			
		||||
	intestazione << " ";
 | 
			
		||||
	intestazione << nome;
 | 
			
		||||
	intestazione << " ";
 | 
			
		||||
	intestazione << datanasc.string();
 | 
			
		||||
	if (_soggetti->read(rec)==NOERR)
 | 
			
		||||
	{                                    
 | 
			
		||||
  	TString80 cog = rec.get(SOG_COGNOME);
 | 
			
		||||
  	TString80 nom = rec.get(SOG_NOME);
 | 
			
		||||
  	int a = 1;
 | 
			
		||||
  	a++;
 | 
			
		||||
		for (int i=1;i++;i<recsog.items())
 | 
			
		||||
		{                                         
 | 
			
		||||
			message = "          ";
 | 
			
		||||
			TString80 campo(recsog.fieldname(i));
 | 
			
		||||
			if (campo.not_empty())
 | 
			
		||||
			{
 | 
			
		||||
				const char operazione = _configfile->get(campo, "SOGGETTI")[0];
 | 
			
		||||
				TString esterno = recsog.get(campo);
 | 
			
		||||
				TString interno = rec.get(campo);
 | 
			
		||||
				if (esterno != interno)
 | 
			
		||||
				{
 | 
			
		||||
					if (!print_intest)         
 | 
			
		||||
					{
 | 
			
		||||
						print_line();
 | 
			
		||||
						print_line(intestazione);
 | 
			
		||||
						print_intest = TRUE;
 | 
			
		||||
					}	
 | 
			
		||||
					switch (operazione)
 | 
			
		||||
					{
 | 
			
		||||
					case X_SOS_CONAVVISO:
 | 
			
		||||
						{
 | 
			
		||||
							rec.put(campo, esterno);
 | 
			
		||||
							message << campo;
 | 
			
		||||
							message << " da ";
 | 
			
		||||
							message << interno;
 | 
			
		||||
							message << " a ";
 | 
			
		||||
							message << esterno;
 | 
			
		||||
							print_line(message);		
 | 
			
		||||
					  }
 | 
			
		||||
						break;
 | 
			
		||||
					case X_SOS_NONAVVISO:
 | 
			
		||||
					  {
 | 
			
		||||
							rec.put(campo, esterno);
 | 
			
		||||
						}
 | 
			
		||||
						break;
 | 
			
		||||
					case X_INS_SEVUOTO:
 | 
			
		||||
						{ 
 | 
			
		||||
							if (interno.empty())
 | 
			
		||||
								rec.put(campo, esterno);
 | 
			
		||||
						}
 | 
			
		||||
						break;
 | 
			
		||||
					case X_VIS_SEDIVERSO:
 | 
			
		||||
						{
 | 
			
		||||
							message << campo;
 | 
			
		||||
							message << " originale ";
 | 
			
		||||
							message << interno;
 | 
			
		||||
							message << " aggiornamento ";
 | 
			
		||||
							message << esterno;
 | 
			
		||||
							print_line(message);		
 | 
			
		||||
						}
 | 
			
		||||
						break;
 | 
			
		||||
					case X_IGNORA:
 | 
			
		||||
					default:
 | 
			
		||||
						break;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}	
 | 
			
		||||
		}	
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		TString16 catdon = recsog.get(SOG_CATDON);
 | 
			
		||||
		const char xcatdon = _configfile->get(catdon, "CATDON")[0];
 | 
			
		||||
		if (xcatdon == X_SOS_CONAVVISO)
 | 
			
		||||
		{                          
 | 
			
		||||
			_lastcod = _lastcod + 1;
 | 
			
		||||
			rec = recsog;
 | 
			
		||||
			rec.put(SOG_CODICE, _lastcod);
 | 
			
		||||
			_soggetti->write(rec);
 | 
			
		||||
			message << " INSERITO ";
 | 
			
		||||
			print_line(message);
 | 
			
		||||
		}	
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										95
									
								
								at/at9300a.ini
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										95
									
								
								at/at9300a.ini
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,95 @@
 | 
			
		||||
FILE DI CONFIGURAZIONE PER AGGIORNAMENTO DATI COMUNALI DA AVIS PROVINCIALE
 | 
			
		||||
[LEGENDA]
 | 
			
		||||
A=SOSTITUISCI CON AVVISO
 | 
			
		||||
S=SOSTITUISCI SENZA CONDIZIONI
 | 
			
		||||
R=INSERISCI SOLO SE IL CAMPO DESTINAZIONE E' VUOTO (ALTRIMENTI VISUALIZZA DIFFERENZA)
 | 
			
		||||
V=VISUALIZZA SE DIVERSO
 | 
			
		||||
I=IGNORA
 | 
			
		||||
 | 
			
		||||
[ARCHIVIO]
 | 
			
		||||
DATA = 18-12-2003
 | 
			
		||||
PERCORSO = c:\tmp\
 | 
			
		||||
 | 
			
		||||
[SOGGETTI]
 | 
			
		||||
CODSEZ	 = V
 | 
			
		||||
CODSOT   = V
 | 
			
		||||
 | 
			
		||||
COMNASC  = A
 | 
			
		||||
CATDON   = V
 | 
			
		||||
SESSO    = V
 | 
			
		||||
DATAISC  = V
 | 
			
		||||
DATADIM  = V
 | 
			
		||||
CATNOND  = I
 | 
			
		||||
CATNOND2 = I
 | 
			
		||||
TESSAVIS = S
 | 
			
		||||
TESSSSN  = R
 | 
			
		||||
CODCT    = S
 | 
			
		||||
CODCL    = S
 | 
			
		||||
DOCID    = V
 | 
			
		||||
CF       = S
 | 
			
		||||
DOM_INDIR = V
 | 
			
		||||
DOM_CODCOM = V
 | 
			
		||||
DOM_CODLOC = V
 | 
			
		||||
DOM_STRADA = V
 | 
			
		||||
DOM_DISTRI = V
 | 
			
		||||
DOM_CAP = V
 | 
			
		||||
RES_INDIR = V
 | 
			
		||||
RES_CODCOM = V
 | 
			
		||||
RES_CODLOC = V
 | 
			
		||||
RES_CAP = V
 | 
			
		||||
TELABI = V
 | 
			
		||||
TELLAV = V
 | 
			
		||||
TELALT = V
 | 
			
		||||
TITINDIR = V
 | 
			
		||||
ESCLUSO = V
 | 
			
		||||
TERMESCL = V
 | 
			
		||||
MOTESCL = V
 | 
			
		||||
DONPRECSI = V
 | 
			
		||||
DONPRECAF = V
 | 
			
		||||
DATAPRISI = V
 | 
			
		||||
DATAPRIAF = V
 | 
			
		||||
 | 
			
		||||
GRUPPOAB0  = S
 | 
			
		||||
RHANTID    = S
 | 
			
		||||
KELL       = S
 | 
			
		||||
FENOTIPORH = S
 | 
			
		||||
DU         = S
 | 
			
		||||
ANTICORPI  = S
 | 
			
		||||
CMV        = S
 | 
			
		||||
 | 
			
		||||
PUNTORACC  = I
 | 
			
		||||
CODMED     = V
 | 
			
		||||
MODCONV    = I
 | 
			
		||||
GIOPREDON  = V
 | 
			
		||||
GIOPRECON  = V
 | 
			
		||||
 | 
			
		||||
CONDOCC    = V
 | 
			
		||||
POSPROF    = V
 | 
			
		||||
RAMOATT    = V
 | 
			
		||||
TITSTUD    = V
 | 
			
		||||
LUOGOLAV   = V
 | 
			
		||||
PROFESS    = V
 | 
			
		||||
T_STAMPATA = S
 | 
			
		||||
GRUPPOAZIE = V
 | 
			
		||||
NOTIZIARIO = V
 | 
			
		||||
BENEM      = V
 | 
			
		||||
COGNOME_SP = V
 | 
			
		||||
CONSENSO   = V
 | 
			
		||||
NOTE       = I
 | 
			
		||||
 | 
			
		||||
[DONAZIONI]
 | 
			
		||||
DATADON=V
 | 
			
		||||
TIPODON=V
 | 
			
		||||
 | 
			
		||||
[CONTROLLI]
 | 
			
		||||
DATACON=V
 | 
			
		||||
TIPOCON=V
 | 
			
		||||
 | 
			
		||||
[STORICO]
 | 
			
		||||
DATAISC=V
 | 
			
		||||
 | 
			
		||||
[CATDON]
 | 
			
		||||
AV=A
 | 
			
		||||
AS=A
 | 
			
		||||
NU=A
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user