Files correlati : c2.exe Ricompilazione Demo : [ ] Commento : evidenziati i consuntivi maggiori della disponibilità git-svn-id: svn://10.65.10.50/branches/R_10_00@22087 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			720 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			720 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #include <applicat.h>
 | |
| #include <automask.h>
 | |
| #include <colors.h>
 | |
| #include <defmask.h>
 | |
| #include <recset.h>
 | |
| #include <progind.h>
 | |
| #include <sheet.h>
 | |
| #include <textset.h>
 | |
| #include <utility.h>
 | |
| #include <reputils.h>
 | |
| 
 | |
| #include <doc.h>
 | |
| 
 | |
| #include "ci2.h"
 | |
| #include "cilib.h"
 | |
| #include "ci2300a.h"
 | |
| #include "rilore.h"
 | |
| #include "../ca/calib01.h"
 | |
| #include "../ve/velib.h"
 | |
| #define OREORD "OREORD"
 | |
| #define CODGIU "CODGIU"
 | |
| #define OREGIU "OREGIU"
 | |
| 
 | |
| #define T_N "N"
 | |
| #define T_X "X"
 | |
| 
 | |
| //Classe TImporta_fat_rec
 | |
| class TImporta_rilore_rec : public TAS400_recordset
 | |
| {
 | |
| protected:
 | |
|   virtual TRecnotype new_rec(const char* trc);
 | |
|   void add_field(const char* name, const char* tipo, int pos, int len);
 | |
| 
 | |
| public:
 | |
|   TImporta_rilore_rec(TFilename& filename);
 | |
| };
 | |
| 
 | |
| /////////////////////////////////////////////////////////////
 | |
| //	Recordset specifici per i dati da trasferire INPUT
 | |
| /////////////////////////////////////////////////////////////
 | |
| 
 | |
| //ADD_FIELD: aggiunge i campi al recordset
 | |
| 
 | |
| void TImporta_rilore_rec::add_field(const char* name, const char* tipo, int pos, int len)
 | |
| {
 | |
|   //CHECK(name[1]=='.', "Campo orfano di tracciato");
 | |
|   const TFixed_string str_tipo(tipo);
 | |
|   TFieldtypes ft = _alfafld;
 | |
|   if (str_tipo.ends_with("N"))
 | |
|     ft = _intzerofld;
 | |
|   create_field(name, -1, len, ft);
 | |
| }
 | |
| 
 | |
| 
 | |
| TRecnotype TImporta_rilore_rec::new_rec(const char* trc)
 | |
| {
 | |
|   if (trc && *trc > ' ')
 | |
|   {
 | |
|     TString rec; rec << trc;
 | |
|     return TText_recordset::new_rec(rec);
 | |
|   }
 | |
|   return -1;
 | |
| }
 | |
| 
 | |
| //questo invece è il metodo magico che vale per il caricamento da file esterno
 | |
| TImporta_rilore_rec::TImporta_rilore_rec(TFilename& filename)
 | |
|                    : TAS400_recordset(TString("AS400(1707)") << filename)
 | |
