Example #1
0
        protected void Generar_Encomienda(string numero)
        {
            string agenciaO, ruta, fecha, entregaNit, entregaCel, placa, numBus, entregaNombre, recibeNit, recibeCel, recibeNombre, descripcion, unidades, peso, volumen, valDeclarado, costo, iva, total, responsableNit, responsableNombre;
            string plantilla = "";
            string nlchar = "`", redChar = "^";
            int    anchoTiquete = Tiquetes.anchoTiquete;

            try
            {
                string       strLinea = "";
                StreamReader strArchivo;
                strArchivo = File.OpenText(ConfigurationManager.AppSettings["PathToPapeleria"] + "\\PlantillaEncomienda.txt");
                strLinea   = strArchivo.ReadLine();
                //La primera linea puede contener el ancho del tiquete
                try
                {
                    anchoTiquete = Int16.Parse(strLinea);
                    strLinea     = strArchivo.ReadLine();
                }
                catch {}

                while (strLinea != null)
                {
                    plantilla += strLinea + nlchar;
                    strLinea   = strArchivo.ReadLine();
                }
                strArchivo.Close();
            }
            catch
            {
                Utils.MostrarAlerta(Response, "No se ha creado la plantilla de Encomiendas, no se pudo imprimir.");
                return;
            }
            plantilla = plantilla.Replace("<RED>", redChar);

            DataSet dsEncomienda = new DataSet();

            DBFunctions.Request(dsEncomienda, IncludeSchema.NO, "SELECT * FROM DBXSCHEMA.MENCOMIENDAS WHERE NUM_DOCUMENTO=" + numero + ";");
            if (dsEncomienda.Tables[0].Rows.Count == 0)
            {
                plantilla = "NO EXISTE LA ENCOMIENDA";
                return;
            }

            agenciaO          = DBFunctions.SingleData("SELECT MAGE_NOMBRE FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO=" + dsEncomienda.Tables[0].Rows[0]["MAG_RECIBE"].ToString() + ";");
            ruta              = DBFunctions.SingleData("SELECT MRUT_DESCRIPCION FROM DBXSCHEMA.MRUTAS WHERE MRUT_CODIGO='" + dsEncomienda.Tables[0].Rows[0]["MRUT_CODIGO"].ToString() + "';");
            fecha             = Convert.ToDateTime(dsEncomienda.Tables[0].Rows[0]["FECHA_RECIBE"]).ToString("yyyy/MM/dd");
            placa             = dsEncomienda.Tables[0].Rows[0]["MCAT_PLACA"].ToString();
            numBus            = DBFunctions.SingleData("SELECT MBUS_NUMERO FROM DBXSCHEMA.MBUSAFILIADO WHERE MCAT_PLACA='" + placa + "';");
            entregaNit        = dsEncomienda.Tables[0].Rows[0]["MNIT_EMISOR"].ToString();
            entregaNombre     = DBFunctions.SingleData("SELECT MPAS_NOMBRES CONCAT ' ' CONCAT MPAS_APELLIDOS FROM DBXSCHEMA.MPASAJERO where MPAS_NIT='" + entregaNit + "';");
            entregaCel        = DBFunctions.SingleData("SELECT MPAS_TELEFONO  FROM DBXSCHEMA.MPASAJERO where MPAS_NIT='" + entregaNit + "';");
            recibeNit         = dsEncomienda.Tables[0].Rows[0]["MNIT_DESTINATARIO"].ToString();
            recibeNombre      = DBFunctions.SingleData("SELECT MPAS_NOMBRES CONCAT ' ' CONCAT MPAS_APELLIDOS FROM DBXSCHEMA.MPASAJERO where MPAS_NIT='" + recibeNit + "';");
            recibeCel         = DBFunctions.SingleData("SELECT MPAS_TELEFONO  FROM DBXSCHEMA.MPASAJERO where MPAS_NIT='" + recibeNit + "';");
            responsableNit    = dsEncomienda.Tables[0].Rows[0]["MNIT_RESPONSABLE_RECIBE"].ToString();
            responsableNombre = DBFunctions.SingleData("SELECT MNIT_NOMBRES CONCAT ' ' CONCAT MNIT_APELLIDOS FROM DBXSCHEMA.MNIT where MNIT_NIT='" + responsableNit + "';");

            unidades     = Convert.ToDouble(dsEncomienda.Tables[0].Rows[0]["UNIDADES"]).ToString("###,###,##0");
            peso         = Convert.ToDouble(dsEncomienda.Tables[0].Rows[0]["PESO"]).ToString("###,###,##0");
            volumen      = Convert.ToDouble(dsEncomienda.Tables[0].Rows[0]["VOLUMEN"]).ToString("###,###,##0");
            valDeclarado = Convert.ToDouble(dsEncomienda.Tables[0].Rows[0]["VALOR_AVALUO"]).ToString("###,###,##0");
            costo        = Convert.ToDouble(dsEncomienda.Tables[0].Rows[0]["COSTO_ENCOMIENDA"]).ToString("###,###,##0");
            iva          = Convert.ToDouble(dsEncomienda.Tables[0].Rows[0]["VALOR_IVA"]).ToString("###,###,##0");
            total        = Convert.ToDouble(dsEncomienda.Tables[0].Rows[0]["VALOR_TOTAL"]).ToString("###,###,##0");

            plantilla = plantilla.Replace("<NUMERO>", numero);
            plantilla = plantilla.Replace("<FECHA>", fecha);
            plantilla = plantilla.Replace("<PLANILLA>", dsEncomienda.Tables[0].Rows[0]["MPLA_CODIGO"].ToString());
            plantilla = plantilla.Replace("<DOCUMENTO>", dsEncomienda.Tables[0].Rows[0]["NUM_DOC_REFERENCIA"].ToString());
            plantilla = plantilla.Replace("<AGENCIA>", agenciaO);
            plantilla = plantilla.Replace("<RUTA>", ruta);
            plantilla = plantilla.Replace("<BUS_NUMERO>", numBus);
            plantilla = plantilla.Replace("<BUS_PLACA>", placa);

            plantilla = plantilla.Replace("<ENTREGA_NOMBRE>", entregaNombre);
            plantilla = plantilla.Replace("<ENTREGA_NIT>", entregaNit);
            plantilla = plantilla.Replace("<ENTREGA_CEL>", entregaCel);

            plantilla = plantilla.Replace("<RECIBE_NOMBRE>", recibeNombre);
            plantilla = plantilla.Replace("<RECIBE_NIT>", recibeNit);
            plantilla = plantilla.Replace("<RECIBE_CEL>", recibeCel);
            //descripcion=Tiquetes.CortarTexto(dsEncomienda.Tables[0].Rows[0]["DESCRIPCION_CONTENIDO"].ToString(),anchoTiquete);
            descripcion = dsEncomienda.Tables[0].Rows[0]["DESCRIPCION_CONTENIDO"].ToString();
            int    longitud       = descripcion.Length;
            int    lineas         = longitud / Tiquetes.anchoTiquete;
            string txtDescripcion = "";
            int    subindice      = 0;

            for (int i = 1; i <= lineas; i++)
            {
                txtDescripcion += Tiquetes.ReemplazarTexto(descripcion.Substring(subindice, Tiquetes.anchoTiquete).ToString()) + nlchar;
                subindice      += Tiquetes.anchoTiquete;
            }
            if (subindice < longitud)
            {
                txtDescripcion += Tiquetes.ReemplazarTexto(descripcion.Substring(subindice, longitud - subindice).ToString()) + nlchar;
            }

            plantilla = plantilla.Replace("<DESCRIPCION>", txtDescripcion);
            //plantilla=plantilla.Replace("<DESCRIPCION>",descripcion);
            plantilla = plantilla.Replace("<UNIDADES>", unidades);
            plantilla = plantilla.Replace("<PESO>", peso);
            plantilla = plantilla.Replace("<VOLUMEN>", volumen);


            plantilla = plantilla.Replace("<VALOR_DECLARADO>", valDeclarado);
            plantilla = plantilla.Replace("<COSTO_ENCOMIENDA>", costo);
            plantilla = plantilla.Replace("<IVA_ENCOMIENDA>", iva);
            plantilla = plantilla.Replace("<TOTAL_ENCOMIENDA>", total);
            plantilla = plantilla.Replace("<NITRESPONSABLE>", responsableNit);
            plantilla = plantilla.Replace("<RESPONSABLE>", responsableNombre);


            txtEncomienda = plantilla;
        }
