Posizione lavorazione

This commit is contained in:
2026-02-04 09:20:54 +01:00
parent 72709d865d
commit c08a531f17
12 changed files with 1305 additions and 1 deletions

View File

@ -0,0 +1,28 @@
using System.ComponentModel.DataAnnotations.Schema;
using TecniStamp.Domain.Base;
namespace TecniStamp.Domain;
public class CommessaPosizioneLavorazione : EntitaBase
{
[ForeignKey(nameof(CommessaPosizione))]
public Guid? CommessaPosizioneId { get; set; }
public CommessaPosizione CommessaPosizione { get; set; }
[ForeignKey(nameof(Lavorazione))]
public Guid? LavorazioneId { get; set; }
public Lavorazione Lavorazione { get; set; }
[ForeignKey(nameof(Macchinario))]
public Guid? MacchinarioId { get; set; }
public Macchinario Macchinario { get; set; }
public int PrimoTempoPresidiato { get; set; }
public int TempoNonPresidiato { get; set; }
public int SecondoTempoPresidiato { get; set; }
public bool Spostabile { get; set; }
public DateTime? DataInizioPrevista { get; set; }
public DateTime? DataFinePrevista { get; set; }
}

View File

@ -12,6 +12,7 @@ public class TecniStampDbContext : OAServiceContext
public DbSet<Cliente> Cliente { get; set; } public DbSet<Cliente> Cliente { get; set; }
public DbSet<Commessa> Commessa { get; set; } public DbSet<Commessa> Commessa { get; set; }
public DbSet<CommessaPosizione> ComessaPosizione { get; set; } public DbSet<CommessaPosizione> ComessaPosizione { get; set; }
public DbSet<CommessaPosizioneLavorazione> CommessaPosizioneLavorazione { get; set; }
public DbSet<ComuneIstat> ComuneIstat { get; set; } public DbSet<ComuneIstat> ComuneIstat { get; set; }
public DbSet<Feature> Feature { get; set; } public DbSet<Feature> Feature { get; set; }
public DbSet<Lavorazione> Lavorazione { get; set; } public DbSet<Lavorazione> Lavorazione { get; set; }

View File

@ -0,0 +1,97 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace TecniStamp.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class CommessaPosizioneLavorazione : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "CommessaPosizioneLavorazione",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
CommessaPosizioneId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
LavorazioneId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
MacchinarioId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
PrimoTempoPresidiato = table.Column<int>(type: "int", nullable: false),
TempoNonPresidiato = table.Column<int>(type: "int", nullable: false),
SecondoTempoPresidiato = table.Column<int>(type: "int", nullable: false),
Spostabile = table.Column<bool>(type: "bit", nullable: false),
DataInizioPrevista = table.Column<DateTime>(type: "datetime2", nullable: true),
DataFinePrevista = table.Column<DateTime>(type: "datetime2", nullable: true),
DataCreazione = table.Column<DateTime>(type: "datetime2", nullable: false),
DataModifica = table.Column<DateTime>(type: "datetime2", nullable: true),
Eliminato = table.Column<bool>(type: "bit", nullable: false),
IdUtenteCreazione = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IdUtenteModifica = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_CommessaPosizioneLavorazione", x => x.Id);
table.ForeignKey(
name: "FK_CommessaPosizioneLavorazione_ComessaPosizione_CommessaPosizioneId",
column: x => x.CommessaPosizioneId,
principalTable: "ComessaPosizione",
principalColumn: "Id");
table.ForeignKey(
name: "FK_CommessaPosizioneLavorazione_Lavorazione_LavorazioneId",
column: x => x.LavorazioneId,
principalTable: "Lavorazione",
principalColumn: "Id");
table.ForeignKey(
name: "FK_CommessaPosizioneLavorazione_Macchinario_MacchinarioId",
column: x => x.MacchinarioId,
principalTable: "Macchinario",
principalColumn: "Id");
table.ForeignKey(
name: "FK_CommessaPosizioneLavorazione_Utente_IdUtenteCreazione",
column: x => x.IdUtenteCreazione,
principalTable: "Utente",
principalColumn: "Id");
table.ForeignKey(
name: "FK_CommessaPosizioneLavorazione_Utente_IdUtenteModifica",
column: x => x.IdUtenteModifica,
principalTable: "Utente",
principalColumn: "Id");
});
migrationBuilder.CreateIndex(
name: "IX_CommessaPosizioneLavorazione_CommessaPosizioneId",
table: "CommessaPosizioneLavorazione",
column: "CommessaPosizioneId");
migrationBuilder.CreateIndex(
name: "IX_CommessaPosizioneLavorazione_IdUtenteCreazione",
table: "CommessaPosizioneLavorazione",
column: "IdUtenteCreazione");
migrationBuilder.CreateIndex(
name: "IX_CommessaPosizioneLavorazione_IdUtenteModifica",
table: "CommessaPosizioneLavorazione",
column: "IdUtenteModifica");
migrationBuilder.CreateIndex(
name: "IX_CommessaPosizioneLavorazione_LavorazioneId",
table: "CommessaPosizioneLavorazione",
column: "LavorazioneId");
migrationBuilder.CreateIndex(
name: "IX_CommessaPosizioneLavorazione_MacchinarioId",
table: "CommessaPosizioneLavorazione",
column: "MacchinarioId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "CommessaPosizioneLavorazione");
}
}
}

