Consulta Verificar Existencias OC

This commit is contained in:
2021-11-02 11:18:01 -07:00
parent 8f33d855b6
commit 588688c2d0

View File

@@ -6921,27 +6921,29 @@ Partial Class OC
Dim tmpDTPS As DataTable = DtDetalle Dim tmpDTPS As DataTable = DtDetalle
Dim DTAlmacen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($" CveTipoAlmacen IN (1,9) ") 'AND CveSucursal = {CveSucursal}") Dim DTAlmacen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($" CveTipoAlmacen IN (1,9) ") 'AND CveSucursal = {CveSucursal}")
Dim objInv As New ClsInventarios Dim objInv As New ClsInventarios
Dim consulta As New StringBuilder 'Dim consulta As New StringBuilder
consulta.Append(" ") 'consulta.Append(" ")
consulta.Append(" DECLARE @TEMP TABLE (CvePS INT, CveSubProyecto INT);") 'consulta.Append(" DECLARE @TEMP TABLE (CvePS INT, CveSubProyecto INT);")
For Each row As DataRow In tmpDTPS.Rows 'For Each row As DataRow In tmpDTPS.Rows
consulta.AppendFormat("INSERT INTO @TEMP VALUES ({0},{1});", row("CvePS"), row("CveSubProyecto")) ' consulta.AppendFormat("INSERT INTO @TEMP VALUES ({0},{1});", row("CvePS"), row("CveSubProyecto"))
Next 'Next
consulta.Append(" SELECT CASE WHEN LEN (ISNULL (P.Codigo, '')) = 0 THEN P.PS ELSE CONCAT( P.Codigo, ' - ', P.PS) END AS Producto, SUM(OCPR.Cantidad) AS [Por Recibir] ") 'consulta.Append(" SELECT CASE WHEN LEN (ISNULL (P.Codigo, '')) = 0 THEN P.PS ELSE CONCAT( P.Codigo, ' - ', P.PS) END AS Producto, SUM(OCPR.Cantidad) AS [Por Recibir] ")
For Each row As DataRow In DTAlmacen.Rows 'For Each row As DataRow In DTAlmacen.Rows
consulta.AppendFormat(" ,SUM(CASE WHEN CS.CveAlmacen={0} THEN CS.Existencia - ISNULL(INV.Cantidad,0) ELSE 0 END) AS [{1}] ", row("CveAlmacen"), row("Almacen")) ' consulta.AppendFormat(" ,SUM(CASE WHEN CS.CveAlmacen={0} THEN CS.Existencia - ISNULL(INV.Cantidad,0) ELSE 0 END) AS [{1}] ", row("CveAlmacen"), row("Almacen"))
Next 'Next
consulta.Append(" FROM @TEMP T ") 'consulta.Append(" FROM @TEMP T ")
consulta.Append(" INNER JOIN [ProductosServicios] P ON P.CvePS = T.CvePS ") 'consulta.Append(" INNER JOIN [ProductosServicios] P ON P.CvePS = T.CvePS ")
consulta.Append(" LEFT JOIN [Inv_ExistenciasProductos] CS ON P.CvePS = CS.CvePS ") 'consulta.Append(" LEFT JOIN [Inv_ExistenciasProductos] CS ON P.CvePS = CS.CvePS ")
consulta.Append(" LEFT JOIN Vw_InventarioPorSurtir INV ON INV.CvePS = P.CvePS AND INV.CveAlmacen = CS.CveAlmacen ") 'consulta.Append(" LEFT JOIN Vw_InventarioPorSurtir INV ON INV.CvePS = P.CvePS AND INV.CveAlmacen = CS.CveAlmacen ")
consulta.Append(" LEFT JOIN Vw_OC_PorRecibir OCPR ON OCPR.CvePS = P.CvePS AND OCPR.CveAlmacen = CS.CveAlmacen AND OCPR.CveSubProyecto = T.CveSubProyecto") 'consulta.Append(" LEFT JOIN Vw_OC_PorRecibir OCPR ON OCPR.CvePS = P.CvePS AND OCPR.CveAlmacen = CS.CveAlmacen AND OCPR.CveSubProyecto = T.CveSubProyecto")
consulta.Append(" WHERE P.CveTipoPS = 2") 'consulta.Append(" WHERE P.CveTipoPS = 2")
consulta.Append(" GROUP BY P.CvePS,P.Codigo,P.PS") 'consulta.Append(" GROUP BY P.CvePS,P.Codigo,P.PS")
objInv.GetQuery(consulta.ToString()) 'objInv.GetQuery(consulta.ToString())
objInv.GetExistenciasAlmacenDT(CveOrdenCompra, UsuarioActual.CveEmpresa)
' limpio los almacenes donde no tiene ningun producto existencia ' limpio los almacenes donde no tiene ningun producto existencia
For i = objInv.DtResultados.Columns.Count - 1 To 1 Step -1 For i = objInv.DtResultados.Columns.Count - 1 To 1 Step -1