cambios casi terminados. Falta pasar horas a semanas y poner los excels separados

This commit is contained in:
2025-09-22 13:42:07 +02:00
parent c9d929c57d
commit 4d11042fb1
18 changed files with 153 additions and 99 deletions

View File

@@ -67,7 +67,7 @@
<NavLink class="nav-link" href="ConvenioColectivo">Convenio Colectivo</NavLink>
</li>
<li id="liMS" class="nav-item">
<NavLink class="nav-link" href="DocumentosUrban">Documentos URBAN</NavLink>
<NavLink class="nav-link" href="DocumentosUrban">Documentos Urbanismo</NavLink>
</li>
<li id="liMS" class="nav-item">
<NavLink class="nav-link" href="CalculoCDCI">Calculo CD+CI</NavLink>

View File

@@ -65,6 +65,9 @@
{
@UtilidadesCASA.CreateTooltip(objetoCASA.Enumerados.PuntosInformacion.First(x => x.idPuntosInformacion == 30).Descripcion)
}
<b>Otros trabajos incluidos en el Encargo </b>
}
else
{
@@ -72,9 +75,9 @@
{
@UtilidadesCASA.CreateTooltip(objetoLicitaciones.Enumerados.PuntosInformacion.First(x => x.idPuntosInformacion == 36).Descripcion)
}
}
<b>Otros trabajos incluidos en la Licitación </b>
<b>Otros trabajos incluidos en la Licitación </b>
}
</div>
</div>
<div style="position:relative;margin-bottom: 15px;">

View File

@@ -52,7 +52,7 @@
<Tabs>
<Tab Title="Estadisticas Herramienta CASA" Active>
<Tab Title="Estadisticas CASA - Edificación" Active>
<Content>
<div class="CajaTab p-2">
<HerramientaCASA.Components.Pages.ConfiguracionPages.EstadisticasTabs.EstadisticaHerraCASATab ListadoHerraCASA="@listadoHerramientaEstadistica.Where(x=> x.idSimulacionNavigation.idTipoSimulacion == 31).ToList()"></HerramientaCASA.Components.Pages.ConfiguracionPages.EstadisticasTabs.EstadisticaHerraCASATab>
@@ -60,7 +60,7 @@
</Content>
</Tab>
<Tab Title="Estadisticas Licitación CASA">
<Tab Title="Estadisticas Licitaciones Edificación">
<Content>
<div class="CajaTab p-2">
<HerramientaCASA.Components.Pages.ConfiguracionPages.EstadisticasTabs.EstadisticaLiciCASATab ListadoLiciCASA="@listadoHerramientaEstadistica.Where(x => x.idSimulacionNavigation.idTipoSimulacion == 32).ToList()"></HerramientaCASA.Components.Pages.ConfiguracionPages.EstadisticasTabs.EstadisticaLiciCASATab>
@@ -68,7 +68,7 @@
</Content>
</Tab>
<Tab Title="Estadisticas Herramienta URBAN">
<Tab Title="Estadisticas CASA - Urbanismo">
<Content>
<div class="CajaTab p-2">
<HerramientaCASA.Components.Pages.ConfiguracionPages.EstadisticasTabs.EstadisticaHerraURBANTab ListadoHerraURBAN="@listadoHerramientaEstadisticaUrban.Where(x => x.idSimulacionNavigation.idTipoSimulacion == 34).ToList()"></HerramientaCASA.Components.Pages.ConfiguracionPages.EstadisticasTabs.EstadisticaHerraURBANTab>
@@ -76,7 +76,7 @@
</Content>
</Tab>
<Tab Title="Estadisticas Licitación URBAN">
<Tab Title="Estadisticas Licitación Urbanismo">
<Content>
<div class="CajaTab p-2">
<HerramientaCASA.Components.Pages.ConfiguracionPages.EstadisticasTabs.EstadisticaLiciURBANTab ListadoLiciURBAN="@listadoHerramientaEstadisticaUrban.Where(x => x.idSimulacionNavigation.idTipoSimulacion == 35).ToList()"></HerramientaCASA.Components.Pages.ConfiguracionPages.EstadisticasTabs.EstadisticaLiciURBANTab>

View File

