Miglioramento disegno tabwlla (2x x evitato redraw + fix primo load)

This commit is contained in:
Samuele Locatelli
2021-10-19 11:56:36 +02:00
parent b2bfbbe712
commit 35d00767c1
16 changed files with 3682 additions and 3294 deletions
+1186 -1178
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -2,7 +2,7 @@
{
public partial class DS_utilsProjEts
{
}
public partial class DS_utilsProjEts
{
}
}
+34 -19
View File
@@ -164,12 +164,27 @@
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="ETS_PROJConnectionString (Settings)" DbObjectName="ETS_PROJ.dbo.v_selCommesseShort" DbObjectType="View" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getCommShort" GetMethodModifier="Public" GetMethodName="getCommShort" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getCommShort" UserSourceName="getCommShort">
<DbSource ConnectionRef="ETS_PROJConnectionString (Settings)" DbObjectName="ETS_PROJ.dbo.stp_VSCom_getByWeek" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByWeek" GetMethodModifier="Public" GetMethodName="getByWeek" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByWeek" UserSourceName="getByWeek">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT value, label, conditio
FROM v_selCommesseShort</CommandText>
<Parameters />
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_VSCom_getByWeek</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Anno" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Sett" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="ETS_PROJConnectionString (Settings)" DbObjectName="ETS_PROJ.dbo.stp_VSCom_getShortByWeek" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getCommShort" GetMethodModifier="Public" GetMethodName="getCommShort" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getCommShort" UserSourceName="getCommShort">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_VSCom_getShortByWeek</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Anno" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Sett" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
@@ -1001,7 +1016,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
<xs:element name="DS_utilsProjEts" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DS_utilsProjEts" msprop:Generator_UserDSName="DS_utilsProjEts">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="v_selClienti" msprop:Generator_TableClassName="v_selClientiDataTable" msprop:Generator_TableVarName="tablev_selClienti" msprop:Generator_TablePropName="v_selClienti" msprop:Generator_RowDeletingName="v_selClientiRowDeleting" msprop:Generator_RowChangingName="v_selClientiRowChanging" msprop:Generator_RowEvHandlerName="v_selClientiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selClientiRowDeleted" msprop:Generator_UserTableName="v_selClienti" msprop:Generator_RowChangedName="v_selClientiRowChanged" msprop:Generator_RowEvArgName="v_selClientiRowChangeEvent" msprop:Generator_RowClassName="v_selClientiRow">
<xs:element name="v_selClienti" msprop:Generator_TableClassName="v_selClientiDataTable" msprop:Generator_TableVarName="tablev_selClienti" msprop:Generator_RowChangedName="v_selClientiRowChanged" msprop:Generator_TablePropName="v_selClienti" msprop:Generator_RowDeletingName="v_selClientiRowDeleting" msprop:Generator_RowChangingName="v_selClientiRowChanging" msprop:Generator_RowEvHandlerName="v_selClientiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selClientiRowDeleted" msprop:Generator_RowClassName="v_selClientiRow" msprop:Generator_UserTableName="v_selClienti" msprop:Generator_RowEvArgName="v_selClientiRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value" type="xs:int" />
@@ -1015,7 +1030,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selProgetti" msprop:Generator_TableClassName="v_selProgettiDataTable" msprop:Generator_TableVarName="tablev_selProgetti" msprop:Generator_TablePropName="v_selProgetti" msprop:Generator_RowDeletingName="v_selProgettiRowDeleting" msprop:Generator_RowChangingName="v_selProgettiRowChanging" msprop:Generator_RowEvHandlerName="v_selProgettiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selProgettiRowDeleted" msprop:Generator_UserTableName="v_selProgetti" msprop:Generator_RowChangedName="v_selProgettiRowChanged" msprop:Generator_RowEvArgName="v_selProgettiRowChangeEvent" msprop:Generator_RowClassName="v_selProgettiRow">
<xs:element name="v_selProgetti" msprop:Generator_TableClassName="v_selProgettiDataTable" msprop:Generator_TableVarName="tablev_selProgetti" msprop:Generator_RowChangedName="v_selProgettiRowChanged" msprop:Generator_TablePropName="v_selProgetti" msprop:Generator_RowDeletingName="v_selProgettiRowDeleting" msprop:Generator_RowChangingName="v_selProgettiRowChanging" msprop:Generator_RowEvHandlerName="v_selProgettiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selProgettiRowDeleted" msprop:Generator_RowClassName="v_selProgettiRow" msprop:Generator_UserTableName="v_selProgetti" msprop:Generator_RowEvArgName="v_selProgettiRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value" type="xs:int" />
@@ -1031,7 +1046,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selCommesse" msprop:Generator_TableClassName="v_selCommesseDataTable" msprop:Generator_TableVarName="tablev_selCommesse" msprop:Generator_RowChangedName="v_selCommesseRowChanged" msprop:Generator_TablePropName="v_selCommesse" msprop:Generator_RowDeletingName="v_selCommesseRowDeleting" msprop:Generator_RowChangingName="v_selCommesseRowChanging" msprop:Generator_RowEvHandlerName="v_selCommesseRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selCommesseRowDeleted" msprop:Generator_RowClassName="v_selCommesseRow" msprop:Generator_UserTableName="v_selCommesse" msprop:Generator_RowEvArgName="v_selCommesseRowChangeEvent">
<xs:element name="v_selCommesse" msprop:Generator_TableClassName="v_selCommesseDataTable" msprop:Generator_TableVarName="tablev_selCommesse" msprop:Generator_TablePropName="v_selCommesse" msprop:Generator_RowDeletingName="v_selCommesseRowDeleting" msprop:Generator_RowChangingName="v_selCommesseRowChanging" msprop:Generator_RowEvHandlerName="v_selCommesseRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selCommesseRowDeleted" msprop:Generator_UserTableName="v_selCommesse" msprop:Generator_RowChangedName="v_selCommesseRowChanged" msprop:Generator_RowEvArgName="v_selCommesseRowChangeEvent" msprop:Generator_RowClassName="v_selCommesseRow">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value" type="xs:int" />
@@ -1046,7 +1061,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selCC" msprop:Generator_TableClassName="v_selCCDataTable" msprop:Generator_TableVarName="tablev_selCC" msprop:Generator_TablePropName="v_selCC" msprop:Generator_RowDeletingName="v_selCCRowDeleting" msprop:Generator_RowChangingName="v_selCCRowChanging" msprop:Generator_RowEvHandlerName="v_selCCRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selCCRowDeleted" msprop:Generator_UserTableName="v_selCC" msprop:Generator_RowChangedName="v_selCCRowChanged" msprop:Generator_RowEvArgName="v_selCCRowChangeEvent" msprop:Generator_RowClassName="v_selCCRow">
<xs:element name="v_selCC" msprop:Generator_TableClassName="v_selCCDataTable" msprop:Generator_TableVarName="tablev_selCC" msprop:Generator_RowChangedName="v_selCCRowChanged" msprop:Generator_TablePropName="v_selCC" msprop:Generator_RowDeletingName="v_selCCRowDeleting" msprop:Generator_RowChangingName="v_selCCRowChanging" msprop:Generator_RowEvHandlerName="v_selCCRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selCCRowDeleted" msprop:Generator_RowClassName="v_selCCRow" msprop:Generator_UserTableName="v_selCC" msprop:Generator_RowEvArgName="v_selCCRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="label" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnlabel" msprop:Generator_ColumnPropNameInRow="label" msprop:Generator_ColumnPropNameInTable="labelColumn" msprop:Generator_UserColumnName="label" minOccurs="0">
@@ -1066,7 +1081,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selCC_all" msprop:Generator_TableClassName="v_selCC_allDataTable" msprop:Generator_TableVarName="tablev_selCC_all" msprop:Generator_TablePropName="v_selCC_all" msprop:Generator_RowDeletingName="v_selCC_allRowDeleting" msprop:Generator_RowChangingName="v_selCC_allRowChanging" msprop:Generator_RowEvHandlerName="v_selCC_allRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selCC_allRowDeleted" msprop:Generator_UserTableName="v_selCC_all" msprop:Generator_RowChangedName="v_selCC_allRowChanged" msprop:Generator_RowEvArgName="v_selCC_allRowChangeEvent" msprop:Generator_RowClassName="v_selCC_allRow">
<xs:element name="v_selCC_all" msprop:Generator_TableClassName="v_selCC_allDataTable" msprop:Generator_TableVarName="tablev_selCC_all" msprop:Generator_RowChangedName="v_selCC_allRowChanged" msprop:Generator_TablePropName="v_selCC_all" msprop:Generator_RowDeletingName="v_selCC_allRowDeleting" msprop:Generator_RowChangingName="v_selCC_allRowChanging" msprop:Generator_RowEvHandlerName="v_selCC_allRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selCC_allRowDeleted" msprop:Generator_RowClassName="v_selCC_allRow" msprop:Generator_UserTableName="v_selCC_all" msprop:Generator_RowEvArgName="v_selCC_allRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value" minOccurs="0">
@@ -1086,21 +1101,21 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selWeek" msprop:Generator_TableClassName="v_selWeekDataTable" msprop:Generator_TableVarName="tablev_selWeek" msprop:Generator_RowChangedName="v_selWeekRowChanged" msprop:Generator_TablePropName="v_selWeek" msprop:Generator_RowDeletingName="v_selWeekRowDeleting" msprop:Generator_RowChangingName="v_selWeekRowChanging" msprop:Generator_RowEvHandlerName="v_selWeekRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selWeekRowDeleted" msprop:Generator_RowClassName="v_selWeekRow" msprop:Generator_UserTableName="v_selWeek" msprop:Generator_RowEvArgName="v_selWeekRowChangeEvent">
<xs:element name="v_selWeek" msprop:Generator_TableClassName="v_selWeekDataTable" msprop:Generator_TableVarName="tablev_selWeek" msprop:Generator_TablePropName="v_selWeek" msprop:Generator_RowDeletingName="v_selWeekRowDeleting" msprop:Generator_RowChangingName="v_selWeekRowChanging" msprop:Generator_RowEvHandlerName="v_selWeekRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selWeekRowDeleted" msprop:Generator_UserTableName="v_selWeek" msprop:Generator_RowChangedName="v_selWeekRowChanged" msprop:Generator_RowEvArgName="v_selWeekRowChangeEvent" msprop:Generator_RowClassName="v_selWeekRow">
<xs:complexType>
<xs:sequence>
<xs:element name="n" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnn" msprop:Generator_ColumnPropNameInRow="n" msprop:Generator_ColumnPropNameInTable="nColumn" msprop:Generator_UserColumnName="n" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selYear" msprop:Generator_TableClassName="v_selYearDataTable" msprop:Generator_TableVarName="tablev_selYear" msprop:Generator_RowChangedName="v_selYearRowChanged" msprop:Generator_TablePropName="v_selYear" msprop:Generator_RowDeletingName="v_selYearRowDeleting" msprop:Generator_RowChangingName="v_selYearRowChanging" msprop:Generator_RowEvHandlerName="v_selYearRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selYearRowDeleted" msprop:Generator_RowClassName="v_selYearRow" msprop:Generator_UserTableName="v_selYear" msprop:Generator_RowEvArgName="v_selYearRowChangeEvent">
<xs:element name="v_selYear" msprop:Generator_TableClassName="v_selYearDataTable" msprop:Generator_TableVarName="tablev_selYear" msprop:Generator_TablePropName="v_selYear" msprop:Generator_RowDeletingName="v_selYearRowDeleting" msprop:Generator_RowChangingName="v_selYearRowChanging" msprop:Generator_RowEvHandlerName="v_selYearRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selYearRowDeleted" msprop:Generator_UserTableName="v_selYear" msprop:Generator_RowChangedName="v_selYearRowChanged" msprop:Generator_RowEvArgName="v_selYearRowChangeEvent" msprop:Generator_RowClassName="v_selYearRow">
<xs:complexType>
<xs:sequence>
<xs:element name="n" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnn" msprop:Generator_ColumnPropNameInRow="n" msprop:Generator_ColumnPropNameInTable="nColumn" msprop:Generator_UserColumnName="n" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selFornitoriCla" msprop:Generator_TableClassName="v_selFornitoriClaDataTable" msprop:Generator_TableVarName="tablev_selFornitoriCla" msprop:Generator_TablePropName="v_selFornitoriCla" msprop:Generator_RowDeletingName="v_selFornitoriClaRowDeleting" msprop:Generator_RowChangingName="v_selFornitoriClaRowChanging" msprop:Generator_RowEvHandlerName="v_selFornitoriClaRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selFornitoriClaRowDeleted" msprop:Generator_UserTableName="v_selFornitoriCla" msprop:Generator_RowChangedName="v_selFornitoriClaRowChanged" msprop:Generator_RowEvArgName="v_selFornitoriClaRowChangeEvent" msprop:Generator_RowClassName="v_selFornitoriClaRow">
<xs:element name="v_selFornitoriCla" msprop:Generator_TableClassName="v_selFornitoriClaDataTable" msprop:Generator_TableVarName="tablev_selFornitoriCla" msprop:Generator_RowChangedName="v_selFornitoriClaRowChanged" msprop:Generator_TablePropName="v_selFornitoriCla" msprop:Generator_RowDeletingName="v_selFornitoriClaRowDeleting" msprop:Generator_RowChangingName="v_selFornitoriClaRowChanging" msprop:Generator_RowEvHandlerName="v_selFornitoriClaRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selFornitoriClaRowDeleted" msprop:Generator_RowClassName="v_selFornitoriClaRow" msprop:Generator_UserTableName="v_selFornitoriCla" msprop:Generator_RowEvArgName="v_selFornitoriClaRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value">
@@ -1127,7 +1142,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_FattureETS" msprop:Generator_TableClassName="v_FattureETSDataTable" msprop:Generator_TableVarName="tablev_FattureETS" msprop:Generator_RowChangedName="v_FattureETSRowChanged" msprop:Generator_TablePropName="v_FattureETS" msprop:Generator_RowDeletingName="v_FattureETSRowDeleting" msprop:Generator_RowChangingName="v_FattureETSRowChanging" msprop:Generator_RowEvHandlerName="v_FattureETSRowChangeEventHandler" msprop:Generator_RowDeletedName="v_FattureETSRowDeleted" msprop:Generator_RowClassName="v_FattureETSRow" msprop:Generator_UserTableName="v_FattureETS" msprop:Generator_RowEvArgName="v_FattureETSRowChangeEvent">
<xs:element name="v_FattureETS" msprop:Generator_TableClassName="v_FattureETSDataTable" msprop:Generator_TableVarName="tablev_FattureETS" msprop:Generator_TablePropName="v_FattureETS" msprop:Generator_RowDeletingName="v_FattureETSRowDeleting" msprop:Generator_RowChangingName="v_FattureETSRowChanging" msprop:Generator_RowEvHandlerName="v_FattureETSRowChangeEventHandler" msprop:Generator_RowDeletedName="v_FattureETSRowDeleted" msprop:Generator_UserTableName="v_FattureETS" msprop:Generator_RowChangedName="v_FattureETSRowChanged" msprop:Generator_RowEvArgName="v_FattureETSRowChangeEvent" msprop:Generator_RowClassName="v_FattureETSRow">
<xs:complexType>
<xs:sequence>
<xs:element name="NumeroCommessa" msprop:Generator_ColumnVarNameInTable="columnNumeroCommessa" msprop:Generator_ColumnPropNameInRow="NumeroCommessa" msprop:Generator_ColumnPropNameInTable="NumeroCommessaColumn" msprop:Generator_UserColumnName="NumeroCommessa" type="xs:int" minOccurs="0" />
@@ -1172,7 +1187,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Storico_DatiCommessa" msprop:Generator_TableClassName="Storico_DatiCommessaDataTable" msprop:Generator_TableVarName="tableStorico_DatiCommessa" msprop:Generator_TablePropName="Storico_DatiCommessa" msprop:Generator_RowDeletingName="Storico_DatiCommessaRowDeleting" msprop:Generator_RowChangingName="Storico_DatiCommessaRowChanging" msprop:Generator_RowEvHandlerName="Storico_DatiCommessaRowChangeEventHandler" msprop:Generator_RowDeletedName="Storico_DatiCommessaRowDeleted" msprop:Generator_UserTableName="Storico_DatiCommessa" msprop:Generator_RowChangedName="Storico_DatiCommessaRowChanged" msprop:Generator_RowEvArgName="Storico_DatiCommessaRowChangeEvent" msprop:Generator_RowClassName="Storico_DatiCommessaRow">
<xs:element name="Storico_DatiCommessa" msprop:Generator_TableClassName="Storico_DatiCommessaDataTable" msprop:Generator_TableVarName="tableStorico_DatiCommessa" msprop:Generator_RowChangedName="Storico_DatiCommessaRowChanged" msprop:Generator_TablePropName="Storico_DatiCommessa" msprop:Generator_RowDeletingName="Storico_DatiCommessaRowDeleting" msprop:Generator_RowChangingName="Storico_DatiCommessaRowChanging" msprop:Generator_RowEvHandlerName="Storico_DatiCommessaRowChangeEventHandler" msprop:Generator_RowDeletedName="Storico_DatiCommessaRowDeleted" msprop:Generator_RowClassName="Storico_DatiCommessaRow" msprop:Generator_UserTableName="Storico_DatiCommessa" msprop:Generator_RowEvArgName="Storico_DatiCommessaRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="idxEv" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidxEv" msprop:Generator_ColumnPropNameInRow="idxEv" msprop:Generator_ColumnPropNameInTable="idxEvColumn" msprop:Generator_UserColumnName="idxEv" type="xs:int" />
@@ -1282,7 +1297,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Storico_DatiCommForn" msprop:Generator_TableClassName="Storico_DatiCommFornDataTable" msprop:Generator_TableVarName="tableStorico_DatiCommForn" msprop:Generator_TablePropName="Storico_DatiCommForn" msprop:Generator_RowDeletingName="Storico_DatiCommFornRowDeleting" msprop:Generator_RowChangingName="Storico_DatiCommFornRowChanging" msprop:Generator_RowEvHandlerName="Storico_DatiCommFornRowChangeEventHandler" msprop:Generator_RowDeletedName="Storico_DatiCommFornRowDeleted" msprop:Generator_UserTableName="Storico_DatiCommForn" msprop:Generator_RowChangedName="Storico_DatiCommFornRowChanged" msprop:Generator_RowEvArgName="Storico_DatiCommFornRowChangeEvent" msprop:Generator_RowClassName="Storico_DatiCommFornRow">
<xs:element name="Storico_DatiCommForn" msprop:Generator_TableClassName="Storico_DatiCommFornDataTable" msprop:Generator_TableVarName="tableStorico_DatiCommForn" msprop:Generator_RowChangedName="Storico_DatiCommFornRowChanged" msprop:Generator_TablePropName="Storico_DatiCommForn" msprop:Generator_RowDeletingName="Storico_DatiCommFornRowDeleting" msprop:Generator_RowChangingName="Storico_DatiCommFornRowChanging" msprop:Generator_RowEvHandlerName="Storico_DatiCommFornRowChangeEventHandler" msprop:Generator_RowDeletedName="Storico_DatiCommFornRowDeleted" msprop:Generator_RowClassName="Storico_DatiCommFornRow" msprop:Generator_UserTableName="Storico_DatiCommForn" msprop:Generator_RowEvArgName="Storico_DatiCommFornRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="idxEv" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidxEv" msprop:Generator_ColumnPropNameInRow="idxEv" msprop:Generator_ColumnPropNameInTable="idxEvColumn" msprop:Generator_UserColumnName="idxEv" type="xs:int" />
@@ -1335,7 +1350,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Storico_DatiCommInteg" msprop:Generator_TableClassName="Storico_DatiCommIntegDataTable" msprop:Generator_TableVarName="tableStorico_DatiCommInteg" msprop:Generator_TablePropName="Storico_DatiCommInteg" msprop:Generator_RowDeletingName="Storico_DatiCommIntegRowDeleting" msprop:Generator_RowChangingName="Storico_DatiCommIntegRowChanging" msprop:Generator_RowEvHandlerName="Storico_DatiCommIntegRowChangeEventHandler" msprop:Generator_RowDeletedName="Storico_DatiCommIntegRowDeleted" msprop:Generator_UserTableName="Storico_DatiCommInteg" msprop:Generator_RowChangedName="Storico_DatiCommIntegRowChanged" msprop:Generator_RowEvArgName="Storico_DatiCommIntegRowChangeEvent" msprop:Generator_RowClassName="Storico_DatiCommIntegRow">
<xs:element name="Storico_DatiCommInteg" msprop:Generator_TableClassName="Storico_DatiCommIntegDataTable" msprop:Generator_TableVarName="tableStorico_DatiCommInteg" msprop:Generator_RowChangedName="Storico_DatiCommIntegRowChanged" msprop:Generator_TablePropName="Storico_DatiCommInteg" msprop:Generator_RowDeletingName="Storico_DatiCommIntegRowDeleting" msprop:Generator_RowChangingName="Storico_DatiCommIntegRowChanging" msprop:Generator_RowEvHandlerName="Storico_DatiCommIntegRowChangeEventHandler" msprop:Generator_RowDeletedName="Storico_DatiCommIntegRowDeleted" msprop:Generator_RowClassName="Storico_DatiCommIntegRow" msprop:Generator_UserTableName="Storico_DatiCommInteg" msprop:Generator_RowEvArgName="Storico_DatiCommIntegRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="idxEv" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidxEv" msprop:Generator_ColumnPropNameInRow="idxEv" msprop:Generator_ColumnPropNameInTable="idxEvColumn" msprop:Generator_UserColumnName="idxEv" type="xs:int" />
@@ -1389,7 +1404,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Storico_DatiFase" msprop:Generator_TableClassName="Storico_DatiFaseDataTable" msprop:Generator_TableVarName="tableStorico_DatiFase" msprop:Generator_TablePropName="Storico_DatiFase" msprop:Generator_RowDeletingName="Storico_DatiFaseRowDeleting" msprop:Generator_RowChangingName="Storico_DatiFaseRowChanging" msprop:Generator_RowEvHandlerName="Storico_DatiFaseRowChangeEventHandler" msprop:Generator_RowDeletedName="Storico_DatiFaseRowDeleted" msprop:Generator_UserTableName="Storico_DatiFase" msprop:Generator_RowChangedName="Storico_DatiFaseRowChanged" msprop:Generator_RowEvArgName="Storico_DatiFaseRowChangeEvent" msprop:Generator_RowClassName="Storico_DatiFaseRow">
<xs:element name="Storico_DatiFase" msprop:Generator_TableClassName="Storico_DatiFaseDataTable" msprop:Generator_TableVarName="tableStorico_DatiFase" msprop:Generator_RowChangedName="Storico_DatiFaseRowChanged" msprop:Generator_TablePropName="Storico_DatiFase" msprop:Generator_RowDeletingName="Storico_DatiFaseRowDeleting" msprop:Generator_RowChangingName="Storico_DatiFaseRowChanging" msprop:Generator_RowEvHandlerName="Storico_DatiFaseRowChangeEventHandler" msprop:Generator_RowDeletedName="Storico_DatiFaseRowDeleted" msprop:Generator_RowClassName="Storico_DatiFaseRow" msprop:Generator_UserTableName="Storico_DatiFase" msprop:Generator_RowEvArgName="Storico_DatiFaseRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="idxEv" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidxEv" msprop:Generator_ColumnPropNameInRow="idxEv" msprop:Generator_ColumnPropNameInTable="idxEvColumn" msprop:Generator_UserColumnName="idxEv" type="xs:int" />
@@ -1414,7 +1429,7 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Storico_BdgtRisorseFasi" msprop:Generator_TableClassName="Storico_BdgtRisorseFasiDataTable" msprop:Generator_TableVarName="tableStorico_BdgtRisorseFasi" msprop:Generator_TablePropName="Storico_BdgtRisorseFasi" msprop:Generator_RowDeletingName="Storico_BdgtRisorseFasiRowDeleting" msprop:Generator_RowChangingName="Storico_BdgtRisorseFasiRowChanging" msprop:Generator_RowEvHandlerName="Storico_BdgtRisorseFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="Storico_BdgtRisorseFasiRowDeleted" msprop:Generator_UserTableName="Storico_BdgtRisorseFasi" msprop:Generator_RowChangedName="Storico_BdgtRisorseFasiRowChanged" msprop:Generator_RowEvArgName="Storico_BdgtRisorseFasiRowChangeEvent" msprop:Generator_RowClassName="Storico_BdgtRisorseFasiRow">
<xs:element name="Storico_BdgtRisorseFasi" msprop:Generator_TableClassName="Storico_BdgtRisorseFasiDataTable" msprop:Generator_TableVarName="tableStorico_BdgtRisorseFasi" msprop:Generator_RowChangedName="Storico_BdgtRisorseFasiRowChanged" msprop:Generator_TablePropName="Storico_BdgtRisorseFasi" msprop:Generator_RowDeletingName="Storico_BdgtRisorseFasiRowDeleting" msprop:Generator_RowChangingName="Storico_BdgtRisorseFasiRowChanging" msprop:Generator_RowEvHandlerName="Storico_BdgtRisorseFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="Storico_BdgtRisorseFasiRowDeleted" msprop:Generator_RowClassName="Storico_BdgtRisorseFasiRow" msprop:Generator_UserTableName="Storico_BdgtRisorseFasi" msprop:Generator_RowEvArgName="Storico_BdgtRisorseFasiRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="idxEv" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidxEv" msprop:Generator_ColumnPropNameInRow="idxEv" msprop:Generator_ColumnPropNameInTable="idxEvColumn" msprop:Generator_UserColumnName="idxEv" type="xs:int" />
+12 -12
View File
@@ -4,22 +4,22 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="11" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:v_selClienti" ZOrder="14" X="70" Y="70" Height="153" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:v_selProgetti" ZOrder="13" X="345" Y="57" Height="210" Width="254" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:v_selCommesse" ZOrder="11" X="742" Y="229" Height="210" Width="227" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:v_selCommesse" ZOrder="1" X="695" Y="199" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:v_selCC" ZOrder="12" X="1024" Y="362" Height="115" Width="187" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:v_selCC_all" ZOrder="10" X="1042" Y="503" Height="115" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:v_selWeek" ZOrder="9" X="994" Y="238" Height="96" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="46" />
<Shape ID="DesignTable:v_selYear" ZOrder="6" X="950" Y="47" Height="96" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="46" />
<Shape ID="DesignTable:v_selFornitoriCla" ZOrder="8" X="734" Y="29" Height="153" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:v_FattureETS" ZOrder="7" X="746" Y="450" Height="267" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Storico_DatiCommessa" ZOrder="5" X="63" Y="309" Height="324" Width="277" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Storico_DatiCommForn" ZOrder="4" X="409" Y="338" Height="305" Width="279" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:Storico_DatiCommInteg" ZOrder="3" X="62" Y="642" Height="324" Width="283" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Storico_DatiFase" ZOrder="2" X="423" Y="667" Height="229" Width="240" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:Storico_BdgtRisorseFasi" ZOrder="1" X="766" Y="753" Height="248" Width="282" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:v_selCC_all" ZOrder="11" X="1042" Y="503" Height="115" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:v_selWeek" ZOrder="10" X="994" Y="238" Height="96" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="46" />
<Shape ID="DesignTable:v_selYear" ZOrder="7" X="950" Y="47" Height="96" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="46" />
<Shape ID="DesignTable:v_selFornitoriCla" ZOrder="9" X="734" Y="29" Height="153" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:v_FattureETS" ZOrder="8" X="746" Y="478" Height="267" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Storico_DatiCommessa" ZOrder="6" X="63" Y="309" Height="324" Width="277" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Storico_DatiCommForn" ZOrder="5" X="409" Y="338" Height="305" Width="279" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:Storico_DatiCommInteg" ZOrder="4" X="62" Y="642" Height="324" Width="283" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Storico_DatiFase" ZOrder="3" X="423" Y="667" Height="229" Width="240" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:Storico_BdgtRisorseFasi" ZOrder="2" X="766" Y="753" Height="248" Width="282" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
</Shapes>
<Connectors />
</DiagramLayout>
+65
View File
@@ -381,3 +381,68 @@ WHERE idxDipendente = @Original_idxDipendente
RETURN
GO
/*************************************
* STORED PROCEDURE stp_VSCom_getByWeek
*
* elenco commesse impegnate nel periodo
*
* mod : 2021.10.19
* aut : S.E. Locatelli
**************************************/
CREATE PROCEDURE [dbo].[stp_VSCom_getByWeek]
(
@Anno INT = 0,
@Sett INT = 0
)
AS
SET NOCOUNT ON;
;WITH cteFasi AS
(
SELECT DISTINCT idxFase
FROM BazaarRisorse
WHERE Anno = @Anno
AND Sett = @Sett
)
SELECT vsc.*
FROM v_selCommesse vsc
INNER JOIN cteFasi cte ON vsc.value = cte.idxFase
GO
/*************************************
* STORED PROCEDURE stp_VSCom_getShortByWeek
*
* elenco commesse impegnate nel periodo
*
* mod : 2021.10.19
* aut : S.E. Locatelli
**************************************/
CREATE PROCEDURE [dbo].[stp_VSCom_getShortByWeek]
(
@Anno INT = 0,
@Sett INT = 0
)
AS
SET NOCOUNT ON;
;WITH cteFasi AS
(
SELECT DISTINCT idxFase
FROM BazaarRisorse
WHERE Anno = @Anno
AND Sett = @Sett
)
SELECT vsc.*
FROM v_selCommesseShort vsc
INNER JOIN cteFasi cte ON vsc.value = cte.idxFase
GO
+1929 -1762
View File
File diff suppressed because it is too large Load Diff
+17 -12
View File
@@ -6,36 +6,41 @@
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<!-- optional, add some variables
<!-- optional, add some variables
https://github.com/nlog/NLog/wiki/Configuration-file#variables
-->
<variable name="myvar" value="myvalue"/>
<variable name="myvar" value="myvalue" />
<!--
<!--
See https://github.com/nlog/nlog/wiki/Configuration-file
for information on customizing logging rules and outputs.
-->
<targets>
<targets>
<!--
<!--
add your targets here
See https://github.com/nlog/NLog/wiki/Targets for possible targets.
See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
-->
<!--
<!--
Write events to a file with the date in the filename.
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
-->
</targets>
<target xsi:type="File" name="fileTarget" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} | ${uppercase:${level}} | ${logger:shortName=false} | ${message}" />
<target xsi:type="ColoredConsole" name="consoleTarget" layout="${longdate} | ${uppercase:${level}} | ${logger:shortName=true}| ${message}" />
</targets>
<rules>
<!-- add your logging rules here -->
<rules>
<!-- add your logging rules here -->
<!--
<!--
Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f"
<logger name="*" minlevel="Debug" writeTo="f" />
-->
</rules>
</nlog>
<logger name="*" minlevel="Trace" writeTo="consoleTarget" />
<!--<logger name="Microsoft.*" maxlevel="Info" final="true" />-->
<logger name="*" minlevel="Trace" writeTo="fileTarget" />
</rules>
</nlog>
+3 -1
View File
@@ -636,7 +636,9 @@
<Content Include="WebUserControls\mod_testata.ascx" />
<Content Include="Content\Style.less" />
<Content Include="Images\progetto_white.png" />
<Content Include="logs\PlaceHolder.file" />
<Content Include="logs\.placeHolder.file">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Bazaar.sitemap">
<SubType>Designer</SubType>
</Content>
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Web;
using System.Web.UI;
@@ -35,6 +36,11 @@ namespace PROJ_ETS.WebUserControls
protected string[] schemaOreDip;
/// <summary>
/// Elemento stopwatch x effettuare calcolo durata elaborazione
/// </summary>
protected Stopwatch stopWatch = new Stopwatch();
protected Ds_ProjEts.BazaarRisorseDataTable tabBaz = new Ds_ProjEts.BazaarRisorseDataTable();
protected Ds_ProjEts.BazaarRisorseDataTable tabBazSingle = new Ds_ProjEts.BazaarRisorseDataTable();
@@ -49,6 +55,11 @@ namespace PROJ_ETS.WebUserControls
protected ETS_Data.Type.BazaarRes[,] TabellaRisorse;
/// <summary>
/// String x veto udpate tabella (ridisegno)
/// </summary>
protected string vetoUpdate = utils.obj.redHash("VETO:UpdateWeekPlan");
#endregion Protected Fields
#region Public Events
@@ -243,9 +254,11 @@ namespace PROJ_ETS.WebUserControls
{
// carico TUTTE le celle del bazaar...
tabBaz = DataProxy_ProjEts.DP.taBaz.getByAnnoSett(anno, settimana);
tabComm = DataProxy_ProjEts.DP.taSelCom.GetData(); // leggo tutte commesse...
tabCommShort = DataProxy_ProjEts.DP.taSelCom.getCommShort(); // leggo tutte commesse formato short (nickname...)
// calcolo il primo dip
tabComm = DataProxy_ProjEts.DP.taSelCom.getByWeek(anno, settimana); // leggo tutte commesse...
tabCommShort = DataProxy_ProjEts.DP.taSelCom.getCommShort(anno, settimana); // leggo tutte commesse formato short (nickname...)
// calcolo il primo dip
idxDip = tabBaz[0].idxDipendente;
// calcolo num celle totali
totCelle = tabBaz.Rows.Count;
@@ -253,13 +266,18 @@ namespace PROJ_ETS.WebUserControls
// calcolo numero commesse!
numComm = tabBazSingle.Rows.Count;
numDip = tabD2ATR.Rows.Count;
//numDip = totCelle / numComm;
}
catch
{
numDip = 0;
numComm = 0;
}
//stopWatch.Restart();
//stopWatch.Stop();
//ts = stopWatch.Elapsed;
//lg.Info($"caricaDatiBlocco 02 | {ts.TotalMilliseconds} ms");
if (numDip > 0 && numComm > 0)
{
// inizializzo i miei array...
@@ -457,6 +475,8 @@ namespace PROJ_ETS.WebUserControls
rigaDip = (Ds_ProjEts.DipendentiRow)tabDip.Select(string.Format("idxDipendente={0}", IdxDipSel))[0];
rigaComm = (DS_utilsProjEts.v_selCommesseRow)tabComm.Select(string.Format("value = {0}", IdxFaseSel))[0];
lblOut.Text = string.Format("Edit corrente: {0} {1} / {2} - valore originale {3}", rigaDip.Nome, rigaDip.Cognome, rigaComm.label.Substring(0, 9), rigaBaz.SchemaWeek);
utils.obj.setRSV(vetoUpdate, "", 1);
doUpdate();
}
@@ -510,6 +530,7 @@ namespace PROJ_ETS.WebUserControls
/// <param name="e"></param>
private void mod_navigaWeek1_eh_newWeekSelected(object sender, EventArgs e)
{
utils.obj.setRSV(vetoUpdate, "", 1);
doUpdate();
}
@@ -761,6 +782,7 @@ namespace PROJ_ETS.WebUserControls
{
eh_newVal(this, new EventArgs());
}
utils.obj.setRSV(vetoUpdate, "", 1);
doUpdate();
}
}
@@ -914,10 +936,17 @@ namespace PROJ_ETS.WebUserControls
{
showPnlAddNewComm(false);
lblOut.Text = "";
utils.obj.setRSV(vetoUpdate, "", 1);
}
stopWatch.Start();
// carico tabelle: elenco dipendenti (raggruppato x tipo) ed elenco dip in bazaar...
tabDip = DataProxy_ProjEts.DP.taDip.GetData();
tabD2ATR = DataProxy_ProjEts.DP.taD2ATR.getBazOrd();
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
lg.Info($"Effettuata lettura da DB per tabDip e tabD2ATR: {ts.TotalMilliseconds} ms");
// faccio update!
doUpdate();
mod_navigaWeek1.eh_newWeekSelected += mod_navigaWeek1_eh_newWeekSelected;
@@ -936,7 +965,7 @@ namespace PROJ_ETS.WebUserControls
}
catch (Exception exc)
{
lg.ErrorException("Eccezione in recupero nuovo valore impegno orario: {0}", exc);
lg.Error(exc, $"Eccezione in recupero nuovo valore impegno orario:{Environment.NewLine}{exc}");
}
}
@@ -959,9 +988,35 @@ namespace PROJ_ETS.WebUserControls
/// </summary>
public void doUpdate()
{
setBtnStatus();
caricaDatiBlocco();
disegnaTabella();
string rawData = utils.obj.getRSV(vetoUpdate);
if (string.IsNullOrEmpty(rawData))
{
TimeSpan ts;
stopWatch.Restart();
setBtnStatus();
stopWatch.Stop();
ts = stopWatch.Elapsed;
lg.Info($"doUpdate: 01-setBtnStatus in {ts.TotalMilliseconds} ms");
stopWatch.Restart();
caricaDatiBlocco();
stopWatch.Stop();
ts = stopWatch.Elapsed;
lg.Info($"doUpdate: 02-caricaDatiBlocco in {ts.TotalMilliseconds} ms");
stopWatch.Restart();
disegnaTabella();
stopWatch.Stop();
ts = stopWatch.Elapsed;
lg.Info($"doUpdate: 03-disegnaTabella in {ts.TotalMilliseconds} ms");
// salvo veto ridisegno x 3 sec...
utils.obj.setRSV(vetoUpdate, $"LAST disegnaTabella in {ts.TotalMilliseconds} ms", 35);
}
}
/// <summary>
@@ -11,55 +11,30 @@ namespace PROJ_ETS.WebUserControls
{
public partial class mod_weekRA : System.Web.UI.UserControl
{
#region Protected Fields
protected Logger lg = LogManager.GetCurrentClassLogger();
protected int numDip = 0;
protected int numComm = 0;
protected ETS_Data.Type.ImpiegoRes[,] TabellaRisorse;
protected int[] oreTotDip;
protected int[] oreTotComm;
protected int numDip = 0;
protected int oreTot;
protected Ds_ProjEts.DipendentiDataTable tabDip = new Ds_ProjEts.DipendentiDataTable();
protected Ds_ProjEts.Dip2ATRDataTable tabD2ATR = new Ds_ProjEts.Dip2ATRDataTable();
protected Ds_ProjEts.ImpiegoRisorseDataTable tabIR = new Ds_ProjEts.ImpiegoRisorseDataTable();
protected Ds_ProjEts.ImpiegoRisorseDataTable tabIRPareto = new Ds_ProjEts.ImpiegoRisorseDataTable();
protected DS_utilsProjEts.v_selCommesseDataTable tabComm = new DS_utilsProjEts.v_selCommesseDataTable();
protected DS_utilsProjEts.v_selCommesseDataTable tabCommShort = new DS_utilsProjEts.v_selCommesseDataTable();
protected Ds_ProjEts.ImpiegoRisorseRow rigaIR;
protected Ds_ProjEts.DipendentiRow rigaDip;
protected int[] oreTotComm;
protected int[] oreTotDip;
protected DS_utilsProjEts.v_selCommesseRow rigaComm;
protected DS_utilsProjEts.v_selCommesseRow rigaCommShort;
protected Ds_ProjEts.DipendentiRow rigaDip;
protected Ds_ProjEts.ImpiegoRisorseRow rigaIR;
protected DS_utilsProjEts.v_selCommesseDataTable tabComm = new DS_utilsProjEts.v_selCommesseDataTable();
protected DS_utilsProjEts.v_selCommesseDataTable tabCommShort = new DS_utilsProjEts.v_selCommesseDataTable();
protected Ds_ProjEts.Dip2ATRDataTable tabD2ATR = new Ds_ProjEts.Dip2ATRDataTable();
protected Ds_ProjEts.DipendentiDataTable tabDip = new Ds_ProjEts.DipendentiDataTable();
protected ETS_Data.Type.ImpiegoRes[,] TabellaRisorse;
protected Ds_ProjEts.ImpiegoRisorseDataTable tabIR = new Ds_ProjEts.ImpiegoRisorseDataTable();
protected Ds_ProjEts.ImpiegoRisorseDataTable tabIRPareto = new Ds_ProjEts.ImpiegoRisorseDataTable();
#endregion Protected Fields
#region Protected Properties
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
// carico tabelle: elenco dipendenti (raggruppato x tipo) ed elenco dip in Impiego...
tabDip = DataProxy_ProjEts.DP.taDip.GetData();
tabD2ATR = DataProxy_ProjEts.DP.taD2ATR.getBazOrd();
// faccio update!
doUpdate();
mod_navigaWeek1.eh_newWeekSelected += mod_navigaWeek1_eh_newWeekSelected;
}
/// <summary>
/// selezioanta nuova sett --> faccio udpate!!!
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void mod_navigaWeek1_eh_newWeekSelected(object sender, EventArgs e)
{
doUpdate();
}
/// <summary>
/// esegue update controllo
/// </summary>
public void doUpdate()
{
caricaDatiBlocco();
disegnaTabella();
}
/// <summary>
/// anno selezionato (wrapper)
/// </summary>
@@ -70,6 +45,7 @@ namespace PROJ_ETS.WebUserControls
return mod_navigaWeek1.anno;
}
}
/// <summary>
/// settimana selezionato (wrapper)
/// </summary>
@@ -81,6 +57,19 @@ namespace PROJ_ETS.WebUserControls
}
}
#endregion Protected Properties
#region Public Properties
/// <summary>
/// pagina corrente (URL finale)
/// </summary>
public string _paginaCorrente { get; set; }
#endregion Public Properties
#region Private Methods
/// <summary>
/// carica i dati del blocco in un oggetto BlockMap (compreso attive/inattive)
/// </summary>
@@ -97,8 +86,8 @@ namespace PROJ_ETS.WebUserControls
{
// carico TUTTE le celle del Impiego...
tabIR = DataProxy_ProjEts.DP.taIR.getFullWeek(anno, settimana);
tabComm = DataProxy_ProjEts.DP.taSelCom.GetData(); // leggo tutte commesse...
tabCommShort = DataProxy_ProjEts.DP.taSelCom.getCommShort(); // leggo tutte commesse formato short (nickname...)
tabComm = DataProxy_ProjEts.DP.taSelCom.GetData(); // leggo tutte commesse...
tabCommShort = DataProxy_ProjEts.DP.taSelCom.getCommShort(anno, settimana); // leggo tutte commesse formato short (nickname...)
// calcolo il primo dip
idxDip = tabIR[0].idxDipendente;
// calcolo num celle totali
@@ -200,70 +189,53 @@ namespace PROJ_ETS.WebUserControls
}
}
}
/// <summary>
/// disegna la riga di intestazione/chiusura x dipendenti
/// esegue il vero plotting della tabella
/// </summary>
/// <param name="showOre">true = mostra totale ore / false = mostra sigla dip + nome/cognome tooltip</param>
private void setupRigaDip(bool showOre)
private void disegnaTabella()
{
TableRow riga = new TableRow();
TableCell cell;
// cella vuota iniziale
cell = new TableCell();
riga.Cells.Add(cell);
// variabili accessorie x dip
Ds_ProjEts.DipendentiRow rigaDip;
// se ho dati
if (numDip > 0 && numComm > 0)
//lg.Info("Disegna tab: year {0}, week {1} - step 1", anno, settimana);
bool tabPresente = tblBlocco.Rows.Count > 0;
if (tabPresente)
{
// preparo celle!
tblBlocco.Rows.Clear();
}
// metto prima riga con indicazione valori NUMERICI delle colonne
setupRigaDip(false);
// ciclo nel mio array e creo di conseguenza le celle di tabella
for (int pos_y = numComm - 1; pos_y >= 0; pos_y--)
{
TableRow riga = new TableRow();
TableCell cell;
// cella con numero livello
cell = setupCellaComm(pos_y, riga, false);
for (int pos_x = 0; pos_x < numDip; pos_x++)
{
cell = new TableCell();
cell.CssClass = "cBia cCent";
if (showOre && numDip > 0 && numComm > 0)
{
cell.Text = string.Format("{0:0#} h", oreTotDip[pos_x]);
cell.ToolTip = "";
// SE sono 40h coloro di verde!!!
if (oreTotDip[pos_x] == 40)
{
cell.CssClass = "cBia cCent lblGreen";
}
// SE sono oltre 40h coloro di rosso!!!
else if (oreTotDip[pos_x] > 40)
{
cell.CssClass = "cBia cCent lblErrore";
}
}
else
{
rigaDip = (Ds_ProjEts.DipendentiRow)tabDip.Select(string.Format("idxDipendente={0}", tabD2ATR[pos_x].idxDipendente))[0];
cell.Text = rigaDip.codHw;
//cell.Text = rigaDip.SIGLA;
//cell.Text = rigaDip.Nome.Substring(0, 1) + rigaDip.Cognome.Substring(0, 1) + rigaDip.Cognome.Substring(1, 2).ToLower();
cell.ToolTip = string.Format("{0} {1}", rigaDip.Nome, rigaDip.Cognome);
}
cell.CssClass = TabellaRisorse[pos_x, pos_y].Css;
cell.ToolTip = TabellaRisorse[pos_x, pos_y].ToolTip;
cell.Text = TabellaRisorse[pos_x, pos_y].Label;
// carico in cella di tabella il linkButton
riga.Cells.Add(cell);
}
cell = setupCellaComm(pos_y, riga, true);
tblBlocco.Rows.Add(riga);
}
// cella vuota finale
if (showOre && numDip > 0 && numComm > 0)
{
cell = new TableCell();
cell.CssClass = "cBia lblBlu";
cell.Text = string.Format("{0:0##} h", oreTot);
cell.ToolTip = "Ore TOTALI";
riga.Cells.Add(cell);
}
else
{
cell = new TableCell();
riga.Cells.Add(cell);
}
// aggiungo riga!
tblBlocco.Rows.Add(riga);
// metto ultima riga con indicazione valori NUMERICI del totale ore x dipendente
setupRigaDip(true);
}
/// <summary>
/// selezioanta nuova sett --> faccio udpate!!!
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void mod_navigaWeek1_eh_newWeekSelected(object sender, EventArgs e)
{
doUpdate();
}
/// <summary>
/// crea una cella per il numero dei livelli
/// </summary>
@@ -316,45 +288,76 @@ namespace PROJ_ETS.WebUserControls
riga.Cells.Add(cell);
return cell;
}
/// <summary>
/// esegue il vero plotting della tabella
/// disegna la riga di intestazione/chiusura x dipendenti
/// </summary>
private void disegnaTabella()
/// <param name="showOre">true = mostra totale ore / false = mostra sigla dip + nome/cognome tooltip</param>
private void setupRigaDip(bool showOre)
{
//lg.Info("Disegna tab: year {0}, week {1} - step 1", anno, settimana);
bool tabPresente = tblBlocco.Rows.Count > 0;
if (tabPresente)
TableRow riga = new TableRow();
TableCell cell;
// cella vuota iniziale
cell = new TableCell();
riga.Cells.Add(cell);
// variabili accessorie x dip
Ds_ProjEts.DipendentiRow rigaDip;
// se ho dati
if (numDip > 0 && numComm > 0)
{
tblBlocco.Rows.Clear();
}
// metto prima riga con indicazione valori NUMERICI delle colonne
setupRigaDip(false);
// ciclo nel mio array e creo di conseguenza le celle di tabella
for (int pos_y = numComm - 1; pos_y >= 0; pos_y--)
{
TableRow riga = new TableRow();
TableCell cell;
// cella con numero livello
cell = setupCellaComm(pos_y, riga, false);
// preparo celle!
for (int pos_x = 0; pos_x < numDip; pos_x++)
{
cell = new TableCell();
cell.CssClass = TabellaRisorse[pos_x, pos_y].Css;
cell.ToolTip = TabellaRisorse[pos_x, pos_y].ToolTip;
cell.Text = TabellaRisorse[pos_x, pos_y].Label;
// carico in cella di tabella il linkButton
cell.CssClass = "cBia cCent";
if (showOre && numDip > 0 && numComm > 0)
{
cell.Text = string.Format("{0:0#} h", oreTotDip[pos_x]);
cell.ToolTip = "";
// SE sono 40h coloro di verde!!!
if (oreTotDip[pos_x] == 40)
{
cell.CssClass = "cBia cCent lblGreen";
}
// SE sono oltre 40h coloro di rosso!!!
else if (oreTotDip[pos_x] > 40)
{
cell.CssClass = "cBia cCent lblErrore";
}
}
else
{
rigaDip = (Ds_ProjEts.DipendentiRow)tabDip.Select(string.Format("idxDipendente={0}", tabD2ATR[pos_x].idxDipendente))[0];
cell.Text = rigaDip.codHw;
//cell.Text = rigaDip.SIGLA;
//cell.Text = rigaDip.Nome.Substring(0, 1) + rigaDip.Cognome.Substring(0, 1) + rigaDip.Cognome.Substring(1, 2).ToLower();
cell.ToolTip = string.Format("{0} {1}", rigaDip.Nome, rigaDip.Cognome);
}
riga.Cells.Add(cell);
}
cell = setupCellaComm(pos_y, riga, true);
tblBlocco.Rows.Add(riga);
}
// metto ultima riga con indicazione valori NUMERICI del totale ore x dipendente
setupRigaDip(true);
// cella vuota finale
if (showOre && numDip > 0 && numComm > 0)
{
cell = new TableCell();
cell.CssClass = "cBia lblBlu";
cell.Text = string.Format("{0:0##} h", oreTot);
cell.ToolTip = "Ore TOTALI";
riga.Cells.Add(cell);
}
else
{
cell = new TableCell();
riga.Cells.Add(cell);
}
// aggiungo riga!
tblBlocco.Rows.Add(riga);
}
/// <summary>
/// pagina corrente (URL finale)
/// </summary>
public string _paginaCorrente { get; set; }
#endregion Private Methods
#region Protected Methods
/// <summary>
/// salva in variabile pagina il nome della pagina corrente
/// </summary>
@@ -367,6 +370,35 @@ namespace PROJ_ETS.WebUserControls
int n = finalUrl.Length;
_paginaCorrente = finalUrl[n - 1].ToString();
}
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
// carico tabelle: elenco dipendenti (raggruppato x tipo) ed elenco dip in Impiego...
tabDip = DataProxy_ProjEts.DP.taDip.GetData();
tabD2ATR = DataProxy_ProjEts.DP.taD2ATR.getBazOrd();
// faccio update!
doUpdate();
mod_navigaWeek1.eh_newWeekSelected += mod_navigaWeek1_eh_newWeekSelected;
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// esegue update controllo
/// </summary>
public void doUpdate()
{
caricaDatiBlocco();
disegnaTabella();
}
/// <summary>
/// risponde alla domanda se l'utente abbia permesso tipo writable (S) nel permessi2funzione
/// </summary>
@@ -381,6 +413,9 @@ namespace PROJ_ETS.WebUserControls
answ = user_std.UtSn.isPageWriteEnabled(_paginaCorrente);
return answ;
}
#endregion Public Methods
#if false
/// <summary>
/// risponde alla domanda se l'utente sia PowerUser
@@ -436,7 +471,7 @@ namespace PROJ_ETS.WebUserControls
{
return user_std.UtSn.userHasRight("PM");
}
}
}
#endif
}
}
@@ -11,59 +11,35 @@ namespace PROJ_ETS.WebUserControls
{
public partial class mod_weekVerify : System.Web.UI.UserControl
{
#region Protected Fields
protected Logger lg = LogManager.GetCurrentClassLogger();
protected int numDip = 0;
protected int numComm = 0;
protected ETS_Data.Type.ImpiegoRes[,] TabellaRisorse;
protected int[] oreTotDip;
protected int[] oreTotComm;
protected int numDip = 0;
protected int[] oreBgtTotComm;
protected int[] oreBgtTotDip;
protected int oreTot;
protected int oreTotBgt;
protected int[] oreBgtTotDip;
protected int[] oreBgtTotComm;
protected Ds_ProjEts.DipendentiDataTable tabDip = new Ds_ProjEts.DipendentiDataTable();
protected Ds_ProjEts.Dip2ATRDataTable tabD2ATR = new Ds_ProjEts.Dip2ATRDataTable();
protected Ds_ProjEts.ImpiegoRisorseDataTable tabIR = new Ds_ProjEts.ImpiegoRisorseDataTable();
protected Ds_ProjEts.ImpiegoRisorseDataTable tabIRPareto = new Ds_ProjEts.ImpiegoRisorseDataTable();
protected int[] oreTotComm;
protected int[] oreTotDip;
protected Ds_ProjEts.BazaarRisorseRow rigaBaz;
protected DS_utilsProjEts.v_selCommesseRow rigaComm;
protected DS_utilsProjEts.v_selCommesseRow rigaCommShort;
protected Ds_ProjEts.DipendentiRow rigaDip;
protected Ds_ProjEts.ImpiegoRisorseRow rigaIR;
protected Ds_ProjEts.BazaarRisorseDataTable tabBaz = new Ds_ProjEts.BazaarRisorseDataTable();
protected DS_utilsProjEts.v_selCommesseDataTable tabComm = new DS_utilsProjEts.v_selCommesseDataTable();
protected DS_utilsProjEts.v_selCommesseDataTable tabCommShort = new DS_utilsProjEts.v_selCommesseDataTable();
protected Ds_ProjEts.ImpiegoRisorseRow rigaIR;
protected Ds_ProjEts.BazaarRisorseRow rigaBaz;
protected Ds_ProjEts.DipendentiRow rigaDip;
protected DS_utilsProjEts.v_selCommesseRow rigaComm;
protected DS_utilsProjEts.v_selCommesseRow rigaCommShort;
protected Ds_ProjEts.Dip2ATRDataTable tabD2ATR = new Ds_ProjEts.Dip2ATRDataTable();
protected Ds_ProjEts.DipendentiDataTable tabDip = new Ds_ProjEts.DipendentiDataTable();
protected ETS_Data.Type.ImpiegoRes[,] TabellaRisorse;
protected Ds_ProjEts.ImpiegoRisorseDataTable tabIR = new Ds_ProjEts.ImpiegoRisorseDataTable();
protected Ds_ProjEts.ImpiegoRisorseDataTable tabIRPareto = new Ds_ProjEts.ImpiegoRisorseDataTable();
#endregion Protected Fields
#region Protected Properties
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
// carico tabelle: elenco dipendenti (raggruppato x tipo) ed elenco dip in Impiego...
tabDip = DataProxy_ProjEts.DP.taDip.GetData();
tabD2ATR = DataProxy_ProjEts.DP.taD2ATR.getBazOrd();
doUpdate();
mod_navigaWeek1.eh_newWeekSelected += mod_navigaWeek1_eh_newWeekSelected;
}
/// <summary>
/// selezioanta nuova sett --> faccio udpate!!!
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void mod_navigaWeek1_eh_newWeekSelected(object sender, EventArgs e)
{
doUpdate();
}
/// <summary>
/// esegue update controllo
/// </summary>
public void doUpdate()
{
caricaDatiBlocco();
disegnaTabella();
}
/// <summary>
/// anno selezionato (wrapper)
/// </summary>
@@ -74,6 +50,7 @@ namespace PROJ_ETS.WebUserControls
return mod_navigaWeek1.anno;
}
}
/// <summary>
/// settimana selezionato (wrapper)
/// </summary>
@@ -85,6 +62,51 @@ namespace PROJ_ETS.WebUserControls
}
}
#endregion Protected Properties
#region Public Properties
/// <summary>
/// pagina corrente (URL finale)
/// </summary>
public string _paginaCorrente { get; set; }
#endregion Public Properties
#region Private Methods
/// <summary>
/// calcola il rendimento di programmazione come
/// 1 - ( (SUM( |Ei - Pi| ) / SUM( Pi ) )
/// </summary>
private void calcRatioPE()
{
double num = 0;
double den = 1;
double ratio = 0;
try
{
for (int ii = 0; ii < numComm; ii++)
{
num += Math.Abs(oreTotComm[ii] - oreBgtTotComm[ii]);
den += oreBgtTotComm[ii];
}
}
catch
{ }
if (den == 0) den = 1;
ratio = 1 - num / den;
if (den > 1)
{
lblRatioProgEff.Text = string.Format("{0:p}", ratio);
}
else
{
lblRatioProgEff.Text = "nd";
}
lblRatioProgEff.ToolTip = "Ratio = 1 - ( (SUM( |Ei - Pi| ) / SUM( Pi ) ), i-esime commesse, E = Effettive, P = Programmate";
}
/// <summary>
/// carica i dati del blocco in un oggetto BlockMap (compreso attive/inattive)
/// </summary>
@@ -105,8 +127,8 @@ namespace PROJ_ETS.WebUserControls
// carico TUTTE le celle del Impiego...
tabIR = DataProxy_ProjEts.DP.taIR.getFullWeek(anno, settimana);
tabBaz = DataProxy_ProjEts.DP.taBaz.getByAnnoSett(anno, settimana);
tabComm = DataProxy_ProjEts.DP.taSelCom.GetData(); // leggo tutte commesse...
tabCommShort = DataProxy_ProjEts.DP.taSelCom.getCommShort(); // leggo tutte commesse formato short (nickname...)
tabComm = DataProxy_ProjEts.DP.taSelCom.GetData(); // leggo tutte commesse...
tabCommShort = DataProxy_ProjEts.DP.taSelCom.getCommShort(anno, settimana); // leggo tutte commesse formato short (nickname...)
// calcolo il primo dip
idxDip = tabIR[0].idxDipendente;
// calcolo num celle totali
@@ -271,6 +293,108 @@ namespace PROJ_ETS.WebUserControls
}
}
}
/// <summary>
/// esegue il vero plotting della tabella
/// </summary>
private void disegnaTabella()
{
//lg.Info("Disegna tab: year {0}, week {1} - step 1", anno, settimana);
bool tabPresente = tblBlocco.Rows.Count > 0;
if (tabPresente)
{
tblBlocco.Rows.Clear();
}
// metto prima riga con indicazione valori NUMERICI delle colonne
setupRigaDip(false);
// ciclo nel mio array e creo di conseguenza le celle di tabella
for (int pos_y = numComm - 1; pos_y >= 0; pos_y--)
{
TableRow riga = new TableRow();
TableCell cell;
// cella con numero livello
cell = setupCellaComm(pos_y, riga, false);
for (int pos_x = 0; pos_x < numDip; pos_x++)
{
cell = new TableCell();
cell.CssClass = TabellaRisorse[pos_x, pos_y].Css;
cell.ToolTip = TabellaRisorse[pos_x, pos_y].ToolTip;
cell.Text = TabellaRisorse[pos_x, pos_y].Label;
// carico in cella di tabella il linkButton
riga.Cells.Add(cell);
}
cell = setupCellaComm(pos_y, riga, true);
tblBlocco.Rows.Add(riga);
}
// metto ultima riga con indicazione valori NUMERICI del totale ore x dipendente
setupRigaDip(true);
// calcolo indice programmazione
calcRatioPE();
}
/// <summary>
/// selezioanta nuova sett --> faccio udpate!!!
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void mod_navigaWeek1_eh_newWeekSelected(object sender, EventArgs e)
{
doUpdate();
}
/// <summary>
/// crea una cella per il numero dei livelli
/// </summary>
/// <param name="pos_y"></param>
/// <param name="riga"></param>
/// <param name="showOre">indica se mostrare le ore totali di resoconto al posto del nome commessa</param>
/// <returns></returns>
private TableCell setupCellaComm(int pos_y, TableRow riga, bool showOre)
{
// variabili accessorie x dip
DS_utilsProjEts.v_selCommesseRow rigaComm;
//cella!
TableCell cell;
cell = new TableCell();
cell.CssClass = "cRBia";
try
{
rigaComm = (DS_utilsProjEts.v_selCommesseRow)tabComm.Select(string.Format("value = {0}", tabIRPareto[pos_y].idxFase))[0];
rigaCommShort = (DS_utilsProjEts.v_selCommesseRow)tabCommShort.Select(string.Format("value = {0}", tabIRPareto[pos_y].idxFase))[0];
if (showOre)
{
cell.Text = string.Format("{0:0##}/{1:0##} h", oreTotComm[pos_y], oreBgtTotComm[pos_y]);
cell.ToolTip = string.Format("Commessa {0}", rigaComm.label.Substring(0, 9));
}
else
{
// inserisco URL x rimando a dettaglio commessa via jumper...
if (utils.obj.confReadBool("showLinkDettComm"))
{
// aggiungo link x fare elemento cliccabile
HyperLink hlJump = new HyperLink();
hlJump.NavigateUrl = string.Format("~/jumper?tipoJump=DettComm&idxFase={0}", rigaComm.value);
hlJump.Target = "_blank";
hlJump.Text = rigaCommShort.label;
hlJump.ToolTip = rigaComm.label;
cell.Controls.Add(hlJump);
}
else
{
cell.Text = rigaCommShort.label;
//cell.Text = utils.shrinkString(rigaComm.label, utils.obj.confReadInt("char2showComm"), 8);
cell.ToolTip = rigaComm.label;
}
}
}
catch (Exception exc)
{
lg.ErrorException("Errore in setupCellaComm", exc);
}
riga.Cells.Add(cell);
return cell;
}
/// <summary>
/// disegna la riga di intestazione/chiusura x dipendenti
/// </summary>
@@ -331,130 +455,11 @@ namespace PROJ_ETS.WebUserControls
// aggiungo riga!
tblBlocco.Rows.Add(riga);
}
/// <summary>
/// crea una cella per il numero dei livelli
/// </summary>
/// <param name="pos_y"></param>
/// <param name="riga"></param>
/// <param name="showOre">indica se mostrare le ore totali di resoconto al posto del nome commessa</param>
/// <returns></returns>
private TableCell setupCellaComm(int pos_y, TableRow riga, bool showOre)
{
// variabili accessorie x dip
DS_utilsProjEts.v_selCommesseRow rigaComm;
//cella!
TableCell cell;
cell = new TableCell();
cell.CssClass = "cRBia";
try
{
rigaComm = (DS_utilsProjEts.v_selCommesseRow)tabComm.Select(string.Format("value = {0}", tabIRPareto[pos_y].idxFase))[0];
rigaCommShort = (DS_utilsProjEts.v_selCommesseRow)tabCommShort.Select(string.Format("value = {0}", tabIRPareto[pos_y].idxFase))[0];
if (showOre)
{
cell.Text = string.Format("{0:0##}/{1:0##} h", oreTotComm[pos_y], oreBgtTotComm[pos_y]);
cell.ToolTip = string.Format("Commessa {0}", rigaComm.label.Substring(0, 9));
}
else
{
// inserisco URL x rimando a dettaglio commessa via jumper...
if (utils.obj.confReadBool("showLinkDettComm"))
{
// aggiungo link x fare elemento cliccabile
HyperLink hlJump = new HyperLink();
hlJump.NavigateUrl = string.Format("~/jumper?tipoJump=DettComm&idxFase={0}", rigaComm.value);
hlJump.Target = "_blank";
hlJump.Text = rigaCommShort.label;
hlJump.ToolTip = rigaComm.label;
cell.Controls.Add(hlJump);
}
else
{
cell.Text = rigaCommShort.label;
//cell.Text = utils.shrinkString(rigaComm.label, utils.obj.confReadInt("char2showComm"), 8);
cell.ToolTip = rigaComm.label;
}
}
}
catch (Exception exc)
{
lg.ErrorException("Errore in setupCellaComm", exc);
}
riga.Cells.Add(cell);
return cell;
}
/// <summary>
/// esegue il vero plotting della tabella
/// </summary>
private void disegnaTabella()
{
//lg.Info("Disegna tab: year {0}, week {1} - step 1", anno, settimana);
bool tabPresente = tblBlocco.Rows.Count > 0;
if (tabPresente)
{
tblBlocco.Rows.Clear();
}
// metto prima riga con indicazione valori NUMERICI delle colonne
setupRigaDip(false);
// ciclo nel mio array e creo di conseguenza le celle di tabella
for (int pos_y = numComm - 1; pos_y >= 0; pos_y--)
{
TableRow riga = new TableRow();
TableCell cell;
// cella con numero livello
cell = setupCellaComm(pos_y, riga, false);
for (int pos_x = 0; pos_x < numDip; pos_x++)
{
cell = new TableCell();
cell.CssClass = TabellaRisorse[pos_x, pos_y].Css;
cell.ToolTip = TabellaRisorse[pos_x, pos_y].ToolTip;
cell.Text = TabellaRisorse[pos_x, pos_y].Label;
// carico in cella di tabella il linkButton
riga.Cells.Add(cell);
}
cell = setupCellaComm(pos_y, riga, true);
tblBlocco.Rows.Add(riga);
}
// metto ultima riga con indicazione valori NUMERICI del totale ore x dipendente
setupRigaDip(true);
// calcolo indice programmazione
calcRatioPE();
}
/// <summary>
/// calcola il rendimento di programmazione come
/// 1 - ( (SUM( |Ei - Pi| ) / SUM( Pi ) )
/// </summary>
private void calcRatioPE()
{
double num = 0;
double den = 1;
double ratio = 0;
try
{
for (int ii = 0; ii < numComm; ii++)
{
num += Math.Abs(oreTotComm[ii] - oreBgtTotComm[ii]);
den += oreBgtTotComm[ii];
}
}
catch
{ }
if (den == 0) den = 1;
ratio = 1 - num / den;
if (den > 1)
{
lblRatioProgEff.Text = string.Format("{0:p}", ratio);
}
else
{
lblRatioProgEff.Text = "nd";
}
lblRatioProgEff.ToolTip = "Ratio = 1 - ( (SUM( |Ei - Pi| ) / SUM( Pi ) ), i-esime commesse, E = Effettive, P = Programmate";
}
/// <summary>
/// pagina corrente (URL finale)
/// </summary>
public string _paginaCorrente { get; set; }
#endregion Private Methods
#region Protected Methods
/// <summary>
/// salva in variabile pagina il nome della pagina corrente
/// </summary>
@@ -467,6 +472,34 @@ namespace PROJ_ETS.WebUserControls
int n = finalUrl.Length;
_paginaCorrente = finalUrl[n - 1].ToString();
}
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
// carico tabelle: elenco dipendenti (raggruppato x tipo) ed elenco dip in Impiego...
tabDip = DataProxy_ProjEts.DP.taDip.GetData();
tabD2ATR = DataProxy_ProjEts.DP.taD2ATR.getBazOrd();
doUpdate();
mod_navigaWeek1.eh_newWeekSelected += mod_navigaWeek1_eh_newWeekSelected;
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// esegue update controllo
/// </summary>
public void doUpdate()
{
caricaDatiBlocco();
disegnaTabella();
}
/// <summary>
/// risponde alla domanda se l'utente abbia permesso tipo writable (S) nel permessi2funzione
/// </summary>
@@ -481,6 +514,9 @@ namespace PROJ_ETS.WebUserControls
answ = user_std.UtSn.isPageWriteEnabled(_paginaCorrente);
return answ;
}
#endregion Public Methods
#if false
/// <summary>
/// risponde alla domanda se l'utente sia PowerUser
@@ -536,7 +572,7 @@ namespace PROJ_ETS.WebUserControls
{
return user_std.UtSn.userHasRight("PM");
}
}
}
#endif
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.