Patch level : 10.0 PATCH ???

Files correlati     : lv3
Ricompilazione Demo : [ ]
Commento            :
Sistemato il metodo di proposta dell'agente


git-svn-id: svn://10.65.10.50/branches/R_10_00@21129 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2010-11-11 14:55:55 +00:00
parent 96f675026e
commit 1800174481
2 changed files with 68 additions and 0 deletions

View File

@ -54,6 +54,7 @@ public:
virtual void user_set_row_handler(TMask& rm, short field, int index);
void reset_var_mask() {_stcodcf = 0; _stcodcont = 0;}
TDate proponi_dataprco() const;
TString8 proponi_autista() const;
TGestione_bolle_msk(const char* tipodoc);
int _autoselect;
@ -177,6 +178,35 @@ TDate TGestione_bolle_msk::proponi_dataprco() const
return dataprco;
}
//PROPONI_AUTISTA: metodo che propone l'autista previsto per la data di prevista consegna
TString8 TGestione_bolle_msk::proponi_autista() const
{
const TDate dataprco = get(F_LVDATAPRCO);
const long codcf = get_long(F_CODCF);
const long codcont = get_long(F_LVCODCONT);
TString query = "USE LVRCONSPLAN KEY 3\n";
query << "FROM CODCF=" << codcf << " CODCONT=" << codcont << " DTCONS=#DADATA\n";
query << "TO CODCF=" << codcf << " CODCONT=" << codcont << " DTCONS=#ADATA\n";
TISAM_recordset consegne(query);
consegne.set_var("#DADATA", dataprco);
consegne.set_var("#ADATA", dataprco);
consegne.move_first();
TString8 codaut = consegne.get(LVRCONSPLAN_CODAUT).as_string().right(5); codaut.trim();
if(codaut.empty())
{
TToken_string key;
key.add('C');
key.add(codcf);
const TRectype& cfven = cache().get(LF_CFVEN, key);
codaut = cfven.get(CFV_CODAG);
}
return codaut;
}
////////////////////////////
// HANDLER DI DOCUMENTO //
////////////////////////////
@ -401,6 +431,10 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
const TDate dataprco = dmsk.proponi_dataprco();
if (dataprco.ok() && dmsk.field(F_LVDATAPRCO).empty())
doc.put("DATAPRCO", dataprco);
const TString8 autista = dmsk.proponi_autista();
if (dmsk.field(F_CODAG).empty())
doc.put(DOC_CODAG, autista);
}
if (dmsk._stcodcf == codcf && dmsk._stcodcont == codcont && nrighe > 0)

View File

@ -53,6 +53,7 @@ public:
virtual void user_set_row_handler(TMask& rm, short field, int index);
void reset_var_mask() {_stcodcf = 0; _stcodcont = 0;}
TDate proponi_dataprco() const;
TString8 proponi_autista() const;
TGestione_buoni_msk(const char* tipodoc);
int _autoselect;
@ -173,6 +174,35 @@ TDate TGestione_buoni_msk::proponi_dataprco() const
return dataprco;
}
//PROPONI_AUTISTA: metodo che propone l'autista previsto per la data di prevista consegna
TString8 TGestione_buoni_msk::proponi_autista() const
{
const TDate dataprco = get(F_LVDATAPRCO);
const long codcf = get_long(F_CODCF);
const long codcont = get_long(F_LVCODCONT);
TString query = "USE LVRCONSPLAN KEY 3\n";
query << "FROM CODCF=" << codcf << " CODCONT=" << codcont << " DTCONS=#DADATA\n";
query << "TO CODCF=" << codcf << " CODCONT=" << codcont << " DTCONS=#ADATA\n";
TISAM_recordset consegne(query);
consegne.set_var("#DADATA", dataprco);
consegne.set_var("#ADATA", dataprco);
consegne.move_first();
TString8 codaut = consegne.get(LVRCONSPLAN_CODAUT).as_string().right(5); codaut.trim();
if(codaut.empty())
{
TToken_string key;
key.add('C');
key.add(codcf);
const TRectype& cfven = cache().get(LF_CFVEN, key);
codaut = cfven.get(CFV_CODAG);
}
return codaut;
}
////////////////////////////
// HANDLER DI DOCUMENTO //
////////////////////////////
@ -303,6 +333,10 @@ bool TGestione_buoni_msk::set_contratto_handler(TMask_field& f, KEY k)
const TDate dataprco = dmsk.proponi_dataprco();
if (dataprco.ok() && dmsk.field(F_LVDATAPRCO).empty())
dmsk.set(F_LVDATAPRCO, dataprco);
const TString8 autista = dmsk.proponi_autista();
if (dmsk.field(F_CODAG).empty())
dmsk.set(F_CODAG, autista);
}
return true;