/// <summary> /// Permite obtener los insumos que están en una bodega /// </summary> /// <param name="codigoBodega">Codigo de la bodega de la que se quieren los insumos</param> /// <returns>La lista de los insumos de la bodega, null si no encuentra la bodega, o la bodega no tiene insumos</returns> public List <DO_InsumoEnBodega> obtenerInsumosBodega(Int32 codigoBodega) { if (!existeBodega(codigoBodega)) { return(null); } List <DO_InsumoEnBodega> listaInsumosEnBodega = new List <DO_InsumoEnBodega>(); try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } SqlDataAdapter adaptador = new SqlDataAdapter(); DataTable datatable = new DataTable(); adaptador.SelectCommand = new SqlCommand("SELECT * FROM INS_ESTA_BOD WHERE BOD_CODIGO = @codigoBodega", conexion); adaptador.SelectCommand.Parameters.AddWithValue("@codigoBodega", codigoBodega); adaptador.Fill(datatable); listaInsumosEnBodega = new List <DO_InsumoEnBodega>(); foreach (DataRow row in datatable.Rows) { Int32 cantDisponible = Convert.ToInt32(row["IEB_CANTIDAD_DISPONIBLE"]); if (cantDisponible > 0) { DO_InsumoEnBodega insumoBodega = new DO_InsumoEnBodega(); DAO_Insumo daoInsumo = new DAO_Insumo(); insumoBodega.insumo = daoInsumo.buscarInsumoPorCódigo(Convert.ToInt32(row["INS_CODIGO"])); insumoBodega.cantidadDisponible = cantDisponible; listaInsumosEnBodega.Add(insumoBodega); } } return(listaInsumosEnBodega); } catch (SqlException) { return(null); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } }
/// <summary> /// Retorna los insumos descartados de una solicitud de insumos en específico /// </summary> /// <param name="codigoSolicitud">El código de la solicitud de insumos</param> /// <returns></returns> private List <DO_InsumoEnBodega> listaDescarte(int codigoSolicitud) { List <DO_InsumoEnBodega> listaConsumidos = new List <DO_InsumoEnBodega>(); SqlCommand comandoBuscar = new SqlCommand("SELECT * FROM POR_DESCARTE WHERE SOL_CODIGO = @codigo", conexion); comandoBuscar.Parameters.AddWithValue("@codigo", codigoSolicitud); try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } SqlDataReader lector = comandoBuscar.ExecuteReader(); if (lector.HasRows) { while (lector.Read()) { DO_InsumoEnBodega insumoBodega = new DO_InsumoEnBodega(); DAO_Insumo insumo = new DAO_Insumo(); insumoBodega.cantidadDisponible = Convert.ToInt32(lector["PDS_CANTIDAD"]); insumoBodega.insumo = insumo.buscarInsumoPorCódigo(Convert.ToInt32(lector["INS_CODIGO"])); listaConsumidos.Add(insumoBodega); } } return(listaConsumidos); } catch (SqlException) { return(null); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } }
private List <DO_InsumoEntrante> obtenerListaInsumosEntrante(Int32 codigoEntrada) { try { SqlDataAdapter adaptadorInsumos = new SqlDataAdapter(); DataTable datatableInsumos = new DataTable(); List <DO_InsumoEntrante> listaInsumos = new List <DO_InsumoEntrante>(); adaptadorInsumos.SelectCommand = new SqlCommand("SELECT * FROM INSUMO_ENTRANTE WHERE ENI_CODIGO = @codigoEntrada", conexion); adaptadorInsumos.SelectCommand.Parameters.AddWithValue("@codigoEntrada", codigoEntrada); adaptadorInsumos.Fill(datatableInsumos); foreach (DataRow filaInsumos in datatableInsumos.Rows) { DO_InsumoEntrante insumoEntrante = new DO_InsumoEntrante(); insumoEntrante.doBodega = new DO_Bodega(); insumoEntrante.insumo = new DO_InsumoEnBodega(); insumoEntrante.insumo.insumo = new DO_Insumo(); insumoEntrante.doBodega.codigo = Convert.ToInt32(filaInsumos["BOD_CODIGO"]); DAO_Bodega daoBodega = new DAO_Bodega(); insumoEntrante.doBodega.nombre = daoBodega.obtenerNombreBodega(insumoEntrante.doBodega.codigo); insumoEntrante.insumo.insumo.codigo = Convert.ToInt32(filaInsumos["INS_CODIGO"]); DAO_Insumo daoInsumo = new DAO_Insumo(); insumoEntrante.insumo.insumo = daoInsumo.buscarInsumoPorCódigo(insumoEntrante.insumo.insumo.codigo); insumoEntrante.insumo.cantidadDisponible = Convert.ToInt32(filaInsumos["IENT_CANTIDAD"]); listaInsumos.Add(insumoEntrante); } return(listaInsumos); } catch (SqlException) { return(null); } }
public List <DO_InsumoReportable> reporteInsumos(String inicio, String final) { try { //Formato del string para la fecha 2020-05-30 SqlDataAdapter adaptador = new SqlDataAdapter(); DataTable datatable = new DataTable(); List <DO_InsumoReportable> listaReportados = new List <DO_InsumoReportable>(); adaptador.SelectCommand = new SqlCommand("SELECT * FROM (Select INS_CODIGO AS INS_CODIGO_CONSUMIR, SUM(ACS_CANTIDAD) AS TOTAL_CONSUMIDO from SOL_A_CONSUMIR_INS " + "INNER JOIN (Select SOL_CODIGO from SOLICITUD_INSUMO where SOL_FECHA BETWEEN CONVERT(datetime, @fechaInicio) AND CONVERT(datetime, @fechaFinal)) as temporal " + "ON SOL_A_CONSUMIR_INS.SOL_CODIGO = temporal.SOL_CODIGO GROUP BY INS_CODIGO) AS CONSUMO " + "FULL JOIN " + "(Select INS_CODIGO AS INS_CODIGO_DESCARTE, SUM(PDS_CANTIDAD) AS TOTAL_DESCARTADO from POR_DESCARTE " + "INNER JOIN (Select SOL_CODIGO from SOLICITUD_INSUMO where SOL_FECHA BETWEEN CONVERT(datetime, @fechaInicio) AND CONVERT(datetime, @fechaFinal)) as temporal " + "ON POR_DESCARTE.SOL_CODIGO = temporal.SOL_CODIGO GROUP BY INS_CODIGO) AS DESCARTE ON CONSUMO.INS_CODIGO_CONSUMIR = DESCARTE.INS_CODIGO_DESCARTE", conexion); adaptador.SelectCommand.Parameters.AddWithValue("@fechaInicio", inicio); adaptador.SelectCommand.Parameters.AddWithValue("@fechaFinal", final); if (conexion.State != ConnectionState.Open) { conexion.Open(); } adaptador.Fill(datatable); foreach (DataRow fila in datatable.Rows) { DO_InsumoReportable insumoConsumido = new DO_InsumoReportable(); insumoConsumido.insumo = new DO_Insumo(); Object codigoConsumir = fila["INS_CODIGO_CONSUMIR"]; if (!(codigoConsumir is DBNull)) { insumoConsumido.insumo.codigo = Convert.ToInt32(codigoConsumir); } else { insumoConsumido.insumo.codigo = Convert.ToInt32(fila["INS_CODIGO_DESCARTE"]); } Object cantConsumida = fila["TOTAL_CONSUMIDO"]; if (!(cantConsumida is DBNull)) { insumoConsumido.cantidadConsumida = Convert.ToInt32(cantConsumida); } Object cantDescartada = fila["TOTAL_DESCARTADO"]; if (!(cantDescartada is DBNull)) { insumoConsumido.cantidadDescartada = Convert.ToInt32(cantDescartada); } DAO_Insumo daoInsumo = new DAO_Insumo(); insumoConsumido.insumo = daoInsumo.buscarInsumoPorCódigo(insumoConsumido.insumo.codigo); insumoConsumido.total = insumoConsumido.cantidadConsumida + insumoConsumido.cantidadDescartada; listaReportados.Add(insumoConsumido); } return(listaReportados); } catch (SqlException) { return(null); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } }