This commit is contained in:
2023-01-04 16:21:36 -07:00
37 changed files with 13571 additions and 9823 deletions

View File

@@ -222,13 +222,19 @@
</div>
<div class="portlet-body">
<table>
<tr>
<tr runat="server" id="TREstatus" visible="true">
<td><b>Estatus:</b></td>
<td>
<asp:DropDownList CssClass="form-control input-sm select2me" ID="DdlEstatusOS" runat="server" AutoPostBack="true" Width="100%" DataValueField="CveEstatusOrdenServicio" DataTextField="EstatusOrdenServicio">
</asp:DropDownList>
</td>
</tr>
<tr runat="server" id="TREstatus2" visible="false">
<td>
<asp:LinkButton runat="server" ID="LnkFinalizar" Text="Finalizar" CssClass="btn btn-primary" OnClick="LnkFinalizar_Click"></asp:LinkButton>
</td>
</tr>
</table>
</div>
</div>
@@ -355,7 +361,7 @@
CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si" />
</td>
</tr>
<tr>
<tr runat="server" id="TREspecificaiones" >
<td colspan="5">
<table style="width: 100%;">
<tr style="background-color: #E0E3DA;">
@@ -1124,6 +1130,53 @@
</div>
</div>
<%-- FIN HISTORIAL --%>
<%--MODAL FINALIZAR ORDEN INICIO --%>
<div id="DVModalFinalizarOrden" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalFinalizarOrden" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="ModalLabel">Finalizar Orden</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<p>Por favor especificar el producto instalado.</p>
</div>
</div>
<div class="row">
<div class="col-lg-2">
Producto:
</div>
<div class="col-lg-10">
<ADS:Dropdownlost runat="server" ID="DdlPsModalFinalizar" CssStyle="width: 100%;" CssClass="DdlPS " CssClassDdl="select2me " IncluyeTodos="false"
DataTextField="PSCodigo" DataValueField="CvePS"/>
</div>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="LnkModalFinalizarOrden" runat="server" CssClass="btn btn-primary" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si"
OnClick="LnkModalFinalizarOrden_Click">Finalizar</asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<%--MODAL FINALIZAR ORDEN INICIO --%>
</asp:Content>
<asp:Content ID="content7" ContentPlaceHolderID="JS" runat="server">
<script src="/Scripts/DataTables.js"></script>

View File

@@ -383,6 +383,31 @@ Partial Class OS_OrdenesServicios
End If
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
'DivDetalles.Attributes.Add("style", "display:none") 'No se usa .visible = false pora que la llamada a updatepanel no cause errores de js en el cliente
TREstatus.Visible = False
TREstatus2.Visible = If(TipoEstatus.Contiene(4, 5), False, True)
DdlPsModalFinalizar.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
'DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPsModalFinalizar.SelectedText = ""
DdlPsModalFinalizar.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
'DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero)
DdlPsModalFinalizar.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
DdlPsModalFinalizar.ddl.DataBind()
DdlPsModalFinalizar.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
End If
End If
End If
End Sub
@@ -496,6 +521,7 @@ Partial Class OS_OrdenesServicios
TxtDescripcion.Text = ObjOS.Descripcion
TxtSolicito.Text = ObjOS.PersonaSolicito
CveOsDetalle = ObjOS.CveOSDetalle
TxtFechaRecibido.Text = ObjOS.FechaRecepcion.ToString
CveFolio = ObjOS.Folio
@@ -788,7 +814,7 @@ Partial Class OS_OrdenesServicios
If ObjCliente.DtResultados.Rows.Count > 0 Then
If CargaPublicoGeneral Then
CveCliente = ObjCliente.CveCliente
Me.CveCliente = ObjCliente.CveCliente
End If
TxtCodigo.Text = ObjCliente.Codigo
@@ -1666,6 +1692,10 @@ Partial Class OS_OrdenesServicios
objOrdenServicio.Dispose()
End If
End Sub
Protected Sub GvPS_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvPS.RowDataBound
@@ -1717,6 +1747,10 @@ Partial Class OS_OrdenesServicios
e.Row.FCLabel("LtlCuentaEquipoS").Visible = False
End If
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
e.Row.FCHtmlTableRow("TREspecificaiones").Visible = False
End If
End If
End Sub
Protected Sub GvPS_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvPS.RowDeleting
@@ -2785,4 +2819,32 @@ Partial Class OS_OrdenesServicios
End Sub
#End Region
Protected Sub LnkFinalizar_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DVModalFinalizarOrden').modal('show');")
End Sub
Protected Sub LnkModalFinalizarOrden_Click(sender As Object, e As EventArgs)
Dim TieneError As Boolean = True
Dim CvePsFinalizar As Integer = DdlPsModalFinalizar.SelectedValue.ToEntero
If Not CvePsFinalizar > 0 Then
Alert("El proiducto es requerido.", TipoMensaje.MsgAdvertencia)
End If
Dim objOS As New ClsOS
If objOS.UpdateOrdenesServiciosFinaliza(CveOS, CveOsDetalle, CvePsFinalizar, UsuarioActual.CveEmpresa) Then
TieneError = False
End If
objOS.Dispose()
If Not TieneError Then
Alert("Orden Finalizada Correctamente", TipoMensaje.MsgInformacion, "location.reload(true);")
RegistraScript("$('#DVModalFinalizarOrden').modal('hide');")
End If
End Sub
End Class

View File

