Ejemplo n.º 1
0
        protected void Desplegar_SOLICITUD_DESTINOS()
        {
            //*ini* lrojas:31/08/2016 Si tiene retorno P_IdSolicitud!="" se agrego filas y debe reordenarse "Cont".
            DB_VT_Solicitud lista = new DB_VT_Solicitud();

            if (P_IdSolicitud != string.Empty)
            {
                DataTable DT_Sol_Des             = new DataTable();
                List <VT_SolicitudDestino> ColSD = new List <VT_SolicitudDestino>();
                DT_Sol_Des = lista.DB_Desplegar_SOLICITUD_DESTINOS(LblIdSolicitud.Text);
                foreach (DataRow r in DT_Sol_Des.Rows)
                {
                    //if (r["Tramo"].ToString() == "Salida")
                    //{
                    VT_SolicitudDestino ObjSD = new VT_SolicitudDestino();
                    ObjSD.Tramo                   = r["Tramo"].ToString();
                    ObjSD.Zona                    = r["Zona"].ToString();
                    ObjSD.Destino                 = r["Destino"].ToString();
                    ObjSD.Lugar                   = r["Lugar"].ToString();
                    ObjSD.Objetivo                = r["Objetivo"].ToString();
                    ObjSD.Fecha_Salida            = Convert.ToDateTime(r["Fecha_Salida"].ToString());
                    ObjSD.Via_Transporte          = r["Via_Transporte"].ToString();
                    ObjSD.Tipo_Transporte         = r["Tipo_Transporte"].ToString();
                    ObjSD.Nombre_Transporte       = r["Nombre_Transporte"].ToString();
                    ObjSD.Identificador_Trasporte = r["Identificador_Trasporte"].ToString();
                    ObjSD.Cont                    = Convert.ToInt32(r["Cont"].ToString());
                    ColSD.Add(ObjSD);
                    //}
                }
                List <VT_SolicitudDestino> ColSDSalidas = new List <VT_SolicitudDestino>();
                List <VT_SolicitudDestino> ColSDRetorno = new List <VT_SolicitudDestino>();
                List <VT_SolicitudDestino> ColSDFinal   = new List <VT_SolicitudDestino>();
                ColSDSalidas = ColSD.Where(x => x.Tramo == "Salida").ToList().OrderBy(ord => ord.Fecha_Salida).ToList();
                ColSDRetorno = ColSD.Where(x => x.Tramo == "Retorno").ToList().OrderBy(ord => ord.Fecha_Salida).ToList();
                foreach (VT_SolicitudDestino ObjSD_Salidas in ColSDSalidas)
                {
                    ColSDFinal.Add(ObjSD_Salidas);
                }
                foreach (VT_SolicitudDestino ObjSD_Retorno in ColSDRetorno)
                {
                    ColSDFinal.Add(ObjSD_Retorno);
                }

                GVSolicitud.DataSource = ColSDFinal; //ColSD.OrderBy(x => x.Fecha_Salida).ToList();
                GVSolicitud.DataBind();

                int numero   = lista.DB_Numero_Filas_SOLICITUD(LblIdSolicitud.Text);// se modifico query con  'cont>0'
                int Aux_Cont = 1;
                foreach (GridViewRow dgi in GVSolicitud.Rows)
                {
                    //int Cont = Convert.ToInt32(GVSolicitud.Rows[dgi.RowIndex].Cells[0].Text);
                    int Cont = Convert.ToInt32(GVSolicitud.DataKeys[dgi.RowIndex].Values[0]);
                    if (Cont > 0)
                    {
                        VT_SolicitudDestino ObjSD       = new VT_SolicitudDestino();
                        DropDownList        ddlZona     = (DropDownList)dgi.Cells[3].Controls[1];
                        DropDownList        ddlDestino  = (DropDownList)dgi.Cells[4].Controls[1];
                        TextBox             txLugar     = (TextBox)dgi.Cells[5].Controls[1];
                        TextBox             tx1Objetivo = (TextBox)dgi.Cells[6].Controls[1];
                        TextBox             tx2         = (TextBox)dgi.Cells[7].Controls[1];
                        DropDownList        ddlH        = (DropDownList)dgi.Cells[8].Controls[1];
                        DropDownList        ddlM        = (DropDownList)dgi.Cells[9].Controls[1];
                        //TextBox tx2A = (TextBox)dgi.Cells[7].Controls[1];
                        DropDownList ddlVia_Transporte         = (DropDownList)dgi.Cells[10].Controls[1];
                        DropDownList ddlTipo_Transporte        = (DropDownList)dgi.Cells[11].Controls[1];
                        TextBox      txNombre_Transporte       = (TextBox)dgi.Cells[12].Controls[1];
                        TextBox      txIdentificador_Trasporte = (TextBox)dgi.Cells[13].Controls[1];

                        ObjSD.Id_Solicitud            = LblIdSolicitud.Text;
                        ObjSD.Cont                    = Convert.ToInt32(GVSolicitud.DataKeys[dgi.RowIndex].Values[0]);
                        ObjSD.Tramo                   = dgi.Cells[1].Text;
                        ObjSD.Zona                    = ddlZona.SelectedValue;
                        ObjSD.Destino                 = ddlDestino.SelectedValue;
                        ObjSD.Lugar                   = txLugar.Text;
                        ObjSD.Objetivo                = tx1Objetivo.Text;
                        ObjSD.Fecha_Salida            = Convert.ToDateTime(tx2.Text + " " + ddlH.SelectedValue + ":" + ddlM.SelectedValue);
                        ObjSD.Via_Transporte          = ddlVia_Transporte.SelectedValue;
                        ObjSD.Tipo_Transporte         = ddlTipo_Transporte.SelectedValue;
                        ObjSD.Nombre_Transporte       = txNombre_Transporte.Text;
                        ObjSD.Identificador_Trasporte = txIdentificador_Trasporte.Text;

                        lista.DB_Modificar_SOLICITUD_DESTINO_CONT(ObjSD, ObjSD.Cont);
                        if (Aux_Cont != numero)
                        {
                            Aux_Cont++;
                        }
                    }
                }
            }
            GVSolicitud.DataSource = lista.DB_Desplegar_SOLICITUD_DESTINOS(LblIdSolicitud.Text);
            GVSolicitud.DataBind();
        }
