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())
|
if (dsn.empty())
|
||||||
{
|
{
|
||||||
TFilename path = get(F_PATH);
|
TFilename path = get(F_PATH);
|
||||||
|
|
||||||
path << "clifo.txt";
|
path << "clifo.txt";
|
||||||
|
|
||||||
TSystemisamfile clifo(LF_CLIFO);
|
TSystemisamfile clifo(LF_CLIFO);
|
||||||
|
|
||||||
clifo.overwrite(path);
|
clifo.overwrite(path);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TString query_header;
|
TString query_header;
|
||||||
|
|
||||||
query_header << "ODBC(" << get(F_DSN1) << ',' << get(F_USR1) << ',' << get(F_PWD1) << ")\n";
|
query_header << "ODBC(" << get(F_DSN1) << ',' << get(F_USR1) << ',' << get(F_PWD1) << ")\n";
|
||||||
TGalileo_clifo pc;
|
TGalileo_clifo pc;
|
||||||
pc.set_data_limite(get_date(F_DATA));
|
pc.set_data_limite(get_date(F_DATA));
|
||||||
@ -525,6 +529,7 @@ void TTrasferimentoGalileo_mask::trasferisci()
|
|||||||
if (dsn.empty())
|
if (dsn.empty())
|
||||||
{
|
{
|
||||||
TFilename path = get(F_PATH);
|
TFilename path = get(F_PATH);
|
||||||
|
|
||||||
path << "anamag.txt";
|
path << "anamag.txt";
|
||||||
TSystemisamfile anamag(LF_ANAMAG);
|
TSystemisamfile anamag(LF_ANAMAG);
|
||||||
anamag.overwrite(path);
|
anamag.overwrite(path);
|
||||||
@ -536,12 +541,31 @@ void TTrasferimentoGalileo_mask::trasferisci()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
TString query_header;
|
TString query_header;
|
||||||
|
|
||||||
query_header << "ODBC(" << get(F_DSN2) << ',' << get(F_USR2) << ',' << get(F_PWD2) << ")\n";
|
query_header << "ODBC(" << get(F_DSN2) << ',' << get(F_USR2) << ',' << get(F_PWD2) << ")\n";
|
||||||
TGalileo_articoli pc;
|
TGalileo_articoli pc;
|
||||||
pc.init(TR("Articoli"), query_header, log);
|
pc.init(TR("Articoli"), query_header, log);
|
||||||
pc.set_data_limite(get_date(F_DATA));
|
pc.set_data_limite(get_date(F_DATA));
|
||||||
pc.set_path(get(F_PATH));
|
pc.set_path(get(F_PATH));
|
||||||
go_on = pc.trasferisci();
|
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);
|
book.add(rep);
|
||||||
pc.dump();
|
pc.dump();
|
||||||
rep_to_print = true;
|
rep_to_print = true;
|
||||||
|
@ -145,6 +145,9 @@ class TGalileo_articoli : public TGalileo_transfer
|
|||||||
TFilename _path;
|
TFilename _path;
|
||||||
TAssoc_array _keys_articoli;
|
TAssoc_array _keys_articoli;
|
||||||
TAssoc_array _keys_umart;
|
TAssoc_array _keys_umart;
|
||||||
|
long _ditta ;
|
||||||
|
TString _cms, _can;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int cancella_articolo(TLocalisamfile& clifo) const;
|
int cancella_articolo(TLocalisamfile& clifo) const;
|
||||||
@ -152,6 +155,7 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool trasferisci();
|
virtual bool trasferisci();
|
||||||
|
virtual bool trasferisci_costi(const TString & ditta, const TString & cms, const TString & can);
|
||||||
virtual bool dump();
|
virtual bool dump();
|
||||||
const TAssoc_array & keys_articoli() const { return _keys_articoli;}
|
const TAssoc_array & keys_articoli() const { return _keys_articoli;}
|
||||||
const TAssoc_array & keys_umart() const { return _keys_umart;}
|
const TAssoc_array & keys_umart() const { return _keys_umart;}
|
||||||
|
@ -14,7 +14,13 @@
|
|||||||
#define F_DSN2 204
|
#define F_DSN2 204
|
||||||
#define F_USR2 205
|
#define F_USR2 205
|
||||||
#define F_PWD2 206
|
#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
|
#endif
|
||||||
|
@ -104,9 +104,45 @@ BEGIN
|
|||||||
FLAGS "*"
|
FLAGS "*"
|
||||||
END
|
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
|
STRING F_PATH 256 35
|
||||||
BEGIN
|
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
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
@ -116,10 +116,12 @@ bool TGalileo_clifo::trasferisci()
|
|||||||
TLocalisamfile clifo(LF_CLIFO);
|
TLocalisamfile clifo(LF_CLIFO);
|
||||||
TRectype& rec_clifo = clifo.curr();
|
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);
|
TGalileo_iterator pi(this);
|
||||||
while (++pi)
|
|
||||||
|
while (++pi)
|
||||||
{
|
{
|
||||||
const TString& contca = get_str("CONTCA");
|
const TString& contca = get_str("CONTCA");
|
||||||
const char tipocf = get_str("CLFOCP")[0];
|
const char tipocf = get_str("CLFOCP")[0];
|
||||||
@ -224,14 +226,14 @@ TGalileo_clifo::~TGalileo_clifo()
|
|||||||
bool select_umart(const TRectype & rec, TObject * myself)
|
bool select_umart(const TRectype & rec, TObject * myself)
|
||||||
{
|
{
|
||||||
TGalileo_articoli * c = (TGalileo_articoli *) 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;
|
return c->keys_umart().objptr(key) != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool select_articoli(const TRectype & rec, TObject * myself)
|
bool select_articoli(const TRectype & rec, TObject * myself)
|
||||||
{
|
{
|
||||||
TGalileo_articoli * c = (TGalileo_articoli *) 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;
|
return c->keys_articoli().objptr(key) != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,18 +260,22 @@ bool TGalileo_articoli::dump()
|
|||||||
if (campo_orig.full())
|
if (campo_orig.full())
|
||||||
lista_dump.add(campo_dest);
|
lista_dump.add(campo_dest);
|
||||||
}
|
}
|
||||||
ini.list_variables(lista_anamag, true, "UMART", true);
|
lista_dump.add(ANAMAG_ULTCOS1);
|
||||||
TToken_string lista_umart;
|
|
||||||
FOR_EACH_ARRAY_ROW(lista_anamag,k,rowu)
|
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);
|
rowu->get(0, campo_dest);
|
||||||
lista_umart.add(campo_dest);
|
lista_dump_umart.add(campo_dest);
|
||||||
}
|
}
|
||||||
TSystemisamfile anamag(LF_ANAMAG);
|
TSystemisamfile anamag(LF_ANAMAG);
|
||||||
TSystemisamfile umart(LF_UMART);
|
TSystemisamfile umart(LF_UMART);
|
||||||
TFilename path = _path;
|
TFilename path = _path;
|
||||||
path.add("umart.txt");
|
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);
|
NULL, select_umart, this);
|
||||||
if (err != NOERR)
|
if (err != NOERR)
|
||||||
log("Errore di scrittura umart.txt", 2);
|
log("Errore di scrittura umart.txt", 2);
|
||||||
@ -306,6 +312,8 @@ bool TGalileo_articoli::trasferisci()
|
|||||||
TLocalisamfile umart(LF_UMART);
|
TLocalisamfile umart(LF_UMART);
|
||||||
TRectype& rec_anamag = anamag.curr();
|
TRectype& rec_anamag = anamag.curr();
|
||||||
TRectype& rec_umart = umart.curr();
|
TRectype& rec_umart = umart.curr();
|
||||||
|
_keys_articoli.destroy();
|
||||||
|
_keys_umart.destroy();
|
||||||
|
|
||||||
TGalileo_iterator pi(this);
|
TGalileo_iterator pi(this);
|
||||||
while (++pi)
|
while (++pi)
|
||||||
@ -355,6 +363,33 @@ bool TGalileo_articoli::trasferisci()
|
|||||||
return write_enabled();
|
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)
|
bool TGalileo_articoli::aggiorna_record(TLocalisamfile& file, const TString_array& lista_campi)
|
||||||
{
|
{
|
||||||
TRectype& rec = file.curr();
|
TRectype& rec = file.curr();
|
||||||
@ -396,6 +431,11 @@ bool TGalileo_articoli::aggiorna_record(TLocalisamfile& file, const TString_arra
|
|||||||
|
|
||||||
TGalileo_articoli::TGalileo_articoli()
|
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()
|
TGalileo_articoli::~TGalileo_articoli()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user