# EgtBEAMWALL


Progetto gestione Egt x Travi, organizzato con un elenco di componenti SW ceh possono scalare da soluzioni all in one (su unica macchina) a soluzioni distribuite/in rete.

## EgtBEAMWALL.Core

Componente core x definizione classi e metodi comuni

## EgtBEAMWALL.DataLayer

Libreria comunicazione con DB EF6 (MySql / MariaDB)

## EgtBEAMWALL.StressTest

WinForm app x testing parte DataLayer EF6

## EgtBEAMWALL.Supervisor

Gestione Supervisor su CNC in produzione

## EgtBEAMWALL.ViewOptimizer

Gestione Import BTL e trasformazione PROJ / PROD per poi fornire task al Supervisor

## Installazione prerequisiti

Per il funzionamento è necessario avere:

* un area di share/storage per i file PROJ/PROD
* un DB per lo scambio dati/sincronizzazione

### Setup DB

Come primo prerequisito va installato MariaDB sul PC (se unico) o in rete (server / appliance linux/windows). In fase di install mettere pwd di root secondo policy (non indicata qui)

Va poi creato utente EgtUser per accesso al DB stesso:

~~~~sql
CREATE USER 'EgtUser'@'localhost' IDENTIFIED BY 'viacremasca';
CREATE USER 'EgtUser'@'%' IDENTIFIED BY 'viacremasca';
GRANT ALL ON *.* TO 'EgtUser'@'localhost';
GRANT ALL ON *.* TO 'EgtUser'@'%';
flush privileges;
~~~~

In caso sia necessario resettare il DB per testing o reinstall i comandi da eseguire sono i seguenti:
~~~~sql
	SET FOREIGN_KEY_CHECKS=0;
	TRUNCATE TABLE partlist;
	TRUNCATE TABLE machgrouplist;
	TRUNCATE TABLE prodlist;
	TRUNCATE TABLE btlpartlist;
	TRUNCATE TABLE projlist;
	SET FOREIGN_KEY_CHECKS=1;
~~~~

che fanno parte della stored **stp_ResetDb**
~~~~sql
CREATE DEFINER=`EgtUser`@`localhost` PROCEDURE `stp_ResetDb`()
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'Procedura reset globale DB: attenzione a chiamare'
BEGIN
	SET FOREIGN_KEY_CHECKS=0;
	TRUNCATE TABLE partlist;
	TRUNCATE TABLE machgrouplist;
	TRUNCATE TABLE prodlist;
	TRUNCATE TABLE btlpartlist;
	TRUNCATE TABLE projlist;
	SET FOREIGN_KEY_CHECKS=1;
END
~~~~

## Revisioni

vers | data | note
---------|----------|---------
2.5.X | 2023.06.08 | Aggiunta cancellazione logica + descrizione Proj editabile
1.0.0 | 2021.04.12 | Riconciliazione su ramo TotalRebuild
0.9.0 | 2021.04.03 | Upgrade versione con DataLayer EF 6.4.4
0.8.0 | 2021.03.06 | Versione con StressTest WinForm x DataLayer EF 6.0
0.7.0 | 2021.03.05 | Prima versione con DataLayer EF 6.0
