private void CargarPenalizacionCalibres() { CLS_Acopio selGrupo = new CLS_Acopio(); selGrupo.MtdSeleccionarPenalizacionCalibres(); if (selGrupo.Exito) { dtgPenalizacionCalibres.DataSource = selGrupo.Datos; } }
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); } } }