@@ -77,11 +77,6 @@
<label class="tituloLbl">@estadisticasTotales.horasTrabajo.MilesYDecimales() h</label>
</div>
<div class="col-2 formatoCampos pt-2">
<label class="tituloLbl">Horas trabajo:</label>
<label class="tituloLbl">@estadisticasTotales.horasTrabajo.MilesYDecimales() h</label>
</div>
<div class="col-2 formatoCampos pt-2">
<label class="tituloLbl">% externalización:</label>
<label class="tituloLbl">@estadisticasTotales.porcentajeExternalizacion %</label>

View File

@@ -36,12 +36,6 @@
<label class="tituloLbl">Horas trabajo:</label>
<label class="tituloLbl">@estadisticasTotales.horasTrabajo.MilesYDecimales() h</label>
</div>
<div class="col-2 formatoCampos pt-2">
<label class="tituloLbl">Horas trabajo:</label>
<label class="tituloLbl">@estadisticasTotales.horasTrabajo.MilesYDecimales() h</label>
</div>
<div class="col-2 formatoCampos pt-2">
<label class="tituloLbl">Plazo presentación:</label>
<label class="tituloLbl">@estadisticasTotales.plazoPresentacion</label>

View File

@@ -143,7 +143,7 @@
{
@UtilidadesCASA.CreateTooltip(objetoCASA.Enumerados.PuntosInformacion.First(x => x.idPuntosInformacion == 26).Descripcion)
}
<b>Coste hora Despacho Profesional</b>
<b>Coste hora de los trabajos realizados por el despacho profesional</b>
</div>
</div>

View File

@@ -16,27 +16,26 @@
<UsosTipologiaGrid objetoCASA="objetoCASA"></UsosTipologiaGrid>
</CascadingValue>
</div>
<div class="col-md-3">
<div class="col-md-4">
<CascadingValue Value="this">
<FasesTrabajoProfesionalGrid objetoCASA="objetoCASA"></FasesTrabajoProfesionalGrid>
</CascadingValue>
</div>
<div class="col-md-9">
<div class="col-md-8">
<CascadingValue Value="this">
<CoeficientesCorrectoresGrid objetoCASA="objetoCASA"></CoeficientesCorrectoresGrid>
</CascadingValue>
</div>
<div class="col-md-3 col-0">
</div>
<div class="col-md-9 col-12">
<div class="row">
<div class="col-md-6 col-12">
<div class="col-md-4 ">
<CascadingValue Value="this">
<TablaHorasGrid objetoCASA="objetoCASA"></TablaHorasGrid>
<TablaHorasGrid inputsEditables="false" objetoCASA="objetoCASA"></TablaHorasGrid>
</CascadingValue>
</div>
</div>
<div class="col-md-4 ">
<CascadingValue Value="this">
<TablaHorasGrid inputsEditables="true" objetoCASA="objetoCASA"></TablaHorasGrid>
</CascadingValue>
</div>
}
@if (modificarHoras)
@@ -48,7 +47,7 @@
</div>
<div class="col-md-5">
<CascadingValue Value="this">
<TablaHorasGrid objetoCASA="objetoCASA"></TablaHorasGrid>
<TablaHorasGrid inputsEditables="true" objetoCASA="objetoCASA"></TablaHorasGrid>
</CascadingValue>
</div>
}

View File

