Cambios mensajes

This commit is contained in:
2026-04-29 09:11:56 +02:00
parent cd2e8b8530
commit 444b15679d
13 changed files with 2545 additions and 2292 deletions

View File

@@ -1,139 +1,139 @@
using bdAsegasa;
using bdAsegasa.db;
using bdAsegasa.dbcontext;
using System;
using System.Collections.Generic;
using System.Linq;
//using bdAsegasa;
//using bdAsegasa.db;
//using bdAsegasa.dbcontext;
//using System;
//using System.Collections.Generic;
//using System.Linq;
namespace Servicio_Gestion_Asegasa.Procesos
{
public class ProcesosContabilidad
{
public static void CompruebaContabilidad()
{
using var bd = tscgestionasegasa.NuevoContexto();
var cta = bd.cuentascorreo.First(x => x.Codigo == "SEG.GENERALES");
string sDestinatarios = "sevilla@tecnosis.net";
//namespace Servicio_Gestion_Asegasa.Procesos
//{
// public class ProcesosContabilidad
// {
// public static void CompruebaContabilidad()
// {
// using var bd = tscgestionasegasa.NuevoContexto();
// var cta = bd.cuentascorreo.First(x => x.Codigo == "SEG.GENERALES");
// string sDestinatarios = "sevilla@tecnosis.net";
var asis = bd.asientos.Where(x =>
x.Fecha < x.idEjercicioNavigation.FechaInicio ||
x.Fecha > x.idEjercicioNavigation.FechaFin ||
x.apuntes.Any(y => y.idCuentaNavigation.idEjercicio != x.idEjercicio)
).ToList();
// var asis = bd.asientos.Where(x =>
// x.Fecha < x.idEjercicioNavigation.FechaInicio ||
// x.Fecha > x.idEjercicioNavigation.FechaFin ||
// x.apuntes.Any(y => y.idCuentaNavigation.idEjercicio != x.idEjercicio)
// ).ToList();
if (asis.Count > 0)
{
var lFechaErronea = new List<asientos>();
foreach (var asi in asis)
{
var ej = bd.ejercicioscontables.FirstOrDefault(x =>
x.FechaCierre == null &&
(x.FechaInicio <= asi.Fecha && x.FechaFin >= asi.Fecha)
);
// if (asis.Count > 0)
// {
// var lFechaErronea = new List<asientos>();
// foreach (var asi in asis)
// {
// var ej = bd.ejercicioscontables.FirstOrDefault(x =>
// x.FechaCierre == null &&
// (x.FechaInicio <= asi.Fecha && x.FechaFin >= asi.Fecha)
// );
if (ej != null)
{
lFechaErronea.Add(asi);
}
else
{
if (asi.idEjercicio != ej.idEjercicio)
{
asi.idEjercicio = ej.idEjercicio;
}
foreach (var ap in asi.apuntes)
{
ap.idCuenta = bd.cuentas.First(x => x.NumeroCuenta == ap.idCuentaNavigation.NumeroCuenta && x.idEjercicio == asi.idEjercicio).idCuenta;
}
}
}
// if (ej != null)
// {
// lFechaErronea.Add(asi);
// }
// else
// {
// if (asi.idEjercicio != ej.idEjercicio)
// {
// asi.idEjercicio = ej.idEjercicio;
// }
// foreach (var ap in asi.apuntes)
// {
// ap.idCuenta = bd.cuentas.First(x => x.NumeroCuenta == ap.idCuentaNavigation.NumeroCuenta && x.idEjercicio == asi.idEjercicio).idCuenta;
// }
// }
// }
bd.SaveChanges();
// bd.SaveChanges();
if (lFechaErronea.Count > 0)
{
var lae = lFechaErronea.Select(x => new
{
NumeroAsiento = x.idAsiento,
Fecha = x.Fecha,
Ejercicio = x.idEjercicioNavigation.Descripcion
}).ToList();
// if (lFechaErronea.Count > 0)
// {
// var lae = lFechaErronea.Select(x => new
// {
// NumeroAsiento = x.idAsiento,
// Fecha = x.Fecha,
// Ejercicio = x.idEjercicioNavigation.Descripcion
// }).ToList();
byte[] fe = tsUtilidades.Excel.IEnumerableAExcel(lae);
// byte[] fe = tsUtilidades.Excel.IEnumerableAExcel(lae);
bdAsegasa.db.correos.GeneraRegistroCorreoConAdjunto(bd,
"Existen apuntes con cuentas de un ejercicio diferente al del asiento (No se corrige el asiento)",
"Existen apuntes con cuentas de un ejercicio diferente al del asiento (Se corrige el asiento)",
cta, fe, "AsientosFechaErronea-" + DateTime.Now.ToString("yyyy-MM-dd") + ".xlsx",
"Asientos Con Fecha Erronea " + DateTime.Now.ToString("yyyy-MM-dd"),
sDestinatarios);
// bdAsegasa.db.correos.GeneraRegistroCorreoConAdjunto(bd,
// "Existen apuntes con cuentas de un ejercicio diferente al del asiento (No se corrige el asiento)",
// "Existen apuntes con cuentas de un ejercicio diferente al del asiento (Se corrige el asiento)",
// cta, fe, "AsientosFechaErronea-" + DateTime.Now.ToString("yyyy-MM-dd") + ".xlsx",
// "Asientos Con Fecha Erronea " + DateTime.Now.ToString("yyyy-MM-dd"),
// sDestinatarios);
var idsErrores = lae.Select(y => y.NumeroAsiento).ToList();
asis = asis.Where(x => !idsErrores.Contains(x.idAsiento)).ToList();
}
// var idsErrores = lae.Select(y => y.NumeroAsiento).ToList();
// asis = asis.Where(x => !idsErrores.Contains(x.idAsiento)).ToList();
// }
var la = asis.Select(x => new
{
NumeroAsiento = x.idAsiento,
Fecha = x.Fecha,
Ejercicio = x.idEjercicioNavigation.Descripcion
}).ToList();
// var la = asis.Select(x => new
// {
// NumeroAsiento = x.idAsiento,
// Fecha = x.Fecha,
// Ejercicio = x.idEjercicioNavigation.Descripcion
// }).ToList();
byte[] f = tsUtilidades.Excel.IEnumerableAExcel(la);
// byte[] f = tsUtilidades.Excel.IEnumerableAExcel(la);
bdAsegasa.db.correos.GeneraRegistroCorreoConAdjunto(bd,
"Existen apuntes con cuentas de un ejercicio diferente al del asiento (Se corrige el asiento)",
"Existen apuntes con cuentas de un ejercicio diferente al del asiento (Se corrige el asiento)",
cta, f, "ApuntesIncoherentes-" + DateTime.Now.ToString("yyyy-MM-dd") + ".xlsx",
"Apuntes Incoherentes " + DateTime.Now.ToString("yyyy-MM-dd"),
sDestinatarios);
}
// bdAsegasa.db.correos.GeneraRegistroCorreoConAdjunto(bd,
// "Existen apuntes con cuentas de un ejercicio diferente al del asiento (Se corrige el asiento)",
// "Existen apuntes con cuentas de un ejercicio diferente al del asiento (Se corrige el asiento)",
// cta, f, "ApuntesIncoherentes-" + DateTime.Now.ToString("yyyy-MM-dd") + ".xlsx",
// "Apuntes Incoherentes " + DateTime.Now.ToString("yyyy-MM-dd"),
// sDestinatarios);
// }
asis = bd.asientos.Where(x => x.Fecha < x.idEjercicioNavigation.FechaInicio || x.Fecha > x.idEjercicioNavigation.FechaFin).ToList();
// asis = bd.asientos.Where(x => x.Fecha < x.idEjercicioNavigation.FechaInicio || x.Fecha > x.idEjercicioNavigation.FechaFin).ToList();
if (asis.Count > 0)
{
var la = asis.Select(x => new
{
NumeroAsiento = x.idAsiento,
Fecha = x.Fecha,
Ejercicio = x.idEjercicioNavigation.Descripcion
}).ToList();
// if (asis.Count > 0)
// {
// var la = asis.Select(x => new
// {
// NumeroAsiento = x.idAsiento,
// Fecha = x.Fecha,
// Ejercicio = x.idEjercicioNavigation.Descripcion
// }).ToList();
byte[] f = tsUtilidades.Excel.IEnumerableAExcel(la);
// byte[] f = tsUtilidades.Excel.IEnumerableAExcel(la);
bdAsegasa.db.correos.GeneraRegistroCorreoConAdjunto(bd,
"Existen asientos con fecha incoherente al del ejercicio",
"Existen asientos con fecha incoherente al del ejercicio",
cta, f, "AsientosIncoherentes-" + DateTime.Now.ToString("yyyy-MM-dd") + ".xlsx",
"Asientos Incoherentes " + DateTime.Now.ToString("yyyy-MM-dd"),
sDestinatarios);
}
// bdAsegasa.db.correos.GeneraRegistroCorreoConAdjunto(bd,
// "Existen asientos con fecha incoherente al del ejercicio",
// "Existen asientos con fecha incoherente al del ejercicio",
// cta, f, "AsientosIncoherentes-" + DateTime.Now.ToString("yyyy-MM-dd") + ".xlsx",
// "Asientos Incoherentes " + DateTime.Now.ToString("yyyy-MM-dd"),
// sDestinatarios);
// }
asis = bd.asientos.Where(x => Math.Round((double)x.apuntes.Sum(y => y.Debe ), 2) != Math.Round((double)x.apuntes.Sum(y => y.Haber), 2)).ToList();
// asis = bd.asientos.Where(x => Math.Round((double)x.apuntes.Sum(y => y.Debe ), 2) != Math.Round((double)x.apuntes.Sum(y => y.Haber), 2)).ToList();
if (asis.Count > 0)
{
var la = asis.Select(x => new
{
NumeroAsiento = x.idAsiento,
Fecha = x.Fecha,
Ejercicio = x.idEjercicioNavigation.Descripcion,
Debe = Math.Round((double)x.apuntes.Sum(y => y.Debe ), 2, MidpointRounding.AwayFromZero),
Haber = Math.Round((double)x.apuntes.Sum(y => y.Haber ), 2, MidpointRounding.AwayFromZero)
}).ToList();
// if (asis.Count > 0)
// {
// var la = asis.Select(x => new
// {
// NumeroAsiento = x.idAsiento,
// Fecha = x.Fecha,
// Ejercicio = x.idEjercicioNavigation.Descripcion,
// Debe = Math.Round((double)x.apuntes.Sum(y => y.Debe ), 2, MidpointRounding.AwayFromZero),
// Haber = Math.Round((double)x.apuntes.Sum(y => y.Haber ), 2, MidpointRounding.AwayFromZero)
// }).ToList();
byte[] f = tsUtilidades.Excel.IEnumerableAExcel(la);
// byte[] f = tsUtilidades.Excel.IEnumerableAExcel(la);
bdAsegasa.db.correos.GeneraRegistroCorreoConAdjunto(bd,
"Existen asientos descuadrados",
"Existen asientos descuadrados",
cta, f, "AsientosDescuadrados-" + DateTime.Now.ToString("yyyy-MM-dd") + ".xlsx",
"Asientos Descuadrados " + DateTime.Now.ToString("yyyy-MM-dd"),
sDestinatarios);
}
// bdAsegasa.db.correos.GeneraRegistroCorreoConAdjunto(bd,
// "Existen asientos descuadrados",
// "Existen asientos descuadrados",
// cta, f, "AsientosDescuadrados-" + DateTime.Now.ToString("yyyy-MM-dd") + ".xlsx",
// "Asientos Descuadrados " + DateTime.Now.ToString("yyyy-MM-dd"),
// sDestinatarios);
// }
asis = bd.asientos.Where(x => x.Fecha < x.idEjercicioNavigation.FechaInicio || x.Fecha > x.idEjercicioNavigation.FechaFin).ToList();
}
}
}
// asis = bd.asientos.Where(x => x.Fecha < x.idEjercicioNavigation.FechaInicio || x.Fecha > x.idEjercicioNavigation.FechaFin).ToList();
// }
// }
//}