Finita pag turni
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<Version>6.16.2310.1107</Version>
|
||||
<Version>6.16.2310.1108</Version>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<RootNamespace>MP_TAB_SERV</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace MP_TAB_SERV.Pages
|
||||
#region Protected Fields
|
||||
|
||||
protected int dltMinRealtime = 1;
|
||||
protected bool isProcessing = false;
|
||||
protected int minAnticipoRicalcolo = 1;
|
||||
protected bool rdm_ChkOnly = false;
|
||||
protected int rdm_nEvCheck = 1;
|
||||
@@ -71,8 +72,6 @@ namespace MP_TAB_SERV.Pages
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected bool isProcessing = false;
|
||||
|
||||
/// <summary>
|
||||
/// Processo registrazione eventi
|
||||
/// </summary>
|
||||
|
||||
@@ -9,6 +9,51 @@ else
|
||||
<div>
|
||||
<MachineBlock RecMSE="CurrMSE" FullMode="false"></MachineBlock>
|
||||
</div>
|
||||
<ParamsMan></ParamsMan>
|
||||
<div class="row my-2">
|
||||
<div class="col-6">
|
||||
<div class="d-flex justify-content-around">
|
||||
<div class="form-check form-switch fs-2">
|
||||
<input class="form-check-input" type="checkbox" @bind="@T1">
|
||||
<label class="form-check-label" >Turno 1</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-around">
|
||||
<div class="form-check form-switch fs-2">
|
||||
<input class="form-check-input" type="checkbox" @bind="@T2">
|
||||
<label class="form-check-label" >Turno 2</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-around">
|
||||
<div class="form-check form-switch fs-2">
|
||||
<input class="form-check-input" type="checkbox" @bind="@T3">
|
||||
<label class="form-check-label" >Turno 3</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 text-center">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2><b>Stato Turni Attivi</b></h2>
|
||||
</div>
|
||||
<div class="col-12 fs-5 @cssByState(T1)">
|
||||
Turno 1
|
||||
</div>
|
||||
<div class="col-12 fs-5 @cssByState(T2)">
|
||||
Turno 2
|
||||
</div>
|
||||
<div class="col-12 fs-5 @cssByState(T3)">
|
||||
Turno 3
|
||||
</div>
|
||||
</div>
|
||||
<div class="row my-2">
|
||||
<div class="col-6 bg-success text-warning px-2">
|
||||
Turno Aperto
|
||||
</div>
|
||||
<div class="col-6 bg-secondary px-2">
|
||||
Turno Chiuso
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
@@ -36,10 +36,58 @@ namespace MP_TAB_SERV.Pages
|
||||
if (!string.IsNullOrEmpty(IdxMacc))
|
||||
{
|
||||
CurrMSE = await MsgServ.GetMachineMse(IdxMacc);
|
||||
// recupero turni
|
||||
currTurni = await TabServ.TurnoMacchinaGet(IdxMacc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected bool T1
|
||||
{
|
||||
get => currTurni.T1;
|
||||
set
|
||||
{
|
||||
if (currTurni.T1 != value)
|
||||
{
|
||||
currTurni.T1 = value;
|
||||
TabServ.TurnoMacchinaToggle(IdxMacc, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
protected bool T2
|
||||
{
|
||||
get => currTurni.T2;
|
||||
set
|
||||
{
|
||||
if (currTurni.T2 != value)
|
||||
{
|
||||
currTurni.T2 = value;
|
||||
TabServ.TurnoMacchinaToggle(IdxMacc, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
protected bool T3
|
||||
{
|
||||
get => currTurni.T3;
|
||||
set
|
||||
{
|
||||
if (currTurni.T3 != value)
|
||||
{
|
||||
currTurni.T3 = value;
|
||||
TabServ.TurnoMacchinaToggle(IdxMacc, 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected string cssByState(bool isActive)
|
||||
{
|
||||
return isActive ? "bg-success text-warning" : "bg-secondary";
|
||||
}
|
||||
|
||||
[Inject]
|
||||
protected TabDataService TabServ { get; set; } = null!;
|
||||
protected TurniMaccModel currTurni { get; set; } = new TurniMaccModel();
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>Modulo MAPOSPEC </i>
|
||||
<h4>Versione: 6.16.2310.1107</h4>
|
||||
<h4>Versione: 6.16.2310.1108</h4>
|
||||
<br /> Note di rilascio:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
6.16.2310.1107
|
||||
6.16.2310.1108
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>6.16.2310.1107</version>
|
||||
<version>6.16.2310.1108</version>
|
||||
<url>https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/MP-TAB-SERV.zip</url>
|
||||
<changelog>https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
@@ -298,6 +298,38 @@ namespace MP.Data.Controllers
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Inserimento record in DDB
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <param name="inizio"></param>
|
||||
/// <param name="idxStatoStart"></param>
|
||||
/// <param name="nStepEventi"></param>
|
||||
/// <param name="nRecCheck"></param>
|
||||
/// <param name="checkOnly"></param>
|
||||
/// <returns></returns>
|
||||
public bool DDB_DoRecalc(string idxMacchina, DateTime inizio, int idxStatoStart, int nStepEventi, int nRecCheck, bool checkOnly)
|
||||
{
|
||||
bool fatto = false;
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
|
||||
var Inizio = new SqlParameter("@inizio", inizio);
|
||||
var IdxStatoStart = new SqlParameter("@idxStatoStart", idxStatoStart);
|
||||
var NStepEventi = new SqlParameter("@nStepEventi", nStepEventi);
|
||||
var NRecCheck = new SqlParameter("@nRecCheck", nRecCheck);
|
||||
var CheckOnly = new SqlParameter("@CheckOnly", checkOnly);
|
||||
|
||||
var result = dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("exec man.stp_ricalcolaDatiMacchinaFromDateFork @IdxMacchina, @inizio, @idxStatoStart, @nStepEventi, @nRecCheck, @CheckOnly", IdxMacchina, Inizio, IdxStatoStart, NStepEventi, NRecCheck, CheckOnly);
|
||||
|
||||
// indico eseguito!
|
||||
fatto = result != 0;
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupera record successivo da DDB
|
||||
/// </summary>
|
||||
@@ -321,6 +353,7 @@ namespace MP.Data.Controllers
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Inserimento record in DDB
|
||||
/// </summary>
|
||||
@@ -355,38 +388,6 @@ namespace MP.Data.Controllers
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Inserimento record in DDB
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <param name="inizio"></param>
|
||||
/// <param name="idxStatoStart"></param>
|
||||
/// <param name="nStepEventi"></param>
|
||||
/// <param name="nRecCheck"></param>
|
||||
/// <param name="checkOnly"></param>
|
||||
/// <returns></returns>
|
||||
public bool DDB_DoRecalc(string idxMacchina, DateTime inizio, int idxStatoStart, int nStepEventi, int nRecCheck, bool checkOnly)
|
||||
{
|
||||
bool fatto = false;
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
|
||||
var Inizio = new SqlParameter("@inizio", inizio);
|
||||
var IdxStatoStart = new SqlParameter("@idxStatoStart", idxStatoStart);
|
||||
var NStepEventi = new SqlParameter("@nStepEventi", nStepEventi);
|
||||
var NRecCheck = new SqlParameter("@nRecCheck", nRecCheck);
|
||||
var CheckOnly = new SqlParameter("@CheckOnly", checkOnly);
|
||||
|
||||
var result = dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("exec man.stp_ricalcolaDatiMacchinaFromDateFork @IdxMacchina, @inizio, @idxStatoStart, @nStepEventi, @nRecCheck, @CheckOnly", IdxMacchina, Inizio, IdxStatoStart, NStepEventi, NRecCheck, CheckOnly);
|
||||
|
||||
// indico eseguito!
|
||||
fatto = result != 0;
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
//stp_DDB_getNextByMacchinaFrom
|
||||
|
||||
public void Dispose()
|
||||
@@ -827,6 +828,68 @@ namespace MP.Data.Controllers
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco turni macchina (all)
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <returns></returns>
|
||||
public TurniMaccModel TurnoMacchinaGet(string idxMacchina)
|
||||
{
|
||||
TurniMaccModel dbResult = new TurniMaccModel();
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
|
||||
dbResult = dbCtx
|
||||
.DbSetTurniMacc
|
||||
.FromSqlRaw("exec dbo.stp_turniMacchineByIdxMacc @IdxMacchina", IdxMacchina)
|
||||
.AsNoTracking()
|
||||
.AsEnumerable()
|
||||
.FirstOrDefault();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco turni macchina (all)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<TurniMaccModel> TurnoMacchinaGetAll()
|
||||
{
|
||||
List<TurniMaccModel> dbResult = new List<TurniMaccModel>();
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
dbResult = dbCtx
|
||||
.DbSetTurniMacc
|
||||
.AsNoTracking()
|
||||
.ToList();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Toggle turno macchina (da numero)
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <param name="numTurno"></param>
|
||||
/// <returns></returns>
|
||||
public bool TurnoMacchinaToggle(string idxMacchina, int numTurno)
|
||||
{
|
||||
bool answ = false;
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacchina);
|
||||
var NumTurno = new SqlParameter("@numTurno", numTurno);
|
||||
|
||||
var result = dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("exec dbo.stp_turniMacchineUpdateTurno @IdxMacchina, @numTurno", IdxMacchina, NumTurno);
|
||||
|
||||
// indico eseguito!
|
||||
answ = result > 0;
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
|
||||
#nullable disable
|
||||
// <Auto-Generated>
|
||||
// This is here so CodeMaid doesn't reorganize this document
|
||||
// </Auto-Generated>
|
||||
namespace MP.Data.DatabaseModels
|
||||
{
|
||||
[Table("TurniMacchina")]
|
||||
public partial class TurniMaccModel
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
[Key, MaxLength(50)]
|
||||
public string IdxMacchina { get; set; } = "NA";
|
||||
public bool T1 { get; set; } = false;
|
||||
public bool T2 { get; set; } = false;
|
||||
public bool T3 { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Navigazione oggetto Machine
|
||||
/// </summary>
|
||||
[ForeignKey("IdxMacchina")]
|
||||
public virtual Macchine MachineNav { get; set; } = null!;
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
}
|
||||
@@ -70,6 +70,7 @@ namespace MP.Data
|
||||
public virtual DbSet<MicroStatoMacchinaModel> DbSetMicroStatoMacc { get; set; }
|
||||
public virtual DbSet<StatoMacchineModel> DbSetStatoMacc { get; set; }
|
||||
public virtual DbSet<StatoProdModel> DbSetStatoProd { get; set; }
|
||||
public virtual DbSet<TurniMaccModel> DbSetTurniMacc { get; set; }
|
||||
|
||||
public virtual DbSet<ST_Act> DbSetStAct { get; set; }
|
||||
public virtual DbSet<ST_ActRow> DbSetStActRow { get; set; }
|
||||
|
||||
@@ -291,16 +291,6 @@ namespace MP.Data.Services
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupera record successivo da DDB
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <param name="inizioStato"></param>
|
||||
/// <returns></returns>
|
||||
public DiarioDiBordoModel DDB_getNext(string idxMacchina, DateTime inizioStato)
|
||||
{
|
||||
return dbTabController.DDB_getNext(idxMacchina, inizioStato);
|
||||
}
|
||||
/// <summary>
|
||||
/// Inserimento record in DDB
|
||||
/// </summary>
|
||||
@@ -318,6 +308,17 @@ namespace MP.Data.Services
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupera record successivo da DDB
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <param name="inizioStato"></param>
|
||||
/// <returns></returns>
|
||||
public DiarioDiBordoModel DDB_getNext(string idxMacchina, DateTime inizioStato)
|
||||
{
|
||||
return dbTabController.DDB_getNext(idxMacchina, inizioStato);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
// Clear database controller
|
||||
@@ -820,6 +821,88 @@ namespace MP.Data.Services
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Turno macchina
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<TurniMaccModel> TurnoMacchinaGet(string idxMacchina)
|
||||
{
|
||||
string source = "DB";
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
TurniMaccModel? result = new TurniMaccModel();
|
||||
// cerco in redis...
|
||||
string currKey = $"{redisBaseKey}:TurniMacc:{idxMacchina}";
|
||||
RedisValue rawData = await redisDb.StringGetAsync(currKey);
|
||||
//if (!string.IsNullOrEmpty($"{rawData}"))
|
||||
if (rawData.HasValue)
|
||||
{
|
||||
result = JsonConvert.DeserializeObject<TurniMaccModel>($"{rawData}");
|
||||
source = "REDIS";
|
||||
}
|
||||
else
|
||||
{
|
||||
result = await Task.FromResult(dbTabController.TurnoMacchinaGet(idxMacchina));
|
||||
// serializzp e salvo...
|
||||
rawData = JsonConvert.SerializeObject(result);
|
||||
await redisDb.StringSetAsync(currKey, rawData, LongCache);
|
||||
}
|
||||
if (result == null)
|
||||
{
|
||||
result = new TurniMaccModel();
|
||||
}
|
||||
sw.Stop();
|
||||
Log.Debug($"TurnoMacchinaGet | {source} | {sw.Elapsed.TotalMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco turni macchina (all)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<List<TurniMaccModel>> TurnoMacchinaGetAll()
|
||||
{
|
||||
string source = "DB";
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
List<TurniMaccModel>? result = new List<TurniMaccModel>();
|
||||
// cerco in redis...
|
||||
string currKey = $"{redisBaseKey}:TurniMacc:All";
|
||||
RedisValue rawData = await redisDb.StringGetAsync(currKey);
|
||||
if (rawData.HasValue)
|
||||
{
|
||||
result = JsonConvert.DeserializeObject<List<TurniMaccModel>>($"{rawData}");
|
||||
source = "REDIS";
|
||||
}
|
||||
else
|
||||
{
|
||||
result = await Task.FromResult(dbTabController.TurnoMacchinaGetAll());
|
||||
// serializzp e salvo...
|
||||
rawData = JsonConvert.SerializeObject(result);
|
||||
await redisDb.StringSetAsync(currKey, rawData, LongCache);
|
||||
}
|
||||
if (result == null)
|
||||
{
|
||||
result = new List<TurniMaccModel>();
|
||||
}
|
||||
sw.Stop();
|
||||
Log.Debug($"TurnoMacchinaGetAll | {source} | {sw.Elapsed.TotalMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Toggle stato turno
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <param name="numTurno"></param>
|
||||
/// <returns></returns>
|
||||
public bool TurnoMacchinaToggle(string idxMacchina, int numTurno)
|
||||
{
|
||||
bool answ=dbTabController.TurnoMacchinaToggle(idxMacchina, numTurno);
|
||||
FlushCache("TurniMacc").ConfigureAwait(false);
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Intera vista v_MSFD
|
||||
/// </summary>
|
||||
@@ -834,7 +917,6 @@ namespace MP.Data.Services
|
||||
// cerco in redis...
|
||||
string currKey = $"{redisBaseKey}:MSFD:ALL";
|
||||
RedisValue rawData = await redisDb.StringGetAsync(currKey);
|
||||
//if (!string.IsNullOrEmpty($"{rawData}"))
|
||||
if (rawData.HasValue)
|
||||
{
|
||||
result = JsonConvert.DeserializeObject<List<VMSFDModel>>($"{rawData}");
|
||||
|
||||
Reference in New Issue
Block a user