+
Tabla CD+CI para visualizacion de datos, se quitara cuando se vea que los calculos son correctos
IPC Coste Indirecto:@objetoLicitacionUrban.Variables.IPCCosteIndirecto;
+ Class="tablaCACOA table"
+ Data="objetoLicitacionUrban.Enumerados.ListaCDCI"
+ AllowFiltering="false"
+ PageSize="10"
+ Height="100"
+ EmptyText="No hay registros."
+ PageSizeSelectorVisible="false"
+ Responsive="true">
@context.NumeroTrabajadores
@@ -214,6 +231,9 @@
private int idUser = 0;
+ public bool modificarTabla = true;
+ public bool modificarHoras = false;
+
protected override async Task OnInitializedAsync()
{
try
@@ -405,5 +425,37 @@
{
await popupGuardar.HideAsync();
}
+
+ private async void modificarTablaChanged(bool res)
+ {
+ // objetoCASA.TrabajoProfesional.HorasTPE = 0;
+ // objetoCASA.TrabajoProfesional.HorasTPEDocumentacion = 0;
+ // objetoCASA.TrabajoProfesional.HorasTPEDireccion = 0;
+
+ // if (objetoCASA.TrabajoProfesional.Usos.ToList().Count() != 0)
+ // {
+ // objetoCASA.CalcularHorasTPE();
+ // }
+
+ modificarTabla = res;
+ modificarHoras = !res;
+ objetoLicitacionUrban.EsPorUsos = true;
+ objetoLicitacionUrban.TrabajoProfesional.horasTrabProfesional = 0;
+ // objetoLicitacionUrban.CalcularHorasSuperficie();
+ await InvokeAsync(StateHasChanged);
+ }
+ private async void modificarHorasChanged(bool res)
+ {
+ // horasTPEOriginal = objetoCASA.TrabajoProfesional.HorasTPE;
+ // ultimaHoraDocumentacion = objetoCASA.TrabajoProfesional.HorasTPEDocumentacion;
+ // ultimaHoraObra = objetoCASA.TrabajoProfesional.HorasTPEDireccion;
+
+
+ modificarHoras = res;
+ modificarTabla = !res;
+ objetoLicitacionUrban.EsPorUsos = false;
+ // objetoLicitacionUrban.CalcularHorasSuperficie();
+ await InvokeAsync(StateHasChanged);
+ }
}
diff --git a/bdHerramientaCACOA/HerramientaUrban/URBANTrabajoProfesional.cs b/bdHerramientaCACOA/HerramientaUrban/URBANTrabajoProfesional.cs
index a31d0fd..8b523bb 100644
--- a/bdHerramientaCACOA/HerramientaUrban/URBANTrabajoProfesional.cs
+++ b/bdHerramientaCACOA/HerramientaUrban/URBANTrabajoProfesional.cs
@@ -22,6 +22,8 @@ namespace bdHerramientaCACOA.HerramientaURBAN
public double horasTrabProfesional { get; set; } = 0;
+ public bool EsPorUsos { get; set; } = true;
+
public List DocumentacionMinima { get; set; } = new List();
public List DocumentacionOpcional { get; set; } = new List();
@@ -54,6 +56,7 @@ namespace bdHerramientaCACOA.HerramientaURBAN
double porcentajeInnovacion = TrabajoProfesional.valorInstrumentos;
TrabajoProfesional.horasTrabProfesional = (valorhoras * (totalEncargo / 100) * (porcentajeInnovacion / 100)).DosDecimales();
+ CalcularCostesProduccion();
}
public double ObtenerHoraTipoDocumento()
diff --git a/bdHerramientaCACOA/LICITACIONES.cs b/bdHerramientaCACOA/LICITACIONES.cs
index 6b93fd2..8d03828 100644
--- a/bdHerramientaCACOA/LICITACIONES.cs
+++ b/bdHerramientaCACOA/LICITACIONES.cs
@@ -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;
diff --git a/bdHerramientaCACOA/LicitacionesURBAN.cs b/bdHerramientaCACOA/LicitacionesURBAN.cs
index c4a304e..4ba7087 100644
--- a/bdHerramientaCACOA/LicitacionesURBAN.cs
+++ b/bdHerramientaCACOA/LicitacionesURBAN.cs
@@ -32,6 +32,8 @@ namespace bdHerramientaCACOA
public double Beneficio { get; set; } = 19;
public double PrecioDelTrabajo { get; set; } = 0;
+ public bool EsPorUsos { get; set; } = true;
+
private URBANTrabajoProfesional _TrabajoProfesional = new URBANTrabajoProfesional();
public URBANTrabajoProfesional TrabajoProfesional
{
@@ -220,11 +222,17 @@ namespace bdHerramientaCACOA
}
public void CalcularHorasTrabajoProfesional()
{
- double valorhoras = ObtenerHoraTipoDocumento();
- double totalEncargo = TrabajoProfesional.FasesTrabajoProfesional.Sum(x => x.Porcentaje);
- double porcentajeInnovacion = TrabajoProfesional.valorInstrumentos;
+ if (EsPorUsos)
+ {
+ double valorhoras = ObtenerHoraTipoDocumento();
+ double totalEncargo = TrabajoProfesional.FasesTrabajoProfesional.Sum(x => x.Porcentaje);
+ double porcentajeInnovacion = TrabajoProfesional.valorInstrumentos;
- TrabajoProfesional.horasTrabProfesional = (valorhoras * (totalEncargo / 100) * (porcentajeInnovacion / 100)).DosDecimales();
+ TrabajoProfesional.horasTrabProfesional = (valorhoras * (totalEncargo / 100) * (porcentajeInnovacion / 100)).DosDecimales();
+ }
+ else {
+
+ }
CalcularLicitacion();
}
public double ObtenerHoraTipoDocumento()