Compare commits
4 Commits
8fd4c26c06
...
44098efd88
| Author | SHA1 | Date | |
|---|---|---|---|
| 44098efd88 | |||
| d180046348 | |||
| d75634b07e | |||
| 811b8fc0c0 |
@@ -53,7 +53,7 @@
|
||||
<tfoot>
|
||||
<tr>
|
||||
<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>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
@@ -3,34 +3,61 @@
|
||||
@inject NavigationManager Navigation
|
||||
@using HerramientaCASA.Components.Pages.HerramientaURBANTabs.TrabajoProfURBAN
|
||||
@using bdHerramientaCACOA.HerramientaURBAN
|
||||
|
||||
<div class="row p-0 m-0">
|
||||
<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)" />
|
||||
<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">
|
||||
<CascadingValue Value="this">
|
||||
<DocumentosURBAN objetoURBAN="objetoURBAN"></DocumentosURBAN>
|
||||
<DocumentosURBAN objetoURBAN="objetoURBAN"></DocumentosURBAN>
|
||||
</CascadingValue>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row p-0 m-0">
|
||||
<div class="col-md-4">
|
||||
<CascadingValue Value="this">
|
||||
<FasesURBAN objetoURBAN="objetoURBAN"></FasesURBAN>
|
||||
</CascadingValue>
|
||||
<div class="row p-0 m-0">
|
||||
<div class="col-md-4">
|
||||
<CascadingValue Value="this">
|
||||
<FasesURBAN objetoURBAN="objetoURBAN"></FasesURBAN>
|
||||
</CascadingValue>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<CascadingValue Value="this">
|
||||
<InstrumentosURBAN objetoURBAN="objetoURBAN"></InstrumentosURBAN>
|
||||
</CascadingValue>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<CascadingValue Value="this">
|
||||
<InstrumentosURBAN objetoURBAN="objetoURBAN"></InstrumentosURBAN>
|
||||
</CascadingValue>
|
||||
}
|
||||
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>
|
||||
</div>
|
||||
}
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public URBAN objetoURBAN { get; set; } = new URBAN();
|
||||
|
||||
public tsHerramientasCACOA bd;
|
||||
|
||||
public bool modificarTabla = true;
|
||||
public bool modificarHoras = false;
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
|
||||
@@ -39,4 +66,40 @@
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
{
|
||||
objeto.Porcentaje = (double)e;
|
||||
objetoURBAN.ActualizarFase(objeto);
|
||||
|
||||
|
||||
await InvokeAsync(StateHasChanged);
|
||||
_Parent.RefreshState();
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<div class="row">
|
||||
<div class="col-md-6 mt-3 mb-2">
|
||||
<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="04">Almería</option>
|
||||
<option value="11">Cádiz</option>
|
||||
@@ -69,20 +69,26 @@
|
||||
<option value="41">Sevilla</option>
|
||||
</InputSelect>
|
||||
</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">
|
||||
<CascadingValue Value="this">
|
||||
<TrabajoProfLicitacionesGrid objetoLicitaciones="objetoLicitaciones"></TrabajoProfLicitacionesGrid>
|
||||
</CascadingValue>
|
||||
</div>
|
||||
|
||||
}
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3" >
|
||||
<CascadingValue Value="this">
|
||||
<FasesTrabajoLicitaciones objetoLicitaciones="objetoLicitaciones"></FasesTrabajoLicitaciones>
|
||||
</CascadingValue>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<CascadingValue Value="this">
|
||||
<FasesTrabajoLicitaciones objetoLicitaciones="objetoLicitaciones"></FasesTrabajoLicitaciones>
|
||||
</CascadingValue>
|
||||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
<CascadingValue Value="this">
|
||||
@@ -122,7 +128,7 @@
|
||||
</table>
|
||||
</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>
|
||||
<b>superficie</b> @objetoLicitaciones.superficie;<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>coste hora prod</b> @objetoLicitaciones.costeHoraProduccion;
|
||||
</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>IPC Coste Indirecto:</b>@objetoLicitaciones.Variables.IPCCosteIndirecto;<br />
|
||||
<Grid TItem="CosteDirectoIndirecto"
|
||||
@@ -210,6 +216,9 @@
|
||||
|
||||
private int idUser = 0;
|
||||
|
||||
public bool modificarTabla = true;
|
||||
public bool modificarHoras = false;
|
||||
|
||||
public Licitaciones()
|
||||
{
|
||||
}
|
||||
@@ -226,7 +235,7 @@
|
||||
idSimulador = clValue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (string.IsNullOrEmpty(idSimulador))
|
||||
{
|
||||
try
|
||||
@@ -435,6 +444,40 @@
|
||||
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>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
@@ -14,67 +14,71 @@
|
||||
|
||||
<Toasts class="p-3 font-weight-bold" Style="color:white;" AutoHide="true" Delay="4000" Messages="mensajes" Placement="ToastsPlacement.BottomCenter" />
|
||||
|
||||
<p class="TituloVentana">
|
||||
@TextoSuperior
|
||||
</p>
|
||||
<p class="TituloVentana">
|
||||
@TextoSuperior
|
||||
</p>
|
||||
@if (!actualizado)
|
||||
{
|
||||
<div class="UpdateCacoa d-flex">
|
||||
<span>Esta simulación utiliza valores desactualizados. ¿Quiere Realizar una copia actualizada?</span>
|
||||
<button @onclick="@(() => clonarUrban())" class="btnBlue ms-auto">Actualizar</button>
|
||||
</div>
|
||||
}
|
||||
<Modal @ref="popupGuardar" title="@TituloBoton" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false">
|
||||
<BodyTemplate>
|
||||
<div class="col-12 formatoCampos">
|
||||
{
|
||||
<div class="UpdateCacoa d-flex">
|
||||
<span>Esta simulación utiliza valores desactualizados. ¿Quiere Realizar una copia actualizada?</span>
|
||||
<button @onclick="@(() => clonarUrban())" class="btnBlue ms-auto">Actualizar</button>
|
||||
</div>
|
||||
}
|
||||
<Modal @ref="popupGuardar" title="@TituloBoton" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false">
|
||||
<BodyTemplate>
|
||||
<div class="col-12 formatoCampos">
|
||||
|
||||
@if (TituloBoton == "Guardar")
|
||||
{
|
||||
<p>Se va a <b>guardar</b> esta <b>nueva simulación</b> podrá acceder a ella para consultarla y editarla desde el apartado <b>Mis Simulaciones</b> </p>
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (TituloBoton == "Guardar")
|
||||
{
|
||||
<p>Se va a <b>guardar</b> esta <b>nueva simulación</b> podrá acceder a ella para consultarla y editarla desde el apartado <b>Mis Simulaciones</b> </p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p>Se van a <b>sobrescribir</b> los datos de la <b>simulación actual</b> con los cambios realizados, <b>esta opción no puede deshacerse.</b><br /><br /> ¿Desea continuar? </p>
|
||||
}
|
||||
</div>
|
||||
</BodyTemplate>
|
||||
<FooterTemplate>
|
||||
<Button Color="ButtonColor.Secondary" @onclick="cerrarPopupGuardar">Cerrar</Button>
|
||||
<Button @onclick="@(() => guardarUrban())" Color="ButtonColor.Primary">@TituloBoton</Button>
|
||||
</FooterTemplate>
|
||||
</Modal>
|
||||
}
|
||||
</div>
|
||||
</BodyTemplate>
|
||||
<FooterTemplate>
|
||||
<Button Color="ButtonColor.Secondary" @onclick="cerrarPopupGuardar">Cerrar</Button>
|
||||
<Button @onclick="@(() => guardarUrban())" Color="ButtonColor.Primary">@TituloBoton</Button>
|
||||
</FooterTemplate>
|
||||
</Modal>
|
||||
<div class="container-fluid pt-3">
|
||||
<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>
|
||||
<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>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mt-3 mb-2">
|
||||
<div><b>Convenio Colectivo:</b></div>
|
||||
<InputSelect @bind-Value="@objetoLicitacionUrban.idProvincia" class="inputForm" @oninput="e => CalcularTabla(e.Value.ToString())">
|
||||
<option value="">Estatal</option>
|
||||
<option value="04">Almería</option>
|
||||
<option value="11">Cádiz</option>
|
||||
<option value="14">Córdoba</option>
|
||||
<option value="18">Granada</option>
|
||||
<option value="15">Huelva</option>
|
||||
<option value="29">Málaga</option>
|
||||
<option value="41">Sevilla</option>
|
||||
</InputSelect>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mt-3 mb-2">
|
||||
<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>
|
||||
<option value="11">Cádiz</option>
|
||||
<option value="14">Córdoba</option>
|
||||
<option value="18">Granada</option>
|
||||
<option value="15">Huelva</option>
|
||||
<option value="29">Málaga</option>
|
||||
<option value="41">Sevilla</option>
|
||||
</InputSelect>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row p-0 m-0">
|
||||
<div class="col-md-12 mt-3 mb-3">
|
||||
<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)" />
|
||||
<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">
|
||||
<CascadingValue Value="this">
|
||||
<DocumentosLicitacion objetoLicitacionUrban="objetoLicitacionUrban"></DocumentosLicitacion>
|
||||
</CascadingValue>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row p-0 m-0">
|
||||
}
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<CascadingValue Value="this">
|
||||
<FasesLicitacionesUrban objetoLicitacionUrban="objetoLicitacionUrban"></FasesLicitacionesUrban>
|
||||
@@ -82,12 +86,12 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
|
||||
|
||||
<CascadingValue Value="this">
|
||||
<TablaTrabajadoresUrban objetoLicitacionUrban="objetoLicitacionUrban"></TablaTrabajadoresUrban>
|
||||
</CascadingValue>
|
||||
|
||||
@* <CascadingValue Value="this">
|
||||
@* <CascadingValue Value="this">
|
||||
<InstrumentosLicitacionesUrban objetoLicitacionUrban="objetoLicitacionUrban"></InstrumentosLicitacionesUrban>
|
||||
</CascadingValue> *@
|
||||
</div>
|
||||
@@ -109,7 +113,7 @@
|
||||
@* <InputNumber TValue="int" Locale="es-ES" Min="0" class="inputForm formatoMoneda inputTabla" Value="@objetoLicitacionUrban.PlazoPresentacionDocumentos" ValueExpression="() => objetoLicitacionUrban.PlazoPresentacionDocumentos" ValueChanged="(value) => PlazoPresentacionDocumentosCambiado(value)"></InputNumber> meses *@
|
||||
<InputNumber TValue="double" @bind-Value="objetoLicitacionUrban.PlazoPresentacionDocumentos"
|
||||
step="any"
|
||||
@oninput="e => controlarMeses(e.Value?.ToString())"
|
||||
@oninput="e => controlarMeses(e.Value?.ToString())"
|
||||
class="inputForm formatoMoneda inputTabla text-end" /> meses
|
||||
</div>
|
||||
</td>
|
||||
@@ -120,7 +124,20 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<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>
|
||||
<td class="colorB fw-bold w4">Coste de producción del Trabajo Profesional</td>
|
||||
@@ -150,18 +167,18 @@
|
||||
|
||||
</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>IPC Coste Indirecto:</b>@objetoLicitacionUrban.Variables.IPCCosteIndirecto;<br />
|
||||
<Grid TItem="CosteDirectoIndirecto"
|
||||
Class="tablaCACOA table"
|
||||
Data="objetoLicitacionUrban.Enumerados.ListaCDCI"
|
||||
AllowFiltering="false"
|
||||
PageSize="10"
|
||||
Height="100"
|
||||
EmptyText="No hay registros."
|
||||
PageSizeSelectorVisible="false"
|
||||
Responsive="true">
|
||||
Class="tablaCACOA table"
|
||||
Data="objetoLicitacionUrban.Enumerados.ListaCDCI"
|
||||
AllowFiltering="false"
|
||||
PageSize="10"
|
||||
Height="100"
|
||||
EmptyText="No hay registros."
|
||||
PageSizeSelectorVisible="false"
|
||||
Responsive="true">
|
||||
<GridColumns>
|
||||
<GridColumn TItem="CosteDirectoIndirecto" HeaderTextAlignment="Alignment.Center" Class="text-end" HeaderText="Nº Trabajadores">
|
||||
<span>@context.NumeroTrabajadores</span>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@ namespace bdHerramientaCACOA.HerramientaURBAN
|
||||
|
||||
public double horasTrabProfesional { get; set; } = 0;
|
||||
|
||||
public bool EsPorUsos { get; set; } = true;
|
||||
|
||||
public List<DocumentacionURBAN> DocumentacionMinima { 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;
|
||||
|
||||
TrabajoProfesional.horasTrabProfesional = (valorhoras * (totalEncargo / 100) * (porcentajeInnovacion / 100)).DosDecimales();
|
||||
CalcularCostesProduccion();
|
||||
}
|
||||
|
||||
public double ObtenerHoraTipoDocumento()
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user