Patch level : 4.0 614
Ricompilazione Demo : [ ] Commento : Aggiunta importazione ultimo costo per commessa cantiere git-svn-id: svn://10.65.10.50/trunk@14875 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
be1c6437c2
commit
c32a5ad866
@ -501,13 +501,17 @@ void TTrasferimentoGalileo_mask::trasferisci()
|
||||
if (dsn.empty())
|
||||
{
|
||||
TFilename path = get(F_PATH);
|
||||
|
||||
path << "clifo.txt";
|
||||
|
||||
TSystemisamfile clifo(LF_CLIFO);
|
||||
|
||||
clifo.overwrite(path);
|
||||
}
|
||||
else
|
||||
{
|
||||
TString query_header;
|
||||
|
||||
query_header << "ODBC(" << get(F_DSN1) << ',' << get(F_USR1) << ',' << get(F_PWD1) << ")\n";
|
||||
TGalileo_clifo pc;
|
||||
pc.set_data_limite(get_date(F_DATA));
|
||||
@ -525,6 +529,7 @@ void TTrasferimentoGalileo_mask::trasferisci()
|
||||
if (dsn.empty())
|
||||
{
|
||||
TFilename path = get(F_PATH);
|
||||
|
||||
path << "anamag.txt";
|
||||
TSystemisamfile anamag(LF_ANAMAG);
|
||||
anamag.overwrite(path);
|
||||
@ -536,12 +541,31 @@ void TTrasferimentoGalileo_mask::trasferisci()
|
||||
else
|
||||
{
|
||||
TString query_header;
|
||||
|
||||
query_header << "ODBC(" << get(F_DSN2) << ',' << get(F_USR2) << ',' << get(F_PWD2) << ")\n";
|
||||
TGalileo_articoli pc;
|
||||
pc.init(TR("Articoli"), query_header, log);
|
||||
pc.set_data_limite(get_date(F_DATA));
|
||||
pc.set_path(get(F_PATH));
|
||||
go_on = pc.trasferisci();
|
||||
|
||||
TString80 dsnc = get(F_DSN3);
|
||||
|
||||
if (dsnc.full())
|
||||
{
|
||||
TString query_header_c;
|
||||
|
||||
query_header_c << "ODBC(" << get(F_DSN3) << ',' << get(F_USR3) << ',' << get(F_PWD3) << ")\n";
|
||||
|
||||
TGalileo_articoli pcc;
|
||||
TString80 ditta(get(F_DITTA));
|
||||
TString80 cms(get(F_CMS));
|
||||
TString80 can(get(F_CANT));
|
||||
|
||||
pcc.init(TR("Costi"), query_header_c, log);
|
||||
pcc.set_path(get(F_PATH));
|
||||
go_on = pcc.trasferisci_costi(ditta, cms, can);
|
||||
}
|
||||
book.add(rep);
|
||||
pc.dump();
|
||||
rep_to_print = true;
|
||||
|
@ -145,6 +145,9 @@ class TGalileo_articoli : public TGalileo_transfer
|
||||
TFilename _path;
|
||||
TAssoc_array _keys_articoli;
|
||||
TAssoc_array _keys_umart;
|
||||
long _ditta ;
|
||||
TString _cms, _can;
|
||||
|
||||
|
||||
protected:
|
||||
int cancella_articolo(TLocalisamfile& clifo) const;
|
||||
@ -152,6 +155,7 @@ protected:
|
||||
|
||||
public:
|
||||
virtual bool trasferisci();
|
||||
virtual bool trasferisci_costi(const TString & ditta, const TString & cms, const TString & can);
|
||||
virtual bool dump();
|
||||
const TAssoc_array & keys_articoli() const { return _keys_articoli;}
|
||||
const TAssoc_array & keys_umart() const { return _keys_umart;}
|
||||
|
@ -14,7 +14,13 @@
|
||||
#define F_DSN2 204
|
||||
#define F_USR2 205
|
||||
#define F_PWD2 206
|
||||
#define F_DSN3 207
|
||||
#define F_USR3 208
|
||||
#define F_PWD3 209
|
||||
|
||||
#define F_PATH 207
|
||||
#define F_PATH 210
|
||||
#define F_DITTA 211
|
||||
#define F_CMS 212
|
||||
#define F_CANT 213
|
||||
|
||||
#endif
|
||||
|
@ -104,9 +104,45 @@ BEGIN
|
||||
FLAGS "*"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 48 5
|
||||
BEGIN
|
||||
PROMPT 1 11 "@bParametri database per costi"
|
||||
END
|
||||
|
||||
STRING F_DSN3 30
|
||||
BEGIN
|
||||
PROMPT 2 12 "DSN "
|
||||
END
|
||||
|
||||
STRING F_USR3 16
|
||||
BEGIN
|
||||
PROMPT 2 13 "User "
|
||||
END
|
||||
|
||||
STRING F_PWD3 16
|
||||
BEGIN
|
||||
PROMPT 2 14 "Password "
|
||||
FLAGS "*"
|
||||
END
|
||||
|
||||
STRING F_PATH 256 35
|
||||
BEGIN
|
||||
PROMPT 2 12 "Percorso file da importare/esportare "
|
||||
PROMPT 2 16 "Percorso file da importare/esportare "
|
||||
END
|
||||
|
||||
STRING F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 2 17 "Codice ditta Galileo "
|
||||
END
|
||||
|
||||
STRING F_CMS 5
|
||||
BEGIN
|
||||
PROMPT 2 18 "Codice commessa Galileo "
|
||||
END
|
||||
|
||||
STRING F_CANT 5
|
||||
BEGIN
|
||||
PROMPT 2 19 "Codice cantiere Galileo "
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
@ -116,10 +116,12 @@ bool TGalileo_clifo::trasferisci()
|
||||
TLocalisamfile clifo(LF_CLIFO);
|
||||
TRectype& rec_clifo = clifo.curr();
|
||||
|
||||
TRecord_cache cache_comuni(LF_COMUNI, 2);
|
||||
_keys.destroy();
|
||||
|
||||
TRecord_cache cache_comuni(LF_COMUNI, 2);
|
||||
TGalileo_iterator pi(this);
|
||||
while (++pi)
|
||||
|
||||
while (++pi)
|
||||
{
|
||||
const TString& contca = get_str("CONTCA");
|
||||
const char tipocf = get_str("CLFOCP")[0];
|
||||
@ -224,14 +226,14 @@ TGalileo_clifo::~TGalileo_clifo()
|
||||
bool select_umart(const TRectype & rec, TObject * myself)
|
||||
{
|
||||
TGalileo_articoli * c = (TGalileo_articoli *) myself;
|
||||
const TString80 key(rec.build_key());
|
||||
const TString key(rec.build_key(1));
|
||||
return c->keys_umart().objptr(key) != NULL;
|
||||
}
|
||||
|
||||
bool select_articoli(const TRectype & rec, TObject * myself)
|
||||
{
|
||||
TGalileo_articoli * c = (TGalileo_articoli *) myself;
|
||||
const TString80 key(rec.build_key());
|
||||
const TString key(rec.build_key(1));
|
||||
return c->keys_articoli().objptr(key) != NULL;
|
||||
}
|
||||
|
||||
@ -258,18 +260,22 @@ bool TGalileo_articoli::dump()
|
||||
if (campo_orig.full())
|
||||
lista_dump.add(campo_dest);
|
||||
}
|
||||
ini.list_variables(lista_anamag, true, "UMART", true);
|
||||
TToken_string lista_umart;
|
||||
FOR_EACH_ARRAY_ROW(lista_anamag,k,rowu)
|
||||
lista_dump.add(ANAMAG_ULTCOS1);
|
||||
|
||||
TString_array lista_umart;
|
||||
TToken_string lista_dump_umart;
|
||||
|
||||
ini.list_variables(lista_umart, true, "UMART", true);
|
||||
FOR_EACH_ARRAY_ROW(lista_umart,k,rowu)
|
||||
{
|
||||
rowu->get(0, campo_dest);
|
||||
lista_umart.add(campo_dest);
|
||||
lista_dump_umart.add(campo_dest);
|
||||
}
|
||||
TSystemisamfile anamag(LF_ANAMAG);
|
||||
TSystemisamfile umart(LF_UMART);
|
||||
TFilename path = _path;
|
||||
path.add("umart.txt");
|
||||
int err = umart.dump(path, lista_umart, 1, '|', '\0', '\n', true, false,
|
||||
int err = umart.dump(path, lista_dump_umart, 1, '|', '\0', '\n', true, false,
|
||||
NULL, select_umart, this);
|
||||
if (err != NOERR)
|
||||
log("Errore di scrittura umart.txt", 2);
|
||||
@ -306,6 +312,8 @@ bool TGalileo_articoli::trasferisci()
|
||||
TLocalisamfile umart(LF_UMART);
|
||||
TRectype& rec_anamag = anamag.curr();
|
||||
TRectype& rec_umart = umart.curr();
|
||||
_keys_articoli.destroy();
|
||||
_keys_umart.destroy();
|
||||
|
||||
TGalileo_iterator pi(this);
|
||||
while (++pi)
|
||||
@ -355,6 +363,33 @@ bool TGalileo_articoli::trasferisci()
|
||||
return write_enabled();
|
||||
}
|
||||
|
||||
bool TGalileo_articoli::trasferisci_costi(const TString & ditta, const TString & cms, const TString & can)
|
||||
{
|
||||
TString query =
|
||||
"SELECT M2RIS, M2CMD FROM GMRIS00F\n"
|
||||
"WHERE (M2AZI='";
|
||||
query << ditta <<" ) AND (M2COM='" << cms <<"') AND (M2CAN='" << can << "')";
|
||||
TRecordset& recset = create_recordset(query);
|
||||
TLocalisamfile anamag(LF_ANAMAG);
|
||||
TRectype& rec_anamag = anamag.curr();
|
||||
TGalileo_iterator pi(this);
|
||||
|
||||
while (++pi)
|
||||
{
|
||||
const TString& codart = get_str("M2RIS");
|
||||
rec_anamag.zero();
|
||||
rec_anamag.put(ANAMAG_CODART, codart);
|
||||
bool good = anamag.read() == NOERR;
|
||||
|
||||
if (good)
|
||||
{
|
||||
anamag.put(ANAMAG_ULTCOS1, get_str("M2CMD"));
|
||||
return test_rewrite(anamag);
|
||||
}
|
||||
}
|
||||
return write_enabled();
|
||||
}
|
||||
|
||||
bool TGalileo_articoli::aggiorna_record(TLocalisamfile& file, const TString_array& lista_campi)
|
||||
{
|
||||
TRectype& rec = file.curr();
|
||||
@ -396,6 +431,11 @@ bool TGalileo_articoli::aggiorna_record(TLocalisamfile& file, const TString_arra
|
||||
|
||||
TGalileo_articoli::TGalileo_articoli()
|
||||
{
|
||||
TConfig c(CONFIG_DITTA);
|
||||
|
||||
_ditta = c.get_long("GalDitta");
|
||||
_cms = c.get("GalCommessa");
|
||||
_can = c.get("GalCantiere");
|
||||
}
|
||||
|
||||
TGalileo_articoli::~TGalileo_articoli()
|
||||
|
Loading…
x
Reference in New Issue
Block a user