This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2020-10-22 07:50:24 -07:00
parent 5aa711c5df
commit 792e08f7a1
8 changed files with 991 additions and 146 deletions

View File

@@ -4,6 +4,10 @@
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.GvConceptos tr td a {
color: #5b9bd1;
}
a.sline {
white-space: nowrap;
}
@@ -37,6 +41,14 @@
/*text-decoration: line-through;*/
}
.isEditedP td:nth-child(-n+3) {
text-decoration: line-through;
}
.isEditedD td:nth-last-child(-n+3) {
text-decoration: line-through;
}
.isOnlyBisibleP td:nth-child(-n+3) {
color: #999;
}
@@ -45,6 +57,14 @@
color: #999;
}
.isOnlyBisibleP td:nth-child(-n+3) a {
color: #999;
}
.isOnlyBisibleD td:nth-last-child(-n+3) a {
color: #999;
}
.GvConceptos {
border: 1px solid #E87E04;
}
@@ -184,8 +204,11 @@
</div>
</div>
</div>
<div class="tools">
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
<div class="portlet-body" style="display: none">
<div class="row">
<label class="col-md-1 ">Agrupador:</label>
<div class="col-md-1">
@@ -230,6 +253,18 @@
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-1 " style="line-height: 1;">Régimen:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlRegimenContratacion" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Asalariados" Value="1"></asp:ListItem>
<asp:ListItem Text="Asimilados" Value="2"></asp:ListItem>
<asp:ListItem Text="Todos" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
@@ -420,7 +455,7 @@
<ajax:TabPanel ID="TabAsistencia" runat="server" HeaderText="Asistencia">
<ContentTemplate>
<div class="portlet light xspadding bordered " id="pnldlAsistencia">
<div class="portlet-title">
<div class="caption ">
@@ -441,7 +476,7 @@
<a href="javascript:;" onclick="FiltrarTablaV2('.TxtBusqasistencia','.gvasistencia')" style="margin-top: -3px;" class="btn btn-circle btn-sm font-bold yellow-gold"><i class="icon-magnifier" style="font-weight: bold;"></i></a>
</div>
</div>
<asp:Literal ID="ltlGvAsistencia" runat="server"></asp:Literal>
<asp:Literal ID="ltlGvAsistencia" runat="server"></asp:Literal>
</div>
</ContentTemplate>
</ajax:TabPanel>
@@ -562,7 +597,7 @@
<div class="col-md-3">
<asp:Label ID="LblSRSbc" runat="server"></asp:Label>
</div>
<div class="col-md-3 bold"> </div>
<div class="col-md-3 bold"></div>
<div class="col-md-4">
<asp:Label ID="Label3" runat="server"></asp:Label>
</div>
@@ -650,7 +685,7 @@
<asp:GridView ID="GvConceptos" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-hover Widthall GvConceptos"
Style="text-align: center;" GridLines="None" OnRowDataBound="GvConceptos_RowDataBound"
DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,isOnlyBisibleP,isOnlyBisibleD,EstatusD,ValorD">
DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,isOnlyBisibleP,isOnlyBisibleD,EstatusD,ValorD,isEditedD,isEditedP">
<Columns>
<asp:TemplateField HeaderText="Concepto">
<ItemTemplate>
@@ -668,7 +703,7 @@
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporte" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporte" OnClick="LnkConcepto_Click" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>'></asp:LinkButton>
<asp:LinkButton ID="LnkImporte" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
@@ -688,7 +723,7 @@
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporteD" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporteD" OnClick="LnkConceptoD_Click" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>'></asp:LinkButton>
<asp:LinkButton ID="LnkImporteD" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
@@ -1017,6 +1052,274 @@
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabVacaciones" runat="server" HeaderText="Vacaciones">
<ContentTemplate>
<asp:UpdatePanel ID="UPSRVaaciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-5">
<div class="portlet light xspadding bordered " id="pnlvacacionesgv">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Vacaciones registradas.</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
</div>
</div>
</div>
<div class="col-md-7">
<div class="portlet light xspadding bordered " id="pnlvacacionesform">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Vacaciones registradas.</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtvacDiasFeriados" CssClass="form-control input-sm " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvvacDiasFeriados" runat="server" ControlToValidate="TxtvacDiasFeriados" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Días feriados''</b> es necesario, por favor ingréselo." ValidationGroup="VG_Vacaciones"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="rfvvacDiasFeriados"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtvacDiasFeriados">Días feriados</asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtvacFechaPago" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MeeVacFechaPago" runat="server" TargetControlID="TxtvacFechaPago" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CeeVacFechaPago" TargetControlID="TxtvacFechaPago" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvvacFechaPago" runat="server" ControlToValidate="TxtvacFechaPago" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="VG_Vacaciones"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoVacFechaPago" runat="server" HighlightCssClass="vco" TargetControlID="rfvvacFechaPago"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtvacFechaPago">Fecha pago</asp:Label>
</div>
</div>
</div>
<div class="row">
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtvacFechaInicio" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MeeVacFechaInicio" runat="server" TargetControlID="TxtvacFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CeeVacFechaInicio" TargetControlID="TxtvacFechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvvacFechaInicio" runat="server" ControlToValidate="TxtvacFechaInicio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="VG_Vacaciones"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoVacFechaInicio" runat="server" HighlightCssClass="vco" TargetControlID="rfvvacFechaInicio"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtvacFechaInicio">Fecha Inicio</asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtvacFechaFin" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MeeVacFechaFin" runat="server" TargetControlID="TxtvacFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CeeVacFechaFin" TargetControlID="TxtvacFechaFin" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvvacFechaFin" runat="server" ControlToValidate="TxtvacFechaFin" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor ingréselo." ValidationGroup="VG_Vacaciones"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoVacFechaFin" runat="server" HighlightCssClass="vco" TargetControlID="rfvvacFechaFin"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtvacFechaFin">Fecha Fin</asp:Label>
</div>
</div>
</div>
</div>
</div>
<div class="text-right">
<asp:LinkButton ID="LnkSRVacacionesUP" OnClick="LnkSRVacacionesUP_Click" Visible="false" CssClass="btn btn-primary" ValidationGroup="VGMNom_" runat="server">Actualizar</asp:LinkButton>
<asp:LinkButton ID="LnkSRVacacionesADD" OnClick="LnkSRVacacionesADD_Click" Visible="false" CssClass="btn btn-success" ValidationGroup="VGMNom_" runat="server">Agregar</asp:LinkButton>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="Tabincapacidades" runat="server" HeaderText="Incapacidades">
<ContentTemplate>
<asp:UpdatePanel ID="UpsrIncapacidadpersonal" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-5">
<div class="portlet light xspadding bordered " id="pnlIncapacidadesgv">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Incapacidades registradas.</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
<asp:GridView ID="GVNom_PersonalIncapacidad" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
DataKeyNames="CvePersonalIncapacidad,CvePersonal,Folio,FechaInicio,DiasAutorizados,CveTipodeIncidencia,CveRamoSeguro,CveTipoRiesgo,PorcentajedeIncapacidad,CveSecuelaConsecuencia,CveControlIncapacidad,Descripcion">
<Columns>
<asp:TemplateField HeaderText="Folio">
<ItemTemplate>
<asp:LinkButton runat="server" Text='<%# Eval("Folio")%>' OnClick="LnkPersonalIncapacidad_Click" data-toggle="tooltip" title="Editar" Width="100%"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha inicio">
<ItemTemplate>
<asp:LinkButton runat="server" Text='<%# Eval("FechaInicio","{0:dd/MM/yyyy}")%>' OnClick="LnkPersonalIncapacidad_Click" data-toggle="tooltip" title="Editar" Width="100%"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Dias autorizados">
<ItemTemplate>
<asp:LinkButton runat="server" Text='<%# Eval("DiasAutorizados")%>' OnClick="LnkPersonalIncapacidad_Click" data-toggle="tooltip" title="Editar" Width="100%"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
<div class="col-md-7">
<div class="portlet light xspadding bordered " id="pnlIncapacidade">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">captura de incapacidad</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<asp:LinkButton ID="LnkshowaaddIncapacidad" OnClick="LnkshowaaddIncapacidad_Click" CssClass="btn yellow-gold" runat="server">Agregar</asp:LinkButton>
</div>
</div>
</div>
<div class="portlet-body">
<div class="row">
<div class="col-md-5">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSRINCfolio" CssClass="form-control input-sm " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvNom_folio" runat="server" ControlToValidate="TxtSRINCfolio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_folio" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_folio"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCfolio">Folio</asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSRINCfechaInicio" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MEENom_fechaInicio" runat="server" TargetControlID="TxtSRINCfechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEENom_fechaInicio" TargetControlID="TxtSRINCfechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RfvNom_fechaInicio" runat="server" ControlToValidate="TxtSRINCfechaInicio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_fechaInicio" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_fechaInicio"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCfechaInicio">Fecha Inicio</asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSRINCdiasAutorizados" CssClass="form-control " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvNom_diasAutorizados" runat="server" ControlToValidate="TxtSRINCdiasAutorizados" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Dias Autorizados''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_diasAutorizados" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_diasAutorizados"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCdiasAutorizados">Dias autorizados</asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlSRINCcveTipodeIncidencia">Tipo de incidencia</asp:Label><br />
<asp:DropDownList ID="DdlSRINCcveTipodeIncidencia" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvNom_cveTipodeIncidencia" runat="server" ControlToValidate="DdlSRINCcveTipodeIncidencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cve Tipode Incidencia''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_cveTipodeIncidencia" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_cveTipodeIncidencia"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlSRINCcveRamoSeguro">Ramo seguro</asp:Label><br />
<asp:DropDownList ID="DdlSRINCcveRamoSeguro" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me " runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvNom_cveRamoSeguro" runat="server" ControlToValidate="DdlSRINCcveRamoSeguro" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cve Ramo Seguro''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_cveRamoSeguro" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_cveRamoSeguro"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlSRINCcveTipoRiesgo"> Tipo Riesgo</asp:Label><br />
<asp:DropDownList ID="DdlSRINCcveTipoRiesgo" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvNom_cveTipoRiesgo" runat="server" ControlToValidate="DdlSRINCcveTipoRiesgo" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cve Tipo Riesgo''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_cveTipoRiesgo" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_cveTipoRiesgo"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSRINCporcentajedeIncapacidad" CssClass="form-control input-sm " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvNom_porcentajedeIncapacidad" runat="server" ControlToValidate="TxtSRINCporcentajedeIncapacidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Porcentajede Incapacidad''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_porcentajedeIncapacidad" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_porcentajedeIncapacidad"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCporcentajedeIncapacidad">Porcentajede de incapacidad</asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlSRINCcveSecuelaConsecuencia"> Secuela o Consecuencia</asp:Label><br />
<asp:DropDownList ID="DdlSRINCcveSecuelaConsecuencia" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvNom_cveSecuelaConsecuencia" runat="server" ControlToValidate="DdlSRINCcveSecuelaConsecuencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cve Secuela Consecuencia''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_cveSecuelaConsecuencia" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_cveSecuelaConsecuencia"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlSRINCcveControlIncapacidad"> Control de incapacidad</asp:Label><br />
<asp:DropDownList ID="DdlSRINCcveControlIncapacidad" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvNom_cveControlIncapacidad" runat="server" ControlToValidate="DdlSRINCcveControlIncapacidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cve Control Incapacidad''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_cveControlIncapacidad" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_cveControlIncapacidad"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSRINCdescripcion" CssClass="form-control " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvNom_descripcion" runat="server" ControlToValidate="TxtSRINCdescripcion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_descripcion" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_descripcion"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCdescripcion">Descripción</asp:Label>
</div>
</div>
</div>
<div class="text-right">
<asp:LinkButton ID="LnkActualizarIncapacidad" OnClick="LnkActualizarIncapacidad_Click" CssClass="btn btn-primary" ValidationGroup="VGMNom_" runat="server">Actualizar</asp:LinkButton>
<asp:LinkButton ID="LnkAgregarIncapacidad" OnClick="LnkAgregarIncapacidad_Click" CssClass="btn btn-success" ValidationGroup="VGMNom_" runat="server">Agregar</asp:LinkButton>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</div>
<div class="modal-footer">
@@ -1029,7 +1332,47 @@
</Triggers>
</asp:UpdatePanel>
</div>
<div id="ModalUpConcepto" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog " runat="server" ID="UPpanelModalUpConcepto" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header ">
<h4 class="modal-title">Modificar o agregar concepto :
<asp:Label ID="LblConceptoMod" runat="server" Text=""></asp:Label></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlmcConceptos" Enabled="false" Text="Concepto"></asp:Label>
<asp:DropDownList ID="DdlmcConceptos" CssClass="select2me form-control" Width="100%" DataValueField="CveConcepto" DataTextField="CodigoConcepto" OnSelectedIndexChanged="DdlmcConceptos_SelectedIndexChanged" AutoPostBack=" true" runat="server">
<asp:ListItem Value="-1" Text="Seleccione"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtmcImporte" runat="server" MaxLength="10"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtmcImporte" Enabled="false" Text="Importe"></asp:Label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtmcImporteGrabado" runat="server" MaxLength="10"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtmcImporteGrabado" Enabled="false" Text="Gravado"></asp:Label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="Txtmcvalor" runat="server" MaxLength="10"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="Txtmcvalor" Enabled="false" Text="Valor"></asp:Label>
<i></i>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
<asp:Button ID="BtnAceptarMC" CssClass="btn btn-primary" OnClick="BtnAceptarMC_Click" runat="server" Text="Aceptar" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="ModalTablas" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpModalTablas" UpdateMode="Conditional">
@@ -1173,7 +1516,9 @@
<asp:BoundField DataField="Tipo" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-HorizontalAlign="center">
<ItemTemplate>
<div style="width:50px;"><asp:CheckBox runat="server" ID="chkCon" /></div>
<div style="width: 50px;">
<asp:CheckBox runat="server" ID="chkCon" />
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
@@ -1306,7 +1651,7 @@
</table>--%>
<asp:GridView ID="GvConceptossimulador" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-hover Widthall GvConceptossimulador"
Style="text-align: center;" GridLines="None" OnRowDataBound="GvConceptos_RowDataBound" ShowHeaderWhenEmpty="true"
DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,EstatusD,ValorD,isOnlyBisibleD,isOnlyBisibleP">
DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,EstatusD,ValorD,isOnlyBisibleD,isOnlyBisibleP,isEditedD,isEditedP">
<Columns>
<asp:TemplateField HeaderText="Concepto">
<ItemTemplate>
@@ -1640,7 +1985,6 @@
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>