View File

@ -233,6 +233,69 @@ namespace TecniStamp.Infrastructure.Migrations
b.ToTable("ComessaPosizione"); b.ToTable("ComessaPosizione");
}); });
modelBuilder.Entity("TecniStamp.Domain.CommessaPosizioneLavorazione", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("CommessaPosizioneId")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataFinePrevista")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataInizioPrevista")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("LavorazioneId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("MacchinarioId")
.HasColumnType("uniqueidentifier");
b.Property<int>("PrimoTempoPresidiato")
.HasColumnType("int");
b.Property<int>("SecondoTempoPresidiato")
.HasColumnType("int");
b.Property<bool>("Spostabile")
.HasColumnType("bit");
b.Property<int>("TempoNonPresidiato")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("CommessaPosizioneId");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.HasIndex("LavorazioneId");
b.HasIndex("MacchinarioId");
b.ToTable("CommessaPosizioneLavorazione");
});
modelBuilder.Entity("TecniStamp.Domain.ComuneIstat", b => modelBuilder.Entity("TecniStamp.Domain.ComuneIstat", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")
@ -723,6 +786,39 @@ namespace TecniStamp.Infrastructure.Migrations
b.Navigation("UtenteModifica"); b.Navigation("UtenteModifica");
}); });
modelBuilder.Entity("TecniStamp.Domain.CommessaPosizioneLavorazione", b =>
{
b.HasOne("TecniStamp.Domain.CommessaPosizione", "CommessaPosizione")
.WithMany()
.HasForeignKey("CommessaPosizioneId");
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.HasOne("TecniStamp.Domain.Lavorazione", "Lavorazione")
.WithMany()
.HasForeignKey("LavorazioneId");
b.HasOne("TecniStamp.Domain.Macchinario", "Macchinario")
.WithMany()
.HasForeignKey("MacchinarioId");
b.Navigation("CommessaPosizione");
b.Navigation("Lavorazione");
b.Navigation("Macchinario");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.ComuneIstat", b => modelBuilder.Entity("TecniStamp.Domain.ComuneIstat", b =>
{ {
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione") b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")

View File

@ -0,0 +1,13 @@
using OAService.Service.Servizi.Implementazioni;
using TecniStamp.Domain;
using TecniStamp.Service.Interfaces;
using TecniStamp.Service.Repository;
namespace TecniStamp.Service;
public class CommessaPosizioneLavorazioneService : TService<CommessaPosizioneLavorazione>, ICommessaPosizioneLavorazioneService
{
public CommessaPosizioneLavorazioneService(ITecniStampUnitOfWork unitOfWork) : base(unitOfWork)
{
}
}

View File

@ -0,0 +1,13 @@
using OAService.Service.Servizi.Implementazioni;
using TecniStamp.Domain;
using TecniStamp.Service.Interfaces;
using TecniStamp.Service.Repository;
namespace TecniStamp.Service;
public class CommessaPosizioneService : TService<CommessaPosizione>, ICommessaPosizioneService
{
public CommessaPosizioneService(ITecniStampUnitOfWork unitOfWork) : base(unitOfWork)
{
}
}

View File

@ -0,0 +1,8 @@
using OAService.Service.Servizi.Interfacce;
using TecniStamp.Domain;
namespace TecniStamp.Service.Interfaces;
public interface ICommessaPosizioneLavorazioneService : ITService<CommessaPosizioneLavorazione>
{
}

View File

@ -0,0 +1,8 @@
using OAService.Service.Servizi.Interfacce;
using TecniStamp.Domain;
namespace TecniStamp.Service.Interfaces;
public interface ICommessaPosizioneService : ITService<CommessaPosizione>
{
}

View File

@ -4,6 +4,8 @@ public interface IManagerService
{ {
IClienteService ClienteService { get; set; } IClienteService ClienteService { get; set; }
ICommessaService CommessaService { get; set; } ICommessaService CommessaService { get; set; }
ICommessaPosizioneService CommessaPosizioneService { get; set; }
ICommessaPosizioneLavorazioneService CommessaPosizioneLavorazioneService { get; set; }
IFeatureService FeatureService { get; set; } IFeatureService FeatureService { get; set; }
IPermissionService PermissionService { get; set; } IPermissionService PermissionService { get; set; }
IRuoloService RuoloService{ get; set; } IRuoloService RuoloService{ get; set; }

View File

@ -6,7 +6,7 @@ public class ManagerService : IManagerService
{ {
public ManagerService(IUserService userService, ISezioneService sezioneService, IPermissionService permissionService, IRuoloService ruoloService, public ManagerService(IUserService userService, ISezioneService sezioneService, IPermissionService permissionService, IRuoloService ruoloService,
IFeatureService featureService, IMacchinarioService macchinarioService, ICommessaService commessaService, ILavorazioneService lavorazioneService, IFeatureService featureService, IMacchinarioService macchinarioService, ICommessaService commessaService, ILavorazioneService lavorazioneService,
IClienteService clienteService) IClienteService clienteService, ICommessaPosizioneService commessaPosizioneService, ICommessaPosizioneLavorazioneService commessaPosizioneLavorazioneService)
{ {
UtenteService = userService; UtenteService = userService;
SezioneService = sezioneService; SezioneService = sezioneService;
@ -17,10 +17,14 @@ public class ManagerService : IManagerService
CommessaService = commessaService; CommessaService = commessaService;
LavorazioneService = lavorazioneService; LavorazioneService = lavorazioneService;
ClienteService = clienteService; ClienteService = clienteService;
CommessaPosizioneService = commessaPosizioneService;
CommessaPosizioneLavorazioneService = commessaPosizioneLavorazioneService;
} }
public IClienteService ClienteService { get; set; } public IClienteService ClienteService { get; set; }
public ICommessaService CommessaService { get; set; } public ICommessaService CommessaService { get; set; }
public ICommessaPosizioneService CommessaPosizioneService { get; set; }
public ICommessaPosizioneLavorazioneService CommessaPosizioneLavorazioneService { get; set; }
public IFeatureService FeatureService { get; set; } public IFeatureService FeatureService { get; set; }
public IPermissionService PermissionService { get; set; } public IPermissionService PermissionService { get; set; }
public IRuoloService RuoloService { get; set; } public IRuoloService RuoloService { get; set; }

View File

@ -2,6 +2,21 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="row g-5 mb-5">
<div class="col-md-6"></div>
<div class="col-md-2">
<RadzenButton Icon="date_range"></RadzenButton>
</div>
<div class="col-md-2">
<RadzenText TextStyle="TextStyle.Subtitle2" TagName="TagName.H3">Data ultima modifica</RadzenText>
<RadzenLabel Text="@DateTime.Now.ToShortDateString()"></RadzenLabel>
</div>
<div class="col-md-2">
<RadzenText TextStyle="TextStyle.Subtitle2" TagName="TagName.H3">Data ultima Check</RadzenText>
<RadzenLabel Text="@DateTime.Now.ToShortDateString()"></RadzenLabel>
</div>
</div>
<div class="row g-5"> <div class="row g-5">
<div class="table-responsive"> <div class="table-responsive">
<RadzenDataGrid @ref="posizioniGrid" AllowFiltering="true" AllowColumnResize="true" AllowAlternatingRows="false" FilterMode="FilterMode.CheckBoxList" AllowSorting="true" PageSize="25" <RadzenDataGrid @ref="posizioniGrid" AllowFiltering="true" AllowColumnResize="true" AllowAlternatingRows="false" FilterMode="FilterMode.CheckBoxList" AllowSorting="true" PageSize="25"