Update MON
This commit is contained in:
@@ -4,57 +4,79 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="card mb-3 border border-dark rounded rounded-3 shadow">
|
||||
<div class="card-body @cssStatus(CurrRecord.Semaforo) bg-gradient text-white p-1">
|
||||
<div class="card-title text-uppercase text-center fs-4 mb-0">@CurrRecord.Nome</div>
|
||||
<div class="bg-light bg-gradient text-dark px-1 rounded shadow small lh-sm py-1">
|
||||
<div class="card-text d-flex justify-content-between small">
|
||||
<div class="px-1">
|
||||
ART:
|
||||
</div>
|
||||
<div class="px-1">
|
||||
@if (showArt == "CodArticolo")
|
||||
{
|
||||
<span>@CurrRecord.CodArticolo</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrEmpty(CurrRecord.Disegno))
|
||||
<div class="card mb-1 border border-dark rounded rounded-3 shadow">
|
||||
<div class="card-body @cssStatus(CurrRecord.Semaforo, doAnimate) bg-gradient text-white p-1">
|
||||
<div class="bg-dark text-white opacity-75 px-1 rounded shadow small lh-sm py-0 my-0">
|
||||
<div class="card-title text-uppercase bg-dark text-center py-0 my-0 fs-3 text-truncate">
|
||||
@CurrRecord.Nome
|
||||
</div>
|
||||
<div class="bg-dark text-white opacity-100 bg-gradient px-1 rounded shadow small lh-sm py-0">
|
||||
<div class="card-text d-flex justify-content-between small lh-sm">
|
||||
<div class="px-1">
|
||||
ART:
|
||||
</div>
|
||||
<div class="px-1">
|
||||
@if (showArt == "CodArticolo")
|
||||
{
|
||||
<span>[@CurrRecord.CodArticolo]</span>
|
||||
<span>@CurrRecord.CodArticolo</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>@CurrRecord.Disegno</span>
|
||||
if (string.IsNullOrEmpty(CurrRecord.Disegno))
|
||||
{
|
||||
<span>[@CurrRecord.CodArticolo]</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>@CurrRecord.Disegno</span>
|
||||
}
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-text d-flex justify-content-between small">
|
||||
<div class="px-1">
|
||||
PODL:
|
||||
<div class="card-text d-flex justify-content-between small lh-sm">
|
||||
<div class="px-1">
|
||||
PODL:
|
||||
</div>
|
||||
<div class="px-1">
|
||||
@(CurrRecord.IdxPOdl > 0 ? $"{CurrRecord.IdxPOdl:00000000}" : "-")
|
||||
</div>
|
||||
</div>
|
||||
<div class="px-1">
|
||||
@(CurrRecord.IdxPOdl > 0 ? $"{CurrRecord.IdxPOdl:00000000}" : "-")
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-text d-flex justify-content-between small">
|
||||
<div class="px-1">
|
||||
ODL:
|
||||
</div>
|
||||
<div class="px-1">
|
||||
@(CurrRecord.IdxOdl > 0 ? $"{CurrRecord.IdxOdl:00000000}" : "-")
|
||||
<div class="card-text d-flex justify-content-between small lh-sm">
|
||||
<div class="px-1">
|
||||
ODL:
|
||||
</div>
|
||||
<div class="px-1">
|
||||
@(CurrRecord.IdxOdl > 0 ? $"{CurrRecord.IdxOdl:00000000}" : "-")
|
||||
</div>
|
||||
</div>
|
||||
@if (hasRow(4))
|
||||
{
|
||||
<div class="d-flex justify-content-between small lh-sm">
|
||||
@foreach (var item in rowValues(4))
|
||||
{
|
||||
<div class="px-1 @item.TagCss">@item.TagName: <b>@currVal(item.TagLocation)</b></div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="d-flex justify-content-between small lh-sm">
|
||||
<div class="px-1 pe-0">TC. Act</div>
|
||||
<div class="px-1 ps-0">@getMinSec(@CurrRecord.TCLavRT) <small>[@getMinSec(@CurrRecord.TCAssegnato)]</small></div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-text text-light bg-dark bg-gradient rounded py-1 shadow my-1">
|
||||
<div class=" d-flex justify-content-between text-warning small">
|
||||
<div class="card-text text-light bg-dark bg-gradient rounded py-1 shadow mt-1 mb-0">
|
||||
<div class=" d-flex justify-content-between text-warning small scroll-left">
|
||||
<div class="px-1 text-uppercase">@CurrRecord.DescrizioneStato</div>
|
||||
<div class="px-1">@getMinSec(getDecimal(@CurrRecord.Durata))</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="d-flex justify-content-around fs-5">
|
||||
<div class="px-1">
|
||||
@CurrRecord.PezziProd / @CurrRecord.NumPezzi
|
||||
<span class="text-light">@CurrRecord.PezziProd</span> / <span class="text-light">@CurrRecord.NumPezzi</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -65,15 +87,15 @@ else
|
||||
</div>
|
||||
</div> *@
|
||||
</div>
|
||||
<div class="card-footer p-0 text-opacity-50 small" style="font-size: 0.7rem;">
|
||||
<div class="d-flex justify-content-between @cssComStatus(CurrRecord.Semaforo, CurrRecord.LastUpdate)">
|
||||
@if (showComErr(CurrRecord.LastUpdate))
|
||||
{
|
||||
<div class="px-1 text-warning">
|
||||
<div class="card-footer px-1 pb-1 pt-0 small @cssStatus(CurrRecord.Semaforo, false)" style="font-size: 0.7rem;">
|
||||
<div class="d-flex text-white justify-content-between @cssComStatus(CurrRecord.Semaforo, CurrRecord.LastUpdate)">
|
||||
<div class="px-1 text-light">
|
||||
@if (showComErr(CurrRecord.LastUpdate))
|
||||
{
|
||||
<b>C.101</b>
|
||||
</div>
|
||||
}
|
||||
<div class="px-1 text-end text-light">
|
||||
}
|
||||
</div>
|
||||
<div class="px-1 text-end text-light text-truncate">
|
||||
@CurrRecord.LastUpdate
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -44,19 +44,90 @@ namespace MP.Mon.Components
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Private Methods
|
||||
#region Protected Methods
|
||||
|
||||
private decimal getDecimal(object? rawData)
|
||||
/// <summary>
|
||||
/// Verifica se ci sia un override per la riga indicata
|
||||
/// </summary>
|
||||
/// <param name="numRow"></param>
|
||||
/// <returns></returns>
|
||||
protected bool hasRow(int numRow)
|
||||
{
|
||||
decimal answ = 0;
|
||||
if (rawData != null)
|
||||
bool answ = false;
|
||||
if (currTagConf != null)
|
||||
{
|
||||
decimal.TryParse($"{rawData}", out answ);
|
||||
if (currTagConf.Count > 0)
|
||||
{
|
||||
var currVals = rowValues(numRow);
|
||||
answ = currVals.Count > 0;
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Restituisce (se presenti) valori di override per la riga indicata
|
||||
/// </summary>
|
||||
/// <param name="numRow"></param>
|
||||
/// <returns></returns>
|
||||
protected List<TagData> rowValues(int numRow)
|
||||
{
|
||||
List<TagData>? rowVals = null;
|
||||
if (currTagConf != null)
|
||||
{
|
||||
if (currTagConf.Count > 0)
|
||||
{
|
||||
//cerco solo la riga corrente...
|
||||
rowVals = currTagConf.Where(x => x.RowNum == numRow).ToList();
|
||||
}
|
||||
}
|
||||
if (rowVals == null)
|
||||
{
|
||||
rowVals = new List<TagData>();
|
||||
}
|
||||
return rowVals;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// restituisce il valore data la tagLocation
|
||||
/// </summary>
|
||||
/// <param name="tagLocation"></param>
|
||||
/// <returns></returns>
|
||||
protected string currVal(string tagLocation)
|
||||
{
|
||||
string answ = "";
|
||||
if (currTagVal.ContainsKey(tagLocation))
|
||||
{
|
||||
answ = currTagVal[tagLocation];
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
private string cssStatus(string codSemaforo)
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private string cssComStatus(string semaforo, DateTime? lastUpdateN)
|
||||
{
|
||||
DateTime lastUpdate = lastUpdateN.HasValue ? (DateTime)lastUpdateN : DateTime.Now.AddHours(-1);
|
||||
string answ = "bg-dark opacity-75"; cssStatus(semaforo, false);
|
||||
if (DateTime.Now.Subtract(lastUpdate).TotalSeconds > (keepAliveMin * kaFactor))
|
||||
{
|
||||
answ = $"bg-danger";
|
||||
// blink se secondo pari...
|
||||
#if false
|
||||
DateTime adesso = DateTime.Now;
|
||||
int resto = 0;
|
||||
Math.DivRem(adesso.Second, 2, out resto);
|
||||
if (resto == 0)
|
||||
{
|
||||
answ += " opacity-100";
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
private string cssStatus(string codSemaforo, bool animate)
|
||||
{
|
||||
string answ = "";
|
||||
// se vuoto --> mostra nero!
|
||||
@@ -69,28 +140,34 @@ namespace MP.Mon.Components
|
||||
{
|
||||
case "sVe":
|
||||
answ = "bg-success";
|
||||
doAnimate = false;
|
||||
animate = false;
|
||||
break;
|
||||
|
||||
case "sGi":
|
||||
answ = "bg-warning";
|
||||
break;
|
||||
|
||||
case "sGr":
|
||||
answ = "bg-dark opacity-75";
|
||||
doAnimate = false;
|
||||
animate = false;
|
||||
break;
|
||||
|
||||
case "sRo":
|
||||
answ = "bg-danger";
|
||||
break;
|
||||
|
||||
case "sBl":
|
||||
answ = "bg-primary";
|
||||
break;
|
||||
|
||||
case "sNe":
|
||||
answ = "bg-dark";
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (doAnimate)
|
||||
if (animate)
|
||||
{
|
||||
if (doBlink)
|
||||
{
|
||||
@@ -99,21 +176,13 @@ namespace MP.Mon.Components
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
private string cssComStatus(string semaforo, DateTime? lastUpdateN)
|
||||
|
||||
private decimal getDecimal(object? rawData)
|
||||
{
|
||||
DateTime lastUpdate = lastUpdateN.HasValue ? (DateTime)lastUpdateN : DateTime.Now.AddHours(-1);
|
||||
string answ = cssStatus(semaforo);
|
||||
if (DateTime.Now.Subtract(lastUpdate).TotalSeconds > (keepAliveMin * kaFactor))
|
||||
decimal answ = 0;
|
||||
if (rawData != null)
|
||||
{
|
||||
answ = $"bg-danger";
|
||||
// blink se secondo pari...
|
||||
DateTime adesso = DateTime.Now;
|
||||
int resto = 0;
|
||||
Math.DivRem(adesso.Second, 2, out resto);
|
||||
if (resto == 0)
|
||||
{
|
||||
answ += " opacity-75";
|
||||
}
|
||||
decimal.TryParse($"{rawData}", out answ);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
/* gestione scroll testo */
|
||||
.scroll-left {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.scroll-left span {
|
||||
/*display: inline-block;*/
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
line-height: 1.5em;
|
||||
/* Starting position */
|
||||
-moz-transform: translateX(-50%);
|
||||
-webkit-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
/* Apply animation to this element */
|
||||
-moz-animation: scroll-left 20s ease infinite;
|
||||
-webkit-animation: scroll-left 20s ease infinite;
|
||||
animation: scroll-left 20s ease infinite;
|
||||
}
|
||||
/* Move it (define the animation) */
|
||||
@keyframes scroll-left {
|
||||
0% {
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
25% {
|
||||
transform: translateX(-30%);
|
||||
}
|
||||
50% {
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
75% {
|
||||
transform: translateX(-70%);
|
||||
}
|
||||
100% {
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
/* gestione scroll testo */
|
||||
.scroll-left {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.scroll-left span {
|
||||
/*display: inline-block;*/
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
line-height: 1.5em;
|
||||
/* Starting position */
|
||||
-moz-transform: translateX(-50%);
|
||||
-webkit-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
/* Apply animation to this element */
|
||||
-moz-animation: scroll-left 20s ease infinite;
|
||||
-webkit-animation: scroll-left 20s ease infinite;
|
||||
animation: scroll-left 20s ease infinite;
|
||||
}
|
||||
/* Move it (define the animation) */
|
||||
@keyframes scroll-left {
|
||||
0% {
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
25% {
|
||||
transform: translateX(-30%);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
75% {
|
||||
transform: translateX(-70%);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
.scroll-left{overflow:hidden;position:relative;width:100%;white-space:nowrap;}.scroll-left span{position:absolute;width:100%;height:100%;margin:0;line-height:1.5em;-moz-transform:translateX(-50%);-webkit-transform:translateX(-50%);transform:translateX(-50%);-moz-animation:scroll-left 20s ease infinite;-webkit-animation:scroll-left 20s ease infinite;animation:scroll-left 20s ease infinite;}@keyframes scroll-left{0%{transform:translateX(-50%);}25%{transform:translateX(-30%);}50%{transform:translateX(-50%);}75%{transform:translateX(-70%);}100%{transform:translateX(-50%);}}
|
||||
@@ -4,7 +4,7 @@
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Version>6.16.2503.1207</Version>
|
||||
<Version>6.16.2503.1211</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -35,13 +35,20 @@ else
|
||||
mseIdx++;
|
||||
if (currMse != null)
|
||||
{
|
||||
<div class="col p-0">
|
||||
<DetailMSE CurrRecord="@currMse" currTagConf="@getIobTag(currMse.IdxMacchina)" currTagVal="@getTagVal(currMse.IdxMacchina)" doAnimate="@doAnimate" keepAliveMin="@keepAliveMin" showArt="@showArt" doBlink="@doBlink"></DetailMSE>
|
||||
</div>
|
||||
|
||||
@* <div class="col p-0">
|
||||
<DetailViewMSE CurrRecord="@currMse" currTagConf="@getIobTag(currMse.IdxMacchina)" currTagVal="@getTagVal(currMse.IdxMacchina)" doAnimate="@doAnimate" keepAliveMin="@keepAliveMin" showArt="@showArt" doBlink="@doBlink"></DetailViewMSE>
|
||||
</div> *@
|
||||
bool showOld = false;
|
||||
bool showNew = true;
|
||||
@if (showOld)
|
||||
{
|
||||
<div class="col p-0">
|
||||
<DetailMSE CurrRecord="@currMse" currTagConf="@getIobTag(currMse.IdxMacchina)" currTagVal="@getTagVal(currMse.IdxMacchina)" doAnimate="@doAnimate" keepAliveMin="@keepAliveMin" showArt="@showArt" doBlink="@doBlink"></DetailMSE>
|
||||
</div>
|
||||
}
|
||||
if(showNew)
|
||||
{
|
||||
<div class="col p-0">
|
||||
<DetailViewMSE CurrRecord="@currMse" currTagConf="@getIobTag(currMse.IdxMacchina)" currTagVal="@getTagVal(currMse.IdxMacchina)" doAnimate="@doAnimate" keepAliveMin="@keepAliveMin" showArt="@showArt" doBlink="@doBlink"></DetailViewMSE>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -51,7 +58,7 @@ else
|
||||
</div>
|
||||
}
|
||||
|
||||
@* <div class="row statusMap mx-1 my-1">
|
||||
@* <div class="row statusMap mx-1 my-1">
|
||||
@{
|
||||
int currIdx = 0;
|
||||
foreach (var recordIob in ListMSE)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>Modulo MON MAPO</i>
|
||||
<h4>Versione: 6.16.2503.1207</h4>
|
||||
<h4>Versione: 6.16.2503.1211</h4>
|
||||
<br /> Note di rilascio:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
6.16.2503.1207
|
||||
6.16.2503.1211
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>6.16.2503.1207</version>
|
||||
<version>6.16.2503.1211</version>
|
||||
<url>https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/MP.Mon.zip</url>
|
||||
<changelog>https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
@@ -10,5 +10,9 @@
|
||||
{
|
||||
"outputFile": "Components/DetailMSE.razor.css",
|
||||
"inputFile": "Components/DetailMSE.razor.less"
|
||||
},
|
||||
{
|
||||
"outputFile": "Components/DetailViewMSE.razor.css",
|
||||
"inputFile": "Components/DetailViewMSE.razor.less"
|
||||
}
|
||||
]
|
||||
@@ -4,8 +4,8 @@
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<RootNamespace>MP.Stats</RootNamespace>
|
||||
<UserSecretsId>826e877c-ba70-4253-84cb-d0b1cafd4440</UserSecretsId>
|
||||
<Version>6.16.2503.1207</Version>
|
||||
<Version>6.16.2503.1207</Version>
|
||||
<Version>6.16.2503.1210</Version>
|
||||
<Version>6.16.2503.1210</Version>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<NoWarn>$(NoWarn);1591</NoWarn>
|
||||
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>Modulo statistiche MAPO</i>
|
||||
<h4>Versione: 6.16.2503.1207</h4>
|
||||
<h4>Versione: 6.16.2503.1210</h4>
|
||||
<br />
|
||||
Note di rilascio:
|
||||
<ul>
|
||||
|
||||
@@ -1 +1 @@
|
||||
6.16.2503.1207
|
||||
6.16.2503.1210
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>6.16.2503.1207</version>
|
||||
<version>6.16.2503.1210</version>
|
||||
<url>https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/MP.Stats.zip</url>
|
||||
<changelog>https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
Reference in New Issue
Block a user