Beispiel #1
0
        public DataTable GetMateriaPrimaHistoricoFechas(DateTime FechaInicio, DateTime FechaFin, string EmpresaID)
        {
            CD_Produccion objCD_Produccion = new CD_Produccion(AppSettings.GetConnectionString);
            DataTable     Temp             = new DataTable();

            Temp = objCD_Produccion.GetMateriaPrimaHistoricoFechas(FechaInicio, FechaFin, EmpresaID);
            return(Temp);
        }
Beispiel #2
0
        public DataTable GetDespachoInterno(string AlmacenDestino, string AlmacenOrigen)
        {
            CD_Produccion objCD_Produccion = new CD_Produccion(AppSettings.GetConnectionString);
            DataTable     Temp             = new DataTable();

            Temp = objCD_Produccion.GetDespachoInterno(AlmacenDestino, AlmacenOrigen);
            return(Temp);
        }
Beispiel #3
0
        public bool UpdateXMLMateriaPrima(string xml, int UsuarioID, string EmpresaID)
        {
            CD_Produccion objCD_Produccion = new CD_Produccion(AppSettings.GetConnectionString);
            bool          Valor;

            Valor = objCD_Produccion.UpdateXMLMateriaPrima(xml, UsuarioID, EmpresaID);
            return(Valor);
        }
Beispiel #4
0
        public DataTable GetProductosMacroMicro()
        {
            CD_Produccion objCD_Produccion = new CD_Produccion(AppSettings.GetConnectionString);
            DataTable     Temp             = new DataTable();

            Temp = objCD_Produccion.GetProductosMacroMicro();
            return(Temp);
        }
Beispiel #5
0
        public DataTable GetMateriasPrimasProducto(string ProductoID, string EmpresaID)
        {
            CD_Produccion objCD_Produccion = new CD_Produccion(AppSettings.GetConnectionString);
            DataTable     Temp             = new DataTable();

            Temp = objCD_Produccion.GetMateriasPrimasProducto(ProductoID, EmpresaID);
            return(Temp);
        }
Beispiel #6
0
        public DataTable GetDtroductosBatchHistorico(int MateriaPrimaHistoricoID)
        {
            CD_Produccion objCD_Produccion = new CD_Produccion(AppSettings.GetConnectionString);
            DataTable     DtProductosBatch;

            DtProductosBatch           = new DataTable();
            DtProductosBatch.TableName = "DtProductosBatch";
            DtProductosBatch           = objCD_Produccion.GetMateriasPrimasFormulados(MateriaPrimaHistoricoID);
            DtProductosBatch.Columns["Producir"].ReadOnly = false;
            return(DtProductosBatch);
        }