@@ -1,14 +1,17 @@
<div class="row">
<div class="col-md-6" style="margin-top:50px; width: 100%; display: flex;">
<div class="col-md-6" style="margin-top:50px; width:100%;">
<div class="d-flex justify-content-between mt-3 mb-2">
<div><b>@tituloTabla</b></div>
</div>
<table class="tablaAlter" style="width:100%">
<tr>
<td class="tdAlter TotalesTabla"> HORAS TRABAJO PROFESIONAL EDIFICACIÓN: </td>
<td class="@estiloTabla TotalesTabla"> HORAS TRABAJO PROFESIONAL EDIFICACIÓN: </td>
<td class="tdAlter TotalesTabla tdAlineadoDerecha" style="width: 30%; font-weight:bold;">
@if (!_Parent.modificarHoras)
<td class="@estiloTabla TotalesTabla tdAlineadoDerecha" style="width: 30%; font-weight:bold;">
@if (!inputsEditables)
{
<span>
@objetoCASA.TrabajoProfesional.TotalHorasTPE.MilesYDecimales() h
@objetoCASA.TrabajoProfesional.HorasTPEEstimacion.MilesYDecimales() h
</span>
}
else
@@ -23,10 +26,10 @@
<td class="TotalesTabla">Horas TPE Documentacion </td>
<td class="tdAlineadoDerecha TotalesTabla">
@if (!_Parent.modificarHoras)
@if (!inputsEditables)
{
<span>
@objetoCASA.TrabajoProfesional.HorasTPEDocumentacion.MilesYDecimales() h
@objetoCASA.TrabajoProfesional.HorasTPEDocumentacionEstimacion.MilesYDecimales() h
</span>
}
else
@@ -41,10 +44,10 @@
<td class="TotalesTabla">Horas TPE Dirección de obra </td>
<td class="tdAlineadoDerecha TotalesTabla">
@if (!_Parent.modificarHoras)
@if (!inputsEditables)
{
<span>
@objetoCASA.TrabajoProfesional.HorasTPEDireccion.MilesYDecimales() h
@objetoCASA.TrabajoProfesional.HorasTPEDireccionEstimacion.MilesYDecimales() h
</span>
}
else
@@ -63,9 +66,13 @@
@code {
[CascadingParameter]
public TrabajoProfesional _Parent { get; set; }
[Parameter]
public bool inputsEditables { get; set; }
[Parameter]
public CASA objetoCASA { get; set; } = new CASA();
// private string estiloTabla => _Parent.modificarHoras == true ? "" : "";
private string estiloTabla => inputsEditables == true ? "tdAlter" : "";
private string tituloTabla => inputsEditables == true ? "Horas trabajo profesional Edificación" : "Estimación de horas necesarias";
}

View File

@@ -144,7 +144,7 @@
{
@UtilidadesCASA.CreateTooltip(objetoURBAN.Enumerados.PuntosInformacion.First(x => x.idPuntosInformacion == 51).Descripcion)
}
<b>Coste hora Despacho Profesional</b>
<b>Coste hora de los trabajos realizados por el despacho profesional</b>
</div>
</div>

View File

@@ -27,6 +27,8 @@
<CascadingValue Value="this">
<InstrumentosURBAN objetoURBAN="objetoURBAN"></InstrumentosURBAN>
</CascadingValue>
</div>
</div>
}
@@ -124,7 +126,7 @@ else
await InvokeAsync(StateHasChanged);
}
private async void CalcularWea()
public async void CalcularWea()
{
objetoURBAN.CalcularCostesProduccion();
}

View File

@@ -41,8 +41,17 @@
}
<table class="tablaAlter mt-4" style="width: 100%;">
<tr>
<td class="tdAlter TotalesTabla" style="width: 70%;">HORAS TRABAJO PROFESIONAL URBANISMO: </td>
<td class="tdAlter TotalesTabla tdAlineadoDerecha">@objetoURBAN.TrabajoProfesional.horasTrabProfesional.MilesYDecimales() h</td>
<td class=" TotalesTabla" style="width: 70%;">Estimación de horas necesarias: </td>
<td class=" TotalesTabla tdAlineadoDerecha">@objetoURBAN.TrabajoProfesional.horasTrabProfesionalEstimacion.MilesYDecimales() h</td>
</tr>
<tr>
<td class="TotalesTabla tdAlter" style="width:50%;">Horas del trabajo profesional Urbanismo: </td>
<td class="TotalesTabla tdAlineadoDerecha">
<div class=" d-flex">
<InputNumber TValue="double" @onblur="_Parent.CalcularWea" @bind-Value="@objetoURBAN.TrabajoProfesional.horasTrabProfesional" Min="0" class="inputForm inputTabla tdAlineadoDerecha" />h
</div>
</td>
</tr>
</table>

View File

@@ -59,7 +59,7 @@
<div class="row">
<div class="col-md-6 mt-3 mb-2">
<div><b>Convenio Colectivo:</b></div>
@* <div><b>Convenio Colectivo:</b></div>
<InputSelect @bind-Value="@objetoLicitaciones.idProvincia" class="inputForm" @oninput="e => CalcularTabla(e.Value.ToString())" style="width: 225px;">
<option value="">Estatal</option>
<option value="04">Almería</option>
@@ -70,7 +70,8 @@
<option value="29">Málaga</option>
<option value="41">Sevilla</option>
</InputSelect>
</div>
*@
</div>
<div class="col-md-12 d-flex mt-3" style="gap: 40px;">
<RadioInput style="margin-right: 10px;" Label="Cálculo por superficie y uso" Value="modificarTabla" ValueExpression="() => modificarTabla" ValueChanged="(value) => modificarTablaChanged(value)" />
<RadioInput style="margin-right: 10px;" Label="Cálculo por tiempo" Value="modificarHoras" ValueExpression="() => modificarHoras" ValueChanged="(value) => modificarHorasChanged(value)" />

