diff --git a/NotificacionCruce/notificacionn.py b/NotificacionCruce/notificacionn.py
index ac14983..73903bb 100644
--- a/NotificacionCruce/notificacionn.py
+++ b/NotificacionCruce/notificacionn.py
@@ -1,131 +1,131 @@
-import smtplib
-from email.mime.multipart import MIMEMultipart
-from email.mime.text import MIMEText
-import pyodbc
-import json
-import datetime
+# import smtplib
+# from email.mime.multipart import MIMEMultipart
+# from email.mime.text import MIMEText
+# import pyodbc
+# import json
+# import datetime
-# Cargar la información de conexión desde el archivo JSON
-with open('config.json', 'r') as config_file:
- config = json.load(config_file)
+# # Cargar la información de conexión desde el archivo JSON
+# with open('config.json', 'r') as config_file:
+# config = json.load(config_file)
-# Crear una cadena de conexión usando la información del archivo JSON
+# # Crear una cadena de conexión usando la información del archivo JSON
-conn_str = (
- f"DRIVER=ODBC Driver 17 for SQL Server;"
- f"SERVER={config['server']};"
- f"DATABASE={config['database']};"
- f"UID={config['username']};"
- f"PWD={config['password']};"
-)
+# conn_str = (
+# f"DRIVER=ODBC Driver 17 for SQL Server;"
+# f"SERVER={config['server']};"
+# f"DATABASE={config['database']};"
+# f"UID={config['username']};"
+# f"PWD={config['password']};"
+# )
-# Conectar a la base de datos
-conn = pyodbc.connect(conn_str)
+# # Conectar a la base de datos
+# conn = pyodbc.connect(conn_str)
-try:
- cursor = conn.cursor()
- # fecha = '2023-09-05' # Ejemplo de fecha
- fecha = datetime.date.today()
- cursor.execute("{CALL NotificacionCruze(?)}", fecha)
+# try:
+# cursor = conn.cursor()
+# fecha = '2023-09-11' # Ejemplo de fecha
+# # fecha = datetime.date.today()
+# cursor.execute("{CALL NotificacionCruze(?)}", fecha)
- # Recuperar los resultados del procedimiento almacenado
- rows = cursor.fetchall()
+# # Recuperar los resultados del procedimiento almacenado
+# rows = cursor.fetchall()
- # Configurar el servidor de correo electrónico saliente (SMTP) desde el archivo JSON
- with open('config.json', 'r') as email_config_file:
- email_config = json.load(email_config_file)
+# # Configurar el servidor de correo electrónico saliente (SMTP) desde el archivo JSON
+# with open('config.json', 'r') as email_config_file:
+# email_config = json.load(email_config_file)
- smtp_server = email_config['EmailServer']
- smtp_port = email_config['EmailPort']
+# smtp_server = email_config['EmailServer']
+# smtp_port = email_config['EmailPort']
- # Tus credenciales de correo electrónico desde el archivo JSON
- sender_email = email_config['EmailUser']
- sender_password = email_config['EmailPassword']
+# # Tus credenciales de correo electrónico desde el archivo JSON
+# sender_email = email_config['EmailUser']
+# sender_password = email_config['EmailPassword']
- factura_data = {}
+# factura_data = {}
- # Iterar a través de los resultados y agruparlos por factura
- for row in rows:
- invoice = row.Invoice
- if invoice not in factura_data:
- factura_data[invoice] = []
- factura_data[invoice].append(row)
+# # Iterar a través de los resultados y agruparlos por factura
+# for row in rows:
+# invoice = row.Invoice
+# if invoice not in factura_data:
+# factura_data[invoice] = []
+# factura_data[invoice].append(row)
- # Crear un diccionario para almacenar los correos de CorreosResponsables y NotificacionAA por factura
- correos_por_factura = {}
+# # Crear un diccionario para almacenar los correos de CorreosResponsables y NotificacionAA por factura
+# correos_por_factura = {}
- # Iterar a través de los resultados y agrupar los correos por factura
- for row in rows:
- invoice = row.Invoice
- if invoice not in correos_por_factura:
- correos_por_factura[invoice] = {'CorreosResponsables': [], 'NotificacionAA': []}
+# # Iterar a través de los resultados y agrupar los correos por factura
+# for row in rows:
+# invoice = row.Invoice
+# if invoice not in correos_por_factura:
+# correos_por_factura[invoice] = {'CorreosResponsables': [], 'NotificacionAA': []}
- correos_responsables = row.CorreosResponsables.split(',') if row.CorreosResponsables else []
- notificacion_aa = row.NotificacionAA.split(',') if row.NotificacionAA else []
+# correos_responsables = row.CorreosResponsables.split(',') if row.CorreosResponsables else []
+# notificacion_aa = row.NotificacionAA.split(',') if row.NotificacionAA else []
- correos_por_factura[invoice]['CorreosResponsables'].extend(correos_responsables)
- correos_por_factura[invoice]['NotificacionAA'].extend(notificacion_aa)
+# correos_por_factura[invoice]['CorreosResponsables'].extend(correos_responsables)
+# correos_por_factura[invoice]['NotificacionAA'].extend(notificacion_aa)
- # Iterar a través de las facturas y enviar correos
- for invoice, correos_en_factura in correos_por_factura.items():
- correos_responsables = correos_en_factura['CorreosResponsables']
- notificacion_aa = correos_en_factura['NotificacionAA']
+# # Iterar a través de las facturas y enviar correos
+# for invoice, correos_en_factura in correos_por_factura.items():
+# correos_responsables = correos_en_factura['CorreosResponsables']
+# notificacion_aa = correos_en_factura['NotificacionAA']
- # Obtener los datos comunes para la factura (fecha, invoice, caja, vigenciaDoda, notificacion)
- first_row = factura_data[invoice][0]
- fechaActual = first_row.FechaActual
- caja = first_row.Caja
- vigenciaDoda = first_row.VigenciaDODA
- notificacion = first_row.Notificacion
+# # Obtener los datos comunes para la factura (fecha, invoice, caja, vigenciaDoda, notificacion)
+# first_row = factura_data[invoice][0]
+# fechaActual = first_row.FechaActual
+# caja = first_row.Caja
+# vigenciaDoda = first_row.VigenciaDODA
+# notificacion = first_row.Notificacion
- # Crear el mensaje de correo electrónico
- msg = MIMEMultipart()
- msg['From'] = sender_email
- msg['Subject'] = f"Información de factura {invoice}"
+# # Crear el mensaje de correo electrónico
+# msg = MIMEMultipart()
+# msg['From'] = sender_email
+# msg['Subject'] = f"Información de factura {invoice}"
- # Crear el cuerpo del mensaje con los datos de la factura en una tabla
- message = f"
"
- message += f"Factura {invoice}
"
- message += f"Fecha Actual | Invoice | Caja | VigenciaDODA | Notificacion |
"
- message += f"{fechaActual} | {invoice} | {caja} | {vigenciaDoda} | {notificacion} |
"
- message += f"
"
+# # Crear el cuerpo del mensaje con los datos de la factura en una tabla
+# message = f""
+# message += f"Factura {invoice}
"
+# message += f"Fecha Actual | Invoice | Caja | VigenciaDODA | Notificacion |
"
+# message += f"{fechaActual} | {invoice} | {caja} | {vigenciaDoda} | {notificacion} |
"
+# message += f"
"
- # message += f"CorreosResponsables:
"
- # message += ""
- # for destinatario in correos_responsables:
- # message += f"- {destinatario}
"
- # message += "
"
+# # message += f"CorreosResponsables:
"
+# # message += ""
+# # for destinatario in correos_responsables:
+# # message += f"- {destinatario}
"
+# # message += "
"
- # message += f"NotificacionAA:
"
- # message += ""
- # for destinatario in notificacion_aa:
- # message += f"- {destinatario}
"
- # message += "
"
+# # message += f"NotificacionAA:
"
+# # message += ""
+# # for destinatario in notificacion_aa:
+# # message += f"- {destinatario}
"
+# # message += "
"
- message += ""
- msg.attach(MIMEText(message, 'html'))
+# message += ""
+# msg.attach(MIMEText(message, 'html'))
- try:
- # Establecer la conexión al servidor SMTP
- server = smtplib.SMTP(smtp_server, smtp_port)
- server.starttls()
- server.login(sender_email, sender_password)
+# try:
+# # Establecer la conexión al servidor SMTP
+# server = smtplib.SMTP(smtp_server, smtp_port)
+# server.starttls()
+# server.login(sender_email, sender_password)
- # Enviar el correo a todos los destinatarios de CorreosResponsables y NotificacionAA
- destinatarios = correos_responsables + notificacion_aa
- server.sendmail(sender_email, destinatarios, msg.as_string())
- print(f"Correo enviado a CorreosResponsables y NotificacionAA de factura {invoice}")
+# # Enviar el correo a todos los destinatarios de CorreosResponsables y NotificacionAA
+# destinatarios = correos_responsables + notificacion_aa
+# server.sendmail(sender_email, destinatarios, msg.as_string())
+# print(f"Correo enviado a CorreosResponsables y NotificacionAA de factura {invoice}")
- # Cerrar la conexión SMTP
- server.quit()
- except Exception as e:
- print(f"Error al enviar correo de factura {invoice}: {e}")
+# # Cerrar la conexión SMTP
+# server.quit()
+# except Exception as e:
+# print(f"Error al enviar correo de factura {invoice}: {e}")
-except Exception as e:
- print("Error al conectarse:", e)
+# except Exception as e:
+# print("Error al conectarse:", e)
# Codigo doode se mejora el envio de las notificaciones AA en ves de una por una un resumen de las Facturas Mejora a futuro.
@@ -293,6 +293,148 @@ except Exception as e:
# except Exception as e:
# print("Error al conectarse:", e)
+#codigo de se le agrego correo tipos viaje .
+
+import smtplib
+from email.mime.multipart import MIMEMultipart
+from email.mime.text import MIMEText
+import pyodbc
+import json
+import datetime
+
+# Cargar la información de conexión desde el archivo JSON
+with open('config.json', 'r') as config_file:
+ config = json.load(config_file)
+
+# Crear una cadena de conexión usando la información del archivo JSON
+conn_str = (
+ f"DRIVER=ODBC Driver 17 for SQL Server;"
+ f"SERVER={config['server']};"
+ f"DATABASE={config['database']};"
+ f"UID={config['username']};"
+ f"PWD={config['password']};"
+)
+
+# Conectar a la base de datos
+conn = pyodbc.connect(conn_str)
+
+try:
+ cursor = conn.cursor()
+ fecha = '2023-09-13' # Ejemplo de fecha
+ cursor.execute("{CALL NotificacionCruze(?)}", fecha)
+
+ # Recuperar los resultados del procedimiento almacenado
+ rows = cursor.fetchall()
+
+ # Configurar el servidor de correo electrónico saliente (SMTP) desde el archivo JSON
+ with open('config.json', 'r') as email_config_file:
+ email_config = json.load(email_config_file)
+
+ smtp_server = email_config['EmailServer']
+ smtp_port = email_config['EmailPort']
+
+ # Tus credenciales de correo electrónico desde el archivo JSON
+ sender_email = email_config['EmailUser']
+ sender_password = email_config['EmailPassword']
+
+ factura_data = {}
+
+ # Iterar a través de los resultados y agruparlos por factura
+ for row in rows:
+ invoice = row.Invoice
+ if invoice not in factura_data:
+ factura_data[invoice] = []
+ factura_data[invoice].append(row)
+
+ # Crear un diccionario para almacenar los correos de CorreosResponsables, NotificacionAA y CorreosTipoViaje por factura
+ correos_por_factura = {}
+
+ # Iterar a través de los resultados y agrupar los correos por factura
+ for row in rows:
+ invoice = row.Invoice
+ if invoice not in correos_por_factura:
+ correos_por_factura[invoice] = {'CorreosResponsables': [], 'NotificacionAA': [], 'CorreoTipoViaje': []}
+
+ correos_responsables = row.CorreosResponsables.split(',') if row.CorreosResponsables else []
+ notificacion_aa = row.NotificacionAA.split(',') if row.NotificacionAA else []
+ correos_tipo_viaje = row.CorreoTipoViaje.split(',') if row.CorreoTipoViaje else []
+
+ correos_por_factura[invoice]['CorreosResponsables'].extend(correos_responsables)
+ correos_por_factura[invoice]['NotificacionAA'].extend(notificacion_aa)
+ correos_por_factura[invoice]['CorreoTipoViaje'].extend(correos_tipo_viaje)
+
+ # Iterar a través de las facturas y enviar correos
+ for invoice, correos_en_factura in correos_por_factura.items():
+ correos_responsables = correos_en_factura['CorreosResponsables']
+ notificacion_aa = correos_en_factura['NotificacionAA']
+ correos_tipo_viaje = correos_en_factura['CorreoTipoViaje']
+
+ # Obtener los datos comunes para la factura (fecha, invoice, caja, vigenciaDoda, notificacion)
+ first_row = factura_data[invoice][0]
+ fechaActual = first_row.FechaActual
+ caja = first_row.Caja
+ vigenciaDoda = first_row.VigenciaDODA
+ notificacion = first_row.Notificacion
+
+ # Crear el mensaje de correo electrónico
+ msg = MIMEMultipart()
+ msg['From'] = sender_email
+ msg['Subject'] = f"Información de factura {invoice}"
+
+ # Crear el cuerpo del mensaje con los datos de la factura en una tabla
+ message = f""
+ message += f"Factura {invoice}
"
+ message += f"Fecha Actual | Invoice | Caja | VigenciaDODA | Notificacion |
"
+ message += f"{fechaActual} | {invoice} | {caja} | {vigenciaDoda} | {notificacion} |
"
+ message += f"
"
+
+ # # Agregar correos de CorreosResponsables, NotificacionAA y CorreosTipoViaje al mensaje
+ # message += "CorreosResponsables:
"
+ # message += ""
+ # for destinatario in correos_responsables:
+ # message += f"- {destinatario}
"
+ # message += "
"
+
+ # message += f"NotificacionAA:
"
+ # message += ""s
+ # for destinatario in notificacion_aa:
+ # message += f"- {destinatario}
"
+ # message += "
"
+
+ # message += f"CorreosTipoViaje:
"
+ # message += ""
+ # for destinatario in correos_tipo_viaje:
+ # message += f"- {destinatario}
"
+ # message += "
"
+
+ message += ""
+ msg.attach(MIMEText(message, 'html'))
+
+ try:
+ # Establecer la conexión al servidor SMTP
+ server = smtplib.SMTP(smtp_server, smtp_port)
+ server.starttls()
+ server.login(sender_email, sender_password)
+
+ # Enviar el correo a todos los destinatarios de CorreosResponsables, NotificacionAA y CorreosTipoViaje
+ destinatarios = correos_responsables + notificacion_aa + correos_tipo_viaje
+ server.sendmail(sender_email, destinatarios, msg.as_string())
+ print(f"Correo enviado a CorreosResponsables, NotificacionAA y CorreosTipoViaje de factura {invoice}")
+
+ # Cerrar la conexión SMTP
+ server.quit()
+ except Exception as e:
+ print(f"Error al enviar correo de factura {invoice}: {e}")
+
+except Exception as e:
+ print("Error al conectarse:", e)
+
+
+
+
+
+
+