Merge branch 'develop' into SDK

This commit is contained in:
Samuele E. Locatelli
2020-01-17 09:58:00 +01:00
7 changed files with 229 additions and 5 deletions
+144 -1
View File
@@ -1,4 +1,5 @@
using Newtonsoft.Json;
using MongoDB.Driver;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using NKC_SDK;
using SteamWare;
@@ -12,6 +13,148 @@ namespace AppData
/// </summary>
public class ComLib
{
#region Gestione persistenza risposte via REST da NESTING
/// <summary>
/// Database corrente MongoDB
/// </summary>
IMongoDatabase database;
/// <summary>
/// Init classe ComLib
/// </summary>
public ComLib()
{
database = memLayer.ML.getMongoDatabase("NKC");
}
/// <summary>
/// Classe impiego sstatico ComLib...
/// </summary>
public static ComLib man = new ComLib();
/// <summary>
/// Salva una risposta ricevuta x STIMA
/// </summary>
/// <param name="nestAnsw">Stringa della risposta JSON ricevuta dal nesting</param>
/// <returns></returns>
public bool saveEstAnsw(nestReplyBatchInitial nestAnsw)
{
bool answ = false;
try
{
// definisco filtro
var filtBuilder = Builders<nestReplyBatchInitial>.Filter;
var filter = filtBuilder.Eq<int>("BatchID", nestAnsw.BatchID);
var collRawData = database.GetCollection<nestReplyBatchInitial>("EstimationArchive");
// elimino old
collRawData.DeleteMany(filter);
// aggiungo
collRawData.InsertOne(nestAnsw);
answ = true;
}
catch
{ }
return answ;
}
/// <summary>
/// Salva una risposta ricevuta x NESTING
/// </summary>
/// <param name="nestAnsw">Stringa della risposta JSON ricevuta dal nesting</param>
/// <returns></returns>
public bool saveNestAnsw(nestReplyBatchFinal nestAnsw)
{
bool answ = false;
try
{
// definisco filtro
var filtBuilder = Builders<nestReplyBatchFinal>.Filter;
var filter = filtBuilder.Eq<int>("BatchID", nestAnsw.BatchID);
var collRawData = database.GetCollection<nestReplyBatchFinal>("NestingArchive");
// elimino old
collRawData.DeleteMany(filter);
// aggiungo
collRawData.InsertOne(nestAnsw);
answ = true;
}
catch
{ }
return answ;
}
/// <summary>
/// Recupero risposta stima salvata
/// </summary>
/// <param name="BatchID"></param>
/// <returns></returns>
public nestReplyBatchInitial geEstAnsw(int BatchID)
{
nestReplyBatchInitial answ = null;
try
{
// definisco filtro
var filtBuilder = Builders<nestReplyBatchInitial>.Filter;
var filter = filtBuilder.Eq<int>("BatchID", BatchID);
var collRawData = database.GetCollection<nestReplyBatchInitial>("EstimationArchive");
// recupero
answ = collRawData.Find(filter).FirstOrDefault<nestReplyBatchInitial>();
}
catch
{ }
return answ;
}
/// <summary>
/// Recupero risposta nesting salvata
/// </summary>
/// <param name="BatchID"></param>
/// <returns></returns>
public nestReplyBatchFinal getNestAnsw(int BatchID)
{
nestReplyBatchFinal answ = null;
try
{
// definisco filtro
var filtBuilder = Builders<nestReplyBatchFinal>.Filter;
var filter = filtBuilder.Eq<int>("BatchID", BatchID);
var collRawData = database.GetCollection<nestReplyBatchFinal>("NestingArchive");
// recupero
answ = collRawData.Find(filter).FirstOrDefault<nestReplyBatchFinal>();
}
catch
{ }
return answ;
}
//public object getEstAnsw(int BatchId)
//{
// List<nestReplyBatchFinal> answ = null;
// var collNAA = database.GetCollection<nestReplyBatchFinal>("NestAnswArchive");
// // oggetto filtraggio x nest answ
// var builderNAA = Builders<nestReplyBatchFinal>.Filter;
// var filtBatchId = builderNAA.Eq(u => u.BatchID, BatchId);
// var datiCorrenti = collNAA.Find(filtBatchId);
// foreach (var item in datiCorrenti)
// {
// }
// return answ;
//}
/// <summary>
/// restitusice ultima chiamata REST registrata su REDIS
/// </summary>
/// <returns></returns>
public static string lastRestAnsw()
{
string answ = "";
// recupero ultima call
string redKey = $"{ComLib.redNestAnsw}:LAST_CALL";
answ = memLayer.ML.getRSV(redKey);
return answ;
}
#endregion
/// <summary>
/// Wrapper traduzione termini
+25
View File
@@ -162,6 +162,31 @@ namespace NKC_SDK
/// </summary>
public double EstimatedWorktime { get; set; } = 0;
/// <summary>
/// Superficie WORK (lavorata/tagliata) del foglio lavorato (= somma area dei pezzi disposti)
/// </summary>
public double SurfaceWork { get; set; } = 0;
/// <summary>
/// Superficie totale del foglio lavorato (= materiale)
/// </summary>
public double SurfaceTotal { get; set; } = 1;
/// <summary>
/// Resa (OEE) dell'impiego del materiale
/// </summary>
public double SurfaceOEE
{
get
{
double answ = 0;
try
{
answ = SurfaceWork / SurfaceTotal;
}
catch
{ }
return answ;
}
}
/// <summary>
/// Programma x printing
/// </summary>
public string PrintProgram { get; set; } = "";
@@ -133,6 +133,10 @@ namespace NKC_WF.Controllers
int bStatus = 0;
// deserializzo come BatchreqIniziale (stima)
nestReplyBatchInitial rispStima = JsonConvert.DeserializeObject<nestReplyBatchInitial>(content);
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveEstAnsw(rispStima);
// recupero info sul batch /KIT specifico x capire se sia di tipo "validation"
bool isValidation = false;
var tabOrd = DataLayer.man.taOL.getByBatch(rispStima.BatchID);
@@ -222,6 +226,10 @@ namespace NKC_WF.Controllers
{
// deserializzo come BatchreqFinale
nestReplyBatchFinal rispNest = JsonConvert.DeserializeObject<nestReplyBatchFinal>(content);
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveNestAnsw(rispNest);
// calcolo status del batch...
int bStatus = 2;
switch (rispNest.ProcessStatus)
+2
View File
@@ -69,6 +69,8 @@
<add key="RedisConn" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=nkc.password"/>
<add key="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=nkc.password,allowAdmin=true"/>
<add key="redisDb" value="0"/>
<!--MongoDB-->
<add key="mdbConnString" value="mongodb://W2019-MONGODB:27017"/>
<!--Configurazioni DB per classi referenziate AppData e Steamware dll-->
<add key="NKC_WFConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;"/>
<add key="DbConfConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;"/>
+9 -4
View File
@@ -1,9 +1,14 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_devUtils.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_devUtils" %>
<div class="shortcuts">
<div class="row">
<div class="col-12">
<div class="col">
<asp:LinkButton runat="server" ID="lbtResetStackBuild" class="shortcut" OnClick="lbtResetStackBuild_Click" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di preparazione Stacks?")'> <i class="fa fa-database shortcut-icon"></i><span class="shortcut-label"><b>Reset</b><br /> Stack building</span> </asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtResetNest" class="shortcut" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di Nesting? I Batch torneranno come appena importati e PRIMA di ogni chiamata al NESTING...")' OnClick="checkFixOds"> <i class="fa fa-file-image-o shortcut-icon"></i><span class="shortcut-label"><b>Reset</b><br /> Nesting Calls</span> </asp:LinkButton>
</div>
</div>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtResetNest" class="shortcut" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di Nesting? I Batch torneranno come appena importati e PRIMA di ogni chiamata al NESTING...")' OnClick="lbtResetNest_Click"> <i class="fa fa-file-image-o shortcut-icon"></i><span class="shortcut-label"><b>Reset</b><br /> Nesting Calls</span> </asp:LinkButton>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtSaveLastAnsw" class="shortcut" OnClientClick='return confirm("Sicuro di voler salvare ultima risposta NESTING?")' OnClick="lbtSaveLastAnsw_Click" > <i class="fa fa-file-image-o shortcut-icon"></i><span class="shortcut-label"><b>SAVE</b><br /> LAST Call</span> </asp:LinkButton>
</div>
</div>
</div>
@@ -1,4 +1,6 @@
using AppData;
using Newtonsoft.Json;
using NKC_SDK;
using System;
namespace NKC_WF.WebUserControls
@@ -19,5 +21,35 @@ namespace NKC_WF.WebUserControls
{
DataLayer.man.taBL.resetNesting(-9999);
}
protected void lbtSaveLastAnsw_Click(object sender, EventArgs e)
{
string content = ComLib.lastRestAnsw();
// deserializzo.
baseNestAnsw batchProcAnsw = JsonConvert.DeserializeObject<baseNestAnsw>(content);
// se non nullo...
if (batchProcAnsw != null)
{
if (batchProcAnsw.OrderType == oType.BatchRequest)
{
if (batchProcAnsw.ProcType == 1)
{
// deserializzo come BatchreqIniziale (stima)
nestReplyBatchInitial rispStima = JsonConvert.DeserializeObject<nestReplyBatchInitial>(content);
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveEstAnsw(rispStima);
}
else
{
// deserializzo come BatchreqFinale
nestReplyBatchFinal rispNest = JsonConvert.DeserializeObject<nestReplyBatchFinal>(content);
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveNestAnsw(rispNest);
}
}
}
}
}
}
+9
View File
@@ -31,5 +31,14 @@ namespace NKC_WF.WebUserControls
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtResetNest;
/// <summary>
/// Controllo lbtSaveLastAnsw.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtSaveLastAnsw;
}
}