View File

@@ -40,27 +40,34 @@
</div>
</td>
</tr>
@if (objetoLicitaciones.EsPorUsos == true)
{
<tr>
<td class="colorB w4">Estimación de horas necesarias</td>
<td class="text-end">
<span>
@objetoLicitaciones.horasProduccionEstimacion.MilesYDecimales() h
</span>
</td>
</tr>
}
<tr>
<td class="colorB w4">Coste hora de producción</td>
<td class="text-end"><span>@objetoLicitaciones.costeHoraProduccion.MilesYDecimales() €/h</span>
<td class="colorB w4">Horas del trabajo profesional Edificación</td>
<td class="text-end">
<div class="d-flex" style="gap: 3px;">
<InputNumber TValue="double" @onblur="calcularHoras" @bind-Value="@objetoLicitaciones.horasProduccion" Min="0" class="inputForm inputTabla tdAlineadoDerecha" />h
</div>
</td>
</tr>
<tr>
<td class="colorB w4">Horas Trabajo profesional</td>
<td class="text-end">
@if (objetoLicitaciones.EsPorUsos)
{
<span>
@objetoLicitaciones.horasProduccion.MilesYDecimales() h
</span>
}
else
{
<div class="d-flex" style="gap: 3px;">
<InputNumber TValue="double" @onblur="objetoLicitaciones.CalcularHorasSuperficie" @bind-Value="@objetoLicitaciones.horasProduccion" Min="0" class="inputForm inputTabla tdAlineadoDerecha" />h
</div>
}
<td class="colorB w4">Coste hora de producción</td>
<td class="text-end"><span>@objetoLicitaciones.costeHoraProduccion.MilesYDecimales() €/h</span>
</td>
</tr>
@@ -144,4 +151,15 @@
PlazoPresentacionDocumentosCambiado(objetoLicitaciones.PlazoPresentacionDocumentos);
}
private void calcularHoras()
{
bool guardarSeleccion = objetoLicitaciones.EsPorUsos;
objetoLicitaciones.EsPorUsos = false;
objetoLicitaciones.CalcularHorasSuperficie();
objetoLicitaciones.EsPorUsos = guardarSeleccion;
}
}

View File

