예제 #1
0
        /*
         * Autor: Enrique Santana
         * Fecha de creación: 02/05/2012
         * Fecha de liberación: 04/06/2012
         * Descripción: Obtiene los números de material
         */

        private void ObtenerProductos(CLSFatom fatom, string criterioFatom)
        {
            CLSCatDestinoCollection destinos;
            CLSFatomBAL             AgregaFatom = new CLSFatomBAL();
            string criterio = "WHERE (CODDESTINO = '" + fatom.CodDestino + "') ";

            criterio        = criterio + "AND (PESOINI < '" + fatom.Erfmg.ToString() + "') ";
            criterio        = criterio + "ORDER BY CODDESTINO, PESOINI DESC";
            destinos        = new CLSCatDestinoBAL().MostrarCatDestinoBAL(criterio);
            fatom.Matnr     = destinos[0].MatnrComp.ToString();
            fatom.MatnrProd = destinos[0].MatnrProd.ToString();
            fatom.PesarCab  = destinos[0].PesarCab.ToString();
            AgregaFatom.ActualizarMaterialesBAL(fatom, criterioFatom);
            //lblPesarCab.Text = destinos[0].PesarCab.ToString();
        }
예제 #2
0
        /*
         * Autor: Enrique Santana
         * Fecha de creación: 02/05/2012
         * Fecha de liberación: 04/06/2012
         * Descripción: Obtiene el número de orden
         */

        private void ObtenerOrden(CLSFatom fatom)
        {
            CLSOrdenProdCollection orden;
            string criterio = "";
            //string lote = txtbxLote.Text;
            string matCons = fatom.Matnr;
            string matProd = fatom.MatnrProd;

            criterio = "WHERE (MATNR_COMP = '" + matCons + "') ";
            criterio = criterio + "AND (WERKS = '" + centro + "')";
            criterio = criterio + "AND (MATNR = '" + matProd + "')";
            orden    = new CLSOrdenProdBAL().MostrarOrdenProdBAL(criterio);
            if (orden.Count == 0)
            {
                throw new Exception("No se encuentra Orden de Producción en el folio: " + fatom.Folio);
            }
            IEnumerator lista = orden.GetEnumerator();

            string criterioFatom = "WHERE (WERKS = '" + fatom.Werks + "') ";

            criterioFatom = criterioFatom + "AND (FECHA >= CONVERT(DATETIME, '" + fecha.ToString("yyyy-MM-dd 00:00:00") + "', 120)) ";
            criterioFatom = criterioFatom + "AND (FECHA <= CONVERT(DATETIME, '" + fecha.AddDays(1).ToString("yyyy-MM-dd 00:00:00") + "', 120)) ";
            criterioFatom = criterioFatom + "AND (FOLIO = '" + fatom.Folio + "') ";
            //ObtenerProductos(fatom, criterioFatom);
            while (lista.MoveNext())
            {
                CLSOrdenProd ordenProd = (CLSOrdenProd)lista.Current;
                //ClsResbCollection resb;

                /*string criterio2 = "WHERE (RSNUM = '" + "471729" + "') "; //****************************************************
                 * criterio2 = criterio2 + "AND (MATNR = '" + matProd + "') ";
                 * criterio2 = criterio2 + "AND (BWART = '261')";
                 * resb = new ClsResbBAL().ConsultarResbBAL(criterio2);*/
                fatom.Aufnr = ordenProd.Aufnr;
                fatom.Charg = ordenProd.Charg;
                CLSFatomBAL fatomAgrega = new CLSFatomBAL();
                fatomAgrega.ActualizarOrdenesZPPG02BAL(fatom, criterioFatom);
            }

            //if (orden.Count == 0)
            //{
            //    throw new Exception("No se encuentra Orden de Producción en el folio: " + fatom.Folio);
            //}

            /*txtbxOrdenesProd.Text = ordenProd.Aufnr;
             * charg2 = orden[0].Charg.ToString();*/
        }
