//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); }
protected void Generar_Planilla(string numero, string tipo) { string plantilla = ""; string nlchar = "`", redChar = "^"; int anchoTiquete = Tiquetes.anchoTiquete; try { string strLinea = ""; StreamReader strArchivo; strArchivo = File.OpenText(ConfigurationManager.AppSettings["PathToPapeleria"] + "\\PlantillaPlanillaGemela.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 planillas, no se pudo imprimir."); return; } plantilla = plantilla.Replace("<RED>", redChar); txtPlanilla = ""; DataSet dsPlanilla = new DataSet(); DataSet dsViaje = new DataSet(); DataSet dsInfoTiquete = new DataSet(); int SecuenciaRuta1, SecuenciaRutaT; //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; } 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(); double ValorTiquete, TotalIngresos, TotalEgresos, Pasajeros, TotalTiquetes, PorcentajeRuta1, ValorEncomienda; //Gemelas if (!DBFunctions.RecordExist("SELECT MPLA_CODIGO FROM DBXSCHEMA.MPLANILLA_VIAJE_GEMELA WHERE MPLA_CODIGO=" + numero + ";")) { return; } string rutaG = "", origenG, destinoG, rutaI, CodigoRuta1, DestinoRuta1; DataSet dsGemela = new DataSet(); DBFunctions.Request(dsGemela, IncludeSchema.NO, "SELECT MRUT_CODIGO,MRUT_CODIGO1,MRUT_CODIGO2,CODIGO_INTERNO1,CODIGO_INTERNO2,PORCENTAJE_RUTA1 FROM DBXSCHEMA.MRUTAS_DOBLE_PLANILLA WHERE MRUT_CODIGO='" + rutaP + "';"); CodigoRuta1 = dsGemela.Tables[0].Rows[0]["MRUT_CODIGO1"].ToString(); SecuenciaRuta1 = Convert.ToInt32(DBFunctions.SingleData(" Select MRUTA_SECUENCIA from DBXSCHEMA.MRUTA_INTERMEDIA WHERE MRUTA_PRINCIPAL = '" + rutaP + "' AND MRUTA_SECUNDARIA = '" + CodigoRuta1 + "';")); PorcentajeRuta1 = Convert.ToDouble(dsGemela.Tables[0].Rows[0]["PORCENTAJE_RUTA1"]); if (dsGemela.Tables[0].Rows.Count > 0) { if (tipo == "1") { rutaG = dsGemela.Tables[0].Rows[0]["MRUT_CODIGO1"].ToString(); rutaI = dsGemela.Tables[0].Rows[0]["CODIGO_INTERNO1"].ToString(); } else if (tipo == "2") { rutaG = dsGemela.Tables[0].Rows[0]["MRUT_CODIGO2"].ToString(); rutaI = dsGemela.Tables[0].Rows[0]["CODIGO_INTERNO2"].ToString(); } else { return; } } else { return; } origenG = DBFunctions.SingleData("SELECT PC.PCIU_NOMBRE FROM DBXSCHEMA.MRUTAS MR, DBXSCHEMA.PCIUDAD PC WHERE PC.PCIU_CODIGO=MR.PCIU_COD AND MR.MRUT_CODIGO='" + rutaG + "';"); destinoG = DBFunctions.SingleData("SELECT PC.PCIU_NOMBRE FROM DBXSCHEMA.MRUTAS MR, DBXSCHEMA.PCIUDAD PC WHERE PC.PCIU_CODIGO=MR.PCIU_CODDES AND MR.MRUT_CODIGO='" + rutaG + "';"); plantilla = plantilla.Replace("<ORIGEN_GEMELA>", origenG); plantilla = plantilla.Replace("<DESTINO_GEMELA>", destinoG); plantilla = plantilla.Replace("<RUTA_INTERNA>", rutaI); 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; } int hora = Convert.ToInt32(dsViaje.Tables[0].Rows[0]["HORA_SALIDA"]); 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+="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+"';")); //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+";")); plantilla = plantilla.Replace("<AGENCIA>", 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") + " " + Math.Round((double)hora / 60, 0).ToString("00") + ":" + (hora % 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 = ""; string Pasajes = ""; //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.MRUT_CODIGO AS CODIGO_RUTA,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 + ";"); txtPlanilla = ""; TotalIngresos = 0; TotalEgresos = 0; Pasajeros = 0; if (dsTiquetes.Tables[0].Rows.Count > 0) { txtPlanilla += nlchar; txtPlanilla += "TIQUETES" + nlchar; txtPlanilla += redChar + "--------" + nlchar; } double TotalPasajes = 0; foreach (DataRow dr in dsTiquetes.Tables[0].Rows) { SecuenciaRutaT = Convert.ToInt32(DBFunctions.SingleData(" Select MRUTA_SECUENCIA from DBXSCHEMA.MRUTA_INTERMEDIA WHERE MRUTA_PRINCIPAL = '" + rutaP + "' AND MRUTA_SECUNDARIA = '" + dr["CODIGO_RUTA"].ToString() + "';")); // Condicion para saber si lista el tiquete de acuerdo a la planilla 1 o 2 if (tipo == "1" || (tipo == "2" && SecuenciaRutaT > SecuenciaRuta1)) { 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; Pasajes = dr["NUMERO_PUESTOS"].ToString(); Pasajes = new string(' ', Tiquetes.lenTiquete - num.Length) + Pasajes; if (tipo == "1") { if (SecuenciaRutaT > SecuenciaRuta1) { DestinoRuta1 = DBFunctions.SingleData("Select PC.PCIU_NOMBRE AS DESTINO FROM DBXSCHEMA.PCIUDAD PC,DBXSCHEMA.MRUTAS MR " + "WHERE MR.MRUT_CODIGO='" + CodigoRuta1 + "' AND PC.PCIU_CODIGO=MR.PCIU_CODDES;"); txtPlanilla += "No." + num + espacio + Pasajes + espacio + DestinoRuta1 + nlchar; ValorTiquete = Math.Round((Convert.ToDouble(dr["VALOR_PASAJE"].ToString()) * PorcentajeRuta1 / 100), 0); } else { ValorTiquete = Convert.ToDouble(dr["VALOR_PASAJE"].ToString()); txtPlanilla += "No. " + num + espacio + dr["DESTINO"].ToString() + nlchar; } } else { ValorTiquete = Convert.ToDouble(dr["VALOR_PASAJE"].ToString()) - Math.Round((Convert.ToDouble(dr["VALOR_PASAJE"].ToString()) * PorcentajeRuta1 / 100), 0); txtPlanilla += "No. " + num + espacio + dr["DESTINO"].ToString() + nlchar; } TotalTiquetes = ValorTiquete * Convert.ToInt32(dr["NUMERO_PUESTOS"].ToString()); txtPlanilla += "Vr. " + num + espacio + ValorTiquete.ToString() + nlchar; txtPlanilla += "Tot. " + new string(' ', Tiquetes.lenTiquete) + espacio + TotalTiquetes.ToString() + nlchar; TotalIngresos += TotalTiquetes; TotalPasajes += TotalTiquetes; Pasajeros += Convert.ToInt32(dr["NUMERO_PUESTOS"].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.MRUT_CODIGO AS CODIGO_RUTA,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) { SecuenciaRutaT = Convert.ToInt32(DBFunctions.SingleData(" Select MRUTA_SECUENCIA from DBXSCHEMA.MRUTA_INTERMEDIA WHERE MRUTA_PRINCIPAL = '" + rutaP + "' AND MRUTA_SECUNDARIA = '" + dr["CODIGO_RUTA"].ToString() + "';")); // Condicion para saber si lista el tiquete de acuerdo a la planilla if (tipo == "1" || (tipo == "2" && SecuenciaRutaT > SecuenciaRuta1)) { 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; if (tipo == "1") { if (SecuenciaRutaT > SecuenciaRuta1) { DestinoRuta1 = DBFunctions.SingleData("Select PC.PCIU_NOMBRE AS DESTINO FROM DBXSCHEMA.PCIUDAD PC,DBXSCHEMA.MRUTAS MR " + "WHERE MR.MRUT_CODIGO='" + CodigoRuta1 + "' AND PC.PCIU_CODIGO=MR.PCIU_CODDES;"); txtPlanilla += "No. " + num + espacio + DestinoRuta1 + nlchar; ValorTiquete = Math.Round((Convert.ToDouble(dr["VALOR_PASAJE"].ToString()) * PorcentajeRuta1 / 100), 0); } else { ValorTiquete = Convert.ToDouble(dr["VALOR_PASAJE"].ToString()); txtPlanilla += "No. " + num + espacio + dr["DESTINO"].ToString() + nlchar; } } else { ValorTiquete = Convert.ToDouble(dr["VALOR_PASAJE"].ToString()) - Math.Round((Convert.ToDouble(dr["VALOR_PASAJE"].ToString()) * PorcentajeRuta1 / 100), 0); txtPlanilla += "No. " + num + espacio + dr["DESTINO"].ToString() + nlchar; } txtPlanilla += "Vr. " + num + espacio + ValorTiquete.ToString() + nlchar; txtPlanilla += "Tot. " + num + espacio + ValorTiquete.ToString() + nlchar; TotalIngresos += ValorTiquete; Pasajeros += 1; } } //Encomiendas DataSet dsEncomiendas = new DataSet(); DBFunctions.Request(dsEncomiendas, IncludeSchema.NO, "Select MV.NUM_DOCUMENTO,PC.PCIU_NOMBRE AS DESTINO,MV.MRUT_CODIGO AS CODIGO_RUTA,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) { SecuenciaRutaT = Convert.ToInt32(DBFunctions.SingleData(" Select coalesce(MRUTA_SECUENCIA,0) from DBXSCHEMA.MRUTA_INTERMEDIA WHERE MRUTA_PRINCIPAL = '" + rutaP + "' AND MRUTA_SECUNDARIA = '" + dr["CODIGO_RUTA"].ToString() + "';")); // Condicion para saber si lista el tiquete de acuerdo a la planilla if (tipo == "1" || (tipo == "2" && SecuenciaRutaT > SecuenciaRuta1)) { 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; if (tipo == "1") { if (SecuenciaRutaT > SecuenciaRuta1) { DestinoRuta1 = DBFunctions.SingleData("Select PC.PCIU_NOMBRE AS DESTINO FROM DBXSCHEMA.PCIUDAD PC,DBXSCHEMA.MRUTAS MR " + "WHERE MR.MRUT_CODIGO='" + CodigoRuta1 + "' AND PC.PCIU_CODIGO=MR.PCIU_CODDE;"); txtPlanilla += "No. " + num + espacio + DestinoRuta1 + nlchar; ValorEncomienda = Math.Round((Convert.ToDouble(dr["COSTO_ENCOMIENDA"].ToString()) * PorcentajeRuta1 / 100), 0); } else { ValorEncomienda = Convert.ToDouble(dr["COSTO_ENCOMIENDA"].ToString()); txtPlanilla += "No. " + num + espacio + dr["DESTINO"].ToString() + nlchar; } } else { ValorEncomienda = Convert.ToDouble(dr["COSTO_ENCOMIENDA"].ToString()) - Math.Round((Convert.ToDouble(dr["COSTO_ENCOMIENDA"].ToString()) * PorcentajeRuta1 / 100), 0); txtPlanilla += "No. " + num + espacio + dr["DESTINO"].ToString() + nlchar; } txtPlanilla += "Vr. " + num + espacio + ValorEncomienda.ToString() + nlchar; txtPlanilla += "Tot. " + num + espacio + ValorEncomienda.ToString() + nlchar; txtPlanilla += Tiquetes.CortarTexto(espacio + dr["DESCRIPCION_CONTENIDO"].ToString()) + nlchar; TotalIngresos += ValorEncomienda; } } //Giros if (tipo == "1") { 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()); } } //Anticipos if (tipo == "1") { DataSet dsAnticipos = new DataSet(); DBFunctions.Request(dsAnticipos, IncludeSchema.NO, "Select MV.NUM_DOCUMENTO,TG.NOMBRE AS CONCEPTO,MV.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-INGRESOS-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; 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>", Convert.ToDouble(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>", Convert.ToDouble(TotalEgresos).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>", Convert.ToDouble(Pasajeros).ToString()); txtPlanilla = plantilla; }
// Generar el tiquete a partir de la plantilla public static string GenerarTiquete(string numero, string plantilla, string nlChar, string nitResponsable, int anchoTiquete) { DataSet dsTiquete = new DataSet(); DataSet dsInfoTiquete = new DataSet(); DataSet dsViaje = new DataSet(); DataSet dsRuta = new DataSet(); DataSet dsPuestos = new DataSet(); int precio = 0; string ruta, rutaPrincipal, agencia, strPlanilla; string strNumero = numero; //if(strNumero.Length>Tiquetes.lenTiquete) // strNumero=Convert.ToInt32(strNumero.Substring(strNumero.Length-Tiquetes.lenTiquete)).ToString(); //strNumero=new string('0',Tiquetes.lenTiquete-strNumero.Length)+strNumero; //Info general DBFunctions.Request(dsInfoTiquete, IncludeSchema.NO, "select * from dbxschema.ccampos_tiquete;"); //Consultar tiquete string nitPlanillaManual = DBFunctions.SingleData("select mpas_nit from dbxschema.mpasajero where mpas_nombres='Planilla Manual';"); DBFunctions.Request(dsTiquete, IncludeSchema.NO, "SELECT MV.MPLA_CODIGO, MV.MRUT_CODIGO, MV.VALOR_PASAJE, MV.MNIT_COMPRADOR AS MNIT_COMPRADOR, " + "COALESCE(MN.MPAS_NOMBRES CONCAT ' ' CONCAT MN.MPAS_APELLIDOS, '') AS COMPRADOR, " + "COALESCE(MNV.MPAS_NOMBRES CONCAT ' ' CONCAT MNV.MPAS_APELLIDOS, '') AS VENDEDOR , MN.MPAS_TELEFONO " + "FROM DBXSCHEMA.MTIQUETE_VIAJE MV " + "LEFT JOIN DBXSCHEMA.MPASAJERO MN ON MN.MPAS_NIT=MV.MNIT_COMPRADOR " + "LEFT JOIN DBXSCHEMA.MPASAJERO MNV ON MNV.MPAS_NIT=MV.MNIT_RESPONSABLE " + "WHERE MV.TDOC_CODIGO='TIQ' AND MV.NUM_DOCUMENTO=" + numero + " AND MV.MNIT_RESPONSABLE='" + nitResponsable + "';"); if (dsTiquete.Tables[0].Rows.Count == 0) { return("NO EXISTE EL TIQUETE"); } strPlanilla = dsTiquete.Tables[0].Rows[0]["MPLA_CODIGO"].ToString(); ruta = dsTiquete.Tables[0].Rows[0]["MRUT_CODIGO"].ToString(); //Consultar ruta DBFunctions.Request(dsRuta, IncludeSchema.NO, "SELECT po.PCIU_NOMBRE AS ORIGEN, pd.PCIU_NOMBRE AS DESTINO " + "FROM DBXSCHEMA.PCIUDAD po, DBXSCHEMA.PCIUDAD pd, DBXSCHEMA.MRUTAS mr " + "WHERE po.PCIU_CODIGO=mr.PCIU_COD AND pd.PCIU_CODIGO=mr.PCIU_CODDES AND mr.MRUT_CODIGO='" + ruta + "';"); if (dsRuta.Tables[0].Rows.Count == 0) { return("NO EXISTE LA RUTA"); } //Consultar planilla, viaje DBFunctions.Request(dsViaje, IncludeSchema.NO, "SELECT coalesce(mv.MCAT_PLACA,'******') as PLACA, mn.MPAS_NOMBRES concat ' ' concat mn.MPAS_APELLIDOS AS CONDUCTOR , " + "coalesce(mb.MBUS_NUMERO,0) AS NUMERO, mp.MRUT_CODIGO AS RUTAP, mp.MAG_CODIGO as AGENCIA, mv.TPROG_TIPOPROG as PROGRAMACION, " + "mv.FECHA_SALIDA as FECHA_SALIDA, mv.HORA_SALIDA AS HORA_SALIDA, mv.mviaje_padre as viaje_padre " + "FROM DBXSCHEMA.MPLANILLAVIAJE mp " + "left join DBXSCHEMA.MVIAJE mv on mp.MRUT_CODIGO=mv.MRUT_CODIGO and mp.MVIAJE_NUMERO=mv.MVIAJE_NUMERO " + "left join DBXSCHEMA.MPASAJERO mn on mn.MPAS_NIT=mv.MNIT_CONDUCTOR " + "left join DBXSCHEMA.MBUSAFILIADO mb on mb.MCAT_PLACA=mv.MCAT_PLACA " + "WHERE mp.MPLA_CODIGO=" + strPlanilla + ";"); if (dsViaje.Tables[0].Rows.Count == 0) { return("NO EXISTE EL VIAJE"); } //Consultar puestos string strPuestos = ""; DBFunctions.Request(dsPuestos, IncludeSchema.NO, "SELECT MELE_NUMEPUES FROM DBXSCHEMA.MCONFIGURACIONPUESTO WHERE TDOC_CODIGO='TIQ' AND NUM_DOCUMENTO=" + numero + " ORDER BY MELE_NUMEPUES;"); if (dsPuestos.Tables[0].Rows.Count == 0) { return("NO HAY PUESTOS REGISTRADOS"); } //Agencia de paso? No tener en cuenta el puesto agencia = dsViaje.Tables[0].Rows[0]["AGENCIA"].ToString(); rutaPrincipal = dsViaje.Tables[0].Rows[0]["RUTAP"].ToString(); if (dsViaje.Tables[0].Rows[0]["VIAJE_PADRE"].ToString().Length == 0 && !DBFunctions.RecordExist( "select * from dbxschema.magencia ma, dbxschema.mrutas mr " + "where ma.pciu_codigo=mr.pciu_cod and mr.mrut_codigo='" + rutaPrincipal + "' and ma.mag_codigo=" + agencia)) { strPuestos = "***"; } else { for (int c = 0; c < dsPuestos.Tables[0].Rows.Count; c++) { strPuestos += dsPuestos.Tables[0].Rows[c]["MELE_NUMEPUES"].ToString() + ", "; } if (strPuestos.EndsWith(", ")) { strPuestos = strPuestos.Substring(0, strPuestos.Length - 2); } } precio = Convert.ToInt32(dsTiquete.Tables[0].Rows[0]["VALOR_PASAJE"]); /*txtTiquete+=redChar+new String('-',anchoTiquete)+nlchar; * if(dsInfoTiquete.Tables[0].Rows.Count>0){ * txtTiquete+=Tiquetes.CentrarTexto(dsInfoTiquete.Tables[0].Rows[0]["NOMBRE_EMPRESA"].ToString(),' ')+nlchar; * txtTiquete+=Tiquetes.CentrarTexto("NIT. "+dsInfoTiquete.Tables[0].Rows[0]["NIT_EMPRESA"].ToString(),' ')+nlchar; * txtTiquete+=Tiquetes.CentrarTexto(dsInfoTiquete.Tables[0].Rows[0]["TEXTO1"].ToString(),' ')+nlchar; * txtTiquete+=Tiquetes.CentrarTexto(dsInfoTiquete.Tables[0].Rows[0]["TEXTO2"].ToString(),' ')+nlchar; * txtTiquete+=Tiquetes.CentrarTexto(dsInfoTiquete.Tables[0].Rows[0]["TELEFONO_EMPRESA"].ToString(),' ')+nlchar; * txtTiquete+=Tiquetes.CentrarTexto(dsInfoTiquete.Tables[0].Rows[0]["TEXTO3"].ToString(),' ')+nlchar;} * txtTiquete+=redChar+new String('-',anchoTiquete)+nlchar; * txtTiquete+="Factura cambiaria de transporte"+nlchar;*/ //txtTiquete+="número : "+strNumero+nlchar; plantilla = plantilla.Replace("<FECHA_IMPRESION>", DateTime.Now.ToString("dd/MM/yyyy hh:mm")); plantilla = plantilla.Replace("<NUMERO>", strNumero); if (!dsTiquete.Tables[0].Rows[0]["MNIT_COMPRADOR"].ToString().Equals(nitPlanillaManual)) { plantilla = plantilla.Replace("<CLIENTE_NOMBRE>", Tiquetes.CortarTexto(dsTiquete.Tables[0].Rows[0]["COMPRADOR"].ToString(), anchoTiquete - 10)); plantilla = plantilla.Replace("<CLIENTE_NIT>", Tiquetes.CortarTexto(dsTiquete.Tables[0].Rows[0]["MNIT_COMPRADOR"].ToString(), anchoTiquete - 10)); plantilla = plantilla.Replace("<MPAS_TELEFONO>", Tiquetes.CortarTexto(dsTiquete.Tables[0].Rows[0]["MPAS_TELEFONO"].ToString(), anchoTiquete - 10)); //txtTiquete+=Tiquetes.CortarTexto("Nombre : "+Tiquetes.CortarTexto(dsTiquete.Tables[0].Rows[0]["COMPRADOR"].ToString()))+nlchar; //txtTiquete+=Tiquetes.CortarTexto(" "+Tiquetes.CortarTexto(dsTiquete.Tables[0].Rows[0]["MNIT_COMPRADOR"].ToString()))+nlchar; } else { plantilla = plantilla.Replace("<CLIENTE_NOMBRE>", ""); plantilla = plantilla.Replace("<CLIENTE_NIT>", ""); } int Minutos = Convert.ToInt16((dsViaje.Tables[0].Rows[0]["HORA_SALIDA"].ToString())); int Horas = Minutos / 60; int HoraMinuto = Minutos % 60; plantilla = plantilla.Replace("<FECHA_VIAJE>", Convert.ToDateTime(dsViaje.Tables[0].Rows[0]["FECHA_SALIDA"]).ToString("yyyy-MM-dd")); plantilla = plantilla.Replace("<HORA>", Horas.ToString()); plantilla = plantilla.Replace("<MINUTO>", HoraMinuto.ToString()); /* * if(dsViaje.Tables[0].Rows[0]["PROGRAMACION"].ToString().Length>0) * plantilla=plantilla.Replace("<FECHA_VIAJE>",DateTime.Now.ToString("dd/MM/yyyy hh:mm")); * //txtTiquete+="Fecha : "+DateTime.Now.ToString("dd/MM/yyyy hh:mm")+nlchar; * else * plantilla=plantilla.Replace("<FECHA_VIAJE>",DateTime.Now.ToString("dd/MM/yyyy")); */ //txtTiquete+="Fecha : "+DateTime.Now.ToString("dd/MM/yyyy ")+nlc har; //txtTiquete+="Bus : "+dsViaje.Tables[0].Rows[0]["NUMERO"].ToString()+" ("+dsViaje.Tables[0].Rows[0]["PLACA"].ToString()+")"+nlchar; plantilla = plantilla.Replace("<BUS_NUMERO>", dsViaje.Tables[0].Rows[0]["NUMERO"].ToString()); plantilla = plantilla.Replace("<BUS_PLACA>", dsViaje.Tables[0].Rows[0]["PLACA"].ToString()); //txtTiquete+=Tiquetes.AjustarTexto("Puesto : "+strPuestos)+nlchar; plantilla = plantilla = plantilla = plantilla.Replace("<PUESTOS>", strPuestos); //txtTiquete+="Origen : "+dsRuta.Tables[0].Rows[0]["ORIGEN"].ToString()+nlchar; plantilla = plantilla.Replace("<ORIGEN>", dsRuta.Tables[0].Rows[0]["ORIGEN"].ToString()); //txtTiquete+="Destino : "+dsRuta.Tables[0].Rows[0]["DESTINO"]+nlchar; plantilla = plantilla.Replace("<DESTINO>", dsRuta.Tables[0].Rows[0]["DESTINO"].ToString()); //txtTiquete+="Pasajes : "+dsPuestos.Tables[0].Rows.Count.ToString()+nlchar; plantilla = plantilla.Replace("<CANTIDAD>", dsPuestos.Tables[0].Rows.Count.ToString()); //txtTiquete+="Valor : "+precio.ToString("#,###")+nlchar; plantilla = plantilla.Replace("<VALOR_UNIDAD>", precio.ToString("#,###")); //txtTiquete+="Total : "+(dsPuestos.Tables[0].Rows.Count*precio).ToString("#,###")+nlchar; plantilla = plantilla.Replace("<VALOR_TOTAL>", (dsPuestos.Tables[0].Rows.Count * precio).ToString("#,###")); plantilla = plantilla.Replace("<VENDEDOR>", Tiquetes.CortarTexto(dsTiquete.Tables[0].Rows[0]["VENDEDOR"].ToString(), anchoTiquete - 10)); //txtTiquete+="Vendedor: "+Tiquetes.CortarTexto(dsTiquete.Tables[0].Rows[0]["VENDEDOR"].ToString())+nlchar; //txtTiquete+="Planilla: "+strPlanilla+nlchar+nlchar; plantilla = plantilla.Replace("<PLANILLA>", strPlanilla); return(plantilla); }