@@ -55,7 +55,8 @@
</div>
<div class="row">
<div class="col-md-6 mt-3 mb-2">
<div><b>Convenio Colectivo:</b></div>
@*
<div><b>Convenio Colectivo:</b></div>
<InputSelect @bind-Value="@objetoLicitacionUrban.idProvincia" class="inputForm" @oninput="e => CalcularTabla(e.Value.ToString())" style="width: 225px;">
<option value="">Estatal</option>
<option value="04">Almería</option>
@@ -65,7 +66,8 @@
<option value="15">Huelva</option>
<option value="29">Málaga</option>
<option value="41">Sevilla</option>
</InputSelect>
</InputSelect>
*@
</div>
</div>
<div class="col-md-12 d-flex mt-3" style="gap: 40px;">
@@ -127,27 +129,35 @@
</div>
</td>
</tr>
@if (objetoLicitacionUrban.EsPorUsos == true)
{
<tr>
<td style="width:50%;">Estimación de horas necesarias </td>
<td class="tdAlineadoDerecha">
<span>
@objetoLicitacionUrban.TrabajoProfesional.horasTrabProfesionalEstimacion.MilesYDecimales() h
</span>
</td>
</tr>
}
<tr>
<td class="" style="width:50%;">Horas trabajo profesional Urbanismo</td>
<td class=" tdAlineadoDerecha">
<div class="d-flex" style="gap: 3px;">
<InputNumber TValue="double" @onblur="calcularHoras" @bind-Value="@objetoLicitacionUrban.TrabajoProfesional.horasTrabProfesional" Min="0" class="inputForm inputTabla tdAlineadoDerecha" />h
</div>
</td>
</tr>
<tr>
<td class="colorB w4">Coste hora de producción</td>
<td class="text-end columna40Ancho"><span> @objetoLicitacionUrban.CosteHP.MilesYDecimales() €/hora</span></td>
</tr>
<tr>
<td style="width:50%;">Horas Trabajo Profesional </td>
<td class="tdAlineadoDerecha">
@if (objetoLicitacionUrban.EsPorUsos)
{
<span>
@objetoLicitacionUrban.TrabajoProfesional.horasTrabProfesional.MilesYDecimales() h
</span>
}
else
{
<div class="d-flex" style="gap: 3px;">
<InputNumber TValue="double" @onblur="objetoLicitacionUrban.CalcularHorasTrabajoProfesional" @bind-Value="@objetoLicitacionUrban.TrabajoProfesional.horasTrabProfesional" Min="0" class="inputForm inputTabla tdAlineadoDerecha" />h
</div>
}
</td>
</tr>
<tr>
<td class="w4 tdAlter fw-bold TotalesTabla">COSTE DE PRODUCCIÓN DEL TRABAJO PROFESIONAL</td>
<td class="text-end columna40Ancho tdAlter TotalesTabla"><span> @objetoLicitacionUrban.CostesProduccionTrabProf.MilesYDecimales() €</span></td>
@@ -341,7 +351,7 @@
}
else
{
idSimulador = crearSimulacion(jsonObjeto).ToString();
idSimulador = crearSimulacion(jsonObjeto).ToString();
}
}
else
@@ -498,7 +508,7 @@
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css' rel='stylesheet' integrity='sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN' crossorigin='anonymous'>
</head>
<body>
{contenidoHtml}
{contenidoHtml}
</body>
</html>";
@@ -559,4 +569,16 @@
await JS.InvokeVoidAsync("mostrarPdf", Convert.ToBase64String(pdfBytes));
}
private void calcularHoras()
{
bool guardarSeleccion = objetoLicitacionUrban.EsPorUsos;
objetoLicitacionUrban.EsPorUsos = false;
objetoLicitacionUrban.CalcularHorasTrabajoProfesional();
objetoLicitacionUrban.EsPorUsos = guardarSeleccion;
}
}

View File

@@ -456,6 +456,11 @@ namespace bdHerramientaCACOA
double totalHorasTPEDireccion = CalcularHorasTPEDireccion();
TrabajoProfesional.HorasTPEDireccion = double.IsNaN(totalHorasTPEDireccion) ? 0 : totalHorasTPEDireccion;
TrabajoProfesional.TotalHorasTPE = totalHorasTPEDocu + totalHorasTPEDireccion;
TrabajoProfesional.HorasTPEEstimacion = TrabajoProfesional.HorasTPE;
TrabajoProfesional.HorasTPEDocumentacionEstimacion = TrabajoProfesional.HorasTPEDocumentacion;
TrabajoProfesional.HorasTPEDireccionEstimacion = TrabajoProfesional.HorasTPEDireccion;
CalcularCostesProduccion();
}
public void CalcularHorasTPEManual(double horasDocu, double horasDireccion)
@@ -818,8 +823,10 @@ namespace bdHerramientaCACOA
public double HorasTPEDocumentacion { get; set; } = 0;
public double HorasTPEDireccion { get; set; } = 0;
public double HorasTPEEstimacion { get; set; } = 0;
public double HorasTPEDocumentacionEstimacion { get; set; } = 0;
public double HorasTPEDireccionEstimacion { get; set; } = 0;
}
public class UsosTipologia
{

View File

@@ -21,6 +21,7 @@ namespace bdHerramientaCACOA.HerramientaURBAN
public double valorInstrumentos { get; set; } = 0;
public double horasTrabProfesional { get; set; } = 0;
public double horasTrabProfesionalEstimacion { get; set; } = 0;
public bool EsPorUsos { get; set; } = true;
@@ -56,6 +57,7 @@ namespace bdHerramientaCACOA.HerramientaURBAN
double porcentajeInnovacion = TrabajoProfesional.valorInstrumentos;
TrabajoProfesional.horasTrabProfesional = (valorhoras * (totalEncargo / 100) * (porcentajeInnovacion / 100)).DosDecimales();
TrabajoProfesional.horasTrabProfesionalEstimacion = TrabajoProfesional.horasTrabProfesional;
CalcularCostesProduccion();
}

View File