Beispiel #7
0
        public DataSet GetMateriasPrimasHistorico(DataTable DtProductosBatch, int MateriaPrimaHistoricoID, string EmpresaID, string SedeID)
        {
            CD_Produccion objCD_Produccion = new CD_Produccion(AppSettings.GetConnectionString);

            string Cadena = "'";

            foreach (DataRow Dr in DtProductosBatch.Rows)
            {
                Cadena += Dr["ProductoID"].ToString() + "', '";
            }
            Cadena = "(" + Cadena.Substring(0, Cadena.Length - 3) + ")";

            DataTable Temp  = new DataTable();
            DataTable DtMAI = new DataTable();
            DataTable DtMII = new DataTable();

            //traer la tabla con formulas
            Temp           = objCD_Produccion.GetMateriasPrimasHistorico(Cadena, MateriaPrimaHistoricoID);
            Temp.TableName = "Temp";

            //crear tablas
            DataTable DtStockLocalSede    = new DataTable();
            DataTable DtPlanProduccionMAI = new DataTable();

            DtPlanProduccionMAI.TableName = "DtPlanProduccionMAI";
            DataTable DtPlanProduccionMII = new DataTable();

            DtPlanProduccionMII.TableName = "DtPlanProduccionMII";
            //crear tabla para almacenar la sumatoria de columnas con el batch
            DataTable DtSumatoria = new DataTable();

            DtSumatoria.Columns.Add("NomProducto", typeof(string));
            DtSumatoria.Columns.Add("Cantidad", typeof(decimal));

            //traer el stock local
            string Cadena2 = "'";

            foreach (DataRow Dr in Temp.Rows)
            {
                Cadena2 += Dr["ProductoIDMateria"].ToString() + "', '";
            }
            Cadena2                    = "(" + Cadena2.Substring(0, Cadena2.Length - 3) + ")";
            DtStockLocalSede           = objCD_Produccion.GetStockProductosSede(Cadena2, EmpresaID + SedeID);
            DtStockLocalSede.TableName = "DtStockLocalSede";

            //filtrar macro y micro
            DataView Dv1 = new DataView(Temp);

            Dv1.RowFilter = "AlmacenMateria = 'MAI'";
            DtMAI         = Dv1.ToTable();

            DataView Dv2 = new DataView(Temp);

            Dv2.RowFilter = "AlmacenMateria = 'MII'";
            DtMII         = Dv2.ToTable();

            #region Macroinsumos
            //filtrar todos los productos para que se conviertan en columnas
            DataTable DtFiltro1 = new DataTable();
            DtFiltro1 = new BaseFunctions().SelectDistinct(DtMAI, "ProductoIDMateria", "NomProducto");

            //crear las columnas
            DtPlanProduccionMAI.Columns.Add("Batch", typeof(string));
            DtPlanProduccionMAI.Columns.Add("ProductoID", typeof(string));
            DtPlanProduccionMAI.Columns.Add("NomProducto", typeof(string));
            foreach (DataRow Dr in DtFiltro1.Rows)
            {
                DtPlanProduccionMAI.Columns.Add(Dr["NomProducto"].ToString(), typeof(decimal));
            }

            //filtrar e ir agregando
            foreach (DataRow dr2 in DtProductosBatch.Rows)
            {
                DataRow DR = DtPlanProduccionMAI.NewRow();
                DR["Batch"]       = dr2["Batch"];
                DR["ProductoID"]  = dr2["ProductoID"];
                DR["NomProducto"] = dr2["NomProducto"];
                foreach (DataRow dr3 in DtFiltro1.Rows)
                {
                    //filtrar e ir agregando
                    DataView Dv = new DataView(DtMAI);
                    Dv.RowFilter = "ProductoID = '" + dr2["ProductoID"] + "' and NomProducto = '" + dr3["NomProducto"] + "'";
                    if (Dv.Count > 0)
                    {
                        DR[dr3["NomProducto"].ToString()] = Convert.ToDecimal(Dv[0]["Cantidad"]) * Convert.ToDecimal(dr2["Batch"]);
                    }
                    else
                    {
                        DR[dr3["NomProducto"].ToString()] = 0;
                    }
                }
                DtPlanProduccionMAI.Rows.Add(DR);
            }

            //agregar las sumatorias de columnas
            DataRow DRs = DtPlanProduccionMAI.NewRow();
            DRs["Batch"]       = null;
            DRs["ProductoID"]  = null;
            DRs["NomProducto"] = "Totales: ";

            for (int x = 3; x < DtPlanProduccionMAI.Columns.Count; x++)
            {
                decimal Valor = 0;
                foreach (DataRow dr3 in DtPlanProduccionMAI.Rows)
                {
                    Valor += Convert.ToDecimal(dr3[x]);
                }
                DRs[DtPlanProduccionMAI.Columns[x].ColumnName] = Valor;

                //agregar a la tabla DtSumatoria lo recien sumado
                DataRow DrSum = DtSumatoria.NewRow();
                DrSum["NomProducto"] = DtPlanProduccionMAI.Columns[x].ColumnName;
                DrSum["Cantidad"]    = Valor;
                DtSumatoria.Rows.Add(DrSum);
            }

            DtPlanProduccionMAI.Rows.Add(DRs);

            //agregar el stock Disponible Local
            DataRow DrStockDMAI = DtPlanProduccionMAI.NewRow();
            DrStockDMAI["Batch"]       = null;
            DrStockDMAI["ProductoID"]  = null;
            DrStockDMAI["NomProducto"] = "Disponible local: ";

            for (int x = 3; x < DtPlanProduccionMAI.Columns.Count; x++)
            {
                //buscar el valor y agregarlo
                DataView DvS = new DataView(DtStockLocalSede);
                DvS.RowFilter = "NomProducto = '" + DtPlanProduccionMAI.Columns[x].ColumnName + "'";
                if (DvS.Count == 1)
                {
                    DrStockDMAI[DtPlanProduccionMAI.Columns[x].ColumnName] = DvS[0]["StockDisponible"];
                }
                else
                {
                    DrStockDMAI[DtPlanProduccionMAI.Columns[x].ColumnName] = 0;
                }
            }

            DtPlanProduccionMAI.Rows.Add(DrStockDMAI);

            //agregar el stock Local
            DataRow DrStockLMAI = DtPlanProduccionMAI.NewRow();
            DrStockLMAI["Batch"]       = null;
            DrStockLMAI["ProductoID"]  = null;
            DrStockLMAI["NomProducto"] = "Stock local: ";

            for (int x = 3; x < DtPlanProduccionMAI.Columns.Count; x++)
            {
                //buscar el valor y agregarlo
                DataView DvS = new DataView(DtStockLocalSede);
                DvS.RowFilter = "NomProducto = '" + DtPlanProduccionMAI.Columns[x].ColumnName + "'";
                if (DvS.Count == 1)
                {
                    DrStockLMAI[DtPlanProduccionMAI.Columns[x].ColumnName] = DvS[0]["StockActual"];
                }
                else
                {
                    DrStockLMAI[DtPlanProduccionMAI.Columns[x].ColumnName] = 0;
                }
            }

            DtPlanProduccionMAI.Rows.Add(DrStockLMAI);

            #endregion

            #region Microinsumos
            //filtrar todos los productos para que se conviertan en columnas
            DataTable DtFiltro2 = new DataTable();
            DtFiltro2 = new BaseFunctions().SelectDistinct(DtMII, "ProductoIDMateria", "NomProducto");

            //crear las columnas
            DtPlanProduccionMII.Columns.Add("Batch", typeof(string));
            DtPlanProduccionMII.Columns.Add("ProductoID", typeof(string));
            DtPlanProduccionMII.Columns.Add("NomProducto", typeof(string));
            foreach (DataRow Dr in DtFiltro2.Rows)
            {
                DtPlanProduccionMII.Columns.Add(Dr["NomProducto"].ToString(), typeof(decimal));
            }

            //filtrar e ir agregando
            foreach (DataRow dr2 in DtProductosBatch.Rows)
            {
                DataRow DR = DtPlanProduccionMII.NewRow();
                DR["Batch"]       = dr2["Batch"];
                DR["ProductoID"]  = dr2["ProductoID"];
                DR["NomProducto"] = dr2["NomProducto"];
                foreach (DataRow dr3 in DtFiltro2.Rows)
                {
                    //filtrar e ir agregando
                    DataView Dv = new DataView(DtMII);
                    Dv.RowFilter = "ProductoID = '" + dr2["ProductoID"] + "' and NomProducto = '" + dr3["NomProducto"] + "'";
                    if (Dv.Count > 0)
                    {
                        DR[dr3["NomProducto"].ToString()] = Convert.ToDecimal(Dv[0]["Cantidad"]) * Convert.ToDecimal(dr2["Batch"]);
                    }
                    else
                    {
                        DR[dr3["NomProducto"].ToString()] = 0;
                    }
                }
                DtPlanProduccionMII.Rows.Add(DR);
            }

            //agregar las sumatorias de columnas
            DataRow DRs2 = DtPlanProduccionMII.NewRow();
            DRs2["Batch"]       = null;
            DRs2["ProductoID"]  = null;
            DRs2["NomProducto"] = "Totales: ";

            for (int x = 3; x < DtPlanProduccionMII.Columns.Count; x++)
            {
                decimal Valor = 0;
                foreach (DataRow dr3 in DtPlanProduccionMII.Rows)
                {
                    Valor += Convert.ToDecimal(dr3[x]);
                }
                DRs2[DtPlanProduccionMII.Columns[x].ColumnName] = Valor;

                //agregar a la tabla DtSumatoria lo recien sumado
                DataRow DrSum = DtSumatoria.NewRow();
                DrSum["NomProducto"] = DtPlanProduccionMII.Columns[x].ColumnName;
                DrSum["Cantidad"]    = Valor;
                DtSumatoria.Rows.Add(DrSum);
            }

            DtPlanProduccionMII.Rows.Add(DRs2);

            //agregar el stock Disponible Local
            DataRow DrStockDMII = DtPlanProduccionMII.NewRow();
            DrStockDMII["Batch"]       = null;
            DrStockDMII["ProductoID"]  = null;
            DrStockDMII["NomProducto"] = "Disponible local: ";

            for (int x = 3; x < DtPlanProduccionMII.Columns.Count; x++)
            {
                //buscar el valor y agregarlo
                DataView DvS = new DataView(DtStockLocalSede);
                DvS.RowFilter = "NomProducto = '" + DtPlanProduccionMII.Columns[x].ColumnName + "'";
                if (DvS.Count == 1)
                {
                    DrStockDMII[DtPlanProduccionMII.Columns[x].ColumnName] = DvS[0]["StockDisponible"];
                }
                else
                {
                    DrStockDMII[DtPlanProduccionMII.Columns[x].ColumnName] = 0;
                }
            }

            DtPlanProduccionMII.Rows.Add(DrStockDMII);

            //agregar el stock Local
            DataRow DrStockLMII = DtPlanProduccionMII.NewRow();
            DrStockLMII["Batch"]       = null;
            DrStockLMII["ProductoID"]  = null;
            DrStockLMII["NomProducto"] = "Stock local: ";

            for (int x = 3; x < DtPlanProduccionMII.Columns.Count; x++)
            {
                //buscar el valor y agregarlo
                DataView DvS = new DataView(DtStockLocalSede);
                DvS.RowFilter = "NomProducto = '" + DtPlanProduccionMII.Columns[x].ColumnName + "'";
                if (DvS.Count == 1)
                {
                    DrStockLMII[DtPlanProduccionMII.Columns[x].ColumnName] = DvS[0]["StockActual"];
                }
                else
                {
                    DrStockLMII[DtPlanProduccionMII.Columns[x].ColumnName] = 0;
                }
            }

            DtPlanProduccionMII.Rows.Add(DrStockLMII);

            #endregion

            #region Crear Dataset y devolverlo
            DataSet Ds = new DataSet();
            Ds.Tables.Add(DtPlanProduccionMAI);
            Ds.Tables.Add(DtPlanProduccionMII);
            Ds.Tables.Add(Temp);
            Ds.Tables.Add(DtStockLocalSede);
            DtSumatoria.TableName = "DtSumatoria";
            Ds.Tables.Add(DtSumatoria);
            return(Ds);

            #endregion
        }
Beispiel #8
0
        public void InsertMateriaPrimaHistorico(string EmpresaID, int UsuarioID, DataTable DtMateriaPrimaHistoricoDetalle, DataTable DtProductosBatch)
        {
            CD_Produccion objCD_Produccion = new CD_Produccion(AppSettings.GetConnectionString);

            objCD_Produccion.InsertMateriaPrimaHistorico(EmpresaID, UsuarioID, DtMateriaPrimaHistoricoDetalle, DtProductosBatch);
        }
Beispiel #9
0
        public void UpdateXMLMateriasPrimasFormuladosEstado(string xml, int UsuarioID, DateTime FechaMovimiento)
        {
            CD_Produccion objCD_Produccion = new CD_Produccion(AppSettings.GetConnectionString);

            objCD_Produccion.UpdateXMLMateriasPrimasFormuladosEstado(xml, UsuarioID, FechaMovimiento);
        }