Compare commits
4 Commits
8fd4c26c06
...
44098efd88
| Author | SHA1 | Date | |
|---|---|---|---|
| 44098efd88 | |||
| d180046348 | |||
| d75634b07e | |||
| 811b8fc0c0 |
@@ -53,7 +53,7 @@
|
|||||||
<tfoot>
|
<tfoot>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2" class="text-end colorC fw-bold w4 TotalesTabla">
|
<td colspan="2" class="text-end colorC fw-bold w4 TotalesTabla">
|
||||||
Total horas del trabajo profesional: <span>@objetoURBAN.CostesProduccion.HorasTrabajoProfesional.MilesYDecimales() h </span>
|
Total horas del trabajo profesional: <span>@((objetoURBAN.CostesProduccion.HorasEnPlazo + objetoURBAN.CostesProduccion.NumHorasMinimoExt).MilesYDecimales()) h </span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tfoot>
|
</tfoot>
|
||||||
|
|||||||
@@ -3,16 +3,21 @@
|
|||||||
@inject NavigationManager Navigation
|
@inject NavigationManager Navigation
|
||||||
@using HerramientaCASA.Components.Pages.HerramientaURBANTabs.TrabajoProfURBAN
|
@using HerramientaCASA.Components.Pages.HerramientaURBANTabs.TrabajoProfURBAN
|
||||||
@using bdHerramientaCACOA.HerramientaURBAN
|
@using bdHerramientaCACOA.HerramientaURBAN
|
||||||
|
<div class="col-md-12 d-flex mt-3" style="gap: 40px;">
|
||||||
<div class="row p-0 m-0">
|
<RadioInput style="margin-right: 10px;" Label="Cálculo completo" 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)" />
|
||||||
|
</div>
|
||||||
|
@if (modificarTabla)
|
||||||
|
{
|
||||||
|
<div class="row p-0 m-0">
|
||||||
<div class="col-md-12 mt-3 mb-3">
|
<div class="col-md-12 mt-3 mb-3">
|
||||||
<CascadingValue Value="this">
|
<CascadingValue Value="this">
|
||||||
<DocumentosURBAN objetoURBAN="objetoURBAN"></DocumentosURBAN>
|
<DocumentosURBAN objetoURBAN="objetoURBAN"></DocumentosURBAN>
|
||||||
</CascadingValue>
|
</CascadingValue>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row p-0 m-0">
|
<div class="row p-0 m-0">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<CascadingValue Value="this">
|
<CascadingValue Value="this">
|
||||||
<FasesURBAN objetoURBAN="objetoURBAN"></FasesURBAN>
|
<FasesURBAN objetoURBAN="objetoURBAN"></FasesURBAN>
|
||||||
@@ -23,14 +28,36 @@
|
|||||||
<InstrumentosURBAN objetoURBAN="objetoURBAN"></InstrumentosURBAN>
|
<InstrumentosURBAN objetoURBAN="objetoURBAN"></InstrumentosURBAN>
|
||||||
</CascadingValue>
|
</CascadingValue>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<div class="row p-0 m-0">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<CascadingValue Value="this">
|
||||||
|
<FasesURBAN objetoURBAN="objetoURBAN"></FasesURBAN>
|
||||||
|
</CascadingValue>
|
||||||
|
<table class="tablaAlter mt-4" style="width: 100%;">
|
||||||
|
<tr>
|
||||||
|
<td class="tdAlter" style="width:50%;">HORAS TRABAJO PROFESIONAL URBANISMO: </td>
|
||||||
|
<td class="tdAlineadoDerecha">
|
||||||
|
<div class=" d-flex">
|
||||||
|
<InputNumber TValue="double" @onblur="CalcularWea" @bind-Value="@objetoURBAN.TrabajoProfesional.horasTrabProfesional" Min="0" class="inputForm inputTabla tdAlineadoDerecha" />h
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public URBAN objetoURBAN { get; set; } = new URBAN();
|
public URBAN objetoURBAN { get; set; } = new URBAN();
|
||||||
|
|
||||||
public tsHerramientasCACOA bd;
|
public tsHerramientasCACOA bd;
|
||||||
|
public bool modificarTabla = true;
|
||||||
|
public bool modificarHoras = false;
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
||||||
@@ -39,4 +66,40 @@
|
|||||||
{
|
{
|
||||||
this.StateHasChanged();
|
this.StateHasChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
objetoURBAN.TrabajoProfesional.EsPorUsos = true;
|
||||||
|
//objetoLicitaciones.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;
|
||||||
|
objetoURBAN.TrabajoProfesional.EsPorUsos = false;
|
||||||
|
//objetoLicitaciones.CalcularHorasSuperficie();
|
||||||
|
await InvokeAsync(StateHasChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void CalcularWea()
|
||||||
|
{
|
||||||
|
objetoURBAN.CalcularCostesProduccion();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6 mt-3 mb-2">
|
<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())">
|
<InputSelect @bind-Value="@objetoLicitaciones.idProvincia" class="inputForm" @oninput="e => CalcularTabla(e.Value.ToString())" style="width: 225px;">
|
||||||
<option value="">Estatal</option>
|
<option value="">Estatal</option>
|
||||||
<option value="04">Almería</option>
|
<option value="04">Almería</option>
|
||||||
<option value="11">Cádiz</option>
|
<option value="11">Cádiz</option>
|
||||||
@@ -69,16 +69,22 @@
|
|||||||
<option value="41">Sevilla</option>
|
<option value="41">Sevilla</option>
|
||||||
</InputSelect>
|
</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)" />
|
||||||
|
</div>
|
||||||
|
@if (modificarTabla)
|
||||||
|
{
|
||||||
<div class="col-md-12 mt-3 mb-5">
|
<div class="col-md-12 mt-3 mb-5">
|
||||||
<CascadingValue Value="this">
|
<CascadingValue Value="this">
|
||||||
<TrabajoProfLicitacionesGrid objetoLicitaciones="objetoLicitaciones"></TrabajoProfLicitacionesGrid>
|
<TrabajoProfLicitacionesGrid objetoLicitaciones="objetoLicitaciones"></TrabajoProfLicitacionesGrid>
|
||||||
</CascadingValue>
|
</CascadingValue>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
<div class="col-md-3" >
|
|
||||||
<CascadingValue Value="this">
|
<CascadingValue Value="this">
|
||||||
<FasesTrabajoLicitaciones objetoLicitaciones="objetoLicitaciones"></FasesTrabajoLicitaciones>
|
<FasesTrabajoLicitaciones objetoLicitaciones="objetoLicitaciones"></FasesTrabajoLicitaciones>
|
||||||
</CascadingValue>
|
</CascadingValue>
|
||||||
@@ -122,7 +128,7 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div> *@
|
</div> *@
|
||||||
<div class="pt-5" style="margin-top:2000px;">
|
<div class="pt-5 d-none" style="margin-top:2000px;">
|
||||||
<p><b>Datos configuración para revisión de datos</b></p>
|
<p><b>Datos configuración para revisión de datos</b></p>
|
||||||
<b>superficie</b> @objetoLicitaciones.superficie;<br />
|
<b>superficie</b> @objetoLicitaciones.superficie;<br />
|
||||||
<b>Coef sup total</b> @objetoLicitaciones.coefSupTotal; (sin redondeo:@objetoLicitaciones.coefsinredondeo)<br />
|
<b>Coef sup total</b> @objetoLicitaciones.coefSupTotal; (sin redondeo:@objetoLicitaciones.coefsinredondeo)<br />
|
||||||
@@ -143,7 +149,7 @@
|
|||||||
<b>tasa costes var</b> @objetoLicitaciones.tasaCostesVariables;<br />
|
<b>tasa costes var</b> @objetoLicitaciones.tasaCostesVariables;<br />
|
||||||
<b>coste hora prod</b> @objetoLicitaciones.costeHoraProduccion;
|
<b>coste hora prod</b> @objetoLicitaciones.costeHoraProduccion;
|
||||||
</div>
|
</div>
|
||||||
<div class="pt-5">
|
<div class="pt-5 d-none">
|
||||||
<b>Tabla CD+CI para visualizacion de datos, se quitara cuando se vea que los calculos son correctos</b><br />
|
<b>Tabla CD+CI para visualizacion de datos, se quitara cuando se vea que los calculos son correctos</b><br />
|
||||||
<b>IPC Coste Indirecto:</b>@objetoLicitaciones.Variables.IPCCosteIndirecto;<br />
|
<b>IPC Coste Indirecto:</b>@objetoLicitaciones.Variables.IPCCosteIndirecto;<br />
|
||||||
<Grid TItem="CosteDirectoIndirecto"
|
<Grid TItem="CosteDirectoIndirecto"
|
||||||
@@ -210,6 +216,9 @@
|
|||||||
|
|
||||||
private int idUser = 0;
|
private int idUser = 0;
|
||||||
|
|
||||||
|
public bool modificarTabla = true;
|
||||||
|
public bool modificarHoras = false;
|
||||||
|
|
||||||
public Licitaciones()
|
public Licitaciones()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -435,6 +444,40 @@
|
|||||||
Navigation.NavigateTo(pdfUrl, true);
|
Navigation.NavigateTo(pdfUrl, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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;
|
||||||
|
objetoLicitaciones.EsPorUsos = true;
|
||||||
|
objetoLicitaciones.horasProduccion = 0;
|
||||||
|
objetoLicitaciones.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;
|
||||||
|
objetoLicitaciones.EsPorUsos = false;
|
||||||
|
objetoLicitaciones.CalcularHorasSuperficie();
|
||||||
|
await InvokeAsync(StateHasChanged);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -33,15 +33,28 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="colorB fw-bold w4">Coste hora de producción</td>
|
<td class="colorB fw-bold w4">Coste hora de producción</td>
|
||||||
<td class="text-end"><span> @objetoLicitaciones.costeHoraProduccion.MilesYDecimales() €</span></td>
|
<td class="text-end"><span>@objetoLicitaciones.costeHoraProduccion.MilesYDecimales() h</span>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="colorB fw-bold w4">Horas Trabajo profesional</td>
|
<td class="colorB fw-bold w4">Horas Trabajo profesional</td>
|
||||||
<td class="text-end"><span> @objetoLicitaciones.horasProduccion.MilesYDecimales() €</span></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>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -14,17 +14,17 @@
|
|||||||
|
|
||||||
<Toasts class="p-3 font-weight-bold" Style="color:white;" AutoHide="true" Delay="4000" Messages="mensajes" Placement="ToastsPlacement.BottomCenter" />
|
<Toasts class="p-3 font-weight-bold" Style="color:white;" AutoHide="true" Delay="4000" Messages="mensajes" Placement="ToastsPlacement.BottomCenter" />
|
||||||
|
|
||||||
<p class="TituloVentana">
|
<p class="TituloVentana">
|
||||||
@TextoSuperior
|
@TextoSuperior
|
||||||
</p>
|
</p>
|
||||||
@if (!actualizado)
|
@if (!actualizado)
|
||||||
{
|
{
|
||||||
<div class="UpdateCacoa d-flex">
|
<div class="UpdateCacoa d-flex">
|
||||||
<span>Esta simulación utiliza valores desactualizados. ¿Quiere Realizar una copia actualizada?</span>
|
<span>Esta simulación utiliza valores desactualizados. ¿Quiere Realizar una copia actualizada?</span>
|
||||||
<button @onclick="@(() => clonarUrban())" class="btnBlue ms-auto">Actualizar</button>
|
<button @onclick="@(() => clonarUrban())" class="btnBlue ms-auto">Actualizar</button>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
<Modal @ref="popupGuardar" title="@TituloBoton" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false">
|
<Modal @ref="popupGuardar" title="@TituloBoton" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false">
|
||||||
<BodyTemplate>
|
<BodyTemplate>
|
||||||
<div class="col-12 formatoCampos">
|
<div class="col-12 formatoCampos">
|
||||||
|
|
||||||
@@ -42,17 +42,17 @@
|
|||||||
<Button Color="ButtonColor.Secondary" @onclick="cerrarPopupGuardar">Cerrar</Button>
|
<Button Color="ButtonColor.Secondary" @onclick="cerrarPopupGuardar">Cerrar</Button>
|
||||||
<Button @onclick="@(() => guardarUrban())" Color="ButtonColor.Primary">@TituloBoton</Button>
|
<Button @onclick="@(() => guardarUrban())" Color="ButtonColor.Primary">@TituloBoton</Button>
|
||||||
</FooterTemplate>
|
</FooterTemplate>
|
||||||
</Modal>
|
</Modal>
|
||||||
<div class="container-fluid pt-3">
|
<div class="container-fluid pt-3">
|
||||||
<div class="d-flex" style="width:100%">
|
<div class="d-flex" style="width:100%">
|
||||||
<button @onclick="@(() => abrirPopupGuardar())" class="btnBlue d-flex align-items-center"> <i class="fas fa-save pe-2"></i>@TituloBoton</button>
|
<button @onclick="@(() => abrirPopupGuardar())" class="btnBlue d-flex align-items-center"> <i class="fas fa-save pe-2"></i>@TituloBoton</button>
|
||||||
<b class="Fuente2 ps-2 pe-2 nomSim">Nombre de la licitación: </b>
|
<b class="Fuente2 ps-2 pe-2 nomSim">Nombre de la licitación: </b>
|
||||||
<InputText @bind-Value="objetoLicitacionUrban.NombreSimulacion" class="form-control inputForm formatoMoneda inputTabla " style="text-align:left;font-weight:bold;"></InputText>
|
<InputText @bind-Value="objetoLicitacionUrban.NombreSimulacion" class="form-control inputForm formatoMoneda inputTabla " style="text-align:left;font-weight:bold;"></InputText>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6 mt-3 mb-2">
|
<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())">
|
<InputSelect @bind-Value="@objetoLicitacionUrban.idProvincia" class="inputForm" @oninput="e => CalcularTabla(e.Value.ToString())" style="width: 225px;">
|
||||||
<option value="">Estatal</option>
|
<option value="">Estatal</option>
|
||||||
<option value="04">Almería</option>
|
<option value="04">Almería</option>
|
||||||
<option value="11">Cádiz</option>
|
<option value="11">Cádiz</option>
|
||||||
@@ -63,18 +63,22 @@
|
|||||||
<option value="41">Sevilla</option>
|
<option value="41">Sevilla</option>
|
||||||
</InputSelect>
|
</InputSelect>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-12 d-flex mt-3" style="gap: 40px;">
|
||||||
|
<RadioInput style="margin-right: 10px;" Label="Cálculo Completo" Value="modificarTabla" ValueExpression="() => modificarTabla" ValueChanged="(value) => modificarTablaChanged(value)" />
|
||||||
<div class="row p-0 m-0">
|
<RadioInput style="margin-right: 10px;" Label="Cálculo por tiempo" Value="modificarHoras" ValueExpression="() => modificarHoras" ValueChanged="(value) => modificarHorasChanged(value)" />
|
||||||
|
</div>
|
||||||
|
@if (modificarTabla)
|
||||||
|
{
|
||||||
|
<div class="row">
|
||||||
<div class="col-md-12 mt-3 mb-3">
|
<div class="col-md-12 mt-3 mb-3">
|
||||||
<CascadingValue Value="this">
|
<CascadingValue Value="this">
|
||||||
<DocumentosLicitacion objetoLicitacionUrban="objetoLicitacionUrban"></DocumentosLicitacion>
|
<DocumentosLicitacion objetoLicitacionUrban="objetoLicitacionUrban"></DocumentosLicitacion>
|
||||||
</CascadingValue>
|
</CascadingValue>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
}
|
||||||
<div class="row p-0 m-0">
|
<div class="row">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<CascadingValue Value="this">
|
<CascadingValue Value="this">
|
||||||
<FasesLicitacionesUrban objetoLicitacionUrban="objetoLicitacionUrban"></FasesLicitacionesUrban>
|
<FasesLicitacionesUrban objetoLicitacionUrban="objetoLicitacionUrban"></FasesLicitacionesUrban>
|
||||||
@@ -120,7 +124,20 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="tdAlter" style="width:50%;">Horas Trabajo Profesional </td>
|
<td class="tdAlter" style="width:50%;">Horas Trabajo Profesional </td>
|
||||||
<td class="tdAlineadoDerecha">@objetoLicitacionUrban.TrabajoProfesional.horasTrabProfesional.MilesYDecimales() h</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>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="colorB fw-bold w4">Coste de producción del Trabajo Profesional</td>
|
<td class="colorB fw-bold w4">Coste de producción del Trabajo Profesional</td>
|
||||||
@@ -150,7 +167,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pt-5" style="margin-top:2000px;">
|
<div class="pt-5 d-none" style="margin-top:2000px;">
|
||||||
<b>Tabla CD+CI para visualizacion de datos, se quitara cuando se vea que los calculos son correctos</b><br />
|
<b>Tabla CD+CI para visualizacion de datos, se quitara cuando se vea que los calculos son correctos</b><br />
|
||||||
<b>IPC Coste Indirecto:</b>@objetoLicitacionUrban.Variables.IPCCosteIndirecto;<br />
|
<b>IPC Coste Indirecto:</b>@objetoLicitacionUrban.Variables.IPCCosteIndirecto;<br />
|
||||||
<Grid TItem="CosteDirectoIndirecto"
|
<Grid TItem="CosteDirectoIndirecto"
|
||||||
@@ -214,6 +231,9 @@
|
|||||||
|
|
||||||
private int idUser = 0;
|
private int idUser = 0;
|
||||||
|
|
||||||
|
public bool modificarTabla = true;
|
||||||
|
public bool modificarHoras = false;
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -405,5 +425,37 @@
|
|||||||
{
|
{
|
||||||
await popupGuardar.HideAsync();
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ namespace bdHerramientaCACOA.HerramientaURBAN
|
|||||||
|
|
||||||
public double horasTrabProfesional { get; set; } = 0;
|
public double horasTrabProfesional { get; set; } = 0;
|
||||||
|
|
||||||
|
public bool EsPorUsos { get; set; } = true;
|
||||||
|
|
||||||
public List<DocumentacionURBAN> DocumentacionMinima { get; set; } = new List<DocumentacionURBAN>();
|
public List<DocumentacionURBAN> DocumentacionMinima { get; set; } = new List<DocumentacionURBAN>();
|
||||||
|
|
||||||
public List<DocumentacionURBAN> DocumentacionOpcional { get; set; } = new List<DocumentacionURBAN>();
|
public List<DocumentacionURBAN> DocumentacionOpcional { get; set; } = new List<DocumentacionURBAN>();
|
||||||
@@ -54,6 +56,7 @@ namespace bdHerramientaCACOA.HerramientaURBAN
|
|||||||
double porcentajeInnovacion = TrabajoProfesional.valorInstrumentos;
|
double porcentajeInnovacion = TrabajoProfesional.valorInstrumentos;
|
||||||
|
|
||||||
TrabajoProfesional.horasTrabProfesional = (valorhoras * (totalEncargo / 100) * (porcentajeInnovacion / 100)).DosDecimales();
|
TrabajoProfesional.horasTrabProfesional = (valorhoras * (totalEncargo / 100) * (porcentajeInnovacion / 100)).DosDecimales();
|
||||||
|
CalcularCostesProduccion();
|
||||||
}
|
}
|
||||||
|
|
||||||
public double ObtenerHoraTipoDocumento()
|
public double ObtenerHoraTipoDocumento()
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ namespace bdHerramientaCACOA
|
|||||||
|
|
||||||
public double IncrementoUrgencia { get; set; } = 0;
|
public double IncrementoUrgencia { get; set; } = 0;
|
||||||
public double PlazoPresentacionDocumentos { get; set; } = 0;
|
public double PlazoPresentacionDocumentos { get; set; } = 0;
|
||||||
|
public bool EsPorUsos { get; set; } = true;
|
||||||
public double CostesProduccionTrabProf { get; set; } = 0;
|
public double CostesProduccionTrabProf { get; set; } = 0;
|
||||||
|
|
||||||
double _beneficio = 19;
|
double _beneficio = 19;
|
||||||
@@ -208,7 +208,7 @@ namespace bdHerramientaCACOA
|
|||||||
public void CalcularHorasSuperficie() {
|
public void CalcularHorasSuperficie() {
|
||||||
// calcular superficie total
|
// calcular superficie total
|
||||||
superficie = Usos.Sum(x => x.superficie);
|
superficie = Usos.Sum(x => x.superficie);
|
||||||
if (superficie > 0) {
|
if (superficie > 0 || !EsPorUsos) {
|
||||||
// calcular coef superficie total
|
// calcular coef superficie total
|
||||||
coefsinredondeo = -0.1375 * Math.Log(superficie) + 2.4;
|
coefsinredondeo = -0.1375 * Math.Log(superficie) + 2.4;
|
||||||
coefSupTotal = Math.Round( coefsinredondeo,2, MidpointRounding.AwayFromZero);
|
coefSupTotal = Math.Round( coefsinredondeo,2, MidpointRounding.AwayFromZero);
|
||||||
@@ -232,11 +232,17 @@ namespace bdHerramientaCACOA
|
|||||||
fasesEncargadas = FasesTrabajo.Where(x=>x.Seleccionado).Sum(x=> x.Porcentaje);
|
fasesEncargadas = FasesTrabajo.Where(x=>x.Seleccionado).Sum(x=> x.Porcentaje);
|
||||||
|
|
||||||
// calcular horas produccion trabajo profesional
|
// calcular horas produccion trabajo profesional
|
||||||
horasProduccion = Math.Round((superficie*coefSupTotal*coefTipoTotal*coefIntervencionTotal*(fasesEncargadas/100)), 2, MidpointRounding.AwayFromZero); ;
|
if (EsPorUsos)
|
||||||
|
{
|
||||||
|
horasProduccion = Math.Round((superficie * coefSupTotal * coefTipoTotal * coefIntervencionTotal * (fasesEncargadas / 100)), 2, MidpointRounding.AwayFromZero);
|
||||||
// calcular horas elaboracion documentacion
|
// 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) ;
|
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);
|
horasDocumentacion = Math.Round(superficie * coefSupTotal * coefTipoTotal * coefIntervencionTotal * (horasPorcentaje / 100), 2, MidpointRounding.AwayFromZero);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
horasDocumentacion = horasProduccion;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// calcular plazo medio(meses) esto hay que preguntarlo
|
// calcular plazo medio(meses) esto hay que preguntarlo
|
||||||
plazoMedio = 3;
|
plazoMedio = 3;
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ namespace bdHerramientaCACOA
|
|||||||
public double Beneficio { get; set; } = 19;
|
public double Beneficio { get; set; } = 19;
|
||||||
public double PrecioDelTrabajo { get; set; } = 0;
|
public double PrecioDelTrabajo { get; set; } = 0;
|
||||||
|
|
||||||
|
public bool EsPorUsos { get; set; } = true;
|
||||||
|
|
||||||
private URBANTrabajoProfesional _TrabajoProfesional = new URBANTrabajoProfesional();
|
private URBANTrabajoProfesional _TrabajoProfesional = new URBANTrabajoProfesional();
|
||||||
public URBANTrabajoProfesional TrabajoProfesional
|
public URBANTrabajoProfesional TrabajoProfesional
|
||||||
{
|
{
|
||||||
@@ -219,12 +221,18 @@ namespace bdHerramientaCACOA
|
|||||||
CalcularHorasTrabajoProfesional();
|
CalcularHorasTrabajoProfesional();
|
||||||
}
|
}
|
||||||
public void CalcularHorasTrabajoProfesional()
|
public void CalcularHorasTrabajoProfesional()
|
||||||
|
{
|
||||||
|
if (EsPorUsos)
|
||||||
{
|
{
|
||||||
double valorhoras = ObtenerHoraTipoDocumento();
|
double valorhoras = ObtenerHoraTipoDocumento();
|
||||||
double totalEncargo = TrabajoProfesional.FasesTrabajoProfesional.Sum(x => x.Porcentaje);
|
double totalEncargo = TrabajoProfesional.FasesTrabajoProfesional.Sum(x => x.Porcentaje);
|
||||||
double porcentajeInnovacion = TrabajoProfesional.valorInstrumentos;
|
double porcentajeInnovacion = TrabajoProfesional.valorInstrumentos;
|
||||||
|
|
||||||
TrabajoProfesional.horasTrabProfesional = (valorhoras * (totalEncargo / 100) * (porcentajeInnovacion / 100)).DosDecimales();
|
TrabajoProfesional.horasTrabProfesional = (valorhoras * (totalEncargo / 100) * (porcentajeInnovacion / 100)).DosDecimales();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
}
|
||||||
CalcularLicitacion();
|
CalcularLicitacion();
|
||||||
}
|
}
|
||||||
public double ObtenerHoraTipoDocumento()
|
public double ObtenerHoraTipoDocumento()
|
||||||
|
|||||||
Reference in New Issue
Block a user