modifica giro step intermedio

This commit is contained in:
Marco Audiffredi 2024-11-08 16:17:33 +01:00
parent ca591eff45
commit cebfc0334a
6 changed files with 460 additions and 97 deletions

View File

@ -258,6 +258,7 @@ namespace SoftwayWeb.Controllers
mg.Pitarga = model.CodAutomezzo;
mg.Piautist = model.CodAutista;
mg.Pitiprec = "D";
mg.Pisergir = model.serialeGiro;
urlBase = apiUrl + "ModificaGiro/addModgir";
baseAddress = new Uri(urlBase);
@ -343,6 +344,92 @@ namespace SoftwayWeb.Controllers
}
[HttpPost]
public IActionResult ModificaDestinazioneStep1(Destinazioni_Out model)
{
SessionHelper helper = new SessionHelper(this);
token = helper.GetStringValue("tok");
if (string.IsNullOrEmpty(token))
{
return RedirectToAction("Login", "Login");
}
//prima controllo se è un giro nuovo o devo accodare le destinazioni ad un altro utente
string dataGi = string.Empty;
dataGi = model.DataCarico.Value.ToString("yyyy-MM-dd'T'HH:mm:ss.fff'Z'");
urlBase = apiUrl + "Giri/listaDestinazioniByAutistaDataMezzoWeb";
urlBase = urlBase + "?autista=" + model.CodAutista + "&dataGiro=" + dataGi + "&mezzo=" + model.CodAutomezzo;
Uri baseAddress = new Uri(urlBase);
client = new HttpClient();
client.BaseAddress = baseAddress;
List<Destinazioni_Out> modelList = new List<Destinazioni_Out>();
HttpResponseMessage response = client.GetAsync(baseAddress).Result;
if (response.IsSuccessStatusCode)
{
string dato = response.Content.ReadAsStringAsync().Result;
modelList = JsonConvert.DeserializeObject<List<Destinazioni_Out>>(dato);
var presenti = modelList.OrderByDescending(t => t.Prog);
string mex = string.Empty;
if (presenti != null && presenti.Count() > 0)
{
//giro già esistente.. accodo
mex = "Accodo";
}
else
{
// giro non esistente.. ne creo uno nuovo
mex = "Creo nuovo";
}
ViewBag.Messaggio = mex;
}
else
{
errMes = response.Content.ReadAsStringAsync().Result;
helper.SetStringValue("errMsg", errMes);
return RedirectToAction("Error");
}
return View(model);
//apiUrl = helper.GetStringValue("apiUrl");
//urlBase = apiUrl + "ModificaGiro/addModgir";
//baseAddress = new Uri(urlBase);
//client = new HttpClient();
//client.BaseAddress = baseAddress;
//string data = JsonConvert.SerializeObject(mg);
//StringContent content = new StringContent(data, Encoding.UTF8, "application/json");
//HttpResponseMessage response2 = client.PostAsync(baseAddress, content).Result;
//if (response2.IsSuccessStatusCode)
//{
// return RedirectToAction("Index", "Destinazioni", new
// {
// id = model.serialeGiro,
// codAutista = model.CodAutistaOld,
// nomeAutista = model.AutistaOld,
// dataGiro = model.DataCarico,
// codMezzo = model.CodAutomezzoOld,
// desMezzo = model.DescAutomezzoOld
// });
//}
//else
//{
// errMes = response2.Content.ReadAsStringAsync().Result;
// helper.SetStringValue("errMsg", errMes);
// return RedirectToAction("Error");
//}
}
[HttpPost]
public IActionResult ModificaDestinazionePost(Destinazioni_Out model)
{
@ -354,8 +441,18 @@ namespace SoftwayWeb.Controllers
{
return RedirectToAction("Login", "Login");
}
//prima controllo se è un giro nuovo o devo accodare le destinazioni ad un altro utente
string dataGi = string.Empty;
dataGi = model.DataCarico.Value.ToString("yyyy-MM-dd'T'HH:mm:ss.fff'Z'");
urlBase = apiUrl + "Giri/listaDestinazioniByAutistaDataMezzoWeb";
urlBase = urlBase + "?autista=" + model.CodAutista + "&dataGiro=" + dataGi + "&mezzo=" + model.CodAutomezzo;
Uri baseAddress = new Uri(urlBase);
client = new HttpClient();
client.BaseAddress = baseAddress;
List<Destinazioni_Out> modelList = new List<Destinazioni_Out>();
HttpResponseMessage response = client.GetAsync(baseAddress).Result;
//qui metodo post per scrivere su pimodgir
Modgir mg = new Modgir();
mg.Piserial = model.Brserial;
mg.Pidata = model.DataCarico;
@ -363,13 +460,44 @@ namespace SoftwayWeb.Controllers
mg.Pidesdiv = model.CodSede;
mg.Pitarga = model.CodAutomezzo;
mg.Piautist = model.CodAutista;
mg.Pitiprec = "M";
mg.Pisergir = model.serialeGiro;
if (response.IsSuccessStatusCode)
{
string dato = response.Content.ReadAsStringAsync().Result;
modelList = JsonConvert.DeserializeObject<List<Destinazioni_Out>>(dato);
var presenti = modelList.OrderByDescending(t => t.Prog);
if (presenti != null && presenti.Count()>0)
{
//giro già esistente.. accodo
mg.Pitiprec = "M";
mg.Pisergirold = model.serialeGiro;
foreach(Destinazioni_Out d in presenti)
{
mg.Pisergir = d.serialeGiro;
}
}
else
{
// giro non esistente.. ne creo uno nuovo
mg.Pitiprec = "N";
mg.Pisergir = model.serialeGiro;
}
}
else
{
errMes = response.Content.ReadAsStringAsync().Result;
helper.SetStringValue("errMsg", errMes);
return RedirectToAction("Error");
}
apiUrl = helper.GetStringValue("apiUrl");
urlBase = apiUrl + "ModificaGiro/addModgir";
Uri baseAddress = new Uri(urlBase);
baseAddress = new Uri(urlBase);
client = new HttpClient();
client.BaseAddress = baseAddress;
@ -477,6 +605,23 @@ namespace SoftwayWeb.Controllers
}
#region controllo javascript NON usato
[HttpPost] // can be HttpGet
public ActionResult Test(string codmezzo, string codaut)
{
bool isValid = yourcheckmethod(codmezzo, codaut); //.. check
//bool isValid = true;
var obj = new
{
valid = isValid
};
return Json(obj);
}
private bool yourcheckmethod(string codmezzo, string codaut)
{
return false;
}
#endregion
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()

