private void datos_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { int c = e.RowIndex; if (c == -1) { return; } //inicio,FINAL,new_tipo,entrada,salida,cuenta,movimiento DataGridViewRow row = datos.Rows[c]; string rfc = Convert.ToString(row.Cells[0].Value); string nombre = Convert.ToString(row.Cells[1].Value); string num_histo = Convert.ToString(row.Cells[2].Value); string num_const = Convert.ToString(row.Cells[3].Value); string num_recib = Convert.ToString(row.Cells[4].Value); string num_constpro = Convert.ToString(row.Cells[5].Value); string fecha_exp = Convert.ToString(row.Cells[6].Value); /// empieza selección de reportes if (!string.IsNullOrWhiteSpace(num_histo) && string.IsNullOrWhiteSpace(num_const) && string.IsNullOrWhiteSpace(num_recib) && string.IsNullOrWhiteSpace(num_constpro)) //historico { string query = "select a1.rfc,a2.nombre_em,a1.num_histo,a1.monto_total,a1.antig_a,a1.antig_m,a1.antig_q,a1.fecha_exp from datos.constancias a1 JOIN datos.empleados a2 ON a1.rfc=a2.rfc where a1.num_histo='{0}'"; string paso = string.Format(query, num_histo); List <Dictionary <string, object> > dic = globales.consulta(paso); foreach (var item in dic) { string folioactual = Convert.ToString(item["num_histo"]); string fecha = Convert.ToString(item["fecha_exp"]); string rfc1 = Convert.ToString(item["rfc"]); string nombre1 = Convert.ToString(item["nombre_em"]); string anios = Convert.ToString(item["antig_a"]); string meses = Convert.ToString(item["antig_m"]); string quincenas = Convert.ToString(item["antig_q"]); string monto = Convert.ToString(item["monto_total"]); DateTime solofe = Convert.ToDateTime(fecha); string solofecha = solofe.ToShortDateString(); string queryfecha = "select datos.fechaletra('{0}')"; string pasofecha = string.Format(queryfecha, solofecha); List <Dictionary <string, object> > f1 = globales.consulta(pasofecha); string fechaletra = Convert.ToString(f1[0]["fechaletra"]); string querydetalle = "SELECT desde,hasta,monto,descripcion FROM datos.detalleconstancia where historico='{0}'"; string pasodetalle = string.Format(querydetalle, folioactual); List <Dictionary <string, object> > res = globales.consulta(pasodetalle); object[] aux2 = new object[res.Count]; int contador = 0; foreach (var temp in res) { string desde = string.Empty; string hasta = string.Empty; string montodetalle = string.Empty; string descrip = string.Empty; try { desde = Convert.ToString(temp["desde"]); hasta = Convert.ToString(temp["hasta"]); montodetalle = Convert.ToString(temp["monto"]); descrip = Convert.ToString(temp["descripcion"]); } catch { } object[] tt1 = { desde, hasta, montodetalle, descrip }; aux2[contador] = tt1; contador++; } string logo = globales.getImagen(globales.imagenesSispe.logoreportes); object[][] request = new object[2][]; object[] headers = { "numhisto", "rfc", "nombre", "total", "anios", "meses", "quincenas", "logo" }; object[] body = { folioactual, rfc, nombre, Convert.ToString(monto), anios, meses, quincenas, logo }; request[0] = headers; request[1] = body; globales.reportes("historicosispeconstancia", "detallehistorico", aux2, "", false, request); this.Cursor = Cursors.Default; return; } } else if (!string.IsNullOrWhiteSpace(num_histo) && !string.IsNullOrWhiteSpace(num_const) && string.IsNullOrWhiteSpace(num_recib)) // constancia { string query = "select a1.rfc,a1.num_histo,a2.nombre_em,a1.num_const,a1.monto_total,a1.antig_a,a1.antig_m,a1.antig_q,a1.fecha_exp,a1.total_con_letra,a1.motivo,a1.firma_dir,a1.firma_mc,a1.firma_ui from datos.constancias a1 JOIN datos.empleados a2 ON a1.rfc=a2.rfc where a1.num_histo='{0}'"; string paso = string.Format(query, num_histo); List <Dictionary <string, object> > dic = globales.consulta(paso); foreach (var item in dic) { string folioactual = Convert.ToString(item["num_const"]); if (folioactual.Length == 1) { folioactual = "00" + folioactual; } if (folioactual.Length == 2) { folioactual = "0" + folioactual; } string num_histoimp = Convert.ToString(item["num_histo"]); string fecha = Convert.ToString(item["fecha_exp"]); string rfc1 = Convert.ToString(item["rfc"]); string nombre1 = Convert.ToString(item["nombre_em"]); string anios = Convert.ToString(item["antig_a"]); string meses = Convert.ToString(item["antig_m"]); string quincenas = Convert.ToString(item["antig_q"]); string monto = Convert.ToString(item["monto_total"]); string letra = Convert.ToString(item["total_con_letra"]); string motivo = Convert.ToString(item["motivo"]); string firma_dir = Convert.ToString(item["firma_dir"]); string firma_mc = Convert.ToString(item["firma_mc"]); string firma_ui = Convert.ToString(item["firma_ui"]); DateTime solofe = Convert.ToDateTime(fecha); string solofecha = solofe.ToShortDateString(); string queryfecha = "select datos.fechaletra('{0}')"; string pasofecha = string.Format(queryfecha, solofecha); List <Dictionary <string, object> > f1 = globales.consulta(pasofecha); string fechaletra = Convert.ToString(f1[0]["fechaletra"]); string querydetalle = "SELECT desde,hasta,monto,descripcion FROM datos.detalleconstancia where historico='{0}'"; string pasodetalle = string.Format(querydetalle, num_histo); List <Dictionary <string, object> > res = globales.consulta(pasodetalle); object[] aux2 = new object[17]; int contador = 0; for (int x = 0; x < 17; x++) { object[] tt1 = { "", "", "", "" }; if (x < res.Count) { string desde = string.Empty; string hasta = string.Empty; string montodetalle = string.Empty; string descrip = string.Empty; try { desde = Convert.ToString(res[x]["desde"]); hasta = Convert.ToString(res[x]["hasta"]); montodetalle = Convert.ToString(res[x]["monto"]); descrip = Convert.ToString(res[x]["descripcion"]); tt1[0] = desde; tt1[1] = hasta; tt1[2] = montodetalle; tt1[3] = descrip; } catch { } } aux2[x] = tt1; } string logo = globales.getImagen(globales.imagenesSispe.logoreportes); object[][] request = new object[2][]; object[] headers = { "folio", "fecha", "rfc", "nombre", "anios", "meses", "quincenas", "totalnum", "totalletra", "firma_mc", "firma_dir", "firma_ui", "motivo", "logo" }; object[] body = { folioactual, fechaletra, rfc, nombre, anios, meses, quincenas, Convert.ToString(monto), letra, firma_mc, firma_dir, firma_ui, motivo, logo }; request[0] = headers; request[1] = body; globales.reportes("emitirconstancias", "detallehistorico", aux2, "", false, request); this.Cursor = Cursors.Default; return; } } else if (!string.IsNullOrWhiteSpace(num_histo) && !string.IsNullOrWhiteSpace(num_const) && !string.IsNullOrWhiteSpace(num_recib)) // recibo { string query = "select a1.rfc,a1.num_histo,a2.nombre_em,a1.num_const,a1.num_recib,a1.monto_total,a1.antig_a,a1.antig_m,a1.antig_q,a1.fecha_exp,a1.total_con_letra,a1.motivo,a1.firma_dir,a1.firma_mc,a1.firma_ui,a1.firma_d_p from datos.constancias a1 JOIN datos.empleados a2 ON a1.rfc=a2.rfc where a1.num_histo='{0}'"; string paso = string.Format(query, num_histo); List <Dictionary <string, object> > dic = globales.consulta(paso); foreach (var item in dic) { string folio_const = Convert.ToString(item["num_const"]); string folionum_recib = Convert.ToString(item["num_recib"]); if (folionum_recib.Length == 1) { folionum_recib = "00" + folionum_recib; } if (folionum_recib.Length == 2) { folionum_recib = "0" + folionum_recib; } if (folio_const.Length == 1) { folio_const = "00" + folio_const; } if (folio_const.Length == 2) { folio_const = "0" + folio_const; } string fecha = Convert.ToString(item["fecha_exp"]); string rfc1 = Convert.ToString(item["rfc"]); string nombre1 = Convert.ToString(item["nombre_em"]); string anios = Convert.ToString(item["antig_a"]); string meses = Convert.ToString(item["antig_m"]); string quincenas = Convert.ToString(item["antig_q"]); string monto = Convert.ToString(item["monto_total"]); string letra = Convert.ToString(item["total_con_letra"]); string motivo = Convert.ToString(item["motivo"]); string firma_dir = Convert.ToString(item["firma_dir"]); string firma_mc = Convert.ToString(item["firma_mc"]); string firma_ui = Convert.ToString(item["firma_ui"]); string firma_d_p = Convert.ToString(item["firma_d_p"]); DateTime solofe = Convert.ToDateTime(fecha); string solofecha = solofe.ToShortDateString(); string queryfecha = "select datos.fechaletra('{0}')"; string pasofecha = string.Format(queryfecha, solofecha); List <Dictionary <string, object> > f1 = globales.consulta(pasofecha); string fechaletra = Convert.ToString(f1[0]["fechaletra"]); string contenido = ""; string fecharecortada = solofecha.Replace("Oaxaca de Juarez,Oax.,a", ""); // aqui empieza el reporte double auxmonto = string.IsNullOrWhiteSpace(monto) ? 0 : Convert.ToDouble(monto); frmVentanaImpConstancias f = new frmVentanaImpConstancias(string.Format("{0:C}", auxmonto), nombre1); f.ShowDialog(); if (!f.continuaVentana) { return; } string monto1 = f.monto1; string monto2 = f.monto2; string monto3 = f.monto3; string total = f.total; string concepto1 = f.concepto1; string concepto2 = f.concepto2; string concepto3 = f.concepto3; contenido = "Recibí de la Oficina de Pensiones del Gobierno del Estado de Oaxaca, la cantidad de: (" + letra + ") " + "Por concepto de Devolución de Fondo de Pensiones de conformidad con el Artículo 64 de la Ley de " + "Pensiones para los Trabajadores del Gobierno del Estado de Oaxaca,según el monto que ampara la Constancia de " + "Contribución N°" + folio_const + " de fecha " + fecharecortada + " del cual se deduce los saldos existentes por los conceptos " + "que a continuación se detallan:"; Label l = new Label(); l.Text = contenido; l.Font = new Font("Arial", 12, FontStyle.Regular); var cnd = globales.justificar(l.Text, 86); contenido = string.Empty; foreach (string aux1 in cnd) { contenido += aux1 + "\n"; } string querydetalle = "SELECT desde,hasta,monto,descripcion FROM datos.detalleconstancia where historico='{0}'"; string pasodetalle = string.Format(querydetalle, num_histo); List <Dictionary <string, object> > res = globales.consulta(pasodetalle); object[] aux2 = new object[15]; int contador = 0; for (int x = 0; x < 15; x++) { object[] tt1 = { "", "", "", "" }; if (x < res.Count) { string desde = string.Empty; string hasta = string.Empty; string montodetalle = string.Empty; string descrip = string.Empty; try { desde = Convert.ToString(res[x]["desde"]); hasta = Convert.ToString(res[x]["hasta"]); montodetalle = Convert.ToString(res[x]["monto"]); descrip = Convert.ToString(res[x]["descripcion"]); tt1[0] = desde; tt1[1] = hasta; tt1[2] = montodetalle; tt1[3] = descrip; } catch { } } aux2[x] = tt1; } string fallecido = string.Empty; string nombre2 = string.Empty; if (f.chk1.Checked) { nombre2 = f.txtBenefi.Text; fallecido = "FALLECIDO: " + f.txtFallecido.Text; } else { nombre2 = nombre; } string logo = globales.getImagen(globales.imagenesSispe.logoreportes); object[][] request = new object[2][]; object[] headers = { "folio", "fecha", "rfc", "nombre", "anios", "meses", "quincenas", "totalnum", "totalletra", "firma_mc", "firma_dir", "firma_ui", "motivo", "firma_d_p", "contenido", "num_recib", "monto1", "monto2", "monto3", "total", "concepto1", "concepto2", "concepto3", "fallecido", "nombre2", "logo" }; object[] body = { folio_const, fechaletra, rfc, nombre, anios, meses, quincenas, Convert.ToString(monto), letra, firma_mc, firma_dir, firma_ui, motivo, firma_d_p, contenido, folionum_recib, monto1, monto2, monto3, total, concepto1, concepto2, concepto3, fallecido, nombre2, logo }; request[0] = headers; request[1] = body; globales.reportes("constayrecibo", "detallehistorico", aux2, "", false, request); this.Cursor = Cursors.Default; return; } } else if (!string.IsNullOrWhiteSpace(num_histo) && string.IsNullOrWhiteSpace(num_const) && string.IsNullOrWhiteSpace(num_recib) && !string.IsNullOrWhiteSpace(num_constpro)) { string query = "select a1.rfc,a1.num_histo,a1.num_constpro,a2.nombre_em,a1.num_const,a1.monto_total,a1.antig_a,a1.antig_m,a1.antig_q,a1.fecha_exp,a1.total_con_letra,a1.motivo,a1.firma_dir,a1.firma_mc,a1.firma_ui from datos.constancias a1 JOIN datos.empleados a2 ON a1.rfc=a2.rfc where a1.num_histo='{0}'"; string paso = string.Format(query, num_histo); List <Dictionary <string, object> > dic = globales.consulta(paso); foreach (var item in dic) { string folioactual = Convert.ToString(item["num_constpro"]); string num_histoimp = Convert.ToString(item["num_histo"]); string fecha = Convert.ToString(item["fecha_exp"]); string rfc1 = Convert.ToString(item["rfc"]); string nombre1 = Convert.ToString(item["nombre_em"]); string anios = Convert.ToString(item["antig_a"]); string meses = Convert.ToString(item["antig_m"]); string quincenas = Convert.ToString(item["antig_q"]); string monto = Convert.ToString(item["monto_total"]); string letra = Convert.ToString(item["total_con_letra"]); string motivo = Convert.ToString(item["motivo"]); string firma_dir = Convert.ToString(item["firma_dir"]); string firma_mc = Convert.ToString(item["firma_mc"]); string firma_ui = Convert.ToString(item["firma_ui"]); DateTime solofe = Convert.ToDateTime(fecha); string solofecha = solofe.ToShortDateString(); string queryfecha = "select datos.fechaletra('{0}')"; string pasofecha = string.Format(queryfecha, solofecha); List <Dictionary <string, object> > f1 = globales.consulta(pasofecha); string fechaletra = Convert.ToString(f1[0]["fechaletra"]); string querydetalle = "SELECT desde,hasta,monto,descripcion,sueldo,new_tipo FROM datos.detalleconstancia where historico='{0}'"; string pasodetalle = string.Format(querydetalle, num_histoimp); List <Dictionary <string, object> > res = globales.consulta(pasodetalle); object[] aux2 = new object[28]; double suma = 0; int orden = 0; for (int x = 0; x < 28; x++) { object[] tt1 = { "", "", "", "", "", "", "", "" }; if (x < res.Count) { string desde = string.Empty; string hasta = string.Empty; string montodetalle = string.Empty; string descrip = string.Empty; string sueldo = string.Empty; try { desde = Convert.ToString(res[x]["desde"]).Replace("12:00:00 a. m.", ""); hasta = Convert.ToString(res[x]["hasta"]).Replace("12:00:00 a. m.", ""); montodetalle = Convert.ToString(res[x]["monto"]); descrip = Convert.ToString(res[x]["new_tipo"]); sueldo = Convert.ToString(res[x]["sueldo"]); tt1[6] = ""; if (descrip == "AN") { orden++; tt1[6] = orden; } tt1[0] = desde; tt1[1] = hasta; tt1[2] = montodetalle; tt1[3] = descrip; tt1[7] = string.IsNullOrWhiteSpace(sueldo) ? "" : String.Format("{0:0}", sueldo); suma += string.IsNullOrWhiteSpace(sueldo) ? 0 : Convert.ToDouble(sueldo); } catch { } } aux2[x] = tt1; } string logo = globales.getImagen(globales.imagenesSispe.logoreportes); object[][] request = new object[2][]; object[] headers = { "folio", "fecha", "rfc", "nombre", "anios", "meses", "quincenas", "totalnum", "totalletra", "firma_mc", "firma_dir", "firma_ui", "motivo", "logo" }; object[] body = { folioactual, fechaletra, rfc, nombre, string.Format("{0:C}", suma), meses, quincenas, string.Format("{0:C}", monto), globales.convertirNumerosLetras(Convert.ToString(monto), true), firma_mc, firma_dir, firma_ui, motivo, logo }; request[0] = headers; request[1] = body; globales.reportes("emitirconstasueldo", "detallehistorico", aux2, "", false, request); this.Cursor = Cursors.Default; return; }// recibo } }
private void metodoBuscar(string num_histo) { string query = "select a1.rfc,a1.num_histo,a2.nombre_em,a1.num_const,a1.num_recib,a1.monto_total,a1.antig_a,a1.antig_m,a1.antig_q,a1.fecha_exp,a1.total_con_letra,a1.motivo,a1.firma_dir,a1.firma_mc,a1.firma_ui,a1.firma_d_p from datos.constancias a1 JOIN datos.empleados a2 ON a1.rfc=a2.rfc where a1.num_histo='{0}'"; query = string.Format(query, num_histo); List <Dictionary <string, object> > dic = globales.consulta(query); foreach (var item in dic) { string folio_const = Convert.ToString(item["num_const"]); string folionum_recib = Convert.ToString(item["num_recib"]); string fecha = Convert.ToString(item["fecha_exp"]); string rfc1 = Convert.ToString(item["rfc"]); string nombre1 = Convert.ToString(item["nombre_em"]); string anios = Convert.ToString(item["antig_a"]); string meses = Convert.ToString(item["antig_m"]); string quincenas = Convert.ToString(item["antig_q"]); string monto = Convert.ToString(item["monto_total"]); string letra = Convert.ToString(item["total_con_letra"]); string motivo = Convert.ToString(item["motivo"]); string firma_dir = Convert.ToString(item["firma_dir"]); string firma_mc = Convert.ToString(item["firma_mc"]); string firma_ui = Convert.ToString(item["firma_ui"]); string firma_d_p = Convert.ToString(item["firma_d_p"]); DateTime solofe = Convert.ToDateTime(fecha); string solofecha = solofe.ToShortDateString(); string queryfecha = "select datos.fechaletra('{0}')"; string pasofecha = string.Format(queryfecha, solofecha); List <Dictionary <string, object> > f1 = globales.consulta(pasofecha); string fechaletra = Convert.ToString(f1[0]["fechaletra"]); string contenido = ""; string fecharecortada = solofecha.Replace("Oaxaca de Juarez,Oax.,a", ""); // aqui empieza el reporte double auxmonto = string.IsNullOrWhiteSpace(monto) ? 0 : Convert.ToDouble(monto); frmVentanaImpConstancias f = new frmVentanaImpConstancias(string.Format("{0:C}", auxmonto), nombre1); f.ShowDialog(); if (!f.continuaVentana) { return; } string monto1 = f.monto1; string monto2 = f.monto2; string monto3 = f.monto3; string total = f.total; string concepto1 = f.concepto1; string concepto2 = f.concepto2; string concepto3 = f.concepto3; contenido = "Recibí de la Oficina de Pensiones del Gobierno del Estado de Oaxaca, la cantidad de: (" + letra + ") " + "Por concepto de Devolución de Fondo de Pensiones de conformidad con el Artículo 64 de la Ley de " + "Pensiones para los Trabajadores del Gobierno del Estado de Oaxaca,según el monto que ampara la Constancia de " + "Contribución N°" + folio_const + " de fecha " + fecharecortada + " del cual se deduce los saldos existentes por los conceptos " + "que a continuación se detallan:"; Label l = new Label(); l.Text = contenido; l.Font = new Font("Arial", 12, FontStyle.Regular); var cnd = globales.justificar(l.Text, 86); contenido = string.Empty; foreach (string aux1 in cnd) { contenido += aux1 + "\n"; } string querydetalle = "SELECT desde,hasta,monto,descripcion FROM datos.detalleconstancia where historico='{0}'"; string pasodetalle = string.Format(querydetalle, num_histo); List <Dictionary <string, object> > res = globales.consulta(pasodetalle); object[] aux2 = new object[15]; int contador = 0; for (int x = 0; x < 15; x++) { object[] tt1 = { "", "", "", "" }; if (x < res.Count) { string desde = string.Empty; string hasta = string.Empty; string montodetalle = string.Empty; string descrip = string.Empty; try { desde = Convert.ToString(res[x]["desde"]); hasta = Convert.ToString(res[x]["hasta"]); montodetalle = Convert.ToString(res[x]["monto"]); descrip = Convert.ToString(res[x]["descripcion"]); tt1[0] = desde; tt1[1] = hasta; tt1[2] = montodetalle; tt1[3] = descrip; } catch { } } aux2[x] = tt1; } string fallecido = string.Empty; string nombre2 = string.Empty; if (f.chk1.Checked) { nombre2 = f.txtBenefi.Text; fallecido = "FALLECIDO: " + f.txtFallecido.Text; } else { nombre2 = f.txtFallecido.Text; } string base2 = globales.getImagen(globales.imagenesSispe.logoreportes); object[][] request = new object[2][]; object[] headers = { "folio", "fecha", "rfc", "nombre", "anios", "meses", "quincenas", "totalnum", "totalletra", "firma_mc", "firma_dir", "firma_ui", "motivo", "firma_d_p", "contenido", "num_recib", "monto1", "monto2", "monto3", "total", "concepto1", "concepto2", "concepto3", "fallecido", "nombre2", "logo" }; object[] body = { folio_const, fechaletra, rfc, nombre1, anios, meses, quincenas, Convert.ToString(monto), letra, firma_mc, firma_dir, firma_ui, motivo, firma_d_p, contenido, folionum_recib, monto1, monto2, monto3, total, concepto1, concepto2, concepto3, fallecido, nombre2, base2 }; request[0] = headers; request[1] = body; globales.reportes("constayrecibo", "detallehistorico", aux2, "", false, request); this.Cursor = Cursors.Default; return; } }