Merge commit '26c39d1ddc31b1e61bda8dd36c4dcd85877f1d84'
This commit is contained in:
@@ -331,3 +331,7 @@ _Pvt_Extensions
|
||||
.settings
|
||||
|
||||
|
||||
# Area temp
|
||||
|
||||
/SMGen/*/unsafe_uploads/*
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
variables:
|
||||
VERS_MAIN: '0.9'
|
||||
NEW_REL: ''
|
||||
APP_NAME: 'SMGen'
|
||||
SOL_NAME: 'SMGen'
|
||||
|
||||
# helper x fix pacchetti nuget da repo locale nexus.steamware.net
|
||||
.nuget-fix: &nuget-fix
|
||||
- |
|
||||
echo "esecuzione Nuget FIX steps"
|
||||
dotnet nuget list source
|
||||
$hasSource = dotnet nuget list source | Select-String -Pattern "Steamware Nexus Proxy"
|
||||
if (! [String]::IsNullOrWhiteSpace($hasSource)) {
|
||||
dotnet nuget remove source "`"Steamware Nexus Proxy`""
|
||||
}
|
||||
$hasSource = dotnet nuget list source | Select-String -Pattern "Steamware Nexus"
|
||||
if (! [String]::IsNullOrWhiteSpace($hasSource)) {
|
||||
dotnet nuget remove source "`"Steamware Nexus`""
|
||||
}
|
||||
$hasSource = dotnet nuget list source | Select-String -Pattern "nexus-proxy-v3"
|
||||
if (! [String]::IsNullOrWhiteSpace($hasSource)) {
|
||||
dotnet nuget remove source nexus-proxy-v3
|
||||
}
|
||||
dotnet nuget add source https://nexus.steamware.net/repository/nuget-group-3/index.json -n "Steamware Nexus" -u nugetUser -p $NEXUS_PASSWD --store-password-in-clear-text
|
||||
echo "Steamware Nexus Source added"
|
||||
|
||||
|
||||
|
||||
stages:
|
||||
- build
|
||||
- staging
|
||||
- deploy
|
||||
|
||||
# ---------- BUILD ----------
|
||||
SMGen:build:
|
||||
stage: build
|
||||
tags:
|
||||
- win
|
||||
variables:
|
||||
APP_NAME: SMGen
|
||||
SOL_NAME: SMGen
|
||||
before_script:
|
||||
- *nuget-fix
|
||||
- dotnet restore "$env:SOL_NAME.sln"
|
||||
script:
|
||||
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
||||
|
||||
|
||||
# ---------- STAGING ----------
|
||||
SMGen:staging:
|
||||
stage: staging
|
||||
tags:
|
||||
- win
|
||||
variables:
|
||||
APP_NAME: SMGen
|
||||
SOL_NAME: SMGen
|
||||
only:
|
||||
- develop
|
||||
needs: ["SMGen:build"]
|
||||
before_script:
|
||||
- *nuget-fix
|
||||
- dotnet restore "$env:SOL_NAME.sln"
|
||||
script:
|
||||
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
||||
- dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
|
||||
|
||||
# ---------- DEPLOY ----------
|
||||
SMGen:deploy:
|
||||
stage: deploy
|
||||
tags:
|
||||
- win
|
||||
environment:
|
||||
name: production
|
||||
url: https://office.egalware.com/MP/SMGEN
|
||||
variables:
|
||||
APP_NAME: SMGen
|
||||
SOL_NAME: SMGen
|
||||
only:
|
||||
- main
|
||||
needs: ["SMGen:build"]
|
||||
before_script:
|
||||
- *nuget-fix
|
||||
- dotnet restore "$env:SOL_NAME.sln"
|
||||
script:
|
||||
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
||||
# IIS PROD
|
||||
- dotnet publish -p:PublishProfile=IIS-PROD.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.0 KiB |
@@ -0,0 +1 @@
|
||||
0.8.
|
||||
@@ -0,0 +1 @@
|
||||
0.8.2307.2416
|
||||
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SMGen.Core
|
||||
{
|
||||
//// <Auto-Generated>
|
||||
//// This is here so CodeMaid doesn't reorganize this document
|
||||
//// </Auto-Generated>
|
||||
///
|
||||
public class Constants
|
||||
{
|
||||
|
||||
public static readonly string BASE_HASH = "SMGEN";
|
||||
public static readonly string BASE_PATH = Directory.GetCurrentDirectory();
|
||||
|
||||
public static readonly string FILES_TO_PROC = $"{BASE_HASH}:Files:Pending";
|
||||
|
||||
public const string redisBaseAddr = "SMGEN";
|
||||
public const string rKeyFiles = $"{redisBaseAddr}:Files";
|
||||
public const string rKeyEventi = $"{redisBaseAddr}:Eventi";
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
namespace SMGen
|
||||
{
|
||||
public class Enum
|
||||
{
|
||||
public enum LEVELS
|
||||
{
|
||||
LIVELLO_INGRESSI = 1,
|
||||
LIVELLO_TRANSIZIONI = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,150 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using NLog;
|
||||
using SMGen.Data.Data;
|
||||
using SMGen.Data.DbModels;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SMGen.Data.Controllers
|
||||
{
|
||||
public class SMGenController : IDisposable
|
||||
{
|
||||
private static IConfiguration _configuration;
|
||||
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
public SMGenController(IConfiguration configuration)
|
||||
{
|
||||
_configuration = configuration;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{ }
|
||||
|
||||
|
||||
public Dictionary<int, string> AnagEventiGetAll()
|
||||
{
|
||||
Dictionary<int, string> events = new Dictionary<int, string>();
|
||||
using (SMGDataContext localDbCtx = new SMGDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
var currRec = localDbCtx
|
||||
.DbSetAnagEventi
|
||||
.ToList();
|
||||
if (currRec != null)
|
||||
{
|
||||
foreach (var rec in currRec)
|
||||
{
|
||||
events.Add(rec.IdxTipo, rec.Nome);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante AnagEventiGetAll: {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return events;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Aggiunta in bulk delle transizioni/ingressi
|
||||
/// </summary>
|
||||
/// <param name="newTIRecs"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> TranInInsert(List<TransizioneIngressiModelTemp> newTIRecs, int currIdxFamiglia)
|
||||
{
|
||||
bool fatto = false;
|
||||
using (SMGDataContext localDbCtx = new SMGDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
foreach (var item in newTIRecs)
|
||||
{
|
||||
|
||||
var currRec = localDbCtx
|
||||
.DbSetTranIngTemp
|
||||
.Where(x => (x.IdxFamigliaIngresso == item.IdxFamigliaIngresso)
|
||||
&& (x.IdxMicroStato == item.IdxMicroStato)
|
||||
&& (x.ValoreIngresso == item.ValoreIngresso))
|
||||
.FirstOrDefault();
|
||||
if (currRec != null)
|
||||
{
|
||||
currRec.IdxTipoEvento = item.IdxTipoEvento;
|
||||
currRec.next_IdxMicroStato = item.next_IdxMicroStato;
|
||||
localDbCtx.Entry(currRec).State = EntityState.Modified;
|
||||
}
|
||||
else
|
||||
{
|
||||
localDbCtx
|
||||
.DbSetTranIngTemp
|
||||
.Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
fatto = true;
|
||||
Log.Info($"Scritto su db idxFamiglia: {currIdxFamiglia} ");
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante TranInInsert ({currIdxFamiglia}) : {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Aggiunta in bulk delle transizioni/ingressi
|
||||
/// </summary>
|
||||
/// <param name="newEvRecs"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> AnagEventinInsert(List<AnagEventiModelTemp> newEvRecs)
|
||||
{
|
||||
bool fatto = false;
|
||||
using (SMGDataContext localDbCtx = new SMGDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
//localDbCtx
|
||||
// .DbSetAnagEventiTemp
|
||||
// .AddRange(newEvRecs);
|
||||
//await localDbCtx.SaveChangesAsync();
|
||||
//fatto = true;
|
||||
|
||||
foreach (var item in newEvRecs)
|
||||
{
|
||||
var currRec = localDbCtx
|
||||
.DbSetAnagEventiTemp
|
||||
.Where(x => (x.IdxTipo == item.IdxTipo))
|
||||
.FirstOrDefault();
|
||||
if (currRec != null)
|
||||
{
|
||||
currRec.Nome = item.Nome;
|
||||
localDbCtx.Entry(currRec).State = EntityState.Modified;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
localDbCtx
|
||||
.DbSetAnagEventiTemp
|
||||
.Add(item);
|
||||
}
|
||||
}
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
fatto = true;
|
||||
Log.Info($"Gli stati sono OK!");
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante AnagEventinInsert: {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
namespace SMGen.Data.Data
|
||||
{
|
||||
public class FilesClass
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Indica che è in esecuzione il processing del file (quando è in una lista di file da processare)
|
||||
/// </summary>
|
||||
public bool calcRunning { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// File name x download finale file csv
|
||||
/// </summary>
|
||||
public string DLoadFileName { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Boolean indica che è stato processato e salvato (DB/File)
|
||||
/// </summary>
|
||||
public bool isOk { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// File name temporaneo (autogenerato scrambled)
|
||||
/// </summary>
|
||||
public string tempFileName { get; set; } = "";
|
||||
/// <summary>
|
||||
/// File name originale (caricato)
|
||||
/// </summary>
|
||||
public string origFileName { get; set; } = "";
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace SMGen.Data
|
||||
{
|
||||
public class RuleClass
|
||||
{
|
||||
public string state { get; set; } = "";
|
||||
public string expression { get; set; } = "";
|
||||
public string next_state { get; set; } = "";
|
||||
public string event_to_send { get; set; } = "";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
using NLog.LayoutRenderers.Wrappers;
|
||||
|
||||
namespace SMGen.Data
|
||||
{
|
||||
public class SelectSMIn2EvParams
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
public SelectSMIn2EvParams()
|
||||
{ }
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Properties
|
||||
|
||||
|
||||
public int CurrPage { get; set; } = 1;
|
||||
|
||||
public int MaxRecord { get; set; } = 100;
|
||||
|
||||
public int NumRec { get; set; } = 10;
|
||||
|
||||
public int TotCount { get; set; } = 0;
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public SelectSMIn2EvParams clone()
|
||||
{
|
||||
SelectSMIn2EvParams clonedData = new SelectSMIn2EvParams()
|
||||
{
|
||||
CurrPage = this.CurrPage,
|
||||
MaxRecord = this.MaxRecord,
|
||||
NumRec = this.NumRec,
|
||||
TotCount = this.TotCount
|
||||
};
|
||||
return clonedData;
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is SelectSMIn2EvParams item))
|
||||
return false;
|
||||
|
||||
if (MaxRecord != item.MaxRecord)
|
||||
return false;
|
||||
|
||||
if (NumRec != item.NumRec)
|
||||
return false;
|
||||
|
||||
if (TotCount != item.TotCount)
|
||||
return false;
|
||||
|
||||
if (CurrPage != item.CurrPage)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SMGen.Data.DbModels
|
||||
{
|
||||
[Table("AnagraficaEventi")]
|
||||
public class AnagEventiModel
|
||||
{
|
||||
[Key]
|
||||
public int IdxTipo { get; set; } = 0;
|
||||
[MaxLength(50)]
|
||||
public string Nome { get; set; } = "";
|
||||
[MaxLength(50)]
|
||||
public string TabAzione { get; set; } = "";
|
||||
[MaxLength(50)]
|
||||
public string Azione { get; set; } = "";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SMGen.Data.DbModels
|
||||
{
|
||||
[Table("AnagraficaEventi_Chk")]
|
||||
public class AnagEventiModelTemp
|
||||
{
|
||||
[Key]
|
||||
public int IdxTipo { get; set; } = 0;
|
||||
[MaxLength(50)]
|
||||
public string Nome { get; set; } = "";
|
||||
[MaxLength(50)]
|
||||
public string TabAzione { get; set; } = "";
|
||||
[MaxLength(50)]
|
||||
public string Azione { get; set; } = "";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SMGen.Data.DbModels
|
||||
{
|
||||
[Table("AnagraficaStati")]
|
||||
public class AnagStatiModel
|
||||
{
|
||||
[Key]
|
||||
public int IdxStato { get; set; } = 0;
|
||||
[MaxLength(50)]
|
||||
public string Descrizione { get; set; } = "";
|
||||
[MaxLength(50)]
|
||||
public string Semaforo { get; set; } = "";
|
||||
public int Priorita { get; set; } = 0;
|
||||
[MaxLength(50)]
|
||||
public string ClasseTempo { get; set; } = "";
|
||||
public bool ShowArticolo { get; set; } = true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SMGen.Data.DbModels
|
||||
{
|
||||
[Table("AnagraficaStati_Chk")]
|
||||
public class AnagStatiModelTemp
|
||||
{
|
||||
[Key]
|
||||
public int IdxStato { get; set; } = 0;
|
||||
[MaxLength(50)]
|
||||
public string Descrizione { get; set; } = "";
|
||||
[MaxLength(50)]
|
||||
public string Semaforo { get; set; } = "";
|
||||
public int Priorita { get; set; } = 0;
|
||||
[MaxLength(50)]
|
||||
public string ClasseTempo { get; set; } = "";
|
||||
public bool ShowArticolo { get; set; } = true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SMGen.Data.DbModels
|
||||
{
|
||||
[Table("TransizioneIngressi")]
|
||||
public class TransizioneIngressiModel
|
||||
{
|
||||
public int IdxFamigliaIngresso { get; set; } = 0;
|
||||
public int IdxMicroStato { get; set; } = 0;
|
||||
public int ValoreIngresso { get; set; } = 0;
|
||||
public int IdxTipoEvento { get; set; } = 0;
|
||||
public int next_IdxMicroStato { get; set; } = 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SMGen.Data.DbModels
|
||||
{
|
||||
[Table("TransizioneIngressi_Chk")]
|
||||
public class TransizioneIngressiModelTemp
|
||||
{
|
||||
public int IdxFamigliaIngresso { get; set; } = 0;
|
||||
public int IdxMicroStato { get; set; } = 0;
|
||||
public int ValoreIngresso { get; set; } = 0;
|
||||
public int IdxTipoEvento { get; set; } = 0;
|
||||
public int next_IdxMicroStato { get; set; } = 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Storage;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using NLog;
|
||||
using SMGen.Data.DbModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SMGen.Data
|
||||
{
|
||||
public partial class SMGDataContext : DbContext
|
||||
{
|
||||
public SMGDataContext()
|
||||
{ }
|
||||
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
private IConfiguration _configuration;
|
||||
public SMGDataContext(IConfiguration configuration)
|
||||
{
|
||||
_configuration = configuration;
|
||||
|
||||
try
|
||||
{
|
||||
Database.Migrate();
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error(exc, "Exception during context initialization 011");
|
||||
}
|
||||
}
|
||||
|
||||
public SMGDataContext(DbContextOptions<SMGDataContext> options, IConfiguration configuration)
|
||||
{
|
||||
_configuration = configuration;
|
||||
bool disableMigrate = _configuration.GetValue<bool>("SetupOpt:DisableSMGMigrate");
|
||||
if (!disableMigrate)
|
||||
{
|
||||
try
|
||||
{
|
||||
// se non ci fosse... crea o migra!
|
||||
Database.Migrate();
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error(exc, "Exception during context initialization 02");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual DbSet<TransizioneIngressiModelTemp> DbSetTranIngTemp { get; set; } = null!;
|
||||
public virtual DbSet<AnagEventiModelTemp> DbSetAnagEventiTemp { get; set; } = null!;
|
||||
public virtual DbSet<AnagEventiModel> DbSetAnagEventi { get; set; } = null!;
|
||||
|
||||
public void DbForceMigrate()
|
||||
{
|
||||
// verifico SE devo eseguire la migration del DB IDENT...
|
||||
bool disableMigrate = _configuration.GetValue<bool>("SetupOpt:DisableSMGMigrate");
|
||||
if (!disableMigrate)
|
||||
{
|
||||
try
|
||||
{
|
||||
// se non ci fosse... crea o migra!
|
||||
Database.Migrate();
|
||||
Log.Info("DbForceMigrate: done!");
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error(exc, "DbForceMigrate: Exception during context initialization 01");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
if (!optionsBuilder.IsConfigured)
|
||||
{
|
||||
string connString = _configuration.GetConnectionString("SMGen.DB");
|
||||
if (!string.IsNullOrEmpty(connString))
|
||||
{
|
||||
optionsBuilder.UseSqlServer(connString);
|
||||
}
|
||||
else
|
||||
{
|
||||
optionsBuilder.UseSqlServer("Server=SQL2016DEV;Database=MoonPro;Trusted_Connection=True;");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.UseCollation("Latin1_General_CI_AS");
|
||||
modelBuilder.Entity<TransizioneIngressiModelTemp>().HasKey(c => new { c.IdxFamigliaIngresso, c.IdxMicroStato, c.ValoreIngresso });
|
||||
|
||||
OnModelCreatingPartial(modelBuilder);
|
||||
}
|
||||
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="SMGenDataContext.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="EgwCoreLib.Utils" Version="1.4.2307.3111" />
|
||||
<PackageReference Include="MailKit" Version="4.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.Negotiate" Version="6.0.20" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.13" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.13" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.13">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="NLog" Version="5.2.2" />
|
||||
<PackageReference Include="StackExchange.Redis" Version="2.6.122" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Controllers\" />
|
||||
<Folder Include="DTO\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SMGen.Core\SMGen.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="dto\.placeholder">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="SqlScripts\.placeholder">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,131 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection.Emit;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SMGen.Data
|
||||
{
|
||||
public partial class SMGenDataContext : DbContext
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
public SMGenDataContext()
|
||||
{
|
||||
}
|
||||
|
||||
public SMGenDataContext(IConfiguration configuration)
|
||||
{
|
||||
_configuration = configuration;
|
||||
try
|
||||
{
|
||||
// se non ci fosse... crea o migra!
|
||||
Database.Migrate();
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error(exc, "Exception during context initialization 02");
|
||||
}
|
||||
}
|
||||
|
||||
public SMGenDataContext(DbContextOptions<SMGenDataContext> options, IConfiguration configuration) : base(options)
|
||||
{
|
||||
_configuration = configuration;
|
||||
// verifico SE devo eseguire la migration del DB IDENT...
|
||||
bool disableMigrate = _configuration.GetValue<bool>("SetupOpt:DisableWDCMigrate");
|
||||
if (!disableMigrate)
|
||||
{
|
||||
try
|
||||
{
|
||||
// se non ci fosse... crea o migra!
|
||||
Database.Migrate();
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error(exc, "Exception during context initialization 02");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Properties
|
||||
|
||||
//public virtual DbSet<CompanyModel> DbSetCompany { get; set; } = null!;
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public void DbForceMigrate()
|
||||
{
|
||||
// verifico SE devo eseguire la migration del DB IDENT...
|
||||
bool disableMigrate = _configuration.GetValue<bool>("SetupOpt:DisableWDCMigrate");
|
||||
if (!disableMigrate)
|
||||
{
|
||||
try
|
||||
{
|
||||
// se non ci fosse... crea o migra!
|
||||
Database.Migrate();
|
||||
Log.Info("DbForceMigrate: done!");
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error(exc, "DbForceMigrate: Exception during context initialization 01");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
if (!optionsBuilder.IsConfigured)
|
||||
{
|
||||
string connString = _configuration.GetConnectionString("WDC.DB");
|
||||
if (!string.IsNullOrEmpty(connString))
|
||||
{
|
||||
optionsBuilder.UseSqlServer(connString);
|
||||
}
|
||||
else
|
||||
{
|
||||
//// dev
|
||||
//optionsBuilder.UseSqlServer("Server=SQL2016DEV;Database=WebDoorCreator;Trusted_Connection=True;", e => e.UseHierarchyId());
|
||||
optionsBuilder.UseSqlServer("Server=SQL2016DEV;Database=WebDoorCreator;Trusted_Connection=True;");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.UseCollation("Latin1_General_CI_AS");
|
||||
|
||||
|
||||
//modelBuilder.Seed();
|
||||
|
||||
OnModelCreatingPartial(modelBuilder);
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
private IConfiguration _configuration;
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Methods
|
||||
|
||||
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,823 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Newtonsoft.Json;
|
||||
using NLog;
|
||||
using SMGen.Core;
|
||||
using SMGen.Data.Controllers;
|
||||
using SMGen.Data.Data;
|
||||
using SMGen.Data.DbModels;
|
||||
using StackExchange.Redis;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
|
||||
namespace SMGen.Data.Services
|
||||
{
|
||||
public class SMGDataService
|
||||
{
|
||||
#region Public Fields
|
||||
|
||||
public static SMGenController dbController = null!;
|
||||
|
||||
#endregion Public Fields
|
||||
|
||||
#region Public Constructors
|
||||
|
||||
public SMGDataService(IConfiguration configuration, IConnectionMultiplexer redisConnMult)
|
||||
{
|
||||
_configuration = configuration;
|
||||
// Conf cache
|
||||
redisConn = redisConnMult;
|
||||
redisDb = this.redisConn.GetDatabase();
|
||||
|
||||
// json serializer... FIX errore loop circolare https://www.ryadel.com/en/jsonserializationexception-self-referencing-loop-detected-error-fix-entity-framework-asp-net-core/
|
||||
JSSettings = new JsonSerializerSettings()
|
||||
{
|
||||
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
|
||||
};
|
||||
|
||||
// cod app
|
||||
CodApp = _configuration["CodApp"];
|
||||
// Conf DB
|
||||
string connStr = _configuration.GetConnectionString("SMGen.DB");
|
||||
if (string.IsNullOrEmpty(connStr))
|
||||
{
|
||||
Log.Info("ConnString empty!");
|
||||
}
|
||||
else
|
||||
{
|
||||
dbController = new SMGenController(configuration);
|
||||
}
|
||||
|
||||
// chiudo log
|
||||
Log.Info("Avviata classe WebDoorCreatorService");
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Properties
|
||||
|
||||
public string CodApp { get; set; } = "";
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public async Task<bool> AnagEventinInsert(List<AnagEventiModelTemp> newEvList)
|
||||
{
|
||||
var dbResult = await dbController.AnagEventinInsert(newEvList);
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
/// <param name="pattern"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> ExecFlushRedisPattern(RedisValue pattern)
|
||||
{
|
||||
bool answ = false;
|
||||
var listEndpoints = redisConn.GetEndPoints();
|
||||
foreach (var endPoint in listEndpoints)
|
||||
{
|
||||
var server = redisConn.GetServer(endPoint);
|
||||
if (server != null)
|
||||
{
|
||||
var keyList = server.Keys(redisDb.Database, pattern);
|
||||
foreach (var item in keyList)
|
||||
{
|
||||
await redisDb.KeyDeleteAsync(item);
|
||||
}
|
||||
answ = true;
|
||||
}
|
||||
}
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
public async Task<Dictionary<string, FilesClass>> FilesGetAll()
|
||||
{
|
||||
Dictionary<string, FilesClass> dbResult = new Dictionary<string, FilesClass>();
|
||||
string currKey = $"{Constants.FILES_TO_PROC}";
|
||||
var rawData = await redisDb.HashGetAllAsync(currKey);
|
||||
foreach (var item in rawData)
|
||||
{
|
||||
var desVal = JsonConvert.DeserializeObject<FilesClass>(item.Value);
|
||||
dbResult.Add($"{item.Name}", desVal);
|
||||
}
|
||||
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
public async Task<bool> FilesLoadRedis(Dictionary<string, FilesClass> filesDict)
|
||||
{
|
||||
bool fatto = false;
|
||||
string currKey = $"{Constants.FILES_TO_PROC}";
|
||||
await ExecFlushRedisPattern(currKey);
|
||||
|
||||
foreach (var item in filesDict)
|
||||
{
|
||||
string valSer = JsonConvert.SerializeObject(item.Value, JSSettings);
|
||||
|
||||
await RedHashUpsert(currKey, item.Key, valSer);
|
||||
}
|
||||
|
||||
fatto = true;
|
||||
|
||||
return fatto;
|
||||
}
|
||||
|
||||
public async Task<bool> FileUpdate(string origFileName, FilesClass fileNewInfo)
|
||||
{
|
||||
bool fatto = false;
|
||||
string currKey = $"{Constants.FILES_TO_PROC}";
|
||||
//await ExecFlushRedisPattern(currKey);
|
||||
string valSer = JsonConvert.SerializeObject(fileNewInfo, JSSettings);
|
||||
|
||||
await RedHashUpsert(currKey, origFileName, valSer);
|
||||
|
||||
fatto = true;
|
||||
|
||||
return fatto;
|
||||
}
|
||||
|
||||
|
||||
public async Task<Dictionary<int, string>> AnagEventiGetAll()
|
||||
{
|
||||
string source = "DB";
|
||||
Dictionary<int, string> dbResult = new Dictionary<int, string>();
|
||||
try
|
||||
{
|
||||
// cerco da cache
|
||||
string currKey = $"{Constants.rKeyEventi}";
|
||||
Stopwatch stopWatch = new Stopwatch();
|
||||
stopWatch.Start();
|
||||
string? rawData = await redisDb.StringGetAsync(currKey);
|
||||
if (!string.IsNullOrEmpty(rawData))
|
||||
{
|
||||
source = "REDIS";
|
||||
var tempResult = JsonConvert.DeserializeObject<Dictionary<int, string>>(rawData);
|
||||
if (tempResult == null)
|
||||
{
|
||||
dbResult = new Dictionary<int, string>();
|
||||
}
|
||||
else
|
||||
{
|
||||
dbResult = tempResult;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dbResult = dbController.AnagEventiGetAll();
|
||||
rawData = JsonConvert.SerializeObject(dbResult, JSSettings);
|
||||
await redisDb.StringSetAsync(currKey, rawData, UltraLongCache);
|
||||
}
|
||||
if (dbResult == null)
|
||||
{
|
||||
dbResult = new Dictionary<int, string>();
|
||||
}
|
||||
stopWatch.Stop();
|
||||
TimeSpan ts = stopWatch.Elapsed;
|
||||
Log.Debug($"AnagEventiGetAll | {source} in: {ts.TotalMilliseconds} ms");
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Exception during AnagEventiGetAll: {exc}{Environment.NewLine}");
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
|
||||
public async Task<bool> TranInInsert(List<TransizioneIngressiModelTemp> newTIList, int currIdxFamiglia)
|
||||
{
|
||||
var dbResult = await dbController.TranInInsert(newTIList, currIdxFamiglia);
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
private bool b_rules_definition = false;
|
||||
private int n_bits = 0;
|
||||
private string n_state_machine_index = "";
|
||||
private int n_states = 0;
|
||||
private string sz_state_machine_name = "";
|
||||
protected string bitCsvPath
|
||||
{
|
||||
get => _configuration.GetValue<string>("ServerConf:BitCsvPath");
|
||||
}
|
||||
|
||||
protected bool calcEmptyState
|
||||
{
|
||||
get => _configuration.GetValue<bool>("SetupOptions:DoCalcEmptyState");
|
||||
}
|
||||
|
||||
protected bool calcItself
|
||||
{
|
||||
get => _configuration.GetValue<bool>("SetupOptions:DoCalcItself");
|
||||
}
|
||||
|
||||
protected string procRootDir
|
||||
{
|
||||
get => _configuration.GetValue<string>("ServerConf:ProcCsvRootPath");
|
||||
}
|
||||
|
||||
protected List<string> States2Rules { get; set; } = new List<string>();
|
||||
protected Dictionary<string, int> StatesAll { get; set; } = new Dictionary<string, int>();
|
||||
protected Dictionary<string, int> StatesAll2 { get; set; } = new Dictionary<string, int>();
|
||||
protected string statiCsvPath
|
||||
{
|
||||
get => _configuration.GetValue<string>("ServerConf:StatiCsvPath");
|
||||
}
|
||||
|
||||
private List<string> Bits { get; set; } = new List<string>();
|
||||
private List<string> Events_to_send { get; set; } = new List<string>();
|
||||
public List<AnagEventiModelTemp> events2Add { get; set; } = new List<AnagEventiModelTemp>();
|
||||
private List<RuleClass> Rules { get; set; } = new List<RuleClass>();
|
||||
private List<string> States { get; set; } = new List<string>();
|
||||
private List<TransizioneIngressiModelTemp> TranInList2add { get; set; } = new List<TransizioneIngressiModelTemp>();
|
||||
/// <summary>
|
||||
/// Valuta un file di ruoles x ingressi 2 eventi e restituisce esito
|
||||
/// </summary>
|
||||
/// <param name="currFile">Path file *.rul da processare</param>
|
||||
/// <param name="saveToDb">Indica se salvare sul DB</param>
|
||||
/// <returns></returns>
|
||||
///
|
||||
public async Task<FilesClass> EvalIn2EvRuleFile(FilesClass currFile, bool saveToDb)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
sz_state_machine_name = "";
|
||||
n_state_machine_index = "";
|
||||
n_states = 0;
|
||||
n_bits = 0;
|
||||
States.Clear();
|
||||
Bits.Clear();
|
||||
Events_to_send.Clear();
|
||||
Rules.Clear();
|
||||
// recupero nome file x partire
|
||||
string filePath = currFile.tempFileName;
|
||||
|
||||
Dictionary<int, string> eventsFromDb = await AnagEventiGetAll();
|
||||
|
||||
// stream lettura file
|
||||
using (StreamReader sr = new StreamReader(filePath))
|
||||
{
|
||||
string line = "";
|
||||
while ((line = await sr.ReadLineAsync().ConfigureAwait(false)) != null)
|
||||
{
|
||||
if (!line.StartsWith("#") && !string.IsNullOrEmpty(line) && line.Length >= 3)
|
||||
{
|
||||
if (line.Contains("#"))
|
||||
{
|
||||
var lineSplit = line.Split("#");
|
||||
line = lineSplit[0];
|
||||
}
|
||||
|
||||
var sz_tokens = line.Split(":");
|
||||
|
||||
var sz_temp = sz_tokens[0].Trim();
|
||||
switch (sz_temp)
|
||||
{
|
||||
case "$DEFINITIONS":
|
||||
b_rules_definition = false;
|
||||
break;
|
||||
|
||||
case "$NAME":
|
||||
sz_state_machine_name = sz_tokens[1].Trim();
|
||||
break;
|
||||
|
||||
case "$IDX":
|
||||
n_state_machine_index = sz_tokens[1].Trim();
|
||||
break;
|
||||
|
||||
case "$N_STATES":
|
||||
n_states = int.Parse(sz_tokens[1].Trim());
|
||||
break;
|
||||
|
||||
case "$N_BITS":
|
||||
n_bits = int.Parse(sz_tokens[1].Trim());
|
||||
break;
|
||||
|
||||
case "$BIT":
|
||||
Bits.Add(sz_tokens[2].Trim().ToUpper());
|
||||
break;
|
||||
|
||||
case "$STATE":
|
||||
States.Add(sz_tokens[2].Trim().ToUpper());
|
||||
break;
|
||||
|
||||
case "$EVENT":
|
||||
Events_to_send.Add(sz_tokens[2].Trim().ToUpper());
|
||||
var newEvent = new AnagEventiModelTemp()
|
||||
{
|
||||
IdxTipo = int.Parse(sz_tokens[1].Trim().ToUpper()),
|
||||
Nome = sz_tokens[2].Trim().ToUpper()
|
||||
};
|
||||
|
||||
var listElement = events2Add.FirstOrDefault(x => x.IdxTipo == newEvent.IdxTipo);
|
||||
|
||||
if (listElement != null && listElement.Nome != newEvent.Nome)
|
||||
{
|
||||
Log.Error($"L'evento '{newEvent.IdxTipo}: {newEvent.Nome}' non può essere importato perchè diverso da '{listElement.IdxTipo}: {listElement.Nome}' nel file {currFile.origFileName}.{Environment.NewLine}");
|
||||
return null;
|
||||
}
|
||||
else if(listElement == null)
|
||||
{
|
||||
events2Add.Add(newEvent);
|
||||
}
|
||||
break;
|
||||
|
||||
case "$RULES":
|
||||
b_rules_definition = true;
|
||||
break;
|
||||
|
||||
case "$DO":
|
||||
b_rules_definition = false;
|
||||
var isOk = checkDirExist(procRootDir);
|
||||
if (isOk)
|
||||
{
|
||||
var fileName = $"{currFile.origFileName.Split(".")[0]}.csv";
|
||||
currFile.DLoadFileName = $"{Path.Combine(procRootDir, bitCsvPath, fileName)}";
|
||||
currFile = await evalIn2Ev_transitions(currFile);
|
||||
if (saveToDb)
|
||||
{
|
||||
//await AnagEventinInsert(events2Add);
|
||||
|
||||
await Task.Delay(1);
|
||||
//await TranInInsert(TranInList2add, int.Parse(n_state_machine_index));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
if (b_rules_definition)
|
||||
{
|
||||
var temp_rule = new RuleClass()
|
||||
{
|
||||
state = sz_temp.Trim().ToUpper(),
|
||||
expression = sz_tokens[1].Trim().ToUpper(),
|
||||
next_state = sz_tokens[2].Trim().ToUpper(),
|
||||
event_to_send = sz_tokens[3].Trim().ToUpper()
|
||||
};
|
||||
|
||||
Rules.Add(temp_rule);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return currFile;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Valuta un file di ruoles x ingressi 2 Stati e restituisce esito
|
||||
/// </summary>
|
||||
/// <param name="currFile">Path file *.rul da processare</param>
|
||||
/// <param name="saveToDb">Indica se salvare sul DB</param>
|
||||
/// <returns></returns>
|
||||
public async Task<FilesClass> EvalIn2StateRuleFile(FilesClass currFile, bool saveToDb)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
sz_state_machine_name = "";
|
||||
n_state_machine_index = "";
|
||||
n_states = 0;
|
||||
n_bits = 0;
|
||||
States.Clear();
|
||||
Bits.Clear();
|
||||
Events_to_send.Clear();
|
||||
Rules.Clear();
|
||||
// recupero nome file x partire
|
||||
string filePath = currFile.tempFileName;
|
||||
string line = "";
|
||||
|
||||
try
|
||||
{
|
||||
// stream lettura file
|
||||
using (StreamReader sr = new StreamReader(filePath))
|
||||
{
|
||||
while ((line = await sr.ReadLineAsync().ConfigureAwait(false)) != null)
|
||||
{
|
||||
if (!line.StartsWith("#") && !string.IsNullOrEmpty(line) && line.Length >= 3)
|
||||
{
|
||||
if (line.Contains("#"))
|
||||
{
|
||||
var lineSplit = line.Split("#");
|
||||
line = lineSplit[0];
|
||||
}
|
||||
|
||||
var sz_tokens = line.Split(":");
|
||||
|
||||
var sz_temp = sz_tokens[0].Trim();
|
||||
switch (sz_temp)
|
||||
{
|
||||
case "$DEFINITIONS":
|
||||
b_rules_definition = false;
|
||||
break;
|
||||
|
||||
case "$NAME":
|
||||
sz_state_machine_name = sz_tokens[1].Trim();
|
||||
break;
|
||||
|
||||
case "$IDX":
|
||||
n_state_machine_index = sz_tokens[1].Trim();
|
||||
break;
|
||||
|
||||
case "$STATE":
|
||||
if (!StatesAll.ContainsKey(sz_tokens[2].Trim().ToUpper()))
|
||||
{
|
||||
StatesAll.Add(sz_tokens[2].Trim().ToUpper(), int.Parse(sz_tokens[1].Trim().ToUpper()));
|
||||
}
|
||||
break;
|
||||
|
||||
case "$EVENT":
|
||||
Events_to_send.Add(sz_tokens[2].Trim().ToUpper());
|
||||
var newEvent = new AnagEventiModelTemp()
|
||||
{
|
||||
IdxTipo = int.Parse(sz_tokens[1].Trim().ToUpper()),
|
||||
Nome = sz_tokens[2].Trim().ToUpper()
|
||||
};
|
||||
|
||||
events2Add.Add(newEvent);
|
||||
break;
|
||||
|
||||
case "$RULES":
|
||||
b_rules_definition = true;
|
||||
break;
|
||||
|
||||
case "$DO":
|
||||
b_rules_definition = false;
|
||||
var isOk = checkDirExist(Path.Combine(procRootDir, statiCsvPath));
|
||||
if (isOk)
|
||||
{
|
||||
var fileName = $"{currFile.origFileName.Split(".")[0]}.csv";
|
||||
currFile.DLoadFileName = $"{Path.Combine(procRootDir, bitCsvPath, fileName)}";
|
||||
currFile = await evalIn2State_transitions(currFile);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
if (b_rules_definition)
|
||||
{
|
||||
var state = sz_temp.Trim().ToUpper();
|
||||
var event_to_send = sz_tokens[1].Trim().ToUpper();
|
||||
var next_state = sz_tokens[2].Trim().ToUpper();
|
||||
|
||||
var temp_rule = new RuleClass()
|
||||
{
|
||||
state = state,
|
||||
event_to_send = event_to_send,
|
||||
next_state = next_state
|
||||
};
|
||||
Rules.Add(temp_rule);
|
||||
States2Rules.Add(next_state);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante la lettura del file {currFile.origFileName} alla riga {line}: {exc}{Environment.NewLine}");
|
||||
}
|
||||
|
||||
return currFile;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Valutazione schema macchina a stati x Ingressi --> Eventi
|
||||
/// </summary>
|
||||
/// <param name="currFile"></param>
|
||||
/// <returns></returns>
|
||||
protected async Task<FilesClass> evalIn2Ev_transitions(FilesClass currFile)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
TranInList2add.Clear();
|
||||
if (File.Exists(currFile.DLoadFileName))
|
||||
{
|
||||
File.Delete(currFile.DLoadFileName);
|
||||
}
|
||||
sb.AppendLine("IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato");
|
||||
string sz_actual_state = "";
|
||||
string sz_actual_bit = "";
|
||||
string sz_line = "";
|
||||
//int i = 0;
|
||||
int n_input = 0;
|
||||
//int n = 0;
|
||||
int n_mask = 0;
|
||||
int n_bit = 0;
|
||||
|
||||
bool[] b_bit = new bool[20];
|
||||
bool b_invert = false;
|
||||
//ciclo negli stati
|
||||
try
|
||||
{
|
||||
for (var i = 0; i <= n_states - 1; i++)
|
||||
{
|
||||
sz_actual_state = States.ToArray()[i];
|
||||
|
||||
//ciclo negli ingressi
|
||||
for (n_input = 0; n_input <= (Math.Pow(2, n_bits) - 1); n_input++)
|
||||
{
|
||||
n_mask = 1;
|
||||
for (var n = 0; n <= n_bits - 1; n++)
|
||||
{
|
||||
b_bit[n] = Convert.ToBoolean(n_input & n_mask);
|
||||
n_mask = n_mask << 1;
|
||||
}
|
||||
|
||||
var exitFor = false;
|
||||
|
||||
foreach (var act_rule in Rules)
|
||||
{
|
||||
n_bit = -1;
|
||||
if ((act_rule.state == "ALL_STATES") || (act_rule.state == sz_actual_state))
|
||||
{
|
||||
//DA RESETTARE A FALSE (errore da principianti...)
|
||||
b_invert = false;
|
||||
|
||||
sz_actual_bit = act_rule.expression;
|
||||
|
||||
//controllo se la riga contiene l'istruzione per negare il bit
|
||||
if (sz_actual_bit.Trim().StartsWith("NOT"))
|
||||
{
|
||||
//inverto il bit
|
||||
b_invert = true;
|
||||
sz_actual_bit = sz_actual_bit.Replace("NOT ", "").Trim();
|
||||
}
|
||||
//cerca il nome del bit e ne trova l' indice da 0
|
||||
n_bit = Bits.FindIndex(x => x == sz_actual_bit);
|
||||
|
||||
if (n_bit == -1)
|
||||
{
|
||||
exitFor = true;
|
||||
}
|
||||
|
||||
int nextState = States.IndexOf(act_rule.next_state);
|
||||
|
||||
if (!exitFor)
|
||||
{
|
||||
if (((!b_invert) && b_bit[n_bit]) || (b_invert && (!b_bit[n_bit])))
|
||||
{
|
||||
sz_line = "";
|
||||
//eseguo solo se diverso dallo stato corrente
|
||||
if (States.IndexOf(act_rule.next_state) != i)
|
||||
{
|
||||
if (nextState < 0)
|
||||
{
|
||||
nextState = 0;
|
||||
}
|
||||
|
||||
sz_line = $"{n_state_machine_index}" +
|
||||
$";" +
|
||||
$"{i}" +
|
||||
$";" +
|
||||
$"{n_input}" +
|
||||
$";" +
|
||||
$"{Events_to_send.IndexOf(act_rule.event_to_send)}" +
|
||||
$";" +
|
||||
$"{nextState}";
|
||||
|
||||
sb.AppendLine(sz_line);
|
||||
|
||||
var newTranIn = new TransizioneIngressiModelTemp()
|
||||
{
|
||||
IdxFamigliaIngresso = int.Parse(n_state_machine_index),
|
||||
IdxMicroStato = i,
|
||||
ValoreIngresso = n_input,
|
||||
IdxTipoEvento = Events_to_send.IndexOf(act_rule.event_to_send),
|
||||
next_IdxMicroStato = States.IndexOf(act_rule.next_state)
|
||||
};
|
||||
|
||||
TranInList2add.Add(newTranIn);
|
||||
}
|
||||
exitFor = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
using (StreamWriter sw = new StreamWriter(currFile.DLoadFileName))
|
||||
{
|
||||
sw.Write(sb.ToString());
|
||||
}
|
||||
await Task.Delay(1);
|
||||
currFile.isOk = true;
|
||||
|
||||
await FileUpdate(currFile.origFileName, currFile);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione in evalIn2Ev_transitions{Environment.NewLine}{exc}");
|
||||
}
|
||||
return currFile;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Valutazione schema macchina a stati x Ingressi --> stati
|
||||
/// </summary>
|
||||
/// <param name="currFile"></param>
|
||||
/// <returns></returns>
|
||||
protected async Task<FilesClass> evalIn2State_transitions(FilesClass currFile)
|
||||
{
|
||||
TranInList2add.Clear();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
if (File.Exists(currFile.DLoadFileName))
|
||||
{
|
||||
File.Delete(currFile.DLoadFileName);
|
||||
}
|
||||
|
||||
sb.AppendLine("IdxFamiglia;IdxStato;IdxTipo;next_IdxStato");
|
||||
int sz_actual_state = 0;
|
||||
string sz_line = "";
|
||||
|
||||
foreach (var item in States2Rules)
|
||||
{
|
||||
if (!StatesAll2.ContainsKey(item))
|
||||
{
|
||||
StatesAll2.Add(item, StatesAll[item]);
|
||||
StatesAll2 = StatesAll2.OrderBy(x => x.Value).ToDictionary(x => x.Key, x => x.Value);
|
||||
}
|
||||
}
|
||||
|
||||
//ciclo negli stati
|
||||
try
|
||||
{
|
||||
foreach (var item in StatesAll2)
|
||||
{
|
||||
sz_actual_state = item.Value;
|
||||
|
||||
foreach (var act_rule in Rules)
|
||||
{
|
||||
var exitFor = false;
|
||||
if ((act_rule.state == "ALL_STATES") || (act_rule.state == StatesAll.Where(x => x.Value == sz_actual_state).FirstOrDefault().Key))
|
||||
{
|
||||
//DA RESETTARE A FALSE (errore da principianti...)
|
||||
|
||||
int nextState = StatesAll2[act_rule.next_state];
|
||||
|
||||
if (!exitFor)
|
||||
{
|
||||
sz_line = "";
|
||||
//eseguo solo se diverso dallo stato corrente
|
||||
// || calcItself
|
||||
if (nextState != item.Value || calcItself)
|
||||
{
|
||||
if (nextState < 0)
|
||||
{
|
||||
nextState = 0;
|
||||
}
|
||||
|
||||
if ((nextState == 0 && calcEmptyState) || (nextState > 0))
|
||||
{
|
||||
sz_line = $"{n_state_machine_index}" +
|
||||
$";" +
|
||||
$"{item.Value}" +
|
||||
$";" +
|
||||
$"{Events_to_send.IndexOf(act_rule.event_to_send)}" +
|
||||
$";" +
|
||||
$"{nextState}";
|
||||
sb.AppendLine(sz_line);
|
||||
|
||||
var newTranIn = new TransizioneIngressiModelTemp()
|
||||
{
|
||||
IdxFamigliaIngresso = int.Parse(n_state_machine_index),
|
||||
IdxMicroStato = item.Value,
|
||||
IdxTipoEvento = Events_to_send.IndexOf(act_rule.event_to_send),
|
||||
next_IdxMicroStato = nextState
|
||||
};
|
||||
|
||||
TranInList2add.Add(newTranIn);
|
||||
}
|
||||
}
|
||||
exitFor = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//await SMGDService.AnagEventinInsert(events2Add);
|
||||
|
||||
using (StreamWriter sw = new StreamWriter(currFile.DLoadFileName))
|
||||
{
|
||||
sw.Write(sb.ToString());
|
||||
}
|
||||
await Task.Delay(1);
|
||||
currFile.isOk = true;
|
||||
|
||||
await FileUpdate(currFile.origFileName, currFile);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione in evalIn2State_transitions{Environment.NewLine}{exc}");
|
||||
}
|
||||
return currFile;
|
||||
}
|
||||
private bool checkDirExist(string dir)
|
||||
{
|
||||
bool answ = Directory.Exists(dir);
|
||||
if (!answ)
|
||||
{
|
||||
var dirCreate = Directory.CreateDirectory(dir);
|
||||
answ = (dirCreate != null);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// Effettua upsert in HasList redis
|
||||
/// </summary>
|
||||
/// <param name="currKey">Chiave redis della Hashlist</param>
|
||||
/// <param name="chiave">Chiave nella HashList</param>
|
||||
/// <param name="valore">Valore da salvare</param>
|
||||
/// <returns>Num record nella HashList</returns>
|
||||
protected async Task<long> RedHashUpsert(RedisKey currKey, string chiave, string valore)
|
||||
{
|
||||
long numReq = 0;
|
||||
Stopwatch stopWatch = new Stopwatch();
|
||||
stopWatch.Start();
|
||||
await redisDb.HashSetAsync(currKey, chiave, valore);
|
||||
numReq = await redisDb.HashLengthAsync(currKey);
|
||||
stopWatch.Stop();
|
||||
TimeSpan ts = stopWatch.Elapsed;
|
||||
Log.Trace($"RedHashUpsert | {currKey} | in: {ts.TotalMilliseconds} ms");
|
||||
return numReq;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private static IConfiguration _configuration = null!;
|
||||
|
||||
private static JsonSerializerSettings? JSSettings;
|
||||
|
||||
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
/// <summary>
|
||||
/// Durata cache lunga IN SECONDI
|
||||
/// </summary>
|
||||
private int cacheTtlLong = 60 * 5;
|
||||
|
||||
/// <summary>
|
||||
/// Durata cache breve IN SECONDI
|
||||
/// </summary>
|
||||
private int cacheTtlShort = 60 * 1;
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto per connessione a REDIS
|
||||
/// </summary>
|
||||
private IConnectionMultiplexer redisConn;
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto DB redis da impiegare x chiamate R/W
|
||||
/// </summary>
|
||||
private IDatabase redisDb = null!;
|
||||
|
||||
private Random rnd = new Random();
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Properties
|
||||
|
||||
/// <summary>
|
||||
/// Durata cache breve (1 min circa + perturbazione percentuale +/-10%)
|
||||
/// </summary>
|
||||
private TimeSpan FastCache
|
||||
{
|
||||
get => TimeSpan.FromSeconds(cacheTtlShort * rnd.Next(900, 1100) / 1000);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Durata cache lunga (+ perturbazione percentuale +/-10%)
|
||||
/// </summary>
|
||||
private TimeSpan LongCache
|
||||
{
|
||||
get => TimeSpan.FromSeconds(cacheTtlLong * rnd.Next(900, 1100) / 1000);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Durata cache molto breve (10 sec circa + perturbazione percentuale +/-10%)
|
||||
/// </summary>
|
||||
private TimeSpan UltraFastCache
|
||||
{
|
||||
get => TimeSpan.FromSeconds(cacheTtlShort / 6 * rnd.Next(900, 1100) / 1000);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Durata cache lunga (+ perturbazione percentuale +/-10%)
|
||||
/// </summary>
|
||||
private TimeSpan UltraLongCache
|
||||
{
|
||||
get => TimeSpan.FromSeconds(cacheTtlLong * 10 * rnd.Next(900, 1100) / 1000);
|
||||
}
|
||||
|
||||
#endregion Private Properties
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.6.33815.320
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SMGen", "SMGen\SMGen.csproj", "{1224887B-2A4F-433C-ADB6-51683E2ADBA7}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SMGen.Data", "SMGen.Data\SMGen.Data.csproj", "{CF2D0A2F-DED0-4D5D-8C31-099B3C3ED16D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SMGen.Core", "SMGen.Core\SMGen.Core.csproj", "{43E583E7-B94B-4FC6-8473-4AC6A93F76B9}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{1224887B-2A4F-433C-ADB6-51683E2ADBA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1224887B-2A4F-433C-ADB6-51683E2ADBA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1224887B-2A4F-433C-ADB6-51683E2ADBA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1224887B-2A4F-433C-ADB6-51683E2ADBA7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CF2D0A2F-DED0-4D5D-8C31-099B3C3ED16D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CF2D0A2F-DED0-4D5D-8C31-099B3C3ED16D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CF2D0A2F-DED0-4D5D-8C31-099B3C3ED16D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CF2D0A2F-DED0-4D5D-8C31-099B3C3ED16D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{43E583E7-B94B-4FC6-8473-4AC6A93F76B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{43E583E7-B94B-4FC6-8473-4AC6A93F76B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{43E583E7-B94B-4FC6-8473-4AC6A93F76B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{43E583E7-B94B-4FC6-8473-4AC6A93F76B9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {4A57E3C9-34F0-4A03-8886-352E197DD482}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 1,
|
||||
"isRoot": true,
|
||||
"tools": {}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<Router AppAssembly="@typeof(App).Assembly">
|
||||
<Found Context="routeData">
|
||||
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
|
||||
<FocusOnNavigate RouteData="@routeData" Selector="h1" />
|
||||
</Found>
|
||||
<NotFound>
|
||||
<PageTitle>Not found</PageTitle>
|
||||
<LayoutView Layout="@typeof(MainLayout)">
|
||||
<p role="alert">Sorry, there's nothing at this address.</p>
|
||||
</LayoutView>
|
||||
</NotFound>
|
||||
</Router>
|
||||
@@ -0,0 +1,9 @@
|
||||
<div class="row bg-dark text-light">
|
||||
<div class="col-5 pe-0 text-left">
|
||||
<b>SMGen @(DateTime.Today.Year)</b> | <span class="small">v.@version</span>
|
||||
</div>
|
||||
<div class="col-7 ps-0 text-end">
|
||||
<span class="small">@($"{DateTime.Now:HH:mm:ss}")</span> | <a class="text-light" href="https://www.egalware.com/" target="_blank"><img class="img-fluid" width="16" src="images/LogoEgw.png" /> Egalware </a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
using NLog;
|
||||
|
||||
namespace SMGen.Components
|
||||
{
|
||||
public partial class CmpFooter : IDisposable
|
||||
{
|
||||
#region Public Methods
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (aTimer != null)
|
||||
{
|
||||
aTimer.Elapsed -= ElapsedTimer;
|
||||
aTimer.Stop();
|
||||
aTimer.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public void ElapsedTimer(object? source, System.Timers.ElapsedEventArgs e)
|
||||
{
|
||||
var pUpd = Task.Run(async () =>
|
||||
{
|
||||
await Task.Delay(1);
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
});
|
||||
pUpd.Wait();
|
||||
}
|
||||
|
||||
public void StartTimer()
|
||||
{
|
||||
int tOutPeriod = 5000;
|
||||
//int.TryParse(Configuration["ReloadStatusTimer"], out tOutPeriod);
|
||||
aTimer = new System.Timers.Timer(tOutPeriod);
|
||||
aTimer.Elapsed += ElapsedTimer;
|
||||
aTimer.Enabled = true;
|
||||
aTimer.Start();
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
var rawVers = typeof(Program).Assembly.GetName().Version; ;
|
||||
version = rawVers != null ? rawVers : new Version("0.0.0.0");
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private System.Timers.Timer aTimer = null!;
|
||||
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
private Version version = null!;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
<div class="p-2">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Rul file</th>
|
||||
<th scope="col">Status</th>
|
||||
<th scope="col">
|
||||
@if(Files!=null && Files.Count>0)
|
||||
{
|
||||
<button @onclick="()=>Read_rule_file_transitions()">Process</button>
|
||||
}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var item in Files)
|
||||
{
|
||||
<tr>
|
||||
<td scope="row">@item.Key</td>
|
||||
@if (item.Value.isOk)
|
||||
{
|
||||
<td class="text-success"><i class="fa-solid fa-circle-check"></i></td>
|
||||
<td>
|
||||
<a href="Download?fileName=@item.Value.DLoadFileName" target="_blank" class="btn btn-sm bg-success"><i class="fa-solid fa-download"></i></a>
|
||||
</td>
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
<td class="text-danger">
|
||||
<i class="fa-solid fa-circle-xmark"></i>
|
||||
</td>
|
||||
<td>
|
||||
@if (item.Value.calcRunning)
|
||||
{
|
||||
<LoadingData DisplaySize="LoadingData.CtrlSize.Small" DisplayMode="LoadingData.SpinMode.BounceLine"></LoadingData>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a class="btn btn-sm text-decoration-none" disabled><i class="fa-solid fa-download text-secondary"></i></a>
|
||||
}
|
||||
</td>
|
||||
}
|
||||
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -0,0 +1,108 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using SMGen;
|
||||
using SMGen.Shared;
|
||||
using SMGen.Components;
|
||||
using SMGen.Data;
|
||||
using SMGen.Data.Data;
|
||||
using SMGen.Data.Services;
|
||||
using SMGen.Data.DbModels;
|
||||
|
||||
namespace SMGen.Components
|
||||
{
|
||||
public partial class FilesList
|
||||
{
|
||||
//[Parameter]
|
||||
//public Dictionary<string, bool> FilesStatus { get; set; } = new Dictionary<string, bool>();
|
||||
public Dictionary<string, bool> FilesStatusTemp { get; set; } = new Dictionary<string, bool>();
|
||||
//[Parameter]
|
||||
//public Dictionary<string, string> Files2Download { get; set; } = new Dictionary<string, string>();
|
||||
[Parameter]
|
||||
public EventCallback<bool> PagerResetReq { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<int> updateRecordCount { get; set; }
|
||||
[Parameter]
|
||||
public SelectSMIn2EvParams currFilter { get; set; } = null!;
|
||||
[Parameter]
|
||||
public bool hasBit { get; set; } = false;
|
||||
|
||||
[Inject]
|
||||
protected SMGDataService SMGDService { get; set; } = null!;
|
||||
|
||||
private int currPage
|
||||
{
|
||||
get => currFilter.CurrPage;
|
||||
set => currFilter.CurrPage = value;
|
||||
}
|
||||
private int numRecord
|
||||
{
|
||||
get => currFilter.NumRec;
|
||||
set => currFilter.NumRec = value;
|
||||
}
|
||||
private int _totalCount { get; set; } = 0;
|
||||
private int totalCount
|
||||
{
|
||||
get => _totalCount;
|
||||
set
|
||||
{
|
||||
if (_totalCount != value)
|
||||
{
|
||||
_totalCount = value;
|
||||
updateRecordCount.InvokeAsync(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
await ReloadData();
|
||||
}
|
||||
|
||||
protected Dictionary<string, FilesClass> Files { get; set; } = new Dictionary<string, FilesClass>();
|
||||
protected Dictionary<string, FilesClass> FilesTemp { get; set; } = new Dictionary<string, FilesClass>();
|
||||
protected async Task ReloadData()
|
||||
{
|
||||
await Task.Delay(1);
|
||||
FilesTemp = await SMGDService.FilesGetAll();
|
||||
totalCount = FilesTemp.Count;
|
||||
Files = FilesTemp.Skip(numRecord * (currPage - 1)).Take(numRecord).OrderBy(x => x.Value.origFileName).ToDictionary(x => x.Key, y => y.Value);
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
}
|
||||
|
||||
|
||||
protected async Task Read_rule_file_transitions()
|
||||
{
|
||||
Files = await SMGDService.FilesGetAll();
|
||||
foreach (var item in Files.OrderBy(x=>x.Value.origFileName))
|
||||
{
|
||||
item.Value.calcRunning = true;
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
await Task.Delay(1);
|
||||
// chiamo esecuzione 1:1...
|
||||
if (hasBit)
|
||||
{
|
||||
await SMGDService.EvalIn2EvRuleFile(item.Value, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
await SMGDService.EvalIn2StateRuleFile(item.Value, false);
|
||||
}
|
||||
item.Value.calcRunning = false;
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
}
|
||||
var currEvents = SMGDService.events2Add;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
namespace SMGen
|
||||
{
|
||||
public class Enum
|
||||
{
|
||||
public enum LEVELS
|
||||
{
|
||||
LIVELLO_INGRESSI = 1,
|
||||
LIVELLO_TRANSIZIONI = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
|
||||
autoReload="true"
|
||||
throwExceptions="false"
|
||||
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
|
||||
|
||||
<!-- optional, add some variables
|
||||
https://github.com/nlog/NLog/wiki/Configuration-file#variables
|
||||
-->
|
||||
<variable name="myvar" value="myvalue" />
|
||||
|
||||
<!--
|
||||
See https://github.com/nlog/nlog/wiki/Configuration-file
|
||||
for information on customizing logging rules and outputs.
|
||||
-->
|
||||
<targets>
|
||||
|
||||
<!--
|
||||
add your targets here
|
||||
See https://github.com/nlog/NLog/wiki/Targets for possible targets.
|
||||
See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Write events to a file with the date in the filename.
|
||||
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
|
||||
layout="${longdate} ${uppercase:${level}} ${message}" />
|
||||
-->
|
||||
<target xsi:type="File" name="fileTarget" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} | ${uppercase:${level}} | ${logger:shortName=false} | ${message}" />
|
||||
<target xsi:type="ColoredConsole" name="consoleTarget" layout="${longdate} | ${uppercase:${level}} | ${logger:shortName=true}| ${message}" />
|
||||
</targets>
|
||||
|
||||
<rules>
|
||||
<!-- add your logging rules here -->
|
||||
|
||||
<!--
|
||||
Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f"
|
||||
<logger name="*" minlevel="Debug" writeTo="f" />
|
||||
-->
|
||||
<logger name="*" minlevel="Debug" writeTo="consoleTarget" />
|
||||
<!--<logger name="Microsoft.*" maxlevel="Info" final="true" />-->
|
||||
<logger name="*" minlevel="Info" writeTo="fileTarget" />
|
||||
</rules>
|
||||
</nlog>
|
||||
@@ -0,0 +1,5 @@
|
||||
@page "/Download"
|
||||
|
||||
@model SMGen.Pages.DownloadModel
|
||||
@{
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
|
||||
namespace SMGen.Pages
|
||||
{
|
||||
/// <summary>
|
||||
/// Gestione donwnload file csv
|
||||
///
|
||||
/// da valutare eventualmente xlsx con https://github.com/closedxml/closedxml
|
||||
/// </summary>
|
||||
public class DownloadModel : PageModel
|
||||
{
|
||||
#region Private Fields
|
||||
|
||||
private readonly IWebHostEnvironment _env;
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Public Constructors
|
||||
|
||||
public DownloadModel(IWebHostEnvironment env)
|
||||
{
|
||||
_env = env;
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public IActionResult OnGet()
|
||||
{
|
||||
string fileName = "";
|
||||
if (Request.Query.ContainsKey("fileName"))
|
||||
{
|
||||
fileName = Request.Query["fileName"];
|
||||
}
|
||||
var filePath = Path.Combine(_env.ContentRootPath, fileName);
|
||||
//var filePath = Path.Combine(_env.WebRootPath, "..\\temp\\", fileName);
|
||||
|
||||
byte[] fileBytes = System.IO.File.ReadAllBytes(filePath);
|
||||
|
||||
return File(fileBytes, "application/force-download", fileName.Split("\\").Last());
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
@page
|
||||
@model SMGen.Pages.ErrorModel
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<title>Error</title>
|
||||
<link href="~/css/bootstrap/bootstrap.min.css" rel="stylesheet" />
|
||||
<link href="~/css/site.css" rel="stylesheet" asp-append-version="true" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="main">
|
||||
<div class="content px-4">
|
||||
<h1 class="text-danger">Error.</h1>
|
||||
<h2 class="text-danger">An error occurred while processing your request.</h2>
|
||||
|
||||
@if (Model.ShowRequestId)
|
||||
{
|
||||
<p>
|
||||
<strong>Request ID:</strong> <code>@Model.RequestId</code>
|
||||
</p>
|
||||
}
|
||||
|
||||
<h3>Development Mode</h3>
|
||||
<p>
|
||||
Swapping to the <strong>Development</strong> environment displays detailed information about the error that occurred.
|
||||
</p>
|
||||
<p>
|
||||
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
|
||||
It can result in displaying sensitive information from exceptions to end users.
|
||||
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
|
||||
and restarting the app.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,27 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace SMGen.Pages
|
||||
{
|
||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||
[IgnoreAntiforgeryToken]
|
||||
public class ErrorModel : PageModel
|
||||
{
|
||||
public string? RequestId { get; set; }
|
||||
|
||||
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
|
||||
|
||||
private readonly ILogger<ErrorModel> _logger;
|
||||
|
||||
public ErrorModel(ILogger<ErrorModel> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public void OnGet()
|
||||
{
|
||||
RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
@page "/FamIngressi"
|
||||
<h3>FamIngressi</h3>
|
||||
|
||||
<p>
|
||||
Deve mostrare elenco fam ingressi e su selezione dettaglio delle righe tab relative..
|
||||
</p>
|
||||
|
||||
<div>
|
||||
Ad esempio:
|
||||
<ul>
|
||||
<li>
|
||||
-- anagrafica fam ingressi (con editing descrizione nome famiglia)
|
||||
</li>
|
||||
<li>
|
||||
select * from FamigliaTipoIngressi
|
||||
</li>
|
||||
<li>
|
||||
select * from TransizioneIngressi where IdxFamigliaIngresso = 60 -- es SIM
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using SMGen;
|
||||
using SMGen.Shared;
|
||||
|
||||
namespace SMGen.Pages
|
||||
{
|
||||
public partial class FamIngressi
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
@page "/FamMacchine"
|
||||
<h3>FamMacchine</h3>
|
||||
|
||||
|
||||
<p>
|
||||
Deve mostrare elenco fam ingressi e su selezione dettaglio delle righe tab relative..
|
||||
</p>
|
||||
|
||||
<div>
|
||||
Ad esempio:
|
||||
<ul>
|
||||
<li>
|
||||
-- anagrafica fam macchine (con edit nome famiglia)
|
||||
</li>
|
||||
<li>
|
||||
select * from FamiglieMacchine
|
||||
</li>
|
||||
<li>
|
||||
select * from TransizioneStati where IdxFamiglia = 13 -- es machcine standard 4.0
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Partire da esempio vb in Mapo-IOB\StateMachine\src, in particolare M_transitions.vb
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using SMGen;
|
||||
using SMGen.Shared;
|
||||
|
||||
namespace SMGen.Pages
|
||||
{
|
||||
public partial class FamMacchine
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
@page "/"
|
||||
|
||||
<PageTitle>State Machine Generator</PageTitle>
|
||||
|
||||
<h1>State Machine Generator</h1>
|
||||
|
||||
Generatore di state Machine (Ingressi ed Eventi) per MAPO
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using SMGen;
|
||||
using SMGen.Shared;
|
||||
|
||||
namespace SMGen.Pages
|
||||
{
|
||||
public partial class Index
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
@page "/SMEvent2State"
|
||||
<h3>SMEvent2State</h3>
|
||||
|
||||
<p>
|
||||
Deve permettere upload file *.rul (NUOVO, diverso/semplificato) e generazione righe regole (come x csv)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I dati generati potrebbero andare direttamente sul DB, nella tab <b>TransizioneStatiNew</b> (da creare...):
|
||||
<br />
|
||||
select * from TransizioneStatiNew
|
||||
</p>
|
||||
<p>
|
||||
Vista in preview si può poi inserire in prod se confermato
|
||||
</p>
|
||||
|
||||
|
||||
<div class="d-flex justify-content-between">
|
||||
<div>
|
||||
<InputFile OnChange="@LoadFiles" multiple />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<FilesList PagerResetReq="pgResetReq" updateRecordCount="UpdateTotCount" currFilter="@currFilter" hasBit="false"></FilesList>
|
||||
|
||||
<DataPager @ref="pagerSMIn2Ev" PageSize="@numRecord" currPage="@currPage" numRecordChanged="@ForceReload" numPageChanged="@ForceReloadPage" totalCount="@totalCount" />
|
||||
@@ -0,0 +1,208 @@
|
||||
using EgwCoreLib.Razor;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using NLog;
|
||||
using SMGen.Core;
|
||||
using SMGen.Data;
|
||||
using SMGen.Data.Data;
|
||||
using SMGen.Data.DbModels;
|
||||
using SMGen.Data.Services;
|
||||
|
||||
namespace SMGen.Pages
|
||||
{
|
||||
public partial class SMEvent2State
|
||||
{
|
||||
#region Protected Fields
|
||||
|
||||
protected static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
protected SelectSMIn2EvParams currFilter = new SelectSMIn2EvParams();
|
||||
|
||||
protected DataPager? pagerSMIn2Ev = null!;
|
||||
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
[Inject]
|
||||
protected IConfiguration conf { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
protected IWebHostEnvironment env { get; set; } = null!;
|
||||
|
||||
protected string pathDir { get; set; } = "";
|
||||
|
||||
protected string pathFile { get; set; } = "";
|
||||
protected Dictionary<string, FilesClass> Files { get; set; } = new Dictionary<string, FilesClass>();
|
||||
|
||||
[Inject]
|
||||
protected SMGDataService SMGDService { get; set; } = null!;
|
||||
|
||||
protected string statiCsvPath
|
||||
{
|
||||
get => conf.GetValue<string>("ServerConf:StatiCsvPath");
|
||||
}
|
||||
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
await Task.Delay(1);
|
||||
await SMGDService.ExecFlushRedisPattern(Constants.FILES_TO_PROC);
|
||||
}
|
||||
|
||||
protected void ForceReload(int newNum)
|
||||
{
|
||||
numRecord = newNum;
|
||||
}
|
||||
|
||||
protected void ForceReloadPage(int newNum)
|
||||
{
|
||||
currPage = newNum;
|
||||
}
|
||||
|
||||
protected async Task pgResetReq(bool doReset)
|
||||
{
|
||||
if (doReset)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
if (pagerSMIn2Ev != null)
|
||||
{
|
||||
pagerSMIn2Ev.resetCurrPage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected async Task updateFilter(SelectSMIn2EvParams newParams)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
currPage = 1;
|
||||
// salvo comunque filtro reparto x utente
|
||||
await Task.Delay(1);
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
currFilter = newParams;
|
||||
}
|
||||
|
||||
protected void UpdateTotCount(int newTotCount)
|
||||
{
|
||||
totalCount = newTotCount;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Properties
|
||||
|
||||
private int currPage
|
||||
{
|
||||
get => currFilter.CurrPage;
|
||||
set => currFilter.CurrPage = value;
|
||||
}
|
||||
|
||||
private int numRecord
|
||||
{
|
||||
get => currFilter.NumRec;
|
||||
set => currFilter.NumRec = value;
|
||||
}
|
||||
|
||||
private int totalCount
|
||||
{
|
||||
get => currFilter.TotCount;
|
||||
set => currFilter.TotCount = value;
|
||||
}
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// Procedee a bonificare la cartella di upload dei files + vecchi di 3 mesi
|
||||
/// </summary>
|
||||
private void deleteOldFiles(string dirPath)
|
||||
{
|
||||
// elenco files nella directory
|
||||
string[] files = Directory.GetFiles(dirPath);
|
||||
// li guardo tutti e se vecchi li elimino...
|
||||
foreach (string file in files)
|
||||
{
|
||||
FileInfo fi = new FileInfo(file);
|
||||
if (fi.LastAccessTime < DateTime.Now.AddMinutes(-20))
|
||||
{
|
||||
fi.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected int maxAllowedFiles { get; set; } = 100;
|
||||
//// va dopo
|
||||
//private StreamWriter objWriter { get; set; };
|
||||
private async Task LoadFiles(InputFileChangeEventArgs e)
|
||||
{
|
||||
List<IBrowserFile> loadedFiles = new();
|
||||
long maxFileSize = 1024 * 1024;
|
||||
loadedFiles.Clear();
|
||||
Files.Clear();
|
||||
|
||||
foreach (var file in e.GetMultipleFiles(maxAllowedFiles))
|
||||
{
|
||||
try
|
||||
{
|
||||
loadedFiles.Add(file);
|
||||
|
||||
//assegno un nome file randomico x sicurezza
|
||||
var trustedFileNameForFileStorage = Path.GetRandomFileName();
|
||||
|
||||
//path del file da scrivere
|
||||
pathFile = Path.Combine("Temp", "unsafe_uploads",
|
||||
trustedFileNameForFileStorage);
|
||||
|
||||
//path cartella root (development)
|
||||
pathDir = Path.Combine("Temp", "unsafe_uploads");
|
||||
|
||||
//se la cartella non esiste, creo
|
||||
if (!Directory.Exists(pathDir))
|
||||
{
|
||||
Directory.CreateDirectory(pathDir);
|
||||
Log.Info($"Creato directory {pathDir}");
|
||||
}
|
||||
|
||||
// creo file
|
||||
using (FileStream fs = new(pathFile, FileMode.Create))
|
||||
{
|
||||
// copio il contenuto del file
|
||||
await file.OpenReadStream(maxFileSize).CopyToAsync(fs);
|
||||
// scrivo log
|
||||
Log.Info($"Salvato file temp {pathFile}");
|
||||
}
|
||||
|
||||
if (file.Name.Contains(".rul"))
|
||||
{
|
||||
var newFIle = new FilesClass()
|
||||
{
|
||||
tempFileName = pathFile,
|
||||
isOk = false,
|
||||
origFileName = file.Name,
|
||||
calcRunning = false,
|
||||
DLoadFileName = ""
|
||||
};
|
||||
|
||||
Files.Add(file.Name, newFIle);
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Errore durante salvataggio file temp {file.Name}: {exc}{Environment.NewLine}");
|
||||
}
|
||||
}
|
||||
if (Files != null && Files.Count > 0)
|
||||
{
|
||||
await SMGDService.FilesLoadRedis(Files);
|
||||
}
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
@page "/SMIn2Event"
|
||||
<h3>SMIn2Event</h3>
|
||||
|
||||
<p>
|
||||
Deve permettere upload file *.rul e generazione righe regole (come x csv)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I dati generati potrebbero andare direttamente sul DB, nella tab <b>TransizioneIngressiNew</b>:
|
||||
<br />
|
||||
select * from TransizioneIngressiNew
|
||||
</p>
|
||||
<p>
|
||||
Vista in preview si può poi inserire in prod se confermato
|
||||
</p>
|
||||
|
||||
<div class="d-flex justify-content-between">
|
||||
<div>
|
||||
@*<CircleGauge Titolo="@($"{Files.Count()}")" Testo="Loaded Files" maxVal="@maxAllowedFiles" currVal="@Files.Count()" strokeColorVal="@circleCssColor" StyleTitolo="font-size: 2.7rem; font-weight:bold; fill: #212427;" StyleTesto="font-size: 1rem; fill: #ACACAC;" ShowCircleBtn="false"></CircleGauge>*@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-between">
|
||||
<div>
|
||||
<InputFile OnChange="@LoadFiles" multiple />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-3 mt-2">
|
||||
<div class="card-header">
|
||||
Files list
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<FilesList PagerResetReq="pgResetReq" updateRecordCount="UpdateTotCount" currFilter="@currFilter" hasBit="true"></FilesList>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<DataPager @ref="pagerSMIn2Ev" PageSize="@numRecord" currPage="@currPage" numRecordChanged="@ForceReload" numPageChanged="@ForceReloadPage" totalCount="@totalCount" />
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,227 @@
|
||||
using EgwCoreLib.Razor;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using NLog;
|
||||
using SMGen.Core;
|
||||
using SMGen.Data;
|
||||
using SMGen.Data.Data;
|
||||
using SMGen.Data.DbModels;
|
||||
using SMGen.Data.Services;
|
||||
using System.Text;
|
||||
|
||||
namespace SMGen.Pages
|
||||
{
|
||||
public partial class SMIn2Event
|
||||
{
|
||||
#region Protected Fields
|
||||
|
||||
protected static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
protected SelectSMIn2EvParams currFilter = new SelectSMIn2EvParams();
|
||||
|
||||
protected DataPager? pagerSMIn2Ev = null!;
|
||||
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
protected List<string> Bits { get; set; } = new List<string>();
|
||||
|
||||
protected string circleCssColor
|
||||
{
|
||||
get
|
||||
{
|
||||
string answ = "";
|
||||
if ((Files.Count() >= (Files.Count() / 100) * 60) && (Files.Count() <= (Files.Count() / 100) * 90))
|
||||
{
|
||||
answ = "#F1C40F";
|
||||
}
|
||||
else if ((Files.Count() >= (Files.Count() / 100) * 90))
|
||||
{
|
||||
answ = "#C0392B";
|
||||
}
|
||||
else
|
||||
{
|
||||
answ = "#27AE60";
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
|
||||
[Inject]
|
||||
protected IConfiguration conf { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
protected IWebHostEnvironment env { get; set; } = null!;
|
||||
|
||||
protected Dictionary<string, FilesClass> Files { get; set; } = new Dictionary<string, FilesClass>();
|
||||
|
||||
protected int maxAllowedFiles { get; set; } = 100;
|
||||
|
||||
protected string pathDir { get; set; } = "";
|
||||
|
||||
protected string pathFile { get; set; } = "";
|
||||
|
||||
[Inject]
|
||||
protected SMGDataService SMGDService { get; set; } = null!;
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected void ForceReload(int newNum)
|
||||
{
|
||||
numRecord = newNum;
|
||||
}
|
||||
|
||||
protected void ForceReloadPage(int newNum)
|
||||
{
|
||||
currPage = newNum;
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
await Task.Delay(1);
|
||||
await SMGDService.ExecFlushRedisPattern(Constants.FILES_TO_PROC);
|
||||
}
|
||||
|
||||
|
||||
protected async Task pgResetReq(bool doReset)
|
||||
{
|
||||
if (doReset)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
if (pagerSMIn2Ev != null)
|
||||
{
|
||||
pagerSMIn2Ev.resetCurrPage();
|
||||
}
|
||||
}
|
||||
}
|
||||
protected async Task updateFilter(SelectSMIn2EvParams newParams)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
currPage = 1;
|
||||
// salvo comunque filtro reparto x utente
|
||||
await Task.Delay(1);
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
currFilter = newParams;
|
||||
}
|
||||
|
||||
protected void UpdateTotCount(int newTotCount)
|
||||
{
|
||||
totalCount = newTotCount;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Properties
|
||||
|
||||
private int currPage
|
||||
{
|
||||
get => currFilter.CurrPage;
|
||||
set => currFilter.CurrPage = value;
|
||||
}
|
||||
|
||||
private int numRecord
|
||||
{
|
||||
get => currFilter.NumRec;
|
||||
set => currFilter.NumRec = value;
|
||||
}
|
||||
|
||||
private int totalCount
|
||||
{
|
||||
get => currFilter.TotCount;
|
||||
set => currFilter.TotCount = value;
|
||||
}
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// Procedee a bonificare la cartella di upload dei files + vecchi di 3 mesi
|
||||
/// </summary>
|
||||
private void deleteOldFiles(string dirPath)
|
||||
{
|
||||
// elenco files nella directory
|
||||
string[] files = Directory.GetFiles(dirPath);
|
||||
// li guardo tutti e se vecchi li elimino...
|
||||
foreach (string file in files)
|
||||
{
|
||||
FileInfo fi = new FileInfo(file);
|
||||
if (fi.LastAccessTime < DateTime.Now.AddMinutes(-20))
|
||||
{
|
||||
fi.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//// va dopo
|
||||
//private StreamWriter objWriter { get; set; };
|
||||
private async Task LoadFiles(InputFileChangeEventArgs e)
|
||||
{
|
||||
List<IBrowserFile> loadedFiles = new();
|
||||
long maxFileSize = 1024 * 1024;
|
||||
loadedFiles.Clear();
|
||||
Files.Clear();
|
||||
|
||||
foreach (var file in e.GetMultipleFiles(maxAllowedFiles))
|
||||
{
|
||||
try
|
||||
{
|
||||
loadedFiles.Add(file);
|
||||
|
||||
//assegno un nome file randomico x sicurezza
|
||||
var trustedFileNameForFileStorage = Path.GetRandomFileName();
|
||||
|
||||
//path del file da scrivere
|
||||
pathFile = Path.Combine("Temp", "unsafe_uploads",
|
||||
trustedFileNameForFileStorage);
|
||||
|
||||
//path cartella root (development)
|
||||
pathDir = Path.Combine("Temp", "unsafe_uploads");
|
||||
|
||||
//se la cartella non esiste, creo
|
||||
if (!Directory.Exists(pathDir))
|
||||
{
|
||||
Directory.CreateDirectory(pathDir);
|
||||
Log.Info($"Creato directory {pathDir}");
|
||||
}
|
||||
|
||||
// creo file
|
||||
using (FileStream fs = new(pathFile, FileMode.Create))
|
||||
{
|
||||
// copio il contenuto del file
|
||||
await file.OpenReadStream(maxFileSize).CopyToAsync(fs);
|
||||
// scrivo log
|
||||
Log.Info($"Salvato file temp {pathFile}");
|
||||
}
|
||||
|
||||
if (file.Name.Contains(".rul"))
|
||||
{
|
||||
var newFIle = new FilesClass()
|
||||
{
|
||||
tempFileName = pathFile,
|
||||
isOk = false,
|
||||
origFileName = file.Name,
|
||||
calcRunning = false,
|
||||
DLoadFileName = ""
|
||||
};
|
||||
|
||||
Files.Add(file.Name, newFIle);
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Errore durante salvataggio file temp {file.Name}: {exc}{Environment.NewLine}");
|
||||
}
|
||||
}
|
||||
if (Files != null && Files.Count > 0)
|
||||
{
|
||||
await SMGDService.FilesLoadRedis(Files);
|
||||
}
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
body {
|
||||
}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
@page "/"
|
||||
@namespace SMGen.Pages
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
@{
|
||||
Layout = "_Layout";
|
||||
}
|
||||
|
||||
<component type="typeof(App)" render-mode="ServerPrerendered" />
|
||||
@@ -0,0 +1,34 @@
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@namespace SMGen.Pages
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<base href="~/" />
|
||||
@*<link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />*@
|
||||
<link rel="stylesheet" href="~/lib/bootstrap/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="~/lib/font-awesome/css/all.min.css" />
|
||||
<link href="~/css/site.min.css" rel="stylesheet" />
|
||||
<link href="SMGen.styles.css" rel="stylesheet" />
|
||||
<component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
|
||||
</head>
|
||||
<body>
|
||||
@RenderBody()
|
||||
|
||||
<div id="blazor-error-ui">
|
||||
<environment include="Staging,Production">
|
||||
An error has occurred. This application may no longer respond until reloaded.
|
||||
</environment>
|
||||
<environment include="Development">
|
||||
An unhandled exception has occurred. See browser dev tools for details.
|
||||
</environment>
|
||||
<a href="" class="reload">Reload</a>
|
||||
<a class="dismiss">🗙</a>
|
||||
</div>
|
||||
|
||||
<script src="_framework/blazor.server.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,56 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using SMGen.Data;
|
||||
using SMGen.Data.Controllers;
|
||||
using SMGen.Data.Services;
|
||||
using Microsoft.AspNetCore.Authentication.Negotiate;
|
||||
using StackExchange.Redis;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
ConfigurationManager configuration = builder.Configuration;
|
||||
|
||||
// REDIS setup
|
||||
string connStringRedis = configuration.GetConnectionString("Redis");
|
||||
string redisSrvAddr = connStringRedis.Substring(0, connStringRedis.IndexOf(":"));
|
||||
// avvio oggetto shared x redis...
|
||||
var redisMultiplexer = ConnectionMultiplexer.Connect(connStringRedis);
|
||||
// Add services to the container.
|
||||
builder.Services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
|
||||
.AddNegotiate();
|
||||
|
||||
builder.Services.AddAuthorization(options =>
|
||||
{
|
||||
// By default, all incoming requests will be authorized according to the default policy.
|
||||
options.FallbackPolicy = options.DefaultPolicy;
|
||||
});
|
||||
// Add services to the container.
|
||||
builder.Services.AddRazorPages();
|
||||
builder.Services.AddServerSideBlazor();
|
||||
builder.Services.AddSingleton<SMGDataService>();
|
||||
builder.Services.AddSingleton<IConnectionMultiplexer>(redisMultiplexer);
|
||||
var app = builder.Build();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (!app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseExceptionHandler("/Error");
|
||||
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
|
||||
app.UseHsts();
|
||||
}
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
|
||||
app.UseStaticFiles();
|
||||
|
||||
app.UseRouting();
|
||||
|
||||
app.UseAuthentication();
|
||||
app.UseAuthorization();
|
||||
|
||||
app.MapBlazorHub();
|
||||
app.MapFallbackToPage("/_Host");
|
||||
|
||||
app.Run();
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<WebPublishMethod>MSDeploy</WebPublishMethod>
|
||||
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
|
||||
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
|
||||
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||
<SiteUrlToLaunchAfterPublish>https://office.egalware.com/MP/SMGEN/</SiteUrlToLaunchAfterPublish>
|
||||
<ExcludeApp_Data>false</ExcludeApp_Data>
|
||||
<SelfContained>false</SelfContained>
|
||||
<MSDeployServiceURL>https://iis04.egalware.com:8172/MsDeploy.axd</MSDeployServiceURL>
|
||||
<DeployIisAppPath>office.egalware.com/MP/SMGEN</DeployIisAppPath>
|
||||
<RemoteSitePhysicalPath />
|
||||
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
|
||||
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
|
||||
<EnableMSDeployBackup>true</EnableMSDeployBackup>
|
||||
<EnableMsDeployAppOffline>true</EnableMsDeployAppOffline>
|
||||
<UserName>jenkins</UserName>
|
||||
<_SavePWD>true</_SavePWD>
|
||||
<_TargetId>IISWebDeploy</_TargetId>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<History>True|2023-07-24T14:24:14.2770302Z;True|2023-07-24T16:23:20.6455643+02:00;True|2023-05-22T15:35:59.9735292+02:00;False|2023-05-22T15:33:39.4808724+02:00;True|2023-05-11T17:36:48.1468628+02:00;</History>
|
||||
<LastFailureDetails />
|
||||
<TimeStampOfAssociatedLegacyPublishXmlFile />
|
||||
<EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAHBJL+AjnSkKKQcJBrmvYDwAAAAACAAAAAAADZgAAwAAAABAAAABqHjtCI4r9HP4to5TPRtU/AAAAAASAAACgAAAAEAAAAGWTrj6ykvtUZnIZTp5COsMYAAAAHkol9Zhdo3QCFNYyIvyJViyIyNSW1oNCFAAAAEvXT2wDdsDBGFpVXvR5NVA172tk</EncryptedPassword>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<WebPublishMethod>MSDeploy</WebPublishMethod>
|
||||
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
|
||||
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
|
||||
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||
<SiteUrlToLaunchAfterPublish>https://iis01.egalware.com/MP/SMGEN/</SiteUrlToLaunchAfterPublish>
|
||||
<ExcludeApp_Data>false</ExcludeApp_Data>
|
||||
<SelfContained>false</SelfContained>
|
||||
<MSDeployServiceURL>https://iis01.egalware.com:8172/MsDeploy.axd</MSDeployServiceURL>
|
||||
<DeployIisAppPath>Default Web Site/MP/SMGEN</DeployIisAppPath>
|
||||
<RemoteSitePhysicalPath />
|
||||
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
|
||||
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
|
||||
<EnableMSDeployBackup>true</EnableMSDeployBackup>
|
||||
<EnableMsDeployAppOffline>true</EnableMsDeployAppOffline>
|
||||
<UserName>jenkins</UserName>
|
||||
<_SavePWD>true</_SavePWD>
|
||||
<_TargetId>IISWebDeploy</_TargetId>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
|
||||
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<TimeStampOfAssociatedLegacyPublishXmlFile />
|
||||
<EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAHBJL+AjnSkKKQcJBrmvYDwAAAAACAAAAAAADZgAAwAAAABAAAABEZeATgyzATbSQPONruxZ3AAAAAASAAACgAAAAEAAAAOUpb0A/7aezHDT3vKuP+soYAAAAPs13cFfi0CJUSv0cE5GdPLNFBpttx9LHFAAAAHna4yYnHTKs3srVf3z0EW0hjQZb</EncryptedPassword>
|
||||
<History>False|2023-08-01T13:38:41.8692331Z;True|2023-07-24T16:12:23.8712346+02:00;True|2023-05-11T11:56:02.0835509+02:00;True|2023-05-11T11:03:19.0009531+02:00;True|2023-04-17T19:22:41.9460631+02:00;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:19236",
|
||||
"sslPort": 44374
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"SMGen": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"applicationUrl": "https://localhost:7042;http://localhost:5097",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
# Appunti sviluppo SMGen
|
||||
|
||||
|
||||
|
||||
## Processing import file Ingressi / Eventi
|
||||
|
||||
La tabella originale dei ruoles lega
|
||||
- segnali di ingresso
|
||||
- eventi da riportare a MP-IO
|
||||
- microstati
|
||||
- condizioni (rules) per il passaggio tr ai microstati secondo cominazione segnali ingresso
|
||||
|
||||
|
||||
Il sw è in grado di caricare e processare + files *.rul insieme, andando a popolare una tab temporanea dul SB x l'import finale, ma per garantire una gestione coerente è necessario implementare alcune regole:
|
||||
* in caso di processing di + files di rul insieme si deve valutare la loro coerenza
|
||||
* la coerenza preliminare si esprime nell'avere un set CONDIVISO degli eventi
|
||||
* sono ammessi file di rul che contengano eventi DISGIUNTI (= nessun elemento in comune)
|
||||
* sono ammessi files di rul che abbiano elemnti in comune
|
||||
* sono validi solo i files di *rul che condividono lo stesso set di eventi (in termini di codice + descrizione/nome)
|
||||
* in fase di import vano quindi scartati i fiels di rul che non tornano (senza ulteriori elaborazioni, vuol dire che in certi casi si potrebbero scartare molti o pochi files secondo ordine di processing)
|
||||
|
||||
|
||||
## processing file RUL
|
||||
Va quindi modificata la procedura di import/processing rul (sia di segnali che di eventi) in questo modo:
|
||||
- [ ] caricare e processare singolarmente ogni file di rul SENZA scrivere sul DB
|
||||
- [ ] gestire in memoria l'archivio condiviso del dizionario eventi (<int,string>(idxTipo, nome))
|
||||
- [ ] caricare gli eventi non trovati
|
||||
- [ ] scartare l'intero file di rul se trovato un evento x IDX che non tornasse x descrizione
|
||||
- [ ] svuotamento preliminare tab temp dal db (stored?)
|
||||
- [ ] scrittura sul DB solo alla fine del dizionario degli eventi "comune" validato
|
||||
- [ ] scrittura sul db delle "regole di transizione ingressi2eventi o eventi2stati
|
||||
Binary file not shown.
@@ -0,0 +1,68 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Description>State Machine Generator</Description>
|
||||
<Version>0.8.2307.2416</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Remove="compilerconfig.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS01.pubxml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="compilerconfig.json" />
|
||||
<None Include="Properties\PublishProfiles\IIS-PROD.pubxml.user" />
|
||||
<None Include="Properties\PublishProfiles\IIS01.pubxml.user" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="EgwCoreLib.Razor" Version="1.4.2307.3111" />
|
||||
<PackageReference Include="EgwCoreLib.Utils" Version="1.4.2307.3111" />
|
||||
<PackageReference Include="MailKit" Version="4.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.Negotiate" Version="6.0.20" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.13" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.13" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.13">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="NLog" Version="5.2.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SMGen.Core\SMGen.Core.csproj" />
|
||||
<ProjectReference Include="..\SMGen.Data\SMGen.Data.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="logs\.placeholder">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Temp\.placeholder">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Temp\Rules\.placeholder">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Temp\Rules\PROCESSED\BIT\.placeholder">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Temp\Rules\PROCESSED\STATI\.placeholder">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Temp\unsafe_uploads\.placeholder">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,22 @@
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<PageTitle>SMGen</PageTitle>
|
||||
|
||||
<div class="page">
|
||||
<div class="sidebar">
|
||||
<NavMenu />
|
||||
</div>
|
||||
|
||||
<main>
|
||||
<div class="top-row px-4">
|
||||
<a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
|
||||
</div>
|
||||
|
||||
<article class="content px-4">
|
||||
@Body
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
<div class="fixed-bottom">
|
||||
<CmpFooter></CmpFooter>
|
||||
</div>
|
||||
@@ -0,0 +1,70 @@
|
||||
.page {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
main {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
background-image: linear-gradient(180deg, rgb(5, 39, 103) 20%, #3aa6ff 90%);
|
||||
}
|
||||
|
||||
.top-row {
|
||||
background-color: #f7f7f7;
|
||||
border-bottom: 1px solid #d6d5d5;
|
||||
justify-content: flex-end;
|
||||
height: 3.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.top-row ::deep a, .top-row .btn-link {
|
||||
white-space: nowrap;
|
||||
margin-left: 1.5rem;
|
||||
}
|
||||
|
||||
.top-row a:first-child {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
@media (max-width: 640.98px) {
|
||||
.top-row:not(.auth) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.top-row.auth {
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.top-row a, .top-row .btn-link {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 641px) {
|
||||
.page {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
height: 100vh;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.top-row {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.top-row, article {
|
||||
padding-left: 2rem !important;
|
||||
padding-right: 1.5rem !important;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
<div class="top-row ps-3 navbar navbar-light">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand text-light" href="">SMGen</a>
|
||||
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
|
||||
<nav class="flex-column">
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link p-2" href="" Match="NavLinkMatch.All">
|
||||
<span class="oi oi-home" aria-hidden="true"></span> Home
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link p-2" href="FamIngressi">
|
||||
<span class="oi oi-list-rich" aria-hidden="true"></span> Anag Fam.Ingressi
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link p-2" href="FamMacchine">
|
||||
<span class="oi oi-list-rich" aria-hidden="true"></span> Anag Fam.Macchine
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link p-2" href="SMIn2Event">
|
||||
<span class="oi oi-plus" aria-hidden="true"></span> Gen. SM Ingressi
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link p-2" href="SMEvent2State">
|
||||
<span class="oi oi-plus" aria-hidden="true"></span> Gen. SM Stati
|
||||
</NavLink>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
private bool collapseNavMenu = true;
|
||||
|
||||
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
|
||||
|
||||
private void ToggleNavMenu()
|
||||
{
|
||||
collapseNavMenu = !collapseNavMenu;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
.navbar-toggler {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.top-row {
|
||||
height: 3.5rem;
|
||||
background-color: rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.oi {
|
||||
width: 2rem;
|
||||
font-size: 1.1rem;
|
||||
vertical-align: text-top;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
font-size: 0.9rem;
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.nav-item:first-of-type {
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
.nav-item:last-of-type {
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
.nav-item ::deep a {
|
||||
color: #d7d7d7;
|
||||
border-radius: 4px;
|
||||
height: 3rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
line-height: 3rem;
|
||||
}
|
||||
|
||||
.nav-item ::deep a.active {
|
||||
background-color: rgba(255,255,255,0.25);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.nav-item ::deep a:hover {
|
||||
background-color: rgba(255,255,255,0.1);
|
||||
color: white;
|
||||
}
|
||||
|
||||
@media (min-width: 641px) {
|
||||
.navbar-toggler {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.collapse {
|
||||
/* Never collapse the sidebar for wide screens */
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,420 @@
|
||||
IdxFamiglia;IdxStato;IdxTipo;next_IdxStato
|
||||
1;0;1;13
|
||||
1;0;2;2
|
||||
1;0;5;5
|
||||
1;0;7;7
|
||||
1;0;8;8
|
||||
1;0;9;9
|
||||
1;0;10;10
|
||||
1;0;12;11
|
||||
1;0;19;30
|
||||
1;0;26;27
|
||||
1;0;32;32
|
||||
1;0;38;34
|
||||
1;0;39;35
|
||||
1;0;50;50
|
||||
1;2;1;13
|
||||
1;2;5;5
|
||||
1;2;7;7
|
||||
1;2;8;8
|
||||
1;2;9;9
|
||||
1;2;10;10
|
||||
1;2;12;11
|
||||
1;2;19;30
|
||||
1;2;26;27
|
||||
1;2;32;32
|
||||
1;2;38;34
|
||||
1;2;39;35
|
||||
1;2;50;50
|
||||
1;3;1;13
|
||||
1;3;2;2
|
||||
1;3;5;5
|
||||
1;3;7;7
|
||||
1;3;8;8
|
||||
1;3;9;9
|
||||
1;3;10;10
|
||||
1;3;12;11
|
||||
1;3;19;30
|
||||
1;3;26;27
|
||||
1;3;32;32
|
||||
1;3;38;34
|
||||
1;3;39;35
|
||||
1;3;50;50
|
||||
1;4;1;13
|
||||
1;4;2;2
|
||||
1;4;5;5
|
||||
1;4;7;7
|
||||
1;4;8;8
|
||||
1;4;9;9
|
||||
1;4;10;10
|
||||
1;4;12;11
|
||||
1;4;19;30
|
||||
1;4;26;27
|
||||
1;4;32;32
|
||||
1;4;38;34
|
||||
1;4;39;35
|
||||
1;4;50;50
|
||||
1;5;1;13
|
||||
1;5;2;2
|
||||
1;5;7;7
|
||||
1;5;8;8
|
||||
1;5;9;9
|
||||
1;5;10;10
|
||||
1;5;12;11
|
||||
1;5;19;30
|
||||
1;5;26;27
|
||||
1;5;32;32
|
||||
1;5;38;34
|
||||
1;5;39;35
|
||||
1;5;50;50
|
||||
1;6;1;13
|
||||
1;6;2;2
|
||||
1;6;5;5
|
||||
1;6;7;7
|
||||
1;6;8;8
|
||||
1;6;9;9
|
||||
1;6;10;10
|
||||
1;6;12;11
|
||||
1;6;19;30
|
||||
1;6;26;27
|
||||
1;6;32;32
|
||||
1;6;38;34
|
||||
1;6;39;35
|
||||
1;6;50;50
|
||||
1;7;1;13
|
||||
1;7;2;2
|
||||
1;7;5;5
|
||||
1;7;8;8
|
||||
1;7;9;9
|
||||
1;7;10;10
|
||||
1;7;12;11
|
||||
1;7;19;30
|
||||
1;7;26;27
|
||||
1;7;32;32
|
||||
1;7;38;34
|
||||
1;7;39;35
|
||||
1;7;50;50
|
||||
1;8;1;13
|
||||
1;8;2;2
|
||||
1;8;5;5
|
||||
1;8;7;7
|
||||
1;8;9;9
|
||||
1;8;10;10
|
||||
1;8;12;11
|
||||
1;8;19;30
|
||||
1;8;26;27
|
||||
1;8;32;32
|
||||
1;8;38;34
|
||||
1;8;39;35
|
||||
1;8;50;50
|
||||
1;9;1;13
|
||||
1;9;2;2
|
||||
1;9;5;5
|
||||
1;9;7;7
|
||||
1;9;8;8
|
||||
1;9;10;10
|
||||
1;9;12;11
|
||||
1;9;19;30
|
||||
1;9;26;27
|
||||
1;9;32;32
|
||||
1;9;38;34
|
||||
1;9;39;35
|
||||
1;9;50;50
|
||||
1;10;1;13
|
||||
1;10;2;2
|
||||
1;10;5;5
|
||||
1;10;7;7
|
||||
1;10;8;8
|
||||
1;10;9;9
|
||||
1;10;12;11
|
||||
1;10;19;30
|
||||
1;10;26;27
|
||||
1;10;32;32
|
||||
1;10;38;34
|
||||
1;10;39;35
|
||||
1;10;50;50
|
||||
1;11;1;13
|
||||
1;11;2;2
|
||||
1;11;5;5
|
||||
1;11;7;7
|
||||
1;11;8;8
|
||||
1;11;9;9
|
||||
1;11;10;10
|
||||
1;11;19;30
|
||||
1;11;26;27
|
||||
1;11;32;32
|
||||
1;11;38;34
|
||||
1;11;39;35
|
||||
1;11;50;50
|
||||
1;12;1;13
|
||||
1;12;2;2
|
||||
1;12;5;5
|
||||
1;12;7;7
|
||||
1;12;8;8
|
||||
1;12;9;9
|
||||
1;12;10;10
|
||||
1;12;12;11
|
||||
1;12;19;30
|
||||
1;12;26;27
|
||||
1;12;32;32
|
||||
1;12;38;34
|
||||
1;12;39;35
|
||||
1;12;50;50
|
||||
1;13;2;2
|
||||
1;13;5;5
|
||||
1;13;7;7
|
||||
1;13;8;8
|
||||
1;13;9;9
|
||||
1;13;10;10
|
||||
1;13;12;11
|
||||
1;13;19;30
|
||||
1;13;26;27
|
||||
1;13;32;32
|
||||
1;13;38;34
|
||||
1;13;39;35
|
||||
1;13;50;50
|
||||
1;14;1;13
|
||||
1;14;2;2
|
||||
1;14;5;5
|
||||
1;14;7;7
|
||||
1;14;8;8
|
||||
1;14;9;9
|
||||
1;14;10;10
|
||||
1;14;12;11
|
||||
1;14;19;30
|
||||
1;14;26;27
|
||||
1;14;32;32
|
||||
1;14;38;34
|
||||
1;14;39;35
|
||||
1;14;50;50
|
||||
1;15;1;13
|
||||
1;15;2;2
|
||||
1;15;5;5
|
||||
1;15;7;7
|
||||
1;15;8;8
|
||||
1;15;9;9
|
||||
1;15;10;10
|
||||
1;15;12;11
|
||||
1;15;19;30
|
||||
1;15;26;27
|
||||
1;15;32;32
|
||||
1;15;38;34
|
||||
1;15;39;35
|
||||
1;15;50;50
|
||||
1;23;1;13
|
||||
1;23;2;2
|
||||
1;23;5;5
|
||||
1;23;7;7
|
||||
1;23;8;8
|
||||
1;23;9;9
|
||||
1;23;10;10
|
||||
1;23;12;11
|
||||
1;23;19;30
|
||||
1;23;26;27
|
||||
1;23;32;32
|
||||
1;23;38;34
|
||||
1;23;39;35
|
||||
1;23;50;50
|
||||
1;24;1;13
|
||||
1;24;2;2
|
||||
1;24;5;5
|
||||
1;24;7;7
|
||||
1;24;8;8
|
||||
1;24;9;9
|
||||
1;24;10;10
|
||||
1;24;12;11
|
||||
1;24;19;30
|
||||
1;24;26;27
|
||||
1;24;32;32
|
||||
1;24;38;34
|
||||
1;24;39;35
|
||||
1;24;50;50
|
||||
1;25;1;13
|
||||
1;25;2;2
|
||||
1;25;5;5
|
||||
1;25;7;7
|
||||
1;25;8;8
|
||||
1;25;9;9
|
||||
1;25;10;10
|
||||
1;25;12;11
|
||||
1;25;19;30
|
||||
1;25;26;27
|
||||
1;25;32;32
|
||||
1;25;38;34
|
||||
1;25;39;35
|
||||
1;25;50;50
|
||||
1;26;1;13
|
||||
1;26;2;2
|
||||
1;26;5;5
|
||||
1;26;7;7
|
||||
1;26;8;8
|
||||
1;26;9;9
|
||||
1;26;10;10
|
||||
1;26;12;11
|
||||
1;26;19;30
|
||||
1;26;26;27
|
||||
1;26;32;32
|
||||
1;26;38;34
|
||||
1;26;39;35
|
||||
1;26;50;50
|
||||
1;27;1;13
|
||||
1;27;2;2
|
||||
1;27;5;5
|
||||
1;27;7;7
|
||||
1;27;8;8
|
||||
1;27;9;9
|
||||
1;27;10;10
|
||||
1;27;12;11
|
||||
1;27;19;30
|
||||
1;27;32;32
|
||||
1;27;38;34
|
||||
1;27;39;35
|
||||
1;27;50;50
|
||||
1;27;1;13
|
||||
1;27;2;2
|
||||
1;27;5;5
|
||||
1;27;7;7
|
||||
1;27;8;8
|
||||
1;27;9;9
|
||||
1;27;10;10
|
||||
1;27;12;11
|
||||
1;27;19;30
|
||||
1;27;32;32
|
||||
1;27;38;34
|
||||
1;27;39;35
|
||||
1;27;50;50
|
||||
1;28;1;13
|
||||
1;28;2;2
|
||||
1;28;5;5
|
||||
1;28;7;7
|
||||
1;28;8;8
|
||||
1;28;9;9
|
||||
1;28;10;10
|
||||
1;28;12;11
|
||||
1;28;19;30
|
||||
1;28;26;27
|
||||
1;28;32;32
|
||||
1;28;38;34
|
||||
1;28;39;35
|
||||
1;28;50;50
|
||||
1;29;1;13
|
||||
1;29;2;2
|
||||
1;29;5;5
|
||||
1;29;7;7
|
||||
1;29;8;8
|
||||
1;29;9;9
|
||||
1;29;10;10
|
||||
1;29;12;11
|
||||
1;29;19;30
|
||||
1;29;26;27
|
||||
1;29;32;32
|
||||
1;29;38;34
|
||||
1;29;39;35
|
||||
1;29;50;50
|
||||
1;30;1;13
|
||||
1;30;2;2
|
||||
1;30;5;5
|
||||
1;30;7;7
|
||||
1;30;8;8
|
||||
1;30;9;9
|
||||
1;30;10;10
|
||||
1;30;12;11
|
||||
1;30;26;27
|
||||
1;30;32;32
|
||||
1;30;38;34
|
||||
1;30;39;35
|
||||
1;30;50;50
|
||||
1;31;1;13
|
||||
1;31;2;2
|
||||
1;31;5;5
|
||||
1;31;7;7
|
||||
1;31;8;8
|
||||
1;31;9;9
|
||||
1;31;10;10
|
||||
1;31;12;11
|
||||
1;31;19;30
|
||||
1;31;26;27
|
||||
1;31;32;32
|
||||
1;31;38;34
|
||||
1;31;39;35
|
||||
1;31;50;50
|
||||
1;32;1;13
|
||||
1;32;2;2
|
||||
1;32;5;5
|
||||
1;32;7;7
|
||||
1;32;8;8
|
||||
1;32;9;9
|
||||
1;32;10;10
|
||||
1;32;12;11
|
||||
1;32;19;30
|
||||
1;32;26;27
|
||||
1;32;38;34
|
||||
1;32;39;35
|
||||
1;32;50;50
|
||||
1;33;1;13
|
||||
1;33;2;2
|
||||
1;33;5;5
|
||||
1;33;7;7
|
||||
1;33;8;8
|
||||
1;33;9;9
|
||||
1;33;10;10
|
||||
1;33;12;11
|
||||
1;33;19;30
|
||||
1;33;26;27
|
||||
1;33;32;32
|
||||
1;33;38;34
|
||||
1;33;39;35
|
||||
1;33;50;50
|
||||
1;34;1;13
|
||||
1;34;2;2
|
||||
1;34;5;5
|
||||
1;34;7;7
|
||||
1;34;8;8
|
||||
1;34;9;9
|
||||
1;34;10;10
|
||||
1;34;12;11
|
||||
1;34;19;30
|
||||
1;34;26;27
|
||||
1;34;32;32
|
||||
1;34;39;35
|
||||
1;34;50;50
|
||||
1;35;1;13
|
||||
1;35;2;2
|
||||
1;35;5;5
|
||||
1;35;7;7
|
||||
1;35;8;8
|
||||
1;35;9;9
|
||||
1;35;10;10
|
||||
1;35;12;11
|
||||
1;35;19;30
|
||||
1;35;26;27
|
||||
1;35;32;32
|
||||
1;35;38;34
|
||||
1;35;50;50
|
||||
1;49;1;13
|
||||
1;49;2;2
|
||||
1;49;5;5
|
||||
1;49;7;7
|
||||
1;49;8;8
|
||||
1;49;9;9
|
||||
1;49;10;10
|
||||
1;49;12;11
|
||||
1;49;19;30
|
||||
1;49;26;27
|
||||
1;49;32;32
|
||||
1;49;38;34
|
||||
1;49;39;35
|
||||
1;49;50;50
|
||||
1;50;1;13
|
||||
1;50;2;2
|
||||
1;50;5;5
|
||||
1;50;7;7
|
||||
1;50;8;8
|
||||
1;50;9;9
|
||||
1;50;10;10
|
||||
1;50;12;11
|
||||
1;50;19;30
|
||||
1;50;26;27
|
||||
1;50;32;32
|
||||
1;50;38;34
|
||||
1;50;39;35
|
||||
|
@@ -0,0 +1,449 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10049;0;0;14;1
|
||||
10049;0;1;30;7
|
||||
10049;0;2;14;1
|
||||
10049;0;3;30;7
|
||||
10049;0;4;14;1
|
||||
10049;0;5;30;7
|
||||
10049;0;6;14;1
|
||||
10049;0;7;30;7
|
||||
10049;0;8;14;1
|
||||
10049;0;9;30;7
|
||||
10049;0;10;14;1
|
||||
10049;0;11;30;7
|
||||
10049;0;12;14;1
|
||||
10049;0;13;30;7
|
||||
10049;0;14;14;1
|
||||
10049;0;15;30;7
|
||||
10049;0;16;14;1
|
||||
10049;0;17;24;6
|
||||
10049;0;18;14;1
|
||||
10049;0;19;24;6
|
||||
10049;0;20;14;1
|
||||
10049;0;21;24;6
|
||||
10049;0;22;14;1
|
||||
10049;0;23;24;6
|
||||
10049;0;24;14;1
|
||||
10049;0;25;24;6
|
||||
10049;0;26;14;1
|
||||
10049;0;27;24;6
|
||||
10049;0;28;14;1
|
||||
10049;0;29;24;6
|
||||
10049;0;30;14;1
|
||||
10049;0;31;24;6
|
||||
10049;0;32;14;1
|
||||
10049;0;33;15;2
|
||||
10049;0;34;14;1
|
||||
10049;0;35;16;3
|
||||
10049;0;36;14;1
|
||||
10049;0;37;15;2
|
||||
10049;0;38;14;1
|
||||
10049;0;39;16;3
|
||||
10049;0;40;14;1
|
||||
10049;0;41;18;5
|
||||
10049;0;42;14;1
|
||||
10049;0;43;18;5
|
||||
10049;0;44;14;1
|
||||
10049;0;45;18;5
|
||||
10049;0;46;14;1
|
||||
10049;0;47;18;5
|
||||
10049;0;48;14;1
|
||||
10049;0;49;24;6
|
||||
10049;0;50;14;1
|
||||
10049;0;51;24;6
|
||||
10049;0;52;14;1
|
||||
10049;0;53;24;6
|
||||
10049;0;54;14;1
|
||||
10049;0;55;24;6
|
||||
10049;0;56;14;1
|
||||
10049;0;57;24;6
|
||||
10049;0;58;14;1
|
||||
10049;0;59;24;6
|
||||
10049;0;60;14;1
|
||||
10049;0;61;24;6
|
||||
10049;0;62;14;1
|
||||
10049;0;63;24;6
|
||||
10049;1;1;30;7
|
||||
10049;1;3;30;7
|
||||
10049;1;5;30;7
|
||||
10049;1;7;30;7
|
||||
10049;1;9;30;7
|
||||
10049;1;11;30;7
|
||||
10049;1;13;30;7
|
||||
10049;1;15;30;7
|
||||
10049;1;17;24;6
|
||||
10049;1;19;24;6
|
||||
10049;1;21;24;6
|
||||
10049;1;23;24;6
|
||||
10049;1;25;24;6
|
||||
10049;1;27;24;6
|
||||
10049;1;29;24;6
|
||||
10049;1;31;24;6
|
||||
10049;1;33;15;2
|
||||
10049;1;35;16;3
|
||||
10049;1;37;15;2
|
||||
10049;1;39;16;3
|
||||
10049;1;41;18;5
|
||||
10049;1;43;18;5
|
||||
10049;1;45;18;5
|
||||
10049;1;47;18;5
|
||||
10049;1;49;24;6
|
||||
10049;1;51;24;6
|
||||
10049;1;53;24;6
|
||||
10049;1;55;24;6
|
||||
10049;1;57;24;6
|
||||
10049;1;59;24;6
|
||||
10049;1;61;24;6
|
||||
10049;1;63;24;6
|
||||
10049;2;0;14;1
|
||||
10049;2;1;30;7
|
||||
10049;2;2;14;1
|
||||
10049;2;3;30;7
|
||||
10049;2;4;14;1
|
||||
10049;2;5;30;7
|
||||
10049;2;6;14;1
|
||||
10049;2;7;30;7
|
||||
10049;2;8;14;1
|
||||
10049;2;9;30;7
|
||||
10049;2;10;14;1
|
||||
10049;2;11;30;7
|
||||
10049;2;12;14;1
|
||||
10049;2;13;30;7
|
||||
10049;2;14;14;1
|
||||
10049;2;15;30;7
|
||||
10049;2;16;14;1
|
||||
10049;2;17;24;6
|
||||
10049;2;18;14;1
|
||||
10049;2;19;24;6
|
||||
10049;2;20;14;1
|
||||
10049;2;21;24;6
|
||||
10049;2;22;14;1
|
||||
10049;2;23;24;6
|
||||
10049;2;24;14;1
|
||||
10049;2;25;24;6
|
||||
10049;2;26;14;1
|
||||
10049;2;27;24;6
|
||||
10049;2;28;14;1
|
||||
10049;2;29;24;6
|
||||
10049;2;30;14;1
|
||||
10049;2;31;24;6
|
||||
10049;2;32;14;1
|
||||
10049;2;34;14;1
|
||||
10049;2;35;16;3
|
||||
10049;2;36;14;1
|
||||
10049;2;38;14;1
|
||||
10049;2;39;16;3
|
||||
10049;2;40;14;1
|
||||
10049;2;41;18;5
|
||||
10049;2;42;14;1
|
||||
10049;2;43;18;5
|
||||
10049;2;44;14;1
|
||||
10049;2;45;18;5
|
||||
10049;2;46;14;1
|
||||
10049;2;47;18;5
|
||||
10049;2;48;14;1
|
||||
10049;2;49;24;6
|
||||
10049;2;50;14;1
|
||||
10049;2;51;24;6
|
||||
10049;2;52;14;1
|
||||
10049;2;53;24;6
|
||||
10049;2;54;14;1
|
||||
10049;2;55;24;6
|
||||
10049;2;56;14;1
|
||||
10049;2;57;24;6
|
||||
10049;2;58;14;1
|
||||
10049;2;59;24;6
|
||||
10049;2;60;14;1
|
||||
10049;2;61;24;6
|
||||
10049;2;62;14;1
|
||||
10049;2;63;24;6
|
||||
10049;3;0;14;1
|
||||
10049;3;1;30;7
|
||||
10049;3;2;14;1
|
||||
10049;3;3;30;7
|
||||
10049;3;4;14;1
|
||||
10049;3;5;30;7
|
||||
10049;3;6;14;1
|
||||
10049;3;7;30;7
|
||||
10049;3;8;14;1
|
||||
10049;3;9;30;7
|
||||
10049;3;10;14;1
|
||||
10049;3;11;30;7
|
||||
10049;3;12;14;1
|
||||
10049;3;13;30;7
|
||||
10049;3;14;14;1
|
||||
10049;3;15;30;7
|
||||
10049;3;16;14;1
|
||||
10049;3;17;24;6
|
||||
10049;3;18;14;1
|
||||
10049;3;19;24;6
|
||||
10049;3;20;14;1
|
||||
10049;3;21;24;6
|
||||
10049;3;22;14;1
|
||||
10049;3;23;24;6
|
||||
10049;3;24;14;1
|
||||
10049;3;25;24;6
|
||||
10049;3;26;14;1
|
||||
10049;3;27;24;6
|
||||
10049;3;28;14;1
|
||||
10049;3;29;24;6
|
||||
10049;3;30;14;1
|
||||
10049;3;31;24;6
|
||||
10049;3;32;14;1
|
||||
10049;3;33;15;2
|
||||
10049;3;34;14;1
|
||||
10049;3;36;14;1
|
||||
10049;3;37;15;2
|
||||
10049;3;38;14;1
|
||||
10049;3;40;14;1
|
||||
10049;3;41;18;5
|
||||
10049;3;42;14;1
|
||||
10049;3;43;18;5
|
||||
10049;3;44;14;1
|
||||
10049;3;45;18;5
|
||||
10049;3;46;14;1
|
||||
10049;3;47;18;5
|
||||
10049;3;48;14;1
|
||||
10049;3;49;24;6
|
||||
10049;3;50;14;1
|
||||
10049;3;51;24;6
|
||||
10049;3;52;14;1
|
||||
10049;3;53;24;6
|
||||
10049;3;54;14;1
|
||||
10049;3;55;24;6
|
||||
10049;3;56;14;1
|
||||
10049;3;57;24;6
|
||||
10049;3;58;14;1
|
||||
10049;3;59;24;6
|
||||
10049;3;60;14;1
|
||||
10049;3;61;24;6
|
||||
10049;3;62;14;1
|
||||
10049;3;63;24;6
|
||||
10049;4;0;14;1
|
||||
10049;4;1;30;7
|
||||
10049;4;2;14;1
|
||||
10049;4;3;30;7
|
||||
10049;4;4;14;1
|
||||
10049;4;5;30;7
|
||||
10049;4;6;14;1
|
||||
10049;4;7;30;7
|
||||
10049;4;8;14;1
|
||||
10049;4;9;30;7
|
||||
10049;4;10;14;1
|
||||
10049;4;11;30;7
|
||||
10049;4;12;14;1
|
||||
10049;4;13;30;7
|
||||
10049;4;14;14;1
|
||||
10049;4;15;30;7
|
||||
10049;4;16;14;1
|
||||
10049;4;17;24;6
|
||||
10049;4;18;14;1
|
||||
10049;4;19;24;6
|
||||
10049;4;20;14;1
|
||||
10049;4;21;24;6
|
||||
10049;4;22;14;1
|
||||
10049;4;23;24;6
|
||||
10049;4;24;14;1
|
||||
10049;4;25;24;6
|
||||
10049;4;26;14;1
|
||||
10049;4;27;24;6
|
||||
10049;4;28;14;1
|
||||
10049;4;29;24;6
|
||||
10049;4;30;14;1
|
||||
10049;4;31;24;6
|
||||
10049;4;32;14;1
|
||||
10049;4;33;15;2
|
||||
10049;4;34;14;1
|
||||
10049;4;35;16;3
|
||||
10049;4;36;14;1
|
||||
10049;4;37;15;2
|
||||
10049;4;38;14;1
|
||||
10049;4;39;16;3
|
||||
10049;4;40;14;1
|
||||
10049;4;41;18;5
|
||||
10049;4;42;14;1
|
||||
10049;4;43;18;5
|
||||
10049;4;44;14;1
|
||||
10049;4;45;18;5
|
||||
10049;4;46;14;1
|
||||
10049;4;47;18;5
|
||||
10049;4;48;14;1
|
||||
10049;4;49;24;6
|
||||
10049;4;50;14;1
|
||||
10049;4;51;24;6
|
||||
10049;4;52;14;1
|
||||
10049;4;53;24;6
|
||||
10049;4;54;14;1
|
||||
10049;4;55;24;6
|
||||
10049;4;56;14;1
|
||||
10049;4;57;24;6
|
||||
10049;4;58;14;1
|
||||
10049;4;59;24;6
|
||||
10049;4;60;14;1
|
||||
10049;4;61;24;6
|
||||
10049;4;62;14;1
|
||||
10049;4;63;24;6
|
||||
10049;5;0;14;1
|
||||
10049;5;1;30;7
|
||||
10049;5;2;14;1
|
||||
10049;5;3;30;7
|
||||
10049;5;4;14;1
|
||||
10049;5;5;30;7
|
||||
10049;5;6;14;1
|
||||
10049;5;7;30;7
|
||||
10049;5;8;14;1
|
||||
10049;5;9;30;7
|
||||
10049;5;10;14;1
|
||||
10049;5;11;30;7
|
||||
10049;5;12;14;1
|
||||
10049;5;13;30;7
|
||||
10049;5;14;14;1
|
||||
10049;5;15;30;7
|
||||
10049;5;16;14;1
|
||||
10049;5;17;24;6
|
||||
10049;5;18;14;1
|
||||
10049;5;19;24;6
|
||||
10049;5;20;14;1
|
||||
10049;5;21;24;6
|
||||
10049;5;22;14;1
|
||||
10049;5;23;24;6
|
||||
10049;5;24;14;1
|
||||
10049;5;25;24;6
|
||||
10049;5;26;14;1
|
||||
10049;5;27;24;6
|
||||
10049;5;28;14;1
|
||||
10049;5;29;24;6
|
||||
10049;5;30;14;1
|
||||
10049;5;31;24;6
|
||||
10049;5;32;14;1
|
||||
10049;5;33;15;2
|
||||
10049;5;34;14;1
|
||||
10049;5;35;16;3
|
||||
10049;5;36;14;1
|
||||
10049;5;37;15;2
|
||||
10049;5;38;14;1
|
||||
10049;5;39;16;3
|
||||
10049;5;40;14;1
|
||||
10049;5;42;14;1
|
||||
10049;5;44;14;1
|
||||
10049;5;46;14;1
|
||||
10049;5;48;14;1
|
||||
10049;5;49;24;6
|
||||
10049;5;50;14;1
|
||||
10049;5;51;24;6
|
||||
10049;5;52;14;1
|
||||
10049;5;53;24;6
|
||||
10049;5;54;14;1
|
||||
10049;5;55;24;6
|
||||
10049;5;56;14;1
|
||||
10049;5;57;24;6
|
||||
10049;5;58;14;1
|
||||
10049;5;59;24;6
|
||||
10049;5;60;14;1
|
||||
10049;5;61;24;6
|
||||
10049;5;62;14;1
|
||||
10049;5;63;24;6
|
||||
10049;6;0;14;1
|
||||
10049;6;1;30;7
|
||||
10049;6;2;14;1
|
||||
10049;6;3;30;7
|
||||
10049;6;4;14;1
|
||||
10049;6;5;30;7
|
||||
10049;6;6;14;1
|
||||
10049;6;7;30;7
|
||||
10049;6;8;14;1
|
||||
10049;6;9;30;7
|
||||
10049;6;10;14;1
|
||||
10049;6;11;30;7
|
||||
10049;6;12;14;1
|
||||
10049;6;13;30;7
|
||||
10049;6;14;14;1
|
||||
10049;6;15;30;7
|
||||
10049;6;16;14;1
|
||||
10049;6;18;14;1
|
||||
10049;6;20;14;1
|
||||
10049;6;22;14;1
|
||||
10049;6;24;14;1
|
||||
10049;6;26;14;1
|
||||
10049;6;28;14;1
|
||||
10049;6;30;14;1
|
||||
10049;6;32;14;1
|
||||
10049;6;33;15;2
|
||||
10049;6;34;14;1
|
||||
10049;6;35;16;3
|
||||
10049;6;36;14;1
|
||||
10049;6;37;15;2
|
||||
10049;6;38;14;1
|
||||
10049;6;39;16;3
|
||||
10049;6;40;14;1
|
||||
10049;6;41;18;5
|
||||
10049;6;42;14;1
|
||||
10049;6;43;18;5
|
||||
10049;6;44;14;1
|
||||
10049;6;45;18;5
|
||||
10049;6;46;14;1
|
||||
10049;6;47;18;5
|
||||
10049;6;48;14;1
|
||||
10049;6;50;14;1
|
||||
10049;6;52;14;1
|
||||
10049;6;54;14;1
|
||||
10049;6;56;14;1
|
||||
10049;6;58;14;1
|
||||
10049;6;60;14;1
|
||||
10049;6;62;14;1
|
||||
10049;7;0;14;1
|
||||
10049;7;2;14;1
|
||||
10049;7;4;14;1
|
||||
10049;7;6;14;1
|
||||
10049;7;8;14;1
|
||||
10049;7;10;14;1
|
||||
10049;7;12;14;1
|
||||
10049;7;14;14;1
|
||||
10049;7;16;14;1
|
||||
10049;7;17;24;6
|
||||
10049;7;18;14;1
|
||||
10049;7;19;24;6
|
||||
10049;7;20;14;1
|
||||
10049;7;21;24;6
|
||||
10049;7;22;14;1
|
||||
10049;7;23;24;6
|
||||
10049;7;24;14;1
|
||||
10049;7;25;24;6
|
||||
10049;7;26;14;1
|
||||
10049;7;27;24;6
|
||||
10049;7;28;14;1
|
||||
10049;7;29;24;6
|
||||
10049;7;30;14;1
|
||||
10049;7;31;24;6
|
||||
10049;7;32;14;1
|
||||
10049;7;33;15;2
|
||||
10049;7;34;14;1
|
||||
10049;7;35;16;3
|
||||
10049;7;36;14;1
|
||||
10049;7;37;15;2
|
||||
10049;7;38;14;1
|
||||
10049;7;39;16;3
|
||||
10049;7;40;14;1
|
||||
10049;7;41;18;5
|
||||
10049;7;42;14;1
|
||||
10049;7;43;18;5
|
||||
10049;7;44;14;1
|
||||
10049;7;45;18;5
|
||||
10049;7;46;14;1
|
||||
10049;7;47;18;5
|
||||
10049;7;48;14;1
|
||||
10049;7;49;24;6
|
||||
10049;7;50;14;1
|
||||
10049;7;51;24;6
|
||||
10049;7;52;14;1
|
||||
10049;7;53;24;6
|
||||
10049;7;54;14;1
|
||||
10049;7;55;24;6
|
||||
10049;7;56;14;1
|
||||
10049;7;57;24;6
|
||||
10049;7;58;14;1
|
||||
10049;7;59;24;6
|
||||
10049;7;60;14;1
|
||||
10049;7;61;24;6
|
||||
10049;7;62;14;1
|
||||
10049;7;63;24;6
|
||||
|
@@ -0,0 +1,449 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10049;0;0;14;1
|
||||
10049;0;1;30;7
|
||||
10049;0;2;14;1
|
||||
10049;0;3;30;7
|
||||
10049;0;4;14;1
|
||||
10049;0;5;30;7
|
||||
10049;0;6;14;1
|
||||
10049;0;7;30;7
|
||||
10049;0;8;14;1
|
||||
10049;0;9;30;7
|
||||
10049;0;10;14;1
|
||||
10049;0;11;30;7
|
||||
10049;0;12;14;1
|
||||
10049;0;13;30;7
|
||||
10049;0;14;14;1
|
||||
10049;0;15;30;7
|
||||
10049;0;16;14;1
|
||||
10049;0;17;24;6
|
||||
10049;0;18;14;1
|
||||
10049;0;19;24;6
|
||||
10049;0;20;14;1
|
||||
10049;0;21;24;6
|
||||
10049;0;22;14;1
|
||||
10049;0;23;24;6
|
||||
10049;0;24;14;1
|
||||
10049;0;25;24;6
|
||||
10049;0;26;14;1
|
||||
10049;0;27;24;6
|
||||
10049;0;28;14;1
|
||||
10049;0;29;24;6
|
||||
10049;0;30;14;1
|
||||
10049;0;31;24;6
|
||||
10049;0;32;14;1
|
||||
10049;0;33;15;2
|
||||
10049;0;34;14;1
|
||||
10049;0;35;16;3
|
||||
10049;0;36;14;1
|
||||
10049;0;37;15;2
|
||||
10049;0;38;14;1
|
||||
10049;0;39;16;3
|
||||
10049;0;40;14;1
|
||||
10049;0;41;18;5
|
||||
10049;0;42;14;1
|
||||
10049;0;43;18;5
|
||||
10049;0;44;14;1
|
||||
10049;0;45;18;5
|
||||
10049;0;46;14;1
|
||||
10049;0;47;18;5
|
||||
10049;0;48;14;1
|
||||
10049;0;49;24;6
|
||||
10049;0;50;14;1
|
||||
10049;0;51;24;6
|
||||
10049;0;52;14;1
|
||||
10049;0;53;24;6
|
||||
10049;0;54;14;1
|
||||
10049;0;55;24;6
|
||||
10049;0;56;14;1
|
||||
10049;0;57;24;6
|
||||
10049;0;58;14;1
|
||||
10049;0;59;24;6
|
||||
10049;0;60;14;1
|
||||
10049;0;61;24;6
|
||||
10049;0;62;14;1
|
||||
10049;0;63;24;6
|
||||
10049;1;1;30;7
|
||||
10049;1;3;30;7
|
||||
10049;1;5;30;7
|
||||
10049;1;7;30;7
|
||||
10049;1;9;30;7
|
||||
10049;1;11;30;7
|
||||
10049;1;13;30;7
|
||||
10049;1;15;30;7
|
||||
10049;1;17;24;6
|
||||
10049;1;19;24;6
|
||||
10049;1;21;24;6
|
||||
10049;1;23;24;6
|
||||
10049;1;25;24;6
|
||||
10049;1;27;24;6
|
||||
10049;1;29;24;6
|
||||
10049;1;31;24;6
|
||||
10049;1;33;15;2
|
||||
10049;1;35;16;3
|
||||
10049;1;37;15;2
|
||||
10049;1;39;16;3
|
||||
10049;1;41;18;5
|
||||
10049;1;43;18;5
|
||||
10049;1;45;18;5
|
||||
10049;1;47;18;5
|
||||
10049;1;49;24;6
|
||||
10049;1;51;24;6
|
||||
10049;1;53;24;6
|
||||
10049;1;55;24;6
|
||||
10049;1;57;24;6
|
||||
10049;1;59;24;6
|
||||
10049;1;61;24;6
|
||||
10049;1;63;24;6
|
||||
10049;2;0;14;1
|
||||
10049;2;1;30;7
|
||||
10049;2;2;14;1
|
||||
10049;2;3;30;7
|
||||
10049;2;4;14;1
|
||||
10049;2;5;30;7
|
||||
10049;2;6;14;1
|
||||
10049;2;7;30;7
|
||||
10049;2;8;14;1
|
||||
10049;2;9;30;7
|
||||
10049;2;10;14;1
|
||||
10049;2;11;30;7
|
||||
10049;2;12;14;1
|
||||
10049;2;13;30;7
|
||||
10049;2;14;14;1
|
||||
10049;2;15;30;7
|
||||
10049;2;16;14;1
|
||||
10049;2;17;24;6
|
||||
10049;2;18;14;1
|
||||
10049;2;19;24;6
|
||||
10049;2;20;14;1
|
||||
10049;2;21;24;6
|
||||
10049;2;22;14;1
|
||||
10049;2;23;24;6
|
||||
10049;2;24;14;1
|
||||
10049;2;25;24;6
|
||||
10049;2;26;14;1
|
||||
10049;2;27;24;6
|
||||
10049;2;28;14;1
|
||||
10049;2;29;24;6
|
||||
10049;2;30;14;1
|
||||
10049;2;31;24;6
|
||||
10049;2;32;14;1
|
||||
10049;2;34;14;1
|
||||
10049;2;35;16;3
|
||||
10049;2;36;14;1
|
||||
10049;2;38;14;1
|
||||
10049;2;39;16;3
|
||||
10049;2;40;14;1
|
||||
10049;2;41;18;5
|
||||
10049;2;42;14;1
|
||||
10049;2;43;18;5
|
||||
10049;2;44;14;1
|
||||
10049;2;45;18;5
|
||||
10049;2;46;14;1
|
||||
10049;2;47;18;5
|
||||
10049;2;48;14;1
|
||||
10049;2;49;24;6
|
||||
10049;2;50;14;1
|
||||
10049;2;51;24;6
|
||||
10049;2;52;14;1
|
||||
10049;2;53;24;6
|
||||
10049;2;54;14;1
|
||||
10049;2;55;24;6
|
||||
10049;2;56;14;1
|
||||
10049;2;57;24;6
|
||||
10049;2;58;14;1
|
||||
10049;2;59;24;6
|
||||
10049;2;60;14;1
|
||||
10049;2;61;24;6
|
||||
10049;2;62;14;1
|
||||
10049;2;63;24;6
|
||||
10049;3;0;14;1
|
||||
10049;3;1;30;7
|
||||
10049;3;2;14;1
|
||||
10049;3;3;30;7
|
||||
10049;3;4;14;1
|
||||
10049;3;5;30;7
|
||||
10049;3;6;14;1
|
||||
10049;3;7;30;7
|
||||
10049;3;8;14;1
|
||||
10049;3;9;30;7
|
||||
10049;3;10;14;1
|
||||
10049;3;11;30;7
|
||||
10049;3;12;14;1
|
||||
10049;3;13;30;7
|
||||
10049;3;14;14;1
|
||||
10049;3;15;30;7
|
||||
10049;3;16;14;1
|
||||
10049;3;17;24;6
|
||||
10049;3;18;14;1
|
||||
10049;3;19;24;6
|
||||
10049;3;20;14;1
|
||||
10049;3;21;24;6
|
||||
10049;3;22;14;1
|
||||
10049;3;23;24;6
|
||||
10049;3;24;14;1
|
||||
10049;3;25;24;6
|
||||
10049;3;26;14;1
|
||||
10049;3;27;24;6
|
||||
10049;3;28;14;1
|
||||
10049;3;29;24;6
|
||||
10049;3;30;14;1
|
||||
10049;3;31;24;6
|
||||
10049;3;32;14;1
|
||||
10049;3;33;15;2
|
||||
10049;3;34;14;1
|
||||
10049;3;36;14;1
|
||||
10049;3;37;15;2
|
||||
10049;3;38;14;1
|
||||
10049;3;40;14;1
|
||||
10049;3;41;18;5
|
||||
10049;3;42;14;1
|
||||
10049;3;43;18;5
|
||||
10049;3;44;14;1
|
||||
10049;3;45;18;5
|
||||
10049;3;46;14;1
|
||||
10049;3;47;18;5
|
||||
10049;3;48;14;1
|
||||
10049;3;49;24;6
|
||||
10049;3;50;14;1
|
||||
10049;3;51;24;6
|
||||
10049;3;52;14;1
|
||||
10049;3;53;24;6
|
||||
10049;3;54;14;1
|
||||
10049;3;55;24;6
|
||||
10049;3;56;14;1
|
||||
10049;3;57;24;6
|
||||
10049;3;58;14;1
|
||||
10049;3;59;24;6
|
||||
10049;3;60;14;1
|
||||
10049;3;61;24;6
|
||||
10049;3;62;14;1
|
||||
10049;3;63;24;6
|
||||
10049;4;0;14;1
|
||||
10049;4;1;30;7
|
||||
10049;4;2;14;1
|
||||
10049;4;3;30;7
|
||||
10049;4;4;14;1
|
||||
10049;4;5;30;7
|
||||
10049;4;6;14;1
|
||||
10049;4;7;30;7
|
||||
10049;4;8;14;1
|
||||
10049;4;9;30;7
|
||||
10049;4;10;14;1
|
||||
10049;4;11;30;7
|
||||
10049;4;12;14;1
|
||||
10049;4;13;30;7
|
||||
10049;4;14;14;1
|
||||
10049;4;15;30;7
|
||||
10049;4;16;14;1
|
||||
10049;4;17;24;6
|
||||
10049;4;18;14;1
|
||||
10049;4;19;24;6
|
||||
10049;4;20;14;1
|
||||
10049;4;21;24;6
|
||||
10049;4;22;14;1
|
||||
10049;4;23;24;6
|
||||
10049;4;24;14;1
|
||||
10049;4;25;24;6
|
||||
10049;4;26;14;1
|
||||
10049;4;27;24;6
|
||||
10049;4;28;14;1
|
||||
10049;4;29;24;6
|
||||
10049;4;30;14;1
|
||||
10049;4;31;24;6
|
||||
10049;4;32;14;1
|
||||
10049;4;33;15;2
|
||||
10049;4;34;14;1
|
||||
10049;4;35;16;3
|
||||
10049;4;36;14;1
|
||||
10049;4;37;15;2
|
||||
10049;4;38;14;1
|
||||
10049;4;39;16;3
|
||||
10049;4;40;14;1
|
||||
10049;4;41;18;5
|
||||
10049;4;42;14;1
|
||||
10049;4;43;18;5
|
||||
10049;4;44;14;1
|
||||
10049;4;45;18;5
|
||||
10049;4;46;14;1
|
||||
10049;4;47;18;5
|
||||
10049;4;48;14;1
|
||||
10049;4;49;24;6
|
||||
10049;4;50;14;1
|
||||
10049;4;51;24;6
|
||||
10049;4;52;14;1
|
||||
10049;4;53;24;6
|
||||
10049;4;54;14;1
|
||||
10049;4;55;24;6
|
||||
10049;4;56;14;1
|
||||
10049;4;57;24;6
|
||||
10049;4;58;14;1
|
||||
10049;4;59;24;6
|
||||
10049;4;60;14;1
|
||||
10049;4;61;24;6
|
||||
10049;4;62;14;1
|
||||
10049;4;63;24;6
|
||||
10049;5;0;14;1
|
||||
10049;5;1;30;7
|
||||
10049;5;2;14;1
|
||||
10049;5;3;30;7
|
||||
10049;5;4;14;1
|
||||
10049;5;5;30;7
|
||||
10049;5;6;14;1
|
||||
10049;5;7;30;7
|
||||
10049;5;8;14;1
|
||||
10049;5;9;30;7
|
||||
10049;5;10;14;1
|
||||
10049;5;11;30;7
|
||||
10049;5;12;14;1
|
||||
10049;5;13;30;7
|
||||
10049;5;14;14;1
|
||||
10049;5;15;30;7
|
||||
10049;5;16;14;1
|
||||
10049;5;17;24;6
|
||||
10049;5;18;14;1
|
||||
10049;5;19;24;6
|
||||
10049;5;20;14;1
|
||||
10049;5;21;24;6
|
||||
10049;5;22;14;1
|
||||
10049;5;23;24;6
|
||||
10049;5;24;14;1
|
||||
10049;5;25;24;6
|
||||
10049;5;26;14;1
|
||||
10049;5;27;24;6
|
||||
10049;5;28;14;1
|
||||
10049;5;29;24;6
|
||||
10049;5;30;14;1
|
||||
10049;5;31;24;6
|
||||
10049;5;32;14;1
|
||||
10049;5;33;15;2
|
||||
10049;5;34;14;1
|
||||
10049;5;35;16;3
|
||||
10049;5;36;14;1
|
||||
10049;5;37;15;2
|
||||
10049;5;38;14;1
|
||||
10049;5;39;16;3
|
||||
10049;5;40;14;1
|
||||
10049;5;42;14;1
|
||||
10049;5;44;14;1
|
||||
10049;5;46;14;1
|
||||
10049;5;48;14;1
|
||||
10049;5;49;24;6
|
||||
10049;5;50;14;1
|
||||
10049;5;51;24;6
|
||||
10049;5;52;14;1
|
||||
10049;5;53;24;6
|
||||
10049;5;54;14;1
|
||||
10049;5;55;24;6
|
||||
10049;5;56;14;1
|
||||
10049;5;57;24;6
|
||||
10049;5;58;14;1
|
||||
10049;5;59;24;6
|
||||
10049;5;60;14;1
|
||||
10049;5;61;24;6
|
||||
10049;5;62;14;1
|
||||
10049;5;63;24;6
|
||||
10049;6;0;14;1
|
||||
10049;6;1;30;7
|
||||
10049;6;2;14;1
|
||||
10049;6;3;30;7
|
||||
10049;6;4;14;1
|
||||
10049;6;5;30;7
|
||||
10049;6;6;14;1
|
||||
10049;6;7;30;7
|
||||
10049;6;8;14;1
|
||||
10049;6;9;30;7
|
||||
10049;6;10;14;1
|
||||
10049;6;11;30;7
|
||||
10049;6;12;14;1
|
||||
10049;6;13;30;7
|
||||
10049;6;14;14;1
|
||||
10049;6;15;30;7
|
||||
10049;6;16;14;1
|
||||
10049;6;18;14;1
|
||||
10049;6;20;14;1
|
||||
10049;6;22;14;1
|
||||
10049;6;24;14;1
|
||||
10049;6;26;14;1
|
||||
10049;6;28;14;1
|
||||
10049;6;30;14;1
|
||||
10049;6;32;14;1
|
||||
10049;6;33;15;2
|
||||
10049;6;34;14;1
|
||||
10049;6;35;16;3
|
||||
10049;6;36;14;1
|
||||
10049;6;37;15;2
|
||||
10049;6;38;14;1
|
||||
10049;6;39;16;3
|
||||
10049;6;40;14;1
|
||||
10049;6;41;18;5
|
||||
10049;6;42;14;1
|
||||
10049;6;43;18;5
|
||||
10049;6;44;14;1
|
||||
10049;6;45;18;5
|
||||
10049;6;46;14;1
|
||||
10049;6;47;18;5
|
||||
10049;6;48;14;1
|
||||
10049;6;50;14;1
|
||||
10049;6;52;14;1
|
||||
10049;6;54;14;1
|
||||
10049;6;56;14;1
|
||||
10049;6;58;14;1
|
||||
10049;6;60;14;1
|
||||
10049;6;62;14;1
|
||||
10049;7;0;14;1
|
||||
10049;7;2;14;1
|
||||
10049;7;4;14;1
|
||||
10049;7;6;14;1
|
||||
10049;7;8;14;1
|
||||
10049;7;10;14;1
|
||||
10049;7;12;14;1
|
||||
10049;7;14;14;1
|
||||
10049;7;16;14;1
|
||||
10049;7;17;24;6
|
||||
10049;7;18;14;1
|
||||
10049;7;19;24;6
|
||||
10049;7;20;14;1
|
||||
10049;7;21;24;6
|
||||
10049;7;22;14;1
|
||||
10049;7;23;24;6
|
||||
10049;7;24;14;1
|
||||
10049;7;25;24;6
|
||||
10049;7;26;14;1
|
||||
10049;7;27;24;6
|
||||
10049;7;28;14;1
|
||||
10049;7;29;24;6
|
||||
10049;7;30;14;1
|
||||
10049;7;31;24;6
|
||||
10049;7;32;14;1
|
||||
10049;7;33;15;2
|
||||
10049;7;34;14;1
|
||||
10049;7;35;16;3
|
||||
10049;7;36;14;1
|
||||
10049;7;37;15;2
|
||||
10049;7;38;14;1
|
||||
10049;7;39;16;3
|
||||
10049;7;40;14;1
|
||||
10049;7;41;18;5
|
||||
10049;7;42;14;1
|
||||
10049;7;43;18;5
|
||||
10049;7;44;14;1
|
||||
10049;7;45;18;5
|
||||
10049;7;46;14;1
|
||||
10049;7;47;18;5
|
||||
10049;7;48;14;1
|
||||
10049;7;49;24;6
|
||||
10049;7;50;14;1
|
||||
10049;7;51;24;6
|
||||
10049;7;52;14;1
|
||||
10049;7;53;24;6
|
||||
10049;7;54;14;1
|
||||
10049;7;55;24;6
|
||||
10049;7;56;14;1
|
||||
10049;7;57;24;6
|
||||
10049;7;58;14;1
|
||||
10049;7;59;24;6
|
||||
10049;7;60;14;1
|
||||
10049;7;61;24;6
|
||||
10049;7;62;14;1
|
||||
10049;7;63;24;6
|
||||
|
@@ -0,0 +1,449 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10049;0;0;14;1
|
||||
10049;0;1;30;7
|
||||
10049;0;2;14;1
|
||||
10049;0;3;30;7
|
||||
10049;0;4;14;1
|
||||
10049;0;5;30;7
|
||||
10049;0;6;14;1
|
||||
10049;0;7;30;7
|
||||
10049;0;8;14;1
|
||||
10049;0;9;30;7
|
||||
10049;0;10;14;1
|
||||
10049;0;11;30;7
|
||||
10049;0;12;14;1
|
||||
10049;0;13;30;7
|
||||
10049;0;14;14;1
|
||||
10049;0;15;30;7
|
||||
10049;0;16;14;1
|
||||
10049;0;17;24;6
|
||||
10049;0;18;14;1
|
||||
10049;0;19;24;6
|
||||
10049;0;20;14;1
|
||||
10049;0;21;24;6
|
||||
10049;0;22;14;1
|
||||
10049;0;23;24;6
|
||||
10049;0;24;14;1
|
||||
10049;0;25;24;6
|
||||
10049;0;26;14;1
|
||||
10049;0;27;24;6
|
||||
10049;0;28;14;1
|
||||
10049;0;29;24;6
|
||||
10049;0;30;14;1
|
||||
10049;0;31;24;6
|
||||
10049;0;32;14;1
|
||||
10049;0;33;15;2
|
||||
10049;0;34;14;1
|
||||
10049;0;35;16;3
|
||||
10049;0;36;14;1
|
||||
10049;0;37;15;2
|
||||
10049;0;38;14;1
|
||||
10049;0;39;16;3
|
||||
10049;0;40;14;1
|
||||
10049;0;41;18;5
|
||||
10049;0;42;14;1
|
||||
10049;0;43;18;5
|
||||
10049;0;44;14;1
|
||||
10049;0;45;18;5
|
||||
10049;0;46;14;1
|
||||
10049;0;47;18;5
|
||||
10049;0;48;14;1
|
||||
10049;0;49;24;6
|
||||
10049;0;50;14;1
|
||||
10049;0;51;24;6
|
||||
10049;0;52;14;1
|
||||
10049;0;53;24;6
|
||||
10049;0;54;14;1
|
||||
10049;0;55;24;6
|
||||
10049;0;56;14;1
|
||||
10049;0;57;24;6
|
||||
10049;0;58;14;1
|
||||
10049;0;59;24;6
|
||||
10049;0;60;14;1
|
||||
10049;0;61;24;6
|
||||
10049;0;62;14;1
|
||||
10049;0;63;24;6
|
||||
10049;1;1;30;7
|
||||
10049;1;3;30;7
|
||||
10049;1;5;30;7
|
||||
10049;1;7;30;7
|
||||
10049;1;9;30;7
|
||||
10049;1;11;30;7
|
||||
10049;1;13;30;7
|
||||
10049;1;15;30;7
|
||||
10049;1;17;24;6
|
||||
10049;1;19;24;6
|
||||
10049;1;21;24;6
|
||||
10049;1;23;24;6
|
||||
10049;1;25;24;6
|
||||
10049;1;27;24;6
|
||||
10049;1;29;24;6
|
||||
10049;1;31;24;6
|
||||
10049;1;33;15;2
|
||||
10049;1;35;16;3
|
||||
10049;1;37;15;2
|
||||
10049;1;39;16;3
|
||||
10049;1;41;18;5
|
||||
10049;1;43;18;5
|
||||
10049;1;45;18;5
|
||||
10049;1;47;18;5
|
||||
10049;1;49;24;6
|
||||
10049;1;51;24;6
|
||||
10049;1;53;24;6
|
||||
10049;1;55;24;6
|
||||
10049;1;57;24;6
|
||||
10049;1;59;24;6
|
||||
10049;1;61;24;6
|
||||
10049;1;63;24;6
|
||||
10049;2;0;14;1
|
||||
10049;2;1;30;7
|
||||
10049;2;2;14;1
|
||||
10049;2;3;30;7
|
||||
10049;2;4;14;1
|
||||
10049;2;5;30;7
|
||||
10049;2;6;14;1
|
||||
10049;2;7;30;7
|
||||
10049;2;8;14;1
|
||||
10049;2;9;30;7
|
||||
10049;2;10;14;1
|
||||
10049;2;11;30;7
|
||||
10049;2;12;14;1
|
||||
10049;2;13;30;7
|
||||
10049;2;14;14;1
|
||||
10049;2;15;30;7
|
||||
10049;2;16;14;1
|
||||
10049;2;17;24;6
|
||||
10049;2;18;14;1
|
||||
10049;2;19;24;6
|
||||
10049;2;20;14;1
|
||||
10049;2;21;24;6
|
||||
10049;2;22;14;1
|
||||
10049;2;23;24;6
|
||||
10049;2;24;14;1
|
||||
10049;2;25;24;6
|
||||
10049;2;26;14;1
|
||||
10049;2;27;24;6
|
||||
10049;2;28;14;1
|
||||
10049;2;29;24;6
|
||||
10049;2;30;14;1
|
||||
10049;2;31;24;6
|
||||
10049;2;32;14;1
|
||||
10049;2;34;14;1
|
||||
10049;2;35;16;3
|
||||
10049;2;36;14;1
|
||||
10049;2;38;14;1
|
||||
10049;2;39;16;3
|
||||
10049;2;40;14;1
|
||||
10049;2;41;18;5
|
||||
10049;2;42;14;1
|
||||
10049;2;43;18;5
|
||||
10049;2;44;14;1
|
||||
10049;2;45;18;5
|
||||
10049;2;46;14;1
|
||||
10049;2;47;18;5
|
||||
10049;2;48;14;1
|
||||
10049;2;49;24;6
|
||||
10049;2;50;14;1
|
||||
10049;2;51;24;6
|
||||
10049;2;52;14;1
|
||||
10049;2;53;24;6
|
||||
10049;2;54;14;1
|
||||
10049;2;55;24;6
|
||||
10049;2;56;14;1
|
||||
10049;2;57;24;6
|
||||
10049;2;58;14;1
|
||||
10049;2;59;24;6
|
||||
10049;2;60;14;1
|
||||
10049;2;61;24;6
|
||||
10049;2;62;14;1
|
||||
10049;2;63;24;6
|
||||
10049;3;0;14;1
|
||||
10049;3;1;30;7
|
||||
10049;3;2;14;1
|
||||
10049;3;3;30;7
|
||||
10049;3;4;14;1
|
||||
10049;3;5;30;7
|
||||
10049;3;6;14;1
|
||||
10049;3;7;30;7
|
||||
10049;3;8;14;1
|
||||
10049;3;9;30;7
|
||||
10049;3;10;14;1
|
||||
10049;3;11;30;7
|
||||
10049;3;12;14;1
|
||||
10049;3;13;30;7
|
||||
10049;3;14;14;1
|
||||
10049;3;15;30;7
|
||||
10049;3;16;14;1
|
||||
10049;3;17;24;6
|
||||
10049;3;18;14;1
|
||||
10049;3;19;24;6
|
||||
10049;3;20;14;1
|
||||
10049;3;21;24;6
|
||||
10049;3;22;14;1
|
||||
10049;3;23;24;6
|
||||
10049;3;24;14;1
|
||||
10049;3;25;24;6
|
||||
10049;3;26;14;1
|
||||
10049;3;27;24;6
|
||||
10049;3;28;14;1
|
||||
10049;3;29;24;6
|
||||
10049;3;30;14;1
|
||||
10049;3;31;24;6
|
||||
10049;3;32;14;1
|
||||
10049;3;33;15;2
|
||||
10049;3;34;14;1
|
||||
10049;3;36;14;1
|
||||
10049;3;37;15;2
|
||||
10049;3;38;14;1
|
||||
10049;3;40;14;1
|
||||
10049;3;41;18;5
|
||||
10049;3;42;14;1
|
||||
10049;3;43;18;5
|
||||
10049;3;44;14;1
|
||||
10049;3;45;18;5
|
||||
10049;3;46;14;1
|
||||
10049;3;47;18;5
|
||||
10049;3;48;14;1
|
||||
10049;3;49;24;6
|
||||
10049;3;50;14;1
|
||||
10049;3;51;24;6
|
||||
10049;3;52;14;1
|
||||
10049;3;53;24;6
|
||||
10049;3;54;14;1
|
||||
10049;3;55;24;6
|
||||
10049;3;56;14;1
|
||||
10049;3;57;24;6
|
||||
10049;3;58;14;1
|
||||
10049;3;59;24;6
|
||||
10049;3;60;14;1
|
||||
10049;3;61;24;6
|
||||
10049;3;62;14;1
|
||||
10049;3;63;24;6
|
||||
10049;4;0;14;1
|
||||
10049;4;1;30;7
|
||||
10049;4;2;14;1
|
||||
10049;4;3;30;7
|
||||
10049;4;4;14;1
|
||||
10049;4;5;30;7
|
||||
10049;4;6;14;1
|
||||
10049;4;7;30;7
|
||||
10049;4;8;14;1
|
||||
10049;4;9;30;7
|
||||
10049;4;10;14;1
|
||||
10049;4;11;30;7
|
||||
10049;4;12;14;1
|
||||
10049;4;13;30;7
|
||||
10049;4;14;14;1
|
||||
10049;4;15;30;7
|
||||
10049;4;16;14;1
|
||||
10049;4;17;24;6
|
||||
10049;4;18;14;1
|
||||
10049;4;19;24;6
|
||||
10049;4;20;14;1
|
||||
10049;4;21;24;6
|
||||
10049;4;22;14;1
|
||||
10049;4;23;24;6
|
||||
10049;4;24;14;1
|
||||
10049;4;25;24;6
|
||||
10049;4;26;14;1
|
||||
10049;4;27;24;6
|
||||
10049;4;28;14;1
|
||||
10049;4;29;24;6
|
||||
10049;4;30;14;1
|
||||
10049;4;31;24;6
|
||||
10049;4;32;14;1
|
||||
10049;4;33;15;2
|
||||
10049;4;34;14;1
|
||||
10049;4;35;16;3
|
||||
10049;4;36;14;1
|
||||
10049;4;37;15;2
|
||||
10049;4;38;14;1
|
||||
10049;4;39;16;3
|
||||
10049;4;40;14;1
|
||||
10049;4;41;18;5
|
||||
10049;4;42;14;1
|
||||
10049;4;43;18;5
|
||||
10049;4;44;14;1
|
||||
10049;4;45;18;5
|
||||
10049;4;46;14;1
|
||||
10049;4;47;18;5
|
||||
10049;4;48;14;1
|
||||
10049;4;49;24;6
|
||||
10049;4;50;14;1
|
||||
10049;4;51;24;6
|
||||
10049;4;52;14;1
|
||||
10049;4;53;24;6
|
||||
10049;4;54;14;1
|
||||
10049;4;55;24;6
|
||||
10049;4;56;14;1
|
||||
10049;4;57;24;6
|
||||
10049;4;58;14;1
|
||||
10049;4;59;24;6
|
||||
10049;4;60;14;1
|
||||
10049;4;61;24;6
|
||||
10049;4;62;14;1
|
||||
10049;4;63;24;6
|
||||
10049;5;0;14;1
|
||||
10049;5;1;30;7
|
||||
10049;5;2;14;1
|
||||
10049;5;3;30;7
|
||||
10049;5;4;14;1
|
||||
10049;5;5;30;7
|
||||
10049;5;6;14;1
|
||||
10049;5;7;30;7
|
||||
10049;5;8;14;1
|
||||
10049;5;9;30;7
|
||||
10049;5;10;14;1
|
||||
10049;5;11;30;7
|
||||
10049;5;12;14;1
|
||||
10049;5;13;30;7
|
||||
10049;5;14;14;1
|
||||
10049;5;15;30;7
|
||||
10049;5;16;14;1
|
||||
10049;5;17;24;6
|
||||
10049;5;18;14;1
|
||||
10049;5;19;24;6
|
||||
10049;5;20;14;1
|
||||
10049;5;21;24;6
|
||||
10049;5;22;14;1
|
||||
10049;5;23;24;6
|
||||
10049;5;24;14;1
|
||||
10049;5;25;24;6
|
||||
10049;5;26;14;1
|
||||
10049;5;27;24;6
|
||||
10049;5;28;14;1
|
||||
10049;5;29;24;6
|
||||
10049;5;30;14;1
|
||||
10049;5;31;24;6
|
||||
10049;5;32;14;1
|
||||
10049;5;33;15;2
|
||||
10049;5;34;14;1
|
||||
10049;5;35;16;3
|
||||
10049;5;36;14;1
|
||||
10049;5;37;15;2
|
||||
10049;5;38;14;1
|
||||
10049;5;39;16;3
|
||||
10049;5;40;14;1
|
||||
10049;5;42;14;1
|
||||
10049;5;44;14;1
|
||||
10049;5;46;14;1
|
||||
10049;5;48;14;1
|
||||
10049;5;49;24;6
|
||||
10049;5;50;14;1
|
||||
10049;5;51;24;6
|
||||
10049;5;52;14;1
|
||||
10049;5;53;24;6
|
||||
10049;5;54;14;1
|
||||
10049;5;55;24;6
|
||||
10049;5;56;14;1
|
||||
10049;5;57;24;6
|
||||
10049;5;58;14;1
|
||||
10049;5;59;24;6
|
||||
10049;5;60;14;1
|
||||
10049;5;61;24;6
|
||||
10049;5;62;14;1
|
||||
10049;5;63;24;6
|
||||
10049;6;0;14;1
|
||||
10049;6;1;30;7
|
||||
10049;6;2;14;1
|
||||
10049;6;3;30;7
|
||||
10049;6;4;14;1
|
||||
10049;6;5;30;7
|
||||
10049;6;6;14;1
|
||||
10049;6;7;30;7
|
||||
10049;6;8;14;1
|
||||
10049;6;9;30;7
|
||||
10049;6;10;14;1
|
||||
10049;6;11;30;7
|
||||
10049;6;12;14;1
|
||||
10049;6;13;30;7
|
||||
10049;6;14;14;1
|
||||
10049;6;15;30;7
|
||||
10049;6;16;14;1
|
||||
10049;6;18;14;1
|
||||
10049;6;20;14;1
|
||||
10049;6;22;14;1
|
||||
10049;6;24;14;1
|
||||
10049;6;26;14;1
|
||||
10049;6;28;14;1
|
||||
10049;6;30;14;1
|
||||
10049;6;32;14;1
|
||||
10049;6;33;15;2
|
||||
10049;6;34;14;1
|
||||
10049;6;35;16;3
|
||||
10049;6;36;14;1
|
||||
10049;6;37;15;2
|
||||
10049;6;38;14;1
|
||||
10049;6;39;16;3
|
||||
10049;6;40;14;1
|
||||
10049;6;41;18;5
|
||||
10049;6;42;14;1
|
||||
10049;6;43;18;5
|
||||
10049;6;44;14;1
|
||||
10049;6;45;18;5
|
||||
10049;6;46;14;1
|
||||
10049;6;47;18;5
|
||||
10049;6;48;14;1
|
||||
10049;6;50;14;1
|
||||
10049;6;52;14;1
|
||||
10049;6;54;14;1
|
||||
10049;6;56;14;1
|
||||
10049;6;58;14;1
|
||||
10049;6;60;14;1
|
||||
10049;6;62;14;1
|
||||
10049;7;0;14;1
|
||||
10049;7;2;14;1
|
||||
10049;7;4;14;1
|
||||
10049;7;6;14;1
|
||||
10049;7;8;14;1
|
||||
10049;7;10;14;1
|
||||
10049;7;12;14;1
|
||||
10049;7;14;14;1
|
||||
10049;7;16;14;1
|
||||
10049;7;17;24;6
|
||||
10049;7;18;14;1
|
||||
10049;7;19;24;6
|
||||
10049;7;20;14;1
|
||||
10049;7;21;24;6
|
||||
10049;7;22;14;1
|
||||
10049;7;23;24;6
|
||||
10049;7;24;14;1
|
||||
10049;7;25;24;6
|
||||
10049;7;26;14;1
|
||||
10049;7;27;24;6
|
||||
10049;7;28;14;1
|
||||
10049;7;29;24;6
|
||||
10049;7;30;14;1
|
||||
10049;7;31;24;6
|
||||
10049;7;32;14;1
|
||||
10049;7;33;15;2
|
||||
10049;7;34;14;1
|
||||
10049;7;35;16;3
|
||||
10049;7;36;14;1
|
||||
10049;7;37;15;2
|
||||
10049;7;38;14;1
|
||||
10049;7;39;16;3
|
||||
10049;7;40;14;1
|
||||
10049;7;41;18;5
|
||||
10049;7;42;14;1
|
||||
10049;7;43;18;5
|
||||
10049;7;44;14;1
|
||||
10049;7;45;18;5
|
||||
10049;7;46;14;1
|
||||
10049;7;47;18;5
|
||||
10049;7;48;14;1
|
||||
10049;7;49;24;6
|
||||
10049;7;50;14;1
|
||||
10049;7;51;24;6
|
||||
10049;7;52;14;1
|
||||
10049;7;53;24;6
|
||||
10049;7;54;14;1
|
||||
10049;7;55;24;6
|
||||
10049;7;56;14;1
|
||||
10049;7;57;24;6
|
||||
10049;7;58;14;1
|
||||
10049;7;59;24;6
|
||||
10049;7;60;14;1
|
||||
10049;7;61;24;6
|
||||
10049;7;62;14;1
|
||||
10049;7;63;24;6
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,81 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10066;0;0;14;1
|
||||
10066;0;1;15;2
|
||||
10066;0;2;14;1
|
||||
10066;0;3;16;3
|
||||
10066;0;4;14;1
|
||||
10066;0;5;15;2
|
||||
10066;0;6;14;1
|
||||
10066;0;7;16;3
|
||||
10066;0;8;14;1
|
||||
10066;0;9;18;5
|
||||
10066;0;10;14;1
|
||||
10066;0;11;18;5
|
||||
10066;0;12;14;1
|
||||
10066;0;13;18;5
|
||||
10066;0;14;14;1
|
||||
10066;0;15;18;5
|
||||
10066;1;1;15;2
|
||||
10066;1;3;16;3
|
||||
10066;1;5;15;2
|
||||
10066;1;7;16;3
|
||||
10066;1;9;18;5
|
||||
10066;1;11;18;5
|
||||
10066;1;13;18;5
|
||||
10066;1;15;18;5
|
||||
10066;2;0;14;1
|
||||
10066;2;2;14;1
|
||||
10066;2;3;16;3
|
||||
10066;2;4;14;1
|
||||
10066;2;6;14;1
|
||||
10066;2;7;16;3
|
||||
10066;2;8;14;1
|
||||
10066;2;9;18;5
|
||||
10066;2;10;14;1
|
||||
10066;2;11;18;5
|
||||
10066;2;12;14;1
|
||||
10066;2;13;18;5
|
||||
10066;2;14;14;1
|
||||
10066;2;15;18;5
|
||||
10066;3;0;14;1
|
||||
10066;3;1;15;2
|
||||
10066;3;2;14;1
|
||||
10066;3;4;14;1
|
||||
10066;3;5;15;2
|
||||
10066;3;6;14;1
|
||||
10066;3;8;14;1
|
||||
10066;3;9;18;5
|
||||
10066;3;10;14;1
|
||||
10066;3;11;18;5
|
||||
10066;3;12;14;1
|
||||
10066;3;13;18;5
|
||||
10066;3;14;14;1
|
||||
10066;3;15;18;5
|
||||
10066;4;0;14;1
|
||||
10066;4;1;15;2
|
||||
10066;4;2;14;1
|
||||
10066;4;3;16;3
|
||||
10066;4;4;14;1
|
||||
10066;4;5;15;2
|
||||
10066;4;6;14;1
|
||||
10066;4;7;16;3
|
||||
10066;4;8;14;1
|
||||
10066;4;9;18;5
|
||||
10066;4;10;14;1
|
||||
10066;4;11;18;5
|
||||
10066;4;12;14;1
|
||||
10066;4;13;18;5
|
||||
10066;4;14;14;1
|
||||
10066;4;15;18;5
|
||||
10066;5;0;14;1
|
||||
10066;5;1;15;2
|
||||
10066;5;2;14;1
|
||||
10066;5;3;16;3
|
||||
10066;5;4;14;1
|
||||
10066;5;5;15;2
|
||||
10066;5;6;14;1
|
||||
10066;5;7;16;3
|
||||
10066;5;8;14;1
|
||||
10066;5;10;14;1
|
||||
10066;5;12;14;1
|
||||
10066;5;14;14;1
|
||||
|
@@ -0,0 +1,81 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10066;0;0;14;1
|
||||
10066;0;1;15;2
|
||||
10066;0;2;14;1
|
||||
10066;0;3;16;3
|
||||
10066;0;4;14;1
|
||||
10066;0;5;15;2
|
||||
10066;0;6;14;1
|
||||
10066;0;7;16;3
|
||||
10066;0;8;14;1
|
||||
10066;0;9;18;5
|
||||
10066;0;10;14;1
|
||||
10066;0;11;18;5
|
||||
10066;0;12;14;1
|
||||
10066;0;13;18;5
|
||||
10066;0;14;14;1
|
||||
10066;0;15;18;5
|
||||
10066;1;1;15;2
|
||||
10066;1;3;16;3
|
||||
10066;1;5;15;2
|
||||
10066;1;7;16;3
|
||||
10066;1;9;18;5
|
||||
10066;1;11;18;5
|
||||
10066;1;13;18;5
|
||||
10066;1;15;18;5
|
||||
10066;2;0;14;1
|
||||
10066;2;2;14;1
|
||||
10066;2;3;16;3
|
||||
10066;2;4;14;1
|
||||
10066;2;6;14;1
|
||||
10066;2;7;16;3
|
||||
10066;2;8;14;1
|
||||
10066;2;9;18;5
|
||||
10066;2;10;14;1
|
||||
10066;2;11;18;5
|
||||
10066;2;12;14;1
|
||||
10066;2;13;18;5
|
||||
10066;2;14;14;1
|
||||
10066;2;15;18;5
|
||||
10066;3;0;14;1
|
||||
10066;3;1;15;2
|
||||
10066;3;2;14;1
|
||||
10066;3;4;14;1
|
||||
10066;3;5;15;2
|
||||
10066;3;6;14;1
|
||||
10066;3;8;14;1
|
||||
10066;3;9;18;5
|
||||
10066;3;10;14;1
|
||||
10066;3;11;18;5
|
||||
10066;3;12;14;1
|
||||
10066;3;13;18;5
|
||||
10066;3;14;14;1
|
||||
10066;3;15;18;5
|
||||
10066;4;0;14;1
|
||||
10066;4;1;15;2
|
||||
10066;4;2;14;1
|
||||
10066;4;3;16;3
|
||||
10066;4;4;14;1
|
||||
10066;4;5;15;2
|
||||
10066;4;6;14;1
|
||||
10066;4;7;16;3
|
||||
10066;4;8;14;1
|
||||
10066;4;9;18;5
|
||||
10066;4;10;14;1
|
||||
10066;4;11;18;5
|
||||
10066;4;12;14;1
|
||||
10066;4;13;18;5
|
||||
10066;4;14;14;1
|
||||
10066;4;15;18;5
|
||||
10066;5;0;14;1
|
||||
10066;5;1;15;2
|
||||
10066;5;2;14;1
|
||||
10066;5;3;16;3
|
||||
10066;5;4;14;1
|
||||
10066;5;5;15;2
|
||||
10066;5;6;14;1
|
||||
10066;5;7;16;3
|
||||
10066;5;8;14;1
|
||||
10066;5;10;14;1
|
||||
10066;5;12;14;1
|
||||
10066;5;14;14;1
|
||||
|
@@ -0,0 +1,81 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10066;0;0;14;1
|
||||
10066;0;1;15;2
|
||||
10066;0;2;14;1
|
||||
10066;0;3;16;3
|
||||
10066;0;4;14;1
|
||||
10066;0;5;15;2
|
||||
10066;0;6;14;1
|
||||
10066;0;7;16;3
|
||||
10066;0;8;14;1
|
||||
10066;0;9;18;5
|
||||
10066;0;10;14;1
|
||||
10066;0;11;18;5
|
||||
10066;0;12;14;1
|
||||
10066;0;13;18;5
|
||||
10066;0;14;14;1
|
||||
10066;0;15;18;5
|
||||
10066;1;1;15;2
|
||||
10066;1;3;16;3
|
||||
10066;1;5;15;2
|
||||
10066;1;7;16;3
|
||||
10066;1;9;18;5
|
||||
10066;1;11;18;5
|
||||
10066;1;13;18;5
|
||||
10066;1;15;18;5
|
||||
10066;2;0;14;1
|
||||
10066;2;2;14;1
|
||||
10066;2;3;16;3
|
||||
10066;2;4;14;1
|
||||
10066;2;6;14;1
|
||||
10066;2;7;16;3
|
||||
10066;2;8;14;1
|
||||
10066;2;9;18;5
|
||||
10066;2;10;14;1
|
||||
10066;2;11;18;5
|
||||
10066;2;12;14;1
|
||||
10066;2;13;18;5
|
||||
10066;2;14;14;1
|
||||
10066;2;15;18;5
|
||||
10066;3;0;14;1
|
||||
10066;3;1;15;2
|
||||
10066;3;2;14;1
|
||||
10066;3;4;14;1
|
||||
10066;3;5;15;2
|
||||
10066;3;6;14;1
|
||||
10066;3;8;14;1
|
||||
10066;3;9;18;5
|
||||
10066;3;10;14;1
|
||||
10066;3;11;18;5
|
||||
10066;3;12;14;1
|
||||
10066;3;13;18;5
|
||||
10066;3;14;14;1
|
||||
10066;3;15;18;5
|
||||
10066;4;0;14;1
|
||||
10066;4;1;15;2
|
||||
10066;4;2;14;1
|
||||
10066;4;3;16;3
|
||||
10066;4;4;14;1
|
||||
10066;4;5;15;2
|
||||
10066;4;6;14;1
|
||||
10066;4;7;16;3
|
||||
10066;4;8;14;1
|
||||
10066;4;9;18;5
|
||||
10066;4;10;14;1
|
||||
10066;4;11;18;5
|
||||
10066;4;12;14;1
|
||||
10066;4;13;18;5
|
||||
10066;4;14;14;1
|
||||
10066;4;15;18;5
|
||||
10066;5;0;14;1
|
||||
10066;5;1;15;2
|
||||
10066;5;2;14;1
|
||||
10066;5;3;16;3
|
||||
10066;5;4;14;1
|
||||
10066;5;5;15;2
|
||||
10066;5;6;14;1
|
||||
10066;5;7;16;3
|
||||
10066;5;8;14;1
|
||||
10066;5;10;14;1
|
||||
10066;5;12;14;1
|
||||
10066;5;14;14;1
|
||||
|
@@ -0,0 +1,193 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10067;0;0;14;1
|
||||
10067;0;1;30;6
|
||||
10067;0;2;14;1
|
||||
10067;0;3;30;6
|
||||
10067;0;4;14;1
|
||||
10067;0;5;30;6
|
||||
10067;0;6;14;1
|
||||
10067;0;7;30;6
|
||||
10067;0;8;14;1
|
||||
10067;0;9;30;6
|
||||
10067;0;10;14;1
|
||||
10067;0;11;30;6
|
||||
10067;0;12;14;1
|
||||
10067;0;13;30;6
|
||||
10067;0;14;14;1
|
||||
10067;0;15;30;6
|
||||
10067;0;16;14;1
|
||||
10067;0;17;15;2
|
||||
10067;0;18;14;1
|
||||
10067;0;19;16;3
|
||||
10067;0;20;14;1
|
||||
10067;0;21;15;2
|
||||
10067;0;22;14;1
|
||||
10067;0;23;16;3
|
||||
10067;0;24;14;1
|
||||
10067;0;25;18;5
|
||||
10067;0;26;14;1
|
||||
10067;0;27;18;5
|
||||
10067;0;28;14;1
|
||||
10067;0;29;18;5
|
||||
10067;0;30;14;1
|
||||
10067;0;31;18;5
|
||||
10067;1;1;30;6
|
||||
10067;1;3;30;6
|
||||
10067;1;5;30;6
|
||||
10067;1;7;30;6
|
||||
10067;1;9;30;6
|
||||
10067;1;11;30;6
|
||||
10067;1;13;30;6
|
||||
10067;1;15;30;6
|
||||
10067;1;17;15;2
|
||||
10067;1;19;16;3
|
||||
10067;1;21;15;2
|
||||
10067;1;23;16;3
|
||||
10067;1;25;18;5
|
||||
10067;1;27;18;5
|
||||
10067;1;29;18;5
|
||||
10067;1;31;18;5
|
||||
10067;2;0;14;1
|
||||
10067;2;1;30;6
|
||||
10067;2;2;14;1
|
||||
10067;2;3;30;6
|
||||
10067;2;4;14;1
|
||||
10067;2;5;30;6
|
||||
10067;2;6;14;1
|
||||
10067;2;7;30;6
|
||||
10067;2;8;14;1
|
||||
10067;2;9;30;6
|
||||
10067;2;10;14;1
|
||||
10067;2;11;30;6
|
||||
10067;2;12;14;1
|
||||
10067;2;13;30;6
|
||||
10067;2;14;14;1
|
||||
10067;2;15;30;6
|
||||
10067;2;16;14;1
|
||||
10067;2;18;14;1
|
||||
10067;2;19;16;3
|
||||
10067;2;20;14;1
|
||||
10067;2;22;14;1
|
||||
10067;2;23;16;3
|
||||
10067;2;24;14;1
|
||||
10067;2;25;18;5
|
||||
10067;2;26;14;1
|
||||
10067;2;27;18;5
|
||||
10067;2;28;14;1
|
||||
10067;2;29;18;5
|
||||
10067;2;30;14;1
|
||||
10067;2;31;18;5
|
||||
10067;3;0;14;1
|
||||
10067;3;1;30;6
|
||||
10067;3;2;14;1
|
||||
10067;3;3;30;6
|
||||
10067;3;4;14;1
|
||||
10067;3;5;30;6
|
||||
10067;3;6;14;1
|
||||
10067;3;7;30;6
|
||||
10067;3;8;14;1
|
||||
10067;3;9;30;6
|
||||
10067;3;10;14;1
|
||||
10067;3;11;30;6
|
||||
10067;3;12;14;1
|
||||
10067;3;13;30;6
|
||||
10067;3;14;14;1
|
||||
10067;3;15;30;6
|
||||
10067;3;16;14;1
|
||||
10067;3;17;15;2
|
||||
10067;3;18;14;1
|
||||
10067;3;20;14;1
|
||||
10067;3;21;15;2
|
||||
10067;3;22;14;1
|
||||
10067;3;24;14;1
|
||||
10067;3;25;18;5
|
||||
10067;3;26;14;1
|
||||
10067;3;27;18;5
|
||||
10067;3;28;14;1
|
||||
10067;3;29;18;5
|
||||
10067;3;30;14;1
|
||||
10067;3;31;18;5
|
||||
10067;4;0;14;1
|
||||
10067;4;1;30;6
|
||||
10067;4;2;14;1
|
||||
10067;4;3;30;6
|
||||
10067;4;4;14;1
|
||||
10067;4;5;30;6
|
||||
10067;4;6;14;1
|
||||
10067;4;7;30;6
|
||||
10067;4;8;14;1
|
||||
10067;4;9;30;6
|
||||
10067;4;10;14;1
|
||||
10067;4;11;30;6
|
||||
10067;4;12;14;1
|
||||
10067;4;13;30;6
|
||||
10067;4;14;14;1
|
||||
10067;4;15;30;6
|
||||
10067;4;16;14;1
|
||||
10067;4;17;15;2
|
||||
10067;4;18;14;1
|
||||
10067;4;19;16;3
|
||||
10067;4;20;14;1
|
||||
10067;4;21;15;2
|
||||
10067;4;22;14;1
|
||||
10067;4;23;16;3
|
||||
10067;4;24;14;1
|
||||
10067;4;25;18;5
|
||||
10067;4;26;14;1
|
||||
10067;4;27;18;5
|
||||
10067;4;28;14;1
|
||||
10067;4;29;18;5
|
||||
10067;4;30;14;1
|
||||
10067;4;31;18;5
|
||||
10067;5;0;14;1
|
||||
10067;5;1;30;6
|
||||
10067;5;2;14;1
|
||||
10067;5;3;30;6
|
||||
10067;5;4;14;1
|
||||
10067;5;5;30;6
|
||||
10067;5;6;14;1
|
||||
10067;5;7;30;6
|
||||
10067;5;8;14;1
|
||||
10067;5;9;30;6
|
||||
10067;5;10;14;1
|
||||
10067;5;11;30;6
|
||||
10067;5;12;14;1
|
||||
10067;5;13;30;6
|
||||
10067;5;14;14;1
|
||||
10067;5;15;30;6
|
||||
10067;5;16;14;1
|
||||
10067;5;17;15;2
|
||||
10067;5;18;14;1
|
||||
10067;5;19;16;3
|
||||
10067;5;20;14;1
|
||||
10067;5;21;15;2
|
||||
10067;5;22;14;1
|
||||
10067;5;23;16;3
|
||||
10067;5;24;14;1
|
||||
10067;5;26;14;1
|
||||
10067;5;28;14;1
|
||||
10067;5;30;14;1
|
||||
10067;6;0;14;1
|
||||
10067;6;2;14;1
|
||||
10067;6;4;14;1
|
||||
10067;6;6;14;1
|
||||
10067;6;8;14;1
|
||||
10067;6;10;14;1
|
||||
10067;6;12;14;1
|
||||
10067;6;14;14;1
|
||||
10067;6;16;14;1
|
||||
10067;6;17;15;2
|
||||
10067;6;18;14;1
|
||||
10067;6;19;16;3
|
||||
10067;6;20;14;1
|
||||
10067;6;21;15;2
|
||||
10067;6;22;14;1
|
||||
10067;6;23;16;3
|
||||
10067;6;24;14;1
|
||||
10067;6;25;18;5
|
||||
10067;6;26;14;1
|
||||
10067;6;27;18;5
|
||||
10067;6;28;14;1
|
||||
10067;6;29;18;5
|
||||
10067;6;30;14;1
|
||||
10067;6;31;18;5
|
||||
|
@@ -0,0 +1,193 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10067;0;0;14;1
|
||||
10067;0;1;30;6
|
||||
10067;0;2;14;1
|
||||
10067;0;3;30;6
|
||||
10067;0;4;14;1
|
||||
10067;0;5;30;6
|
||||
10067;0;6;14;1
|
||||
10067;0;7;30;6
|
||||
10067;0;8;14;1
|
||||
10067;0;9;30;6
|
||||
10067;0;10;14;1
|
||||
10067;0;11;30;6
|
||||
10067;0;12;14;1
|
||||
10067;0;13;30;6
|
||||
10067;0;14;14;1
|
||||
10067;0;15;30;6
|
||||
10067;0;16;14;1
|
||||
10067;0;17;15;2
|
||||
10067;0;18;14;1
|
||||
10067;0;19;16;3
|
||||
10067;0;20;14;1
|
||||
10067;0;21;15;2
|
||||
10067;0;22;14;1
|
||||
10067;0;23;16;3
|
||||
10067;0;24;14;1
|
||||
10067;0;25;18;5
|
||||
10067;0;26;14;1
|
||||
10067;0;27;18;5
|
||||
10067;0;28;14;1
|
||||
10067;0;29;18;5
|
||||
10067;0;30;14;1
|
||||
10067;0;31;18;5
|
||||
10067;1;1;30;6
|
||||
10067;1;3;30;6
|
||||
10067;1;5;30;6
|
||||
10067;1;7;30;6
|
||||
10067;1;9;30;6
|
||||
10067;1;11;30;6
|
||||
10067;1;13;30;6
|
||||
10067;1;15;30;6
|
||||
10067;1;17;15;2
|
||||
10067;1;19;16;3
|
||||
10067;1;21;15;2
|
||||
10067;1;23;16;3
|
||||
10067;1;25;18;5
|
||||
10067;1;27;18;5
|
||||
10067;1;29;18;5
|
||||
10067;1;31;18;5
|
||||
10067;2;0;14;1
|
||||
10067;2;1;30;6
|
||||
10067;2;2;14;1
|
||||
10067;2;3;30;6
|
||||
10067;2;4;14;1
|
||||
10067;2;5;30;6
|
||||
10067;2;6;14;1
|
||||
10067;2;7;30;6
|
||||
10067;2;8;14;1
|
||||
10067;2;9;30;6
|
||||
10067;2;10;14;1
|
||||
10067;2;11;30;6
|
||||
10067;2;12;14;1
|
||||
10067;2;13;30;6
|
||||
10067;2;14;14;1
|
||||
10067;2;15;30;6
|
||||
10067;2;16;14;1
|
||||
10067;2;18;14;1
|
||||
10067;2;19;16;3
|
||||
10067;2;20;14;1
|
||||
10067;2;22;14;1
|
||||
10067;2;23;16;3
|
||||
10067;2;24;14;1
|
||||
10067;2;25;18;5
|
||||
10067;2;26;14;1
|
||||
10067;2;27;18;5
|
||||
10067;2;28;14;1
|
||||
10067;2;29;18;5
|
||||
10067;2;30;14;1
|
||||
10067;2;31;18;5
|
||||
10067;3;0;14;1
|
||||
10067;3;1;30;6
|
||||
10067;3;2;14;1
|
||||
10067;3;3;30;6
|
||||
10067;3;4;14;1
|
||||
10067;3;5;30;6
|
||||
10067;3;6;14;1
|
||||
10067;3;7;30;6
|
||||
10067;3;8;14;1
|
||||
10067;3;9;30;6
|
||||
10067;3;10;14;1
|
||||
10067;3;11;30;6
|
||||
10067;3;12;14;1
|
||||
10067;3;13;30;6
|
||||
10067;3;14;14;1
|
||||
10067;3;15;30;6
|
||||
10067;3;16;14;1
|
||||
10067;3;17;15;2
|
||||
10067;3;18;14;1
|
||||
10067;3;20;14;1
|
||||
10067;3;21;15;2
|
||||
10067;3;22;14;1
|
||||
10067;3;24;14;1
|
||||
10067;3;25;18;5
|
||||
10067;3;26;14;1
|
||||
10067;3;27;18;5
|
||||
10067;3;28;14;1
|
||||
10067;3;29;18;5
|
||||
10067;3;30;14;1
|
||||
10067;3;31;18;5
|
||||
10067;4;0;14;1
|
||||
10067;4;1;30;6
|
||||
10067;4;2;14;1
|
||||
10067;4;3;30;6
|
||||
10067;4;4;14;1
|
||||
10067;4;5;30;6
|
||||
10067;4;6;14;1
|
||||
10067;4;7;30;6
|
||||
10067;4;8;14;1
|
||||
10067;4;9;30;6
|
||||
10067;4;10;14;1
|
||||
10067;4;11;30;6
|
||||
10067;4;12;14;1
|
||||
10067;4;13;30;6
|
||||
10067;4;14;14;1
|
||||
10067;4;15;30;6
|
||||
10067;4;16;14;1
|
||||
10067;4;17;15;2
|
||||
10067;4;18;14;1
|
||||
10067;4;19;16;3
|
||||
10067;4;20;14;1
|
||||
10067;4;21;15;2
|
||||
10067;4;22;14;1
|
||||
10067;4;23;16;3
|
||||
10067;4;24;14;1
|
||||
10067;4;25;18;5
|
||||
10067;4;26;14;1
|
||||
10067;4;27;18;5
|
||||
10067;4;28;14;1
|
||||
10067;4;29;18;5
|
||||
10067;4;30;14;1
|
||||
10067;4;31;18;5
|
||||
10067;5;0;14;1
|
||||
10067;5;1;30;6
|
||||
10067;5;2;14;1
|
||||
10067;5;3;30;6
|
||||
10067;5;4;14;1
|
||||
10067;5;5;30;6
|
||||
10067;5;6;14;1
|
||||
10067;5;7;30;6
|
||||
10067;5;8;14;1
|
||||
10067;5;9;30;6
|
||||
10067;5;10;14;1
|
||||
10067;5;11;30;6
|
||||
10067;5;12;14;1
|
||||
10067;5;13;30;6
|
||||
10067;5;14;14;1
|
||||
10067;5;15;30;6
|
||||
10067;5;16;14;1
|
||||
10067;5;17;15;2
|
||||
10067;5;18;14;1
|
||||
10067;5;19;16;3
|
||||
10067;5;20;14;1
|
||||
10067;5;21;15;2
|
||||
10067;5;22;14;1
|
||||
10067;5;23;16;3
|
||||
10067;5;24;14;1
|
||||
10067;5;26;14;1
|
||||
10067;5;28;14;1
|
||||
10067;5;30;14;1
|
||||
10067;6;0;14;1
|
||||
10067;6;2;14;1
|
||||
10067;6;4;14;1
|
||||
10067;6;6;14;1
|
||||
10067;6;8;14;1
|
||||
10067;6;10;14;1
|
||||
10067;6;12;14;1
|
||||
10067;6;14;14;1
|
||||
10067;6;16;14;1
|
||||
10067;6;17;15;2
|
||||
10067;6;18;14;1
|
||||
10067;6;19;16;3
|
||||
10067;6;20;14;1
|
||||
10067;6;21;15;2
|
||||
10067;6;22;14;1
|
||||
10067;6;23;16;3
|
||||
10067;6;24;14;1
|
||||
10067;6;25;18;5
|
||||
10067;6;26;14;1
|
||||
10067;6;27;18;5
|
||||
10067;6;28;14;1
|
||||
10067;6;29;18;5
|
||||
10067;6;30;14;1
|
||||
10067;6;31;18;5
|
||||
|
@@ -0,0 +1,193 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10067;0;0;14;1
|
||||
10067;0;1;30;6
|
||||
10067;0;2;14;1
|
||||
10067;0;3;30;6
|
||||
10067;0;4;14;1
|
||||
10067;0;5;30;6
|
||||
10067;0;6;14;1
|
||||
10067;0;7;30;6
|
||||
10067;0;8;14;1
|
||||
10067;0;9;30;6
|
||||
10067;0;10;14;1
|
||||
10067;0;11;30;6
|
||||
10067;0;12;14;1
|
||||
10067;0;13;30;6
|
||||
10067;0;14;14;1
|
||||
10067;0;15;30;6
|
||||
10067;0;16;14;1
|
||||
10067;0;17;15;2
|
||||
10067;0;18;14;1
|
||||
10067;0;19;16;3
|
||||
10067;0;20;14;1
|
||||
10067;0;21;15;2
|
||||
10067;0;22;14;1
|
||||
10067;0;23;16;3
|
||||
10067;0;24;14;1
|
||||
10067;0;25;18;5
|
||||
10067;0;26;14;1
|
||||
10067;0;27;18;5
|
||||
10067;0;28;14;1
|
||||
10067;0;29;18;5
|
||||
10067;0;30;14;1
|
||||
10067;0;31;18;5
|
||||
10067;1;1;30;6
|
||||
10067;1;3;30;6
|
||||
10067;1;5;30;6
|
||||
10067;1;7;30;6
|
||||
10067;1;9;30;6
|
||||
10067;1;11;30;6
|
||||
10067;1;13;30;6
|
||||
10067;1;15;30;6
|
||||
10067;1;17;15;2
|
||||
10067;1;19;16;3
|
||||
10067;1;21;15;2
|
||||
10067;1;23;16;3
|
||||
10067;1;25;18;5
|
||||
10067;1;27;18;5
|
||||
10067;1;29;18;5
|
||||
10067;1;31;18;5
|
||||
10067;2;0;14;1
|
||||
10067;2;1;30;6
|
||||
10067;2;2;14;1
|
||||
10067;2;3;30;6
|
||||
10067;2;4;14;1
|
||||
10067;2;5;30;6
|
||||
10067;2;6;14;1
|
||||
10067;2;7;30;6
|
||||
10067;2;8;14;1
|
||||
10067;2;9;30;6
|
||||
10067;2;10;14;1
|
||||
10067;2;11;30;6
|
||||
10067;2;12;14;1
|
||||
10067;2;13;30;6
|
||||
10067;2;14;14;1
|
||||
10067;2;15;30;6
|
||||
10067;2;16;14;1
|
||||
10067;2;18;14;1
|
||||
10067;2;19;16;3
|
||||
10067;2;20;14;1
|
||||
10067;2;22;14;1
|
||||
10067;2;23;16;3
|
||||
10067;2;24;14;1
|
||||
10067;2;25;18;5
|
||||
10067;2;26;14;1
|
||||
10067;2;27;18;5
|
||||
10067;2;28;14;1
|
||||
10067;2;29;18;5
|
||||
10067;2;30;14;1
|
||||
10067;2;31;18;5
|
||||
10067;3;0;14;1
|
||||
10067;3;1;30;6
|
||||
10067;3;2;14;1
|
||||
10067;3;3;30;6
|
||||
10067;3;4;14;1
|
||||
10067;3;5;30;6
|
||||
10067;3;6;14;1
|
||||
10067;3;7;30;6
|
||||
10067;3;8;14;1
|
||||
10067;3;9;30;6
|
||||
10067;3;10;14;1
|
||||
10067;3;11;30;6
|
||||
10067;3;12;14;1
|
||||
10067;3;13;30;6
|
||||
10067;3;14;14;1
|
||||
10067;3;15;30;6
|
||||
10067;3;16;14;1
|
||||
10067;3;17;15;2
|
||||
10067;3;18;14;1
|
||||
10067;3;20;14;1
|
||||
10067;3;21;15;2
|
||||
10067;3;22;14;1
|
||||
10067;3;24;14;1
|
||||
10067;3;25;18;5
|
||||
10067;3;26;14;1
|
||||
10067;3;27;18;5
|
||||
10067;3;28;14;1
|
||||
10067;3;29;18;5
|
||||
10067;3;30;14;1
|
||||
10067;3;31;18;5
|
||||
10067;4;0;14;1
|
||||
10067;4;1;30;6
|
||||
10067;4;2;14;1
|
||||
10067;4;3;30;6
|
||||
10067;4;4;14;1
|
||||
10067;4;5;30;6
|
||||
10067;4;6;14;1
|
||||
10067;4;7;30;6
|
||||
10067;4;8;14;1
|
||||
10067;4;9;30;6
|
||||
10067;4;10;14;1
|
||||
10067;4;11;30;6
|
||||
10067;4;12;14;1
|
||||
10067;4;13;30;6
|
||||
10067;4;14;14;1
|
||||
10067;4;15;30;6
|
||||
10067;4;16;14;1
|
||||
10067;4;17;15;2
|
||||
10067;4;18;14;1
|
||||
10067;4;19;16;3
|
||||
10067;4;20;14;1
|
||||
10067;4;21;15;2
|
||||
10067;4;22;14;1
|
||||
10067;4;23;16;3
|
||||
10067;4;24;14;1
|
||||
10067;4;25;18;5
|
||||
10067;4;26;14;1
|
||||
10067;4;27;18;5
|
||||
10067;4;28;14;1
|
||||
10067;4;29;18;5
|
||||
10067;4;30;14;1
|
||||
10067;4;31;18;5
|
||||
10067;5;0;14;1
|
||||
10067;5;1;30;6
|
||||
10067;5;2;14;1
|
||||
10067;5;3;30;6
|
||||
10067;5;4;14;1
|
||||
10067;5;5;30;6
|
||||
10067;5;6;14;1
|
||||
10067;5;7;30;6
|
||||
10067;5;8;14;1
|
||||
10067;5;9;30;6
|
||||
10067;5;10;14;1
|
||||
10067;5;11;30;6
|
||||
10067;5;12;14;1
|
||||
10067;5;13;30;6
|
||||
10067;5;14;14;1
|
||||
10067;5;15;30;6
|
||||
10067;5;16;14;1
|
||||
10067;5;17;15;2
|
||||
10067;5;18;14;1
|
||||
10067;5;19;16;3
|
||||
10067;5;20;14;1
|
||||
10067;5;21;15;2
|
||||
10067;5;22;14;1
|
||||
10067;5;23;16;3
|
||||
10067;5;24;14;1
|
||||
10067;5;26;14;1
|
||||
10067;5;28;14;1
|
||||
10067;5;30;14;1
|
||||
10067;6;0;14;1
|
||||
10067;6;2;14;1
|
||||
10067;6;4;14;1
|
||||
10067;6;6;14;1
|
||||
10067;6;8;14;1
|
||||
10067;6;10;14;1
|
||||
10067;6;12;14;1
|
||||
10067;6;14;14;1
|
||||
10067;6;16;14;1
|
||||
10067;6;17;15;2
|
||||
10067;6;18;14;1
|
||||
10067;6;19;16;3
|
||||
10067;6;20;14;1
|
||||
10067;6;21;15;2
|
||||
10067;6;22;14;1
|
||||
10067;6;23;16;3
|
||||
10067;6;24;14;1
|
||||
10067;6;25;18;5
|
||||
10067;6;26;14;1
|
||||
10067;6;27;18;5
|
||||
10067;6;28;14;1
|
||||
10067;6;29;18;5
|
||||
10067;6;30;14;1
|
||||
10067;6;31;18;5
|
||||
|
@@ -0,0 +1,129 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10;0;0;14;1
|
||||
10;0;1;24;2
|
||||
10;0;2;14;1
|
||||
10;0;3;16;3
|
||||
10;0;4;14;1
|
||||
10;0;5;24;2
|
||||
10;0;6;14;1
|
||||
10;0;7;24;2
|
||||
10;0;8;14;1
|
||||
10;0;9;18;4
|
||||
10;0;10;14;1
|
||||
10;0;11;18;4
|
||||
10;0;12;14;1
|
||||
10;0;13;18;4
|
||||
10;0;14;14;1
|
||||
10;0;15;18;4
|
||||
10;0;16;14;1
|
||||
10;0;17;24;2
|
||||
10;0;18;14;1
|
||||
10;0;19;24;2
|
||||
10;0;20;14;1
|
||||
10;0;21;24;2
|
||||
10;0;22;14;1
|
||||
10;0;23;24;2
|
||||
10;0;24;14;1
|
||||
10;0;25;18;4
|
||||
10;0;26;14;1
|
||||
10;0;27;18;4
|
||||
10;0;28;14;1
|
||||
10;0;29;18;4
|
||||
10;0;30;14;1
|
||||
10;0;31;18;4
|
||||
10;1;1;24;2
|
||||
10;1;3;16;3
|
||||
10;1;5;24;2
|
||||
10;1;7;24;2
|
||||
10;1;9;18;4
|
||||
10;1;11;18;4
|
||||
10;1;13;18;4
|
||||
10;1;15;18;4
|
||||
10;1;17;24;2
|
||||
10;1;19;24;2
|
||||
10;1;21;24;2
|
||||
10;1;23;24;2
|
||||
10;1;25;18;4
|
||||
10;1;27;18;4
|
||||
10;1;29;18;4
|
||||
10;1;31;18;4
|
||||
10;2;0;14;1
|
||||
10;2;2;14;1
|
||||
10;2;3;16;3
|
||||
10;2;4;14;1
|
||||
10;2;6;14;1
|
||||
10;2;8;14;1
|
||||
10;2;9;18;4
|
||||
10;2;10;14;1
|
||||
10;2;11;18;4
|
||||
10;2;12;14;1
|
||||
10;2;13;18;4
|
||||
10;2;14;14;1
|
||||
10;2;15;18;4
|
||||
10;2;16;14;1
|
||||
10;2;18;14;1
|
||||
10;2;20;14;1
|
||||
10;2;22;14;1
|
||||
10;2;24;14;1
|
||||
10;2;25;18;4
|
||||
10;2;26;14;1
|
||||
10;2;27;18;4
|
||||
10;2;28;14;1
|
||||
10;2;29;18;4
|
||||
10;2;30;14;1
|
||||
10;2;31;18;4
|
||||
10;3;0;14;1
|
||||
10;3;1;24;2
|
||||
10;3;2;14;1
|
||||
10;3;4;14;1
|
||||
10;3;5;24;2
|
||||
10;3;6;14;1
|
||||
10;3;7;24;2
|
||||
10;3;8;14;1
|
||||
10;3;9;18;4
|
||||
10;3;10;14;1
|
||||
10;3;11;18;4
|
||||
10;3;12;14;1
|
||||
10;3;13;18;4
|
||||
10;3;14;14;1
|
||||
10;3;15;18;4
|
||||
10;3;16;14;1
|
||||
10;3;17;24;2
|
||||
10;3;18;14;1
|
||||
10;3;19;24;2
|
||||
10;3;20;14;1
|
||||
10;3;21;24;2
|
||||
10;3;22;14;1
|
||||
10;3;23;24;2
|
||||
10;3;24;14;1
|
||||
10;3;25;18;4
|
||||
10;3;26;14;1
|
||||
10;3;27;18;4
|
||||
10;3;28;14;1
|
||||
10;3;29;18;4
|
||||
10;3;30;14;1
|
||||
10;3;31;18;4
|
||||
10;4;0;14;1
|
||||
10;4;1;24;2
|
||||
10;4;2;14;1
|
||||
10;4;3;16;3
|
||||
10;4;4;14;1
|
||||
10;4;5;24;2
|
||||
10;4;6;14;1
|
||||
10;4;7;24;2
|
||||
10;4;8;14;1
|
||||
10;4;10;14;1
|
||||
10;4;12;14;1
|
||||
10;4;14;14;1
|
||||
10;4;16;14;1
|
||||
10;4;17;24;2
|
||||
10;4;18;14;1
|
||||
10;4;19;24;2
|
||||
10;4;20;14;1
|
||||
10;4;21;24;2
|
||||
10;4;22;14;1
|
||||
10;4;23;24;2
|
||||
10;4;24;14;1
|
||||
10;4;26;14;1
|
||||
10;4;28;14;1
|
||||
10;4;30;14;1
|
||||
|
@@ -0,0 +1,129 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10;0;0;14;1
|
||||
10;0;1;24;2
|
||||
10;0;2;14;1
|
||||
10;0;3;16;3
|
||||
10;0;4;14;1
|
||||
10;0;5;24;2
|
||||
10;0;6;14;1
|
||||
10;0;7;24;2
|
||||
10;0;8;14;1
|
||||
10;0;9;18;4
|
||||
10;0;10;14;1
|
||||
10;0;11;18;4
|
||||
10;0;12;14;1
|
||||
10;0;13;18;4
|
||||
10;0;14;14;1
|
||||
10;0;15;18;4
|
||||
10;0;16;14;1
|
||||
10;0;17;24;2
|
||||
10;0;18;14;1
|
||||
10;0;19;24;2
|
||||
10;0;20;14;1
|
||||
10;0;21;24;2
|
||||
10;0;22;14;1
|
||||
10;0;23;24;2
|
||||
10;0;24;14;1
|
||||
10;0;25;18;4
|
||||
10;0;26;14;1
|
||||
10;0;27;18;4
|
||||
10;0;28;14;1
|
||||
10;0;29;18;4
|
||||
10;0;30;14;1
|
||||
10;0;31;18;4
|
||||
10;1;1;24;2
|
||||
10;1;3;16;3
|
||||
10;1;5;24;2
|
||||
10;1;7;24;2
|
||||
10;1;9;18;4
|
||||
10;1;11;18;4
|
||||
10;1;13;18;4
|
||||
10;1;15;18;4
|
||||
10;1;17;24;2
|
||||
10;1;19;24;2
|
||||
10;1;21;24;2
|
||||
10;1;23;24;2
|
||||
10;1;25;18;4
|
||||
10;1;27;18;4
|
||||
10;1;29;18;4
|
||||
10;1;31;18;4
|
||||
10;2;0;14;1
|
||||
10;2;2;14;1
|
||||
10;2;3;16;3
|
||||
10;2;4;14;1
|
||||
10;2;6;14;1
|
||||
10;2;8;14;1
|
||||
10;2;9;18;4
|
||||
10;2;10;14;1
|
||||
10;2;11;18;4
|
||||
10;2;12;14;1
|
||||
10;2;13;18;4
|
||||
10;2;14;14;1
|
||||
10;2;15;18;4
|
||||
10;2;16;14;1
|
||||
10;2;18;14;1
|
||||
10;2;20;14;1
|
||||
10;2;22;14;1
|
||||
10;2;24;14;1
|
||||
10;2;25;18;4
|
||||
10;2;26;14;1
|
||||
10;2;27;18;4
|
||||
10;2;28;14;1
|
||||
10;2;29;18;4
|
||||
10;2;30;14;1
|
||||
10;2;31;18;4
|
||||
10;3;0;14;1
|
||||
10;3;1;24;2
|
||||
10;3;2;14;1
|
||||
10;3;4;14;1
|
||||
10;3;5;24;2
|
||||
10;3;6;14;1
|
||||
10;3;7;24;2
|
||||
10;3;8;14;1
|
||||
10;3;9;18;4
|
||||
10;3;10;14;1
|
||||
10;3;11;18;4
|
||||
10;3;12;14;1
|
||||
10;3;13;18;4
|
||||
10;3;14;14;1
|
||||
10;3;15;18;4
|
||||
10;3;16;14;1
|
||||
10;3;17;24;2
|
||||
10;3;18;14;1
|
||||
10;3;19;24;2
|
||||
10;3;20;14;1
|
||||
10;3;21;24;2
|
||||
10;3;22;14;1
|
||||
10;3;23;24;2
|
||||
10;3;24;14;1
|
||||
10;3;25;18;4
|
||||
10;3;26;14;1
|
||||
10;3;27;18;4
|
||||
10;3;28;14;1
|
||||
10;3;29;18;4
|
||||
10;3;30;14;1
|
||||
10;3;31;18;4
|
||||
10;4;0;14;1
|
||||
10;4;1;24;2
|
||||
10;4;2;14;1
|
||||
10;4;3;16;3
|
||||
10;4;4;14;1
|
||||
10;4;5;24;2
|
||||
10;4;6;14;1
|
||||
10;4;7;24;2
|
||||
10;4;8;14;1
|
||||
10;4;10;14;1
|
||||
10;4;12;14;1
|
||||
10;4;14;14;1
|
||||
10;4;16;14;1
|
||||
10;4;17;24;2
|
||||
10;4;18;14;1
|
||||
10;4;19;24;2
|
||||
10;4;20;14;1
|
||||
10;4;21;24;2
|
||||
10;4;22;14;1
|
||||
10;4;23;24;2
|
||||
10;4;24;14;1
|
||||
10;4;26;14;1
|
||||
10;4;28;14;1
|
||||
10;4;30;14;1
|
||||
|
@@ -0,0 +1,129 @@
|
||||
IdxFamigliaIngresso;IdxMicroStato;ValoreIngresso;IdxTipoEvento;next_IdxMicroStato
|
||||
10;0;0;14;1
|
||||
10;0;1;24;2
|
||||
10;0;2;14;1
|
||||
10;0;3;16;3
|
||||
10;0;4;14;1
|
||||
10;0;5;24;2
|
||||
10;0;6;14;1
|
||||
10;0;7;24;2
|
||||
10;0;8;14;1
|
||||
10;0;9;18;4
|
||||
10;0;10;14;1
|
||||
10;0;11;18;4
|
||||
10;0;12;14;1
|
||||
10;0;13;18;4
|
||||
10;0;14;14;1
|
||||
10;0;15;18;4
|
||||
10;0;16;14;1
|
||||
10;0;17;24;2
|
||||
10;0;18;14;1
|
||||
10;0;19;24;2
|
||||
10;0;20;14;1
|
||||
10;0;21;24;2
|
||||
10;0;22;14;1
|
||||
10;0;23;24;2
|
||||
10;0;24;14;1
|
||||
10;0;25;18;4
|
||||
10;0;26;14;1
|
||||
10;0;27;18;4
|
||||
10;0;28;14;1
|
||||
10;0;29;18;4
|
||||
10;0;30;14;1
|
||||
10;0;31;18;4
|
||||
10;1;1;24;2
|
||||
10;1;3;16;3
|
||||
10;1;5;24;2
|
||||
10;1;7;24;2
|
||||
10;1;9;18;4
|
||||
10;1;11;18;4
|
||||
10;1;13;18;4
|
||||
10;1;15;18;4
|
||||
10;1;17;24;2
|
||||
10;1;19;24;2
|
||||
10;1;21;24;2
|
||||
10;1;23;24;2
|
||||
10;1;25;18;4
|
||||
10;1;27;18;4
|
||||
10;1;29;18;4
|
||||
10;1;31;18;4
|
||||
10;2;0;14;1
|
||||
10;2;2;14;1
|
||||
10;2;3;16;3
|
||||
10;2;4;14;1
|
||||
10;2;6;14;1
|
||||
10;2;8;14;1
|
||||
10;2;9;18;4
|
||||
10;2;10;14;1
|
||||
10;2;11;18;4
|
||||
10;2;12;14;1
|
||||
10;2;13;18;4
|
||||
10;2;14;14;1
|
||||
10;2;15;18;4
|
||||
10;2;16;14;1
|
||||
10;2;18;14;1
|
||||
10;2;20;14;1
|
||||
10;2;22;14;1
|
||||
10;2;24;14;1
|
||||
10;2;25;18;4
|
||||
10;2;26;14;1
|
||||
10;2;27;18;4
|
||||
10;2;28;14;1
|
||||
10;2;29;18;4
|
||||
10;2;30;14;1
|
||||
10;2;31;18;4
|
||||
10;3;0;14;1
|
||||
10;3;1;24;2
|
||||
10;3;2;14;1
|
||||
10;3;4;14;1
|
||||
10;3;5;24;2
|
||||
10;3;6;14;1
|
||||
10;3;7;24;2
|
||||
10;3;8;14;1
|
||||
10;3;9;18;4
|
||||
10;3;10;14;1
|
||||
10;3;11;18;4
|
||||
10;3;12;14;1
|
||||
10;3;13;18;4
|
||||
10;3;14;14;1
|
||||
10;3;15;18;4
|
||||
10;3;16;14;1
|
||||
10;3;17;24;2
|
||||
10;3;18;14;1
|
||||
10;3;19;24;2
|
||||
10;3;20;14;1
|
||||
10;3;21;24;2
|
||||
10;3;22;14;1
|
||||
10;3;23;24;2
|
||||
10;3;24;14;1
|
||||
10;3;25;18;4
|
||||
10;3;26;14;1
|
||||
10;3;27;18;4
|
||||
10;3;28;14;1
|
||||
10;3;29;18;4
|
||||
10;3;30;14;1
|
||||
10;3;31;18;4
|
||||
10;4;0;14;1
|
||||
10;4;1;24;2
|
||||
10;4;2;14;1
|
||||
10;4;3;16;3
|
||||
10;4;4;14;1
|
||||
10;4;5;24;2
|
||||
10;4;6;14;1
|
||||
10;4;7;24;2
|
||||
10;4;8;14;1
|
||||
10;4;10;14;1
|
||||
10;4;12;14;1
|
||||
10;4;14;14;1
|
||||
10;4;16;14;1
|
||||
10;4;17;24;2
|
||||
10;4;18;14;1
|
||||
10;4;19;24;2
|
||||
10;4;20;14;1
|
||||
10;4;21;24;2
|
||||
10;4;22;14;1
|
||||
10;4;23;24;2
|
||||
10;4;24;14;1
|
||||
10;4;26;14;1
|
||||
10;4;28;14;1
|
||||
10;4;30;14;1
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user