View File

@ -345,7 +345,7 @@ namespace SoftwayWeb.Controllers
mg.Pitarga = mezzi.TrimEnd();
mg.Piautist = autisti.TrimEnd();
mg.Pitiprec = "M";
mg.Pisergir = destinazione.Pisergir;
mg.Pisergir = destinazione.serialeGiro;
apiUrl = helper.GetStringValue("apiUrl");

View File

@ -40,5 +40,8 @@ namespace SoftwayWeb.Models
[Display(Name = "Note")]
public string? Pinote { get; set; }
[Display(Name = "Seriale Giro con destinazioni spostate")]
public string? Pisergirold { get; set; }
}
}

View File

@ -7,7 +7,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.17" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.18" />
<PackageReference Include="X.PagedList.Mvc.Core" Version="9.1.2" />
</ItemGroup>

View File

@ -14,7 +14,7 @@
<h5 class="mb-0">Modifica destinazione</h5> <small class="text-muted float-end"></small>
</div>
<div class="card-body">
<form asp-action="ModificaDestinazionePost">
<form asp-action="ModificaDestinazioneStep1">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="mb-3">
<label class="form-label" for="basic-default-fullname"><b>@Html.DisplayNameFor(model => model.DataCarico)</b> </label>
@ -73,8 +73,9 @@
@Html.HiddenFor(model => model.CodAutomezzoOld)
@Html.HiddenFor(model => model.AutistaOld)
@Html.HiddenFor(model => model.DescAutomezzoOld)
<button type="submit" class="btn btn-primary">Salva</button>
@*
<button type="submit" class="btn btn-primary" onclick="javascript: return checkValidId();">Salva</button>*@
<button type="submit" class="btn btn-primary" >Avanti</button>
</form>
</div>
</div>
@ -85,9 +86,6 @@
<h5 class="mb-0">Dettaglio trasporto</h5> <small class="text-muted float-end"></small>
</div>
<div class="card-body">
<div class="mb-3">
<label class="form-label" for="basic-default-fullname"><b>@Html.DisplayNameFor(model => model.Casse)</b> </label>
<div class="form-text">@Html.DisplayFor(model => model.Casse)</div>
@ -127,95 +125,63 @@
</div>
</div>
</div>
<script src="~/js/jquery.min.js"></script>
<script type="text/javascript">
function checkValidId() {
@*<div class="row">
<div class="col-md-4">
<form asp-action="ModificaDestinazionePost">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
@Html.HiddenFor(model => model.DescAutomezzo)
@Html.HiddenFor(model => model.Brserial)
@Html.HiddenFor(model => model.DataCarico)
@Html.HiddenFor(model => model.CodCommittente)
@Html.HiddenFor(model => model.Committente)
@Html.HiddenFor(model => model.Autista)
@Html.HiddenFor(model => model.CodSede)
@Html.HiddenFor(model => model.Sede)
@Html.HiddenFor(model => model.IndirizzoSede)
@Html.HiddenFor(model => model.Cproword)
@Html.HiddenFor(model => model.Cprownum)
@Html.HiddenFor(model => model.Brmerce)
@Html.HiddenFor(model => model.Brnote)
@Html.HiddenFor(model => model.ImportoDaRitirare)
@Html.HiddenFor(model => model.ItemList)
@Html.HiddenFor(model => model.serialeGiro)
@Html.HiddenFor(model => model.Casse)
@Html.HiddenFor(model => model.Trasf)
@Html.HiddenFor(model => model.Colli)
@Html.HiddenFor(model => model.num_cons)
@Html.HiddenFor(model => model.Uova)
@Html.HiddenFor(model => model.Cist)
@Html.HiddenFor(model => model.Note)
@Html.HiddenFor(model => model.Seq)
@Html.HiddenFor(model => model.Prog)
var codmezzo = $('#CodAutomezzo').val();
//alert(codmezzo)
var codaut = $('#codAutista').val();
//alert(codaut)
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.DescAutomezzo)</b> @Html.DropDownList("CodAutomezzo", ViewBag.CodMezzo, null, new { @class = "agy-form-field require" })
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.DataCarico)</b> @Html.DisplayFor(model => model.DataCarico)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Committente)</b> @Html.DisplayFor(model => model.CodCommittente)-@Html.DisplayFor(model => model.Committente)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Autista)</b> @Html.DisplayFor(model => model.CodAutista)-@Html.DisplayFor(model => model.Autista)
</div>
<div class="form-group">
<b>Nuovo Autista</b> @Html.DropDownList("codAutista", ViewBag.Autisti, null, new { @class = "agy-form-field require" })
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Sede)</b> @Html.DisplayFor(model => model.CodSede)-@Html.DisplayFor(model => model.Sede)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.IndirizzoSede)</b> @Html.DisplayFor(model => model.IndirizzoSede)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Casse)</b> @Html.DisplayFor(model => model.Casse)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Trasf)</b> @Html.DisplayFor(model => model.Trasf)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Colli)</b> @Html.DisplayFor(model => model.Colli)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.num_cons)</b> @Html.DisplayFor(model => model.num_cons)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Uova)</b> @Html.DisplayFor(model => model.Uova)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Cist)</b> @Html.DisplayFor(model => model.Cist)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Note)</b> @Html.DisplayFor(model => model.Note)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Seq)</b> @Html.DisplayFor(model => model.Seq)
</div>
<div class="form-group">
<b>@Html.DisplayNameFor(model => model.Prog)</b> @Html.DisplayFor(model => model.Prog)
</div>
var uscita= $.ajax({
url: '/Destinazioni/Test?codmezzo=' + codmezzo + '&codaut=' + codaut,
type: 'POST',
contentType: 'application/json;',
data: JSON.stringify({ cod: $('#CodAutomezzo').val() }),
success: function (valid) {
var r = confirm("Are you sure you want to submit the record?");
if (r == true) {
alert('T');
return true;
}
else {
alert('F');
return false;
}
},
error: function () {
alert('errore');
return false;
}
});
//alert(uscita);
return uscita;
}
function Show() {
<div class="form-group">
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</form>
</div>
</div>*@
if (true) {
var r = confirm("Are you sure you want to submit the record?");
if (r==true)
{
return true;
}
else
{
return false;
}
}
else {
var t = confirm("Please insert the record");
if (t == true) {
return false;
}
}
}
</script>
<div>
<a asp-action="IndexValidate" asp-controller="Destinazioni" asp-route-id="@Model.serialeGiro" class="btn btn-primary">Torna alla Lista</a>

