This commit is contained in:
michele 2025-10-15 10:05:21 +02:00
commit fa0df3841d
5 changed files with 110 additions and 75 deletions

View File

@ -47,20 +47,21 @@ namespace VirtualTask.Controllers
ViewBag.Admin = admin;
time_sheet = helper.GetStringValue("time_sheet");
ViewBag.TimeSheet = time_sheet;
urlBase = apiUrl + "timbratureList";
//urlBase = apiUrl + "timbratureList";
urlBase = apiUrl + "timbratureListVW";
urlBase = urlBase + "?token=" + token;
Uri baseAddress = new Uri(urlBase);
client = new HttpClient();
client.BaseAddress = baseAddress;
List<Timbratura> modelList = new List<Timbratura>();
List<TimbraturaVW> modelList = new List<TimbraturaVW>();
HttpResponseMessage response = client.GetAsync(baseAddress).Result;
if (response.IsSuccessStatusCode)
{
string data = response.Content.ReadAsStringAsync().Result;
modelList = JsonConvert.DeserializeObject<List<Timbratura>>(data);
modelList = JsonConvert.DeserializeObject<List<TimbraturaVW>>(data);
ViewBag.Timbrature = GetCommesse();
@ -135,25 +136,25 @@ namespace VirtualTask.Controllers
apiUrl = helper.GetStringValue("apiUrl");
admin = helper.GetStringValue("admin");
ViewBag.Admin = admin;
urlBase = apiUrl + "timbratureList";
urlBase = apiUrl + "timbratureListVW";
urlBase = urlBase + "?token=" + token;
Uri baseAddress = new Uri(urlBase);
client = new HttpClient();
client.BaseAddress = baseAddress;
Timbratura rapp = new Timbratura();
TimbraturaVW rapp = new TimbraturaVW();
List<Timbratura> modelList = new List<Timbratura>();
List<TimbraturaVW> modelList = new List<TimbraturaVW>();
HttpResponseMessage response = client.GetAsync(baseAddress).Result;
if (response.IsSuccessStatusCode)
{
string data = response.Content.ReadAsStringAsync().Result;
modelList = JsonConvert.DeserializeObject<List<Timbratura>>(data);
modelList = JsonConvert.DeserializeObject<List<TimbraturaVW>>(data);
rapp = modelList.Where(x => x.id.Equals(id)).First();
string descTecnico = GetDescTecnico(rapp.tecnico);
rapp.tecnico = descTecnico;
//string descTecnico = GetDescTecnico(rapp.tecnico);
//rapp.tecnico = descTecnico;
}
else

76
Models/TimbraturaVW.cs Normal file
View File

@ -0,0 +1,76 @@
using System.ComponentModel.DataAnnotations;
namespace VirtualTask.Models
{
public class TimbraturaVW
{
[Display(Name = "Id")]
/// <summary>chiave primaria</summary>
public int id { get; set; }
[Display(Name = "Data timbratura")]
/// <summary>data</summary>
public DateTime? data_timbratura { get; set; }
[Display(Name = "Ora inzio")]
/// <summary>ora inizio</summary>
public int ora_ini { get; set; }
[Display(Name = "Minuti inizio")]
/// <summary>minuto inizio</summary>
public int min_ini { get; set; }
[Display(Name = "Ora fine")]
/// <summary>ora fine</summary>
public int ora_fin { get; set; }
[Display(Name = "Minuti fine")]
/// <summary>minuto fine</summary>
public int min_fin { get; set; }
[Display(Name = "Commessa")]
/// <summary>commessa</summary>
public string? commessa { get; set; }
[Display(Name = "Ore viaggio")]
/// <summary>ore viaggio</summary>
[System.ComponentModel.DataAnnotations.Schema.Column(TypeName = "decimal(7, 2)")]
public decimal? ore_viaggio { get; set; }
[Display(Name = "Totale ore")]
/// <summary>totale ore</summary>
[System.ComponentModel.DataAnnotations.Schema.Column(TypeName = "decimal(7, 2)")]
public decimal? tot_ore { get; set; }
[Display(Name = "Giorno sett.")]
/// <summary>giorno settimana</summary>
public int? giorno { get; set; }
[Display(Name = "Azienda")]
/// <summary>azienda</summary>
public string? azienda { get; set; }
[Display(Name = "Tecnico")]
/// <summary>tecnico</summary>
public string? tecnico { get; set; }
/// <summary>cpccchk</summary>
public string? cpccchk { get; set; }
[Display(Name = "Note")]
/// <summary>note</summary>
public string? note { get; set; }
[Display(Name = "Descrizione Giorno")]
/// <summary>Giorno della settimana descrizione</summary>
public string? giodesc { get; set; }
[Display(Name = "Descrizione Commessa")]
/// <summary>Commessa descrizione</summary>
public string? commdesc { get; set; }
[Display(Name = "Descrizione Tecnico")]
/// <summary>tecnico descrizione</summary>
public string? tecdesc { get; set; }
}
}

View File

@ -1,8 +1,14 @@
@model VirtualTask.Models.Timbratura
@model VirtualTask.Models.TimbraturaVW
@{
// ViewData["Title"] = "Dettaglio";
Layout = "~/Views/Shared/_LayoutAreaRiservata.cshtml";
string giornoStr = "0";
if (Model != null && Model.giorno != null && Model.giorno>0)
{
giornoStr = Model.giorno.ToString();
}
}
<div class="agy-project-wrapper agy-project-page-wrapper">
@ -27,7 +33,7 @@
<b>@Html.DisplayNameFor(model => model.tecnico)</b>
</td>
<td>
@Html.DisplayFor(model => model.tecnico)
@Html.DisplayFor(model => model.tecnico) - @Html.DisplayFor(model => model.tecdesc)
</td>
</tr>
<tr>
@ -43,7 +49,7 @@
<b>Ora fine timbratura</b>
</td>
<td>
@Html.DisplayFor(model => model.ora_fin):@Html.DisplayFor(model => model.min_fin)
@($"{Model.ora_fin:D2}:{Model.min_fin:D2}")
</td>
</tr>
<tr>
@ -59,7 +65,7 @@
<b>@Html.DisplayNameFor(model => model.commessa)</b>
</td>
<td>
@Html.DisplayFor(model => model.commessa)
@Html.DisplayFor(model => model.commessa) - @Html.DisplayFor(model => model.commdesc)
</td>
</tr>
<tr>
@ -67,7 +73,7 @@
<b>@Html.DisplayNameFor(model => model.ore_viaggio)</b>
</td>
<td>
@Html.DisplayFor(model => model.ore_viaggio)
@giornoStr
</td>
</tr>
<tr>
@ -75,7 +81,7 @@
<b>@Html.DisplayNameFor(model => model.giorno)</b>
</td>
<td>
@Html.DisplayFor(model => model.giorno)
@Html.DisplayFor(model => model.giorno) - @Html.DisplayFor(model => model.giodesc)
</td>
</tr>

View File

@ -1,4 +1,4 @@
@model IPagedList<VirtualTask.Models.Timbratura>
@model IPagedList<VirtualTask.Models.TimbraturaVW>
@using X.PagedList;
@using X.PagedList.Mvc.Core;
@using X.PagedList.Web.Common;
@ -53,30 +53,6 @@
</div>
</div>
@* <div>
<div style="float:left;width:40%;padding:0 20px;">
<th><b>Data da:</b></th>
@Html.TextBox("dataIni", null, new { type = "date", @class = "agy-form-field require" })
<th><b>Data a:</b></th>
@Html.TextBox("dataFin", null, new { type = "date", @class = "agy-form-field require" })
<th><b>Commessa:</b></th>
@Html.DropDownList("commessa", ViewBag.Timbrature, null, new { @class = "agy-form-field require" })
<th><b>Tecnico:</b></th>
@Html.TextBox("tecnico", null, new { placeholder = "", @class = "agy-form-field require" })
<div style="float:left;width:57%;"><input type="submit" value="Cerca" class="agy-btn submitForm" /></div>
</div>
<div style="float:left;width:2%;">&nbsp;</div>
<div style="float:left;width:2%;">&nbsp;</div>
<div style="float:left;width:2%;">&nbsp;</div>
</div> *@
}
<div style="width:100%;height:30px;">
@ -109,11 +85,6 @@
</table>
</div>
</div>
@*
<div style="float:left;width:40%;padding:0 20px;">
<input type="submit" value="Esporta excel" name="Esporta excel" class="agy-btn submitForm" />
</div> *@
}
<div style="width:100%;height:30px;">
@ -127,22 +98,12 @@
<table class="table table-striped">
<thead>
<tr>
<th>Data timbratura</th>
<th>Ora inizio</th>
<th>Minuti inizio</th>
<th>Ora fine</th>
<th>Minuti fine</th>
<th>Commessa</th>
<th>Ore viaggio</th>
<th>Data/ora timbratura</th>
<th>Ora/min fine</th>
<th>Totale ore</th>
<th>Giorno sett.</th>
<th>Commessa</th>
<th>Tecnico</th>
<th></th>
<th hidden>Id</th>
<th hidden>Azienda</th>
<th hidden>Note</th>
<th></th>
</tr>
</thead>
<tbody>
@ -151,19 +112,10 @@
<tr>
<td>@Html.DisplayFor(modelItem => item.data_timbratura)</td>
<td>@Html.DisplayFor(modelItem => item.ora_ini)</td>
<td>@Html.DisplayFor(modelItem => item.min_ini)</td>
<td>@Html.DisplayFor(modelItem => item.ora_fin)</td>
<td>@Html.DisplayFor(modelItem => item.min_fin)</td>
<td>@Html.DisplayFor(modelItem => item.commessa)</td>
<td>@Html.DisplayFor(modelItem => item.ore_viaggio)</td>
<td>@($"{item.ora_fin:D2}:{item.min_fin:D2}")</td>
<td>@Html.DisplayFor(modelItem => item.tot_ore)</td>
<td>@Html.DisplayFor(modelItem => item.giorno)</td>
<td>@Html.DisplayFor(modelItem => item.tecnico)</td>
<td>@Html.HiddenFor(modelItem => item.id)</td>
<td>@Html.HiddenFor(modelItem => item.azienda)</td>
<td>@Html.HiddenFor(modelItem => item.cpccchk)</td>
<td>@Html.HiddenFor(modelItem => item.note)</td>
<td>@Html.DisplayFor(modelItem => item.commessa)-@Html.DisplayFor(modelItem => item.commdesc)</td>
<td>@Html.DisplayFor(modelItem => item.tecnico)-@Html.DisplayFor(modelItem => item.tecdesc)</td>
<td>
<a href="@Url.Action("Details", "Timbrature", new { id=item.id })" title="Dettaglio" class="links">
<img alt="Dettaglio" src="@Url.Content("~/assets/images/icons8-visualizza-file-64.png")" style="width:30px;height:30px;">

