Patch level : 10.0 nopatch

Files correlati     : ci0.exe
Ricompilazione Demo : [ ]
Commento            :

Rilevazione Ore su commessa cdc fase


git-svn-id: svn://10.65.10.50/branches/R_10_00@20739 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-07-31 06:58:44 +00:00
parent c538e29152
commit d14cf638eb
3 changed files with 115 additions and 83 deletions

View File

@ -35,7 +35,7 @@ protected:
void get_anal_fields(TString & cdc, TString & cms, TString & fase);
void get_row_anal_fields(TToken_string & row, TString & cdc, TString & cms, TString & fase);
void put_row_anal_fields(TToken_string & row, TString & cdc, TString & cms, TString & fase);
void put_row_anal_fields(TToken_string & row, const TString & cdc, const TString & cms, const TString & fase);
void riempi_sheet();
void nuova_riga();
void azzera_riga(TSheet_field& sheet);
@ -56,25 +56,28 @@ void TDef_risoatt_msk::get_anal_fields(TString & cdc, TString & cms, TString & f
for ( short id = _cdc_sid; id <= _cdc_lid; id++)
{
val = get(id);
val.fill(' ', field(id).size());
val.rpad(field(id).size());
cdc << val;
}
cdc.trim();
cms.cut(0);
if (_cms_sid >= 0)
for ( short id = _cms_sid; id <= _cms_lid; id++)
{
val = get(id);
val.fill(' ', field(id).size());
val.rpad(field(id).size());
cms << val;
}
cms.trim();
fase.cut(0);
if (_fase_sid >= 0)
for ( short id = _fase_sid; id <= _fase_lid; id++)
{
val = get(id);
val.fill(' ', field(id).size());
val.rpad(field(id).size());
fase << val;
}
fase.trim();
}
void TDef_risoatt_msk::get_row_anal_fields(TToken_string & row, TString & cdc, TString & cms, TString & fase)
@ -87,28 +90,31 @@ void TDef_risoatt_msk::get_row_anal_fields(TToken_string & row, TString & cdc, T
for ( short id = _scdc_sid; id <= _scdc_lid; id++)
{
val = m.get(id);
val.fill(' ', m.field(id).size());
val.rpad(m.field(id).size());
cdc << val;
}
cdc.trim();
cms.cut(0);
if (_scms_sid >= 0)
for ( short id = _scms_sid; id <= _scms_lid; id++)
{
val = m.get(id);
val.fill(' ', m.field(id).size());
val.rpad(m.field(id).size());
cms << val;
}
cms.trim();
fase.cut(0);
if (_sfase_sid >= 0)
for ( short id = _sfase_sid; id <= _sfase_lid; id++)
{
val = m.get(id);
val.fill(' ', m.field(id).size());
val.rpad(m.field(id).size());
fase << val;
}
fase.trim();
}
void TDef_risoatt_msk::put_row_anal_fields(TToken_string & row, TString & cdc, TString & cms, TString & fase)
void TDef_risoatt_msk::put_row_anal_fields(TToken_string & row, const TString & cdc, const TString & cms, const TString & fase)
{
TSheet_field & s = sfield(F_SHEET);
TMask & m = s.sheet_mask();
@ -162,16 +168,25 @@ void TDef_risoatt_msk::riempi_sheet()
get_anal_fields(codcosto, codcms, codfase);
TString query;
query << "USE " << LF_RILORE << "\n"
<< "SELECT (BETWEEN(" << RILORE_TIPORA << ",\"" << risoatt << "\",\"" << risoatt << "\"))&&"
<< "(BETWEEN(" << RILORE_CODICE << ",\"" << codice << "\",\"" << codice << "\"))&&"
<< "(BETWEEN(" << RILORE_ANNO << ",\"" << anno << "\",\"" << anno << "\"))&&"
<< "(BETWEEN(" << RILORE_MESE << ",\"" << mese << "\",\"" << mese << "\"))&&"
<< "(BETWEEN(" << RILORE_TPORA << ",\"" << tpora << "\",\"" << tpora << "\"))&&"
<< "(BETWEEN(" << RILORE_CODCOSTO << ",\"" << codcosto << "\",\"" << codcosto << "\"))&&"
<< "(BETWEEN(" << RILORE_CODCMS << ",\"" << codcms << "\",\"" << codcms << "\"))&&"
<< "(BETWEEN(" << RILORE_CODFASE << ",\"" << codcms << "\",\"" << codfase << "\"))\n";
TString query;
query << "USE " << LF_RILORE << "\n";
if (risoatt.full())
query << "SELECT (BETWEEN(" << RILORE_TIPORA << ",\"" << risoatt << "\",\"" << risoatt << "\"))";
if (codice.full())
query << "&&(BETWEEN(" << RILORE_CODICE << ",\"" << codice << "\",\"" << codice << "\"))";
if (anno.full())
query << "&&(BETWEEN(" << RILORE_ANNO << ",\"" << anno << "\",\"" << anno << "\"))";
if (mese.full())
query << "&&(BETWEEN(" << RILORE_MESE << ",\"" << mese << "\",\"" << mese << "\"))";
if (tpora.full())
query << "&&(BETWEEN(" << RILORE_TPORA << ",\"" << tpora << "\",\"" << tpora << "\"))";
if (codcosto.full())
query << "&&(BETWEEN(" << RILORE_CODCOSTO << ",\"" << codcosto << "\",\"" << codcosto << "\"))";
if (codcms.full())
query << "&&(BETWEEN(" << RILORE_CODCMS << ",\"" << codcms << "\",\"" << codcms << "\"))";
if (codfase.full())
query << "&&(BETWEEN(" << RILORE_CODFASE << ",\"" << codfase << "\",\"" << codfase << "\"))";
query << "\n";
TString fromto = RILORE_TIPO "=\"D\"";
if(risoatt != 'T')
@ -216,7 +231,7 @@ void TDef_risoatt_msk::riempi_sheet()
riga.add(rilore.anno(), sheet.cid2index(S_ANNO));
riga.add(rilore.mese(), sheet.cid2index(S_MESE));
riga.add(rilore.tpora(), sheet.cid2index(S_TPORA));
put_row_anal_fields(riga, codcosto, codcms, codfase);
put_row_anal_fields(riga, rilore.codcosto(), rilore.codcms(), rilore.codfase());
riga.add(rilore.qtaore(), sheet.cid2index(S_QTAORE));
riga.add(rilore.costo().string(), sheet.cid2index(S_COSTO));
@ -475,69 +490,79 @@ TDef_risoatt_msk::TDef_risoatt_msk()
if (level == "CDC") // Crea centro di costo
{
const int h = ca_create_fields(*this, 0, LF_CDC, 2, y, dlg, dlg + 100);
_cdc_sid = dlg;
_cdc_lid = dlg + h - 1;
y += h - 1;
dlg += h;
const int sh = ca_create_fields(sm, 0, LF_CDC, 2, sy, sdlg, sdlg + 50);
_scdc_sid = sdlg;
_scdc_lid = sdlg + sh - 1;
sy += sh - 1;
sdlg += h;
if (fasinfo.parent() == LF_CDC)
{
const int h = ca_create_fields(*this, 0, LF_FASI, 2, y, dlg, dlg + 100);
_fase_sid = dlg;
_fase_lid = dlg + h - 1;
y += h - 1;
dlg += h;
const int sh = ca_create_fields(sm, 0, LF_FASI, 2, sy, sdlg, sdlg + 50);
_sfase_sid = sdlg;
int h = ca_multilevel_code_info(LF_CDC).levels();
const int h1 = ca_create_fields_compact(*this, 0, LF_FASI, 2, y, dlg, dlg + 100);
y += 2;
_cdc_sid = dlg;
_cdc_lid = dlg + h - 1;
_fase_sid = _cdc_lid + 1;
_fase_lid = dlg + h1 - 1;
dlg += h1;
const int sh = ca_create_fields_compact(sm, 0, LF_FASI, 2, sy, sdlg, sdlg + 50);
sy += 2;
_scdc_sid = sdlg;
_scdc_lid = sdlg + h - 1;
_sfase_sid = _scdc_lid + 1;
_sfase_lid = sdlg + sh - 1;
sy += sh - 1;
sdlg += h;
sdlg += sh;
}
else
{
const int h = ca_create_fields_compact(*this, 0, LF_CDC, 2, y++, dlg, dlg + 100);
_cdc_sid = dlg;
_cdc_lid = dlg + h - 1;
dlg += h;
const int sh = ca_create_fields_compact(sm, 0, LF_CDC, 2, sy++, sdlg, sdlg + 50);
_scdc_sid = sdlg;
_scdc_lid = sdlg + sh - 1;
sdlg += h;
}
}
else
if (level == "CMS") // Crea commessa
{
const int h = ca_create_fields(*this, 0, LF_COMMESSE, 2, y, dlg, dlg + 100);
_cms_sid = dlg;
_cms_lid = dlg + h - 1;
y += h - 1;
dlg += h;
const int sh = ca_create_fields(sm, 0, LF_COMMESSE, 2, sy, sdlg, sdlg + 50);
_scms_sid = sdlg;
_scms_lid = sdlg + sh - 1;
sy += sh - 1;
sdlg += sh;
if (fasinfo.parent() == LF_COMMESSE)
{
const int h = ca_create_fields(*this, 0, LF_FASI, 2, y, dlg, dlg + 100);
_fase_sid = dlg;
_fase_lid = dlg + h - 1;
y += h - 1;
dlg += h;
const int sh = ca_create_fields(sm, 0, LF_FASI, 2, sy, sdlg, sdlg + 50);
_sfase_sid = sdlg;
int h = ca_multilevel_code_info(LF_COMMESSE).levels();
const int h1 = ca_create_fields_compact(*this, 0, LF_FASI, 2, y, dlg, dlg + 100);
y += 2;
_cms_sid = dlg;
_cms_lid = dlg + h - 1;
_fase_sid = _cms_lid + 1;
_fase_lid = dlg + h1 - 1;
dlg += h1;
const int sh = ca_create_fields_compact(sm, 0, LF_FASI, 2, sy, sdlg, sdlg + 50);
sy += 2;
_scms_sid = sdlg;
_scms_lid = sdlg + h - 1;
_sfase_sid = _scms_lid + 1;
_sfase_lid = sdlg + sh - 1;
sy += sh - 1;
sdlg += h;
sdlg += sh;
}
else
{
const int h = ca_create_fields_compact(*this, 0, LF_COMMESSE, 2, y++, dlg, dlg + 100);
_cms_sid = dlg;
_cms_lid = dlg + h - 1;
dlg += h;
const int sh = ca_create_fields_compact(sm, 0, LF_COMMESSE, 2, sy++, sdlg, sdlg + 50);
_scms_sid = sdlg;
_scms_lid = sdlg + sh - 1;
sdlg += sh;
}
}
}
if (fasinfo.levels() > 0 && fasinfo.parent() <= 0)
{
const int h = ca_create_fields(*this, 0, LF_FASI, 2, y, dlg, dlg + 100);
const int h = ca_create_fields_compact(*this, 0, LF_FASI, 2, y++, dlg, dlg + 100);
_fase_sid = dlg;
_fase_lid = dlg + h - 1;
y += h - 1;
dlg += h;
const int sh = ca_create_fields(sm, 0, LF_FASI, 2, sy, sdlg, sdlg + 50);
const int sh = ca_create_fields_compact(sm, 0, LF_FASI, 2, sy++, sdlg, sdlg + 50);
_sfase_sid = sdlg;
_sfase_lid = sdlg + sh - 1;
sy += sh - 1;
sdlg += h;
}
@ -555,9 +580,7 @@ TDef_risoatt_msk::TDef_risoatt_msk()
s.enable_column(id);
}
else
{
s.delete_column(id);
}
}
_qtaore = 0;

