asiganar contratodetalle

This commit is contained in:
Hector
2021-08-06 03:08:47 -07:00
parent 9c78bbe20b
commit 0754a10219

View File

@@ -18084,6 +18084,22 @@ Partial Class Compras_Compras
End If End If
End If End If
Dim DtpsTemp As DataTable = Nothing
Dim CveContratoDetalle As Integer = -1
Dim CveContrato As Integer = GlobalDTContratos(UsuarioActual.CveEmpresa, -1, DdlSubProyecto.SelectedValue.ToString.ToEntero).FiltroPrimeroValor("CveContrato").ToEntero
If CveContrato > 0 Then
Dim dttemp As New DataTable
dttemp.Columns.Add("CveSubProyecto", GetType(Integer))
dttemp.Columns.Add("CvePS", GetType(Integer))
Dim DrPS = dttemp.NewRow
DrPS("CveSubProyecto") = DdlSubProyecto.SelectedValue.ToString.ToEntero
DrPS("CvePS") = DdlPS.SelectedValue.ToString.ToEntero
dttemp.Rows.Add(DrPS)
DtpsTemp = GetPSContratoDetalle(CveContrato, dttemp)
If DtpsTemp IsNot Nothing AndAlso DtpsTemp.Rows.Count > 0 Then
CveContratoDetalle = DtpsTemp.FiltroPrimeroValor("CveContratoDetalle", String.Format("CvePS = {0}", DdlPS.SelectedValue.ToString.ToEntero)).ToEntero
End If
End If
'If dttemp IsNot Nothing AndAlso dttemp.Rows.Count > 0 Then 'If dttemp IsNot Nothing AndAlso dttemp.Rows.Count > 0 Then
' Dim drContrato As DataRow = dttemp.Rows(0) ' Dim drContrato As DataRow = dttemp.Rows(0)
@@ -18118,20 +18134,6 @@ Partial Class Compras_Compras
' End If ' End If
'End If 'End If
Dim ObjContratos As New ClsContratos
Dim CveContrato As Integer = GlobalDTContratos(UsuarioActual.CveEmpresa, -1, DdlSubProyecto.SelectedValue.ToEntero).FiltroPrimeroValor("CveContrato").ToEntero
Dim CveContratoDetalle As Integer = -1
If CveContrato > 0 Then
If ObjContratos.GetContratosDetalle(CveContrato, UsuarioActual.CveEmpresa) Then
CveContratoDetalle = ObjContratos.DtResultados.FiltroPrimeroValor("CveContratoDetalle", String.Format("CvePS = {0}", DdlPS.SelectedValue.ToString)).ToEntero
If CveContratoDetalle = 0 Then
CveContratoDetalle = -1
End If
End If
End If
ObjContratos.Dispose()
Select Case Modalidad Select Case Modalidad
Case "A" 'ADD Case "A" 'ADD
@@ -18146,7 +18148,6 @@ Partial Class Compras_Compras
Else Else
IVA = Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2) IVA = Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)
End If End If
ObjContratos.Dispose()
AddPS(TxtCantidad.Text.Trim.ToDouble, ddlUM.SelectedValue.ToEntero, ddlUM.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text, DdlPS.SelectedValue.ToEntero, DdlPS.SelectedText, HdnTipoPS.Value.ToEntero, AddPS(TxtCantidad.Text.Trim.ToDouble, ddlUM.SelectedValue.ToEntero, ddlUM.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text, DdlPS.SelectedValue.ToEntero, DdlPS.SelectedText, HdnTipoPS.Value.ToEntero,
DdlSubProyecto.SelectedValue.ToString, DdlSubProyecto.SelectedItem.Text, DdlProyecto.SelectedItem.Text, DdlProyecto.SelectedValue.ToString, TxtObsPS.Text.Trim, TxtPrecio.Text.Trim.ToDouble, Total, IVA, DdlSubProyecto.SelectedValue.ToString, DdlSubProyecto.SelectedItem.Text, DdlProyecto.SelectedItem.Text, DdlProyecto.SelectedValue.ToString, TxtObsPS.Text.Trim, TxtPrecio.Text.Trim.ToDouble, Total, IVA,
TxtRetIVAModal.Text.ToDouble / 100, TxtRetISRModal.Text.ToDouble / 100, TxtIEPSModal.Text.ToDouble / 100, 0, TxtDescuentoModal.Text.ToDouble, OtrosGastos:=TxtOtrosGastos.Text.ToDouble, CveTipoGasto:=DdlTipoGasto.SelectedValue.ToEntero, TipoGasto:=DdlTipoGasto.SelectedItem.Text, TxtRetIVAModal.Text.ToDouble / 100, TxtRetISRModal.Text.ToDouble / 100, TxtIEPSModal.Text.ToDouble / 100, 0, TxtDescuentoModal.Text.ToDouble, OtrosGastos:=TxtOtrosGastos.Text.ToDouble, CveTipoGasto:=DdlTipoGasto.SelectedValue.ToEntero, TipoGasto:=DdlTipoGasto.SelectedItem.Text,
@@ -18625,13 +18626,26 @@ Partial Class Compras_Compras
CveProyecto = DdlAsignarProyecto.SelectedValue.ToEntero() CveProyecto = DdlAsignarProyecto.SelectedValue.ToEntero()
End If End If
Dim CveContrato As Integer = GlobalDTContratos(UsuarioActual.CveEmpresa, -1, DdlAsignaSubProyecto.SelectedValue.ToEntero).FiltroPrimeroValor("CveContrato").ToEntero
Dim DtpsTemp As DataTable = Nothing
If CveContrato > 0 Then
DtpsTemp = GetPSContratoDetalle(CveContrato, TmpDT.FiltraParametros("", "", {"CveSubProyecto", "CvePS"}))
End If
For Each Dr As DataRow In TmpDT.Rows For Each Dr As DataRow In TmpDT.Rows
Dr("CveProyecto") = CveProyecto Dr("CveProyecto") = CveProyecto
Dr("Proyecto") = If(CveSubProyecto = -1, "SE", DdlAsignarProyecto.SelectedItem.Text) Dr("Proyecto") = If(CveSubProyecto = -1, "SE", DdlAsignarProyecto.SelectedItem.Text)
Dr("CveSubProyecto") = CveSubProyecto Dr("CveSubProyecto") = CveSubProyecto
Dr("SubProyecto") = If(CveSubProyecto = -1, "SE", DdlAsignaSubProyecto.SelectedItem.Text) Dr("SubProyecto") = If(CveSubProyecto = -1, "SE", DdlAsignaSubProyecto.SelectedItem.Text)
If DtpsTemp IsNot Nothing AndAlso DtpsTemp.Rows.Count > 0 Then
Dr("CveContratoDetalle") = DtpsTemp.FiltroPrimeroValor("CveContratoDetalle", String.Format("CvePS = {0}", Dr("CvePS"))).ToEntero
End If
Next Next
GvPS.DataSource = TmpDT.FiltraParametros("", "Consec") GvPS.DataSource = TmpDT.FiltraParametros("", "Consec")
GvPS.DataBind() GvPS.DataBind()
UpPS.Update() UpPS.Update()
@@ -18694,9 +18708,22 @@ Partial Class Compras_Compras
Dim PS As New ClsProductosServicios Dim PS As New ClsProductosServicios
Dim CvePS = -1 Dim CvePS = -1
Dim tPS = "" Dim tPS = ""
Dim CveSubProyecto As Integer = TmpDT.Rows(HdnAliasInd.Value.ToEntero)("CveSubProyecto").ToString.ToEntero
CvePS = DdlPSAlias2.SelectedValue.ToEntero CvePS = DdlPSAlias2.SelectedValue.ToEntero
tPS = DdlPSAlias2.SelectedText tPS = DdlPSAlias2.SelectedText
Dim DtpsTemp As DataTable = Nothing
Dim CveContrato As Integer = GlobalDTContratos(UsuarioActual.CveEmpresa, -1, CveSubProyecto).FiltroPrimeroValor("CveContrato").ToEntero
If CveContrato > 0 Then
Dim dttemp As New DataTable
dttemp.Columns.Add("CveSubProyecto", GetType(Integer))
dttemp.Columns.Add("CvePS", GetType(Integer))
Dim DrPS = dttemp.NewRow
DrPS("CveSubProyecto") = CveSubProyecto
DrPS("CvePS") = CvePS
dttemp.Rows.Add(DrPS)
DtpsTemp = GetPSContratoDetalle(CveContrato, dttemp)
End If
If PS.AddPSAlias(System.Web.HttpUtility.HtmlDecode(TxtPSAlias.Text.Trim), CvePS, UsuarioActual.CveUsuario) Then If PS.AddPSAlias(System.Web.HttpUtility.HtmlDecode(TxtPSAlias.Text.Trim), CvePS, UsuarioActual.CveUsuario) Then
GlobalDTProductosServiciosAlias(-1) = PS.DtResultados GlobalDTProductosServiciosAlias(-1) = PS.DtResultados
@@ -18711,6 +18738,9 @@ Partial Class Compras_Compras
TmpDT.Rows(HdnAliasInd.Value.ToEntero)("CveSATPS") = HdnPSAliasCveSATPS.Value.ToEntero TmpDT.Rows(HdnAliasInd.Value.ToEntero)("CveSATPS") = HdnPSAliasCveSATPS.Value.ToEntero
TmpDT.Rows(HdnAliasInd.Value.ToEntero)("SATClaveProductoServicio") = HdnPSAliasSATClavePS.Value TmpDT.Rows(HdnAliasInd.Value.ToEntero)("SATClaveProductoServicio") = HdnPSAliasSATClavePS.Value
TmpDT.Rows(HdnAliasInd.Value.ToEntero)("CveSATPSActualizado") = 0 TmpDT.Rows(HdnAliasInd.Value.ToEntero)("CveSATPSActualizado") = 0
If DtpsTemp IsNot Nothing AndAlso DtpsTemp.Rows.Count > 0 Then
TmpDT.Rows(HdnAliasInd.Value.ToEntero)("CveContratoDetalle") = DtpsTemp.FiltroPrimeroValor("CveContratoDetalle", String.Format("CvePS = {0}", CvePS)).ToEntero
End If
'busco si el producto está en otros renglones QUE NO LO TENGAN ASIGNADO, LO VINCULE 'busco si el producto está en otros renglones QUE NO LO TENGAN ASIGNADO, LO VINCULE
For Each drt As DataRow In TmpDT.Select($"PS ='{TxtPSAlias.Text.Trim}' and ISNULL(CvePS,0) = 0") For Each drt As DataRow In TmpDT.Select($"PS ='{TxtPSAlias.Text.Trim}' and ISNULL(CvePS,0) = 0")
@@ -18724,7 +18754,9 @@ Partial Class Compras_Compras
drt("CveSATPS") = HdnPSAliasCveSATPS.Value.ToEntero drt("CveSATPS") = HdnPSAliasCveSATPS.Value.ToEntero
drt("SATClaveProductoServicio") = HdnPSAliasSATClavePS.Value drt("SATClaveProductoServicio") = HdnPSAliasSATClavePS.Value
drt("CveSATPSActualizado") = 0 drt("CveSATPSActualizado") = 0
If DtpsTemp IsNot Nothing AndAlso DtpsTemp.Rows.Count > 0 Then
drt("CveContratoDetalle") = DtpsTemp.FiltroPrimeroValor("CveContratoDetalle", String.Format("CvePS = {0}", drt("CvePS"))).ToEntero
End If
Next Next
TmpDT.AcceptChanges() TmpDT.AcceptChanges()
@@ -20939,6 +20971,20 @@ Partial Class Compras_Compras
Return Retorno Return Retorno
End Function End Function
Private Function GetPSContratoDetalle(CveContrato As Integer, DtPS As DataTable) As DataTable
Dim ObjContratos As New ClsContratos
Dim DtpsTemp As DataTable = Nothing
If DtPS.MAX("CveSubProyecto", "CveSubProyecto IS NOT NULL").ToEntero > 0 AndAlso DtPS.MAX("CvePS", "CvePS IS NOT NULL").ToEntero > 0 Then
Dim TempPS As String = JsonConvert.SerializeObject(DtPS).ToString
If ObjContratos.GetPSContratoDetalle(CveContrato, TempPS) Then
DtpsTemp = ObjContratos.DtResultados
End If
ObjContratos.Dispose()
End If
Return DtpsTemp
End Function
#End Region #End Region