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