|
@* meses *@
diff --git a/bdHerramientaCACOA/HerramientaUrban/URBAN.cs b/bdHerramientaCACOA/HerramientaUrban/URBAN.cs
index 510c0aa..456ca31 100644
--- a/bdHerramientaCACOA/HerramientaUrban/URBAN.cs
+++ b/bdHerramientaCACOA/HerramientaUrban/URBAN.cs
@@ -317,5 +317,29 @@ namespace bdHerramientaCACOA.HerramientaURBAN
}
#endregion
+
+ //public double CalcularIncremento()
+ //{
+ // double incremento = 3.5;
+
+ // var listaPlazos = TrabajoProfesional.FasesTrabajo.Where(x => x.Porcentaje > 0 && x.PlazoMinimo != null).ToList();
+ // if (listaPlazos.Count > 0)
+ // {
+ // double meses = (double)listaPlazos.Sum(x => x.PlazoMinimo);
+ // if (CostesProduccion.PlazoPresentacionDocumentos < meses)
+ // {
+ // return (meses - CostesProduccion.PlazoPresentacionDocumentos) * incremento;
+ // }
+ // else
+ // {
+ // return 0;
+ // }
+ // }
+ // else
+ // {
+ // return 0;
+ // }
+
+ //}
}
}
diff --git a/bdHerramientaCACOA/LICITACIONES.cs b/bdHerramientaCACOA/LICITACIONES.cs
index 5875ba5..6b93fd2 100644
--- a/bdHerramientaCACOA/LICITACIONES.cs
+++ b/bdHerramientaCACOA/LICITACIONES.cs
@@ -50,7 +50,7 @@ namespace bdHerramientaCACOA
public int idGradMed { get; set; } = 0;
public int idDelin { get; set; } = 0;
-
+ public double IncrementoUrgencia { get; set; } = 0;
public double PlazoPresentacionDocumentos { get; set; } = 0;
public double CostesProduccionTrabProf { get; set; } = 0;
@@ -102,7 +102,7 @@ namespace bdHerramientaCACOA
ft.Codigo = enu.Codigo;
ft.Denominacion = enu.ValorAlfabetico1;
ft.Porcentaje = (double)enu.ValorNumerico1;
-
+ ft.PlazoMinimo = enu.ValorNumerico2 == null ? null : (double)enu.ValorNumerico2;
FasesTrabajo.Add(ft);
}
}
@@ -295,14 +295,29 @@ namespace bdHerramientaCACOA
// calcular coste hora de produccion
costeHoraProduccion = CosteCDCI * (1 + tasaCostesVariables);
+
if (PlazoPresentacionDocumentos == 0)
{
CostesProduccionTrabProf = 0;
}
- else {
- CostesProduccionTrabProf = (horasProduccion * coefPlazos * costeHoraProduccion).DosDecimales();
+ else
+ {
+ IncrementoUrgencia = CalcularIncremento();
+ if (IncrementoUrgencia == 0)
+ {
+ CostesProduccionTrabProf = (horasProduccion * coefPlazos * costeHoraProduccion).DosDecimales();
+ }
+ else
+ {
+ var incr = 1 + (IncrementoUrgencia / 100);
+ CostesProduccionTrabProf = ((horasProduccion * incr) *
+ (coefPlazos * incr) *
+ (costeHoraProduccion * incr)).DosDecimales();
+ }
}
- PrecioTrabProf = (CostesProduccionTrabProf * (1 + (Beneficio / 100))).DosDecimales();
+
+
+ PrecioTrabProf = (CostesProduccionTrabProf * (1 + (Beneficio / 100))).DosDecimales();
CostesProduccionTrabProf = Math.Round(CostesProduccionTrabProf, 2, MidpointRounding.AwayFromZero);
PrecioTrabProf = Math.Round(PrecioTrabProf, 2, MidpointRounding.AwayFromZero);
@@ -465,7 +480,29 @@ namespace bdHerramientaCACOA
return listaCDCI;
}
+ public double CalcularIncremento()
+ {
+ double incremento = 3.5;
+ var listaPlazos = FasesTrabajo.Where(x => x.Porcentaje > 0 && x.PlazoMinimo != null && x.Seleccionado==true).ToList();
+ if (listaPlazos.Count > 0)
+ {
+ double meses = (double)listaPlazos.Sum(x => x.PlazoMinimo);
+ if (PlazoPresentacionDocumentos < meses)
+ {
+ return (meses - PlazoPresentacionDocumentos) * incremento;
+ }
+ else
+ {
+ return 0;
+ }
+ }
+ else
+ {
+ return 0;
+ }
+
+ }
public class ConvenioColectivoConcurso
{
public int idConvenioColectivo { get; set; } = 0;
|