View File

@@ -194,6 +194,28 @@ public partial class Nomina_Nomina2 : ClsPaginas
PermisoEmitir = false;
PermisoCancelarEmitido = false;
}
DataTable dtperinc=null;
using (ClsNominas onom = new ClsNominas() )
{
if (onom.PersonalIncapacidadCatalogos())
{
dtperinc = onom.DtResultados;
}
}
if(dtperinc != null)
{
DdlSRINCcveTipodeIncidencia.DataSource = dtperinc.FiltraParametros("Tipo = -1 OR Tipo =1 ");
DdlSRINCcveRamoSeguro.DataSource = dtperinc.FiltraParametros("Tipo = -1 OR Tipo =2 ");
DdlSRINCcveTipoRiesgo.DataSource = dtperinc.FiltraParametros("Tipo = -1 OR Tipo =3 ");
DdlSRINCcveSecuelaConsecuencia.DataSource = dtperinc.FiltraParametros("Tipo = -1 OR Tipo =4 ");
DdlSRINCcveControlIncapacidad.DataSource = dtperinc.FiltraParametros("Tipo = -1 OR Tipo =5 ");
DdlSRINCcveTipodeIncidencia.DataBind();
DdlSRINCcveRamoSeguro.DataBind();
DdlSRINCcveTipoRiesgo.DataBind();
DdlSRINCcveSecuelaConsecuencia.DataBind();
DdlSRINCcveControlIncapacidad.DataBind();
}
}
}
@@ -317,7 +339,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
cargaDatos();
}
public void cargaDatos()
public void cargaDatos(bool cargaasistencia =true)
{
int CveEmpresa = UsuarioActual.CveEmpresa;
@@ -332,7 +354,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador) && objnom.DTSetResultados.Tables.Count > 1)
if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero()) && objnom.DTSetResultados.Tables.Count > 1)
{
dtempleados = objnom.DTSetResultados.Tables[3];
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
@@ -687,7 +709,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
GvNominas.DataSource = null;
GvNominas.DataBind();
}
if (cargaasistencia) {
if (dtPeriodo != null && dtPeriodo.Rows.Count > 0)
{
@@ -715,7 +737,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
string nombre = rempl["Nombre"].ToString();
string Codigo = rempl["Codigo"].ToString();
DateTime fecha = FechaInicio; int HorasDobles, HorasTriples;
gvasistencia.Append("<tr>");
gvasistencia.Append("<tr>");
gvasistencia.AppendFormat("<td><a class=\"Texto sline\" href=\"/RH/Personal.aspx?CvePersonal={0}\">{2}<br/>{1}</a></td>", CvePersonal, nombre, Codigo);
while (fecha <= FechaFin)
{
@@ -746,7 +768,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
gvasistencia.Append("</tbody></table></div>");
ltlGvAsistencia.Text = gvasistencia.ToString();
}
}
#endregion
UpDatos.Update();
}
@@ -811,7 +833,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
e.Row.CssClass = "SubTotales";
}
//e.Row.FindControl("LnkSobreRecibo").Visible = false;
e.Row.FindControl("LnkSobreRecibo").Visible = false;
}
@@ -921,7 +943,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
if (gvrow.DataKey("CveConcepto").ToEntero() > 0 && gvrow.FCCheckBox("chkCon").Checked)
{
str.AppendFormat(",{0}",gvrow.DataKey("CveConcepto"));
str.AppendFormat(",{0}", gvrow.DataKey("CveConcepto"));
continuar = true;
}
}
@@ -968,7 +990,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
Fila++;
column = 1;
libro.Cell(Fila, column).Value = erow["Codigo"];
libro.Cell(Fila, column).Value = string.Format ("'{0}",erow["Codigo"]);
column++;
libro.Cell(Fila, column).Value = erow["Nombre"];
foreach (DataRow row in dtc.Rows)
@@ -1137,14 +1159,16 @@ public partial class Nomina_Nomina2 : ClsPaginas
decimal Importe = 0;
decimal ImporteGravado = 0;
decimal ImporteExento = 0;
decimal ImporteValor = 0;
bool dontsaveconcepto = ((row[i].ToString().ToUpper() == "N") || (DTEXcel.Rows[0][i].ToString().ToUpper() == "N"));
Importe = row[i].ToString().ToDecimal();
ImporteGravado = Importe - ImporteExento;
ImporteValor = 0;
if (CveConcepto > 0)
{
if (!dontsaveconcepto)//el usuario definira si desea actualizar o no el concepto en el periodo
{
if (!objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, UsuarioActual.CveUsuario, true))
if (!objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, ImporteValor, UsuarioActual.CveUsuario, true))
{
rollback = true;
}
@@ -1212,6 +1236,26 @@ public partial class Nomina_Nomina2 : ClsPaginas
set { ViewState["SRCvePeriodo"] = value; }
}
protected int SRCveConcepto
{
get
{
if (ViewState["SRCveConcepto"] == null) { return 0; }
else { return ViewState["SRCveConcepto"].ToString().ToEntero(); }
}
set { ViewState["SRCveConcepto"] = value; }
}
protected string SRTipoConcepto
{
get
{
if (ViewState["SRTipoConcepto"] == null) { return ""; }
else { return ViewState["SRTipoConcepto"].ToString(); }
}
set { ViewState["SRTipoConcepto"] = value; }
}
protected void LnkSobreRecibo_Click(object sender, EventArgs e)
{
GridViewRow gvrow = (GridViewRow)(((LinkButton)sender).NamingContainer);
@@ -1225,8 +1269,170 @@ public partial class Nomina_Nomina2 : ClsPaginas
mostrarConceptos();
pnlAddupMovto.Visible = false;
CargaMovtoPermanente();
CargaPersonalIncapacidad();
RegistraScript("$('#ModalConceptos').modal();");
}
protected void LnkConcepto_Click(object sender, EventArgs e)
{
SRCveConcepto = ((LinkButton)sender).CommandArgument.ToEntero();
SRTipoConcepto = ((LinkButton)sender).CommandArgument;
#region carga conceptos
DataTable dtCon;
if (SRCveConcepto > 0)
{
DataRow drow = dtConceptos.FiltroPrimero(string.Format("CveConcepto={0}", SRCveConcepto));
if (drow != null)
{
SRTipoConcepto = drow["Tipo"].ToString();
}
else
{
SRCveConcepto = 0;
SRTipoConcepto = "D";
}
}
if (SRTipoConcepto == "P")
{
dtCon = dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 ").Copy();
}
else
{
dtCon = dtConceptos.FiltraParametros("Tipo ='D' AND EsPadre = 1 ").Copy();
SRTipoConcepto = "D";
}
dtCon.Columns.Add(new DataColumn("CodigoConcepto"));
foreach (DataRow trow in dtCon.Rows)
{
trow["CodigoConcepto"] = string.Format("{0} - {1}", trow["Codigo"], trow["Concepto"]);
}
dtCon.AcceptChanges();
DataRow row = dtCon.NewRow();
row["CveConcepto"] = "-1";
row["CodigoConcepto"] = "Seleccione";
dtCon.Rows.InsertAt(row, 0);
#endregion
DdlmcConceptos.DataSource = dtCon;
DdlmcConceptos.DataBind();
if (SRCveConcepto > 0)
{
DdlmcConceptos.SelectedValueExist(SRCveConcepto);
}
DdlmcConceptos_SelectedIndexChanged(DdlmcConceptos, null);
RegistraScript(string.Format("$('#ModalUpConcepto').on('shown.bs.modal', function () {{$('#{0}').trigger('focus')}});$('#ModalUpConcepto').modal();", TxtmcImporte.ClientID));
UPpanelModalUpConcepto.Update();
}
protected void DdlmcConceptos_SelectedIndexChanged(object sender, EventArgs e)
{
int CvePersonal = SRCvePersonal;
int CveConcepto = DdlmcConceptos.SelectedValue.ToEntero();
TxtmcImporte.Text = "";
TxtmcImporteGrabado.Text = "";
Txtmcvalor.Text = "";
if (CveConcepto > 0)
{
DataRow drow = dtempleadosConceptos.FiltroPrimero(string.Format("CveConcepto={0} AND CvePersonal ={1}", CveConcepto, CvePersonal));
if (drow != null)
{
TxtmcImporte.Text = string.Format("{0:N2}", drow["Importe"]);
TxtmcImporteGrabado.Text = string.Format("{0:N2}", drow["ImporteGravado"]);
Txtmcvalor.Text = string.Format("{0:N2}", drow["Valor"]);
}
}
else
{
if (e != null)
{
Alert("Seleccione un concepto.", TipoMensaje.MsgAdvertencia);
}
}
UPpanelModalUpConcepto.Update();
}
protected void BtnAceptarMC_Click(object sender, EventArgs e)
{
bool continuar = true;
int CveNomina = 0;
double Total = 0;
int CveMoneda = 1;
int CveMetodoPago = 0;
int CvePersonal = SRCvePersonal;
int CveConcepto = DdlmcConceptos.SelectedValue.ToEntero();
if (CveConcepto > 0)
{
decimal ImporteConcepto = TxtmcImporte.Text.Replace("$", "").Replace(",", "").ToDecimal();
decimal ImporteGravadoConcepto = TxtmcImporteGrabado.Text.Replace("$", "").Replace(",", "").ToDecimal();
decimal ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
decimal ImporteValor = Txtmcvalor.Text.Replace("$", "").Replace(",", "").ToDecimal();
using (ClsNominas objNomina = new ClsNominas())
{
if (continuar)
{
if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoSeleccionado, -1, UsuarioActual.CveEmpresa))
{
if (objNomina.DtResultados.Rows.Count > 0)
{
CveNomina = objNomina.CveNomina;
}
else
{
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoSeleccionado, Total, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
"", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,false))
{
CveNomina = objNomina.CveNomina;
}
else
{
continuar = false;
}
}
}
}
if (CveNomina == 0)
{
continuar = false;
}
if (continuar)
{
if (continuar)
{
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario, true))
{
continuar = false;
}
}
}
}
if (continuar)
{
cargaDatos();
cargasobrericiboconceptos();
UpModalConceptos.Update();
RegistraScript("$('#ModalUpConcepto').modal('hide');");
Alert("El cambio se ha guardado correctamente.");
}
}else
{
Alert("Debe seleccionar un concepto.",TipoMensaje.MsgAdvertencia);
}
}
private void mostrarConceptos()
{
#region "Llenado de datos empleado"
@@ -1295,105 +1501,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
LblSRSalarioDiario.Text = SD;
LblSRSalarioDiarioIntegrado.Text = SDI;
LblSRSbc.Text = SalarioDiarioIMSS;
#endregion
#region "Sobre Recibo"
{
DataTable dtper = dtConceptos.FiltraParametros("Tipo IN ('P') AND EsPadre = 1 ");
DataTable dtded = dtConceptos.FiltraParametros("Tipo IN ('D') AND EsPadre = 1 ");
dtper.Columns.Add("BorradoLogico", typeof(int));
dtded.Columns.Add("BorradoLogico", typeof(int));
foreach (DataRow row in dtper.Rows)
{
int BorradoLogico = 0;
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
{
BorradoLogico = 1;
}
row["BorradoLogico"] = BorradoLogico;
}
dtper.AcceptChanges();
foreach (DataRow row in dtded.Rows)
{
int BorradoLogico = 0;
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
{
BorradoLogico = 1;
}
row["BorradoLogico"] = BorradoLogico;
}
dtded.AcceptChanges();
dtper = dtper.FiltraParametros("BorradoLogico=0");
dtded = dtded.FiltraParametros("BorradoLogico=0");
int maxper = dtper.Rows.Count;
int maxded = dtded.Rows.Count;
int i = 0;
List<NConcepto> lconc = new List<NConcepto>();
for (i = 0; i < maxper || i < maxded; i++)
{
NConcepto nConcepto = new NConcepto();
DataRow row;
if (maxper > i)
{
row = dtper.Rows[i];
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
string Codigo = row["Codigo"].ToString();
//bool visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0);
double Importe = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.CveConceptoP = CveConcepto;
nConcepto.ConceptoP = Concepto;
nConcepto.NoConceptoP = Codigo;
nConcepto.ImporteP = Importe;
nConcepto.ValorP = dtempleados.SUM(string.Format("[VAL_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.isOnlyBisibleP = row["SoloVisible"].ToString().ToEntero();
}
if (maxded > i)
{
row = dtded.Rows[i];
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
string Codigo = row["Codigo"].ToString();
//bool visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0);
double Importe = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.CveConceptoD = CveConcepto;
nConcepto.ConceptoD = Concepto;
nConcepto.NoConceptoD = Codigo;
nConcepto.ImporteD = Importe;
nConcepto.ValorD = dtempleados.SUM(string.Format("[VAL_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.isOnlyBisibleD = row["SoloVisible"].ToString().ToEntero();
}
lconc.Add(nConcepto);
}
lconc.Add(new NConcepto());
NConcepto SubTotales = new NConcepto();
SubTotales.CveConceptoP = 0;
SubTotales.ConceptoP = "Total Percepciones";
SubTotales.EstatusP = -2;
SubTotales.ImporteP = dtempleados.SUM("SumaPercepciones", string.Format("CvePersonal = {0}", SRCvePersonal));
///Alert(SubTotales.ImporteP.ToString());
SubTotales.CveConceptoD = 0;
SubTotales.ConceptoD = "Total Deducciones";
SubTotales.EstatusD = -2;
SubTotales.ImporteD = dtempleados.SUM("SumaDeducciones", string.Format("CvePersonal = {0}", SRCvePersonal));
NConcepto Totales = new NConcepto();
Totales.CveConceptoD = 0;
Totales.ConceptoD = "Total";
Totales.EstatusD = -3;
Totales.ImporteD = dtempleados.SUM("Total", string.Format("CvePersonal = {0}", SRCvePersonal));
lconc.Add(SubTotales);
lconc.Add(Totales);
GvConceptos.DataSource = lconc;
GvConceptos.DataBind();
}
cargasobrericiboconceptos();
#endregion
#region "Infonavit"
{
@@ -1447,6 +1558,109 @@ public partial class Nomina_Nomina2 : ClsPaginas
UpModalConceptos.Update();
}
public void cargasobrericiboconceptos()
{
{
DataTable dtper = dtConceptos.FiltraParametros("Tipo IN ('P') AND EsPadre = 1 ");
DataTable dtded = dtConceptos.FiltraParametros("Tipo IN ('D') AND EsPadre = 1 ");
dtper.Columns.Add("BorradoLogico", typeof(int));
dtded.Columns.Add("BorradoLogico", typeof(int));
foreach (DataRow row in dtper.Rows)
{
int BorradoLogico = 0;
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
{
BorradoLogico = 1;
}
row["BorradoLogico"] = BorradoLogico;
}
dtper.AcceptChanges();
foreach (DataRow row in dtded.Rows)
{
int BorradoLogico = 0;
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
{
BorradoLogico = 1;
}
row["BorradoLogico"] = BorradoLogico;
}
dtded.AcceptChanges();
dtper = dtper.FiltraParametros("BorradoLogico=0");
dtded = dtded.FiltraParametros("BorradoLogico=0");
int maxper = dtper.Rows.Count;
int maxded = dtded.Rows.Count;
int i = 0;
List<NConcepto> lconc = new List<NConcepto>();
for (i = 0; i < maxper || i < maxded; i++)
{
NConcepto nConcepto = new NConcepto();
DataRow row;
if (maxper > i)
{
row = dtper.Rows[i];
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
string Codigo = row["Codigo"].ToString();
//bool visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0);
double Importe = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.CveConceptoP = CveConcepto;
nConcepto.ConceptoP = Concepto;
nConcepto.NoConceptoP = Codigo;
nConcepto.ImporteP = Importe;
nConcepto.ValorP = dtempleados.SUM(string.Format("[VAL_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.isOnlyBisibleP = row["SoloVisible"].ToString().ToEntero();
nConcepto.isEditedP = dtempleadosConceptos.COUNT("CveConcepto",string.Format("CveConcepto={0} AND CvePersonal ={1} AND Estatus =2", CveConcepto, SRCvePersonal));
}
if (maxded > i)
{
row = dtded.Rows[i];
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
string Codigo = row["Codigo"].ToString();
//bool visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0);
double Importe = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.CveConceptoD = CveConcepto;
nConcepto.ConceptoD = Concepto;
nConcepto.NoConceptoD = Codigo;
nConcepto.ImporteD = Importe;
nConcepto.ValorD = dtempleados.SUM(string.Format("[VAL_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.isOnlyBisibleD = row["SoloVisible"].ToString().ToEntero();
nConcepto.isEditedD = dtempleadosConceptos.COUNT("CveConcepto", string.Format("CveConcepto={0} AND CvePersonal ={1} AND Estatus =2", CveConcepto, SRCvePersonal)) ;
}
lconc.Add(nConcepto);
}
lconc.Add(new NConcepto());
NConcepto SubTotales = new NConcepto();
SubTotales.CveConceptoP = 0;
SubTotales.ConceptoP = "Total Percepciones";
SubTotales.EstatusP = -2;
SubTotales.ImporteP = dtempleados.SUM("SumaPercepciones", string.Format("CvePersonal = {0}", SRCvePersonal));
///Alert(SubTotales.ImporteP.ToString());
SubTotales.CveConceptoD = 0;
SubTotales.ConceptoD = "Total Deducciones";
SubTotales.EstatusD = -2;
SubTotales.ImporteD = dtempleados.SUM("SumaDeducciones", string.Format("CvePersonal = {0}", SRCvePersonal));
NConcepto Totales = new NConcepto();
Totales.CveConceptoD = 0;
Totales.ConceptoD = "Total";
Totales.EstatusD = -3;
Totales.ImporteD = dtempleados.SUM("Total", string.Format("CvePersonal = {0}", SRCvePersonal));
lconc.Add(SubTotales);
lconc.Add(Totales);
GvConceptos.DataSource = lconc;
GvConceptos.DataBind();
}
}
protected void BtnImprimirsobrerecibo_Click(object sender, EventArgs e)
{
@@ -1648,7 +1862,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
public double ImporteP { get; set; }
public double ValorP { get; set; }
public int EstatusP { get; set; }
public bool isEditedP { get; set; }
public int isEditedP { get; set; }
public int isOnlyBisibleP { get; set; }
@@ -1659,15 +1873,20 @@ public partial class Nomina_Nomina2 : ClsPaginas
public double ImporteD { get; set; }
public double ValorD { get; set; }
public int EstatusD { get; set; }
public bool isEditedD { get; set; }
public int isEditedD { get; set; }
public int isOnlyBisibleD { get; set; }
}
int CveConceptoPolgvc, CveConceptoDolgvc;
protected void GvConceptos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowIndex == 0)
{
CveConceptoPolgvc = 1;
CveConceptoDolgvc = 1;
}
// Datakeys
// Concepto,CveConcepto,Importe,Estatus,ConceptoD,CveConceptoD,ImporteD,EstatusD
int CveConcepto = e.Row.DataKey("CveConceptoP").ToEntero();
@@ -1678,7 +1897,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
int EstatusD = e.Row.DataKey("EstatusD").ToEntero();
int isOnlyBisibleP = e.Row.DataKey("isOnlyBisibleP").ToEntero();
int isOnlyBisibleD = e.Row.DataKey("isOnlyBisibleD").ToEntero();
bool isEditedP = e.Row.DataKey("isEditedP").ToEntero()>0;
bool isEditedD = e.Row.DataKey("isEditedD").ToEntero()>0;
//isEditedD
// Controles
Label LtlConcepto = e.Row.FCLabel("LtlConcepto");
LinkButton LnkConcepto = e.Row.FCLinkButton("LnkConcepto");
@@ -1697,31 +1918,51 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
e.Row.CssClass = string.Format("{0} isOnlyBisibleD", e.Row.CssClass);
}
if (isEditedP )
{
e.Row.CssClass = string.Format("{0} isEditedP", e.Row.CssClass);
}
if (isEditedD)
{
e.Row.CssClass = string.Format("{0} isEditedD", e.Row.CssClass);
}
if (Estatus == -1) { LtlConcepto.Visible = false; }
else if (Estatus > 0) { LtlImporte.Visible = false; }
if (EstatusD == -1) { LtlConceptoD.Visible = false; }
else if (EstatusD > 0) { LtlImporteD.Visible = false; }
LtlImporte.Visible = false;
LtlImporteD.Visible = false;
if (Estatus < -1 | EstatusD < -1)
{
e.Row.CssClass = "ConceptosTotales";
if (CveConcepto == 0 && (Estatus == 0 || Estatus == -1 || Estatus == -3))
LtlImporte.Text = "";
LtlImporte.Visible = true;
LtlImporteD.Visible = true;
}
LnkImporte.CommandArgument = (CveConcepto > 0 ? CveConcepto.ToString() : "P");
LnkImporteD.CommandArgument = (CveConceptoD > 0 ? CveConceptoD.ToString() : "D");
if (CveConceptoD == 0 && (EstatusD == 0 || EstatusD == -1))
LtlImporteD.Text = "";
LnkImporte.Text = (CveConcepto > 0 ? string.Format("${0:N2}", e.Row.DataKey("ImporteP").ToDecimal()) : (CveConceptoPolgvc > 0 ? "<i class=\"fa fa-plus\"></i>" : ""));
LnkImporteD.Text = (CveConceptoD > 0 ? string.Format("${0:N2}", e.Row.DataKey("ImporteD").ToDecimal()) : (CveConceptoDolgvc > 0 ? "<i class=\"fa fa-plus\"></i>" : ""));
if (Estatus == -1)
LtlConcepto.Visible = false;
else if (Estatus > 0)
LtlImporte.Visible = false;
if (EstatusD == -1)
LtlConceptoD.Visible = false;
else if (EstatusD > 0)
LtlImporteD.Visible = false;
if (CveConcepto == 0 && (Estatus == 0 || Estatus == -1 || Estatus == -3)) { LtlImporte.Text = ""; }
if (CveConceptoD == 0 && (EstatusD == 0 || EstatusD == -1)) { LtlImporteD.Text = ""; }
LnkConcepto.Visible = !LtlConcepto.Visible;
LnkConceptoD.Visible = !LtlConceptoD.Visible;
LnkImporte.Visible = !LtlImporte.Visible;
LnkImporteD.Visible = !LtlImporteD.Visible;
CveConceptoPolgvc = CveConcepto;
CveConceptoDolgvc = CveConceptoD;
}
}
#endregion
@@ -1838,10 +2079,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
protected void LnkConcepto_Click(object sender, EventArgs e)
{
}
protected void LnkConceptoD_Click(object sender, EventArgs e)
{
@@ -3491,7 +3728,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
#endregion
#region PropNominaDetalle
int CveConcepto = 0;
decimal ImporteConcepto = 0, ImporteGravadoConcepto = 0, ImporteExentoConcepto = 0;
decimal ImporteConcepto = 0, ImporteGravadoConcepto = 0, ImporteExentoConcepto = 0, ImporteValor = 0;
#endregion
@@ -3546,10 +3783,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
ImporteConcepto = rcon["Importe"].ToString().ToDecimal();
ImporteGravadoConcepto = rcon["ImporteGravado"].ToString().ToDecimal();
ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
ImporteValor = rcon["Valor"].ToString().ToDecimal();
if (continuar)
{
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, UsuarioActual.CveUsuario))
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario))
{
continuar = false;
}
@@ -4190,4 +4428,145 @@ public partial class Nomina_Nomina2 : ClsPaginas
Response.End();
}
#region Incapacidad
private int CcvePersonalIncapacidad
{
get { return (ViewState["CcvePersonalIncapacidad"] == null) ? 0 : Convert.ToInt32(ViewState["CcvePersonalIncapacidad"]); }
set { ViewState["CcvePersonalIncapacidad"] = value; }
}
protected void CargaPersonalIncapacidad()
{
LimpiaPersonalIncapacidad();
LnkAgregarIncapacidad.Visible = false;
LnkActualizarIncapacidad.Visible = false;
CcvePersonalIncapacidad = 0;
using (ClsNominas ObjPers = new ClsNominas())
{
ObjPers.PersonalIncapacidadGet(-1, SRCvePersonal,UsuarioActual.CveEmpresa);
GVNom_PersonalIncapacidad.DataSource = ObjPers.DtResultados;
}
GVNom_PersonalIncapacidad.DataBind();
UpsrIncapacidadpersonal.Update();
}
protected void LimpiaPersonalIncapacidad()
{
TxtSRINCfolio.Text = "";
TxtSRINCfechaInicio.Text = "";
TxtSRINCdiasAutorizados.Text = "";
DdlSRINCcveTipodeIncidencia.SelectedValue = "-1";
DdlSRINCcveRamoSeguro.SelectedValue = "-1";
DdlSRINCcveTipoRiesgo.SelectedValue = "-1";
TxtSRINCporcentajedeIncapacidad.Text = "";
DdlSRINCcveSecuelaConsecuencia.SelectedValue ="-1";
DdlSRINCcveControlIncapacidad.SelectedValue = "-1";
TxtSRINCdescripcion.Text = "";
UpsrIncapacidadpersonal.Update();
}
protected void LnkPersonalIncapacidad_Click(object sender, EventArgs e)
{
LimpiaPersonalIncapacidad();
#region GetDatos
GridViewRow gvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
CcvePersonalIncapacidad = gvRow.DataKey("CvePersonalIncapacidad").ToEntero();
int cvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
string folio = gvRow.DataKey("Folio");
DateTime fechaInicio = gvRow.DataKey("FechaInicio").ToDateTime();
int diasAutorizados = gvRow.DataKey("DiasAutorizados").ToEntero();
int cveTipodeIncidencia = gvRow.DataKey("CveTipodeIncidencia").ToEntero();
int cveRamoSeguro = gvRow.DataKey("CveRamoSeguro").ToEntero();
int cveTipoRiesgo = gvRow.DataKey("CveTipoRiesgo").ToEntero();
int porcentajedeIncapacidad = gvRow.DataKey("PorcentajedeIncapacidad").ToEntero();
int cveSecuelaConsecuencia = gvRow.DataKey("CveSecuelaConsecuencia").ToEntero();
int cveControlIncapacidad = gvRow.DataKey("CveControlIncapacidad").ToEntero();
string descripcion = gvRow.DataKey("Descripcion");
#endregion
TxtSRINCfolio.Text = folio.ToString();
TxtSRINCfechaInicio.Text = $"{fechaInicio:dd/MM/yyyy}";
TxtSRINCdiasAutorizados.Text = diasAutorizados.ToString();
DdlSRINCcveTipodeIncidencia.SelectedValueExist(cveTipodeIncidencia.ToString());
DdlSRINCcveRamoSeguro.SelectedValueExist(cveRamoSeguro.ToString());
DdlSRINCcveTipoRiesgo.SelectedValueExist(cveTipoRiesgo.ToString());
TxtSRINCporcentajedeIncapacidad.Text = porcentajedeIncapacidad.ToString();
DdlSRINCcveSecuelaConsecuencia.SelectedValueExist(cveSecuelaConsecuencia.ToString());
DdlSRINCcveControlIncapacidad.SelectedValueExist(cveControlIncapacidad.ToString());
TxtSRINCdescripcion.Text = descripcion.ToString();
LnkAgregarIncapacidad.Visible = false;
LnkActualizarIncapacidad.Visible = true;
}
protected void LnkshowaaddIncapacidad_Click(object sender, EventArgs e)
{
LimpiaPersonalIncapacidad();
LnkAgregarIncapacidad.Visible = true;
LnkActualizarIncapacidad.Visible = false;
CcvePersonalIncapacidad = 0;
}
protected void LnkAgregarIncapacidad_Click(object sender, EventArgs e)
{
string folio = TxtSRINCfolio.Text;
DateTime fechaInicio = TxtSRINCfechaInicio.Text.ToDateTime();
int diasAutorizados = TxtSRINCdiasAutorizados.Text.ToEntero();
int cveTipodeIncidencia = DdlSRINCcveTipodeIncidencia.Text.ToEntero();
int cveRamoSeguro = DdlSRINCcveRamoSeguro.Text.ToEntero();
int cveTipoRiesgo = DdlSRINCcveTipoRiesgo.Text.ToEntero();
int porcentajedeIncapacidad = TxtSRINCporcentajedeIncapacidad.Text.ToEntero();
int cveSecuelaConsecuencia = DdlSRINCcveSecuelaConsecuencia.Text.ToEntero();
int cveControlIncapacidad = DdlSRINCcveControlIncapacidad.Text.ToEntero();
string descripcion = TxtSRINCdescripcion.Text;
bool Continuar;
using(ClsNominas ObjPers = new ClsNominas())
{
Continuar = ObjPers.PersonalIncapacidadAdd(UsuarioActual.CveUsuario, SRCvePersonal, folio, fechaInicio, diasAutorizados, cveTipodeIncidencia, cveRamoSeguro, cveTipoRiesgo, porcentajedeIncapacidad, cveSecuelaConsecuencia, cveControlIncapacidad, descripcion);
}
if (Continuar)
{
CargaPersonalIncapacidad();
UpsrIncapacidadpersonal.Update();
this.Alert("La incapacidad se ha agregado.",TipoMensaje.ToastInformacion);
}
}
protected void LnkActualizarIncapacidad_Click(object sender, EventArgs e)
{
string folio = TxtSRINCfolio.Text;
DateTime fechaInicio = TxtSRINCfechaInicio.Text.ToDateTime();
int diasAutorizados = TxtSRINCdiasAutorizados.Text.ToEntero();
int cveTipodeIncidencia = DdlSRINCcveTipodeIncidencia.Text.ToEntero();
int cveRamoSeguro = DdlSRINCcveRamoSeguro.Text.ToEntero();
int cveTipoRiesgo = DdlSRINCcveTipoRiesgo.Text.ToEntero();
int porcentajedeIncapacidad = TxtSRINCporcentajedeIncapacidad.Text.ToEntero();
int cveSecuelaConsecuencia = DdlSRINCcveSecuelaConsecuencia.Text.ToEntero();
int cveControlIncapacidad = DdlSRINCcveControlIncapacidad.Text.ToEntero();
string descripcion = TxtSRINCdescripcion.Text;
bool Continuar;
using (ClsNominas ObjPers = new ClsNominas())
{
Continuar = ObjPers.PersonalIncapacidadUp(UsuarioActual.CveUsuario, CcvePersonalIncapacidad, folio, fechaInicio, diasAutorizados,
cveTipodeIncidencia, cveRamoSeguro, cveTipoRiesgo, porcentajedeIncapacidad, cveSecuelaConsecuencia, cveControlIncapacidad, descripcion);
}
if (Continuar)
{
CargaPersonalIncapacidad();
UpsrIncapacidadpersonal.Update();
this.Alert("La incapacidad se ha actualizado.", TipoMensaje.ToastInformacion);
}
}
#endregion
protected void LnkSRVacacionesUP_Click(object sender, EventArgs e)
{
}
protected void LnkSRVacacionesADD_Click(object sender, EventArgs e)
{
}
}