Example #2
0
        //Generar el anticipo a partir de su plantilla
        public static string GenerarAnticipo(string numero, string plantilla, string nlchar, string redChar, int anchoTiquete)
        {
            string agencia, fecha, busNumero, busPlaca, planilla, concepto, entregaNit, entregaNombre, recibeNit, recibeNombre, descripcion, cantidad, valorU, valorT;

            plantilla = plantilla.Replace("<RED>", redChar);

            DataSet dsAnticipo = new DataSet();

            DBFunctions.Request(dsAnticipo, IncludeSchema.NO, "SELECT * FROM DBXSCHEMA.MGASTOS_TRANSPORTES WHERE NUM_DOCUMENTO=" + numero + ";");
            if (dsAnticipo.Tables[0].Rows.Count == 0)
            {
                return("NO EXISTE EL ANTICIPO");
            }

            agencia       = DBFunctions.SingleData("SELECT MAGE_NOMBRE FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO=" + dsAnticipo.Tables[0].Rows[0]["MAG_CODIGO"].ToString() + ";");
            busPlaca      = dsAnticipo.Tables[0].Rows[0]["MCAT_PLACA"].ToString();
            busNumero     = DBFunctions.SingleData("SELECT MBUS_NUMERO FROM DBXSCHEMA.MBUSAFILIADO WHERE	MCAT_PLACA='"+ busPlaca + "';");
            planilla      = dsAnticipo.Tables[0].Rows[0]["MPLA_CODIGO"].ToString();
            concepto      = DBFunctions.SingleData("SELECT NOMBRE from DBXSCHEMA.TCONCEPTOS_TRANSPORTES WHERE TCON_CODIGO=" + dsAnticipo.Tables[0].Rows[0]["TCON_CODIGO"].ToString() + ";");
            entregaNit    = dsAnticipo.Tables[0].Rows[0]["MNIT_RESPONSABLE_ENTREGA"].ToString();
            entregaNombre = DBFunctions.SingleData("SELECT MNIT_NOMBRES CONCAT ' ' CONCAT MNIT_APELLIDOS FROM DBXSCHEMA.MNIT where MNIT_NIT='" + entregaNit + "';");
            recibeNit     = dsAnticipo.Tables[0].Rows[0]["MNIT_RESPONSABLE_RECIBE"].ToString();
            recibeNombre  = DBFunctions.SingleData("SELECT MNIT_NOMBRES CONCAT ' ' CONCAT MNIT_APELLIDOS FROM DBXSCHEMA.MNIT where MNIT_NIT='" + recibeNit + "';");

            //descripcion=Tiquetes.CortarTexto(dsAnticipo.Tables[0].Rows[0]["DESCRIPCION"].ToString(),anchoTiquete);
            cantidad = Convert.ToDouble(dsAnticipo.Tables[0].Rows[0]["CANTIDAD_CONSUMO"]).ToString("##0");
            valorU   = Convert.ToDouble(dsAnticipo.Tables[0].Rows[0]["VALOR_UNIDAD"]).ToString("###,###,##0");
            valorT   = Convert.ToDouble(dsAnticipo.Tables[0].Rows[0]["VALOR_TOTAL_AUTORIZADO"]).ToString("###,###,##0");
            fecha    = Convert.ToDateTime(dsAnticipo.Tables[0].Rows[0]["FECHA_DOCUMENTO"]).ToString("yyyy/MM/dd");

            plantilla   = plantilla.Replace("<FECHA_IMPRESION>", DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt"));
            plantilla   = plantilla.Replace("<NUMERO>", numero);
            plantilla   = plantilla.Replace("<AGENCIA>", agencia);
            plantilla   = plantilla.Replace("<BUS_NUMERO>", busNumero);
            plantilla   = plantilla.Replace("<BUS_PLACA>", busPlaca);
            plantilla   = plantilla.Replace("<PLANILLA>", planilla);
            plantilla   = plantilla.Replace("<CONCEPTO>", concepto);
            plantilla   = plantilla.Replace("<ENTREGA_NOMBRE>", entregaNombre);
            plantilla   = plantilla.Replace("<ENTREGA_NIT>", entregaNit);
            plantilla   = plantilla.Replace("<RECIBE_NOMBRE>", recibeNombre);
            plantilla   = plantilla.Replace("<RECIBE_NIT>", recibeNit);
            descripcion = dsAnticipo.Tables[0].Rows[0]["DESCRIPCION"].ToString();
            int    longitud       = descripcion.Length;
            int    lineas         = longitud / Tiquetes.anchoTiquete;
            string txtDescripcion = "";
            int    subindice      = 0;

            for (int i = 1; i <= lineas; i++)
            {
                txtDescripcion += Tiquetes.ReemplazarTexto(descripcion.Substring(subindice, Tiquetes.anchoTiquete).ToString()) + nlchar;
                subindice      += Tiquetes.anchoTiquete;
            }
            if (subindice < longitud)
            {
                txtDescripcion += Tiquetes.ReemplazarTexto(descripcion.Substring(subindice, longitud - subindice).ToString()) + nlchar;
            }
            plantilla = plantilla.Replace("<DESCRIPCION>", txtDescripcion);

            //plantilla=plantilla.Replace("<DESCRIPCION>",descripcion);
            plantilla = plantilla.Replace("<CANTIDAD>", cantidad);
            plantilla = plantilla.Replace("<VALOR_UNIDAD>", valorU);
            plantilla = plantilla.Replace("<VALOR_TOTAL>", valorT);
            return(plantilla.Replace("<FECHA>", fecha));
        }
Example #3
0
        protected void Generar_Giro(string numero)
        {
            string agenciaO, agenciaD, fecha, entregaNit, entregaNombre, recibeNit, recibeNombre, ResponsableNombre, valor, costo, iva, total;
            string plantilla = "";
            string nlchar = "`", redChar = "^";
            int    anchoTiquete = Tiquetes.anchoTiquete;

            try
            {
                string       strLinea = "";
                StreamReader strArchivo;
                strArchivo = File.OpenText(ConfigurationManager.AppSettings["PathToPapeleria"] + "\\PlantillaGiro.txt");
                strLinea   = strArchivo.ReadLine();
                //La primera linea puede contener el ancho del tiquete
                try
                {
                    anchoTiquete = Int16.Parse(strLinea);
                    strLinea     = strArchivo.ReadLine();
                }
                catch {}

                while (strLinea != null)
                {
                    plantilla += strLinea + nlchar;
                    strLinea   = strArchivo.ReadLine();
                }
                strArchivo.Close();
            }
            catch
            {
                Utils.MostrarAlerta(Response, "No se ha creado la plantilla de Giros, no se pudo imprimir.");
                return;
            }
            plantilla = plantilla.Replace("<RED>", redChar);

            DataSet dsGiro = new DataSet();

            DBFunctions.Request(dsGiro, IncludeSchema.NO, "SELECT * FROM DBXSCHEMA.MGIROS WHERE NUM_DOCUMENTO=" + numero + ";");
            if (dsGiro.Tables[0].Rows.Count == 0)
            {
                plantilla = "NO EXISTE EL GIRO";
                return;
            }

            //Validar responsable
            string nitResponsable = DBFunctions.SingleData("select mnit_nit from DBXSCHEMA.susuario where susu_login='******';");

            if (nitResponsable.Length == 0)
            {
                Utils.MostrarAlerta(Response, "NO TIENE NIT EL USUARIO--> CREELO EN NITS");
                return;
            }

            agenciaO          = DBFunctions.SingleData("SELECT MAGE_NOMBRE FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO=" + dsGiro.Tables[0].Rows[0]["MAG_AGENCIA_ORIGEN"].ToString() + ";");
            agenciaD          = DBFunctions.SingleData("SELECT MAGE_NOMBRE FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO=" + dsGiro.Tables[0].Rows[0]["MAG_AGENCIA_DESTINO"].ToString() + ";");
            fecha             = Convert.ToDateTime(dsGiro.Tables[0].Rows[0]["FECHA_RECIBE"]).ToString("yyyy/MM/dd");
            entregaNit        = dsGiro.Tables[0].Rows[0]["MNIT_EMISOR"].ToString();
            entregaNombre     = DBFunctions.SingleData("SELECT MNIT_NOMBRES CONCAT ' ' CONCAT MNIT_APELLIDOS FROM DBXSCHEMA.MNIT where MNIT_NIT='" + entregaNit + "';");
            ResponsableNombre = DBFunctions.SingleData("SELECT MNIT_NOMBRES CONCAT ' ' CONCAT MNIT_APELLIDOS FROM DBXSCHEMA.MNIT where MNIT_NIT='" + nitResponsable + "';");
            recibeNit         = dsGiro.Tables[0].Rows[0]["MNIT_DESTINATARIO"].ToString();
            recibeNombre      = DBFunctions.SingleData("SELECT MNIT_NOMBRES CONCAT ' ' CONCAT MNIT_APELLIDOS FROM DBXSCHEMA.MNIT where MNIT_NIT='" + recibeNit + "';");
            valor             = Convert.ToDouble(dsGiro.Tables[0].Rows[0]["VALOR_GIRO"]).ToString("###,###,##0");
            costo             = Convert.ToDouble(dsGiro.Tables[0].Rows[0]["COSTO_GIRO"]).ToString("###,###,##0");
            iva   = Convert.ToDouble(dsGiro.Tables[0].Rows[0]["VALOR_IVA"]).ToString("###,###,##0");
            total = (Convert.ToDouble(dsGiro.Tables[0].Rows[0]["VALOR_GIRO"]) + Convert.ToDouble(dsGiro.Tables[0].Rows[0]["COSTO_GIRO"]) + Convert.ToDouble(dsGiro.Tables[0].Rows[0]["VALOR_IVA"])).ToString("###,###,##0");

            plantilla = plantilla.Replace("<NUMERO>", numero);
            plantilla = plantilla.Replace("<FECHA>", fecha);
            plantilla = plantilla.Replace("<AGENCIA_ORIGEN>", agenciaO);
            plantilla = plantilla.Replace("<AGENCIA_DESTINO>", agenciaD);

            plantilla = plantilla.Replace("<ENTREGA_NOMBRE>", entregaNombre);
            plantilla = plantilla.Replace("<ENTREGA_NIT>", entregaNit);
            plantilla = plantilla.Replace("<RECIBE_NOMBRE>", recibeNombre);
            plantilla = plantilla.Replace("<RECIBE_NIT>", recibeNit);

            plantilla = plantilla.Replace("<VALOR_GIRO>", valor);
            plantilla = plantilla.Replace("<COSTO_GIRO>", costo);
            plantilla = plantilla.Replace("<IVA_GIRO>", iva);
            plantilla = plantilla.Replace("<TOTAL_GIRO>", total);

            int    longitud  = ResponsableNombre.Length;
            int    lineas    = longitud / Tiquetes.anchoTiquete;
            string txtNombre = "";
            int    subindice = 0;

            for (int i = 1; i <= lineas; i++)
            {
                txtNombre += Tiquetes.ReemplazarTexto(ResponsableNombre.Substring(subindice, Tiquetes.anchoTiquete).ToString()) + nlchar;
                subindice += Tiquetes.anchoTiquete;
            }
            if (subindice < longitud)
            {
                txtNombre += Tiquetes.ReemplazarTexto(ResponsableNombre.Substring(subindice, longitud - subindice).ToString()) + nlchar;
            }
            plantilla = plantilla.Replace("<RESPONSABLE>", txtNombre);
            txtGiro   = plantilla;
        }
Example #4
0
        //Generar la planilla a pertir de su plantilla
        public static string GenerarPlanilla(string numero, string plantilla, string nlchar, string redChar, int anchoTiquete)
        {
            DataSet dsPlanilla    = new DataSet();
            DataSet dsViaje       = new DataSet();
            DataSet dsInfoTiquete = new DataSet();

            //Info general
            DBFunctions.Request(dsInfoTiquete, IncludeSchema.NO, "select * from dbxschema.ccampos_tiquete;");

            //Planilla
            DBFunctions.Request(dsPlanilla, IncludeSchema.NO, "SELECT *  FROM DBXSCHEMA.MPLANILLAVIAJE WHERE MPLA_CODIGO=" + numero + ";");
            if (dsPlanilla.Tables[0].Rows.Count == 0)
            {
                return("NO HAY DATOS DE LA PLANILLA");
            }

            string agencia = dsPlanilla.Tables[0].Rows[0]["MAG_CODIGO"].ToString();
            string rutaP   = dsPlanilla.Tables[0].Rows[0]["MRUT_CODIGO"].ToString();
            string viaje   = dsPlanilla.Tables[0].Rows[0]["MVIAJE_NUMERO"].ToString();

            DBFunctions.Request(dsViaje, IncludeSchema.NO, "SELECT * FROM DBXSCHEMA.MVIAJE WHERE MRUT_CODIGO='" + rutaP + "' AND MVIAJE_NUMERO=" + viaje + ";");
            if (dsViaje.Tables[0].Rows.Count == 0)
            {
                return("NO HAY DATOS DEL VIAJE");
            }

            int    hora         = Convert.ToInt32(dsViaje.Tables[0].Rows[0]["HORA_SALIDA"]);
            int    horaDespacho = Convert.ToInt32(dsViaje.Tables[0].Rows[0]["HORA_DESPACHO"]);
            string placa        = dsViaje.Tables[0].Rows[0]["MCAT_PLACA"].ToString();
            string numVehiculo  = DBFunctions.SingleData("SELECT MBUS_NUMERO FROM DBXSCHEMA.MBUSAFILIADO WHERE	MCAT_PLACA='"+ placa + "';");

            /*txtPlanilla+=redChar+new String('-',anchoTiquete)+nlchar;
             * if(dsInfoTiquete.Tables[0].Rows.Count>0)
             * {
             *      txtPlanilla+=Tiquetes.CentrarTexto(dsInfoTiquete.Tables[0].Rows[0]["NOMBRE_EMPRESA"].ToString(),' ')+nlchar;
             *      txtPlanilla+=Tiquetes.CentrarTexto("NIT. "+dsInfoTiquete.Tables[0].Rows[0]["NIT_EMPRESA"].ToString(),' ')+nlchar;}
             * txtPlanilla+=redChar+new String('-',anchoTiquete)+nlchar;
             * txtPlanilla+=""+nlchar;*/

            //txtPlanilla+="NĂºmero:    "+dsPlanilla.Tables[0].Rows[0]["MPLA_CODIGO"].ToString()+nlchar;
            plantilla = plantilla.Replace("<NUMERO>", dsPlanilla.Tables[0].Rows[0]["MPLA_CODIGO"].ToString());
            //txtPlanilla+="Fecha:     "+DateTime.Now.ToString("yyyy-MM-dd HH:mm")+nlchar;
            plantilla = plantilla.Replace("<FECHA>", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            //txtPlanilla+="Bus:       "+numVehiculo+" ("+placa+")"+nlchar;
            plantilla = plantilla.Replace("<BUS_NUMERO>", numVehiculo);
            plantilla = plantilla.Replace("<BUS_PLACA>", placa);
            //txtPlanilla+="Origen :   "+DBFunctions.SingleData("SELECT PC.PCIU_NOMBRE FROM DBXSCHEMA.MAGENCIA MA, DBXSCHEMA.PCIUDAD PC WHERE PC.PCIU_CODIGO=MA.PCIU_CODIGO AND MA.MAG_CODIGO="+agencia+";")+nlchar;
            plantilla = plantilla.Replace("<ORIGEN>", DBFunctions.SingleData("SELECT PC.PCIU_NOMBRE FROM DBXSCHEMA.MAGENCIA MA, DBXSCHEMA.PCIUDAD PC WHERE PC.PCIU_CODIGO=MA.PCIU_CODIGO AND MA.MAG_CODIGO=" + agencia + ";"));
            //txtPlanilla+="Destino:   "+DBFunctions.SingleData("SELECT PC.PCIU_NOMBRE FROM DBXSCHEMA.MRUTAS MR, DBXSCHEMA.PCIUDAD PC WHERE PC.PCIU_CODIGO=MR.PCIU_CODDES AND MR.MRUT_CODIGO='"+rutaP+"';")+nlchar;
            plantilla = plantilla.Replace("<DESTINO>", DBFunctions.SingleData("SELECT PC.PCIU_NOMBRE FROM DBXSCHEMA.MRUTAS MR, DBXSCHEMA.PCIUDAD PC WHERE PC.PCIU_CODIGO=MR.PCIU_CODDES AND MR.MRUT_CODIGO='" + rutaP + "';"));
            plantilla = plantilla.Replace("<NUMERO_VIAJE>", viaje);
            //txtPlanilla+="Agencia:   "+DBFunctions.SingleData("SELECT MAGE_NOMBRE FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO="+agencia+";")+nlchar;
            plantilla = plantilla.Replace("<AGENCIA>", DBFunctions.SingleData("SELECT MAGE_NOMBRE FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO=" + agencia + ";"));
            //txtPlanilla+="Salida:    "+Convert.ToDateTime(dsViaje.Tables[0].Rows[0]["FECHA_SALIDA"]).ToString("yyyy-MM-dd")+" "+Math.Round((double)hora/60,0).ToString("00")+":"+(hora%60).ToString("00")+nlchar;
            plantilla = plantilla.Replace("<FECHA_SALIDA>", Convert.ToDateTime(dsViaje.Tables[0].Rows[0]["FECHA_SALIDA"]).ToString("yyyy-MM-dd") + " " + (hora / 60).ToString("00") + ":" + (hora % 60).ToString("00"));
            plantilla = plantilla.Replace("<HORA_DESPACHO>", ((int)horaDespacho / 60).ToString("00") + ":" + (horaDespacho % 60).ToString("00"));
            //txtPlanilla+=Tiquetes.CortarTexto("Conductor: "+DBFunctions.SingleData("select mnit_nombres concat ' ' concat mnit_apellidos FROM DBXSCHEMA.MNIT WHERE MNIT_NIT='"+dsViaje.Tables[0].Rows[0]["MNIT_CONDUCTOR"]+"';"))+nlchar;
            plantilla = plantilla.Replace("<CONDUCTOR_NOMBRE>", DBFunctions.SingleData("select mnit_nombres concat ' ' concat mnit_apellidos FROM DBXSCHEMA.MNIT WHERE MNIT_NIT='" + dsViaje.Tables[0].Rows[0]["MNIT_CONDUCTOR"] + "';"));
            //txtPlanilla+=Tiquetes.CortarTexto("Relevador: "+DBFunctions.SingleData("select mnit_nombres concat ' ' concat mnit_apellidos FROM DBXSCHEMA.MNIT WHERE MNIT_NIT='"+dsViaje.Tables[0].Rows[0]["MNIT_RELEVADOR1"]+"';"))+nlchar;
            plantilla = plantilla.Replace("<RELEVADOR_NOMBRE>", DBFunctions.SingleData("select mnit_nombres concat ' ' concat mnit_apellidos FROM DBXSCHEMA.MNIT WHERE MNIT_NIT='" + dsViaje.Tables[0].Rows[0]["MNIT_RELEVADOR1"] + "';"));

            string espacio = "    ";
            string num     = "";
            //Tiquetes
            DataSet dsTiquetes = new DataSet();

            DBFunctions.Request(dsTiquetes, IncludeSchema.NO, "Select cast(right(rtrim(char(MV.NUM_DOCUMENTO))," + AMS.Comercial.Tiquetes.lenTiquete + ") as integer) AS NUM_DOCUMENTO,PC.PCIU_NOMBRE AS DESTINO,MV.NUMERO_PUESTOS,MV.VALOR_PASAJE,MV.VALOR_TOTAL " +
                                "FROM DBXSCHEMA.MTIQUETE_VIAJE MV,DBXSCHEMA.PCIUDAD PC,DBXSCHEMA.MRUTAS MR " +
                                "WHERE MR.MRUT_CODIGO=MV.MRUT_CODIGO AND PC.PCIU_CODIGO=MR.PCIU_CODDES AND MV.TEST_CODIGO='V' AND MV.MPLA_CODIGO=" + numero + ";");

            string txtPlanilla = "";

            if (dsTiquetes.Tables[0].Rows.Count > 0)
            {
                txtPlanilla += nlchar;
                txtPlanilla += "TIQUETES" + nlchar;
                txtPlanilla += redChar + "--------" + nlchar;
            }
            double TotalPasajes   = 0;
            double TotalPasajeros = 0;
            double TotalGiros     = 0;
            double TotalIngresos  = 0;
            double TotalEgresos   = 0;
            double TotalPlanilla  = 0;

            foreach (DataRow dr in dsTiquetes.Tables[0].Rows)
            {
                num = dr["NUM_DOCUMENTO"].ToString().Trim();
                if (num.Length > Tiquetes.lenTiquete)
                {
                    num = Convert.ToInt32(num.Substring(num.Length - Tiquetes.lenTiquete)).ToString();
                }
                num             = new string('0', Tiquetes.lenTiquete - num.Length) + num;
                txtPlanilla    += "No.  " + num + espacio + dr["DESTINO"].ToString() + nlchar;
                num             = dr["NUMERO_PUESTOS"].ToString();
                num             = new string(' ', Tiquetes.lenTiquete - num.Length) + num;
                txtPlanilla    += "Vr.  " + num + espacio + dr["VALOR_PASAJE"].ToString() + nlchar;
                txtPlanilla    += "Tot. " + new string(' ', Tiquetes.lenTiquete) + espacio + dr["VALOR_TOTAL"].ToString() + nlchar;
                TotalPasajes   += Convert.ToDouble(dr["VALOR_TOTAL"].ToString());
                TotalPasajeros += Convert.ToDouble(dr["NUMERO_PUESTOS"].ToString());
                TotalIngresos  += Convert.ToDouble(dr["VALOR_TOTAL"].ToString());
            }
            txtPlanilla += "" + nlchar;
            txtPlanilla += "Total Pasajes: " + TotalPasajes.ToString("###,###,##0") + nlchar;

            //Tiquetes Prepago
            DataSet dsTiquetesPre = new DataSet();

            DBFunctions.Request(dsTiquetesPre, IncludeSchema.NO, "Select cast(right(rtrim(char(MV.NUM_DOCUMENTO))," + AMS.Comercial.Tiquetes.lenTiquete + ") as integer) AS NUM_DOCUMENTO,PC.PCIU_NOMBRE AS DESTINO,MV.VALOR_PASAJE,MV.VALOR_TOTAL " +
                                "FROM DBXSCHEMA.MTIQUETE_VIAJE_PREPAGO MV,DBXSCHEMA.PCIUDAD PC,DBXSCHEMA.MRUTAS MR " +
                                "WHERE MR.MRUT_CODIGO=MV.MRUT_CODIGO AND PC.PCIU_CODIGO=MR.PCIU_CODDES AND MV.MPLA_CODIGO=" + numero + ";");
            if (dsTiquetesPre.Tables[0].Rows.Count > 0)
            {
                txtPlanilla += "" + nlchar;
                txtPlanilla += "TIQUETES PREPAGO" + nlchar;
                txtPlanilla += redChar + "-------- -------" + nlchar;
            }
            foreach (DataRow dr in dsTiquetesPre.Tables[0].Rows)
            {
                num = dr["NUM_DOCUMENTO"].ToString().Trim();
                if (num.Length > Tiquetes.lenTiquete)
                {
                    num = Convert.ToInt32(num.Substring(num.Length - Tiquetes.lenTiquete)).ToString();
                }
                num             = new string('0', Tiquetes.lenTiquete - num.Length) + num;
                txtPlanilla    += "No.  " + num + espacio + dr["DESTINO"].ToString() + nlchar;
                num             = new string(' ', Tiquetes.lenTiquete);
                txtPlanilla    += "Vr.  " + num + espacio + dr["VALOR_PASAJE"].ToString() + nlchar;
                txtPlanilla    += "Tot. " + num + espacio + dr["VALOR_TOTAL"].ToString() + nlchar;
                TotalPasajeros += 1;
            }

            //Encomiendas
            DataSet dsEncomiendas = new DataSet();

            DBFunctions.Request(dsEncomiendas, IncludeSchema.NO, "Select MV.NUM_DOCUMENTO,PC.PCIU_NOMBRE AS DESTINO,MV.COSTO_ENCOMIENDA,MV.VALOR_TOTAL,MV.DESCRIPCION_CONTENIDO " +
                                "FROM DBXSCHEMA.MENCOMIENDAS MV,DBXSCHEMA.PCIUDAD PC,DBXSCHEMA.MRUTAS MR " +
                                "WHERE MR.MRUT_CODIGO=MV.MRUT_CODIGO AND PC.PCIU_CODIGO=MR.PCIU_CODDES AND MV.MPLA_CODIGO=" + numero + ";");
            if (dsEncomiendas.Tables[0].Rows.Count > 0)
            {
                txtPlanilla += "" + nlchar;
                txtPlanilla += "ENCOMIENDAS" + nlchar;
                txtPlanilla += redChar + "-----------" + nlchar;
            }
            foreach (DataRow dr in dsEncomiendas.Tables[0].Rows)
            {
                num = dr["NUM_DOCUMENTO"].ToString().Trim();
                if (num.Length > Tiquetes.lenTiquete)
                {
                    num = Convert.ToInt32(num.Substring(num.Length - Tiquetes.lenTiquete)).ToString();
                }
                num            = new string('0', Tiquetes.lenTiquete - num.Length) + num;
                txtPlanilla   += "No.  " + num + espacio + dr["DESTINO"].ToString() + nlchar;
                num            = new string(' ', Tiquetes.lenTiquete);
                txtPlanilla   += "Vr.  " + num + espacio + dr["COSTO_ENCOMIENDA"].ToString() + nlchar;
                TotalIngresos += Convert.ToDouble(dr["COSTO_ENCOMIENDA"].ToString());
                txtPlanilla   += "Tot. " + num + espacio + dr["VALOR_TOTAL"].ToString() + nlchar;
                txtPlanilla   += Tiquetes.CortarTexto(espacio + dr["DESCRIPCION_CONTENIDO"].ToString()) + nlchar;
            }

            //Giros
            DataSet dsGiros = new DataSet();

            DBFunctions.Request(dsGiros, IncludeSchema.NO, "Select MV.NUM_DOCUMENTO,PC.PCIU_NOMBRE AS DESTINO,MV.COSTO_GIRO,MV.VALOR_GIRO " +
                                "FROM DBXSCHEMA.MGIROS MV,DBXSCHEMA.PCIUDAD PC,DBXSCHEMA.MAGENCIA MA " +
                                "WHERE MA.MAG_CODIGO=MV.MAG_AGENCIA_DESTINO AND PC.PCIU_CODIGO=MA.PCIU_CODIGO AND MV.MPLA_CODIGO=" + numero + ";");
            if (dsGiros.Tables[0].Rows.Count > 0)
            {
                txtPlanilla += "" + nlchar;
                txtPlanilla += "GIROS" + nlchar;
                txtPlanilla += redChar + "-----" + nlchar;
            }
            foreach (DataRow dr in dsGiros.Tables[0].Rows)
            {
                num = dr["NUM_DOCUMENTO"].ToString().Trim();
                if (num.Length > Tiquetes.lenTiquete)
                {
                    num = Convert.ToInt32(num.Substring(num.Length - Tiquetes.lenTiquete)).ToString();
                }
                num            = new string('0', Tiquetes.lenTiquete - num.Length) + num;
                txtPlanilla   += "No.  " + num + espacio + dr["DESTINO"].ToString() + nlchar;
                num            = new string(' ', Tiquetes.lenTiquete);
                txtPlanilla   += "Cst. " + num + espacio + dr["COSTO_GIRO"].ToString() + nlchar;
                txtPlanilla   += "Vr.  " + num + espacio + dr["VALOR_GIRO"].ToString() + nlchar;
                TotalIngresos += Convert.ToDouble(dr["COSTO_GIRO"].ToString());
                TotalGiros    += Convert.ToDouble(dr["VALOR_GIRO"].ToString());
            }

            //Anticipos
            DataSet dsAnticipos = new DataSet();

            DBFunctions.Request(dsAnticipos, IncludeSchema.NO, "Select MV.NUM_DOCUMENTO,TG.NOMBRE AS CONCEPTO,IMPUTACION_CONTABLE,VALOR_TOTAL_AUTORIZADO " +
                                "FROM DBXSCHEMA.MGASTOS_TRANSPORTES MV, DBXSCHEMA.TCONCEPTOS_TRANSPORTES TG " +
                                "WHERE MV.TCON_CODIGO=TG.TCON_CODIGO AND MV.MPLA_CODIGO=" + numero + ";");
            if (dsAnticipos.Tables[0].Rows.Count > 0)
            {
                txtPlanilla += "" + nlchar;
                txtPlanilla += "ANTICIPOS-OTROSINGRESOS-EGRESOS" + nlchar;
                txtPlanilla += redChar + "---------" + nlchar;
            }
            foreach (DataRow dr in dsAnticipos.Tables[0].Rows)
            {
                num = dr["NUM_DOCUMENTO"].ToString().Trim();
                if (num.Length > Tiquetes.lenTiquete)
                {
                    num = Convert.ToInt32(num.Substring(num.Length - Tiquetes.lenTiquete)).ToString();
                }
                num          = new string('0', Tiquetes.lenTiquete - num.Length) + num;
                txtPlanilla += "No.  " + dr["CONCEPTO"].ToString() + nlchar;
                num          = new string(' ', Tiquetes.lenTiquete);
                txtPlanilla += "Vr.  " + num + espacio + dr["VALOR_TOTAL_AUTORIZADO"].ToString() + nlchar;
                if (dr["IMPUTACION_CONTABLE"].ToString() == "D")
                {
                    TotalIngresos += Convert.ToDouble(dr["VALOR_TOTAL_AUTORIZADO"].ToString());
                }
                else
                {
                    TotalEgresos += Convert.ToDouble(dr["VALOR_TOTAL_AUTORIZADO"].ToString());
                }
            }
            plantilla = plantilla.Replace("<CONTENIDO>", txtPlanilla);
            //txtPlanilla+=redChar+"INGRESOS: "+Convert.ToDouble(DBFunctions.SingleData("SELECT coalesce(VALOR_INGRESOS,0) FROM DBXSCHEMA.MPLANILLAVIAJE WHERE MPLA_CODIGO="+numero)).ToString("###,###,###")+nlchar;
            plantilla = plantilla.Replace("<INGRESOS>", TotalIngresos.ToString("###,###,##0"));
            //txtPlanilla+=redChar+"EGRESOS:  "+Convert.ToDouble(DBFunctions.SingleData("SELECT coalesce(VALOR_EGRESOS,0) FROM DBXSCHEMA.MPLANILLAVIAJE WHERE MPLA_CODIGO="+numero)).ToString("###,###,###")+nlchar;
            plantilla     = plantilla.Replace("<EGRESOS>", TotalEgresos.ToString("###,###,##0"));
            TotalPlanilla = TotalIngresos - TotalEgresos;
            plantilla     = plantilla.Replace("<TOTAL_PLANILLA>", TotalPlanilla.ToString("###,###,##0"));

            /*txtPlanilla+=redChar+"TOTAL PASAJEROS: "+DBFunctions.SingleData("Select sum(MV.NUMERO_PUESTOS) "+
             *      "FROM DBXSCHEMA.MTIQUETE_VIAJE MV,DBXSCHEMA.PCIUDAD PC,DBXSCHEMA.MRUTAS MR "+
             *      "WHERE MR.MRUT_CODIGO=MV.MRUT_CODIGO AND PC.PCIU_CODIGO=MR.PCIU_CODDES AND MV.TEST_CODIGO='V' AND MV.MPLA_CODIGO="+numero+";")+nlchar;*/
            plantilla = plantilla.Replace("<PASAJEROS>", TotalPasajeros.ToString());
            plantilla = plantilla.Replace("<VALOR_GIROS>", TotalGiros.ToString("###,###,##0"));

            string ObservacionPlanilla = DBFunctions.SingleData("select OBSERVACION_PLANILLA from dbxschema.mplanilla_observacion where mpla_codigo=" + numero + ";");
            int    longitud            = ObservacionPlanilla.Length;
            int    lineas = longitud / Tiquetes.anchoTiquete;

            txtPlanilla = "";
            int subindice = 0;

            for (int i = 1; i <= lineas; i++)
            {
                txtPlanilla += Tiquetes.ReemplazarTexto(ObservacionPlanilla.Substring(subindice, Tiquetes.anchoTiquete).ToString()) + nlchar;
                subindice   += Tiquetes.anchoTiquete;
            }
            if (subindice < longitud)
            {
                txtPlanilla += Tiquetes.ReemplazarTexto(ObservacionPlanilla.Substring(subindice, longitud - subindice).ToString()) + nlchar;
            }
            plantilla = plantilla.Replace("<OBSERVACIONES>", txtPlanilla);
            return(plantilla);
        }