añadido incremento en licitaciones CASA

This commit is contained in:
2025-07-28 12:27:10 +02:00
parent 4fd3b09eb0
commit e4a9271ed0
3 changed files with 74 additions and 6 deletions

View File

@@ -15,7 +15,14 @@
</thead>
<tbody>
<tr>
<td class="colorFilasIntro fw-bold w4">Plazo de presentación de la documentación:</td>
<td class="colorFilasIntro fw-bold w4">
Plazo de presentación de la documentación:
@if (objetoLicitaciones.IncrementoUrgencia > 0)
{
<br />
<span class="fw-normal" style="font-size:10px;">Incremento del @objetoLicitaciones.IncrementoUrgencia% en los costes de producción de la documentación por plazo de presentación reducido</span>
}
</td>
<td class="text-end">
<div class="d-flex" style="gap:3px;">
@* <InputNumber TValue="int" Locale="es-ES" Min="0" class="inputForm formatoMoneda inputTabla" Value="@objetoLicitaciones.PlazoPresentacionDocumentos" ValueExpression="() => objetoLicitaciones.PlazoPresentacionDocumentos" ValueChanged="(value) => PlazoPresentacionDocumentosCambiado(value)"></InputNumber> meses *@

View File

@@ -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;
// }
//}
}
}

View File

@@ -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;