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 DTAlmacen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($" CveTipoAlmacen IN (1,9) ") 'AND CveSucursal = {CveSucursal}")
Dim objInv As New ClsInventarios
Dim consulta As New StringBuilder
'Dim consulta As New StringBuilder
consulta.Append(" ")
consulta.Append(" DECLARE @TEMP TABLE (CvePS INT, CveSubProyecto INT);")
For Each row As DataRow In tmpDTPS.Rows
consulta.AppendFormat("INSERT INTO @TEMP VALUES ({0},{1});", row("CvePS"), row("CveSubProyecto"))
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] ")
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"))
Next
consulta.Append(" FROM @TEMP T ")
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 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(" WHERE P.CveTipoPS = 2")
consulta.Append(" GROUP BY P.CvePS,P.Codigo,P.PS")
'consulta.Append(" ")
'consulta.Append(" DECLARE @TEMP TABLE (CvePS INT, CveSubProyecto INT);")
'For Each row As DataRow In tmpDTPS.Rows
' consulta.AppendFormat("INSERT INTO @TEMP VALUES ({0},{1});", row("CvePS"), row("CveSubProyecto"))
'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] ")
'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"))
'Next
'consulta.Append(" FROM @TEMP T ")
'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 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(" WHERE P.CveTipoPS = 2")
'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
For i = objInv.DtResultados.Columns.Count - 1 To 1 Step -1