From 8446451b35490df87c3cf289b3c68e2db2a1dca7 Mon Sep 17 00:00:00 2001 From: Mattia Tollari Date: Wed, 2 Jan 2019 14:48:09 +0100 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:=2012.?= =?UTF-8?q?0=20666=20Files=20correlati=20=20=20=20=20:=20fp=20Commento=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20:=20-=20Refactor=20fplib01.h?= =?UTF-8?q?=20->=20fplib.h=20-=20Aggiunta=20classe=20TFP=5Fsettings=20+=20?= =?UTF-8?q?oggetto=20statico=20fp=5Fsettings()=20con=20getters=20e=20sette?= =?UTF-8?q?rs=20per=20i=20valori=20di=20configurazione=20fp=20(mancano=20d?= =?UTF-8?q?ue=20parametri=20del=20programma=20di=20esportazione=20-=20Aggi?= =?UTF-8?q?unta=20di=203=20nuovi=20parametri:=20esportazione=20clienti=20s?= =?UTF-8?q?enza=20cod=20sdi=20n=C3=A8=20pec=20(0000000),=20esportazione=20?= =?UTF-8?q?esteri,=20codice=20destinatario=20per=20esteri=20-=20Aggiunta?= =?UTF-8?q?=20funzione=20get=5Fdest=5Fsdi()=20che=20ritorna=20pec=20o=20co?= =?UTF-8?q?d=20sdi=20in=20base=20alla=20configurazione=20-=20Aggiunto=20se?= =?UTF-8?q?ttaggio=20unit=C3=A0=20di=20misura=20alla=20funzione=20set=5Fqt?= =?UTF-8?q?a=5Fprezzo()=20-=20La=20qta=20adesso=20=C3=A8=20una=20stringa?= =?UTF-8?q?=20(cos=C3=AC=20non=20viene=20arrotondata)=20-=20Allineato=20fp?= =?UTF-8?q?0100=20alla=20nuova=20classe=20-=20Aggiunto=20save=5Fall=5Ffiel?= =?UTF-8?q?ds()=20al=20riempimento=20della=20maschera=20per=20salvare=20le?= =?UTF-8?q?=20configurazioni=20necessarie=20in=20esportazione?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/fp/fp0100.cpp | 38 ++++----- src/fp/fp0100a.uml | 10 --- src/fp/fp0200.cpp | 2 +- src/fp/fp0300.cpp | 59 +++++++------- src/fp/fp0300a.h | 13 +-- src/fp/fp0300a.uml | 26 ++++++ src/fp/{fplib01.h => fplib.h} | 55 +++++++++++-- src/fp/fplib01.cpp | 115 ++++++++++++++------------- src/fp/fplib02.cpp | 144 ++++++++++++++++++++++++++++++++++ 9 files changed, 337 insertions(+), 125 deletions(-) rename src/fp/{fplib01.h => fplib.h} (74%) create mode 100644 src/fp/fplib02.cpp diff --git a/src/fp/fp0100.cpp b/src/fp/fp0100.cpp index 86c20ba16..d62d31bce 100644 --- a/src/fp/fp0100.cpp +++ b/src/fp/fp0100.cpp @@ -10,7 +10,7 @@ #include "recset.h" #include "progind.h" #include "../ve/velib.h" -#include "fplib01.h" +#include "fplib.h" class TParametri_mask : public TAutomask { @@ -34,28 +34,28 @@ TParametri_mask::TParametri_mask(const char * n) : TAutomask(n) void TParametri_mask::save_all() const { - ini_set_string(CONFIG_DITTA, "fp", "ip", get(F_INDIRIZZO)); - ini_set_string(CONFIG_DITTA, "fp", "db", get(F_DATABASE)); - ini_set_string(CONFIG_DITTA, "fp", "usr", get(F_USER)); - ini_set_string(CONFIG_DITTA, "fp", "psw", encode(get(F_PASSWORD))); - ini_set_string(CONFIG_DITTA, "fp", "flddest", get(F_FLDDEST)); - ini_set_string(CONFIG_DITTA, "fp", "fldusrdest", get(F_FLDUSRDEST)); - ini_set_string(CONFIG_DITTA, "fp", "cofitras", get(F_COFI)); - ini_set_bool(CONFIG_DITTA, "fp", "gestioneallegati", get_bool(F_ESPORTAALLEG)); - ini_set_bool(CONFIG_DITTA, "fp", "allegafatt", get_bool(F_ESPORTADOC)); + fp_settings().set_db_indirizzo(get(F_INDIRIZZO)); + fp_settings().set_db_database(get(F_DATABASE)); + fp_settings().set_db_user(get(F_USER)); + fp_settings().set_db_password(get(F_PASSWORD)); + fp_settings().set_fld_dest(get(F_FLDDEST)); + fp_settings().set_fld_dest_usr(get(F_FLDUSRDEST)); + fp_settings().set_cofi_tras(get(F_COFI)); + fp_settings().set_gest_alleg(get_bool(F_ESPORTAALLEG)); + fp_settings().set_allega_fat(get_bool(F_ESPORTADOC)); } void TParametri_mask::load_all() { - set(F_INDIRIZZO, ini_get_string(CONFIG_DITTA, "fp", "ip")); - set(F_DATABASE, ini_get_string(CONFIG_DITTA, "fp", "db")); - set(F_USER, ini_get_string(CONFIG_DITTA, "fp", "usr")); - set(F_PASSWORD, decode(ini_get_string(CONFIG_DITTA, "fp", "psw"))); - set(F_FLDDEST, ini_get_string(CONFIG_DITTA, "fp", "flddest")); - set(F_FLDUSRDEST, ini_get_string(CONFIG_DITTA, "fp", "fldusrdest")); - set(F_COFI, ini_get_string(CONFIG_DITTA, "fp", "cofitras")); - set(F_ESPORTAALLEG, ini_get_bool(CONFIG_DITTA, "fp", "gestioneallegati")); - set(F_ESPORTADOC, ini_get_bool(CONFIG_DITTA, "fp", "allegafatt")); + set(F_INDIRIZZO, fp_settings().get_db_indirizzo()); + set(F_DATABASE, fp_settings().get_db_database()); + set(F_USER, fp_settings().get_db_user()); + set(F_PASSWORD, fp_settings().get_db_password()); + set(F_FLDDEST, fp_settings().get_fld_dest()); + set(F_FLDUSRDEST, fp_settings().get_fld_dest_usr()); + set(F_COFI, fp_settings().get_cofi_tras()); + set(F_ESPORTAALLEG, fp_settings().get_gest_alleg()); + set(F_ESPORTADOC, fp_settings().get_allega_fat()); } void TParametri_mask::tipi_import() const diff --git a/src/fp/fp0100a.uml b/src/fp/fp0100a.uml index 4272b5ea2..18db25892 100644 --- a/src/fp/fp0100a.uml +++ b/src/fp/fp0100a.uml @@ -3,16 +3,6 @@ TOOLBAR "topbar" 0 0 0 2 #include -/* - -BUTTON DLG_ELABORA 2 2 -BEGIN - PROMPT 1 1 "Imp. Tipi Doc" - PICTURE TOOL_ELABORA - FLAGS "HD" -END -*/ - ENDPAGE PAGE "Configurazione FP" 0 2 0 0 diff --git a/src/fp/fp0200.cpp b/src/fp/fp0200.cpp index dbdce24b9..ec0a5c5ef 100644 --- a/src/fp/fp0200.cpp +++ b/src/fp/fp0200.cpp @@ -1,7 +1,7 @@ #include #include #include -#include "fplib01.h" +#include "fplib.h" #include #include #include diff --git a/src/fp/fp0300.cpp b/src/fp/fp0300.cpp index 7c8bb7a24..d58c8c264 100644 --- a/src/fp/fp0300.cpp +++ b/src/fp/fp0300.cpp @@ -1,7 +1,7 @@ #include #include #include -#include "fplib01.h" +#include "fplib.h" #include #include #include @@ -79,6 +79,10 @@ void TPA_mask::save_all_fields() const tipidocs.add(app); } ini_set_string(CONFIG_DITTA, "fp", "accepted_docs", tipidocs); + + fp_settings().set_esp_pri_empty(get_bool(F_SETDEFCOD)); + fp_settings().set_esp_est(get_bool(F_SETCODEST)); + fp_settings().set_esp_est_cod(get(F_VALCODEST)); } void TPA_mask::load_all_fields() @@ -119,6 +123,10 @@ void TPA_mask::load_all_fields() } sheet.force_update(); sheet.show(); + + set(F_SETDEFCOD, fp_settings().get_esp_pri_empty()); + set(F_SETCODEST, fp_settings().get_esp_est()); + set(F_VALCODEST, fp_settings().get_esp_est_cod()); } TString& add_filter(const TString& field, const TString& from, const TString& to) @@ -144,6 +152,9 @@ TString& add_filter(const TString& field, const TString& from, const TString& to void TPA_mask::fill() { + // Salvo subito su file le impostazioni di esportazione, in fplib accedo ai file + save_all_fields(); + TSheet_field& docs = sfield(F_DOCS); TString_array& sht = docs.rows_array(); docs.hide(); @@ -226,32 +237,22 @@ void TPA_mask::fill() row.add(rec.get(DOC_DATADOC).as_date()); row.add(rec.get(CFV_CODCF).as_int()); row.add(rec.get("20." CLI_RAGSOC).as_string()); - TString rif = rec.get("17." CFV_PADESTIN).as_string(); - if (rif.empty()) - rif = rec.get("20.PEC").as_string(); + + TString rif = get_dest_sdi(rec.get(CFV_TIPOCF).as_string()[0], rec.get(CFV_CODCF).as_int()); // Se è ancora vuoto potrebbe essere estero if(rif.empty()) { - static TString codcf; codcf.cut(0) << "C|" << rec.get(CFV_CODCF).as_string(); - TAnagrafica a(LF_CLIFO, codcf); - if (a.estero()) - rif = "XXXXXXX"; - else - { - // Segno la riga errata - if (first) - { - first = false; - // Abilito la colonna del codice ufficio per segnalare l'errore - docs.enable_column(docs.cid2index(S_UFFICIO)); - } - docs.set_back_and_fore_color(COLOR_RED, COLOR_WHITE, rec.current_row(), docs.cid2index(S_UFFICIO)); - - fat_no_cod++; - } + // Segno la riga errata + if (first) + { + first = false; + // Abilito la colonna del codice ufficio per segnalare l'errore + docs.enable_column(docs.cid2index(S_UFFICIO)); + } + docs.set_back_and_fore_color(COLOR_RED, COLOR_WHITE, rec.current_row(), docs.cid2index(S_UFFICIO)); + fat_no_cod++; } - if(rif.full()) - docs.set_back_and_fore_color(COLOR_WHITE, COLOR_BLACK, rec.cursor()->pos(), docs.cid2index(S_UFFICIO)); +; row.add(rif); row.add(rec.get("17." CFV_PARIFAMM).as_string()); row.add(rec.get("20." CLI_COFI).as_string()); @@ -470,18 +471,18 @@ void TDoc2Paf::main_loop() if (elab.doc_to_paf(key)) ndocs++; + else + { + if (!yesno_box("L'ultima fattura non è stata esportata, continuare?")) + break; + } } } } } if (ndocs > 0) { - if (elab.commit() > 0) - { - mask.save_all_fields(); - message_box(FR("Sono stati elaborati %d documenti"), ndocs); - } - else + if (elab.commit() <= 0) error_box("Errore durante il salvataggio"); elab.show_log(); } diff --git a/src/fp/fp0300a.h b/src/fp/fp0300a.h index fb82f848e..5d82a8078 100644 --- a/src/fp/fp0300a.h +++ b/src/fp/fp0300a.h @@ -1,8 +1,11 @@ -#define START_MASK 301 -#define F_DATAINI 401 -#define F_DATAEND 402 -#define F_FATTSEL 403 -#define END_MASK 499 +#define START_MASK 401 +#define F_DATAINI 401 +#define F_DATAEND 402 +#define F_FATTSEL 403 +#define F_SETDEFCOD 404 +#define F_SETCODEST 405 +#define F_VALCODEST 406 +#define END_MASK 499 #define F_DOCUMENTI_TIPO 301 diff --git a/src/fp/fp0300a.uml b/src/fp/fp0300a.uml index 764843611..6da63cdc8 100644 --- a/src/fp/fp0300a.uml +++ b/src/fp/fp0300a.uml @@ -41,6 +41,32 @@ BEGIN ITEM "Tipo SDI" END +GROUPBOX DLG_NULL 78 4 +BEGIN + PROMPT 1 12 "@BConfigurazione Esportazione" +END + + +BOOLEAN F_SETDEFCOD +BEGIN + PROMPT 2 13 "Esporta privati con codice '0000000' se privi sia di pec che di cod. destinatario" +END + +BOOLEAN F_SETCODEST +BEGIN + PROMPT 2 14 "Esporta esteri con codice" + MESSAGE TRUE ENABLE,F_VALCODEST + MESSAGE FALSE DISABLE,F_VALCODEST +END + +STRING F_VALCODEST 7 +BEGIN + PROMPT 40 14 "" + CHECKTYPE REQUIRED + FLAG "D" +END + + ENDPAGE PAGE "Elenco Fatture" 0 2 0 0 diff --git a/src/fp/fplib01.h b/src/fp/fplib.h similarity index 74% rename from src/fp/fplib01.h rename to src/fp/fplib.h index c223d41b8..91d76f7f5 100644 --- a/src/fp/fplib01.h +++ b/src/fp/fplib.h @@ -1,5 +1,5 @@ -#ifndef __FPLIB01_H -#define __FPLIB01_H +#ifndef __FPLIB_H +#define __FPLIB_H #include #include @@ -20,6 +20,9 @@ bool check_tables(); // Genera la chiave per i paf bool chiave_paf(const TDocumento& doc, TString& hfatt, TString& bfatt); bool chiave_paf(const TRectype& doc, TString& hfatt, TString& bfatt); +// Ritorna cod sdi, pec o vuoto. Chiama get_coddest() +TString get_dest_sdi(const char tipocf, const long codcf); +// Valorizza codice sdi e pec in base alle configurazioni del monitor bool get_coddest(const char tipocf, const long codcf, TString& coddest, TString& pec); inline const TString& no_special(char a); const TString& tipo_doc_sdi(const TDocumento& doc); @@ -74,7 +77,7 @@ public: }; // Gestione PAF -class TDoc_fp +class TDoc_fp : public TObject { private: TRectype* _doc_rec; @@ -124,7 +127,7 @@ protected: bool add_row_art(long& riga_art, const TString codice_tipo, const TString& codice_valore, TPaf_record& paf); bool add_row_alleg(TFilename& file, long& nprogr, TPaf_record& paf); const TString& converti_prezzo(const real& prezzo) const; - void set_qta_prezzo(TPaf_record& paf1800f, TRiga_documento* rdoc); + void set_qta_prezzo(TPaf_record& paf1800f, TRiga_documento* rdoc) const; public: bool doc_to_paf(TDocumentoEsteso& doc); @@ -143,6 +146,48 @@ public: ~TDoc_fp(); }; +class TFP_settings : public TObject +{ +public: + // Getters + const TString& get_db_indirizzo() const; + const TString& get_db_database() const; + const TString& get_db_str_con() const; + const TString& get_db_user() const; + const TString& get_db_password() const; + const TString& get_fld_dest() const; + const TString& get_fld_dest_usr() const; + const TString& get_cofi_tras() const; + const bool get_gest_alleg() const; + const bool get_allega_fat() const; + const bool get_esp_pri_empty() const; + const bool get_esp_est() const; + const TString& get_esp_est_cod() const; -#endif // __FPLIB01_H + // Setters + void set_db_indirizzo(const TString& ind) const; + void set_db_database(const TString& db) const; + void set_db_user(const TString& usr) const; + void set_db_password(const TString& psw) const; + void set_fld_dest(const TString& fld_dest) const; + void set_fld_dest_usr(const TString& fld_dest_usr) const; + void set_cofi_tras(const TString& cofi) const; + void set_gest_alleg(bool gest_alleg) const; + void set_allega_fat(bool allega_fatt) const; + void set_esp_pri_empty(bool esp_pri) const; + void set_esp_est(bool esp_est) const; + void set_esp_est_cod(const TString& esp_est_cod) const; +}; + +inline TFP_settings& fp_settings() +{ + static TFP_settings* erbuggo = nullptr; + if(erbuggo == nullptr) + { + erbuggo = new TFP_settings(); + } + return *erbuggo; +} + +#endif // __FPLIB_H diff --git a/src/fp/fplib01.cpp b/src/fp/fplib01.cpp index 91c1116c4..68882d619 100644 --- a/src/fp/fplib01.cpp +++ b/src/fp/fplib01.cpp @@ -1,4 +1,4 @@ -#include "fplib01.h" +#include "fplib.h" #include #include #include @@ -27,7 +27,7 @@ void set_connection(SSimple_query& s) { #ifdef DBG - TString ip = ini_get_string(CONFIG_DITTA, "fp", "ip"); + TString ip = fp_settings().get_db_indirizzo(); if (ip.upper() != "TESTCAMPO2012") { if (s.sq_connect("TESTCAMPO2012@campo_fp", @@ -40,9 +40,9 @@ void set_connection(SSimple_query& s) { #endif if (s.sq_connect( - TString() << ini_get_string(CONFIG_DITTA, "fp", "ip") << "@" << ini_get_string(CONFIG_DITTA, "fp", "db"), - ini_get_string(CONFIG_DITTA, "fp", "usr"), - decode(ini_get_string(CONFIG_DITTA, "fp", "psw")), + fp_settings().get_db_str_con(), + fp_settings().get_db_user(), + fp_settings().get_db_password(), TSDB_MSSQL) != NOERR) fatal_box("Impossibile connettersi al DB esterno"); #ifdef DBG @@ -162,28 +162,30 @@ bool chiave_paf(const TRectype& doc, TString& hfatt, TString& bfatt) return hfatt.full(); } +TString get_dest_sdi(const char tipocf, const long codcf) +{ + TString codsdi, pec; + get_coddest(tipocf, codcf, codsdi, pec); + return pec.full() ? pec : codsdi; +} + bool get_coddest(const char tipocf, const long codcf, TString& coddest, TString& pec) { TCli_for clifo(tipocf, codcf); coddest = clifo.vendite().get("PADESTIN"); pec = clifo.get("PEC"); - bool enapec = false; if (coddest.empty()) { - coddest = "0000000"; - // Controllo se ha la pec - if (pec.full()) - { - enapec = true; - } + if(pec.full() || fp_settings().get_esp_pri_empty()) + coddest = "0000000"; // Controllo se è straniero - else if (TAnagrafica(LF_CLIFO, tipocf, codcf).estero()) + else if (TAnagrafica(LF_CLIFO, tipocf, codcf).estero() && fp_settings().get_esp_est()) { - coddest = "XXXXXXX"; + coddest = fp_settings().get_esp_est_cod(); } } // Dopo la versione 1.2 torna sempre true - return true; + return coddest.full(); } inline const TString& no_special(char a) @@ -311,42 +313,42 @@ const TVariant& TPaf_record::get(const char* fld) const // Converte un variant in una stringa valida per SQLite const TString& TPaf_record::var2str(const TString& fldname, const TVariant& var) const { - const TFieldtypes vt = var.type(); - if (vt == _realfld) - { - const TCurrency v(var.as_real(), "", ZERO, fldname.find("PRZ") > 0 || fldname.find("PREZZO") > 0); - TString& tmp = get_tmp_string(); - tmp << '\'' << v.string() << '\''; - tmp.replace(',', '.'); - return tmp; - } - if (vt == _datefld) - { - TString& tmp = get_tmp_string(); - tmp << '\'' << var.as_date().string(full, '-', full, full, amg_date) << '\''; - return tmp; - } + const TFieldtypes vt = var.type(); + TString& tmp = get_tmp_string(); - const TString& str = var.as_string(); + if (vt == _realfld) + { + const TCurrency v(var.as_real(), "", ZERO, fldname.find("PRZ") > 0 || fldname.find("PREZZO") > 0); + tmp << '\'' << v.string() << '\''; + tmp.replace(',', '.'); + return tmp; + } - bool apici = vt == _alfafld; - if (apici && str[0] != '0' && real::is_natural(str)) - apici = false; + if (vt == _datefld) + { + tmp << '\'' << var.as_date().string(full, '-', full, full, amg_date) << '\''; + return tmp; + } - if (!apici) - return str; + const TString& str = var.as_string(); - // Parso i caratteri speciali - TString& tmp = get_tmp_string().cut(0); - for(int i = 0; i < str.len(); i++) - { - tmp << no_special(str[i]); - } + bool apici = vt == _alfafld; + if (apici && str[0] != '0' && real::is_natural(str)) + apici = false; + // Parso i caratteri speciali + for(int i = 0; i < str.len(); i++) + { + tmp << no_special(str[i]); + } + + if (apici) + { // Aggiungo apici a inizio e fine riga tmp.insert("'", 0); tmp << '\''; - return tmp; + } + return tmp; } TString& TPaf_record::remove_string(bool id_riga) @@ -858,17 +860,21 @@ const TString& TDoc_fp::converti_prezzo(const real& prezzo) const return ret; } -void TDoc_fp::set_qta_prezzo(TPaf_record& paf1800f, TRiga_documento* rdoc) +void TDoc_fp::set_qta_prezzo(TPaf_record& paf1800f, TRiga_documento* rdoc) const { - const real qta = rdoc->get(RDOC_QTA); + // Setto l'unità di misura + paf1800f.set("PI_UNITAMISURA", rdoc->get(RDOC_UMQTA)); + + const real& qta = rdoc->get_real(RDOC_QTA); + TString qta_string = rdoc->get(RDOC_QTA); if (qta >= ZERO) { - paf1800f.set("PI_QUANTITA", qta); + paf1800f.set("PI_QUANTITA", qta_string); paf1800f.set("PI_PREZZOUNIT", converti_prezzo(rdoc->prezzo(false, false))); } else { - paf1800f.set("PI_QUANTITA", -qta); + paf1800f.set("PI_QUANTITA", qta_string.add_front("-")); paf1800f.set("PI_PREZZOUNIT", converti_prezzo(-rdoc->prezzo(true, false))); } } @@ -1366,9 +1372,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc) } else if (rdoc->is_merce()) { - paf1800f.set("PI_UNITAMISURA", rdoc->get(RDOC_UMQTA)); - const real qta = rdoc->get(RDOC_QTA); - if (qta.is_zero()) + if (rdoc->get(RDOC_QTA).is_zero()) { TString msg; msg.format("La riga merce %d ha quantità nulla", riga); @@ -1511,7 +1515,6 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc) } else if (rdoc->is_prestazione()) { - paf1800f.set("PI_UNITAMISURA", rdoc->get(RDOC_UMQTA)); real qta = rdoc->get(RDOC_QTA); if (qta.is_zero()) qta = UNO; set_qta_prezzo(paf1800f, rdoc); @@ -1884,7 +1887,7 @@ TRectype& TDoc_fp::key_to_doc(const TDoc_key& key) TDoc_fp::TDoc_fp() : _doc_rec(nullptr), _log(nullptr), _cache_insert(false) { _ditta.init(LF_NDITTE, prefix().get_codditta()); - _cofi = ini_get_string(CONFIG_DITTA, "fp", "cofitras"); + _cofi = fp_settings().get_cofi_tras(); if (_cofi.blank()) _cofi = _ditta.codice_fiscale(); @@ -1892,17 +1895,17 @@ TDoc_fp::TDoc_fp() : _doc_rec(nullptr), _log(nullptr), _cache_insert(false) #ifdef DBG _gestioneallegati = _allegafattura = false; #else - _gestioneallegati = ini_get_bool(CONFIG_DITTA, "fp", "gestioneallegati"); - _allegafattura = ini_get_bool(CONFIG_DITTA, "fp", "allegafatt"); + _gestioneallegati = fp_settings().get_gest_alleg(); + _allegafattura = fp_settings().get_allega_fat(); #endif - _def_fld = ini_get_string(CONFIG_DITTA, "fp", "flddest"); + _def_fld = fp_settings().get_fld_dest(); if (!_def_fld.ends_with("\\")) { _def_fld << "\\"; } - _def_usr_fld = ini_get_string(CONFIG_DITTA, "fp", "fldusrdest", ""); + _def_usr_fld = fp_settings().get_fld_dest_usr(); if (_def_usr_fld.empty()) { _def_usr_fld = _def_fld; diff --git a/src/fp/fplib02.cpp b/src/fp/fplib02.cpp new file mode 100644 index 000000000..443c25494 --- /dev/null +++ b/src/fp/fplib02.cpp @@ -0,0 +1,144 @@ +#include "fplib.h" + +#define FILE_CONFIG CONFIG_DITTA +#define FILE_SECTION "fp" + +#define FP_IP "ip" +#define FP_DB "db" +#define FP_USR "usr" +#define FP_PSW "psw" +#define FP_FLD_DEST "flddest" +#define FP_FLD_USR_DEST "fldusrdest" +#define FP_COFI_TRAS "cofitras" +#define FP_GEST_ALLEG "gestioneallegati" +#define FP_ALLEG_FAT "allegafatt" +#define FP_ESP_PRI "esppri" +#define FP_ESP_EST "espest" +#define FP_ESP_EST_COD "espestcod" + + +const TString& TFP_settings::get_db_indirizzo() const +{ + return ini_get_string(FILE_CONFIG, FILE_SECTION, FP_IP); +} + +const TString& TFP_settings::get_db_database() const +{ + return ini_get_string(FILE_CONFIG, FILE_SECTION, FP_DB); +} + +const TString& TFP_settings::get_db_str_con() const +{ + return get_tmp_string().cut(0) << get_db_indirizzo() << "@" << get_db_database(); +} + +const TString& TFP_settings::get_db_user() const +{ + return ini_get_string(FILE_CONFIG, FILE_SECTION, FP_USR); +} + +const TString& TFP_settings::get_db_password() const +{ + return get_tmp_string().cut(0) << decode(ini_get_string(FILE_CONFIG, FILE_SECTION, FP_PSW)); +} + +const TString& TFP_settings::get_fld_dest() const +{ + return ini_get_string(FILE_CONFIG, FILE_SECTION, FP_FLD_DEST); +} + +const TString& TFP_settings::get_fld_dest_usr() const +{ + return ini_get_string(FILE_CONFIG, FILE_SECTION, FP_FLD_USR_DEST, ""); +} + +const TString& TFP_settings::get_cofi_tras() const +{ + return ini_get_string(FILE_CONFIG, FILE_SECTION, FP_COFI_TRAS); +} + +const bool TFP_settings::get_gest_alleg() const +{ + return ini_get_bool(FILE_CONFIG, FILE_SECTION, FP_GEST_ALLEG); +} + +const bool TFP_settings::get_allega_fat() const +{ + return ini_get_bool(FILE_CONFIG, FILE_SECTION, FP_ALLEG_FAT); +} + +const bool TFP_settings::get_esp_pri_empty() const +{ + return ini_get_bool(FILE_CONFIG, FILE_SECTION, FP_ESP_PRI); +} + +const bool TFP_settings::get_esp_est() const +{ + return ini_get_bool(FILE_CONFIG, FILE_SECTION, FP_ESP_EST); +} + +const TString& TFP_settings::get_esp_est_cod() const +{ + return ini_get_string(FILE_CONFIG, FILE_SECTION, FP_ESP_EST_COD, "XXXXXXX"); +} + +void TFP_settings::set_db_indirizzo(const TString& ind) const +{ + ini_set_string(FILE_CONFIG, FILE_SECTION, FP_IP, ind); +} + +void TFP_settings::set_db_database(const TString& db) const +{ + ini_set_string(FILE_CONFIG, FILE_SECTION, FP_DB, db); +} + +void TFP_settings::set_db_user(const TString& usr) const +{ + ini_set_string(FILE_CONFIG, FILE_SECTION, FP_USR, usr); +} + +void TFP_settings::set_db_password(const TString& psw) const +{ + ini_set_string(FILE_CONFIG, FILE_SECTION, FP_PSW, encode(psw)); +} + +void TFP_settings::set_fld_dest(const TString& fld_dest) const +{ + ini_set_string(FILE_CONFIG, FILE_SECTION, FP_FLD_DEST, fld_dest); +} + +void TFP_settings::set_fld_dest_usr(const TString& fld_dest_usr) const +{ + ini_set_string(FILE_CONFIG, FILE_SECTION, FP_FLD_USR_DEST, fld_dest_usr); +} + +void TFP_settings::set_cofi_tras(const TString& cofi) const +{ + ini_set_string(FILE_CONFIG, FILE_SECTION, FP_COFI_TRAS, cofi); +} + +void TFP_settings::set_gest_alleg(const bool gest_alleg) const +{ + ini_set_bool(FILE_CONFIG, FILE_SECTION, FP_GEST_ALLEG, gest_alleg); +} + +void TFP_settings::set_allega_fat(const bool allega_fatt) const +{ + ini_set_bool(FILE_CONFIG, FILE_SECTION, FP_ALLEG_FAT, allega_fatt); +} + +void TFP_settings::set_esp_pri_empty(const bool esp_pri) const +{ + ini_set_bool(FILE_CONFIG, FILE_SECTION, FP_ESP_PRI, esp_pri); +} + +void TFP_settings::set_esp_est(const bool esp_est) const +{ + ini_set_bool(FILE_CONFIG, FILE_SECTION, FP_ESP_EST, esp_est); +} + +void TFP_settings::set_esp_est_cod(const TString& esp_est_cod) const +{ + ini_set_string(FILE_CONFIG, FILE_SECTION, FP_ESP_EST_COD, esp_est_cod); +} +