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 GemBox.Spreadsheet
Imports Newtonsoft.Json
Imports Telerik.Web.Apoc
Partial Class OC_OC
Inherits ClsPaginas
@@ -1042,12 +1043,45 @@ Partial Class OC_OC
If UsuarioActual.Empresa.CveEmpresa = 189 AndAlso CveOrdenCompra <> Nothing AndAlso CveOrdenCompra > 0 Then
BtnEdicionMasiva.Visible = True
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
MostrarUsuarioAsignado()
ValidaCancelacionConAlamcen()
End Sub
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
@@ -1280,7 +1314,11 @@ Partial Class OC_OC
DtDetalle.Columns.Add("CveTipoGastoObra", GetType(Integer))
DtDetalle.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
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("ClasificacionOG", GetType(String))
@@ -1481,7 +1519,6 @@ Partial Class OC_OC
TieneInventario = CBool(objOC.DtResultados.Rows(0)("TieneInvOC"))
DdlMetodoPago.SelectedValueExist(objOC.DtResultados.Rows(0)("MetodoPago"))
LnkDescargarDetalleExcel.Visible = True
If objOC.DtResultados.Rows(0)("CveSubProyectoEntrega").ToString.ToEntero > 0 Then
DdlSubProyectoEntrega.SelectedValueExist(objOC.DtResultados.Rows(0)("CveSubProyectoEntrega").ToString)
@@ -1797,7 +1834,7 @@ Partial Class OC_OC
CboE.DataBind()
End If
If objOC.GetOrdenesDetalle(pCveOrdenCompra, UsuarioActual.cveempresa) Then
If objOC.GetOrdenesDetalle(pCveOrdenCompra, UsuarioActual.CveEmpresa) Then
DtDetalle = objOC.DtResultados
End If
@@ -2270,6 +2307,7 @@ Partial Class OC_OC
CboUM.DataSource = GlobalDTProductosServiciosEquivalencias(Cvepsgvd, -1, UsuarioActual.CveEmpresa)
CboUM.DataBind()
End If
End Sub
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))
@@ -2336,15 +2374,17 @@ Partial Class OC_OC
ObjOC.Dispose()
End If
End If
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
txtPrecioUnitario.Focus()
UPPDetalle.Update()
End If
End Sub
#End Region
#Region " AGREGAR "
Protected Sub LbAgregar_Click(sender As Object, e As EventArgs) Handles LbAgregar.Click
'VALIDA CVEPS
If DdlP2.SelectedValue().ToEntero <= 0 Then
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
End If
'Valida cantidad en contrato
Dim TieneError As Boolean = False
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("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
dr("Cuadro") = If(CveCultivoCuadroDetalle > 0, Cuadro, "")
dr("Orden") = DtDetalle.Rows.Count + 1
DtDetalle.Rows.Add(dr)
DtDetalle.AcceptChanges()
@@ -9609,8 +9647,49 @@ Partial Class OC_OC
End Function
Protected Sub LnkDescargarDetalleExcel_Click(sender As Object, e As EventArgs)
GvD.ExportToExcel("des")
Protected Sub LnkDescargarPSExcel_Click(sender As Object, e As EventArgs)
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 Class

View File

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