public void DA_Registrar_PLANILLADIA(VT_PlanillaDia pd) { try { using (SqlConnection conexion = new SqlConnection(conexionString)) { SqlCommand cmd = new SqlCommand("VT_PLANILLA_DIA_INSERT", conexion); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Id_Planilla", pd.Id_Planilla); cmd.Parameters.AddWithValue("@Cont", pd.Cont); cmd.Parameters.AddWithValue("@Num_Dias", pd.Num_Dias); cmd.Parameters.AddWithValue("@Area", pd.Area); cmd.Parameters.AddWithValue("@Destino", pd.Destino); cmd.Parameters.AddWithValue("@Monto", pd.Monto); cmd.Parameters.AddWithValue("@Observacion", pd.Observacion); cmd.Parameters.AddWithValue("@FechaDia", pd.FechaDia); conexion.Open(); cmd.ExecuteNonQuery(); conexion.Close(); } } catch (Exception err) { throw (new Exception(err.ToString() + "-" + err.Source.ToString() + "-" + err.Message.ToString())); } }
protected void BtnAceptar_Click(object sender, EventArgs e) { if (LblEstado.Text == "INF-APROBADO" || LblEstado.Text == "APROBADO") { DB_VT_Planilla ip = new DB_VT_Planilla(); VT_Planilla p = new VT_Planilla(); VT_PlanillaDia pd = new VT_PlanillaDia(); p = ip.DB_Seleccionar_PLANILLA(LblIdSolicitud.Text); int idplanilla = p.Id_Planilla; p.Id_Solicitud = LblIdSolicitud.Text; p.Tot_Num_Dias = Convert.ToDecimal(LblDiasCom.Text); p.Tot_Num_Dias15 = Convert.ToDecimal(LblDiasCom15.Text); p.Pago_Total = Convert.ToDecimal(LblTotalMonto.Text); p.Pago_Total15 = Convert.ToDecimal(LblTotalMonto15.Text); p.Liquido_Pagable = Convert.ToDecimal(LblTotalPago.Text); p.Num_Cheque = TxtNumCheque.Text; p.Fecha_Atendido = DateTime.Now; p.MontoPorDia = Convert.ToDecimal(Lbl100.Text); ip.DB_Modificar_PLANILLA(p); int contador = 1; foreach (GridViewRow dgi in GVDetallePlanilla.Rows) { TextBox tx = (TextBox)dgi.Cells[5].Controls[1]; TextBox tx1 = (TextBox)dgi.Cells[7].Controls[1]; DropDownList ddl = (DropDownList)dgi.Cells[3].Controls[1]; pd.Id_Planilla = p.Id_Planilla; pd.Cont = contador; pd.Num_Dias = Convert.ToDecimal(tx.Text); pd.Area = ddl.SelectedItem.Text; pd.Destino = GVDetallePlanilla.Rows[dgi.RowIndex].Cells[4].Text; pd.Monto = Convert.ToDecimal(GVDetallePlanilla.Rows[dgi.RowIndex].Cells[6].Text); pd.Observacion = tx1.Text; ip.DB_Modificar_PLANILLA_DIA(pd); contador++; } DB_VT_Solicitud s = new DB_VT_Solicitud(); s.DB_Cambiar_ESTADO(LblIdSolicitud.Text, "PROCESADO"); BtnAceptar.Enabled = false; StringBuilder sbMensaje = new StringBuilder(); sbMensaje.Append("<script type='text/javascript'>"); sbMensaje.AppendFormat("window.open('{0}','Titulo','top=0,left=0,width=1000,height=600,scrollbars=yes,resizable=no,directories=no,location=no,menubar=no,status=no,Titlebar=yes,toolbar=no');", "../Viaticos/repPlanillaPago.aspx?ci=" + p.Id_Solicitud); sbMensaje.Append("</script>"); ClientScript.RegisterClientScriptBlock(this.GetType(), "Mensaje", sbMensaje.ToString()); //Response.Redirect("frmRevisarInformes.aspx"); } else { Response.Write("<script>window.alert('No se puede procesar su planilla de pago, por que NO se tiene un informe de viaje APROBADO.');</script>"); } }
protected void Cargar_PLANILLA(string idUser, string idSolicitud) { string lugar = ""; DB_VT_Planilla regP = new DB_VT_Planilla(); VT_Planilla p = new VT_Planilla(); VT_PlanillaDia pd = new VT_PlanillaDia(); VT_SolicitudDestino sd1 = new VT_SolicitudDestino(); VT_SolicitudDestino sd2 = new VT_SolicitudDestino(); DB_VT_Solicitud s1 = new DB_VT_Solicitud(); DB_AP_Registro_Org aux = new DB_AP_Registro_Org(); DataTable dt = new DataTable(); DataTable dt1 = new DataTable(); DataTable dt2 = new DataTable(); int numero = s1.DB_Numero_Filas_SOLICITUD(idSolicitud);// se modifico query con 'cont>0' decimal contdias = Convert.ToDecimal("0"); p.Id_Solicitud = idSolicitud; p.Tot_Num_Dias = 0; p.Tot_Num_Dias15 = 0; p.Pago_Total = 0; p.Pago_Total15 = 0; p.Rc_Iva = 13; /*********************************************************** OJO AQUI HAY QUE PONER LOS PARAMETROS DE GESTION ******/ p.Liquido_Pagable = 0; p.Num_Cheque = "0"; p.Tasa_Cambio = 0; p.Fecha = DateTime.Now; p.Fecha_Atendido = DateTime.Now; p.MontoPorDia = 1; regP.DB_Registrar_PLANILLA(p); int idplani = Convert.ToInt32(aux.DB_MaxId("VIAT_PLANILLA", "Id_Planilla")); /**************************************************************/ DB_VT_Solicitud sol = new DB_VT_Solicitud(); dt = sol.DB_Seleccionar_SOLICITUD(idSolicitud); /************************************************************/ DB_AdminUser us = new DB_AdminUser(); dt1 = us.DB_Desplegar_USUARIO(idUser); /******************************************************/ DB_VT_Categoria cat = new DB_VT_Categoria(); string aux1 = dt1.Rows[0][11].ToString(); string aux2 = dt.Rows[0][3].ToString(); dt2 = cat.DB_Seleccionar_CATEGORIA(Convert.ToInt32(dt1.Rows[0][11].ToString()), dt.Rows[0][3].ToString()); /***************************************************************/ //DB_VT_Solicitud sol = new DB_VT_Solicitud(); int contador = 1; int auxiliar = 0; for (int i = 1; i <= (numero); i++) { sd1 = s1.DB_Seleccionar_SOLICITUD_DESTINO(idSolicitud, i); sd2 = s1.DB_Seleccionar_SOLICITUD_DESTINO(idSolicitud, (i + 1)); int dias = sol.DB_NumDHM(Convert.ToDateTime(sd1.Fecha_Salida.ToString()), Convert.ToDateTime(sd2.Fecha_Salida.ToString()), "DD"); if (sd1.Fecha_Salida.ToString("dd/MM/yyyy") == sd2.Fecha_Salida.ToString("dd/MM/yyyy")) { if (numero == 2) { contdias = Convert.ToDecimal("0.5"); pd.Id_Planilla = idplani; pd.Cont = contador; pd.Num_Dias = contdias; if (sd1.Zona == "Interdepartamental") { pd.Area = "Interdepartamental"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][3].ToString()); } else { pd.Area = "Al interior del Departamento"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][4].ToString()); } pd.Destino = sd1.Destino + " " + sd1.Lugar; pd.Observacion = "SIN PERNOCTE"; pd.FechaDia = sd1.Fecha_Salida; regP.DB_Registrar_PLANILLADIA(pd); contador++; break; } else { pd.Destino = sd1.Destino + " " + sd1.Lugar; } } else { if (sd1.Tramo == "Salida") { contdias = s1.DB_NumDHM(sd1.Fecha_Salida, sd2.Fecha_Salida, "DD"); for (int j = 0; j < contdias; j++) { pd.Id_Planilla = idplani; pd.Cont = contador; pd.Num_Dias = 1; if (sd1.Zona == "Interdepartamental") { pd.Area = "Interdepartamental"; pd.Monto = 1 * Convert.ToDecimal(dt2.Rows[0][3].ToString()); } else { pd.Area = "Al interior del Departamento"; pd.Monto = 1 * Convert.ToDecimal(dt2.Rows[0][4].ToString()); } pd.Destino = sd1.Destino + " " + sd1.Lugar; pd.Observacion = "CON PERNOCTE"; pd.FechaDia = sd1.Fecha_Salida.AddDays(j); regP.DB_Registrar_PLANILLADIA(pd); auxiliar = j; contador++; } } else { contdias = s1.DB_NumDHM(Convert.ToDateTime(sd1.Fecha_Salida.ToString("dd/MM/yyyy") + " " + "08:00:00"), sd1.Fecha_Salida, "HH"); if (contdias > 4) /*************************************** OJO aqui calculamos por hora mayor a 4 horas se contabiliza como medio dia*/ { contdias = Convert.ToDecimal("0.5"); pd.Id_Planilla = idplani; pd.Cont = contador; pd.Num_Dias = contdias; if (sd1.Zona == "Interdepartamental") { pd.Area = "Interdepartamental"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][3].ToString()); } else { pd.Area = "Al interior del Departamento"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][4].ToString()); } pd.Destino = sd1.Destino + " " + sd1.Lugar; pd.Observacion = "SIN PERNOCTE"; pd.FechaDia = sd1.Fecha_Salida.AddDays(0); regP.DB_Registrar_PLANILLADIA(pd); contador++; } else { contdias = Convert.ToDecimal("0.0"); pd.Id_Planilla = idplani; pd.Cont = contador; pd.Num_Dias = contdias; if (sd1.Zona == "Interdepartamental") { pd.Area = "Interdepartamental"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][3].ToString()); } else { pd.Area = "Al interior del Departamento"; pd.Monto = contdias * Convert.ToDecimal(dt2.Rows[0][4].ToString()); } pd.Destino = sd1.Destino + " " + sd1.Lugar; pd.Observacion = "No se cumplió el periodo de 4 horas que se considera como medio día de viatico"; pd.FechaDia = sd1.Fecha_Salida.AddDays(0); regP.DB_Registrar_PLANILLADIA(pd); contador++; } } } } }
public void DB_Modificar_PLANILLA_DIA(VT_PlanillaDia pd) { DA_VT_Planilla dato = new DA_VT_Planilla(); dato.DA_Modificar_PLANILLA_DIA(pd); }
public void DB_Registrar_PLANILLADIA(VT_PlanillaDia pd) { DA_VT_Planilla InsPlanD = new DA_VT_Planilla(); InsPlanD.DA_Registrar_PLANILLADIA(pd); }