From 0c92b1d0250e2cc886b03fbf0b2b39cdb108b6de Mon Sep 17 00:00:00 2001 From: lvietri Date: Tue, 23 Mar 2010 15:12:59 +0000 Subject: [PATCH] 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 --- ps/pd5317100.cpp | 62 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 45 insertions(+), 17 deletions(-) diff --git a/ps/pd5317100.cpp b/ps/pd5317100.cpp index e3b68bb52..4b902aaae 100755 --- a/ps/pd5317100.cpp +++ b/ps/pd5317100.cpp @@ -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