private void CargarPenalizacionCalidad() { CLS_Acopio selCamion = new CLS_Acopio(); selCamion.MtdSeleccionarPenalizacionCalidad(); if (selCamion.Exito) { dtgPenalizacionCalidad.DataSource = selCamion.Datos; } }
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); } } }