This commit is contained in:
2024-11-11 16:25:46 -07:00
3 changed files with 438 additions and 289 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -7,6 +7,7 @@ Imports System.IO
Imports Extensiones Imports Extensiones
Imports GemBox.Spreadsheet Imports GemBox.Spreadsheet
Imports Newtonsoft.Json Imports Newtonsoft.Json
Imports Telerik.Web.Apoc
Partial Class OC_OC Partial Class OC_OC
Inherits ClsPaginas Inherits ClsPaginas
@@ -1042,12 +1043,45 @@ Partial Class OC_OC
If UsuarioActual.Empresa.CveEmpresa = 189 AndAlso CveOrdenCompra <> Nothing AndAlso CveOrdenCompra > 0 Then If UsuarioActual.Empresa.CveEmpresa = 189 AndAlso CveOrdenCompra <> Nothing AndAlso CveOrdenCompra > 0 Then
BtnEdicionMasiva.Visible = True BtnEdicionMasiva.Visible = True
End If End If
If CveOrdenCompra > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(382) = "1" OrElse UsuarioActual.CveRol = 1 Then
LnkDescargarPSExcel.Visible = True
End If
MostrarUsuarioAsignado()
ValidaCancelacionConAlamcen()
Me.Form.DefaultButton = ""
If CveOrdenCompra > 0 Then
GvD.Columns(20).Visible = False
Else
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
TxtCant.Text = "1"
TxtCant.Focus()
RegistraScript("abrirDdlPS();", "A1")
UPPDetalle.Update()
End If
End If
End If End If
MostrarUsuarioAsignado() End Sub
ValidaCancelacionConAlamcen() Protected Sub OrdenarGvPS(ByVal sender As Object, ByVal e As EventArgs)
Me.Form.DefaultButton = "" For Each row As GridViewRow In GvD.Rows
DtDetalle.Rows(row.RowIndex)("Orden") = row.FCTextBox("TxtOrden").Text.ToEntero()
Next
Dim resultados = From OrdenDT In DtDetalle
Order By OrdenDT("Orden").ToString().ToEntero()
Select OrdenDT
DtDetalle = resultados.CopyToDataTable
GvD.DataSource = DtDetalle
GvD.DataBind()
UPPDetalle.Update()
End Sub End Sub
@@ -1280,7 +1314,11 @@ Partial Class OC_OC
DtDetalle.Columns.Add("CveTipoGastoObra", GetType(Integer)) DtDetalle.Columns.Add("CveTipoGastoObra", GetType(Integer))
DtDetalle.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) DtDetalle.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
DtDetalle.Columns.Add("Cuadro", GetType(String)) DtDetalle.Columns.Add("Cuadro", GetType(String))
DtDetalle.Columns.Add("Orden", GetType(Integer))
DtDetalle.Columns.Add("CodPS", GetType(String))
DtDetalle.Columns.Add("Producto", GetType(String))
DtDetalle.Columns.Add("NumeroParte", GetType(String))
'DtDetalle.Columns.Add("CveOrdenCompraDetalle", GetType(Integer)) 'DtDetalle.Columns.Add("CveOrdenCompraDetalle", GetType(Integer))
' DtDetalle.Columns.Add("ClasificacionOG", GetType(String)) ' DtDetalle.Columns.Add("ClasificacionOG", GetType(String))
@@ -1481,7 +1519,6 @@ Partial Class OC_OC
TieneInventario = CBool(objOC.DtResultados.Rows(0)("TieneInvOC")) TieneInventario = CBool(objOC.DtResultados.Rows(0)("TieneInvOC"))
DdlMetodoPago.SelectedValueExist(objOC.DtResultados.Rows(0)("MetodoPago")) DdlMetodoPago.SelectedValueExist(objOC.DtResultados.Rows(0)("MetodoPago"))
LnkDescargarDetalleExcel.Visible = True
If objOC.DtResultados.Rows(0)("CveSubProyectoEntrega").ToString.ToEntero > 0 Then If objOC.DtResultados.Rows(0)("CveSubProyectoEntrega").ToString.ToEntero > 0 Then
DdlSubProyectoEntrega.SelectedValueExist(objOC.DtResultados.Rows(0)("CveSubProyectoEntrega").ToString) DdlSubProyectoEntrega.SelectedValueExist(objOC.DtResultados.Rows(0)("CveSubProyectoEntrega").ToString)
@@ -1797,7 +1834,7 @@ Partial Class OC_OC
CboE.DataBind() CboE.DataBind()
End If End If
If objOC.GetOrdenesDetalle(pCveOrdenCompra, UsuarioActual.cveempresa) Then If objOC.GetOrdenesDetalle(pCveOrdenCompra, UsuarioActual.CveEmpresa) Then
DtDetalle = objOC.DtResultados DtDetalle = objOC.DtResultados
End If End If
@@ -2270,6 +2307,7 @@ Partial Class OC_OC
CboUM.DataSource = GlobalDTProductosServiciosEquivalencias(Cvepsgvd, -1, UsuarioActual.CveEmpresa) CboUM.DataSource = GlobalDTProductosServiciosEquivalencias(Cvepsgvd, -1, UsuarioActual.CveEmpresa)
CboUM.DataBind() CboUM.DataBind()
End If End If
End Sub End Sub
Protected Sub LbVerInventario_Click(sender As Object, e As EventArgs) Handles LbVerInventario.Click Protected Sub LbVerInventario_Click(sender As Object, e As EventArgs) Handles LbVerInventario.Click
RegistraScript(String.Format("AbrirVentana('/Inventarios/PopUpExistenciasAlmacen.aspx?CvePS={0}',800,547,'N');", DdlP2.SelectedValue)) RegistraScript(String.Format("AbrirVentana('/Inventarios/PopUpExistenciasAlmacen.aspx?CvePS={0}',800,547,'N');", DdlP2.SelectedValue))
@@ -2336,15 +2374,17 @@ Partial Class OC_OC
ObjOC.Dispose() ObjOC.Dispose()
End If End If
End If End If
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
txtPrecioUnitario.Focus()
UPPDetalle.Update()
End If
End Sub End Sub
#End Region #End Region
#Region " AGREGAR " #Region " AGREGAR "
Protected Sub LbAgregar_Click(sender As Object, e As EventArgs) Handles LbAgregar.Click Protected Sub LbAgregar_Click(sender As Object, e As EventArgs) Handles LbAgregar.Click
'VALIDA CVEPS 'VALIDA CVEPS
If DdlP2.SelectedValue().ToEntero <= 0 Then If DdlP2.SelectedValue().ToEntero <= 0 Then
Alert("El campo <b>'Producto/Servicio'</b> es necesario, por favor seleccione uno.", TipoMensaje.MsgAdvertencia) Alert("El campo <b>'Producto/Servicio'</b> es necesario, por favor seleccione uno.", TipoMensaje.MsgAdvertencia)
@@ -2357,9 +2397,6 @@ Partial Class OC_OC
Exit Sub Exit Sub
End If End If
'Valida cantidad en contrato 'Valida cantidad en contrato
Dim TieneError As Boolean = False Dim TieneError As Boolean = False
Dim dttemp As New DataTable ' GlobalDTContratos().FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyecto.SelectedValue.ToString)) Dim dttemp As New DataTable ' GlobalDTContratos().FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyecto.SelectedValue.ToString))
@@ -2523,6 +2560,7 @@ Partial Class OC_OC
dr("CveTipoGastoObra") = CveTipoGastoObra dr("CveTipoGastoObra") = CveTipoGastoObra
dr("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle dr("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
dr("Cuadro") = If(CveCultivoCuadroDetalle > 0, Cuadro, "") dr("Cuadro") = If(CveCultivoCuadroDetalle > 0, Cuadro, "")
dr("Orden") = DtDetalle.Rows.Count + 1
DtDetalle.Rows.Add(dr) DtDetalle.Rows.Add(dr)
DtDetalle.AcceptChanges() DtDetalle.AcceptChanges()
@@ -9609,8 +9647,49 @@ Partial Class OC_OC
End Function End Function
Protected Sub LnkDescargarDetalleExcel_Click(sender As Object, e As EventArgs) Protected Sub LnkDescargarPSExcel_Click(sender As Object, e As EventArgs)
GvD.ExportToExcel("des")
Dim DtExcel As DataTable = (From row As GridViewRow In GvD.Rows.Cast(Of GridViewRow)
Where row.RowType = DataControlRowType.DataRow
Select New With
{
.Codigo = row.DataKey("CodPS"),
.CodigoProveedor = row.DataKey("NumeroParte"),
.Cantidad = row.DataKey("Cantidad").ToDecimal(),
.PU = row.DataKey("Importe").ToDecimal(),
.Descuento = row.DataKey("Descuento").ToDecimal(),
.PS = row.DataKey("Producto")
}).QueryToDataTable(True)
DtExcel.TableName = "OC"
DtExcel.Columns("Codigo").ColumnName = "Código"
DtExcel.Columns("CodigoProveedor").ColumnName = "Código de proveedor"
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
Dim FileExcel As New ExcelFile()
Dim worksheet As ExcelWorksheet = FileExcel.Worksheets.Add(DtExcel.TableName)
worksheet.InsertDataTable(DtExcel, New InsertDataTableOptions() With
{
.ColumnHeaders = True,
.StartRow = 0,
.StartColumn = 0
})
worksheet.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255))
worksheet.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255)
worksheet.Columns(2).Style.NumberFormat = "#,##0.00"
worksheet.Columns(3).Style.NumberFormat = "$#,##0.00_);($#,##0.00)"
worksheet.Columns(4).Style.NumberFormat = "$#,##0.00_);($#,##0.00)"
Dim columnCount As Integer = worksheet.CalculateMaxUsedColumns()
For i As Integer = 0 To columnCount
worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1))
Next
FileExcel.Save(Response, $"OC_{CveOrdenCompra}.xlsx", SaveOptions.XlsxDefault)
End Sub End Sub
End Class End Class

View File

@@ -35,11 +35,11 @@
<asp:TextBox ID="TxtContrasenia1" runat="server" TextMode="Password"></asp:TextBox> <asp:TextBox ID="TxtContrasenia1" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVContrasenia" runat="server" ErrorMessage="Contraseña Vacía" <asp:RequiredFieldValidator ID="RFVContrasenia" runat="server" ErrorMessage="Contraseña Vacía"
ControlToValidate="TxtContrasenia1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator> ControlToValidate="TxtContrasenia1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<%--<br /> <br />
<ajaxToolkit:PasswordStrength ID="ps1" runat="server" <ajaxToolkit:PasswordStrength ID="ps1" runat="server"
TargetControlID="TxtContrasenia1" RequiresUpperAndLowerCaseCharacters="true" TargetControlID="TxtContrasenia1" RequiresUpperAndLowerCaseCharacters="true"
MinimumNumericCharacters="1" MinimumSymbolCharacters="1" MinimumNumericCharacters="1" MinimumSymbolCharacters="1"
StrengthIndicatorType="Text" />--%> StrengthIndicatorType="Text" />
</th> </th>
</tr> </tr>
<tr> <tr>