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:
parent
f2306aeeb5
commit
0c92b1d025
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user