@@ -117,7 +117,17 @@
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAcciones">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnlAgregarServicioDomiciolio" runat="server" OnClick="LnlAgregarServicioDomiciolio_Click"> <i class="fa fa-plus" aria-hidden="true"></i> Agregar Servicios a Domicilio </asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
@@ -415,92 +425,220 @@
<div id="DVModalOSAsginar" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalOSAsginar" UpdateMode="Conditional">
<div id="DVModalOS" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalOS" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Asignar Orden de Servicio</h4>
<h4 class="modal-title"><asp:Label runat="server" ID="LblModalOStitulo" ></asp:Label></h4>
</div>
<div class="modal-body" >
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:Label runat="server" ID="LblModalCliente" Text="" CssClass="form-control"></asp:Label>
<label for="<%= LblModalCliente.ClientID.ToString()%>">Cliente: </label>
</div>
</div>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:Label runat="server" ID="LblModalConcepto" Text="" CssClass="form-control"></asp:Label>
<label for="<%= LblModalConcepto.ClientID.ToString()%>">Concepto: </label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:Label runat="server" ID="LblModalSubProyecto" Text="" CssClass="form-control"></asp:Label>
<label for="<%= LblModalSubProyecto.ClientID.ToString()%>"><asp:Label runat="server" ID="LblModalSubProyectoLabel"></asp:Label>: </label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlTecnicoAsignar" Width="100%" runat="server" CssClass="form-control select2me" DataTextField="Nombre" Visible="true" DataValueField="CveUsuario">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlTecnicoAsignar" InitialValue="-1" runat="server" ControlToValidate="DdlTecnicoAsignar" Display="None"
ErrorMessage="El campo <b>''Técnico''</b> es requerido por la aplicación" ValidationGroup="GrpAsignar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERfvDdlTecnicoAsignar" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlTecnicoAsignar" Width="350px"></ajax:ValidatorCalloutExtender>
<label for="<%= DdlTecnicoAsignar.ClientID.ToString()%>">Técnico: </label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright date date-picker date date-picker" style="width:150px">
<asp:TextBox ID="TxtModalFechaOS" CssClass="form-control" runat="server" Width="150px"></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: 9px;">
<asp:LinkButton ID="LnkTxtModalFechaOS" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="METxtModalFechaOS" runat="server" TargetControlID="TxtModalFechaOS" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CETxtModalFechaOS" TargetControlID="TxtModalFechaOS" PopupButtonID="LnkTxtModalFechaOS" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RfvTxtModalFechaOS" runat="server" ControlToValidate="TxtModalFechaOS" Display="None"
ErrorMessage="El campo <b>''Fecha''</b> es requerido por la aplicación" ValidationGroup="GrpAsignar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VceRfvTxtModalFechaOS" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtModalFechaOS" Width="350px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtModalFechaOS.ClientID.ToString()%>">Fecha: </label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input">
<cc1:TimeSelector ID="TSTimeSelector" runat="server" DisplaySeconds="false" DisplayButtons="false" Visible="true" CssClass="form-control" Font-Size="13pt"></cc1:TimeSelector>
<label for="<%= TSTimeSelector.ClientID.ToString()%>">Hora Servicio: </label>
<div class="row" runat="server" id="DVFolio" visible="false">
<div class="col-md-6">
<div class="form-group form-md-line-input" style="font-size:20px">
<label for="<%= HLkFolio.ClientID.ToString()%>" style="font-size:20px" >Folio: </label>
<asp:HyperLink ID="HLkFolio" runat="server" CssClass="Texto" Target="_blank" />
</div>
</div>
</div>
<br />
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright date date-picker date date-picker" style="width: 150px">
<asp:TextBox ID="TxtFechaOS" CssClass="form-control" runat="server" Width="150px"></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: 9px;">
<asp:LinkButton ID="LnkTxtFechaOS" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="TxtFechaOS" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="TxtFechaOS" PopupButtonID="LnkTxtFechaOS" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RfvTxtFechaOS" runat="server" ControlToValidate="TxtFechaOS" Display="None"
ErrorMessage="El campo <b>''Fecha''</b> es requerido por la aplicación" ValidationGroup="GrpAsignar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="vceTxtFechaOS" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaOS" Width="350px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtFechaOS.ClientID.ToString()%>">Fecha: </label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlSubProyectoOS" AppendDataBoundItems="true" CssClass="form-control select2me" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%" Height="30px">
<asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVDdlSubProyectoOS" InitialValue="-1" runat="server" ControlToValidate="DdlSubProyectoOS" Display="None"
ErrorMessage="El campo <b>''''</b> es requerido por la aplicación" ValidationGroup="GrpAsignar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDdlSubProyectoOS" runat="server" HighlightCssClass="vco" TargetControlID="RFVDdlSubProyectoOS" Width="350px"></ajax:ValidatorCalloutExtender>
<label for="<%= DdlSubProyectoOS.ClientID.ToString()%>">
<asp:Label runat="server" ID="LblSubProyectoOS"></asp:Label>
</label>
</div>
</div>
</div>
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright selectmodal">
<asp:Label runat="server" Style="width: 90%; color: #888888;" AssociatedControlID="DdlClientesWS">Cliente:</asp:Label>
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientesWS" Width="100%" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 267px;"></ADS:Dropdownlost>
</div>
<div class="form-group col-md-6 form-md-line-input input-iconright selectmodal" style="margin-top:15px;">
<asp:TextBox ID="TxtSolicito" runat="server" CssClass="form-control" Width="100%" MaxLength="50" />
<label for="<%= TxtSolicito.ClientID.ToString()%>" style="width:269px">Solicitó: </label>
</div>
</div>
<div class="row">
<div class="col-md-12">
<%--DESCRIPCION--%>
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtDescripcion" runat="server" MaxLength="500" CssClass="form-control" />
<label for="<%= TxtDescripcion.ClientID.ToString()%>">Descripción: </label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<%--UBICACION--%>
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtDireccion" runat="server" MaxLength="300" CssClass="form-control" />
<label for="<%= TxtDireccion.ClientID.ToString()%>">Ubicación: </label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<%--TELEFONO--%>
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtTelefono" CssClass="form-control" runat="server" MaxLength="10"></asp:TextBox>
<ajax:MaskedEditExtender ID="MaskedEditExtender4" runat="server" TargetControlID="TxtTelefono" ClearMaskOnLostFocus="false" MaskType="None" Mask="(999) 999-9999" MessageValidatorTip="true" InputDirection="LeftToRight" ErrorTooltipEnabled="True"></ajax:MaskedEditExtender>
<label for="<%= TxtTelefono.ClientID.ToString()%>">Telefono: </label>
</div>
</div>
<div class="col-md-6">
<%--CORREO--%>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtEmail" CssClass="form-control" runat="server" MaxLength="300"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilTxtEmail" runat="server" FilterType="Numbers, LowercaseLetters, UppercaseLetters, Custom" ValidChars=".;@_-ñ" TargetControlID="TxtEmail" />
<asp:RegularExpressionValidator ID="REVEmail" runat="server" CssClass="help-block errorimput" ValidationExpression="(([a-zA-Z0-9ñÑ_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)(\s*;\s*|\s*$))*" ControlToValidate="TxtEmail" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Correo''</b> no es válido, por favor ingrése uno correcto." ValidationGroup="GrpAsignar"></asp:RegularExpressionValidator>
<asp:Label AssociatedControlID="TxtEmail" runat="server" Text="Correo:"></asp:Label>
</div>
</div>
</div>
<hr style="border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));" />
<div class="row">
<div class="col-md-6">
<%--MODELO--%>
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlModeloAuto" CssClass="form-control select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="ModeloMarca" Width="100%"
DataValueField="CveModeloAuto">
</asp:DropDownList>
<label for="<%= DdlModeloAuto.ClientID.ToString()%>">Modelo: </label>
</div>
</div>
<div class="col-md-6">
<%--AÑO--%>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtAnio" CssClass="form-control" runat="server" MaxLength="4"></asp:TextBox>
<asp:Label AssociatedControlID="TxtAnio" runat="server" Text="Año:"></asp:Label>
</div>
</div>
</div>
<hr style="border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));" />
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlTecnicoAsignar" Width="100%" runat="server" CssClass="form-control select2me" DataTextField="Nombre" Visible="true" DataValueField="CveUsuario">
</asp:DropDownList>
<%--<asp:RequiredFieldValidator ID="RfvDdlTecnicoAsignar" InitialValue="-1" runat="server" ControlToValidate="DdlTecnicoAsignar" Display="None"
ErrorMessage="El campo <b>''Técnico''</b> es requerido por la aplicación" ValidationGroup="GrpAsignar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERfvDdlTecnicoAsignar" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlTecnicoAsignar" Width="350px"></ajax:ValidatorCalloutExtender>--%>
<label for="<%= DdlTecnicoAsignar.ClientID.ToString()%>">Técnico: </label>
</div>
</div>
<div class="col-md-6">
<%-- <div class="form-group form-md-line-input input-iconright date date-picker date date-picker" style="width: 150px">
<asp:TextBox ID="TxtModalFechaOS" CssClass="form-control" runat="server" Width="150px"></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: 9px;">
<asp:LinkButton ID="LnkTxtModalFechaOS" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="METxtModalFechaOS" runat="server" TargetControlID="TxtModalFechaOS" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CETxtModalFechaOS" TargetControlID="TxtModalFechaOS" PopupButtonID="LnkTxtModalFechaOS" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<label for="<%= TxtModalFechaOS.ClientID.ToString()%>">Fecha: </label>
</div>--%>
<div class="form-group col-md-6 form-md-line-input input-iconright" style="padding-left: 0px !important;">
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy hh:mm" style="width: 70%;">
<asp:TextBox ID="TxtModalFechaOS" ClientIDMode="Static" runat="server" Width="140px" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18"></asp:TextBox>
<label style="margin-left: -3px; padding-bottom: 30px; width: 70%;" for="<%= TxtModalFechaOS.ClientID.ToString()%>">Fecha:</label>
</div>
</div>
</div>
</div>
<div class="row">
<%-- <div class="col-md-6">
<div class="form-group form-md-line-input">
<cc1:TimeSelector ID="TSTimeSelector" runat="server" DisplaySeconds="false" DisplayButtons="false" Visible="true" CssClass="form-control" Font-Size="13pt"></cc1:TimeSelector>
<label for="<%= TSTimeSelector.ClientID.ToString()%>">Hora Servicio: </label>
</div>
</div>--%>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton runat="server" ID="LnkModalAsignar" CssClass="btn btn-success" Text="Asignar" OnClick="LnkModalAsignar_Click" ValidationGroup="GrpAsignar" ></asp:LinkButton>
<asp:LinkButton runat="server" ID="LnkModalAsignar" CssClass="btn btn-success" Text="Guardar" OnClick="LnkModalAsignar_Click" ValidationGroup="GrpAsignar"></asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div>
</div>
@@ -508,6 +646,25 @@
</asp:UpdatePanel>
</div>
<div style="display:none">
<asp:UpdatePanel ID="UpCommando" runat="server">
<ContentTemplate>
<asp:Button runat="server" ID="LnkCommando" OnClick="LnkCommando_Click"></asp:Button>
<asp:HiddenField runat="server" ID="HFCveOS" Value="-1" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="HFCveOsDetalle" Value="-1" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="HFOCveOIEvento" Value="-1" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="HFCveUsuarioAtendio" Value="-1" ClientIDMode="Static" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
@@ -550,7 +707,7 @@
function selectDate(start, end, allDay) {
$('#ModalAgenda').modal('show');
<%-- $('#ModalAgenda').modal('show');
$("#SpanTituloAgenda").html("Agregar Evento");
$("#HdnCveEvento").val(-1);
@@ -579,14 +736,32 @@
$("#TxtFechaFinRecurrencia").val("");
$("#ChkGastoRecurrente").prop('checked', false);
$("#TxtImporteGastoRecurrente").val("");
$("#TxtImporteGastoRecurrente").val("");--%>
}
function updateEvent(event, element) {
$('#ModalAgenda').modal('show');
//$('#ModalAgenda').modal('show');
// $get("HdnDiasSemanaAgendar").value =
$("#DivDescripcionUpdate").css("display", "block");
$('#<%=HFCveOS.ClientID%>').val(event.CveOS);
$('#<%=HFCveOsDetalle.ClientID%>').val(event.CveOSDetalle);
$('#<%=HFCveUsuarioAtendio.ClientID%>').val(event.CveUsuarioAtendio);
$('#<%=HFOCveOIEvento.ClientID%>').val(event.id);
$('#<%=LnkCommando.ClientID%>').click();
<%-- $("#DivDescripcionUpdate").css("display", "block");
$("#<%=TxtDescripcionAgenda.ClientID%>").css("display", "none");
$("#HdnCveEvento").val(event.id);
@@ -667,7 +842,7 @@
$("#<%=LblEmpresaCRM.ClientID%>").text(event.EmpresaCRM);
} else {
$("#<%=LblEmpresaCRM.ClientID%>").css("display", "none")
}
}--%>
}
function RadionButtonSelectedValueSet(name, SelectdValue) {
@@ -887,6 +1062,8 @@
function InitCalendar() {
$(document).ready(function () {
Calendario();
$("#TxtModalFechaOS").val("" + start.format("DD/MM/YYYY 08:00"));
});
}

View File

@@ -7,6 +7,8 @@ Imports Microsoft.Reporting.WebForms
Imports System.Web.Services
Imports Telerik.Web.UI
Imports APP_Code_CSharp
Imports AjaxControlToolkit.AsyncFileUpload.Constants
Imports System
Partial Class OS_RepServicioDomicilio
Inherits ClsPaginas
@@ -115,15 +117,15 @@ Partial Class OS_RepServicioDomicilio
Private Property CveOSAsignar As Integer
Private Property CveOrdenServicioTipo As Integer
Get
If ViewState("CveOSAsignar") Is Nothing Then
ViewState("CveOSAsignar") = -1
If ViewState("CveOrdenServicioTipo") Is Nothing Then
ViewState("CveOrdenServicioTipo") = -1
End If
Return ViewState("CveOSAsignar").ToString.ToEntero
Return ViewState("CveOrdenServicioTipo").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveOSAsignar") = value
ViewState("CveOrdenServicioTipo") = value
End Set
End Property
@@ -176,9 +178,89 @@ Partial Class OS_RepServicioDomicilio
End Property
Private Property CveOSAsignar As Integer
Get
If ViewState("CveOSAsignar") Is Nothing Then
ViewState("CveOSAsignar") = -1
End If
Return ViewState("CveOSAsignar").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveOSAsignar") = value
End Set
End Property
Private Property TipoAccion As OSModalTipoAccion
Get
If ViewState("TipoAccion") Is Nothing Then
ViewState("TipoAccion") = OSModalTipoAccion.Agregar
End If
Return DirectCast(ViewState("TipoAccion"), OSModalTipoAccion)
End Get
Set(value As OSModalTipoAccion)
ViewState("TipoAccion") = value
End Set
End Property
Private Property CveTecnicoAsignarOrioginal As Integer
Get
If ViewState("CveTecnicoAsignarOrioginal") Is Nothing Then
ViewState("CveTecnicoAsignarOrioginal") = -1
End If
Return ViewState("CveTecnicoAsignarOrioginal").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveTecnicoAsignarOrioginal") = value
End Set
End Property
Private Property FechaInicioOriginal As DateTime
Get
If ViewState("FechaInicioOriginal") Is Nothing Then
ViewState("FechaInicioOriginal") = DateTime.Now
End If
Return ViewState("FechaInicioOriginal").ToString.ToDateTime
End Get
Set(value As DateTime)
ViewState("FechaInicioOriginal") = value
End Set
End Property
Private Property CveClientePublicoGeneral As Integer
Get
If ViewState("CveClientePublicoGeneral") Is Nothing Then
ViewState("CveClientePublicoGeneral") = -1
End If
Return ViewState("CveClientePublicoGeneral").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveClientePublicoGeneral") = value
End Set
End Property
Private Property NombreClientePublicoGeneral As String
Get
If ViewState("NombreClientePublicoGeneral") Is Nothing Then
ViewState("NombreClientePublicoGeneral") = ""
End If
Return ViewState("NombreClientePublicoGeneral").ToString
End Get
Set(value As String)
ViewState("NombreClientePublicoGeneral") = value
End Set
End Property
Enum OSModalTipoAccion
Agregar
Actualizacion
Asignacion
End Enum
#End Region
@@ -188,31 +270,21 @@ Partial Class OS_RepServicioDomicilio
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyectoEtiqueta)
LblSubProyectoFiltro.Text = LblSubProyectoEtiqueta.Text
LblModalSubProyectoLabel.Text = LblSubProyectoEtiqueta.Text
' LblModalSubProyectoLabel.Text = LblSubProyectoEtiqueta.Text
CargaTecnicos()
ConsultaOrdenesServiciosNoAsignadas()
CargaOrdenesServiciosNoAsignadas()
CargaTecnicosAsignar()
InicializaCalendar()
GetCargaTiposOrden()
cargaDropsModal()
CargaClientePublicoGeneral()
End If
End Sub
#Region "CARGAS"
Private Sub SetValues()
End Sub
Private Sub CargaDatos()
End Sub
#End Region
#Region " FULL CALENDAR "
@@ -274,7 +346,7 @@ Partial Class OS_RepServicioDomicilio
DdlTecnicoAsignar.DataBind()
DdlTecnicoAsignar.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
UpModalOSAsginar.Update()
UpModalOS.Update()
End Sub
@@ -451,6 +523,8 @@ Partial Class OS_RepServicioDomicilio
DdlOrdenesSinAsignar.DataSource = DT_OSNoAsignadas
DdlOrdenesSinAsignar.DataBind()
DdlOrdenesSinAsignar.Items.Insert(0, New ListItem("Seleccione Uno", "-1"))
UpOrdenesSinAsignar.Update()
End Sub
@@ -493,115 +567,400 @@ Partial Class OS_RepServicioDomicilio
Protected Sub LnkOrdenesSinAsignarMostarModal_Click(sender As Object, e As EventArgs)
Protected Sub LnlAgregarServicioDomiciolio_Click(sender As Object, e As EventArgs)
CveOSDetalleAsignar = -1
CveOSAsignar = -1
CveSubProyectoAsignar = -1
Dim DTable As DataTable = DT_OSNoAsignadas.FiltraParametros($"CveOSDetalle={DdlOrdenesSinAsignar.SelectedValue}")
HFCveOS.Value = "-1"
HFCveOsDetalle.Value = "-1"
HFOCveOIEvento.Value = "-1"
HFCveUsuarioAtendio.Value = "-1"
DdlOrdenesSinAsignar.SelectedValueExist(-1)
LipiaModalOS()
TipoAccion = OSModalTipoAccion.Agregar
MostarModal()
If DTable.Rows.Count = 1 Then
End Sub
CveOSDetalleAsignar = DTable.Rows(0)("CveOSDetalle").ToString.ToEntero
CveSubProyectoAsignar = DTable.Rows(0)("CveSubProyecto").ToString.ToEntero
CveOSAsignar = DTable.Rows(0)("CveOS").ToString.ToEntero
FolioAsignar = DTable.Rows(0)("Folio").ToString
Private Sub cargaDropsModal()
LblModalConcepto.Text = DTable.Rows(0)("Concepto").ToString
LblModalCliente.Text = DTable.Rows(0)("Nombre").ToString
LblModalSubProyecto.Text = DTable.Rows(0)("SubProyecto").ToString
'DdlClientesWS.ddl.Items.Clear()
'DdlClientesWS.txtText.Value = ""
'DdlClientesWS.txtValue.Value = ""
UpModalOSAsginar.Update()
RegistraScript("$('#DVModalOSAsginar').modal('show');")
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlClientesWS.setEsWebService(True)
Else
Alert("Error al cargar datos.")
DdlClientesWS.setEsWebService(False)
CargaClientes()
End If
'DdlSubProyectoOS.Items.Clear()
CargarCentrosDeCosto(Nothing, DdlSubProyectoOS, Nothing, LblSubProyectoOS)
'DdlModeloAuto.Items.Clear()
Dim ObjGral As New ClsGenerales
If ObjGral.ModelosAutosGet(1, UsuarioActual.CveEmpresa) Then
DdlModeloAuto.DataSource = ObjGral.DtResultados
End If
ObjGral.Dispose()
DdlModeloAuto.DataBind()
DdlModeloAuto.Items.Insert(0, New ListItem("Sin Asignar", "-1"))
End Sub
Private Sub CargaClientes()
If Not UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlClientesWS.ddl.Items.Clear()
DdlClientesWS.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
DdlClientesWS.DataBind()
DdlClientesWS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
End Sub
Private Sub LipiaModalOS()
TxtSolicito.Text = ""
TxtDescripcion.Text = ""
TxtFechaOS.Text = ""
DdlSubProyectoOS.SelectedValueExist("-1")
TxtDireccion.Text = ""
TxtEmail.Text = ""
TxtTelefono.Text = ""
DdlClientesWS.txtText.Value = ""
DdlClientesWS.txtValue.Value = ""
DdlClientesWS.ddl.SelectedValueExist("-1")
DdlTecnicoAsignar.SelectedValueExist("-1")
DdlModeloAuto.SelectedValueExist("-1")
TxtAnio.Text = ""
TxtModalFechaOS.Text = ""
'TSTimeSelector.Hour = Now.Hour
'TSTimeSelector.Minute = Now.Minute
CveTecnicoAsignarOrioginal = -1
FechaInicioOriginal = DateTime.Now
DVFolio.Visible = False
End Sub
Protected Sub LnkOrdenesSinAsignarMostarModal_Click(sender As Object, e As EventArgs)
TipoAccion = OSModalTipoAccion.Asignacion
HFCveOS.Value = "-1"
MostarModal()
End Sub
Private Sub MostarModal()
LipiaModalOS()
If TipoAccion = OSModalTipoAccion.Agregar Then
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlClientesWS.txtValue.Value = CveClientePublicoGeneral.ToString
DdlClientesWS.txtText.Value = NombreClientePublicoGeneral
Else
DdlClientesWS.ddl.SelectedValueExist(CveClientePublicoGeneral)
End If
TxtFechaOS.Text = Now.ToString("dd/MM/yyyy")
RegistraScript("$('#DVModalOS').modal('show');")
LblModalOStitulo.Text = "Agregar Orden de Servicio"
ElseIf TipoAccion = OSModalTipoAccion.Actualizacion Or TipoAccion = OSModalTipoAccion.Asignacion Then
'cargaDropsModal()
LblModalOStitulo.Text = "Actualizar Orden de Servicio"
Dim ObjOS As New ClsOS()
Dim IDOSDetalle As Integer = 1
Dim SeFacturara = ""
Dim CveOsConsultar As Integer = HFCveOS.Value.ToEntero
If Not CveOsConsultar > 0 AndAlso Not DdlOrdenesSinAsignar.SelectedValue.ToEntero > 0 Then
Alert("clave de orden de servicio no encontrada.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If CveOsConsultar > 0 Then
DdlOrdenesSinAsignar.SelectedValueExist(-1)
End If
If ObjOS.GetOrdenesServicios(CveOsConsultar, -1, -1, -1, -1, UsuarioActual.CveEmpresa, CveOSDetalle:=DdlOrdenesSinAsignar.SelectedValue.ToEntero) Then
DVFolio.Visible = True
HLkFolio.Text = ObjOS.Folio.ToString
HLkFolio.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveOS={ObjOS.CveOS}"
HFCveOS.Value = ObjOS.CveOS.ToString
HFCveOsDetalle.Value = ObjOS.CveOSDetalle.ToString
TxtDescripcion.Text = ObjOS.Descripcion
TxtSolicito.Text = ObjOS.PersonaSolicito
TxtFechaOS.Text = ObjOS.FechaRecepcion.ToString("dd/MM/yyyy")
DdlSubProyectoOS.SelectedValueExist(ObjOS.CveSubProyecto)
TxtDireccion.Text = ObjOS.DtResultados.Rows(0)("DireccionOS").ToString
TxtEmail.Text = ObjOS.CorreoOS
TxtTelefono.Text = ObjOS.Telefono
DdlClientesWS.txtText.Value = ObjOS.Cliente
DdlClientesWS.txtValue.Value = ObjOS.CveCliente.ToString
DdlClientesWS.ddl.SelectedValueExist(ObjOS.CveCliente.ToString)
DdlModeloAuto.SelectedValueExist(ObjOS.CveModeloAuto)
TxtAnio.Text = ObjOS.Año
If TipoAccion = OSModalTipoAccion.Actualizacion Then
DdlTecnicoAsignar.SelectedValueExist(ObjOS.CveUsuarioAtendio)
CveTecnicoAsignarOrioginal = ObjOS.CveUsuarioAtendio
FechaInicioOriginal = ObjOS.FechaInicio
TxtModalFechaOS.Text = ObjOS.FechaInicio.ToString.ToDate.ToString("dd/MM/yyyy hh:mm")
'TSTimeSelector.Hour = If(ObjOS.FechaInicio.Hour > 12, ObjOS.FechaInicio.Hour - 12, ObjOS.FechaInicio.Hour)
'TSTimeSelector.Minute = ObjOS.FechaInicio.Minute
'TSTimeSelector.AmPm = If(ObjOS.FechaInicio.Hour > 12, MKB.TimePicker.TimeSelector.AmPmSpec.PM, MKB.TimePicker.TimeSelector.AmPmSpec.AM)
End If
RegistraScript("$('#DVModalOS').modal('show');")
End If
ObjOS.Dispose()
LblModalOStitulo.Text = "Actualizar Orden de Servicio"
ElseIf False Then ' Anterior
CveOSDetalleAsignar = -1
CveOSAsignar = -1
CveSubProyectoAsignar = -1
Dim DTable As DataTable = DT_OSNoAsignadas.FiltraParametros($"CveOSDetalle={DdlOrdenesSinAsignar.SelectedValue}")
If DTable.Rows.Count = 1 Then
CveOSDetalleAsignar = DTable.Rows(0)("CveOSDetalle").ToString.ToEntero
CveSubProyectoAsignar = DTable.Rows(0)("CveSubProyecto").ToString.ToEntero
CveOSAsignar = DTable.Rows(0)("CveOS").ToString.ToEntero
FolioAsignar = DTable.Rows(0)("Folio").ToString
'LblModalConcepto.Text = DTable.Rows(0)("Concepto").ToString
'LblModalCliente.Text = DTable.Rows(0)("Nombre").ToString
'LblModalSubProyecto.Text = DTable.Rows(0)("SubProyecto").ToString
LblModalOStitulo.Text = "Asignar Orden de Servicio"
RegistraScript("$('#DVModalOS').modal('show');")
Else
Alert("Error al cargar datos.")
End If
End If
UpModalOS.Update()
End Sub
Protected Sub LnkModalAsignar_Click(sender As Object, e As EventArgs)
Dim TieneError As Boolean = False
Dim CveEstatusOS = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC").ToEntero
Dim CveEstatusSolicidato = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1", "CveEstatusOrdenServicio ASC").ToEntero
Dim CveEstatusAsiganada = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC").ToEntero
Dim CorreoAsignado As String = ""
Dim CveCliente As Integer = If(Not DdlClientesWS.SelectedValue.ToEntero > 0, DdlClientesWS.txtValue.Value.ToString.ToEntero, DdlClientesWS.SelectedValue.ToEntero)
Dim CvePSDetalle As Integer = UsuarioActual.Empresa.Funcionalidad(708).ToEntero
Dim EsNueva As Boolean = False
Dim picker As MKB.TimePicker.TimeSelector = TSTimeSelector
Dim time As DateTime
time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", TxtModalFechaOS.Text, picker.Hour, picker.Minute, picker.AmPm))
Dim CveOS As Integer = HFCveOS.Value.ToEntero
Dim CveOsDetalle As Integer = HFCveOsDetalle.Value.ToEntero
If Not CvePSDetalle > 0 Then
Alert("No esta asiganado el producto del detalle a la funcionalidad.")
Exit Sub
End If
If Not CveCliente > 0 Then
Alert("Debe seleccionar una cliente.")
Exit Sub
End If
If TipoAccion = OSModalTipoAccion.Asignacion Then
If Not DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
Alert("El tecnico es requerido", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If TxtModalFechaOS.Text.Length = 0 Then
Alert("La Fecha de asiganción es requerida", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Dim ObjOS As New ClsOS
ObjOS.IniciaTransacSQL()
If ObjOS.GetSubProyectosEstatusInicial(DdlTecnicoAsignar.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then
Dim subProyectoDelTecnico As DataTable
subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros($"CveSubProyecto = {CveSubProyectoAsignar}")
If subProyectoDelTecnico.Rows.Count > 0 Then
If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOSDetalleAsignar, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, time, UsuarioActual.CveEmpresa) Then
If Not CveOS > 0 Then
EsNueva = True
Dim CveEstatosOrdenNueva = CveEstatusSolicidato
If DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
CveEstatosOrdenNueva = CveEstatusAsiganada
End If
If ObjOS.AddOrdenesServicios(CveCliente, DdlSubProyectoOS.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaOS.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, CveEstatosOrdenNueva,
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, CveOrdenServicioTipo, CveClienteSucursal:=-1,
Direccion:=TxtDireccion.Text, Telefono:=TxtTelefono.Text, CveModeloAuto:=DdlModeloAuto.SelectedValue.ToEntero, Año:=TxtAnio.Text, Correo:=TxtEmail.Text) Then
CveOS = ObjOS.CveOS
CveOsDetalle = ObjOS.AddOrdenesServiciosDetalle(CveOS, CvePSDetalle, 1, -1, -1, "", False, True, False, -1, "-1", "-1", "-1", "", UsuarioActual.CveUsuario, "")
If Not CveOsDetalle > 0 Then
TieneError = True
End If
Else
Alert("El técnico y la Orden de Servicio deben pertenecer al mismo subProyecto", TipoMensaje.MsgAdvertencia)
TieneError = True
End If
Else
Dim CveEstatusOrden = CveEstatusSolicidato
If DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
CveEstatusOrden = CveEstatusAsiganada
End If
If TipoAccion = OSModalTipoAccion.Asignacion Then
CveEstatusOrden = CveEstatusAsiganada
End If
CveOS = HFCveOS.Value.ToEntero
CveOsDetalle = HFCveOsDetalle.Value.ToEntero
If CveOS > 0 Then
If Not ObjOS.UpdateOrdenesServicios(TxtSolicito.Text, TxtFechaOS.Text, TxtDescripcion.Text, UsuarioActual.CveUsuario, CveEstatusOrden, CveOS, UsuarioActual.CveUsuario,
-1, CveClienteSucursal:=-1, Direccion:=TxtDireccion.Text, Telefono:=TxtTelefono.Text,
CveModeloAuto:=DdlModeloAuto.SelectedValue.ToEntero, Año:=TxtAnio.Text, CveSubProyecto:=DdlSubProyectoOS.SelectedValue.ToEntero, Correo:=TxtEmail.Text) Then
TieneError = True
End If
Else
TieneError = True
End If
End If
If Not TieneError Then
'Dim picker As MKB.TimePicker.TimeSelector = TSTimeSelector
'Dim time As DateTime
'time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", TxtModalFechaOS.Text, picker.Hour, picker.Minute, picker.AmPm))
If Not ObjOS.UpdateOrdenesServiciosEstatus(CveEstatusOS, UsuarioActual.CveUsuario, CveOSAsignar) Then
TieneError = True
If Not TieneError AndAlso CveOS > 0 AndAlso CveOsDetalle > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 AndAlso
(HFCveUsuarioAtendio.Value.ToEntero <> DdlTecnicoAsignar.SelectedValue.ToEntero Or
TxtModalFechaOS.Text.ToDate <> FechaInicioOriginal.ToString.ToDate Or
TxtModalFechaOS.Text.ToDateTime() <> FechaInicioOriginal) Then
If ObjOS.GetSubProyectosEstatusInicial(DdlTecnicoAsignar.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then
Dim subProyectoDelTecnico As DataTable
subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros($"CveSubProyecto = {DdlSubProyectoOS.SelectedValue.ToEntero}")
If subProyectoDelTecnico.Rows.Count > 0 Then
If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOsDetalle, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, TxtModalFechaOS.Text.ToDateTime(), UsuarioActual.CveEmpresa) Then
TieneError = True
End If
Else
Alert("El técnico y la Orden de Servicio deben pertenecer al mismo subProyecto", TipoMensaje.MsgAdvertencia)
TieneError = True
End If
End If
If Not TieneError Then
Dim RecurrenciaTipo = 0, Frecuencia = -1, DiasSemana = "-1", Dias = -1, Mes = -1, RecurrenciaFin = "-1"
Dim OIDescripcion As String = $"{DdlTecnicoAsignar.SelectedItem.Text} <b><a href='/OS/OrdenesServicios.aspx?CveOS={CveOSAsignar}' target='_blank' class='Texto' >Orden de servicio {FolioAsignar} </a></b>"
Dim ObjEventos As New ClsOIEventos(ObjOS.IniciaTransacSQL())
If Not ObjEventos.AddEventoAgenda(2, DdlTecnicoAsignar.SelectedItem.Text, OIDescripcion, 2, time, time.AddHours(1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=2,
Importe:=0, CveOS:=CveOSAsignar, CveSubProyecto:=CveSubProyectoAsignar) Then
If Not ObjOS.UpdateOrdenesServiciosEstatus(CveEstatusAsiganada, UsuarioActual.CveUsuario, CveOS) Then
TieneError = True
End If
If Not TieneError Then
Dim ObjEventos As New ClsOIEventos(ObjOS.IniciaTransacSQL())
If HFOCveOIEvento.Value.ToEntero > 0 Then
If Not ObjEventos.RemoveAgendaBitacora(HFOCveOIEvento.Value.ToEntero, UsuarioActual.CveEmpresa) Then
TieneError = True
End If
End If
Dim RecurrenciaTipo = 0, Frecuencia = -1, DiasSemana = "-1", Dias = -1, Mes = -1, RecurrenciaFin = "-1"
Dim OIDescripcion As String = $"{DdlTecnicoAsignar.SelectedItem.Text} <b><a href='/OS/OrdenesServicios.aspx?CveOS={CveOS}' target='_blank' class='Texto' >Orden de servicio {FolioAsignar} </a></b>"
If Not ObjEventos.AddEventoAgenda(2, DdlTecnicoAsignar.SelectedItem.Text, OIDescripcion, 2, TxtModalFechaOS.Text.ToDateTime(), TxtModalFechaOS.Text.ToDateTime().AddHours(1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=2,
Importe:=0, CveOS:=CveOS, CveSubProyecto:=DdlSubProyectoOS.SelectedValue.ToEntero) Then
TieneError = True
End If
End If
End If
CorreoAsignado = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString
End If
If Not TieneError Then
ObjOS.Commit()
Else
ObjOS.RollBack()
End If
ObjOS.Dispose()
If Not TieneError And CorreoAsignado.Trim.Length > 0 Then
Dim CorreoAsignado As String = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString
If Not TieneError And CorreoAsignado.Trim.Length > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
CorreoAsignado = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString
MandaCorreOS(CveOSAsignar, CorreoAsignado)
End If
If Not TieneError Then
ConsultaOrdenesServiciosNoAsignadas()
Alert("Orden asignada correctamente.")
RegistraScript("$('#DVModalOSAsginar').modal('hide');Calendario();")
CargaOrdenesServiciosNoAsignadas()
If TipoAccion = OSModalTipoAccion.Asignacion Then
Alert("Orden asignada correctamente.")
ElseIf TipoAccion = OSModalTipoAccion.Agregar Then
Alert("Orden Guardada correctamente.")
ElseIf TipoAccion = OSModalTipoAccion.Actualizacion Then
Alert("Orden actualizada correctamente.")
End If
RegistraScript("$('#DVModalOS').modal('hide');Calendario();")
End If
End Sub
Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String)
@@ -762,4 +1121,76 @@ Partial Class OS_RepServicioDomicilio
End Sub
Private Sub GetCargaTiposOrden()
Dim ObjOS As New ClsOS
If ObjOS.GetTipoOrdenesServicios(UsuarioActual.CveEmpresa) AndAlso ObjOS.DtResultados IsNot Nothing AndAlso ObjOS.DtResultados.Rows.Count > 0 Then
CveOrdenServicioTipo = ObjOS.DtResultados.FiltroPrimeroValor("CveOrdenServicioTipo").ToEntero
Else
CveOrdenServicioTipo = -1
End If
ObjOS.Dispose()
End Sub
Protected Sub LnkCommando_Click(sender As Object, e As EventArgs)
' Alert($"HFCveOS:{HFCveOS.Value}, HFCveOsDetalle:{HFCveOsDetalle.Value }, HFCveOIEvento:{HFOCveOIEvento.Value}")
TipoAccion = OSModalTipoAccion.Actualizacion
'RegistraScript("$('#DVModalOS').modal('show');")
MostarModal()
End Sub
Protected Sub DdlTecnicoAsignar_SelectedIndexChanged(sender As Object, e As EventArgs)
If TipoAccion = OSModalTipoAccion.Asignacion Then
'DdlTecnicoAsignar.Visible = True
'RfvDdlTecnicoAsignar.Visible = True
'VCERfvDdlTecnicoAsignar.Visible = True
'RfvTxtModalFechaOS.Visible = True
'VceRfvTxtModalFechaOS.Enabled = True
ElseIf TipoAccion = OSModalTipoAccion.Agregar Or TipoAccion = OSModalTipoAccion.Actualizacion Then
'DdlTecnicoAsignar.Visible = False
'RfvDdlTecnicoAsignar.Visible = False
' VCERfvDdlTecnicoAsignar.Visible = False
'RfvTxtModalFechaOS.Visible = False
'VceRfvTxtModalFechaOS.Enabled = False
End If
UpModalOS.Update()
End Sub
Private Sub CargaClientePublicoGeneral()
Dim ObjCliente As New ClsClientes()
If ObjCliente.GetClientes(-1, "PUBLICO EN GENERAL", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1) Then
If ObjCliente.DtResultados.Rows.Count > 0 Then
Me.CveClientePublicoGeneral = ObjCliente.CveCliente
Me.NombreClientePublicoGeneral = ObjCliente.Nombre
End If
End If
ObjCliente.Dispose()
End Sub
End Class