Ulteriore fix mancata timbratura

This commit is contained in:
Samuele E. Locatelli
2019-10-04 11:26:13 +02:00
parent 6625520074
commit 01cd5642a3
5 changed files with 119 additions and 192 deletions
+4 -5
View File
@@ -5,13 +5,12 @@
<div class="col-6">
<asp:TextBox runat="server" ID="txtData" TextMode="Date" />
</div>
<div class="col-3">
<asp:DropDownList runat="server" ID="ddlOra" name="Ora" DataSourceID="odsOra" DataTextField="Ora" DataValueField="Ora" data-mini="true">
<div class="col-3 text-left">
<asp:DropDownList runat="server" ID="ddlOra" name="Ora" DataSourceID="odsOra" DataTextField="Ora" DataValueField="Ora" CssClass="btn btn-sm btn-light">
</asp:DropDownList>
</div>
<div class="col-3">
<asp:DropDownList runat="server" ID="ddlMin" name="Min" DataSourceID="odsMin" DataTextField="Minuto" DataValueField="Minuto"
data-mini="true">
<div class="col-3 text-right">
<asp:DropDownList runat="server" ID="ddlMin" name="Min" DataSourceID="odsMin" DataTextField="Minuto" DataValueField="Minuto" CssClass="btn btn-sm btn-light">
</asp:DropDownList>
</div>
</div>
+89 -119
View File
@@ -1,126 +1,96 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_mancTimb.ascx.cs" Inherits="GPW.WebUserControls.mod_mancTimb" %>
<%@ Register Src="~/WebUserControls/mod_dateTime.ascx" TagPrefix="uc1" TagName="mod_dateTime" %>
<div class="row">
<div class="col">
<asp:RadioButtonList ID="rblEntrata" runat="server" RepeatDirection="Horizontal" CssClass="btn-group btn-group-toggle btn-sm">
<asp:ListItem class="btn btn-sm btl-block py-1 btn-primary" Text="IN" Value="true" />
<asp:ListItem class="btn btn-sm btl-block py-1 btn-success" Text="OUT" Value="false" />
</asp:RadioButtonList>
<div class="card my-1">
<div class="card-header">
<b>Gestione mancate timbrature</b>
</div>
<div class="col">
<asp:DropDownList runat="server" ID="ddlData" name="Data" DataSourceID="odsDateValide" DataTextField="Data" DataValueField="Data" CssClass="btn btn-block btn-sm btn-dark">
</asp:DropDownList>
<asp:ObjectDataSource ID="odsDateValide" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="GPW_data.DS_UtilityTableAdapters.stp_getLastDaysTableAdapter">
<SelectParameters>
<asp:SessionParameter Name="lastDate" SessionField="today" Type="DateTime" />
<asp:Parameter DefaultValue="10" Name="numD" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</div>
<div class="row">
<div class="col">
<label for="Ora">
Ora:</label>
</div>
<div class="col">
<asp:DropDownList runat="server" ID="ddlOra" name="Ora" DataSourceID="odsOra" DataTextField="Ora" DataValueField="Ora" CssClass="btn btn-block btn-sm btn-secondary">
</asp:DropDownList>
<asp:ObjectDataSource ID="odsOra" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="GPW_data.DS_UtilityTableAdapters.stp_getHoursTableAdapter"></asp:ObjectDataSource>
</div>
<div class="col">
<label for="Min">
Min:</label>
</div>
<div class="col">
<asp:DropDownList runat="server" ID="ddlMin" name="Min" DataSourceID="odsMin" DataTextField="Minuto" DataValueField="Minuto" CssClass="btn btn-block btn-sm btn-secondary">
</asp:DropDownList>
<asp:ObjectDataSource ID="odsMin" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="GetData" TypeName="GPW_data.DS_UtilityTableAdapters.stp_getMinTableAdapter">
<SelectParameters>
<asp:Parameter DefaultValue="5" Name="interv" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</div>
<div class="row">
<div class="col">
<asp:LinkButton ID="lbtRichMT" runat="server" CssClass="btn btn-block btn-warning" OnClick="btnRichMT_Click"><i class="fa fa-inbox" aria-hidden="true"></i> Richiesta</asp:LinkButton>
</div>
<div class="col">
<asp:HyperLink runat="server" ID="hlMancateTimbr" data-role="button" CssClass="btn btn-block btn-success" data-icon="back" NavigateUrl="~/Timbrature"><i class="fa fa-home" aria-hidden="true"></i> Timbrature</asp:HyperLink>
</div>
</div>
<div class="row">
<div class="col">
<label for="grView">
Richieste in corso:
</label>
<asp:GridView ID="grView" nome="grView" CssClass="grView" runat="server" AllowPaging="True" DataSourceID="ods" AutoGenerateColumns="False" DataKeyNames="dataOra,idxDipendente" CellPadding="4" ForeColor="#333333" GridLines="None" Font-Size="Smaller" Width="100%" OnSelectedIndexChanged="grView_SelectedIndexChanged" OnRowUpdated="grView_RowUpdated" OnRowDeleted="grView_RowDeleted">
<AlternatingRowStyle BackColor="White" />
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblDip" runat="server" Text='<%# cognomeNome(Eval("idxDipendente")) %>' Visible='<%# userCanApprove %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="dataOra" SortExpression="dataOra" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblData" runat="server" Text='<%# Eval("dataOra", "{0:MM-dd ddd<br> HH:mm}") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="IN" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblIn" runat="server" Text="X" Visible='<%# Eval("entrata") %>' ForeColor="#666666" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="OUT" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblOut" runat="server" Text="X" Visible='<%# invBool(Eval("entrata")) %>' ForeColor="#666666" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" ID="lbDelete" Text="Elimina" CssClass="btn btn-block btn-sm py-1 px-0 btn-danger" data-role="button" data-mini="true" CommandArgument="Elimina" CommandName="Delete" data-inline="true" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" ID="lbApprova" Visible='<%# userCanApprove %>' Text="Approva" CssClass="btn btn-block btn-sm py-1 px-0 btn-success" data-role="button" data-mini="true" CommandArgument="approva" CommandName="Select" data-inline="true" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="getNonApprByDip" TypeName="GPW_data.DS_ApplicazioneTableAdapters.TimbratureTableAdapter" DeleteMethod="DeleteNonAppr">
<DeleteParameters>
<asp:Parameter Name="Original_idxDipendente" Type="Int32" />
<asp:Parameter Name="Original_dataOra" Type="DateTime" />
</DeleteParameters>
<SelectParameters>
<asp:SessionParameter SessionField="idxDipendente" Name="idxDipendente" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</div>
<div class="row">
<div class="col">
<div data-role="fieldcontain">
<label for="arrot">
Min. arrot.
</label>
<asp:TextBox runat="server" ID="txtArrot" name="arrot" Text="5" Width="2em" />
<div class="card-body p-2">
<div class="row">
<div class="col text-center">
<asp:RadioButtonList ID="rblEntrata" runat="server" RepeatDirection="Horizontal" CssClass="btn-group d-flex btn-sm w-100 p-0" data-toggle="buttons" RepeatLayout="Flow">
<asp:ListItem class="btn py-1 btn-outline-primary w-100" Value="true">&nbsp;&nbsp;<i class="fa fa-sign-in" aria-hidden="true"></i> ENTRATA</asp:ListItem>
<asp:ListItem class="btn py-1 btn-outline-success w-100" Value="false">&nbsp;&nbsp;USCITA <i class="fa fa-sign-out" aria-hidden="true"></i></asp:ListItem>
</asp:RadioButtonList>
</div>
</div>
<div class="row my-2">
<div class="col">
<uc1:mod_dateTime runat="server" ID="mod_dateTime" />
</div>
</div>
<div class="row">
<div class="col">
<asp:LinkButton ID="lbtRichMT" runat="server" CssClass="btn btn-block btn-info" OnClick="btnRichMT_Click"><i class="fa fa-inbox" aria-hidden="true"></i> Richiesta</asp:LinkButton>
</div>
<div class="col">
<asp:HyperLink runat="server" ID="hlMancateTimbr" data-role="button" CssClass="btn btn-block btn-dark" data-icon="back" NavigateUrl="~/Timbrature"><i class="fa fa-home" aria-hidden="true"></i> Timbrature</asp:HyperLink>
</div>
</div>
<div class="row">
<div class="col">
<hr />
<label for="grView">
Richieste in corso:
</label>
<asp:GridView ID="grView" nome="grView" runat="server" AllowPaging="True" DataSourceID="ods" AutoGenerateColumns="False" DataKeyNames="dataOra,idxDipendente" CssClass="table table-striped table-sm table-condensed w-100 small" GridLines="None" OnSelectedIndexChanged="grView_SelectedIndexChanged" OnRowUpdated="grView_RowUpdated" OnRowDeleted="grView_RowDeleted">
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblDip" runat="server" Text='<%# cognomeNome(Eval("idxDipendente")) %>' Visible='<%# userCanApprove %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="data/ora" SortExpression="dataOra" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblData" runat="server" Text='<%# Eval("dataOra", "{0:MM-dd ddd<br> HH:mm:ss}") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="IN" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblIn" runat="server" Visible='<%# Eval("entrata") %>' CssClass="text-primary"><i class="fa fa-sign-in" aria-hidden="true"></i></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="OUT" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblOut" runat="server" Visible='<%# invBool(Eval("entrata")) %>' CssClass="text-success"><i class="fa fa-sign-out" aria-hidden="true"></i></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" ID="lbDelete" Text="Elimina" CssClass="btn btn-block btn-sm p-1 btn-danger" CommandArgument="Elimina" CommandName="Delete"><i class="fa fa-ban" aria-hidden="true"></i></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" ID="lbApprova" Visible='<%# userCanApprove %>' Text="Approva" CssClass="btn btn-block btn-sm p-1 btn-success" CommandArgument="approva" CommandName="Select"><i class="fa fa-check-circle-o" aria-hidden="true"></i></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="getNonApprByDip" TypeName="GPW_data.DS_ApplicazioneTableAdapters.TimbratureTableAdapter" DeleteMethod="DeleteNonAppr">
<DeleteParameters>
<asp:Parameter Name="Original_idxDipendente" Type="Int32" />
<asp:Parameter Name="Original_dataOra" Type="DateTime" />
</DeleteParameters>
<SelectParameters>
<asp:SessionParameter SessionField="idxDipendente" Name="idxDipendente" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</div>
</div>
<div class="col">
<asp:CheckBox runat="server" ID="chkShowAll" Text="Mostra tutti" AutoPostBack="True" OnCheckedChanged="chkShowAll_CheckedChanged" data-mini="true" />
<div class="card-footer">
<div class="row">
<div class="col">
<asp:CheckBox runat="server" ID="chkShowAll" Text="Mostra tutti" AutoPostBack="True" OnCheckedChanged="chkShowAll_CheckedChanged" data-mini="true" />
</div>
<div class="col text-right">
<label for="arrot">
Min. arrot.
</label>
<asp:TextBox runat="server" ID="txtArrot" name="arrot" Text="5" Width="2em" />
</div>
</div>
</div>
</div>
+14 -11
View File
@@ -14,17 +14,25 @@ namespace GPW.WebUserControls
// salvo data corrente x filtraggi...
if (!Page.IsPostBack)
{
memLayer.ML.setSessionVal("today", DateTime.Now.ToShortDateString());
memLayer.ML.setSessionVal("today", DateTime.Today.ToShortDateString());
// imposto entrata
rblEntrata.SelectedIndex = 0;
// imposto valori selezionati a metà
DateTime adesso = DateTime.Now;
ddlOra.SelectedValue = adesso.Hour.ToString();
ddlMin.SelectedValue = "30";
presetDateTime();
chkShowAll.Visible = userCanApprove;
}
checkFixOds();
}
private void presetDateTime()
{
// imposto valori selezionati a metà
DateTime adesso = DateTime.Now;
// arrotondo a 5 minuti...
int minuti = adesso.Minute;
adesso = adesso.AddMinutes(-minuti).AddMinutes((minuti / 5) * 5);
mod_dateTime.valoreDateTime = adesso;
}
public event EventHandler ev_reqUpdate;
/// <summary>
/// registro timbratura NON APPROVATA
@@ -61,12 +69,7 @@ namespace GPW.WebUserControls
try
{
CultureInfo ita = new CultureInfo("it-IT");
logger.lg.scriviLog(string.Format("Data: {0}", ddlData.SelectedValue));
richiesta = Convert.ToDateTime(ddlData.SelectedValue, ita);
double ora = Convert.ToDouble(ddlOra.SelectedValue);
double minuto = Convert.ToDouble(ddlMin.SelectedValue);
richiesta = richiesta.AddHours(ora).AddMinutes(minuto);
richiesta = mod_dateTime.valoreDateTime;
bool isEntrata = Convert.ToBoolean(rblEntrata.SelectedValue);
registraTimbraturaNonApp(isEntrata, richiesta);
// aggiorno gridview
+11 -56
View File
@@ -22,58 +22,13 @@ namespace GPW.WebUserControls {
protected global::System.Web.UI.WebControls.RadioButtonList rblEntrata;
/// <summary>
/// Controllo ddlData.
/// Controllo mod_dateTime.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlData;
/// <summary>
/// Controllo odsDateValide.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsDateValide;
/// <summary>
/// Controllo ddlOra.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlOra;
/// <summary>
/// Controllo odsOra.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsOra;
/// <summary>
/// Controllo ddlMin.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlMin;
/// <summary>
/// Controllo odsMin.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsMin;
protected global::GPW.WebUserControls.mod_dateTime mod_dateTime;
/// <summary>
/// Controllo lbtRichMT.
@@ -111,15 +66,6 @@ namespace GPW.WebUserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary>
/// Controllo txtArrot.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtArrot;
/// <summary>
/// Controllo chkShowAll.
/// </summary>
@@ -128,5 +74,14 @@ namespace GPW.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkShowAll;
/// <summary>
/// Controllo txtArrot.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtArrot;
}
}
Vendored
+1 -1
View File
@@ -14,7 +14,7 @@ pipeline {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=4073']) {
withEnv(['NEXT_BUILD_NUMBER=4075']) {
// env.versionNumber = VersionNumber(versionNumberString : '2.5.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '2.5.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'GPW'