Merge branch 'develop' into SDK
This commit is contained in:
@@ -195,6 +195,16 @@ namespace AppData
|
||||
public static string redMachUnloadCount = "NKC:SERV:MACH_UNLOAD:COUNT";
|
||||
public static string redMachUnloadForce = "NKC:SERV:MACH_UNLOAD:FORCERELOAD";
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// chaive redis x cache conteggio coda PJQ
|
||||
/// </summary>
|
||||
public static string redQueueCount = "NKC:SERV:PJQ";
|
||||
/// <summary>
|
||||
/// chaive redis x cache conteggio coda PJQ composta da tante code
|
||||
/// </summary>
|
||||
public static string redQueueCountSet = "NKC:SERV:PJQCOUNT";
|
||||
|
||||
#endregion
|
||||
|
||||
#region definizione classi impiegate con PROD
|
||||
|
||||
@@ -264,6 +264,9 @@ namespace AppData
|
||||
if (checkDoc(tipoDoc, keyParam))
|
||||
{
|
||||
answ = reportPrinter.obj.stampaCartellino(tipoDoc, keyParam, printer, true);
|
||||
// svuoto code redis salvate..
|
||||
memLayer.ML.redFlushKey(ComLib.redQueueCount);
|
||||
memLayer.ML.redFlushKey(ComLib.redQueueCountSet);
|
||||
if (answ)
|
||||
{
|
||||
logger.lg.scriviLog(string.Format(" | {0} | stampato UDC {1} | stampante {2} | tipo {3}", clientIp, keyParam, printer, tipoDoc), tipoLog.INFO);
|
||||
|
||||
Vendored
+1
-1
@@ -11,7 +11,7 @@ pipeline {
|
||||
steps {
|
||||
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
|
||||
script {
|
||||
withEnv(['NEXT_BUILD_NUMBER=327']) {
|
||||
withEnv(['NEXT_BUILD_NUMBER=328']) {
|
||||
// env.versionNumber = VersionNumber(versionNumberString : '1.1.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true)
|
||||
env.versionNumber = VersionNumber(versionNumberString : '1.1.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
env.versionNumberBeta = VersionNumber(versionNumberString : '1.1.${BUILD_DATE_FORMATTED, "yyMM"}-beta.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
|
||||
@@ -6,6 +6,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
|
||||
@@ -16,11 +17,7 @@ namespace NKC_WF.Controllers
|
||||
#region classi gestione PJQ
|
||||
|
||||
/// <summary>
|
||||
/// chaive redis x cache conteggio coda PJQ
|
||||
/// </summary>
|
||||
internal static string redQueueCount = "NKC:SERV:PJQ";
|
||||
/// <summary>
|
||||
/// Conteggio elementi in attesa stsampa da DB
|
||||
/// Conteggio elementi in attesa stampa da DB
|
||||
/// </summary>
|
||||
protected int countWaitingDb
|
||||
{
|
||||
@@ -37,6 +34,24 @@ namespace NKC_WF.Controllers
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Conteggio elementi in attesa stampa da DB che fanno parte di un SET di queue
|
||||
/// </summary>
|
||||
protected int countWaitingDbQueueMult(string queueSet)
|
||||
{
|
||||
int answ = 0;
|
||||
// resetto conteggio in redis...
|
||||
DS_Report.PrintJobQueueDataTable tabPJQ = DataLayer.man.taPJQ.getWaiting();
|
||||
if (tabPJQ != null)
|
||||
{
|
||||
var selQueue = tabPJQ.Where(x => queueSet.Contains($"|{x.prtName}|")).ToList();
|
||||
if (selQueue != null)
|
||||
{
|
||||
answ = selQueue.Count;
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Carica i dati richiesti dal report dalla StoredProcedure (filtrando quindi...) e restituisce Dictionary [nome RDS / tab RDS]
|
||||
/// </summary>
|
||||
/// <param name="tipoReport"></param>
|
||||
@@ -145,7 +160,7 @@ namespace NKC_WF.Controllers
|
||||
{
|
||||
// restituisco...
|
||||
int answ = 0;
|
||||
string redVal = memLayer.ML.getRSV(redQueueCount);
|
||||
string redVal = memLayer.ML.getRSV(ComLib.redQueueCount);
|
||||
// cerco in redis se ci sia chiave..
|
||||
if (!string.IsNullOrEmpty(redVal))
|
||||
{
|
||||
@@ -154,11 +169,11 @@ namespace NKC_WF.Controllers
|
||||
}
|
||||
else
|
||||
{
|
||||
// chiudo gli zombie (stampe non chiuse)...
|
||||
DataLayer.man.taPJQ.chiudiZoombie(DateTime.Now.AddMilliseconds(-memLayer.ML.CRI("zombieMsTime")));
|
||||
// recupero da db e salvo
|
||||
answ = countWaitingDb;
|
||||
memLayer.ML.setRSV(redQueueCount, answ.ToString(), memLayer.ML.CRI("cacheQueueSec"));
|
||||
memLayer.ML.setRSV(ComLib.redQueueCount, answ.ToString(), memLayer.ML.CRI("cacheQueueSec"));
|
||||
// chiudo gli zombie (stampe non chiuse)...
|
||||
DataLayer.man.taPJQ.chiudiZoombie(DateTime.Now.AddMilliseconds(-memLayer.ML.CRI("zombieMsTime")));
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
@@ -195,6 +210,37 @@ namespace NKC_WF.Controllers
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce numero jobs aperti (stato = 0...), se 0 = NESSUNO
|
||||
/// GET: api/PrintQueue/GetCount/|queue01|queue02|queue03|
|
||||
/// </summary>
|
||||
/// <param name="queueList">Elenco code delimitate da |..|</param>
|
||||
/// <returns></returns>
|
||||
//[HttpGet]
|
||||
//[Route("count")]
|
||||
public int GetCount(string queueList)
|
||||
{
|
||||
// restituisco...
|
||||
int answ = 0;
|
||||
string redVal = memLayer.ML.getRSV($"{ComLib.redQueueCountSet}:{queueList}");
|
||||
// cerco in redis se ci sia chiave..
|
||||
if (!string.IsNullOrEmpty(redVal))
|
||||
{
|
||||
// recupero
|
||||
int.TryParse(redVal, out answ);
|
||||
}
|
||||
else
|
||||
{
|
||||
// recupero da db e salvo
|
||||
answ = countWaitingDbQueueMult(queueList);
|
||||
memLayer.ML.setRSV($"{ComLib.redQueueCountSet}:{queueList}", answ.ToString(), memLayer.ML.CRI("cacheQueueSec"));
|
||||
// chiudo gli zombie (stampe non chiuse)...
|
||||
DataLayer.man.taPJQ.chiudiZoombie(DateTime.Now.AddMilliseconds(-memLayer.ML.CRI("zombieMsTime")));
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processa una chiamata POST per l'invio in blocco del risultato dell'elaborazione
|
||||
/// POST: api/PrintQueue
|
||||
@@ -225,7 +271,9 @@ namespace NKC_WF.Controllers
|
||||
int.TryParse(printAnsw.ticketNum, out idxPJQ);
|
||||
DataLayer.man.taPJQ.updateStato(idxPJQ, printAnsw.newStatus);
|
||||
// resetto conteggio in redis...
|
||||
memLayer.ML.setRSV(redQueueCount, countWaitingDb.ToString(), memLayer.ML.CRI("cacheQueueSec"));
|
||||
memLayer.ML.setRSV(ComLib.redQueueCount, countWaitingDb.ToString(), memLayer.ML.CRI("cacheQueueSec"));
|
||||
// svuoto code redis salvate..
|
||||
memLayer.ML.redFlushKey(ComLib.redQueueCountSet);
|
||||
answ = "OK";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -403,6 +403,13 @@
|
||||
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"
|
||||
preCondition="integratedMode,runtimeVersionv4.0"/>
|
||||
</handlers>
|
||||
<staticContent>
|
||||
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00"/>
|
||||
<remove fileExtension=".woff"/>
|
||||
<remove fileExtension=".woff2"/>
|
||||
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
|
||||
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2"/>
|
||||
</staticContent>
|
||||
</system.webServer>
|
||||
<elmah>
|
||||
<!--
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
<%@ Register Src="~/WebUserControls/cmp_batchDetail.ascx" TagPrefix="uc1" TagName="cmp_batchDetail" %>
|
||||
<%@ Register Src="~/WebUserControls/cmp_numRow.ascx" TagPrefix="uc1" TagName="cmp_numRow" %>
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 border border-info table-info rounded py-2" runat="server" id="divDetail">
|
||||
<uc1:cmp_batchDetail runat="server" ID="cmp_batchDetail" />
|
||||
@@ -23,7 +21,7 @@
|
||||
<asp:ListItem Text="Estimating Completed" Value="2"></asp:ListItem>
|
||||
<asp:ListItem Text="Nesting Requested" Value="3"></asp:ListItem>
|
||||
<asp:ListItem Text="Nesting Completed" Value="4"></asp:ListItem>
|
||||
<asp:ListItem Text="Nesting Approved" Value="5"></asp:ListItem>
|
||||
<%--<asp:ListItem Text="Nesting Approved" Value="5"></asp:ListItem>--%>
|
||||
<asp:ListItem Text="Nesting Discarded" Value="6"></asp:ListItem>
|
||||
<asp:ListItem Text="Errors Present" Value="7"></asp:ListItem>
|
||||
<asp:ListItem Text="Validation UNKNOWN" Value="8"></asp:ListItem>
|
||||
@@ -92,7 +90,7 @@
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:HiddenField ID="hfDeleteEnabled" runat="server" />
|
||||
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStatus" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter" DeleteMethod="deleteTree">
|
||||
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="getByStatus" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter" DeleteMethod="deleteTree" FilterExpression="Status <> 5">
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="ddlStatus" DefaultValue="-1" Name="Status" PropertyName="SelectedValue" Type="Int32" />
|
||||
<asp:SessionParameter Name="SearchVal" SessionField="valoreSearch" Type="String" DefaultValue="" />
|
||||
@@ -102,9 +100,6 @@
|
||||
<asp:Parameter Name="Original_BatchID" Type="Int32" />
|
||||
<asp:Parameter Name="ForceDelete" Type="Int32" DefaultValue="1" />
|
||||
</DeleteParameters>
|
||||
<FilterParameters>
|
||||
<asp:SessionParameter SessionField="valoreSearch" DefaultValue="" Type="String" />
|
||||
</FilterParameters>
|
||||
</asp:ObjectDataSource>
|
||||
<asp:HiddenField runat="server" ID="hfPartValid" />
|
||||
</div>
|
||||
|
||||
@@ -194,12 +194,15 @@ namespace NKC_WF.WebUserControls
|
||||
// processo evento..
|
||||
lastCmd = cmp_barcode.inputAcquired.ToUpper();
|
||||
doRaiseEv = processLastCmd(doRaiseEv);
|
||||
|
||||
// reset comando
|
||||
cmp_barcode.inputAcquired = "";
|
||||
ComLib.man.resetSheetUnload(SheetID);
|
||||
// aggiorno...
|
||||
doUpdate();
|
||||
if (doRaiseEv)
|
||||
{
|
||||
resetMessages();
|
||||
}
|
||||
}
|
||||
|
||||
private bool processLastCmd(bool doRaiseEv)
|
||||
@@ -274,7 +277,16 @@ namespace NKC_WF.WebUserControls
|
||||
updateCurrData();
|
||||
ComLib.saveItemPickup(SheetID, DeviceId, itemDtmx);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Resetta mesaggi ed errori
|
||||
/// </summary>
|
||||
protected void resetMessages()
|
||||
{
|
||||
divInfoMessage.Visible = false;
|
||||
lblInfoMessage.Text = "";
|
||||
divItemError.Visible = false;
|
||||
lblErrorMsg.Text = "";
|
||||
}
|
||||
/// <summary>
|
||||
/// Processo il DataMatrix letto
|
||||
/// </summary>
|
||||
@@ -283,6 +295,7 @@ namespace NKC_WF.WebUserControls
|
||||
/// <param name="codeInt"></param>
|
||||
private void processItemSuggestion(codeType tipoCod, string rawData, int codeInt)
|
||||
{
|
||||
displMessage("", false);
|
||||
DS_App.ItemListDataTable tabItem = null;
|
||||
// processo suggerimenti x ITEM / cart / bin dato suo RawData (Dtmx) e Cod univoco (intero)
|
||||
switch (tipoCod)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
|
||||
<ContentTemplate>
|
||||
<uc1:cmp_batchList runat="server" ID="cmp_batchList" />
|
||||
<asp:Timer ID="Timer1" runat="server" Interval="2000" OnTick="Timer1_Tick"></asp:Timer>
|
||||
<asp:Timer ID="Timer1" runat="server" Interval="4000" OnTick="Timer1_Tick"></asp:Timer>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace NKC_WF
|
||||
{
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
((SiteMaster)this.Master).showSearch = false;
|
||||
doUpdate();
|
||||
}
|
||||
cmp_batchList.eh_doRefresh += Cmp_batchList_eh_doRefresh;
|
||||
|
||||
Reference in New Issue
Block a user