Patch level : 12.0 1174
Files correlati : ba1.exe Commento: Migliorata protezione aggiornamento tracciati sulla base dei dati Team
This commit is contained in:
		
							parent
							
								
									c0c7f2e1f6
								
							
						
					
					
						commit
						1523d76a6c
					
				| @ -299,7 +299,7 @@ bool TManutenzione_app::create() // initvar e arrmask | ||||
|         modules = atol(argv(5)); | ||||
|       prefix().set(""); | ||||
|       load_des(); | ||||
| 			dump_trc(dir, des_too, modules); | ||||
| 			dump_trc(dir, des_too, modules, true); | ||||
|       return false; | ||||
|     } | ||||
| 		else | ||||
| @ -326,6 +326,7 @@ bool TManutenzione_app::create() // initvar e arrmask | ||||
| 			} | ||||
| 			if (!::dongle().demo() && !set_firm()) | ||||
| 				return false; | ||||
| 			convert_recdef(); | ||||
| 		} | ||||
| 
 | ||||
| 		_firm = atol(prefix().name()); | ||||
| @ -481,7 +482,7 @@ void TManutenzione_app::close_history() | ||||
|   xvt_fsys_remove_file(History_file); | ||||
| } | ||||
| 
 | ||||
| void TManutenzione_app::dump_trc(const char * dir, const bool des_too, const long modules) | ||||
| void TManutenzione_app::dump_trc(const char * dir, const bool des_too, const long modules, bool verbose) | ||||
| { | ||||
|   TDir d; | ||||
|   d.get(LF_DIR); | ||||
| @ -496,11 +497,16 @@ void TManutenzione_app::dump_trc(const char * dir, const bool des_too, const lon | ||||
| 
 | ||||
|   TString s(TR("Scarico dei tracciati standard in ")); | ||||
|   s << dir; | ||||
|   TProgind p(items ? items : 1, s, false, true); | ||||
|   p.setstatus(1); | ||||
| 	TProgind  * p = nullptr; | ||||
| 	if (verbose) | ||||
| 	{ | ||||
| 		p = new TProgind(items ? items : 1, s, false, true); | ||||
| 		p->setstatus(1); | ||||
| 	} | ||||
| 	for (int i = 2; i <= items; i++) //Salta il primo (dir.gen)
 | ||||
|   { | ||||
|     p.addstatus(1); | ||||
| 		if (verbose) | ||||
| 		  p->addstatus(1); | ||||
|     TTrec& rc = (TTrec&)_recs[i]; | ||||
|     TDir&  dr = (TDir&)_dirs[i]; | ||||
|     const long file_mod = (long)abs((int)dr.flags()); | ||||
| @ -525,6 +531,7 @@ void TManutenzione_app::dump_trc(const char * dir, const bool des_too, const lon | ||||
|     ofstream out_dir(fn); | ||||
|     out_dir << dr; | ||||
|   } | ||||
| 	safe_delete(p); | ||||
| } | ||||
| 
 | ||||
| const char* TManutenzione_app::dumpfilename(const FileDes& dep) const | ||||
| @ -1106,6 +1113,52 @@ void TManutenzione_app::recover() | ||||
| 	send_campo_xml(); // Spedisce situazione via ftp
 | ||||
| } | ||||
| 
 | ||||
| void TManutenzione_app::clean_recdef(const char * dir) | ||||
| { | ||||
| 	TFilename mask = dir; | ||||
| 
 | ||||
| 	mask.add("*"); | ||||
| 	mask.ext("dir"); | ||||
| 	remove_files(mask, false); | ||||
| 	mask.ext("trr"); | ||||
| 	remove_files(mask, false); | ||||
| } | ||||
| 
 | ||||
| void TManutenzione_app::convert_recdef(int firm) | ||||
| { | ||||
| 	TString pref = prefix().name(); | ||||
| 	const int curr_firm = prefix().get_codditta(); | ||||
| 	bool all_firms = firm < 0; | ||||
| 	const int from_firm = all_firms || firm == 0 ? 1 : firm; | ||||
| 	TString_array ditte; | ||||
| 	const int to_firm = all_firms ? prefix().firms(ditte) : firm; | ||||
| 	TFilename dir = firm2dir(0); | ||||
| 
 | ||||
| 	if (all_firms || firm == 0) | ||||
| 	{ | ||||
| 		prefix().set("com"); | ||||
| 		dir.add("recdesc"); | ||||
| 		if (!dexist(dir)) | ||||
| 			make_dir(dir); | ||||
| 		clean_recdef(dir); | ||||
| 		dump_trc(dir); | ||||
| 	} | ||||
| 	for (int i = from_firm; i <= to_firm; i++) | ||||
| 	{ | ||||
| 		set_firm(i); | ||||
|     dir = firm2dir(i); | ||||
| 		dir.add("recdesc"); | ||||
| 		if (!dexist(dir)) | ||||
| 			make_dir(dir); | ||||
| 		clean_recdef(dir); | ||||
| 		dump_trc(dir); | ||||
| 	} | ||||
| 	if (curr_firm > 0) | ||||
| 		set_firm(curr_firm); | ||||
| 	else | ||||
| 		prefix().set(pref); | ||||
| } | ||||
| 
 | ||||
| void TManutenzione_app::convert_dir() | ||||
| { | ||||
|   if (prefix().get_codditta() <= _history_firm) | ||||
| @ -1255,6 +1308,10 @@ void TManutenzione_app::convert_dir() | ||||
|   d.set_flags(_level); | ||||
|   d.put(LF_DIR, _nordir, _sysdirop); | ||||
|   put_history(pref); | ||||
| 
 | ||||
| 	const int firm = prefix().is_com() ? 0 :  prefix().get_codditta(); | ||||
| 
 | ||||
| 	convert_recdef(firm); | ||||
| } | ||||
| 
 | ||||
| void TManutenzione_app::load_des() | ||||
|  | ||||
| @ -134,6 +134,8 @@ protected: | ||||
| 	bool reset_converting(); | ||||
| 
 | ||||
| 	bool try_to_recover(TSystemisamfile& f, int err); | ||||
| 	void clean_recdef(const char * dir); | ||||
| 	void convert_recdef(int firm = -1); | ||||
| 	void update(); | ||||
| 	void update_dir(); | ||||
| 	void recover(); | ||||
| @ -145,7 +147,7 @@ protected: | ||||
| 	void open_history(); | ||||
| 	void put_history(const char* firm); | ||||
| 	void close_history(); | ||||
| 	void dump_trc(const char * dir, const bool des_too, const long modules); | ||||
| 	void dump_trc(const char * dir, const bool des_too = true, const long modules = -1, bool verbose = false); | ||||
| 	void repair_file(int i); | ||||
| 	void save_file(const char * file); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user