Example #1
0
        private void CargarPenalizacionCalidad()
        {
            CLS_Acopio selCamion = new CLS_Acopio();

            selCamion.MtdSeleccionarPenalizacionCalidad();
            if (selCamion.Exito)
            {
                dtgPenalizacionCalidad.DataSource = selCamion.Datos;
            }
        }
Example #2
0
        private void InsertarBonificacionCalidad(DataTable datos)
        {
            string  vOrdenCorte          = string.Empty;
            string  vAcopiador           = string.Empty;
            string  vv_nombre_hue        = string.Empty;
            decimal vn_cajas_estimadas   = 0;
            decimal vn_cajas_recibidas   = 0;
            decimal vn_porcentaje        = 0;
            decimal vn_porcentajeVolumen = 0;
            decimal vn_bono_completo     = 0;
            decimal vn_importe           = 0;
            decimal vn_cat1_est          = 0;
            decimal vn_cat2_est          = 0;
            decimal vn_Nac_est           = 0;
            decimal vn_cat1_pro          = 0;
            decimal vn_cat2_pro          = 0;
            decimal vn_Nac_pro           = 0;
            decimal vn_porcentajeCat1    = 0;
            decimal vn_porcentajeCat2    = 0;
            decimal vn_porcentajeNal     = 0;
            decimal vn_porcentajeGrupo   = 0;
            string  vTipoCorte           = string.Empty;

            for (int i = 0; i < datos.Rows.Count; i++)
            {
                vOrdenCorte        = datos.Rows[i]["OrderCorte"].ToString();
                vAcopiador         = datos.Rows[i]["Acopiador"].ToString();
                vv_nombre_hue      = datos.Rows[i]["Huerta"].ToString();
                vn_cajas_estimadas = Convert.ToDecimal(datos.Rows[i]["n_cajas_pcd"].ToString());
                vn_cajas_recibidas = Convert.ToDecimal(datos.Rows[i]["RecibCajas"].ToString());
                vn_cat1_est        = Convert.ToDecimal(datos.Rows[i]["EstCat1"].ToString());
                vn_cat2_est        = Convert.ToDecimal(datos.Rows[i]["EstCat2"].ToString());
                vn_Nac_est         = Convert.ToDecimal(datos.Rows[i]["EstNal"].ToString());
                vn_cat1_pro        = Convert.ToDecimal(datos.Rows[i]["ProCat1"].ToString());
                vn_cat2_pro        = Convert.ToDecimal(datos.Rows[i]["ProCat2"].ToString());
                vn_Nac_pro         = Convert.ToDecimal(datos.Rows[i]["ProNal"].ToString());
                vTipoCorte         = datos.Rows[i]["Tipocorte"].ToString();
                vn_porcentajeGrupo = PorcentajeGrupo("02");
                if (Convert.ToDecimal(datos.Rows[i]["n_cajas_pcd"].ToString()) > 0)
                {
                    vn_porcentajeVolumen = Convert.ToDecimal(datos.Rows[i]["RecibCajas"].ToString()) / Convert.ToDecimal(datos.Rows[i]["n_cajas_pcd"].ToString()) * 100;

                    if (Convert.ToDecimal(datos.Rows[i]["EstCat1"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["ProCat1"].ToString()) / Convert.ToDecimal(datos.Rows[i]["EstCat1"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["EstCat1"].ToString()) / 100) > 0)
                        {
                            vn_porcentajeCat1 = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["ProCat1"].ToString()) / Convert.ToDecimal(datos.Rows[i]["EstCat1"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["EstCat1"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentajeCat1 = 0;
                        }
                    }
                    else
                    {
                        vn_porcentajeCat1 = 0;
                    }
                    if (Convert.ToDecimal(datos.Rows[i]["EstCat2"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["ProCat2"].ToString()) / Convert.ToDecimal(datos.Rows[i]["EstCat2"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["EstCat2"].ToString()) / 100) > 0)
                        {
                            vn_porcentajeCat2 = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["ProCat2"].ToString()) / Convert.ToDecimal(datos.Rows[i]["EstCat2"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["EstCat2"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentajeCat2 = 0;
                        }
                    }
                    else
                    {
                        vn_porcentajeCat2 = 0;
                    }
                    if (Convert.ToDecimal(datos.Rows[i]["EstNal"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["ProNal"].ToString()) / Convert.ToDecimal(datos.Rows[i]["EstNal"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["EstNal"].ToString()) / 100) > 0)
                        {
                            vn_porcentajeNal = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["ProNal"].ToString()) / Convert.ToDecimal(datos.Rows[i]["EstNal"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["EstNal"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentajeNal = 0;
                        }
                    }
                    else
                    {
                        vn_porcentajeNal = 0;
                    }
                    vn_porcentaje = vn_porcentajeCat1 + vn_porcentajeCat2 + vn_porcentajeNal;

                    if (vn_porcentaje <= 10)
                    {
                        vn_bono_completo = MontoCompletoCamion(Convert.ToDecimal(datos.Rows[i]["n_cajas_pcd"].ToString()));
                        vn_importe       = (vn_bono_completo * vn_porcentajeGrupo) * (100 - (vn_porcentaje * 5)) / 100;
                    }
                    else
                    {
                        vn_bono_completo = MontoCompletoCamion(Convert.ToDecimal(datos.Rows[i]["n_cajas_pcd"].ToString()));
                        vn_importe       = 0;
                    }
                    if ((vn_porcentajeVolumen) < 50)
                    {
                        vn_bono_completo = MontoCompletoCamion(Convert.ToDecimal(datos.Rows[i]["n_cajas_pcd"].ToString()));
                        vn_importe       = 0;
                    }
                }
                else
                {
                    vn_bono_completo = MontoCompletoCamion(Convert.ToDecimal(datos.Rows[i]["n_cajas_pcd"].ToString()));
                    vn_importe       = 0;
                }
                try
                {
                    CLS_Acopio selporc = new CLS_Acopio();
                    selporc.MtdSeleccionarPenalizacionCalidad();
                    if (selporc.Exito)
                    {
                        for (int x = 0; x < selporc.Datos.Rows.Count; x++)
                        {
                            if (selporc.Datos.Rows[x]["v_penalizacion_pcal"].ToString() == "Cat1" && Convert.ToDecimal(selporc.Datos.Rows[x]["n_porcentaje"].ToString()) > 0)
                            {
                                if (Convert.ToDecimal(selporc.Datos.Rows[x]["n_porcentaje"].ToString()) * 100 <= Convert.ToDecimal(datos.Rows[i]["ProCat1"].ToString()))
                                {
                                    vn_importe = 0;
                                }
                            }
                            else if (selporc.Datos.Rows[x]["v_penalizacion_pcal"].ToString() == "Cat2" && Convert.ToDecimal(selporc.Datos.Rows[x]["n_porcentaje"].ToString()) > 0)
                            {
                                if (Convert.ToDecimal(selporc.Datos.Rows[x]["n_porcentaje"].ToString()) * 100 <= Convert.ToDecimal(datos.Rows[i]["ProCat2"].ToString()))
                                {
                                    vn_importe = 0;
                                }
                            }
                            else if (selporc.Datos.Rows[x]["v_penalizacion_pcal"].ToString() == "Nacional" && Convert.ToDecimal(selporc.Datos.Rows[x]["n_porcentaje"].ToString()) > 0)
                            {
                                if (Convert.ToDecimal(selporc.Datos.Rows[x]["n_porcentaje"].ToString()) * 100 <= Convert.ToDecimal(datos.Rows[i]["ProNal"].ToString()))
                                {
                                    vn_importe = 0;
                                }
                            }
                        }
                    }
                    CLS_Acopio insCalibre = new CLS_Acopio();
                    insCalibre.OrdenCorte          = vOrdenCorte;
                    insCalibre.Acopiador           = vAcopiador;
                    insCalibre.v_nombre_hue        = vv_nombre_hue;
                    insCalibre.n_cajas_estimadas   = vn_cajas_estimadas;
                    insCalibre.n_cat1_est          = vn_cat1_est;
                    insCalibre.n_cat2_est          = vn_cat2_est;
                    insCalibre.n_Nac_est           = vn_Nac_est;
                    insCalibre.n_cat1_pro          = vn_cat1_pro;
                    insCalibre.n_cat2_pro          = vn_cat2_pro;
                    insCalibre.n_Nac_pro           = vn_Nac_pro;
                    insCalibre.n_porcentaje        = vn_porcentaje;
                    insCalibre.n_porcentajeVolumen = vn_porcentajeVolumen;
                    insCalibre.n_bono_completo     = vn_bono_completo * vn_porcentajeGrupo;
                    insCalibre.n_importe           = vn_importe;
                    insCalibre.v_tipocorte         = vTipoCorte;
                    DateTime vFechaCorte = Convert.ToDateTime(datos.Rows[i]["FechaCorte"].ToString());
                    FechaInicio = vFechaCorte.Year + DosCeros1(vFechaCorte.Month.ToString()) + DosCeros1(vFechaCorte.Day.ToString());
                    insCalibre.d_fecha_OrdenCorte = FechaInicio;

                    insCalibre.MtdInsertarBonificacionCalidad();
                    if (!insCalibre.Exito)
                    {
                        XtraMessageBox.Show(insCalibre.Mensaje);
                    }
                }
                catch (Exception ex)
                {
                    XtraMessageBox.Show(ex.Message);
                }
            }
        }