acabado la primera versión de agregar las estadisticas
This commit is contained in:
@@ -191,7 +191,7 @@
|
||||
{
|
||||
int idtipoSimulacion = bd.enumeraciones.First(x => x.Codigo == HerramientaCASA.UtilidadesCASA.obtenerTipoSimulacion(HerramientaCASA.UtilidadesCASA.TiposSimulaciones.CASA)).idEnumeracion;
|
||||
|
||||
|
||||
|
||||
|
||||
string jsonObjeto = Newtonsoft.Json.JsonConvert.SerializeObject(casa);
|
||||
|
||||
@@ -229,6 +229,8 @@
|
||||
actualizarSimulacion(jsonObjeto);
|
||||
}
|
||||
}
|
||||
|
||||
HerramientaCASA.UtilidadesCASA.guardarEstadisticas(bd, HerramientaCASA.UtilidadesCASA.TiposSimulaciones.CASA,jsonObjeto,int.Parse(idSimulador));
|
||||
}
|
||||
|
||||
private void crearSimulacion(string jsonObjeto)
|
||||
|
||||
@@ -208,6 +208,8 @@
|
||||
actualizarSimulacion(jsonObjeto);
|
||||
}
|
||||
}
|
||||
|
||||
HerramientaCASA.UtilidadesCASA.guardarEstadisticas(bd, HerramientaCASA.UtilidadesCASA.TiposSimulaciones.URBAN, jsonObjeto, int.Parse(idSimulador));
|
||||
}
|
||||
private void crearSimulacion(string jsonObjeto)
|
||||
{
|
||||
|
||||
@@ -334,6 +334,8 @@
|
||||
actualizarLicitacion(jsonObjeto);
|
||||
}
|
||||
}
|
||||
|
||||
HerramientaCASA.UtilidadesCASA.guardarEstadisticas(bd, HerramientaCASA.UtilidadesCASA.TiposSimulaciones.LICITACIONCASA, jsonObjeto, int.Parse(idSimulador));
|
||||
}
|
||||
|
||||
private void crearLicitacion(string jsonObjeto)
|
||||
|
||||
@@ -363,6 +363,8 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
HerramientaCASA.UtilidadesCASA.guardarEstadisticas(bd, HerramientaCASA.UtilidadesCASA.TiposSimulaciones.URBANDSIMP, jsonObjeto, int.Parse(idSimulador));
|
||||
}
|
||||
private void crearSimulacion(string jsonObjeto)
|
||||
{
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
using bdHerramientaCACOA;
|
||||
using bdHerramientaCACOA.db;
|
||||
using bdHerramientaCACOA.dbcontext;
|
||||
using bdHerramientaCACOA.HerramientaURBAN;
|
||||
using BlazorBootstrap;
|
||||
using HerramientaCASA.Components.Pages;
|
||||
using HerramientaCASA.Components.Pages.HerramientaCASATabs;
|
||||
using HerramientaCASA.Model;
|
||||
using HerramientaCASA.ViewModel;
|
||||
using IbanNet;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Text;
|
||||
using static bdHerramientaCACOA.CASA;
|
||||
using static HerramientaCASA.Components.Pages.ConfiguracionPages.ConvenioColectivo;
|
||||
|
||||
namespace HerramientaCASA
|
||||
@@ -641,5 +646,150 @@ namespace HerramientaCASA
|
||||
__builder.CloseComponent();
|
||||
}
|
||||
};
|
||||
|
||||
public static void guardarEstadisticas(tsHerramientasCACOA bd, HerramientaCASA.UtilidadesCASA.TiposSimulaciones tipoSimulacion, string jsonObjeto, int idSimulador)
|
||||
{
|
||||
estadisticas estadisticas = new estadisticas();
|
||||
|
||||
try
|
||||
{
|
||||
switch (tipoSimulacion)
|
||||
{
|
||||
case TiposSimulaciones.CASA:
|
||||
var casa = System.Text.Json.JsonSerializer.Deserialize<CASA>(jsonObjeto);
|
||||
casa.CalcularFinales();
|
||||
|
||||
if (!comprobarExisteEstadistica(bd, idSimulador))
|
||||
{
|
||||
mapearEstadisticasCASA(estadisticas,casa,idSimulador);
|
||||
bd.estadisticas.Add(estadisticas);
|
||||
}
|
||||
else
|
||||
{
|
||||
var estadisticaExistente = bd.estadisticas.First(x => x.idSimulacion == idSimulador);
|
||||
mapearEstadisticasCASA(estadisticaExistente, casa, idSimulador);
|
||||
}
|
||||
break;
|
||||
case TiposSimulaciones.BAJA:
|
||||
break;
|
||||
case TiposSimulaciones.LICITACIONCASA:
|
||||
var licitacionCASA = System.Text.Json.JsonSerializer.Deserialize<LICITACIONES>(jsonObjeto);
|
||||
|
||||
if (!comprobarExisteEstadistica(bd, idSimulador))
|
||||
{
|
||||
mapearEstadisticasLicitacionCASA(estadisticas, licitacionCASA, idSimulador);
|
||||
bd.estadisticas.Add(estadisticas);
|
||||
}
|
||||
else
|
||||
{
|
||||
var estadisticaExistente = bd.estadisticas.First(x => x.idSimulacion == idSimulador);
|
||||
mapearEstadisticasLicitacionCASA(estadisticaExistente, licitacionCASA, idSimulador);
|
||||
}
|
||||
|
||||
break;
|
||||
case TiposSimulaciones.URBAN:
|
||||
var urban = System.Text.Json.JsonSerializer.Deserialize<URBAN>(jsonObjeto);
|
||||
urban.CalcularFinales();
|
||||
|
||||
if (!comprobarExisteEstadistica(bd, idSimulador))
|
||||
{
|
||||
mapearEstadisticasURBAN(estadisticas, urban, idSimulador);
|
||||
bd.estadisticas.Add(estadisticas);
|
||||
}
|
||||
else
|
||||
{
|
||||
var estadisticaExistente = bd.estadisticas.First(x => x.idSimulacion == idSimulador);
|
||||
mapearEstadisticasURBAN(estadisticaExistente, urban, idSimulador);
|
||||
}
|
||||
break;
|
||||
case TiposSimulaciones.URBANDSIMP:
|
||||
|
||||
var licitacionUrban = System.Text.Json.JsonSerializer.Deserialize<bdHerramientaCACOA.LicitacionesURBAN>(jsonObjeto);
|
||||
|
||||
if (!comprobarExisteEstadistica(bd, idSimulador))
|
||||
{
|
||||
mapearEstadisticasLicitacionURBAN(estadisticas, licitacionUrban, idSimulador);
|
||||
bd.estadisticas.Add(estadisticas);
|
||||
}
|
||||
else
|
||||
{
|
||||
var estadisticaExistente = bd.estadisticas.First(x => x.idSimulacion == idSimulador);
|
||||
mapearEstadisticasLicitacionURBAN(estadisticaExistente, licitacionUrban, idSimulador);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
bd.SaveChanges();
|
||||
}
|
||||
catch (Exception ex) {
|
||||
throw new Exception(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private static bool comprobarExisteEstadistica(tsHerramientasCACOA bd, int idSimulacion)
|
||||
{
|
||||
bool existeEstadistica = false;
|
||||
|
||||
if (bd.estadisticas.Any(x=> x.idSimulacion == idSimulacion))
|
||||
{
|
||||
existeEstadistica = true;
|
||||
}
|
||||
return existeEstadistica;
|
||||
}
|
||||
|
||||
private static void mapearEstadisticasCASA(estadisticas estadistica, CASA casa, int idSimulador)
|
||||
{
|
||||
estadistica.idSimulacion = idSimulador;
|
||||
estadistica.costeDirecto = casa.DespachoProfesional.CostesDirectos;
|
||||
estadistica.costeIndirecto = casa.DespachoProfesional.TasaCostesIndirectos;
|
||||
estadistica.costeVariable = casa.CostesProduccion.CostesVariables;
|
||||
estadistica.costeHoraDespachoProf = casa.DespachoProfesional.CosteHoraDespachoProfesional;
|
||||
estadistica.totalFases = casa.TrabajoProfesional.FasesTrabajo.Sum(x => x.Porcentaje);
|
||||
estadistica.horasTPEDocumentacion = casa.TrabajoProfesional.HorasTPEDocumentacion;
|
||||
estadistica.horasTPEDireccionObra = casa.TrabajoProfesional.HorasTPEDireccion;
|
||||
estadistica.horasTPE = casa.TrabajoProfesional.TotalHorasTPE;
|
||||
estadistica.porcentajeExternalizacion = casa.CostesProduccion.CoeficienteCostesExternalizacion;
|
||||
estadistica.plazoPresentacion = casa.CostesProduccion.PlazoPresentacionDocumentos;
|
||||
estadistica.costeProduccion = casa.CostesProduccion.CostesProduccionTrabProf;
|
||||
estadistica.totalOtrosTrabajos = casa.CostesProduccion.TotalOtrosTrabajos;
|
||||
estadistica.porcentajeBeneficio = casa.CostesProduccion.Beneficio;
|
||||
estadistica.numeroTrabajadores = casa.DespachoProfesional.Trabajadores.Sum(x => x.NumTrabajadores);
|
||||
}
|
||||
|
||||
private static void mapearEstadisticasLicitacionCASA(estadisticas estadistica, LICITACIONES licitacion, int idSimulador)
|
||||
{
|
||||
estadistica.idSimulacion = idSimulador;
|
||||
estadistica.costeHoraDespachoProf = licitacion.costeHoraProduccion;
|
||||
estadistica.totalFases = licitacion.FasesTrabajo.Sum(x=> x.Porcentaje);
|
||||
estadistica.horasTPE = licitacion.horasProduccion;
|
||||
estadistica.plazoPresentacion = licitacion.PlazoPresentacionDocumentos;
|
||||
estadistica.costeProduccion = licitacion.CostesProduccionTrabProf;
|
||||
estadistica.totalOtrosTrabajos = licitacion.TotalOtrosTrabajos;
|
||||
}
|
||||
|
||||
private static void mapearEstadisticasURBAN(estadisticas estadistica, URBAN urban, int idSimulador)
|
||||
{
|
||||
estadistica.idSimulacion = idSimulador;
|
||||
estadistica.costeDirecto = urban.DespachoProfesional.CostesDirectos;
|
||||
estadistica.costeIndirecto = urban.DespachoProfesional.TasaCostesIndirectos;
|
||||
estadistica.costeVariable = urban.CostesProduccion.CostesVariables;
|
||||
estadistica.costeHoraDespachoProf = urban.DespachoProfesional.CosteHoraDespachoProfesional;
|
||||
estadistica.horasTPE = urban.TrabajoProfesional.horasTrabProfesional;
|
||||
estadistica.porcentajeExternalizacion = urban.CostesProduccion.CoeficienteCostesExternalizacion;
|
||||
estadistica.plazoPresentacion = urban.CostesProduccion.PlazoPresentacionDocumentos;
|
||||
estadistica.costeProduccion = urban.CostesProduccion.CostesProduccionTrabProf;
|
||||
estadistica.porcentajeBeneficio = urban.CostesProduccion.Beneficio;
|
||||
estadistica.numeroTrabajadores = urban.DespachoProfesional.Trabajadores.Sum(x => x.NumTrabajadores);
|
||||
}
|
||||
|
||||
private static void mapearEstadisticasLicitacionURBAN(estadisticas estadistica, bdHerramientaCACOA.LicitacionesURBAN licitacionUrban, int idSimulador)
|
||||
{
|
||||
estadistica.idSimulacion = idSimulador;
|
||||
estadistica.costeHoraDespachoProf = licitacionUrban.CosteHP;
|
||||
estadistica.horasTPE = licitacionUrban.TrabajoProfesional.horasTrabProfesional;
|
||||
estadistica.plazoPresentacion = licitacionUrban.PlazoPresentacionDocumentos;
|
||||
estadistica.costeProduccion = licitacionUrban.CostesProduccionTrabProf;
|
||||
estadistica.numeroTrabajadores = licitacionUrban.ListaSolvenciaTecnica.Sum(x => x.Cantidad);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ public partial class estadisticas
|
||||
|
||||
public double? costeHoraDespachoProf { get; set; }
|
||||
|
||||
public int? totalFases { get; set; }
|
||||
public double? totalFases { get; set; }
|
||||
|
||||
public double? horasTPEDocumentacion { get; set; }
|
||||
|
||||
@@ -25,7 +25,7 @@ public partial class estadisticas
|
||||
|
||||
public double? horasTPE { get; set; }
|
||||
|
||||
public int? porcentajeExternalizacion { get; set; }
|
||||
public double? porcentajeExternalizacion { get; set; }
|
||||
|
||||
public double? plazoPresentacion { get; set; }
|
||||
|
||||
@@ -33,9 +33,9 @@ public partial class estadisticas
|
||||
|
||||
public double? totalOtrosTrabajos { get; set; }
|
||||
|
||||
public int? porcentajeBeneficio { get; set; }
|
||||
public double? porcentajeBeneficio { get; set; }
|
||||
|
||||
public int? numeroTrabajadores { get; set; }
|
||||
public double? numeroTrabajadores { get; set; }
|
||||
|
||||
public virtual simulaciones? idSimulacionNavigation { get; set; }
|
||||
}
|
||||
|
||||
@@ -166,10 +166,6 @@ public partial class herramientascacoaContext : DbContext
|
||||
|
||||
entity.Property(e => e.idEstadistica).HasColumnType("int(11)");
|
||||
entity.Property(e => e.idSimulacion).HasColumnType("int(11)");
|
||||
entity.Property(e => e.numeroTrabajadores).HasColumnType("int(11)");
|
||||
entity.Property(e => e.porcentajeBeneficio).HasColumnType("int(11)");
|
||||
entity.Property(e => e.porcentajeExternalizacion).HasColumnType("int(11)");
|
||||
entity.Property(e => e.totalFases).HasColumnType("int(11)");
|
||||
|
||||
entity.HasOne(d => d.idSimulacionNavigation).WithMany(p => p.estadisticas)
|
||||
.HasForeignKey(d => d.idSimulacion)
|
||||
|
||||
Reference in New Issue
Block a user