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; ViewBag.Admin = admin;
time_sheet = helper.GetStringValue("time_sheet"); time_sheet = helper.GetStringValue("time_sheet");
ViewBag.TimeSheet = time_sheet; ViewBag.TimeSheet = time_sheet;
urlBase = apiUrl + "timbratureList"; //urlBase = apiUrl + "timbratureList";
urlBase = apiUrl + "timbratureListVW";
urlBase = urlBase + "?token=" + token; urlBase = urlBase + "?token=" + token;
Uri baseAddress = new Uri(urlBase); Uri baseAddress = new Uri(urlBase);
client = new HttpClient(); client = new HttpClient();
client.BaseAddress = baseAddress; client.BaseAddress = baseAddress;
List<Timbratura> modelList = new List<Timbratura>(); List<TimbraturaVW> modelList = new List<TimbraturaVW>();
HttpResponseMessage response = client.GetAsync(baseAddress).Result; HttpResponseMessage response = client.GetAsync(baseAddress).Result;
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
string data = response.Content.ReadAsStringAsync().Result; string data = response.Content.ReadAsStringAsync().Result;
modelList = JsonConvert.DeserializeObject<List<Timbratura>>(data); modelList = JsonConvert.DeserializeObject<List<TimbraturaVW>>(data);
ViewBag.Timbrature = GetCommesse(); ViewBag.Timbrature = GetCommesse();
@ -135,25 +136,25 @@ namespace VirtualTask.Controllers
apiUrl = helper.GetStringValue("apiUrl"); apiUrl = helper.GetStringValue("apiUrl");
admin = helper.GetStringValue("admin"); admin = helper.GetStringValue("admin");
ViewBag.Admin = admin; ViewBag.Admin = admin;
urlBase = apiUrl + "timbratureList"; urlBase = apiUrl + "timbratureListVW";
urlBase = urlBase + "?token=" + token; urlBase = urlBase + "?token=" + token;
Uri baseAddress = new Uri(urlBase); Uri baseAddress = new Uri(urlBase);
client = new HttpClient(); client = new HttpClient();
client.BaseAddress = baseAddress; 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; HttpResponseMessage response = client.GetAsync(baseAddress).Result;
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
string data = response.Content.ReadAsStringAsync().Result; 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(); rapp = modelList.Where(x => x.id.Equals(id)).First();
string descTecnico = GetDescTecnico(rapp.tecnico); //string descTecnico = GetDescTecnico(rapp.tecnico);
rapp.tecnico = descTecnico; //rapp.tecnico = descTecnico;
} }
else 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"; // ViewData["Title"] = "Dettaglio";
Layout = "~/Views/Shared/_LayoutAreaRiservata.cshtml"; 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"> <div class="agy-project-wrapper agy-project-page-wrapper">
@ -27,7 +33,7 @@
<b>@Html.DisplayNameFor(model => model.tecnico)</b> <b>@Html.DisplayNameFor(model => model.tecnico)</b>
</td> </td>
<td> <td>
@Html.DisplayFor(model => model.tecnico) @Html.DisplayFor(model => model.tecnico) - @Html.DisplayFor(model => model.tecdesc)
</td> </td>
</tr> </tr>
<tr> <tr>
@ -43,7 +49,7 @@
<b>Ora fine timbratura</b> <b>Ora fine timbratura</b>
</td> </td>
<td> <td>
@Html.DisplayFor(model => model.ora_fin):@Html.DisplayFor(model => model.min_fin) @($"{Model.ora_fin:D2}:{Model.min_fin:D2}")
</td> </td>
</tr> </tr>
<tr> <tr>
@ -59,7 +65,7 @@
<b>@Html.DisplayNameFor(model => model.commessa)</b> <b>@Html.DisplayNameFor(model => model.commessa)</b>
</td> </td>
<td> <td>
@Html.DisplayFor(model => model.commessa) @Html.DisplayFor(model => model.commessa) - @Html.DisplayFor(model => model.commdesc)
</td> </td>
</tr> </tr>
<tr> <tr>
@ -67,7 +73,7 @@
<b>@Html.DisplayNameFor(model => model.ore_viaggio)</b> <b>@Html.DisplayNameFor(model => model.ore_viaggio)</b>
</td> </td>
<td> <td>
@Html.DisplayFor(model => model.ore_viaggio) @giornoStr
</td> </td>
</tr> </tr>
<tr> <tr>
@ -75,7 +81,7 @@
<b>@Html.DisplayNameFor(model => model.giorno)</b> <b>@Html.DisplayNameFor(model => model.giorno)</b>
</td> </td>
<td> <td>
@Html.DisplayFor(model => model.giorno) @Html.DisplayFor(model => model.giorno) - @Html.DisplayFor(model => model.giodesc)
</td> </td>
</tr> </tr>