View File

@ -8,8 +8,8 @@
"ApplicationInsights": {
//PRODUZIONE
"rootUrlApi": "https://api-vt.poloinformatico.it/api/Polo/",
"rootUrlApi2": "https://api-vt.poloinformatico.it/VIRTU/",
//"rootUrlApi": "https://api-vt.poloinformatico.it/api/Polo/",
//"rootUrlApi2": "https://api-vt.poloinformatico.it/VIRTU/",
//"rootWebLoghi": "C:\\ZAPIPOLO\\api_polo\\wwwroot\\VIRTU\\",
//"rootWebLoghi": "/zucchetti/api/api-vt.poloinformatico.it/app/wwwroot/VIRTU/",
"rootWebLoghi": "./wwwroot/VIRTU",
@ -17,8 +17,8 @@
"rootPath": "/mnt/storagebox",
//TEST
//"rootUrlApi": "http://testapi.poloinformatico.it:9001/api/Polo/",
//"rootUrlApi2": "http://testapi.poloinformatico.it:9001/VIRTU/",
"rootUrlApi": "http://testapi.poloinformatico.it:9001/api/Polo/",
"rootUrlApi2": "http://testapi.poloinformatico.it:9001/VIRTU/",
//"rootWebLoghi": "C:\\Users\\audif\\source\\repos\\VirtualTask\\wwwroot\\VIRTU\\",
//"rootUrl": "https://localhost:7140/",