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));
 | 
					        modules = atol(argv(5));
 | 
				
			||||||
      prefix().set("");
 | 
					      prefix().set("");
 | 
				
			||||||
      load_des();
 | 
					      load_des();
 | 
				
			||||||
			dump_trc(dir, des_too, modules);
 | 
								dump_trc(dir, des_too, modules, true);
 | 
				
			||||||
      return false;
 | 
					      return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
@ -326,6 +326,7 @@ bool TManutenzione_app::create() // initvar e arrmask
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
			if (!::dongle().demo() && !set_firm())
 | 
								if (!::dongle().demo() && !set_firm())
 | 
				
			||||||
				return false;
 | 
									return false;
 | 
				
			||||||
 | 
								convert_recdef();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		_firm = atol(prefix().name());
 | 
							_firm = atol(prefix().name());
 | 
				
			||||||
@ -481,7 +482,7 @@ void TManutenzione_app::close_history()
 | 
				
			|||||||
  xvt_fsys_remove_file(History_file);
 | 
					  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;
 | 
					  TDir d;
 | 
				
			||||||
  d.get(LF_DIR);
 | 
					  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 "));
 | 
					  TString s(TR("Scarico dei tracciati standard in "));
 | 
				
			||||||
  s << dir;
 | 
					  s << dir;
 | 
				
			||||||
  TProgind p(items ? items : 1, s, false, true);
 | 
						TProgind  * p = nullptr;
 | 
				
			||||||
  p.setstatus(1);
 | 
						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)
 | 
						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];
 | 
					    TTrec& rc = (TTrec&)_recs[i];
 | 
				
			||||||
    TDir&  dr = (TDir&)_dirs[i];
 | 
					    TDir&  dr = (TDir&)_dirs[i];
 | 
				
			||||||
    const long file_mod = (long)abs((int)dr.flags());
 | 
					    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);
 | 
					    ofstream out_dir(fn);
 | 
				
			||||||
    out_dir << dr;
 | 
					    out_dir << dr;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
						safe_delete(p);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const char* TManutenzione_app::dumpfilename(const FileDes& dep) const
 | 
					const char* TManutenzione_app::dumpfilename(const FileDes& dep) const
 | 
				
			||||||
@ -1106,6 +1113,52 @@ void TManutenzione_app::recover()
 | 
				
			|||||||
	send_campo_xml(); // Spedisce situazione via ftp
 | 
						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()
 | 
					void TManutenzione_app::convert_dir()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  if (prefix().get_codditta() <= _history_firm)
 | 
					  if (prefix().get_codditta() <= _history_firm)
 | 
				
			||||||
@ -1255,6 +1308,10 @@ void TManutenzione_app::convert_dir()
 | 
				
			|||||||
  d.set_flags(_level);
 | 
					  d.set_flags(_level);
 | 
				
			||||||
  d.put(LF_DIR, _nordir, _sysdirop);
 | 
					  d.put(LF_DIR, _nordir, _sysdirop);
 | 
				
			||||||
  put_history(pref);
 | 
					  put_history(pref);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						const int firm = prefix().is_com() ? 0 :  prefix().get_codditta();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						convert_recdef(firm);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void TManutenzione_app::load_des()
 | 
					void TManutenzione_app::load_des()
 | 
				
			||||||
 | 
				
			|||||||
@ -134,6 +134,8 @@ protected:
 | 
				
			|||||||
	bool reset_converting();
 | 
						bool reset_converting();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	bool try_to_recover(TSystemisamfile& f, int err);
 | 
						bool try_to_recover(TSystemisamfile& f, int err);
 | 
				
			||||||
 | 
						void clean_recdef(const char * dir);
 | 
				
			||||||
 | 
						void convert_recdef(int firm = -1);
 | 
				
			||||||
	void update();
 | 
						void update();
 | 
				
			||||||
	void update_dir();
 | 
						void update_dir();
 | 
				
			||||||
	void recover();
 | 
						void recover();
 | 
				
			||||||
@ -145,7 +147,7 @@ protected:
 | 
				
			|||||||
	void open_history();
 | 
						void open_history();
 | 
				
			||||||
	void put_history(const char* firm);
 | 
						void put_history(const char* firm);
 | 
				
			||||||
	void close_history();
 | 
						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 repair_file(int i);
 | 
				
			||||||
	void save_file(const char * file);
 | 
						void save_file(const char * file);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user