View File

@ -1,4 +1,4 @@
@model IPagedList<VirtualTask.Models.Timbratura> @model IPagedList<VirtualTask.Models.TimbraturaVW>
@using X.PagedList; @using X.PagedList;
@using X.PagedList.Mvc.Core; @using X.PagedList.Mvc.Core;
@using X.PagedList.Web.Common; @using X.PagedList.Web.Common;
@ -53,30 +53,6 @@
</div> </div>
</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;"> <div style="width:100%;height:30px;">
@ -109,11 +85,6 @@
</table> </table>
</div> </div>
</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;"> <div style="width:100%;height:30px;">
@ -127,22 +98,12 @@
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
<th>Data/ora timbratura</th>
<th>Data timbratura</th> <th>Ora/min fine</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>Totale ore</th> <th>Totale ore</th>
<th>Giorno sett.</th> <th>Commessa</th>
<th>Tecnico</th> <th>Tecnico</th>
<th></th> <th></th>
<th hidden>Id</th>
<th hidden>Azienda</th>
<th hidden>Note</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -151,19 +112,10 @@
<tr> <tr>
<td>@Html.DisplayFor(modelItem => item.data_timbratura)</td> <td>@Html.DisplayFor(modelItem => item.data_timbratura)</td>
<td>@Html.DisplayFor(modelItem => item.ora_ini)</td> <td>@($"{item.ora_fin:D2}:{item.min_fin:D2}")</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>@Html.DisplayFor(modelItem => item.tot_ore)</td> <td>@Html.DisplayFor(modelItem => item.tot_ore)</td>
<td>@Html.DisplayFor(modelItem => item.giorno)</td> <td>@Html.DisplayFor(modelItem => item.commessa)-@Html.DisplayFor(modelItem => item.commdesc)</td>
<td>@Html.DisplayFor(modelItem => item.tecnico)</td> <td>@Html.DisplayFor(modelItem => item.tecnico)-@Html.DisplayFor(modelItem => item.tecdesc)</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> <td>
<a href="@Url.Action("Details", "Timbrature", new { id=item.id })" title="Dettaglio" class="links"> <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;"> <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": { "ApplicationInsights": {
//PRODUZIONE //PRODUZIONE
"rootUrlApi": "https://api-vt.poloinformatico.it/api/Polo/", //"rootUrlApi": "https://api-vt.poloinformatico.it/api/Polo/",
"rootUrlApi2": "https://api-vt.poloinformatico.it/VIRTU/", //"rootUrlApi2": "https://api-vt.poloinformatico.it/VIRTU/",
//"rootWebLoghi": "C:\\ZAPIPOLO\\api_polo\\wwwroot\\VIRTU\\", //"rootWebLoghi": "C:\\ZAPIPOLO\\api_polo\\wwwroot\\VIRTU\\",
//"rootWebLoghi": "/zucchetti/api/api-vt.poloinformatico.it/app/wwwroot/VIRTU/", //"rootWebLoghi": "/zucchetti/api/api-vt.poloinformatico.it/app/wwwroot/VIRTU/",
"rootWebLoghi": "./wwwroot/VIRTU", "rootWebLoghi": "./wwwroot/VIRTU",
@ -17,8 +17,8 @@
"rootPath": "/mnt/storagebox", "rootPath": "/mnt/storagebox",
//TEST //TEST
//"rootUrlApi": "http://testapi.poloinformatico.it:9001/api/Polo/", "rootUrlApi": "http://testapi.poloinformatico.it:9001/api/Polo/",
//"rootUrlApi2": "http://testapi.poloinformatico.it:9001/VIRTU/", "rootUrlApi2": "http://testapi.poloinformatico.it:9001/VIRTU/",
//"rootWebLoghi": "C:\\Users\\audif\\source\\repos\\VirtualTask\\wwwroot\\VIRTU\\", //"rootWebLoghi": "C:\\Users\\audif\\source\\repos\\VirtualTask\\wwwroot\\VIRTU\\",
//"rootUrl": "https://localhost:7140/", //"rootUrl": "https://localhost:7140/",