Esempio n. 1
0
        private void CargarPenalizacionCalibres()
        {
            CLS_Acopio selGrupo = new CLS_Acopio();

            selGrupo.MtdSeleccionarPenalizacionCalibres();
            if (selGrupo.Exito)
            {
                dtgPenalizacionCalibres.DataSource = selGrupo.Datos;
            }
        }
Esempio n. 2
0
        private void InsertarBonificacionCalibre(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_32_est = 0;
            decimal vn_36_est = 0;
            decimal vn_40_est = 0;
            decimal vn_48_est = 0;
            decimal vn_60_est = 0;
            decimal vn_70_est = 0;
            decimal vn_84_est = 0;
            decimal vn_96_est = 0;

            decimal vn_32_pro = 0;
            decimal vn_36_pro = 0;
            decimal vn_40_pro = 0;
            decimal vn_48_pro = 0;
            decimal vn_60_pro = 0;
            decimal vn_70_pro = 0;
            decimal vn_84_pro = 0;
            decimal vn_96_pro = 0;

            decimal vn_porcentaje32 = 0;
            decimal vn_porcentaje36 = 0;
            decimal vn_porcentaje40 = 0;
            decimal vn_porcentaje48 = 0;
            decimal vn_porcentaje60 = 0;
            decimal vn_porcentaje70 = 0;
            decimal vn_porcentaje84 = 0;
            decimal vn_porcentaje96 = 0;
            string  vTipoCorte      = string.Empty;

            decimal vn_porcentajeGrupo = 0;

            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_32_est = Convert.ToDecimal(datos.Rows[i]["Est32"].ToString());
                vn_36_est = Convert.ToDecimal(datos.Rows[i]["Est36"].ToString());
                vn_40_est = Convert.ToDecimal(datos.Rows[i]["Est40"].ToString());
                vn_48_est = Convert.ToDecimal(datos.Rows[i]["Est48"].ToString());
                vn_60_est = Convert.ToDecimal(datos.Rows[i]["Est60"].ToString());
                vn_70_est = Convert.ToDecimal(datos.Rows[i]["Est70"].ToString());
                vn_84_est = Convert.ToDecimal(datos.Rows[i]["Est84"].ToString());
                vn_96_est = Convert.ToDecimal(datos.Rows[i]["Est96"].ToString());

                vn_32_pro = Convert.ToDecimal(datos.Rows[i]["Pro32"].ToString());
                vn_36_pro = Convert.ToDecimal(datos.Rows[i]["Pro36"].ToString());
                vn_40_pro = Convert.ToDecimal(datos.Rows[i]["Pro40"].ToString());
                vn_48_pro = Convert.ToDecimal(datos.Rows[i]["Pro48"].ToString());
                vn_60_pro = Convert.ToDecimal(datos.Rows[i]["Pro60"].ToString());
                vn_70_pro = Convert.ToDecimal(datos.Rows[i]["Pro70"].ToString());
                vn_84_pro = Convert.ToDecimal(datos.Rows[i]["Pro84"].ToString());
                vn_96_pro = Convert.ToDecimal(datos.Rows[i]["Pro96"].ToString());

                vTipoCorte         = datos.Rows[i]["Tipocorte"].ToString();
                vn_porcentajeGrupo = PorcentajeGrupo("03");
                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]["Est32"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["Pro32"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est32"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est32"].ToString()) / 100) > 0)
                        {
                            vn_porcentaje32 = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["Pro32"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est32"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est32"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentaje32 = 0;
                        }
                    }
                    else
                    {
                        vn_porcentaje32 = 0;
                    }

                    if (Convert.ToDecimal(datos.Rows[i]["Est36"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["Pro36"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est36"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est36"].ToString()) / 100) > 0)
                        {
                            vn_porcentaje36 = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["Pro36"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est36"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est36"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentaje36 = 0;
                        }
                    }
                    else
                    {
                        vn_porcentaje36 = 0;
                    }

                    if (Convert.ToDecimal(datos.Rows[i]["Est40"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["Pro40"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est40"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est40"].ToString()) / 100) > 0)
                        {
                            vn_porcentaje40 = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["Pro40"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est40"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est40"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentaje40 = 0;
                        }
                    }
                    else
                    {
                        vn_porcentaje40 = 0;
                    }

                    if (Convert.ToDecimal(datos.Rows[i]["Est48"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["Pro48"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est48"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est48"].ToString()) / 100) > 0)
                        {
                            vn_porcentaje48 = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["Pro48"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est48"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est48"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentaje48 = 0;
                        }
                    }
                    else
                    {
                        vn_porcentaje48 = 0;
                    }

                    if (Convert.ToDecimal(datos.Rows[i]["Est60"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["Pro60"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est60"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est60"].ToString()) / 100) > 0)
                        {
                            vn_porcentaje60 = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["Pro60"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est60"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est60"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentaje60 = 0;
                        }
                    }
                    else
                    {
                        vn_porcentaje60 = 0;
                    }

                    if (Convert.ToDecimal(datos.Rows[i]["Est70"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["Pro70"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est70"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est70"].ToString()) / 100) > 0)
                        {
                            vn_porcentaje70 = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["Pro70"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est70"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est70"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentaje70 = 0;
                        }
                    }
                    else
                    {
                        vn_porcentaje70 = 0;
                    }

                    if (Convert.ToDecimal(datos.Rows[i]["Est84"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["Pro84"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est84"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est84"].ToString()) / 100) > 0)
                        {
                            vn_porcentaje84 = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["Pro84"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est84"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est84"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentaje84 = 0;
                        }
                    }
                    else
                    {
                        vn_porcentaje84 = 0;
                    }

                    if (Convert.ToDecimal(datos.Rows[i]["Est96"].ToString()) > 0)
                    {
                        if ((100 - (((Convert.ToDecimal(datos.Rows[i]["Pro96"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est96"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est96"].ToString()) / 100) > 0)
                        {
                            vn_porcentaje96 = Math.Abs(100 - (((Convert.ToDecimal(datos.Rows[i]["Pro96"].ToString()) / Convert.ToDecimal(datos.Rows[i]["Est96"].ToString())) * 100))) * (Convert.ToDecimal(datos.Rows[i]["Est96"].ToString()) / 100);
                        }
                        else
                        {
                            vn_porcentaje96 = 0;
                        }
                    }
                    else
                    {
                        vn_porcentaje96 = 0;
                    }

                    vn_porcentaje = vn_porcentaje32 + vn_porcentaje36 + vn_porcentaje40 + vn_porcentaje48 + vn_porcentaje60 + vn_porcentaje70 + vn_porcentaje84 + vn_porcentaje96;

                    if (vn_porcentaje <= 20)
                    {
                        vn_bono_completo = MontoCompletoCamion(Convert.ToDecimal(datos.Rows[i]["n_cajas_pcd"].ToString()));

                        vn_importe = (vn_bono_completo * vn_porcentajeGrupo) * (100 - (vn_porcentaje * 4)) / 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.MtdSeleccionarPenalizacionCalibres();
                    if (selporc.Exito)
                    {
                        for (int x = 0; x < selporc.Datos.Rows.Count; x++)
                        {
                            if (selporc.Datos.Rows[x]["v_penalizacion_pcali"].ToString() == "32" && 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]["Pro32"].ToString()))
                                {
                                    vn_importe = 0;
                                }
                            }
                            else if (selporc.Datos.Rows[x]["v_penalizacion_pcali"].ToString() == "36" && 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]["Pro36"].ToString()))
                                {
                                    vn_importe = 0;
                                }
                            }
                            else if (selporc.Datos.Rows[x]["v_penalizacion_pcali"].ToString() == "40" && 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]["Pro40"].ToString()))
                                {
                                    vn_importe = 0;
                                }
                            }
                            else if (selporc.Datos.Rows[x]["v_penalizacion_pcali"].ToString() == "48" && 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]["Pro48"].ToString()))
                                {
                                    vn_importe = 0;
                                }
                            }
                            else if (selporc.Datos.Rows[x]["v_penalizacion_pcali"].ToString() == "60" && 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]["Pro60"].ToString()))
                                {
                                    vn_importe = 0;
                                }
                            }
                            else if (selporc.Datos.Rows[x]["v_penalizacion_pcali"].ToString() == "70" && 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]["Pro70"].ToString()))
                                {
                                    vn_importe = 0;
                                }
                            }
                            else if (selporc.Datos.Rows[x]["v_penalizacion_pcali"].ToString() == "84" && 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]["Pro84"].ToString()))
                                {
                                    vn_importe = 0;
                                }
                            }
                            else if (selporc.Datos.Rows[x]["v_penalizacion_pcali"].ToString() == "96" && 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]["Pro96"].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_32_est            = vn_32_est;
                    insCalibre.n_36_est            = vn_36_est;
                    insCalibre.n_40_est            = vn_40_est;
                    insCalibre.n_48_est            = vn_48_est;
                    insCalibre.n_60_est            = vn_60_est;
                    insCalibre.n_70_est            = vn_70_est;
                    insCalibre.n_84_est            = vn_84_est;
                    insCalibre.n_96_est            = vn_96_est;
                    insCalibre.n_32_pro            = vn_32_pro;
                    insCalibre.n_36_pro            = vn_36_pro;
                    insCalibre.n_40_pro            = vn_40_pro;
                    insCalibre.n_48_pro            = vn_48_pro;
                    insCalibre.n_60_pro            = vn_60_pro;
                    insCalibre.n_70_pro            = vn_70_pro;
                    insCalibre.n_84_pro            = vn_84_pro;
                    insCalibre.n_96_pro            = vn_96_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.MtdInsertarBonificacionCalibre();
                    if (!insCalibre.Exito)
                    {
                        XtraMessageBox.Show(insCalibre.Mensaje);
                    }
                }
                catch (Exception ex)
                {
                    XtraMessageBox.Show(ex.Message);
                }
            }
        }