View File

@ -0,0 +1,249 @@
@model SoftwayWeb.Models.Destinazioni_Out
@{
ViewData["Title"] = "ModificaDestinazioneStep1";
Layout = "~/Views/Shared/_LayoutAreaRis.cshtml";
string messaggio = string.Empty;
messaggio = ViewBag.Messaggio;
}
<h1>messaggio di uscita: @messaggio</h1>
<div>
<h4>Destinazioni_Out</h4>
<hr />
<form asp-action="ModificaDestinazionePost">
<dl class="row">
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.CodAutomezzo)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.CodAutomezzo)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.DescAutomezzo)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.DescAutomezzo)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Brserial)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Brserial)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.DataCarico)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.DataCarico)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.CodCommittente)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.CodCommittente)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Committente)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Committente)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.CodAutista)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.CodAutista)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Autista)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Autista)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.CodSede)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.CodSede)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Sede)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Sede)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.IndirizzoSede)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.IndirizzoSede)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Cproword)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Cproword)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Cprownum)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Cprownum)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Brmerce)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Brmerce)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Brnote)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Brnote)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.ImportoDaRitirare)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.ImportoDaRitirare)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.ItemList)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.ItemList)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.serialeGiro)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.serialeGiro)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Casse)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Casse)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Trasf)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Trasf)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Colli)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Colli)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.num_cons)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.num_cons)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Uova)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Uova)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Cist)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Cist)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Note)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Note)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Seq)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Seq)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Prog)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Prog)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Pisergir)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Pisergir)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.CodAutomezzoOld)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.CodAutomezzoOld)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.CodAutistaOld)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.CodAutistaOld)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.AutistaOld)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.AutistaOld)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.DescAutomezzoOld)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.DescAutomezzoOld)
</dd>
</dl>
@Html.HiddenFor(model => model.DescAutomezzo)
@Html.HiddenFor(model => model.Brserial)
@Html.HiddenFor(model => model.DataCarico)
@Html.HiddenFor(model => model.CodCommittente)
@Html.HiddenFor(model => model.Committente)
@Html.HiddenFor(model => model.Autista)
@Html.HiddenFor(model => model.CodSede)
@Html.HiddenFor(model => model.Sede)
@Html.HiddenFor(model => model.IndirizzoSede)
@Html.HiddenFor(model => model.Cproword)
@Html.HiddenFor(model => model.Cprownum)
@Html.HiddenFor(model => model.Brmerce)
@Html.HiddenFor(model => model.Brnote)
@Html.HiddenFor(model => model.ImportoDaRitirare)
@Html.HiddenFor(model => model.ItemList)
@Html.HiddenFor(model => model.serialeGiro)
@Html.HiddenFor(model => model.Casse)
@Html.HiddenFor(model => model.Trasf)
@Html.HiddenFor(model => model.Colli)
@Html.HiddenFor(model => model.num_cons)
@Html.HiddenFor(model => model.Uova)
@Html.HiddenFor(model => model.Cist)
@Html.HiddenFor(model => model.Note)
@Html.HiddenFor(model => model.Seq)
@Html.HiddenFor(model => model.Prog)
@Html.HiddenFor(model => model.CodAutistaOld)
@Html.HiddenFor(model => model.CodAutomezzoOld)
@Html.HiddenFor(model => model.AutistaOld)
@Html.HiddenFor(model => model.DescAutomezzoOld)
@Html.HiddenFor(model => model.CodAutista)
@Html.HiddenFor(model => model.CodAutomezzo)
<button type="submit" class="btn btn-primary">Salva</button>
</form>
</div>