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