@@ -57,19 +57,7 @@ namespace bdHerramientaCACOA
public bool EsPorUsos { get; set; } = true;
public double CostesProduccionTrabProf { get; set; } = 0;
double _beneficio = 19;
public double Beneficio
{
get
{
return _beneficio;
}
//set
//{
// _beneficio = value;
// CalcularHorasSuperficie();
//}
}
public double Beneficio { get; set; } = 19;
public double PrecioTrabProf { get; set; } = 0;
@@ -86,6 +74,8 @@ namespace bdHerramientaCACOA
Variables.HorasProduccionMedia = (int)bd.enumeraciones.First(x => x.Codigo == "VARCASA.HORPRODMEDIA").ValorNumerico1;
Variables.IPCCosteIndirecto = (double) bd.enumeraciones.First(x => x.Codigo == "VARCASA.IPCCD").ValorNumerico1;
Beneficio = (double)bd.enumeraciones.First(x => x.Codigo == "VARCASA.GG+BI").ValorNumerico1;
idGradSup = bd.enumeraciones.First(x => x.Codigo == "PUESTOTRABAJO.TECGRADSUP").idEnumeracion;
idGradMed = bd.enumeraciones.First(x => x.Codigo == "PUESTOTRABAJO.GESTPROY").idEnumeracion;
@@ -201,6 +191,7 @@ namespace bdHerramientaCACOA
public double coefIntervencionTotal { get; set; } = 0;
public double fasesEncargadas { get; set; } = 0;
public double horasProduccion { get; set; } = 0;
public double horasProduccionEstimacion { get; set; } = 0;
public double horasPorcentaje { get; set; } = 0;
public double horasDocumentacion { get; set; } = 0;
public double plazoMedio { get; set; } = 0;
@@ -247,6 +238,8 @@ namespace bdHerramientaCACOA
// COMPROBAR SI ESTO ESTÁ BIEN, SINO EL COSTE HORA DE PRODUCCIÓN NO CAMBIA
horasPorcentaje = FasesTrabajo.Where(x=>x.Seleccionado).Sum(x => x.Porcentaje);
horasDocumentacion = Math.Round(superficie * coefSupTotal * coefTipoTotal * coefIntervencionTotal * (horasPorcentaje / 100), 2, MidpointRounding.AwayFromZero);
horasProduccionEstimacion = horasProduccion;
}
else {

View File

@@ -82,6 +82,7 @@ namespace bdHerramientaCACOA
Variables.JornadaLaboral = (int)bd.enumeraciones.First(x => x.Codigo == "VARCASA.JORLABANUAL").ValorNumerico1;
Variables.HorasProduccionMedia = (int) bd.enumeraciones.First(x => x.Codigo == "VARCASA.HORPRODMEDIA").ValorNumerico1;
Variables.IPCCosteIndirecto = (double)bd.enumeraciones.First(x => x.Codigo == "VARCASA.IPCCD").ValorNumerico1;
Beneficio = (double)bd.enumeraciones.First(x => x.Codigo == "VARCASA.GG+BI").ValorNumerico1;
idGradSup = bd.enumeraciones.First(x => x.Codigo == "PUESTOTRABAJO.TECGRADSUP").idEnumeracion;
idGradMed = bd.enumeraciones.First(x => x.Codigo == "PUESTOTRABAJO.GESTPROY").idEnumeracion;
@@ -187,8 +188,8 @@ namespace bdHerramientaCACOA
CosteHP = ((CD+CI)*(1+CV)).DosDecimales();
CostesProduccionTrabProf = (TrabajoProfesional.horasTrabProfesional*CosteHP).DosDecimales();
Beneficio = 0.19;
PrecioDelTrabajo = (CostesProduccionTrabProf*(1+Beneficio)).DosDecimales();
//Beneficio = 0.19;
PrecioDelTrabajo = (CostesProduccionTrabProf*(1+(Beneficio/100))).DosDecimales();
}
private double ObtenerCDTabla(double horas)
@@ -252,6 +253,7 @@ namespace bdHerramientaCACOA
double porcentajeInnovacion = TrabajoProfesional.valorInstrumentos;
TrabajoProfesional.horasTrabProfesional = (valorhoras * (totalEncargo / 100) * (porcentajeInnovacion / 100)).DosDecimales();
TrabajoProfesional.horasTrabProfesionalEstimacion = TrabajoProfesional.horasTrabProfesional;
}
else {