View File

@ -17,9 +17,9 @@
#define S_RISOATT 101
#define S_CODRIS 102
#define S_DESRIS 111
#define S_DESRIS 120
#define S_CODATT 202
#define S_DESATT 211
#define S_DESATT 220
#define S_ANNO 103
#define S_MESE 104
#define S_TPORA 105

View File

@ -32,7 +32,7 @@ ENDPAGE
PAGE "Dati predefiniti" 0 2 0 0
GROUPBOX DLG_NULL 78 15
GROUPBOX DLG_NULL 78 7
BEGIN
PROMPT 1 0 "@bSelezione"
END
@ -130,9 +130,9 @@ BEGIN
END
SPREADSHEET F_SHEET -10 0
SPREADSHEET F_SHEET -18 0
BEGIN
PROMPT 1 15 ""
PROMPT 1 7 ""
ITEM "Tipo"
ITEM "Codice@16"
ITEM "Anno"
@ -152,12 +152,13 @@ BEGIN
ITEM "CDC12"
ITEM "Qta\nOre@5"
ITEM "Costo@10"
ITEM "Descrizione@50"
END
ENDPAGE
ENDMASK
PAGE "Dati Predefiniti" -1 -1 78 22
PAGE "Dati Predefiniti" -1 -1 78 13
GROUPBOX DLG_NULL 76 20
BEGIN
@ -224,13 +225,13 @@ END
NUMBER S_ANNO 4
BEGIN
PROMPT 2 7 "Anno "
CHECKTYPE REQUIRED
FLAGS "AD"
END
LISTBOX S_MESE 10
BEGIN
PROMPT 22 7 "Mese"
ITEM "|"
FILED CODTAB[21,2]
FLAGS "MD"
END
@ -243,6 +244,7 @@ BEGIN
DISPLAY "Codice@16" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT S_TPORA CODTAB
CHECKTYPE REQUIRED
FLAGS "D"
END
@ -251,13 +253,12 @@ BEGIN
PROMPT 2 8 "Cdc 1"
USE LF_CDC
CHECKTYPE NORMAL
GROUP 1
FLAGS "H"
END
STRING S_CDC2 20
BEGIN
PROMPT 2 9 "Cdc 2"
PROMPT 2 8 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
@ -265,7 +266,7 @@ END
STRING S_CDC3 20
BEGIN
PROMPT 2 10 "Cdc 2"
PROMPT 2 8 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
@ -273,7 +274,7 @@ END
STRING S_CDC4 20
BEGIN
PROMPT 2 11 "Cdc 2"
PROMPT 2 8 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
@ -281,7 +282,15 @@ END
STRING S_CDC5 20
BEGIN
PROMPT 2 12 "Cdc 2"
PROMPT 2 9 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
END
STRING S_CDC6 20
BEGIN
PROMPT 2 9 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
@ -289,7 +298,7 @@ END
STRING S_CDC7 20
BEGIN
PROMPT 2 13 "Cdc 2"
PROMPT 2 9 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
@ -297,7 +306,7 @@ END
STRING S_CDC8 20
BEGIN
PROMPT 2 14 "Cdc 2"
PROMPT 2 9 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
@ -305,7 +314,7 @@ END
STRING S_CDC9 20
BEGIN
PROMPT 2 15 "Cdc 2"
PROMPT 2 10 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
@ -313,7 +322,7 @@ END
STRING S_CDC10 20
BEGIN
PROMPT 2 16 "Cdc 2"
PROMPT 2 10 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
@ -321,7 +330,7 @@ END
STRING S_CDC11 20
BEGIN
PROMPT 2 17 "Cdc 2"
PROMPT 2 10 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
@ -329,7 +338,7 @@ END
STRING S_CDC12 20
BEGIN
PROMPT 2 18 "Cdc 2"
PROMPT 2 10 "Cdc 2"
COPY USE S_CDC1
CHECKTYPE NORMAL
FLAGS "H"
@ -337,12 +346,12 @@ END
NUMBER S_QTAORE 6
BEGIN
PROMPT 2 19 "Quantitŕ ore "
PROMPT 2 11 "Quantità ore "
END
NUMBER S_COSTO 10 2
BEGIN
PROMPT 30 19 "Prezzo "
PROMPT 30 11 "Prezzo "
END
ENDPAGE