| {
 | |
|   add_field("CODAZI",       T_N,  -1,  4);
 | |
|   add_field("CODFIL",       T_N,  -1,  2);
 | |
|   add_field("MATR",         T_X,  -1,  9);
 | |
|   add_field("COGNOME",      T_X,  -1, 34);
 | |
|   add_field("NOME",         T_X,  -1, 34);
 | |
|   add_field("DADATA",       T_X,  -1,  6);
 | |
|   add_field("ADATA",        T_X,  -1,  6);
 | |
| 
 | |
|   add_field("01_OREORD",    T_N, -1, 4);
 | |
|   add_field("01_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("01_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("01_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("01_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("01_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("01_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("01_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("01_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("01_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("01_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("01_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("01_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("02_OREORD",    T_N, -1, 4);
 | |
|   add_field("02_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("02_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("02_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("02_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("02_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("02_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("02_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("02_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("02_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("02_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("02_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("02_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("03_OREORD",    T_N, -1, 4);
 | |
|   add_field("03_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("03_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("03_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("03_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("03_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("03_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("03_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("03_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("03_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("03_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("03_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("03_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("04_OREORD",    T_N, -1, 4);
 | |
|   add_field("04_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("04_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("04_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("04_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("04_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("04_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("04_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("04_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("04_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("04_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("04_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("04_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("05_OREORD",    T_N, -1, 4);
 | |
|   add_field("05_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("05_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("05_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("05_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("05_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("05_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("05_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("05_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("05_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("05_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("05_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("05_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("06_OREORD",    T_N, -1, 4);
 | |
|   add_field("06_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("06_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("06_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("06_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("06_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("06_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("06_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("06_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("06_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("06_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("06_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("06_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("07_OREORD",    T_N, -1, 4);
 | |
|   add_field("07_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("07_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("07_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("07_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("07_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("07_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("07_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("07_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("07_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("07_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("07_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("07_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("08_OREORD",    T_N, -1, 4);
 | |
|   add_field("08_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("08_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("08_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("08_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("08_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("08_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("08_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("08_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("08_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("08_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("08_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("08_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("09_OREORD",   T_N, -1, 4);
 | |
|   add_field("09_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("09_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("09_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("09_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("09_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("09_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("09_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("09_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("09_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("09_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("09_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("09_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("10_OREORD",    T_N, -1, 4);
 | |
|   add_field("10_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("10_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("10_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("10_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("10_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("10_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("10_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("10_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("10_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("10_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("10_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("10_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("11_OREORD",    T_N, -1, 4);
 | |
|   add_field("11_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("11_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("11_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("11_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("11_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("11_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("11_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("11_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("11_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("11_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("11_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("11_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("12_OREORD",    T_N, -1, 4);
 | |
|   add_field("12_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("12_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("12_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("12_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("12_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("12_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("12_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("12_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("12_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("12_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("12_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("12_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("13_OREORD",    T_N, -1, 4);
 | |
|   add_field("13_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("13_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("13_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("13_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("13_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("13_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("13_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("13_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("13_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("13_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("13_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("13_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("14_OREORD",    T_N, -1, 4);
 | |
|   add_field("14_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("14_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("14_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("14_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("14_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("14_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("14_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("14_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("14_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("14_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("14_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("14_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("15_OREORD",    T_N, -1, 4);
 | |
|   add_field("15_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("15_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("15_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("15_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("15_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("15_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("15_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("15_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("15_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("15_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("15_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("15_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("16_OREORD",    T_N, -1, 4);
 | |
|   add_field("16_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("16_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("16_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("16_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("16_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("16_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("16_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("16_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("16_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("16_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("16_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("16_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("17_OREORD",    T_N, -1, 4);
 | |
|   add_field("17_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("17_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("17_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("17_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("17_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("17_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("17_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("17_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("17_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("17_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("17_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("17_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("18_OREORD",    T_N, -1, 4);
 | |
|   add_field("18_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("18_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("18_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("18_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("18_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("18_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("18_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("18_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("18_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("18_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("18_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("18_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("19_OREORD",    T_N, -1, 4);
 | |
|   add_field("19_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("19_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("19_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("19_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("19_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("19_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("19_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("19_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("19_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("19_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("19_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("19_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("20_OREORD",    T_N, -1, 4);
 | |
|   add_field("20_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("20_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("20_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("20_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("20_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("20_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("20_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("20_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("20_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("20_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("20_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("20_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("21_OREORD",    T_N, -1, 4);
 | |
|   add_field("21_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("21_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("21_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("21_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("21_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("21_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("21_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("21_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("21_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("21_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("21_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("21_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("22_OREORD",    T_N, -1, 4);
 | |
|   add_field("22_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("22_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("22_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("22_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("22_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("22_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("22_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("22_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("22_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("22_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("22_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("22_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("23_OREORD",    T_N, -1, 4);
 | |
|   add_field("23_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("23_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("23_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("23_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("23_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("23_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("23_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("23_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("23_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("23_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("23_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("23_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("24_OREORD",    T_N, -1, 4);
 | |
|   add_field("24_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("24_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("24_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("24_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("24_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("24_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("24_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("24_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("24_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("24_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("24_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("24_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("25_OREORD",    T_N, -1, 4);
 | |
|   add_field("25_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("25_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("25_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("25_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("25_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("25_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("25_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("25_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("25_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("25_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("25_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("25_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("26_OREORD",    T_N, -1, 4);
 | |
|   add_field("26_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("26_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("26_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("26_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("26_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("26_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("26_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("26_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("26_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("26_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("26_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("26_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("27_OREORD",    T_N, -1, 4);
 | |
|   add_field("27_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("27_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("27_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("27_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("27_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("27_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("27_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("27_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("27_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("27_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("27_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("27_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("28_OREORD",    T_N, -1, 4);
 | |
|   add_field("28_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("28_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("28_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("28_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("28_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("28_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("28_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("28_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("28_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("28_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("28_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("28_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("29_OREORD",    T_N, -1, 4);
 | |
|   add_field("29_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("29_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("29_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("29_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("29_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("29_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("29_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("29_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("29_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("29_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("29_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("29_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("30_OREORD",    T_N, -1, 4);
 | |
|   add_field("30_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("30_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("30_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("30_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("30_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("30_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("30_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("30_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("30_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("30_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("30_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("30_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   add_field("31_OREORD",    T_N, -1, 4);
 | |
|   add_field("31_CODGIU1",   T_N, -1, 4);
 | |
|   add_field("31_OREGIU1",   T_N, -1, 4);
 | |
|   add_field("31_CODGIU2",   T_N, -1, 4);
 | |
|   add_field("31_OREGIU2",   T_N, -1, 4);
 | |
|   add_field("31_CODGIU3",   T_N, -1, 4);
 | |
|   add_field("31_OREGIU3",   T_N, -1, 4);
 | |
|   add_field("31_CODGIU4",   T_N, -1, 4);
 | |
|   add_field("31_OREGIU4",   T_N, -1, 4);
 | |
|   add_field("31_CODGIU5",   T_N, -1, 4);
 | |
|   add_field("31_OREGIU5",   T_N, -1, 4);
 | |
|   add_field("31_CODGIU6",   T_N, -1, 4);
 | |
|   add_field("31_OREGIU6",   T_N, -1, 4);
 | |
| 
 | |
|   TText_recordset::load_file(filename);
 | |
| }
 | |
| 
 | |
|                                       ////////////////////////////////////////////
 | |
|                                       ////    CLASSE TImporta_rilore_msk    ////
 | |
|                                       ////////////////////////////////////////////
 | |
| 
 | |
| //Classe TRilevamento_imp_msk
 | |
| class TImporta_rilore_msk : public TAutomask
 | |
| {
 | |
| 	TAssoc_array _matricole;
 | |
| 	TAssoc_array _ore;
 | |
| 	
 | |
| protected:
 | |
|   void importa();
 | |
| 
 | |
|   virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
 | |
|   
 | |
| public:
 | |
| 	TAssoc_array & matricole() {return _matricole;}
 | |
| 	TAssoc_array & ore() {return _ore;}
 | |
| 
 | |
|   TImporta_rilore_msk();
 | |
| };
 | |
| 
 | |
| void TImporta_rilore_msk::importa()
 | |
| {
 | |
|   TFilename file = get(F_FILE);
 | |
| 
 | |
|   TImporta_rilore_rec recordset(file);
 | |
| 
 | |
|   TModule_table tab("&DRA");
 | |
| 
 | |
|   TString matricola;
 | |
| 	TString16 codice;
 | |
|   TString80 key;
 | |
| 	TString16 fieldname;
 | |
| 	TString tpora;
 | |
| 	real oreril;
 | |
| 
 | |
| 	TProgind pi(recordset.items(), TR("Importazione ore"), true, true);
 | |
|   TLog_report log(TR("Importazione ore"));
 | |
| 	TString msg_head(256);
 | |
| 	TString msg(256);
 | |
| 
 | |
| 	for (bool ok = recordset.move_first(); ok && !pi.iscancelled() ; ok = recordset.move_next())
 | |
| 	{
 | |
| 		pi.addstatus(1L);
 | |
| 		matricola = recordset.get("MATR").as_string();
 | |
| 		const TString16 s = recordset.get("DADATA").as_string();
 | |
| 		TDate data(atoi(s.left(2)), atoi(s.mid(2, 2)), 2000 + atoi(s.right(2))); 
 | |
| 
 | |
| 		if (matricole().is_key(matricola))
 | |
| 		{
 | |
| 			codice = (TString &) matricole()[matricola];
 | |
| 			codice.rpad(16);
 | |
| 			int err = NOERR;
 | |
| 
 | |
| 			for(int i = 1; i <= 31; i++)
 | |
| 			{
 | |
| 				key = "R";
 | |
| 				tpora = "0000";
 | |
| 				if (ore().is_key(tpora))
 | |
| 					tpora = (TString &) ore()[tpora];
 | |
| 				msg_head = data.string();
 | |
| 				msg_head << " Addetto - " << codice;
 | |
| 				key << codice << data.string(ANSI) << tpora; // cambiare
 | |
| 				tab.put("CODTAB", key);
 | |
| 				tab.put("D0", data);
 | |
| 				fieldname.format("%02d_%s", i, OREORD);
 | |
| 				oreril = recordset.get(fieldname).as_real() / CENTO;
 | |
| 				if (oreril > ZERO)
 | |
| 				{
 | |
| 					tab.put("R1", oreril);
 | |
| 					err = tab.write_rewrite();
 | |
| 					msg = msg_head;
 | |
| 					msg << " Tipo ora - " << tpora << " Ore - " << oreril;
 | |
| 					log.log(0, msg);
 | |
| 
 | |
| 					if (err != NOERR)
 | |
| 						log.log(2, format(FR("Errore di scrittura %d : Codice %s data %s ore normali"), err, (const char *) codice, (const char *) data.string()));
 | |
| 				}
 | |
| 
 | |
| 				else
 | |
| 				for (int t = 1; t <= 6; t++)
 | |
| 				{
 | |
| 					fieldname.format("%02d_%s%1d", i, CODGIU, t);
 | |
| 					tpora = recordset.get(fieldname).as_string();
 | |
| 					if (atoi(tpora) > 0)
 | |
| 					{
 | |
| 						if (ore().is_key(tpora))
 | |
| 						{
 | |
| 							tpora = (TString &) ore()[tpora];
 | |
| 							fieldname.format("%02d_%s%1d", i, OREGIU, t);
 | |
| 							oreril = recordset.get(fieldname).as_real() / CENTO;
 | |
| 
 | |
| 							if (tpora.full() && oreril > ZERO)
 | |
| 							{
 | |
| 								key = "R";
 | |
| 								key << codice << data.string(ANSI) << tpora;
 | |
| 								tab.put("CODTAB", key);
 | |
| 								tab.put("D0", data);
 | |
| 								tab.put("R1", oreril); 
 | |
| 								err = tab.write_rewrite();
 | |
| 								msg = msg_head;
 | |
| 								msg << " Tipo ora - " << tpora << " Ore - " << oreril;
 | |
| 								log.log(0, msg);
 | |
| 								if (err != NOERR)
 | |
| 									log.log(2, format(FR("Errore di scrittura %d : Codice %s data %s tipo ora %s"), err, (const char *) codice, (const char *) data.string(), (const char *) tpora));
 | |
| 							}
 | |
| 							else
 | |
| 								log.log(0, format(FR("Tipo ora %s con ore a zero Codice %s data %s "), (const char *) tpora, (const char *) codice, (const char *) data.string()));
 | |
| 						}
 | |
| 						else
 | |
| 							log.log(0, format(FR("Tipo ora %s non definito: Codice %s data %s"), (const char *) tpora, (const char *) codice, (const char *) data.string()));
 | |
| 					}
 | |
| 				}
 | |
| 				++data;
 | |
| 			}
 | |
| 		}
 | |
| 		else
 | |
| 			log.log(2, format(FR("Matricola % s assente"), (const char *) matricola));
 | |
| 	}
 | |
|   log.print_or_preview();
 | |
| }
 | |
| 
 | |
| //ON_FIELD_EVENT: metodo che gestisce gli eventi sui vari campi della maschera
 | |
| bool TImporta_rilore_msk::on_field_event(TOperable_field& f, TField_event e, long jolly)
 | |
| {
 | |
|   switch (f.dlg())
 | |
|   {
 | |
|   case DLG_OK:
 | |
|   {
 | |
|     if(e == fe_button)
 | |
|     {
 | |
|       importa();
 | |
|         return false;
 | |
|       break;
 | |
|     }
 | |
|   }
 | |
|   default: break;
 | |
|   }
 | |
|   return true;
 | |
| }
 | |
| 
 | |
| TImporta_rilore_msk::TImporta_rilore_msk() 
 | |
|                      : TAutomask("ci2300a")
 | |
| {  
 | |
| }
 | |
| 
 | |
|                                       ////////////////////////////////////////////
 | |
|                                       ////    CLASSE TRilevamento_imp_app    ////
 | |
|                                       ////////////////////////////////////////////
 | |
| 
 | |
| //classe TRilevamento_imp_app
 | |
| class TImporta_rilore__app : public TSkeleton_application
 | |
| {
 | |
| public:
 | |
| 	virtual void main_loop();  
 | |
| };
 | |
| 
 | |
| static bool scan_rss(const TRelation & rel, void *pJolly)
 | |
| {
 | |
| 	TImporta_rilore_msk & mask = *((TImporta_rilore_msk *)pJolly);
 | |
| 	TString80 matricola = rel.curr().get("S3");
 | |
| 
 | |
| 	matricola = matricola.mid(20,20);
 | |
| 	matricola = matricola.trim();
 | |
| 	if (matricola.full())
 | |
| 	{
 | |
| 		const TString16 codice = rel.curr().get("CODTAB");
 | |
| 
 | |
| 		mask.matricole().add(matricola, codice);
 | |
| 	}
 | |
| 	return true;
 | |
| }
 | |
| static bool scan_ore(const TRelation & rel, void *pJolly)
 | |
| {
 | |
| 	TImporta_rilore_msk & mask = *((TImporta_rilore_msk *)pJolly);
 | |
| 	TString80 cod_est = rel.curr().get("S1");
 | |
| 
 | |
| 	if (cod_est.full())
 | |
| 	{
 | |
| 		const TString16 codice = rel.curr().get("CODTAB");
 | |
| 	
 | |
| 		mask.ore().add(cod_est, codice);
 | |
| 	}
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| void TImporta_rilore__app::main_loop()
 | |
| {
 | |
|   TImporta_rilore_msk msk; 
 | |
| 	TRelation rrss("RSS");
 | |
| 	TCursor crss(&rrss);
 | |
| 
 | |
| 	crss.scan(scan_rss, (void *) &msk);
 | |
| 	TRelation rore("&ORE");
 | |
| 	TCursor core(&rore);
 | |
| 
 | |
| 	core.scan(scan_ore, (void *) &msk);
 | |
|   while (msk.run() != K_QUIT) ;
 | |
| }
 | |
| 
 | |
| int ci2300(int argc, char *argv[])
 | |
| {
 | |
|   TImporta_rilore__app a;
 | |
|   a.run (argc, argv, TR("Importazione Ore"));
 | |
|   return TRUE;
 | |
| } |