Ejemplo n.º 2
0
        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++;
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        // lrojas:25/08/2016(1) ; 30/08/2016(2)
        protected void GVSolicitud_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                string tipo        = Convert.ToString(e.CommandName);
                int    rowIndex    = Convert.ToInt32(e.CommandArgument);
                string IdSolicitud = LblIdSolicitud.Text;
                //Session.Add("IdSolicitud", GVSolicitud.Rows[rowIndex].Cells[0].Text);
                DB_VT_Solicitud     DB_Sol = new DB_VT_Solicitud();
                VT_SolicitudDestino Obj_SD = new VT_SolicitudDestino();
                switch (tipo)
                {
                case "Delete":
                    string   NroReg      = Convert.ToString(GVSolicitud.DataKeys[rowIndex].Values[0]);
                    DateTime fechaDelete = DateTime.Now;
                    DB_Sol.DB_DELETE_SOLICITUD_DESTINO(IdSolicitud, NroReg, fechaDelete);
                    DB_VT_Solicitud     lista = new DB_VT_Solicitud();
                    VT_SolicitudDestino ObjSD = new VT_SolicitudDestino();
                    GVSolicitud.DataSource = lista.DB_Desplegar_SOLICITUD_DESTINOS(LblIdSolicitud.Text);
                    GVSolicitud.DataBind();
                    int numero   = lista.DB_Numero_Filas_SOLICITUD(LblIdSolicitud.Text);  // se modifico query con  'cont>0'
                    int Aux_Cont = 1;
                    foreach (GridViewRow dgi in GVSolicitud.Rows)
                    {
                        int Cont = Convert.ToInt32(GVSolicitud.DataKeys[rowIndex].Values[0]);
                        if (Cont > 0)
                        {
                            DropDownList ddlZona                   = (DropDownList)dgi.Cells[3].Controls[1];
                            DropDownList ddlDestino                = (DropDownList)dgi.Cells[4].Controls[1];
                            TextBox      txLugar                   = (TextBox)dgi.Cells[5].Controls[1];
                            TextBox      tx1Objetivo               = (TextBox)dgi.Cells[6].Controls[1];
                            TextBox      tx2                       = (TextBox)dgi.Cells[7].Controls[1];
                            DropDownList ddlHora                   = (DropDownList)dgi.Cells[8].Controls[1];
                            DropDownList ddlMin                    = (DropDownList)dgi.Cells[9].Controls[1];
                            DropDownList ddlVia_Transporte         = (DropDownList)dgi.Cells[10].Controls[1];
                            DropDownList ddlTipo_Transporte        = (DropDownList)dgi.Cells[11].Controls[1];
                            TextBox      txNombre_Transporte       = (TextBox)dgi.Cells[12].Controls[1];
                            TextBox      txIdentificador_Trasporte = (TextBox)dgi.Cells[13].Controls[1];

                            ObjSD.Id_Solicitud            = LblIdSolicitud.Text;
                            ObjSD.Cont                    = Convert.ToInt32(GVSolicitud.DataKeys[rowIndex].Values[0]);
                            ObjSD.Tramo                   = GVSolicitud.Rows[dgi.RowIndex].Cells[2].Text;
                            ObjSD.Zona                    = ddlZona.SelectedValue;
                            ObjSD.Destino                 = ddlDestino.SelectedValue;
                            ObjSD.Lugar                   = txLugar.Text;
                            ObjSD.Objetivo                = tx1Objetivo.Text;
                            ObjSD.Fecha_Salida            = Convert.ToDateTime(tx2.Text + " " + ddlHora.SelectedValue + ":" + ddlMin.SelectedValue);
                            ObjSD.Via_Transporte          = ddlVia_Transporte.SelectedValue;
                            ObjSD.Tipo_Transporte         = ddlTipo_Transporte.SelectedValue;
                            ObjSD.Nombre_Transporte       = txNombre_Transporte.Text;
                            ObjSD.Identificador_Trasporte = txIdentificador_Trasporte.Text;
                            lista.DB_Modificar_SOLICITUD_DESTINO_CONT(ObjSD, Aux_Cont);
                            if (Aux_Cont != numero)
                            {
                                Aux_Cont++;
                            }
                        }
                    }
                    break;
                }
                GVSolicitud.DataSource = DB_Sol.DB_Desplegar_SOLICITUD_DESTINOS(LblIdSolicitud.Text);
                GVSolicitud.DataBind();
            }
            catch (Exception ex)
            {
                string script = @"<script type='text/javascript'>alert('{0}');</script>";
                script = string.Format(script, ex.Message);
                ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, false);
            }
        }