Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@20371 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
43af797adb
commit
3702e7711b
@ -1,12 +1,14 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <config.h>
|
||||
#include <defmask.h>
|
||||
#include <progind.h>
|
||||
#include <recarray.h>
|
||||
#include <textset.h>
|
||||
|
||||
#include "../ca/calib01.h"
|
||||
#include "../ca/calib02.h"
|
||||
#include "../ca/commesse.h"
|
||||
#include "../ca/movana.h"
|
||||
#include "../ca/rmovana.h"
|
||||
|
||||
@ -24,8 +26,9 @@ protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
int carica_rmovana();
|
||||
bool one_checked() const; //controlla se nella colonna dei check ce ne è almeno 1 checkato (on_field)
|
||||
void check_all(const bool checked); //checka-dechecka la colonna dei check (on_field)
|
||||
bool one_checked() const; //(on_field) controlla se nella colonna dei check ce ne è almeno 1 checkato
|
||||
void check_all(const bool checked); //(on_field) checka-dechecka la colonna dei check
|
||||
void save_commessa(); //(on_field) salva i cambiamenti di date della commessa esaminata
|
||||
|
||||
public:
|
||||
TVariazione_budget_mask();
|
||||
@ -135,12 +138,38 @@ bool TVariazione_budget_mask::on_field_event(TOperable_field& o, TField_event e,
|
||||
sf_righe.force_update();
|
||||
}
|
||||
break;
|
||||
case DLG_SAVEREC:
|
||||
if (e == fe_button && check_fields())
|
||||
{
|
||||
save_commessa();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
///////////////////////////////////
|
||||
// Metodi della on_field_event
|
||||
///////////////////////////////////
|
||||
//salva la commessa con le eventuali modifiche effettuate sulle date
|
||||
void TVariazione_budget_mask::save_commessa()
|
||||
{
|
||||
TLocalisamfile commesse(LF_COMMESSE);
|
||||
commesse.put(COMMESSE_CODCMS, get(F_CODCMS));
|
||||
int err = commesse.read(_isequal, _lock);
|
||||
if (err == NOERR)
|
||||
{
|
||||
commesse.put(COMMESSE_DATAINIZIO, get_date(F_DATAINICMS));
|
||||
commesse.put(COMMESSE_DATAFINE, get_date(F_DATAFINECMS));
|
||||
commesse.put(COMMESSE_PROROGA, get_bool(F_PROROGATA));
|
||||
commesse.put(COMMESSE_DATAPROR, get_date(F_DATAPRORCMS));
|
||||
//solo la rewrite perchè la commessa ovviamente esiste già
|
||||
commesse.rewrite();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//controlla sulla colonna delle spunte se almeno una è checkata
|
||||
bool TVariazione_budget_mask::one_checked() const
|
||||
@ -166,6 +195,49 @@ void TVariazione_budget_mask::check_all(const bool checked)
|
||||
sf_righe.force_update();
|
||||
}
|
||||
|
||||
//ordina per numreg/numrig (long+int)
|
||||
static int compare_by_numrig(TSheet_field & s, int r1, int r2)
|
||||
{
|
||||
TToken_string& s1 = s.row(r1);
|
||||
TToken_string& s2 = s.row(r2);
|
||||
|
||||
//prima guarda il numreg..
|
||||
long c10 = s1.get_long(11);
|
||||
long c20 = s2.get_long(11);
|
||||
int cmp = c10 - c20;
|
||||
//..poi il numrig
|
||||
if (cmp == 0)
|
||||
{
|
||||
int c11 = s1.get_int(12);
|
||||
int c21 = s2.get_int(12);
|
||||
cmp = c11 - c21;
|
||||
}
|
||||
|
||||
return cmp;
|
||||
}
|
||||
|
||||
//ordina le righe per sede/fase (string+string)
|
||||
static int compare_by_fase(TSheet_field & s, int r1, int r2)
|
||||
{
|
||||
TToken_string& s1 = s.row(r1);
|
||||
TToken_string& s2 = s.row(r2);
|
||||
|
||||
TToken_string c1;
|
||||
c1.add(s1.get(1));
|
||||
c1.add(s1.get(2));
|
||||
|
||||
TToken_string c2;
|
||||
c2.add(s2.get(1));
|
||||
c2.add(s2.get(2));
|
||||
|
||||
int cmp = c1.compare(c2);
|
||||
|
||||
if (cmp == 0)
|
||||
cmp = compare_by_numrig(s, r1, r2);
|
||||
|
||||
return cmp;
|
||||
}
|
||||
|
||||
int TVariazione_budget_mask::carica_rmovana()
|
||||
{
|
||||
TString query;
|
||||
@ -249,12 +321,11 @@ int TVariazione_budget_mask::carica_rmovana()
|
||||
row.add(rmovana.get(RMOVANA_NUMRIG).as_int(), 12);
|
||||
const TString& tipomov = rmovana.get("MOVANA."MOVANA_TIPOMOV).as_string();
|
||||
row.add(tipomov, 13);
|
||||
} //for(bool ok.move....
|
||||
|
||||
//disabilita tutti i campi ma non l'intera riga, perchè deve poter cliccare sul numero riga..
|
||||
//..per procedere alle operazioni di pareggio
|
||||
//if (tipomov != "V")
|
||||
//sf_righe.disable_cell(sf_righe.items() - 1, -1);
|
||||
}
|
||||
//prima di riempire lo sheet a video ordina le righe per sede/fase/numreg/numrig
|
||||
sf_righe.sort(compare_by_fase);
|
||||
//e poi aggiorna il video!
|
||||
sf_righe.force_update();
|
||||
|
||||
return sf_righe.items();
|
||||
|
@ -108,6 +108,7 @@ END
|
||||
DATE F_DATAPRORCMS
|
||||
BEGIN
|
||||
PROMPT 57 2 "Proroga "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
|
Loading…
x
Reference in New Issue
Block a user