From d14cf638eb38e3cda90b07ff54691457fa074a50 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 31 Jul 2010 06:58:44 +0000 Subject: [PATCH] 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 --- ci/ci0600.cpp | 149 ++++++++++++++++++++++++++++--------------------- ci/ci0600a.h | 4 +- ci/ci0600a.uml | 45 +++++++++------ 3 files changed, 115 insertions(+), 83 deletions(-) diff --git a/ci/ci0600.cpp b/ci/ci0600.cpp index 4d5e04748..bae3a62d9 100755 --- a/ci/ci0600.cpp +++ b/ci/ci0600.cpp @@ -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; diff --git a/ci/ci0600a.h b/ci/ci0600a.h index 025e3c086..faf60a9f6 100755 --- a/ci/ci0600a.h +++ b/ci/ci0600a.h @@ -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 diff --git a/ci/ci0600a.uml b/ci/ci0600a.uml index f3acb75b3..e066a6119 100755 --- a/ci/ci0600a.uml +++ b/ci/ci0600a.uml @@ -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