예제 #3
0
        /*
         * Autor: Enrique Santana
         * Fecha de creación: 02/05/2012
         * Fecha de liberación: 04/06/2012
         * Descripción: Actualiza todos los registros
         */

        private void ActualizarFatom()
        {
            CLSFatomBAL fatomBAL     = new CLSFatomBAL();
            CLSFatom    fatom        = new CLSFatom();
            string      criterio     = "";
            DateTime    diaSiguiente = fecha.AddDays(1);

            /*for (int i = 0; i < fatiList.Count; i++)
             * {
             *  criterio = "WHERE (WERKS = '" + centro + "') ";
             *  criterio = criterio + "AND (FECHA >= CONVERT(DATETIME, '" + fecha.ToString("yyyy-MM-dd 00:00:00") + "', 120)) ";
             *  criterio = criterio + "AND (FECHA <= CONVERT(DATETIME, '" + diaSiguiente.ToString("yyyy-MM-dd 00:00:00") + "', 120)) ";
             *  criterio = criterio + "AND (FOLIO = '" + dgvFatom.Rows[i].Cells[2].Value.ToString() + "')";
             *  foreach(CLSFatom fatomi in fatiList)
             *  {
             *      fatom.CodDestino = fatomi.CodDestino;
             *      fatom.Folio = fatomi.Folio;
             *      fatom.PesoSinCabeza = fatomi.Erfmg - fatomi.PesoCab;
             *      fatomBAL.ActualizarDestinoBAL(fatom, criterio);
             *      ActualizarDescripcion(fatom, i);
             *  }
             * }*/

            for (int i = 0; i < dgvFatom.RowCount; i++)
            {
                criterio            = "WHERE (WERKS = '" + centro + "') ";
                criterio            = criterio + "AND (FECHA >= CONVERT(DATETIME, '" + fecha.ToString("yyyy-MM-dd 00:00:00") + "', 120)) ";
                criterio            = criterio + "AND (FECHA <= CONVERT(DATETIME, '" + diaSiguiente.ToString("yyyy-MM-dd 00:00:00") + "', 120)) ";
                criterio            = criterio + "AND (FOLIO = '" + dgvFatom.Rows[i].Cells[2].Value.ToString() + "')";
                fatom.CodDestino    = dgvFatom.Rows[i].Cells[6].Value.ToString();
                fatom.Folio         = Convert.ToInt32(dgvFatom.Rows[i].Cells[2].Value);
                fatom.PesoSinCabeza = Convert.ToDouble(dgvFatom.Rows[i].Cells[3].Value) - Convert.ToDouble(dgvFatom.Rows[i].Cells[12].Value);
                fatom.Werks         = centro;
                //fatom.Matnr = matnrG;
                fatomBAL.ActualizarDestinoBAL(fatom, criterio);
                try
                {
                    ActualizarDescripcion(fatom, i);
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
예제 #4
0
        /*
         * Autor: Enrique Santana
         * Fecha de creación: 02/05/2012
         * Fecha de liberación: 04/06/2012
         * Descripción: Actualiza la descripcion del destino en la DB
         */

        private void ActualizarDescripcion(CLSFatom fatom, int index)
        {
            CLSCatDestinoCollection destino = new CLSCatDestinoBAL().MostrarCatDestinoBAL("");
            CLSFatomBAL             fatoBal = new CLSFatomBAL();
            //CLSFatomCollection fatoCol;
            string criterio = "WHERE (CODDESTINO = '" + fatom.CodDestino.ToString() + "')";

            criterio = criterio + "AND (WERKS = '" + fatom.Werks + "')";
            string destinoPar  = "";
            string pesarCab    = "";
            bool   pesarCabLog = false;

            //dgvFatom.Rows[index].Cells.
            for (int i = 0; i < destino.Count; i++)
            {
                if (fatom.CodDestino.ToString() == destino[i].CodDestino.ToString())
                {
                    destinoPar = destino[i].DescDestino;
                    pesarCab   = destino[i].PesarCab;
                    if (pesarCab == "X")
                    {
                        pesarCabLog = true;
                    }
                    else
                    {
                        pesarCabLog = false;
                    }
                    fatom.Matnr = destino[i].MatnrComp.ToString();
                    if (fatom.Matnr != matnrG[index].ToString())
                    {
                        dgvFatom.Rows[index].Cells[6].Value = codDestinoG[index].ToString();
                        throw new Exception("No se puede cambiar el destino del folio " + fatom.Folio + "!");
                    }
                    fatom.Destino  = destinoPar;
                    fatom.PesarCab = pesarCab;
                    dgvFatom.Rows[index].Cells[7].Value  = destinoPar;
                    dgvFatom.Rows[index].Cells[11].Value = pesarCabLog;
                    fatom.MatnrProd = destino[i].MatnrProd.ToString();
                    fatoBal.AcualizarDescripcionBAL(fatom, criterio);
                    //fatoCol = fatoBal().
                    ObtenerOrden(fatom);
                    break;
                }
            }
        }
예제 #5
0
        /*
         * Autor: Enrique Santana
         * Fecha de creación: 02/05/2012
         * Fecha de liberación: 04/06/2012
         * Descripción: Actualiza la tabla ZPPFATOM
         */

        private void ActualizarFatom()
        {
            CLSFatomBAL fatomBAL     = new CLSFatomBAL();
            CLSFatom    fatom        = new CLSFatom();
            string      criterio     = "";
            DateTime    diaSiguiente = dtpFecha.Value.AddDays(1);

            for (int i = 0; i < dgvLista.RowCount; i++)
            {
                criterio        = "WHERE (FECHA >= CONVERT(DATETIME, '" + dtpFecha.Value.ToString("yyyy-MM-dd 00:00:00") + "', 120)) ";
                criterio        = criterio + "AND (FECHA <= CONVERT(DATETIME, '" + diaSiguiente.ToString("yyyy-MM-dd 00:00:00") + "', 120)) ";
                criterio        = criterio + "AND (WERKS = '" + centro + "')";
                criterio        = criterio + "AND (FOLIO = '" + dgvLista.Rows[i].Cells[1].Value.ToString() + "')";
                fatom.PesoCab   = Convert.ToDouble(dgvLista.Rows[i].Cells[2].Value.ToString());
                fatom.Procesado = " ";
                fatomBAL.ActualizarEstadoBAL(fatom, criterio);
            }
        }
예제 #6
0
        /*
         * Autor: Enrique Santana
         * Fecha de creación: 07/06/2012
         * Fecha de liberación: 08/06/2012
         * Descripción: Cuenta los canales por lote
         */

        private void contarFatom()
        {
            CLSFatomCollection cFat;
            string             criterio = "WHERE (WERKS = '" + codCentro + "') ";

            criterio    = criterio + "AND (CHARG = '" + txtbxLote.Text + "')";
            cFat        = new CLSFatomBAL().MostrarFatomBAL(criterio);
            totalCerdos = cFat.Count;

            /*IEnumerator lista = cFat.GetEnumerator();
             * totalCerdos = 0;
             * while(lista.MoveNext())
             * {
             *
             *  CLSFatom leFatom = (CLSFatom)lista.Current;
             *  //totalKilos = totalKilos + leFatom.Erfmg;
             *  totalCerdos++;
             * }*/
        }
예제 #7
0
        /*
         * Autor: Enrique Santana
         * Fecha de creación: 02/05/2012
         * Fecha de liberación: 04/06/2012
         * Descripción: Ingresa registros en la tabla ZPPFATOM
         */

        private void EscribirFatom()
        {
            CLSFatom    fatom    = new CLSFatom();
            CLSFatomBAL fatomBAL = new CLSFatomBAL();

            #region Asignado de Variables
            fatom.Werks         = txtbxCentro.Text;
            fatom.Fecha         = dtpFecha.Value;
            fatom.Folio         = Convert.ToInt16(txtbxFolio.Text);
            fatom.Charg         = txtbxLote.Text;
            fatom.Erfmg         = Convert.ToDouble(txtbxPesoNeto.Text);
            fatom.Erfme         = "KG";
            fatom.Tara          = Convert.ToDouble(txtbxTara.Text);
            fatom.Serie         = txtbxDocRec.Text;
            fatom.Tatuaje       = txtbxTatProv.Text;
            fatom.PesoProm      = Convert.ToDouble(txtbxPesoProm.Text);
            fatom.Calidad       = txtbxCalidad.Text;
            fatom.CodDestino    = txtbxDestino.Text;
            fatom.Destino       = lblDestino.Text;
            fatom.Musculo       = Convert.ToDouble(txtbxMusculo.Text);
            fatom.Grasa         = Convert.ToDouble(txtbxGrasa.Text);
            fatom.Chuleta       = Convert.ToDouble(txtbxChuleta.Text);
            fatom.FechaLote     = Convert.ToDateTime(txtbxFechaLote.Text);
            fatom.PesarCab      = lblPesarCab.Text;
            fatom.PesoCab       = 0.0;
            fatom.PesoSinCabeza = 0.0;
            fatom.Matnr         = txtbxMatCon.Text;
            fatom.MatnrProd     = txtbxMatProd.Text;
            fatom.Aufnr         = txtbxOrdenesProd.Text;
            fatom.Procesado     = Variables.Blanco;
            fatom.ChargProd     = charg2;
            #endregion

            try
            {
                fatomBAL.AgregarFatomBAL(fatom);
            }
            catch (Exception)
            {
                throw new Exception("No se pudo escribir en ZPPFATOM");
            }
        }
예제 #8
0
        /*
         * Autor: Enrique Santana
         * Fecha de creación: 02/05/2012
         * Fecha de liberación: 04/06/2012
         * Descripción: Actualiza cada registro individualmente
         */

        private void ActualizaUnicaFatom()
        {
            CLSFatomBAL fatomBAL     = new CLSFatomBAL();
            CLSFatom    fatom        = new CLSFatom();
            string      criterio     = "";
            DateTime    diaSiguiente = fecha.AddDays(1);

            criterio = "WHERE (WERKS = '" + centro + "') ";
            criterio = criterio + "AND (FECHA >= CONVERT(DATETIME, '" + fecha.ToString("yyyy-MM-dd 00:00:00") + "', 120)) ";
            criterio = criterio + "AND (FECHA <= CONVERT(DATETIME, '" + diaSiguiente.ToString("yyyy-MM-dd 00:00:00") + "', 120)) ";
            int indice = celda;

            criterio            = criterio + "AND (FOLIO = '" + dgvFatom.Rows[indice].Cells[2].Value.ToString() + "')";
            fatom.CodDestino    = dgvFatom.Rows[indice].Cells[6].Value.ToString();
            fatom.Folio         = Convert.ToInt32(dgvFatom.Rows[indice].Cells[2].Value);
            fatom.PesoSinCabeza = Convert.ToDouble(dgvFatom.Rows[indice].Cells[3].Value) - Convert.ToDouble(dgvFatom.Rows[indice].Cells[12].Value);
            fatom.Werks         = centro;

            /*}
             * else
             * {
             *
             *  criterio = criterio + "AND (FOLIO = '" + dgvFatom.Rows[indice].Cells[2].Value.ToString() + "')";
             *  fatom.CodDestino = dgvFatom.Rows[indice].Cells[6].Value.ToString();
             *  fatom.Folio = Convert.ToInt32(dgvFatom.Rows[indice].Cells[2].Value);
             *  fatom.PesoSinCabeza = Convert.ToDouble(dgvFatom.Rows[indice].Cells[3].Value) - Convert.ToDouble(dgvFatom.Rows[indice].Cells[12].Value);
             *  fatom.Werks = centro;
             * }*/

            //fatom.Matnr = matnrG;
            fatomBAL.ActualizarDestinoBAL(fatom, criterio);

            try
            {
                ActualizarDescripcion(fatom, indice);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #9
0
        /*
         * Autor: Enrique Santana
         * Fecha de creación: 02/05/2012
         * Fecha de liberación: 04/06/2012
         * Descripción: Revisa que el folio no exista para el día en curso
         */

        private void RevisarFolio()
        {
            CLSFatomCollection fatomCol;
            string             leFecha  = dtpFecha.Value.ToString("yyyy-MM-dd 00:00:00");
            string             leManana = dtpFecha.Value.AddDays(1).ToString("yyyy-MM-dd 00:00:00");
            string             criterio = "WHERE (FECHA >= CONVERT(DATETIME, '" + leFecha + "', 120)) ";

            criterio = criterio + "AND (FECHA <= CONVERT(DATETIME, '" + leManana + "', 120)) ";
            criterio = criterio + "AND (WERKS = '" + codCentro + "')";
            fatomCol = new CLSFatomBAL().MostrarFatomBAL(criterio);
            IEnumerator lista = fatomCol.GetEnumerator();

            while (lista.MoveNext())
            {
                CLSFatom fatom = (CLSFatom)lista.Current;
                if (txtbxFolio.Text == fatom.Folio.ToString())
                {
                    throw new Exception("El folio " + txtbxFolio.Text + " ya se encuentra grabado para la fecha actual!");
                }
            }

            if (fatomCol.Count > 1)
            {
                if (Convert.ToInt16(txtbxFolio.Text) <= 0)
                {
                    int i = fatomCol.Count - 1;
                    txtbxFolio.Text = (fatomCol[i].Folio + 1).ToString();
                }
            }
            else
            {
                if (Convert.ToInt16(txtbxFolio.Text) <= 0)
                {
                    txtbxFolio.Text = "1";
                }
            }
        }
예제 #10
0
        /*
         * Autor: Enrique Santana
         * Fecha de creación: 02/05/2012
         * Fecha de liberación: 04/06/2012
         * Descripción: Llena la tabla de folios
         */

        private bool LlenarTabla()
        {
            CLSFatomCollection tabla;
            string             fechaFolio     = fecha.ToString("yyyy-MM-dd 00:00:00");
            string             fechaSiguiente = fecha.AddDays(1).ToString("yyyy-MM-dd 00:00:00");
            bool pesarCab = false;
            bool llenado  = false;

            string criterio = "WHERE (WERKS = '" + centro + "') ";

            criterio = criterio + "AND (FECHA >= CONVERT(DATETIME, '" + fechaFolio + "', 120)) ";
            criterio = criterio + "AND (FECHA <= CONVERT(DATETIME, '" + fechaSiguiente + "', 120)) ";
            if (codDestino.Length > 0)
            {
                criterio = criterio + "AND (CODDESTINO = '" + codDestino + "') ";
            }
            if (calidad.Length > 0)
            {
                criterio = criterio + "AND (CALIDAD = '" + calidad + "') ";
            }
            if (lote.Length > 0)
            {
                criterio = criterio + "AND (CHARG = '" + lote + "') ";
            }
            if (pendiente && !procesado1)
            {
                criterio = criterio + "AND (ESTADO = ' ')";
            }
            else if (!pendiente && procesado1)
            {
                criterio = criterio + "AND (ESTADO = 'X')";
            }
            tabla = new CLSFatomBAL().MostrarFatomBAL(criterio);
            IEnumerator lista = tabla.GetEnumerator();

            if (tabla.Count > 0)
            {
                llenado = true;
            }

            while (lista.MoveNext())
            {
                CLSFatom fatometer = (CLSFatom)lista.Current;
                if (fatometer.PesarCab == "X")
                {
                    pesarCab = true;
                }
                else
                {
                    pesarCab = false;
                }
                if (fatometer.Procesado == "X")
                {
                    dgvFatom.ReadOnly = true;
                }
                dgvFatom.Rows.Add(fatometer.Charg, fatometer.Fecha.Date.ToString("dd.MM.yyyy"), fatometer.Folio, fatometer.Erfmg, fatometer.Tatuaje, fatometer.Calidad, fatometer.CodDestino,
                                  fatometer.Destino, fatometer.Musculo, fatometer.Grasa, fatometer.Chuleta, pesarCab, fatometer.PesoCab, fatometer.Procesado);
                matnrG.Add(fatometer.Matnr);
                codDestinoG.Add(fatometer.CodDestino);
            }
            return(llenado);
        }