campo-sirio/tc/tc2700.h
alex bbfb8a9896 Patch level : 10.0 880
Files correlati     :  tc2.exe
Ricompilazione Demo : [ ]
Commento            :

Invio a IPSOA


git-svn-id: svn://10.65.10.50/branches/R_10_00@21404 c028cbd2-c16b-5b4b-a496-9718f37d4682
2011-01-10 08:34:25 +00:00

193 lines
5.6 KiB
C++
Executable File

#include <automask.h>
#include <applicat.h>
#include <recarray.h>
#include <relation.h>
#include <reprint.h>
#include <reputils.h>
#include <textset.h>
#include "../cg/cg2103.h"
///////////////////////////////////////////////////////////
// TIP_mask
///////////////////////////////////////////////////////////
class TIP_mask : public TAutomask
{
clock_t _next_update;
bool _updating;
private:
bool apply_filter(const TRecordset& righe) const;
void serialize(bool bSave);
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TIP_mask(const char * maskname);
~TIP_mask();
};
///////////////////////////////////////////////////////////
// TCausali_cache
///////////////////////////////////////////////////////////
class TCausali_cache : public TCache
{
protected:
virtual TObject* key2obj(const char* key);
public:
const TCausale& causale(const char* codice, int annoiva);
};
///////////////////////////////////////////////////////////
// TRiclassifica_cache
///////////////////////////////////////////////////////////
class TIPRiclassifica_cache : public TCache
{
TLocalisamfile _multirel;
protected:
virtual TObject* key2obj(const char* key);
public:
const char * sdecode(const char* tab, const TString& cod);
long decode(const char* tab, const TString& cod);
TIPRiclassifica_cache() : _multirel(LF_MULTIREL) { _multirel.setkey(2);}
};
///////////////////////////////////////////////////////////
// TIP_sender
///////////////////////////////////////////////////////////
const long TSbill2ricl(char & t, int gr, int co, long so);
///////////////////////////////////////////////////////////
// TIP_sender
///////////////////////////////////////////////////////////
class TIP_textset : public TCSV_recordset
{
TAssoc_array _colnames;
protected:
void add_field(const char* name = "Filler", int len = 0, const char * tipo = "C");
public:
virtual bool destroy(TRecnotype r);
virtual bool set(const char* field, const TVariant& v);
void set(const char* field, const TString & str) { set(field, TVariant(str)); }
void set(const char* field, const int n) { set(field, TVariant((long)n)); }
void set(const char* field, const char* s) { set(field, TVariant(s)); }
void set(const char* field, const TDate& d) { set(field, TVariant(d)); }
void set(const char* field, const real& v) { set(field, TVariant(v)); }
int find_column(const char * name);
TIP_textset(const char* query = "") : TCSV_recordset(TString("CSV(\"\t\")\n") << query) {}
};
class TIP_clienti_textset : public TIP_textset
{
public:
TIP_clienti_textset(const char* query = "");
};
class TIP_fornitori_textset : public TIP_textset
{
public:
TIP_fornitori_textset(const char* query = "");
};
class TIP_movimenti_textset : public TIP_textset
{
public:
TIP_movimenti_textset(const char* query = "");
};
class TIP_scadenze_textset : public TIP_textset
{
public:
TIP_scadenze_textset(const char* query = "");
};
class TIP_cespiti_textset : public TIP_textset
{
public:
TIP_cespiti_textset(const char* query = "");
};
class TIP_categorie_textset : public TIP_textset
{
public:
TIP_categorie_textset(const char* query = "");
};
class TIP_intra_textset : public TIP_textset
{
public:
TIP_intra_textset(const char* query = "");
};
class TIP_sender : public TSkeleton_application
{
TIP_mask * _mask;
TAssoc_array _caus_regolarizzazione;
TIPRiclassifica_cache* _tabelle;
TCausali_cache * _causali;
TAssoc_array _riclassifica;
bool _errors_logged;
bool _errors;
TLog_report* _log;
TReport_book * _book;
TRecord_cache * _part;
long _ultscadid;
bool test_swap(const TRecordset& mov);
bool mov_regolarizzazione(const TRecordset& mov);
bool mov_intra(const TRecordset& mov);
bool mov_reverse_charge(const TRecordset& mov);
const TString & scod2ricl(const char* tab, const TString& cod);
const TString & scod2ricl(const char* tab, const TVariant& cod);
const long cod2ricl(const char* tab, const TString& cod);
const long cod2ricl(const char* tab, const TVariant& cod);
const long bill2ricl(char t, int gr, int co, long so);
const TString & pag2tipo(const TVariant & codpag);
const TString & row2cauriga(TISAM_recordset& rmov, const TCausale & caus);
void get_pref(const TVariant & pref, TVariant & pint, TVariant & pnaz);
const real ind2perc(const TVariant & tipodet);
void add_cli(TISAM_recordset & cli, TIP_clienti_textset & ipcli);
void add_forn(TISAM_recordset & forn, TIP_fornitori_textset & ipforn);
void add_mov_cg(TISAM_recordset & mov, TIP_movimenti_textset & ipmov, const TVariant & reg_regol, const TVariant & prot_regol, const char tipo = ' ');
void add_mov_iva(TISAM_recordset & mov, TIP_movimenti_textset & ipmov, const TVariant & reg_regol, const TVariant & prot_regol);
void add_mov(TISAM_recordset & mov, TIP_movimenti_textset & ipmov);
void add_scad(TISAM_recordset & mov, TIP_scadenze_textset & ipscad);
void add_intra(TISAM_recordset & mov, TIP_intra_textset & ipintra);
void transfer_cli(const char * path);
void transfer_forn(const char * path);
void transfer_mov(const char * path);
void transfer_scad(const char * path);
void transfer_cesp(const char * path);
void transfer_cat(const char * path);
void transfer_intra(const char * path);
protected:
virtual bool find_regolarizzazione(TRecordset& mov);
virtual TMask & get_mask();
public:
virtual bool multi_activity() const { return true; }
TAssoc_array & riclassifica() {return _riclassifica;}
virtual void postprocess_movs(TRecordset & mov);
virtual void set_parameters();
// qui
void log(int sev, const char* msg);
virtual bool create();
virtual void main_loop();
virtual bool destroy();
TIP_sender() : _tabelle(NULL) {}
};