Patch level :10.0

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :visualizzazione fornitore recuperato da movana, mov,clifo


git-svn-id: svn://10.65.10.50/trunk@20262 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
lvietri 2010-03-23 15:12:59 +00:00
parent f2306aeeb5
commit 0c92b1d025

View File

@ -95,7 +95,7 @@ class TCarrelli_app: public TSkeleton_application
protected:
virtual void main_loop();
void elabora(const TMask& mask) const;
TString get_query(int tipo, TString venduto) const;
TString get_query(int tipo, bool venduto = false, const TString& commessa = EMPTY_STRING) const;
TString get_query_saldana(TString codice) const;
TString get_query_saldana(TString codice, TString operatore) const;
const char * TCarrelli_app::extra_modules() const;
@ -122,18 +122,15 @@ TString TCarrelli_app::get_query_saldana(TString codice, TString operatore) cons
return query;
}
TString TCarrelli_app::get_query(int tipo,TString venduto) const
TString TCarrelli_app::get_query(int tipo, bool venduto, const TString& commessa) const
{
//Stringhe x composizione query
TString query, select, between, join, order_by;
if(tipo==0)//query su analitica\articoli\commesse
{
TString operConto = "!=";
if(venduto=="X")
{
operConto = "==";
}
const char* operConto = venduto ? "==" : "!=";
select << "USE SALDANA KEY 2\n";
select << "SELECT ((CONTO" << operConto << "'004076000003')&&";
between << "(ANAMAG.CODART!='')&&";
@ -141,6 +138,11 @@ TString TCarrelli_app::get_query(int tipo,TString venduto) const
order_by<< "BY COMMESSA\n";
join << "JOIN ANAMAG TO SALDANA INTO CODART==COMMESSA \n";
join << "JOIN COMMESSE TO SALDANA INTO CODCMS==COMMESSA \n";
if(venduto)
{
join << "FROM CONTO='004076000003' \n";
join << "TO CONTO='004076000003' \n";
}
}
else if(tipo==1)//query su articolo\doc.
{
@ -168,9 +170,21 @@ TString TCarrelli_app::get_query(int tipo,TString venduto) const
select << "SELECT ((COD =='CEMAT')&&";
between << "(BETWEEN(SECOND,#COMM,#COMM)))";
}
else if(tipo==5)//query su movimenti x recupero fornitore
{
select << "USE RMOVANA KEY 2\n"
<< "SELECT ((CODCMS == '" << commessa << "')&&(CODCONTO='003071000002')) \n";
join << "JOIN MOVANA TO RMOVANA INTO NUMREG==NUMREG \n"
<< "JOIN MOV TO MOVANA INTO NUMREG=NUMREGCG \n"
<< "JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF \n"
<< "FROM CODCONTO='003071000002' \n"
<< "TO CODCONTO='003071000002' \n";
}
query << select << between << order_by << join;
cout << query;
return query;
}
@ -205,9 +219,9 @@ void TRiepCarrelli::add(TString articolo,TString user[],TDate dataDoc,
}
//metodo principale di elaborazione
void TCarrelli_app:: elabora(const TMask& mask)const
void TCarrelli_app::elabora(const TMask& mask)const
{
TString venduto = mask.get(F_VENDUTO);
bool venduto = mask.get_bool(F_VENDUTO);
TISAM_recordset riep(get_query(0,venduto));
@ -232,6 +246,7 @@ void TCarrelli_app:: elabora(const TMask& mask)const
TString conto;
TString prov;
TString modello;
TString descr_null;
int gruppo1;
int conto1;
int sottoGruppo1;
@ -278,7 +293,7 @@ void TCarrelli_app:: elabora(const TMask& mask)const
indir = "";//N
dataDoc= "";//O
TISAM_recordset bolle(get_query(1,""));
TISAM_recordset bolle(get_query(1));
bolle.set_var("#COMM",TVariant(articolo));
for(bool ok2 = bolle.move_last();ok2;ok2=bolle.move_next())
{
@ -309,8 +324,7 @@ void TCarrelli_app:: elabora(const TMask& mask)const
prezzoAcq.set_price(0);//R
conto="";
descr_conto="";//S
TISAM_recordset saldana(get_query(2,""));
TISAM_recordset saldana(get_query(2));
saldana.set_var("#COMM",TVariant(articolo));
for(bool ok3 = saldana.move_first();ok3;ok3=saldana.move_next())
{
@ -318,13 +332,13 @@ void TCarrelli_app:: elabora(const TMask& mask)const
conto = saldana.get("SALDANA.CONTO").as_string();
}
if(conto.not_empty())
/*if(conto.not_empty())
{
gruppo1 = atoi(conto.sub(0,3));
conto1 = atoi(conto.sub(3,6));
sottoGruppo1 = atoi(conto.sub(6));
TISAM_recordset pconto(get_query(3,""));
TISAM_recordset pconto(get_query(3));
pconto.set_var("#GRUPPO1",TVariant(long (gruppo1)));//
pconto.set_var("#CONTO1",TVariant(long (conto1)));//
pconto.set_var("#SOTTOCONTO1",TVariant(long (sottoGruppo1)));//
@ -333,8 +347,22 @@ void TCarrelli_app:: elabora(const TMask& mask)const
descr_conto = pconto.get("PCON.DESCR").as_string();
break;
}
}
}*/
//RECUPERO FORNITORE
descr_conto=descr_null;//S
TISAM_recordset fornitore(get_query(5,false,commessa));
for(bool ok3 = fornitore.move_last();ok3;ok3=fornitore.move_next())
{
descr_conto = fornitore.get("CLIFO.RAGSOC").as_string();
break;
}
/*if(fornitore.move_next()){
descr_conto = fornitore.get("CLIFO.RAGSOC").as_string();
}*/
//NOLEGGIO
noleggio.set_price(0);//U
TISAM_recordset noleg(get_query_saldana("004076000004"));
@ -378,7 +406,7 @@ void TCarrelli_app:: elabora(const TMask& mask)const
if(venduto_a.empty())
{
//CESPITE
TISAM_recordset cespite(get_query(4,""));
TISAM_recordset cespite(get_query(4));
cespite.set_var("#COMM",TVariant(articolo));
for(bool ok2 = cespite.move_last();ok2;ok2=cespite.move_next())
{
@ -413,7 +441,7 @@ void TCarrelli_app:: elabora(const TMask& mask)const
}
prezzo_p1 = (prezzoAcq + manutenzione)*1.10;//Y
prezzo_autom = prezzo_p1 * 1.1 * 1.2;//Z
prezzo_autom = (prezzo_p1.get_num() * 1.1 * 1.2) - (noleggio.get_num()/2.0);//Z
prezzo_recup = noleggio - prezzoVend - prezzo_p1;//AB