cambios pre vacaciones perea pa subir

This commit is contained in:
2025-07-30 08:47:10 +02:00
parent d75634b07e
commit d180046348
9 changed files with 284 additions and 102 deletions

View File

@@ -52,7 +52,7 @@ namespace bdHerramientaCACOA
public double IncrementoUrgencia { get; set; } = 0;
public double PlazoPresentacionDocumentos { get; set; } = 0;
public bool EsPorUsos { get; set; } = true;
public double CostesProduccionTrabProf { get; set; } = 0;
double _beneficio = 19;
@@ -207,8 +207,8 @@ namespace bdHerramientaCACOA
public double costeHoraProduccion { get; set; } = 0;
public void CalcularHorasSuperficie() {
// calcular superficie total
superficie = Usos.Sum(x => x.superficie);
if (superficie > 0) {
superficie = Usos.Sum(x => x.superficie);
if (superficie > 0 || !EsPorUsos) {
// calcular coef superficie total
coefsinredondeo = -0.1375 * Math.Log(superficie) + 2.4;
coefSupTotal = Math.Round( coefsinredondeo,2, MidpointRounding.AwayFromZero);
@@ -231,12 +231,18 @@ namespace bdHerramientaCACOA
// calcular fases encargadas
fasesEncargadas = FasesTrabajo.Where(x=>x.Seleccionado).Sum(x=> x.Porcentaje);
// calcular horas produccion trabajo profesional
horasProduccion = Math.Round((superficie*coefSupTotal*coefTipoTotal*coefIntervencionTotal*(fasesEncargadas/100)), 2, MidpointRounding.AwayFromZero); ;
// calcular horas produccion trabajo profesional
if (EsPorUsos)
{
horasProduccion = Math.Round((superficie * coefSupTotal * coefTipoTotal * coefIntervencionTotal * (fasesEncargadas / 100)), 2, MidpointRounding.AwayFromZero);
// calcular horas elaboracion documentacion
horasPorcentaje = FasesTrabajo.Where(x => x.Codigo.Contains("ESTPREVIO") || x.Codigo.Contains("ANTEPROYECTO") || x.Codigo.Contains("PROYBASICO") || x.Codigo.Contains("PROYEJEC")).Sum(x => x.Porcentaje);
horasDocumentacion = Math.Round(superficie * coefSupTotal * coefTipoTotal * coefIntervencionTotal * (horasPorcentaje / 100), 2, MidpointRounding.AwayFromZero);
}
else {
horasDocumentacion = horasProduccion;
}
// calcular horas elaboracion documentacion
horasPorcentaje = FasesTrabajo.Where(x=> x.Codigo.Contains("ESTPREVIO") || x.Codigo.Contains("ANTEPROYECTO") || x.Codigo.Contains("PROYBASICO") || x.Codigo.Contains("PROYEJEC")).Sum(x=>x.Porcentaje) ;
horasDocumentacion = Math.Round(superficie * coefSupTotal * coefTipoTotal * coefIntervencionTotal*(horasPorcentaje/100), 2, MidpointRounding.AwayFromZero);
// calcular plazo medio(meses) esto hay que preguntarlo
plazoMedio = 3;