Compare commits

...

62 Commits

Author SHA1 Message Date
Samuele Locatelli 9f4f96e15d Merge branch 'release/UpdaterFix' 2021-09-17 16:46:48 +02:00
Samuele Locatelli b83b29f798 Fix conf https x NEXUS 2021-09-17 16:46:34 +02:00
Samuele Locatelli 62cc21f43d Eliminazioni warnings vari codice 2021-09-17 14:51:27 +02:00
Samuele Locatelli 8ec6ce6390 Update typescript a latest 2021-09-17 14:51:19 +02:00
Samuele Locatelli 72398af0d5 fix port 61257 2021-09-17 14:39:20 +02:00
Samuele Locatelli d143857cf8 Update nuget vari 2021-09-17 14:31:54 +02:00
Samuele Locatelli d2daf33f14 UPdate nuget steamwarelibs 2021-09-17 14:26:21 +02:00
Samuele Locatelli 0a36cf3de8 Merge tag 'FixNexus' into develop
Fix nexus path https
2021-09-16 16:21:13 +02:00
Samuele Locatelli b178add115 Merge branch 'release/FixNexus' 2021-09-16 16:21:05 +02:00
Samuele Locatelli a7fcfe0eca Update nexus yaml conf 2021-09-16 16:17:06 +02:00
Samuele Locatelli 5aac6657e8 Merge tag 'CheckFIleNameCNC' into develop
Fix controllo filename/takt in fase import se già approvato
2021-09-16 16:05:16 +02:00
Samuele Locatelli f9281ece74 Merge branch 'release/CheckFIleNameCNC' 2021-09-16 16:05:04 +02:00
Samuele Locatelli 4cc1bfbd8f Fix comportamento file upload x kit e test dxf 2021-09-16 16:03:05 +02:00
Samuele Locatelli 8bb4580ba2 Aggiunto verifica batch già approvati in import 2021-09-16 16:01:48 +02:00
Samuele Locatelli a474c243f6 Merge tag 'FixManifestVErs' into develop
Fix manifest version (era 0.0.0.0)
2021-09-02 16:39:43 +02:00
Samuele Locatelli 91b36dbf5f Merge branch 'release/FixManifestVErs' 2021-09-02 16:38:40 +02:00
Samuele Locatelli 8ed38c3976 fix vers number in manifest.xml 2021-09-02 16:38:07 +02:00
Samuele Locatelli 2697a3ae09 Merge tag 'FixManifestDeploy' into develop
Fix modalità update e url manifest.xml
2021-09-02 16:32:36 +02:00
Samuele Locatelli 83f44c6d36 Merge branch 'release/FixManifestDeploy' 2021-09-02 16:30:28 +02:00
Samuele Locatelli 07e4fbe5e8 Update pagina download NKC 2021-09-02 16:30:03 +02:00
Samuele Locatelli 252387f6ca Modifica ciclo update in deploy CI/CD 2021-09-02 16:24:54 +02:00
Samuele Locatelli 8ccddec3bd Merge tag 'Gitlab_CICD' into develop
Fix gitlab CI CD deploy
2021-09-02 15:57:44 +02:00
Samuele Locatelli 06a2dc0200 Merge branch 'release/Gitlab_CICD' 2021-09-02 15:57:32 +02:00
Samuele Locatelli 0d6244365d Merge branch 'feature/Jenkins2Gitlab' into develop 2021-09-02 15:56:17 +02:00
Samuele Locatelli 4e25b172c8 Merge branch 'develop' into feature/Jenkins2Gitlab 2021-09-02 15:56:02 +02:00
Samuele Locatelli 07ff67b1c8 Fix timing esecuzioen batch stat import 2021-09-02 15:55:01 +02:00
Samuele Emilio Locatelli 7205e0a5ab Merge branch 'feature/Jenkins2Gitlab' into 'develop'
Feature/jenkins2 gitlab

See merge request steamware/NKC!1
2021-09-02 13:52:42 +00:00
Samuele Emilio Locatelli d618963565 Feature/jenkins2 gitlab 2021-09-02 13:52:42 +00:00
Samuele Locatelli 8379252c12 riduzione verbosita e path manifest/changelog x upload 2021-09-02 15:45:13 +02:00
Samuele Locatelli 17f32f80d7 fix nexus upload (hope) 2021-09-02 15:29:30 +02:00
Samuele Locatelli c7fd3961af fix typo: releases --> release 2021-09-02 15:22:37 +02:00
Samuele Locatelli fc0dfd9d2e modifica yaml CiCd 2021-09-02 15:20:05 +02:00
Samuele Locatelli 9c536f41e1 fix path x recupero filkx e nexus 2021-09-02 15:07:35 +02:00
Samuele Locatelli a5ba2a0eaf fix develop install x IIS01 2021-09-02 15:02:35 +02:00
Samuele Locatelli 836c3515da ancora modifica yaml 2021-09-02 15:02:12 +02:00
Samuele Locatelli 66f4ddc340 ancora test yaml CiCd 2021-09-02 14:55:12 +02:00
Samuele Locatelli f5dec22e60 Ancora test yaml CiCd 2021-09-02 14:35:40 +02:00
Samuele Locatelli 57aa6c9af9 cambio modalità build 2021-09-02 14:23:33 +02:00
Samuele Locatelli 763caff2e4 update tag verbosity 2021-09-02 14:16:27 +02:00
Samuele Locatelli 0d74d84fd6 fix yaml syntax 2021-09-02 14:13:06 +02:00
Samuele Locatelli 221c9d9a3e Update yaml x build/install 2021-09-02 14:10:06 +02:00
Samuele Emilio Locatelli ca6f82f118 Update .gitlab-ci.yml file 2021-09-02 10:22:02 +00:00
Samuele Locatelli 2e7b8f11aa Add tag x win 2021-09-02 12:20:42 +02:00
Samuele Locatelli f1bb875ecc Versione iniziale gitlab conf 2021-09-02 12:09:39 +02:00
Samuele Locatelli 7825f8e9aa Merge branch 'feature/StatistichePre' into develop 2021-09-02 11:47:31 +02:00
Samuele Locatelli 9a8272f021 Aggiunto calcolo statistiche a fine batch 2021-09-02 11:47:22 +02:00
Samuele Locatelli 385936a167 Refresh grafico pagina dev tools 2021-09-02 11:42:13 +02:00
Samuele Locatelli 8e6a086e18 Display tempo calcolo a fine esecuzione 2021-09-02 11:18:09 +02:00
Samuele Locatelli f5fefb8070 Aggiunta button in devUtils x ricalcolo 2021-09-02 11:14:44 +02:00
Samuele Locatelli 807a6d5e45 Aggiunta metodi chiamate stored ricalcolo 2021-09-02 11:14:19 +02:00
Samuele Locatelli 97984ce39c Merge tag 'GestionePngConVersioni' into develop
Gestione stsampa BIN con immagini PNG generate con indice revisione
disegno
2021-08-20 16:15:39 +02:00
Samuele Locatelli babd52629a Merge branch 'release/GestionePngConVersioni' 2021-08-20 16:15:20 +02:00
Samuele Locatelli 1b71f76d14 update schemacompare DB 2021-08-20 16:13:13 +02:00
Samuele Locatelli e1d84b29f4 Aggiunta metodo update dati da BIN 2021-08-20 15:06:29 +02:00
Samuele Locatelli 99b2983962 refresh parziale classi x update ExtCode + Rev 2021-08-20 14:46:04 +02:00
Samuele Locatelli 8a7b4dd8a0 Merge tag 'fixEmptyRedix_NugetNLog' into develop
Fix regressione gestioen redis x valori vuoti
2021-08-19 12:12:41 +02:00
Samuele Locatelli 553f488fdf Merge branch 'release/fixEmptyRedix_NugetNLog' 2021-08-19 12:12:19 +02:00
Samuele Locatelli fed4789534 FIx-update SteamwareLibs x redis vuoto 2021-08-19 12:12:08 +02:00
Samuele Locatelli 5bbeb6817b Update NLog 2021-08-19 12:09:49 +02:00
Samuele Locatelli 15df69f9fd Merge branch 'develop' 2021-08-19 11:42:42 +02:00
Samuele Locatelli ae70999f78 Clean dll inutili 2021-08-19 11:42:30 +02:00
Samuele Locatelli 1b484df0b9 Merge tag 'updateNugetSteamWareLibs' into develop
Update librerie
2021-08-19 11:39:55 +02:00
46 changed files with 3712 additions and 998 deletions
+3
View File
@@ -41,3 +41,6 @@ dotnet_diagnostic.CA1716.severity = none
# CA2227: Le proprietà delle raccolte devono essere di sola lettura
dotnet_diagnostic.CA2227.severity = none
# CA1805: Do not initialize unnecessarily
dotnet_diagnostic.CA1805.severity = none
+157
View File
@@ -0,0 +1,157 @@
variables:
NUGET_PATH: 'C:\Tools\nuget.exe'
MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe'
ASPNET_MERGE_PATH: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools'
EXE_RELEASE_FOLDER: 'c:\Projetcs\Compiled\NKC\Release'
DEPLOY_FOLDER: 'c:\Projects\Deploy\NKC\Builds'
VERS_MAIN: '2.0'
NEW_REL: ''
NEXUS_PATH: 'NKC'
PROJ_NAME: 'NKC_WF'
APP_NAME: 'NKC'
# VARIABILI
# Tema numero versione: si potrebbe usare la variabile CI_COMMIT_TAG con $env:CI_COMMIT_TAG, in questo caso SOLO SE c'è un tag sistema versione...
# Tema compilazione x branch: $CI_COMMIT_BRANCH == "my-branch" potrebbe essere condizione if x fare alcuni sscript...
# rif: https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
# Da approfondire:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/dotNET.gitlab-ci.yml
# https://www.google.com/search?q=gitlab+variable+year+month&rlz=1C1GCEA_enIT945IT945&oq=gitlab+variable+year+month&aqs=chrome..69i57j69i64.5262j0j7&sourceid=chrome&ie=UTF-8
# https://docs.gitlab.com/ee/ci/examples/README.html
# https://docs.gitlab.com/ee/ci/quick_start/index.html
# https://docs.gitlab.com/ee/ci/yaml/
# helper x fix pacchetti nuget da repo locale nexus.steamware.net
.nuget-fix: &nuget-fix
- |
$hasSource = C:\Tools\nuget.exe sources list | find "`"Steamware Nexus`"" /C
if ($hasSource -eq 0) {
C:\Tools\nuget.exe sources Add -Name "`"Steamware Nexus`"" -Source https://nexus.steamware.net/repository/nuget-group -username "`"nugetUser`"" -password "`"viaDante16`""
} else {
C:\Tools\nuget.exe sources Update -Name "`"Steamware Nexus`"" -Source https://nexus.steamware.net/repository/nuget-group -username "`"nugetUser`"" -password "`"viaDante16`""
}
echo $hasSource
# helper x fix version number
.version-fix: &version-fix
- |
$env:NEW_REL = $env:VERS_MAIN+"."+(get-date format yyMM)+"."+(get-date format ddHH)
echo "Set vers: $env:NEW_REL"
$contenuto = Get-Content -path 'VersGen\VersGen.cs' -Raw
$newContenuto = $contenuto -replace '0.0.0.0', $env:NEW_REL
$newContenuto | Set-Content -Path 'VersGen\VersGen.cs'
# helper x fix manifest xml
.manifest-fix: &manifest-fix
- |
echo "Set manifest.xml for branch: $CI_COMMIT_BRANCH"
$contenuto = Get-Content -path 'NKC_WF\Resources\manifest.xml' -Raw
$newContenuto = $contenuto -replace '{{BRANCHNAME}}', $CI_COMMIT_BRANCH
$newContenuto = $newContenuto -replace '0.0.0.0', $env:NEW_REL
$newContenuto | Set-Content -Path 'NKC_WF\Resources\manifest.xml'
# helper creazione hash files
.hashBuild: &hashBuild
- |
$Target = $env:PROJ_NAME + "\Release\" + $env:APP_NAME + ".zip"
$MD5 = Get-FileHash $Target -Algorithm MD5
$SHA1 = Get-FileHash $Target -Algorithm SHA1
New-Item $Target".md5"
New-Item $Target".sha1"
$MD5.Hash | Set-Content -Path $Target".md5"
$SHA1.Hash | Set-Content -Path $Target".sha1"
echo "Created HASH files for $Target"
# helper x send su NEXUS
# $VersNumb = $Get-Content "Resources\VersNum.txt"
.nexusUpload: &nexusUpload
- |
Set-Alias mCurl C:\Windows\system32\curl.exe
$currentDate = get-date -format yyMM;
$currentTime = get-date -format ddHH;
$VersNumb = $env:NEW_REL
echo "Curr Version: $VersNumb"
if($CI_COMMIT_BRANCH -eq "master")
{
$version = "stable"
}
else
{
$version = "unstable"
}
$File2Send = Get-ChildItem($env:PROJ_NAME + "\Release\*")
ForEach ($File in $File2Send) {
$FileName = Split-Path $File -leaf
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/LAST/$FileName
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/ARCHIVE/$VersNumb/$FileName
}
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file "$env:PROJ_NAME\Resources\manifest.xml" https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/LAST/manifest.xml
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file "$env:PROJ_NAME\Resources\ChangeLog.html" https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/LAST/ChangeLog.html
stages:
- build
- deploy
- installer
build:
stage: build
tags:
- win
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore NKC_WF.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" NKC_WF/NKC_WF.csproj -target:Build /p:Configuration=Release /p:Platform="Any CPU" /p:OutputPath=bin/ /verbosity:minimal /m'
IIS01:deploy:
stage: deploy
tags:
- win
rules:
- if: '$CI_COMMIT_BRANCH == "develop"'
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore NKC_WF.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" /p:m=8 /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS01 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ /verbosity:minimal NKC_WF/NKC_WF.csproj'
needs: ["build"]
IIS02:deploy:
stage: deploy
tags:
- win
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore NKC_WF.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" /p:m=8 /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ /verbosity:minimal NKC_WF/NKC_WF.csproj'
needs: ["build"]
install:
stage: installer
tags:
- win
# rules:
# - if: '$CI_COMMIT_BRANCH == "master"'
# when: manual
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore NKC_WF.sln -Verbosity quiet'
- *version-fix
- *manifest-fix
script:
- '& "$env:MSBUILD_PATH" /p:m=8 /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /T:Package /P:Configuration=Release /p:PublishProfile=master.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=Release/$env:APP_NAME.zip /p:DeployIisAppPath="Default Web Site/NKC" /p:PackageAsSingleFile=True /verbosity:minimal /p:OutputPath=bin/ NKC_WF/NKC_WF.csproj'
# qui il deploy su nexus...
- *hashBuild
- *nexusUpload
needs: ["build"]
-4
View File
@@ -274,10 +274,6 @@
<Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" />
<Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" />
<Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" />
<Content Include="libzstd.dll" />
<Content Include="mongocrypt.dll" />
<Content Include="snappy32.dll" />
<Content Include="snappy64.dll" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+248 -147
View File
@@ -249,6 +249,22 @@ namespace AppData
#region Private Methods
/// <summary>
/// Verifica ed eventualmente aggiunge part da aggiornare all'elenco
/// </summary>
/// <param name="part2update"></param>
/// <param name="partList"></param>
private static void addPart2Upd(ref Dictionary<string, int> part2update, List<Part> partList)
{
foreach (var item in partList)
{
if (!part2update.ContainsKey(item.PartRev))
{
part2update.Add(item.PartRev, item.PartId);
}
}
}
/// <summary>
/// verifica che la macchina dichiarata esiste o la crea...
/// </summary>
@@ -494,29 +510,6 @@ namespace AppData
return currData;
}
public static bool setMachLiveStatus(string machine, bool isLive)
{
string redKey = $"{redProdMachStateLive}:{machine}";
string redVal = $"{isLive}";
// salvo x 90 sec
bool done = memLayer.ML.setRSV(redKey, redVal, 90);
return done;
}
public static bool getMachLiveStatus(string machine)
{
bool isLive = false;
/// cerco in redis...
string redKey = $"{redProdMachStateLive}:{machine}";
string redVal = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(redVal))
{
bool.TryParse(redVal, out isLive);
}
return isLive;
}
/// <summary>
/// Salvo in Redis il SUCCESSIVO bunk da lavorare
/// </summary>
@@ -1059,6 +1052,109 @@ namespace AppData
return answ;
}
/// <summary>
/// Invia una richiesta di esecuzione di Nesting x un Batch ANCESTOR
/// </summary>
/// <param name="BatchID">Batch di cui si chiede processing</param>
/// <returns></returns>
public static bool checkSendBatchSplit(int BatchID)
{
int nextIndex = 10;
bool batchSent = false;
bool batchProcessed = false;
DataLayer DLMan = new DataLayer();
var currType = ComLib.BType(BatchID);
// NKC2: controllo SE sia un batch tipo ancestor (1° invio)
if (currType == BatchType.Ancestor)
{
// recupero batch descendant
var tabDesc = ComLib.BatchDescendant(BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
batchSent = false;
// ciclo fino a trovare un batch VALIDO (= contiene ordini)
foreach (var item in tabDesc)
{
batchProcessed = false;
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
// --> invio batch
if (tabItems.Count > 0)
{
// primo parto da indice 10...
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false, nextIndex);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchProcessed = true;
batchSent = true;
}
}
//--> approvo direttamente e passo al successivo... (annullo batch)
if (!batchProcessed)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// se ho fatto --> esco
if (batchSent)
break;
}
}
}
// NKC2: se è un batch ti dipo descendant (invii successivi)
if (currType == BatchType.Descendant)
{
// verifico se ce ne siano altri NON validati (ma splitted)
var tabDesc = ComLib.BatchOtherDescendant(BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
batchSent = false;
// ciclo x tutte le righe che NON fossero con nesting effettuato
foreach (var item in tabDesc)
{
batchProcessed = false;
// se c'è qualcosa da processare lo richiede
if (item.STATUS == 2)
{
nextIndex += 50;
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
// --> invio batch
if (tabItems.Count > 0)
{
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false, nextIndex);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchProcessed = true;
batchSent = true;
}
}
//--> approvo direttamente e passo al successivo... (annullo batch)
if (!batchProcessed)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// se ho fatto --> esco
if (batchSent)
break;
}
// se non ha trovato nulla --> prova update Batch Ancestor...
}
}
}
return batchSent;
}
/// <summary>
/// verifica che lo status e la decodifica ci siano...
/// </summary>
@@ -1372,6 +1468,19 @@ namespace AppData
return context.Request.ServerVariables["REMOTE_ADDR"];
}
public static bool getMachLiveStatus(string machine)
{
bool isLive = false;
/// cerco in redis...
string redKey = $"{redProdMachStateLive}:{machine}";
string redVal = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(redVal))
{
bool.TryParse(redVal, out isLive);
}
return isLive;
}
/// <summary>
/// Restituisce il prossimo codice di envelope per comunicare con sistemi esterni
/// </summary>
@@ -2032,6 +2141,18 @@ namespace AppData
return answ;
}
/// <summary>
/// Effettua divisione evitando zeri a den...
/// </summary>
/// <param name="num"></param>
/// <param name="den"></param>
/// <returns></returns>
public static double ratioProt(double num, double den)
{
den = den == 0 ? 1 : den;
return num / den;
}
/// <summary>
/// Leggo il Takt inviato
/// </summary>
@@ -2246,111 +2367,6 @@ namespace AppData
return answ;
}
/// <summary>
/// Invia una richiesta di esecuzione di Nesting x un Batch ANCESTOR
/// </summary>
/// <param name="BatchID">Batch di cui si chiede processing</param>
/// <returns></returns>
public static bool checkSendBatchSplit(int BatchID)
{
int nextIndex = 10;
bool batchSent = false;
bool batchProcessed = false;
DataLayer DLMan = new DataLayer();
var currType = ComLib.BType(BatchID);
// NKC2: controllo SE sia un batch tipo ancestor (1° invio)
if (currType == BatchType.Ancestor)
{
// recupero batch descendant
var tabDesc = ComLib.BatchDescendant(BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
batchSent = false;
// ciclo fino a trovare un batch VALIDO (= contiene ordini)
foreach (var item in tabDesc)
{
batchProcessed = false;
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
// --> invio batch
if (tabItems.Count > 0)
{
// primo parto da indice 10...
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false, nextIndex);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchProcessed = true;
batchSent = true;
}
}
//--> approvo direttamente e passo al successivo... (annullo batch)
if (!batchProcessed)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// se ho fatto --> esco
if (batchSent)
break;
}
}
}
// NKC2: se è un batch ti dipo descendant (invii successivi)
if (currType == BatchType.Descendant)
{
// verifico se ce ne siano altri NON validati (ma splitted)
var tabDesc = ComLib.BatchOtherDescendant(BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
batchSent = false;
// ciclo x tutte le righe che NON fossero con nesting effettuato
foreach (var item in tabDesc)
{
batchProcessed = false;
// se c'è qualcosa da processare lo richiede
if (item.STATUS == 2)
{
nextIndex += 50;
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
// --> invio batch
if (tabItems.Count > 0)
{
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false, nextIndex);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchProcessed = true;
batchSent = true;
}
}
//--> approvo direttamente e passo al successivo... (annullo batch)
if (!batchProcessed)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// se ho fatto --> esco
if (batchSent)
break;
}
// se non ha trovato nulla --> prova update Batch Ancestor...
}
}
}
return batchSent;
}
/// <summary>
/// Invia una richiesta di esecuzione di Nesting x un Batch
/// </summary>
@@ -2671,6 +2687,15 @@ namespace AppData
memLayer.ML.setRSV(redCurrSheetId(macchina), SheetID.ToString());
}
public static bool setMachLiveStatus(string machine, bool isLive)
{
string redKey = $"{redProdMachStateLive}:{machine}";
string redVal = $"{isLive}";
// salvo x 90 sec
bool done = memLayer.ML.setRSV(redKey, redVal, 90);
return done;
}
/// <summary>
/// Salva per 5 sec la richiesta di reload delle pagine MachineUnload
/// </summary>
@@ -2749,6 +2774,7 @@ namespace AppData
/// <param name="BinList"></param>
public static void updateBinsFromNesting(int BatchID, List<NestBin> BinList)
{
Dictionary<string, string> part2update = new Dictionary<string, string>();
DataLayer DLMan = new DataLayer();
// inizio a processare... bunks!
if (BinList != null)
@@ -2772,6 +2798,30 @@ namespace AppData
}
}
}
// verifico se aggiornare part
if (!part2update.ContainsKey(item.PartRev))
{
part2update.Add(item.PartRev, item.PartExtCode);
}
}
// verifico se ho part da aggiornare
if (part2update.Count > 0)
{
// recupero tabella parts in blocco da batch
var item4batch = DLMan.taIL.getByBatch(BatchID);
// chiamo stored x ogni esempio di part
foreach (var item in part2update)
{
var currItemList = item4batch.Where(x => x.ItemExtCode == item.Value).ToList();
if (currItemList != null && currItemList.Count > 0)
{
// processo!
foreach (var currPart in currItemList)
{
DLMan.taIL.updateExtCodeFromBinNesting(BatchID, item.Value, item.Key);
}
}
}
}
}
}
@@ -2880,25 +2930,6 @@ namespace AppData
}
}
/// <summary>
/// Verifica ed eventualmente aggiunge part da aggiornare all'elenco
/// </summary>
/// <param name="part2update"></param>
/// <param name="partList"></param>
private static void addPart2Upd(ref Dictionary<string, int> part2update, List<Part> partList)
{
foreach (var item in partList)
{
if (!part2update.ContainsKey(item.PartRev))
{
part2update.Add(item.PartRev, item.PartId);
}
}
}
/// <summary>
/// Processa elenco items e salva in redis valori x css, elenchi, ...
/// </summary>
@@ -3343,6 +3374,76 @@ namespace AppData
return answ;
}
/// <summary>
/// Effettua il ricalcolo delle statistiche x SheetStat --> BatchStat dato un BatchID recuperando i dati da MongoDB
/// </summary>
/// <param name="BatchID"></param>
/// <returns></returns>
public bool updateSheetStatsByBatch(int BatchID)
{
bool answ = false;
DataLayer DLMan = new DataLayer();
List<int> PaintPartList = new List<int>();
// cerco da lista salvataggi Estim/Nest...
var nestAnsw = getNestAnsw(BatchID);
if (nestAnsw != null)
{
// inizio eliminando le vecchie statistiche x foglio
DLMan.taShStats.resetBatch(BatchID);
// recupero i pitturati
try
{
if (nestAnsw.BinList != null)
{
foreach (var bin in nestAnsw.BinList)
{
// se ho parti le aggiungo
if (bin.PartList != null)
{
foreach (var Part in bin.PartList)
{
PaintPartList.Add(Part.PartId);
}
}
}
}
}
catch
{ }
// il tot delle part è in bunk > Sheet > part
try
{
if (nestAnsw.BunkList != null)
{
foreach (var bunk in nestAnsw.BunkList)
{
foreach (var sheet in bunk.SheetList)
{
// dati resa superfici
double num = sheet.SurfaceWork > 0 ? sheet.SurfaceWork : 0;
double den = sheet.SurfaceTotal > 0 ? sheet.SurfaceTotal : 1;
// parts del foglio
List<int> PartList = sheet.PartList.Select(x => x.PartId).ToList();
int numPaint = PartList.Intersect(PaintPartList).Count();
// qui salvo le statistiche
DLMan.taShStats.upsertQuery(BatchID, sheet.SheetIndex, sheet.MatId, (decimal)num, (decimal)den, sheet.PartList.Count, numPaint);
}
}
}
}
catch
{ }
// finisco calcolando le statistiche x Batch...
DLMan.taBStats.refresh(BatchID);
}
return answ;
}
#endregion Public Methods
#region Public Classes
+2127 -206
View File
File diff suppressed because it is too large Load Diff
+248 -5
View File
@@ -134,6 +134,17 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_getApprovedByTakt" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getApprovedByTakt" GetMethodModifier="Public" GetMethodName="getApprovedByTakt" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getApprovedByTakt" UserSourceName="getApprovedByTakt">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_getApprovedByTakt</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@Takt" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_getByKey" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByKey" GetMethodModifier="Public" GetMethodName="getByKey" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByKey" UserSourceName="getByKey">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
@@ -1040,7 +1051,20 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateExtCodeFromNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateExtCodeFromNesting" Modifier="Public" Name="updateExtCodeFromNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy7" UserSourceName="updateExtCodeFromNesting">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateExtCodeFromBinNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateExtCodeFromBinNesting" Modifier="Public" Name="updateExtCodeFromBinNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy3" UserSourceName="updateExtCodeFromBinNesting">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateExtCodeFromBinNesting</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@PartExtCode" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@PartRev" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateExtCodeFromNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateExtCodeFromNesting" Modifier="Public" Name="updateExtCodeFromNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy4" UserSourceName="updateExtCodeFromNesting">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateExtCodeFromNesting</CommandText>
@@ -1053,7 +1077,7 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateFromNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateFromNesting" Modifier="Public" Name="updateFromNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy3" UserSourceName="updateFromNesting">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateFromNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateFromNesting" Modifier="Public" Name="updateFromNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy5" UserSourceName="updateFromNesting">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateFromNesting</CommandText>
@@ -1068,7 +1092,7 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateSheetStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateSheetStatus" Modifier="Public" Name="updateSheetStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy4" UserSourceName="updateSheetStatus">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateSheetStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateSheetStatus" Modifier="Public" Name="updateSheetStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy6" UserSourceName="updateSheetStatus">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateSheetStatus</CommandText>
@@ -1081,7 +1105,7 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateSheetStatusPU" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateSheetStatusPU" Modifier="Public" Name="updateSheetStatusPU" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy5" UserSourceName="updateSheetStatusPU">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateSheetStatusPU" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateSheetStatusPU" Modifier="Public" Name="updateSheetStatusPU" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy7" UserSourceName="updateSheetStatusPU">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateSheetStatusPU</CommandText>
@@ -1093,7 +1117,7 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateStatus" Modifier="Public" Name="updateStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy6" UserSourceName="updateStatus">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateStatus" Modifier="Public" Name="updateStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy8" UserSourceName="updateStatus">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateStatus</CommandText>
@@ -3644,6 +3668,181 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="SheetStatsTableAdapter" GeneratorDataComponentClassName="SheetStatsTableAdapter" Name="SheetStats" UserDataComponentName="SheetStatsTableAdapter">
<MainSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.SheetStats" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>DELETE FROM [SheetStats] WHERE (([BatchID] = @Original_BatchID) AND ([SheetIndex] = @Original_SheetIndex))</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_SheetIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SheetIndex" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO [SheetStats] ([BatchID], [SheetIndex], [MatID], [WorkArea], [TotalArea], [NumParts], [NumPainted]) VALUES (@BatchID, @SheetIndex, @MatID, @WorkArea, @TotalArea, @NumParts, @NumPainted);
SELECT BatchID, SheetIndex, MatID, WorkArea, TotalArea, NumParts, NumPainted FROM SheetStats WHERE (BatchID = @BatchID) AND (SheetIndex = @SheetIndex)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@SheetIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SheetIndex" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@MatID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="MatID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@WorkArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="WorkArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@TotalArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="TotalArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumParts" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumParts" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumPainted" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumPainted" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</InsertCommand>
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT *
FROM SheetStats</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE [SheetStats] SET [BatchID] = @BatchID, [SheetIndex] = @SheetIndex, [MatID] = @MatID, [WorkArea] = @WorkArea, [TotalArea] = @TotalArea, [NumParts] = @NumParts, [NumPainted] = @NumPainted WHERE (([BatchID] = @Original_BatchID) AND ([SheetIndex] = @Original_SheetIndex));
SELECT BatchID, SheetIndex, MatID, WorkArea, TotalArea, NumParts, NumPainted FROM SheetStats WHERE (BatchID = @BatchID) AND (SheetIndex = @SheetIndex)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@SheetIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SheetIndex" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@MatID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="MatID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@WorkArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="WorkArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@TotalArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="TotalArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumParts" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumParts" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumPainted" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumPainted" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_SheetIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SheetIndex" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</UpdateCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="BatchID" DataSetColumn="BatchID" />
<Mapping SourceColumn="SheetIndex" DataSetColumn="SheetIndex" />
<Mapping SourceColumn="MatID" DataSetColumn="MatID" />
<Mapping SourceColumn="WorkArea" DataSetColumn="WorkArea" />
<Mapping SourceColumn="TotalArea" DataSetColumn="TotalArea" />
<Mapping SourceColumn="NumParts" DataSetColumn="NumParts" />
<Mapping SourceColumn="NumPainted" DataSetColumn="NumPainted" />
</Mappings>
<Sources>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_SheetStat_resetQuery" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetBatch" Modifier="Public" Name="resetBatch" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="resetBatch">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_SheetStat_resetQuery</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_SheetStat_upsertQuery" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="upsertQuery" Modifier="Public" Name="upsertQuery" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy1" UserSourceName="upsertQuery">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_SheetStat_upsertQuery</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SheetIndex" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@MatID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="numeric" DbType="Decimal" Direction="Input" ParameterName="@WorkArea" Precision="18" ProviderType="Decimal" Scale="3" Size="9" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="numeric" DbType="Decimal" Direction="Input" ParameterName="@TotalArea" Precision="18" ProviderType="Decimal" Scale="3" Size="9" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@NumParts" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@NumPainted" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</Sources>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="BatchStatsTableAdapter" GeneratorDataComponentClassName="BatchStatsTableAdapter" Name="BatchStats" UserDataComponentName="BatchStatsTableAdapter">
<MainSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.BatchStats" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>DELETE FROM [BatchStats] WHERE (([BatchID] = @Original_BatchID))</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO [BatchStats] ([BatchID], [Takt], [AvgYeld], [TotalArea], [NumMat], [NumSheets], [NumModel], [NumKit], [NumParts], [NumPainted]) VALUES (@BatchID, @Takt, @AvgYeld, @TotalArea, @NumMat, @NumSheets, @NumModel, @NumKit, @NumParts, @NumPainted);
SELECT BatchID, Takt, AvgYeld, TotalArea, NumMat, NumSheets, NumModel, NumKit, NumParts, NumPainted FROM BatchStats WHERE (BatchID = @BatchID)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Takt" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Takt" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@AvgYeld" Precision="18" ProviderType="Decimal" Scale="9" Size="0" SourceColumn="AvgYeld" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@TotalArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="TotalArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumMat" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumMat" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumSheets" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumSheets" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumModel" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumModel" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumKit" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumKit" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumParts" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumParts" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumPainted" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumPainted" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</InsertCommand>
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT * FROM BatchStats</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE [BatchStats] SET [BatchID] = @BatchID, [Takt] = @Takt, [AvgYeld] = @AvgYeld, [TotalArea] = @TotalArea, [NumMat] = @NumMat, [NumSheets] = @NumSheets, [NumModel] = @NumModel, [NumKit] = @NumKit, [NumParts] = @NumParts, [NumPainted] = @NumPainted WHERE (([BatchID] = @Original_BatchID));
SELECT BatchID, Takt, AvgYeld, TotalArea, NumMat, NumSheets, NumModel, NumKit, NumParts, NumPainted FROM BatchStats WHERE (BatchID = @BatchID)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Takt" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Takt" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@AvgYeld" Precision="18" ProviderType="Decimal" Scale="9" Size="0" SourceColumn="AvgYeld" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@TotalArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="TotalArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumMat" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumMat" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumSheets" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumSheets" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumModel" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumModel" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumKit" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumKit" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumParts" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumParts" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumPainted" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumPainted" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</UpdateCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="BatchID" DataSetColumn="BatchID" />
<Mapping SourceColumn="Takt" DataSetColumn="Takt" />
<Mapping SourceColumn="AvgYeld" DataSetColumn="AvgYeld" />
<Mapping SourceColumn="TotalArea" DataSetColumn="TotalArea" />
<Mapping SourceColumn="NumMat" DataSetColumn="NumMat" />
<Mapping SourceColumn="NumSheets" DataSetColumn="NumSheets" />
<Mapping SourceColumn="NumModel" DataSetColumn="NumModel" />
<Mapping SourceColumn="NumKit" DataSetColumn="NumKit" />
<Mapping SourceColumn="NumParts" DataSetColumn="NumParts" />
<Mapping SourceColumn="NumPainted" DataSetColumn="NumPainted" />
</Mappings>
<Sources>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_BatchStat_refresh" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="refresh" Modifier="Public" Name="refresh" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="refresh">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_BatchStat_refresh</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</Sources>
</TableAdapter>
</Tables>
<Sources />
</DataSource>
@@ -5218,6 +5417,41 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SheetStats" msprop:Generator_TableClassName="SheetStatsDataTable" msprop:Generator_TableVarName="tableSheetStats" msprop:Generator_RowChangedName="SheetStatsRowChanged" msprop:Generator_TablePropName="SheetStats" msprop:Generator_RowDeletingName="SheetStatsRowDeleting" msprop:Generator_RowChangingName="SheetStatsRowChanging" msprop:Generator_RowEvHandlerName="SheetStatsRowChangeEventHandler" msprop:Generator_RowDeletedName="SheetStatsRowDeleted" msprop:Generator_RowClassName="SheetStatsRow" msprop:Generator_UserTableName="SheetStats" msprop:Generator_RowEvArgName="SheetStatsRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="BatchID" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" />
<xs:element name="SheetIndex" msprop:Generator_ColumnVarNameInTable="columnSheetIndex" msprop:Generator_ColumnPropNameInRow="SheetIndex" msprop:Generator_ColumnPropNameInTable="SheetIndexColumn" msprop:Generator_UserColumnName="SheetIndex" type="xs:int" />
<xs:element name="MatID" msprop:Generator_ColumnVarNameInTable="columnMatID" msprop:Generator_ColumnPropNameInRow="MatID" msprop:Generator_ColumnPropNameInTable="MatIDColumn" msprop:Generator_UserColumnName="MatID" type="xs:int" />
<xs:element name="WorkArea" msprop:Generator_ColumnVarNameInTable="columnWorkArea" msprop:Generator_ColumnPropNameInRow="WorkArea" msprop:Generator_ColumnPropNameInTable="WorkAreaColumn" msprop:Generator_UserColumnName="WorkArea" type="xs:decimal" />
<xs:element name="TotalArea" msprop:Generator_ColumnVarNameInTable="columnTotalArea" msprop:Generator_ColumnPropNameInRow="TotalArea" msprop:Generator_ColumnPropNameInTable="TotalAreaColumn" msprop:Generator_UserColumnName="TotalArea" type="xs:decimal" />
<xs:element name="NumParts" msprop:Generator_ColumnVarNameInTable="columnNumParts" msprop:Generator_ColumnPropNameInRow="NumParts" msprop:Generator_ColumnPropNameInTable="NumPartsColumn" msprop:Generator_UserColumnName="NumParts" type="xs:int" />
<xs:element name="NumPainted" msprop:Generator_ColumnVarNameInTable="columnNumPainted" msprop:Generator_ColumnPropNameInRow="NumPainted" msprop:Generator_ColumnPropNameInTable="NumPaintedColumn" msprop:Generator_UserColumnName="NumPainted" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BatchStats" msprop:Generator_TableClassName="BatchStatsDataTable" msprop:Generator_TableVarName="tableBatchStats" msprop:Generator_RowChangedName="BatchStatsRowChanged" msprop:Generator_TablePropName="BatchStats" msprop:Generator_RowDeletingName="BatchStatsRowDeleting" msprop:Generator_RowChangingName="BatchStatsRowChanging" msprop:Generator_RowEvHandlerName="BatchStatsRowChangeEventHandler" msprop:Generator_RowDeletedName="BatchStatsRowDeleted" msprop:Generator_RowClassName="BatchStatsRow" msprop:Generator_UserTableName="BatchStats" msprop:Generator_RowEvArgName="BatchStatsRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="BatchID" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" />
<xs:element name="Takt" msprop:Generator_ColumnVarNameInTable="columnTakt" msprop:Generator_ColumnPropNameInRow="Takt" msprop:Generator_ColumnPropNameInTable="TaktColumn" msprop:Generator_UserColumnName="Takt">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AvgYeld" msprop:Generator_ColumnVarNameInTable="columnAvgYeld" msprop:Generator_ColumnPropNameInRow="AvgYeld" msprop:Generator_ColumnPropNameInTable="AvgYeldColumn" msprop:Generator_UserColumnName="AvgYeld" type="xs:decimal" />
<xs:element name="TotalArea" msprop:Generator_ColumnVarNameInTable="columnTotalArea" msprop:Generator_ColumnPropNameInRow="TotalArea" msprop:Generator_ColumnPropNameInTable="TotalAreaColumn" msprop:Generator_UserColumnName="TotalArea" type="xs:decimal" />
<xs:element name="NumMat" msprop:Generator_ColumnVarNameInTable="columnNumMat" msprop:Generator_ColumnPropNameInRow="NumMat" msprop:Generator_ColumnPropNameInTable="NumMatColumn" msprop:Generator_UserColumnName="NumMat" type="xs:int" />
<xs:element name="NumSheets" msprop:Generator_ColumnVarNameInTable="columnNumSheets" msprop:Generator_ColumnPropNameInRow="NumSheets" msprop:Generator_ColumnPropNameInTable="NumSheetsColumn" msprop:Generator_UserColumnName="NumSheets" type="xs:int" />
<xs:element name="NumModel" msprop:Generator_ColumnVarNameInTable="columnNumModel" msprop:Generator_ColumnPropNameInRow="NumModel" msprop:Generator_ColumnPropNameInTable="NumModelColumn" msprop:Generator_UserColumnName="NumModel" type="xs:int" />
<xs:element name="NumKit" msprop:Generator_ColumnVarNameInTable="columnNumKit" msprop:Generator_ColumnPropNameInRow="NumKit" msprop:Generator_ColumnPropNameInTable="NumKitColumn" msprop:Generator_UserColumnName="NumKit" type="xs:int" />
<xs:element name="NumParts" msprop:Generator_ColumnVarNameInTable="columnNumParts" msprop:Generator_ColumnPropNameInRow="NumParts" msprop:Generator_ColumnPropNameInTable="NumPartsColumn" msprop:Generator_UserColumnName="NumParts" type="xs:int" />
<xs:element name="NumPainted" msprop:Generator_ColumnVarNameInTable="columnNumPainted" msprop:Generator_ColumnPropNameInRow="NumPainted" msprop:Generator_ColumnPropNameInTable="NumPaintedColumn" msprop:Generator_UserColumnName="NumPainted" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
@@ -5385,6 +5619,15 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
<xs:selector xpath=".//mstns:UpdMan" />
<xs:field xpath="mstns:AppName" />
</xs:unique>
<xs:unique name="SheetStats_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:SheetStats" />
<xs:field xpath="mstns:BatchID" />
<xs:field xpath="mstns:SheetIndex" />
</xs:unique>
<xs:unique name="BatchStats_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:BatchStats" />
<xs:field xpath="mstns:BatchID" />
</xs:unique>
</xs:element>
<xs:annotation>
<xs:appinfo>
+57 -55
View File
@@ -4,53 +4,55 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-24" ViewPortY="-53" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-24" ViewPortY="1372" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:BatchList" ZOrder="3" X="325" Y="437" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:StackList" ZOrder="4" X="618" Y="961" Height="381" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:SheetList" ZOrder="1" X="300" Y="824" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OrderList" ZOrder="14" X="284" Y="61" Height="343" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ItemList" ZOrder="43" X="853" Y="87" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Materials" ZOrder="42" X="1189" Y="105" Height="248" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Bins" ZOrder="12" X="1257" Y="597" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Carts" ZOrder="41" X="592" Y="408" Height="286" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OfflineOrderList" ZOrder="40" X="921" Y="934" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OffOrd2Item" ZOrder="39" X="1023" Y="728" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:KitList" ZOrder="13" X="634" Y="129" Height="248" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Nesting" ZOrder="38" X="863" Y="526" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:ImportLog" ZOrder="37" X="593" Y="701" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BinList" ZOrder="36" X="1256" Y="391" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:FinalKit" ZOrder="35" X="15" Y="525" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:Order2FinalKit" ZOrder="34" X="5" Y="308" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:Counters" ZOrder="33" X="-12" Y="716" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ErrorsLog" ZOrder="32" X="-14" Y="996" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemValidation" ZOrder="31" X="-10" Y="1301" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:PartValidPareto" ZOrder="30" X="316" Y="1303" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UnloadStats" ZOrder="29" X="629" Y="1362" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Remnants" ZOrder="28" X="904" Y="1256" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:CartOnKit" ZOrder="27" X="1251" Y="993" Height="324" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackList" ZOrder="26" X="1248" Y="1319" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:OtherItem" ZOrder="25" X="636" Y="1822" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemSearchDetail" ZOrder="24" X="1468" Y="105" Height="381" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackListDet" ZOrder="23" X="931" Y="1520" Height="343" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackLog" ZOrder="22" X="1224" Y="1751" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:PackCheck" ZOrder="21" X="636" Y="1560" Height="229" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:OKIB" ZOrder="20" X="33" Y="1493" Height="324" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKIB_Sum" ZOrder="19" X="42" Y="1891" Height="362" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI" ZOrder="18" X="334" Y="1485" Height="324" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI_sum" ZOrder="17" X="330" Y="1890" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Pack2Cart" ZOrder="7" X="911" Y="1873" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:CartIRK" ZOrder="16" X="640" Y="2064" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:FileValidation" ZOrder="11" X="499" Y="-21" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:SheetsPreview" ZOrder="15" X="65" Y="839" Height="210" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OrderListTree" ZOrder="10" X="3" Y="-43" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:Places" ZOrder="5" X="862" Y="2175" Height="172" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:StatusLog" ZOrder="8" X="1116" Y="2180" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:StatusDecode" ZOrder="6" X="849" Y="2353" Height="172" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UpdMan" ZOrder="2" X="345" Y="2309" Height="191" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:BatchList" ZOrder="5" X="325" Y="437" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:StackList" ZOrder="6" X="618" Y="961" Height="381" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:SheetList" ZOrder="3" X="300" Y="824" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OrderList" ZOrder="16" X="284" Y="61" Height="343" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ItemList" ZOrder="45" X="853" Y="87" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Materials" ZOrder="44" X="1189" Y="105" Height="248" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Bins" ZOrder="14" X="1257" Y="597" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Carts" ZOrder="43" X="592" Y="408" Height="286" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OfflineOrderList" ZOrder="42" X="921" Y="934" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OffOrd2Item" ZOrder="41" X="1023" Y="728" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:KitList" ZOrder="15" X="634" Y="129" Height="248" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Nesting" ZOrder="40" X="863" Y="526" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:ImportLog" ZOrder="39" X="593" Y="701" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BinList" ZOrder="38" X="1256" Y="391" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:FinalKit" ZOrder="37" X="15" Y="525" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:Order2FinalKit" ZOrder="36" X="5" Y="308" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:Counters" ZOrder="35" X="-12" Y="716" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ErrorsLog" ZOrder="34" X="-14" Y="996" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemValidation" ZOrder="33" X="-10" Y="1301" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:PartValidPareto" ZOrder="32" X="316" Y="1303" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UnloadStats" ZOrder="31" X="629" Y="1362" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Remnants" ZOrder="30" X="904" Y="1256" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:CartOnKit" ZOrder="29" X="1251" Y="993" Height="324" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackList" ZOrder="28" X="1248" Y="1319" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:OtherItem" ZOrder="27" X="636" Y="1822" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemSearchDetail" ZOrder="26" X="1468" Y="105" Height="381" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackListDet" ZOrder="25" X="931" Y="1520" Height="343" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackLog" ZOrder="24" X="1224" Y="1751" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:PackCheck" ZOrder="23" X="636" Y="1560" Height="229" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:OKIB" ZOrder="22" X="33" Y="1493" Height="324" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKIB_Sum" ZOrder="21" X="42" Y="1891" Height="362" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI" ZOrder="20" X="334" Y="1485" Height="324" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI_sum" ZOrder="19" X="330" Y="1890" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Pack2Cart" ZOrder="9" X="911" Y="1873" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:CartIRK" ZOrder="18" X="640" Y="2064" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:FileValidation" ZOrder="13" X="499" Y="-21" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:SheetsPreview" ZOrder="17" X="65" Y="839" Height="210" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OrderListTree" ZOrder="12" X="3" Y="-43" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:Places" ZOrder="7" X="862" Y="2175" Height="172" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:StatusLog" ZOrder="10" X="1116" Y="2180" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:StatusDecode" ZOrder="8" X="849" Y="2353" Height="172" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UpdMan" ZOrder="4" X="636" Y="2374" Height="191" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:SheetStats" ZOrder="1" X="20" Y="2307" Height="248" Width="239" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BatchStats" ZOrder="2" X="301" Y="2284" Height="286" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
</Shapes>
<Connectors>
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="54" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="56" LineWidth="11">
<RoutePoints>
<Point>
<X>1189</X>
@@ -62,7 +64,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="53" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="55" LineWidth="11">
<RoutePoints>
<Point>
<X>1028</X>
@@ -74,7 +76,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="52" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="54" LineWidth="11">
<RoutePoints>
<Point>
<X>828</X>
@@ -86,7 +88,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="51" LineWidth="11">
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="53" LineWidth="11">
<RoutePoints>
<Point>
<X>1116</X>
@@ -102,7 +104,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="49" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="51" LineWidth="11">
<RoutePoints>
<Point>
<X>721</X>
@@ -114,7 +116,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="50" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="52" LineWidth="11">
<RoutePoints>
<Point>
<X>482</X>
@@ -126,7 +128,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="46" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="48" LineWidth="11">
<RoutePoints>
<Point>
<X>1113</X>
@@ -138,7 +140,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="48" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="50" LineWidth="11">
<RoutePoints>
<Point>
<X>1364</X>
@@ -150,7 +152,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="47" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="49" LineWidth="11">
<RoutePoints>
<Point>
<X>1153</X>
@@ -162,7 +164,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="45" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="47" LineWidth="11">
<RoutePoints>
<Point>
<X>115</X>
@@ -174,7 +176,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="44" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="46" LineWidth="11">
<RoutePoints>
<Point>
<X>284</X>
@@ -186,7 +188,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="9" LineWidth="11">
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="11" LineWidth="11">
<RoutePoints>
<Point>
<X>1042</X>
+10 -4
View File
@@ -12,6 +12,7 @@ namespace AppData
public DS_AppTableAdapters.BatchListTableAdapter taBL;
public DS_AppTableAdapters.BinsTableAdapter taBN;
public DS_AppTableAdapters.BinListTableAdapter taBNLS;
public DS_AppTableAdapters.BatchStatsTableAdapter taBStats;
public DS_AppTableAdapters.CartsTableAdapter taCL;
public DS_AppTableAdapters.CartOnKitTableAdapter taCOK;
public DS_AppTableAdapters.CountersTableAdapter taCount;
@@ -52,12 +53,13 @@ namespace AppData
public DS_ReportTableAdapters.stp_prt_OtherPartTableAdapter taRepOtherPart;
public DS_ReportTableAdapters.stp_prt_PartTableAdapter taRepPart;
public DS_AppTableAdapters.SheetListTableAdapter taSHL;
public DS_AppTableAdapters.SheetStatsTableAdapter taShStats;
public DS_AppTableAdapters.SheetsPreviewTableAdapter taSP;
public DS_AppTableAdapters.StatusDecodeTableAdapter taStatDec;
public DS_AppTableAdapters.StatusLogTableAdapter taStatLog;
public DS_AppTableAdapters.StackListTableAdapter taSTL;
public DS_AppTableAdapters.UpdManTableAdapter taUpdMan;
public DS_AppTableAdapters.UnloadStatsTableAdapter taUS;
public DS_AppTableAdapters.UnloadStatsTableAdapter taUStat;
#endregion Public Fields
@@ -160,6 +162,7 @@ namespace AppData
taBL = new DS_AppTableAdapters.BatchListTableAdapter();
taBN = new DS_AppTableAdapters.BinsTableAdapter();
taBNLS = new DS_AppTableAdapters.BinListTableAdapter();
taBStats = new DS_AppTableAdapters.BatchStatsTableAdapter();
taCL = new DS_AppTableAdapters.CartsTableAdapter();
taCOK = new DS_AppTableAdapters.CartOnKitTableAdapter();
taCount = new DS_AppTableAdapters.CountersTableAdapter();
@@ -204,8 +207,9 @@ namespace AppData
taRepOtherPart = new DS_ReportTableAdapters.stp_prt_OtherPartTableAdapter();
taRepIRK = new DS_ReportTableAdapters.stp_prt_IRKTableAdapter();
taRepIRKSum = new DS_ReportTableAdapters.stp_prt_IRK_SumTableAdapter();
taUS = new DS_AppTableAdapters.UnloadStatsTableAdapter();
taShStats = new DS_AppTableAdapters.SheetStatsTableAdapter();
taUpdMan = new DS_AppTableAdapters.UpdManTableAdapter();
taUStat = new DS_AppTableAdapters.UnloadStatsTableAdapter();
}
private void setupConnString()
@@ -214,6 +218,7 @@ namespace AppData
taBL.Connection.ConnectionString = connString;
taBN.Connection.ConnectionString = connString;
taBNLS.Connection.ConnectionString = connString;
taBStats.Connection.ConnectionString = connString;
taCL.Connection.ConnectionString = connString;
taCOK.Connection.ConnectionString = connString;
taCount.Connection.ConnectionString = connString;
@@ -258,7 +263,8 @@ namespace AppData
taRepOtherPart.Connection.ConnectionString = connString;
taRepIRK.Connection.ConnectionString = connString;
taRepIRKSum.Connection.ConnectionString = connString;
taUS.Connection.ConnectionString = connString;
taShStats.Connection.ConnectionString = connString;
taUStat.Connection.ConnectionString = connString;
taUpdMan.Connection.ConnectionString = connString;
}
@@ -476,7 +482,7 @@ namespace AppData
if (!trovato)
{
// se non trovo leggo
answ = taUS.GetData(BatchID, StatLevel);
answ = taUStat.GetData(BatchID, StatLevel);
rawData = JsonConvert.SerializeObject(answ);
// salvo in redis
memLayer.ML.setRSV(redKey, rawData, cacheDataTTL);
+7 -7
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Il codice è stato generato da uno strumento.
// Versione runtime:4.0.30319.42000
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
// il codice viene rigenerato.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@@ -12,7 +12,7 @@ namespace AppData.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.2.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -26,8 +26,8 @@ namespace AppData.Properties {
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=10.74.82.14;Initial Catalog=Sauder_NKC;Persist Security Info=True;Use" +
"r ID=conn_NKC;Password=pwd_NKC")]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User" +
" ID=sa;Password=keyhammer16")]
public string Sauder_NKCConnectionString {
get {
return ((string)(this["Sauder_NKCConnectionString"]));
+2 -2
View File
@@ -5,10 +5,10 @@
<Setting Name="Sauder_NKCConnectionString" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
&lt;ConnectionString&gt;Data Source=10.74.82.14;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC&lt;/ConnectionString&gt;
&lt;ConnectionString&gt;Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16&lt;/ConnectionString&gt;
&lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=10.74.82.14;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC</Value>
<Value Profile="(Default)">Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16</Value>
</Setting>
</Settings>
</SettingsFile>
+71 -69
View File
@@ -1,72 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="AppData.Properties.Settings.Sauder_NKCConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" providerName="System.Data.SqlClient" />
</connectionStrings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.28.3.0" newVersion="0.28.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574bb5573c51424" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.2.10" newVersion="1.3.2.10" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<configSections>
</configSections>
<connectionStrings>
<add name="AppData.Properties.Settings.Sauder_NKCConnectionString"
connectionString="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16"
providerName="System.Data.SqlClient" />
</connectionStrings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.28.3.0" newVersion="0.28.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574bb5573c51424" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.2.10" newVersion="1.3.2.10" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
+89 -4
View File
@@ -3,12 +3,12 @@
<Version>10</Version>
<SourceModelProvider>
<ConnectionBasedModelProvider>
<ConnectionString>Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False</ConnectionString>
<ConnectionString>Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False</ConnectionString>
</ConnectionBasedModelProvider>
</SourceModelProvider>
<TargetModelProvider>
<ConnectionBasedModelProvider>
<ConnectionString>Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC_Prod;Persist Security Info=True;User ID=sa;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False</ConnectionString>
<ConnectionString>Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC2_Prod;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False</ConnectionString>
</ConnectionBasedModelProvider>
</TargetModelProvider>
<SchemaCompareSettingsService>
@@ -35,6 +35,10 @@
<Name>BackupDatabaseBeforeChanges</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>IgnoreIndexesStatisticsOnEnclaveEnabledColumns</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>BlockOnPossibleDataLoss</Name>
<Value>True</Value>
@@ -63,6 +67,10 @@
<Name>DisableAndReenableDdlTriggers</Name>
<Value>True</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DisableIndexesForDataPhase</Name>
<Value>True</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotAlterChangeDataCaptureObjects</Name>
<Value>True</Value>
@@ -107,6 +115,10 @@
<Name>GenerateSmartDefaults</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>HashObjectNamesInLogs</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>IgnoreDdlTriggerOrder</Name>
<Value>False</Value>
@@ -267,10 +279,22 @@
<Name>PopulateFilesOnFileGroups</Name>
<Value>True</Value>
</PropertyElementName>
<PropertyElementName>
<Name>PreserveIdentityLastValues</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>RegisterDataTierApplication</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>RebuildIndexesOfflineForDataPhase</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>RestoreSequenceCurrentValue</Name>
<Value>True</Value>
</PropertyElementName>
<PropertyElementName>
<Name>ScriptDatabaseCollation</Name>
<Value>False</Value>
@@ -301,11 +325,11 @@
</PropertyElementName>
<PropertyElementName>
<Name>TargetDatabaseName</Name>
<Value>Sauder_NKC_Prod</Value>
<Value>Sauder_NKC2_Prod</Value>
</PropertyElementName>
<PropertyElementName>
<Name>TargetConnectionString</Name>
<Value>Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC_Prod;Persist Security Info=True;User ID=sa;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False;Application Name="Microsoft SQL Server Data Tools, Schema Compare"</Value>
<Value>Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC2_Prod;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False;Application Name="Microsoft SQL Server Data Tools, Schema Compare"</Value>
</PropertyElementName>
<PropertyElementName>
<Name>TreatVerificationErrorsAsWarnings</Name>
@@ -331,6 +355,10 @@
<Name>AllowDropBlockingAssemblies</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotEvaluateSqlCmdVariables</Name>
<Value>True</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropAggregates</Name>
<Value>False</Value>
@@ -399,6 +427,22 @@
<Name>DoNotDropDatabaseTriggers</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>IgnoreDatabaseWorkloadGroups</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropDatabaseWorkloadGroups</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>IgnoreWorkloadClassifiers</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropWorkloadClassifiers</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropDefaults</Name>
<Value>False</Value>
@@ -431,10 +475,18 @@
<Name>DoNotDropExternalFileFormats</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropExternalStreamingJobs</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropExternalTables</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropExternalStreams</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropFilegroups</Name>
<Value>False</Value>
@@ -675,10 +727,18 @@
<Name>ExcludeExternalFileFormats</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>ExcludeExternalStreamingJobs</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>ExcludeExternalTables</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>ExcludeExternalStreams</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>ExcludeEventSessions</Name>
<Value>True</Value>
@@ -943,5 +1003,30 @@
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlUser, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>conn_NKC</Name>
</SelectedItem>
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlTable, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>dbo</Name>
<Name>ControlloDefrag</Name>
</SelectedItem>
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlExtendedProperty, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>SqlTableBase</Name>
<Name>dbo</Name>
<Name>ControlloDefrag</Name>
<Name>Note</Name>
</SelectedItem>
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlTable, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>dbo</Name>
<Name>BatchReqList_OLD</Name>
</SelectedItem>
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlExtendedProperty, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>SqlColumn</Name>
<Name>dbo</Name>
<Name>BatchReqList_OLD</Name>
<Name>OrdID</Name>
<Name>MS_Description</Name>
</SelectedItem>
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlPrimaryKeyConstraint, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>dbo</Name>
<Name>PK_BatchReqList</Name>
</SelectedItem>
</ExcludedTargetElements>
</SchemaComparison>
Vendored
+5 -5
View File
@@ -186,8 +186,8 @@ pipeline {
// lancio upload con nuget!
echo 'Start upload with nuget push'
bat "e:\\nuget setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted"
bat "e:\\nuget.exe push NKC_SDK.${env.packVers}.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted"
bat "e:\\nuget setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source https://nexus.steamware.net/repository/nuget-hosted"
bat "e:\\nuget.exe push NKC_SDK.${env.packVers}.nupkg -Source https://nexus.steamware.net/repository/nuget-hosted"
}
else
{
@@ -277,16 +277,16 @@ def sendSlack(status, colorCode) {
// funzione x fix pacchetti nuget da NOSTRO repo Nexus con proxy
def fixNuget(solutionFile) {
// bat "e:\\nuget setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-group"
// bat "e:\\nuget setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source https://nexus.steamware.net/repository/nuget-group"
// solo la prima volta va aggiunta...
hasSource = bat "e:\\nuget sources list | find \"Steamware\" /C"
if (hasSource == "0")
{
bat "e:\\nuget sources Add -Name \"Steamware Nexus\" -Source http://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
bat "e:\\nuget sources Add -Name \"Steamware Nexus\" -Source https://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
}
else
{
bat "e:\\nuget sources Update -Name \"Steamware Nexus\" -Source http://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
bat "e:\\nuget sources Update -Name \"Steamware Nexus\" -Source https://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
}
bat "e:\\nuget.exe restore ${solutionFile}"
}
+1 -1
View File
@@ -35,7 +35,7 @@
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net40\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.7.10\lib\net40-client\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.11\lib\net40-client\NLog.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
+6
View File
@@ -2763,6 +2763,7 @@
<xs:element name="proxyAddress" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="url" minOccurs="0" maxOccurs="1" type="xs:anyURI" />
<xs:element name="userAgent" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="escapeDataNLogLegacy" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="escapeDataRfc3986" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="preAuthenticate" minOccurs="0" maxOccurs="1" type="xs:boolean" />
@@ -2816,6 +2817,11 @@
<xs:documentation>Web service URL.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="userAgent" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Value of the User-agent HTTP header.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="escapeDataNLogLegacy" type="xs:boolean">
<xs:annotation>
<xs:documentation>Value whether escaping be done according to the old NLog style (Very non-standard)</xs:documentation>
+20 -11
View File
@@ -94,6 +94,11 @@ namespace NKC_SDK
/// </summary>
public int MaxTime { get; set; }
/// <summary>
/// Indice di aprtenza (per carrelli, bins...)
/// </summary>
public int NumIndexStart { get; set; } = 1;
/// <summary>
/// Elenco ordini richiesti da processare / nestare
/// </summary>
@@ -114,12 +119,6 @@ namespace NKC_SDK
/// </summary>
public int ProcType { get; set; }
/// <summary>
/// Indice di aprtenza (per carrelli, bins...)
/// </summary>
public int NumIndexStart { get; set; } = 1;
#endregion Public Properties
}
@@ -342,11 +341,21 @@ namespace NKC_SDK
/// </summary>
public int BinIndex { get; set; } = 0;
/// <summary>
/// Codice ITEM esterno da cliente (HFA)
/// </summary>
public string PartExtCode { get; set; } = "";
/// <summary>
/// Elenco dei PART/ITEM dell'Ordine
/// </summary>
public List<Part> PartList { get; set; }
/// <summary>
/// Revisione ITEM esterno da cliente (HFA)
/// </summary>
public string PartRev { get; set; } = "";
#endregion Public Properties
}
@@ -750,11 +759,6 @@ namespace NKC_SDK
/// </summary>
public string PartExtCode { get; set; } = "";
/// <summary>
/// Revisione ITEM esterno da cliente (HFA)
/// </summary>
public string PartRev { get; set; } = "";
/// <summary>
/// Cod ITEM di NKC
/// </summary>
@@ -765,6 +769,11 @@ namespace NKC_SDK
/// </summary>
public int PartQty { get; set; }
/// <summary>
/// Revisione ITEM esterno da cliente (HFA)
/// </summary>
public string PartRev { get; set; } = "";
#endregion Public Properties
}
+3 -3
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net40" />
<package id="NLog" version="4.7.10" targetFramework="net40" />
<package id="NLog.Config" version="4.7.10" targetFramework="net40" />
<package id="NLog.Schema" version="4.7.10" targetFramework="net40" />
<package id="NLog" version="4.7.11" targetFramework="net40" />
<package id="NLog.Config" version="4.7.11" targetFramework="net40" />
<package id="NLog.Schema" version="4.7.11" targetFramework="net40" />
</packages>
+1 -1
View File
@@ -48,7 +48,7 @@ namespace NKC_WF
/// <param name="message"></param>
public void lgFatal(string message, Exception exc)
{
logger.lg.scriviLog(message, tipoLog.FATAL);
logger.lg.scriviLog($"{message}{Environment.NewLine}{exc}", tipoLog.FATAL);
}
/// <summary>
+2 -2
View File
@@ -22,7 +22,7 @@ namespace NKC_WF
/// <summary>
/// Codice macchina (da v2)
/// </summary>
public string PlaceCod = "WRK001";
public string PlaceCod = "VIRTNE";
#endregion Public Fields
@@ -206,7 +206,7 @@ namespace NKC_WF
/// <param name="message"></param>
public void lgFatal(string message, Exception exc)
{
logger.lg.scriviLog(message, tipoLog.FATAL);
logger.lg.scriviLog($"{message}{Environment.NewLine}{exc}", tipoLog.FATAL);
}
/// <summary>
+16 -9
View File
@@ -5,6 +5,7 @@ namespace NKC_WF
{
public static class Compressor
{
#region Public Methods
public static byte[] Compress(byte[] data)
{
@@ -18,22 +19,28 @@ namespace NKC_WF
public static byte[] Decompress(byte[] data)
{
byte[] answ = new byte[1];
MemoryStream input = new MemoryStream();
input.Write(data, 0, data.Length);
input.Position = 0;
GZipStream gzip = new GZipStream(input,
CompressionMode.Decompress, true);
MemoryStream output = new MemoryStream();
byte[] buff = new byte[64];
int read = -1;
read = gzip.Read(buff, 0, buff.Length);
while (read > 0)
using (MemoryStream output = new MemoryStream())
{
output.Write(buff, 0, read);
byte[] buff = new byte[64];
int read = -1;
read = gzip.Read(buff, 0, buff.Length);
while (read > 0)
{
output.Write(buff, 0, read);
read = gzip.Read(buff, 0, buff.Length);
}
gzip.Close();
answ = output.ToArray();
}
gzip.Close();
return output.ToArray();
return answ;
}
#endregion Public Methods
}
}
}
+10 -4
View File
@@ -3,6 +3,7 @@ using Newtonsoft.Json;
using NKC_SDK;
using SteamWare;
using System;
using System.Diagnostics;
using System.IO;
using System.Web.Http;
@@ -135,7 +136,7 @@ namespace NKC_WF.Controllers
* - è BatchReq / OfflineOrder
* - è stima iniziale o NEST dettagliato
* - si tratta di una stima di validazione ITEM ...
*
*
* 2021.07.21: aggiunto controllo coerenza risposta: accetto solo se sono in stato di richiesta (se ho annullato in precedenza scarto la risposta)
*
*************************************************/
@@ -453,8 +454,6 @@ namespace NKC_WF.Controllers
}
else
{
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveNestAnsw(rispNest);
@@ -512,6 +511,13 @@ namespace NKC_WF.Controllers
}
isSplitReq = ComLib.checkSendBatchSplit(rispNest.BatchID);
// effettuo calcolo statistiche
Stopwatch stopWatchLap = new Stopwatch();
stopWatchLap.Start();
ComLib.man.updateSheetStatsByBatch(rispNest.BatchID);
stopWatchLap.Stop();
Log.Instance.Info($"Batch Stat Calculation after NEST answ | BatchID: {rispNest.BatchID} | elapsed {stopWatchLap.Elapsed.TotalMilliseconds} ms");
}
// registro OK
@@ -570,7 +576,7 @@ namespace NKC_WF.Controllers
answ = "WRONG DATA (expected baseNestAnsw object)";
}
}
catch (Exception exc)
catch
{
answ = "NO";
}
+14 -18
View File
@@ -30,7 +30,7 @@
<UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TypeScriptToolsVersion>3.4</TypeScriptToolsVersion>
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -100,14 +100,14 @@
<Reference Include="MongoDB.Driver.Core, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.13.1\lib\net452\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.2.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.2.2\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
<Reference Include="MongoDB.Libmongocrypt, Version=1.2.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.2.3\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.7.10\lib\net45\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.11\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="PdfSharp, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.dll</HintPath>
@@ -118,8 +118,8 @@
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.0\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="SharpCompress, Version=0.28.3.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.28.3\lib\netstandard2.0\SharpCompress.dll</HintPath>
<Reference Include="SharpCompress, Version=0.29.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.29.0\lib\netstandard2.0\SharpCompress.dll</HintPath>
</Reference>
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath>
@@ -127,11 +127,11 @@
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.2.62\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare, Version=5.1.2108.1911, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.1.2108.1911\lib\net462\SteamWare.dll</HintPath>
<Reference Include="SteamWare, Version=5.1.2109.1713, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.1.2109.1713\lib\net462\SteamWare.dll</HintPath>
</Reference>
<Reference Include="SteamWare.Logger, Version=5.1.2108.1911, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.1.2108.1911\lib\net462\SteamWare.Logger.dll</HintPath>
<Reference Include="SteamWare.Logger, Version=5.1.2109.1713, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.1.2109.1713\lib\net462\SteamWare.Logger.dll</HintPath>
</Reference>
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
@@ -310,8 +310,6 @@
<Content Include="Images\999999999.svg" />
<Content Include="Images\LogoEgalware.png" />
<Content Include="Images\test.svg" />
<Content Include="libzstd.dll" />
<Content Include="mongocrypt.dll" />
<Content Include="Resources\ChangeLog.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
@@ -476,8 +474,6 @@
<Content Include="site\StackManager.aspx" />
<Content Include="site\Unauth.aspx" />
<Content Include="site\UpdMan.aspx" />
<Content Include="snappy32.dll" />
<Content Include="snappy64.dll" />
<Content Include="WebUserControls\cmp_barcode.ascx" />
<Content Include="WebUserControls\cmp_batchDetail.ascx" />
<Content Include="WebUserControls\cmp_batchDetailData.ascx" />
@@ -1898,9 +1894,9 @@
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>61257</DevelopmentServerPort>
<DevelopmentServerPort>44388</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>https://localhost:44388/</IISUrl>
<IISUrl>https://localhost:44393/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
@@ -1926,8 +1922,8 @@
<Error Condition="!Exists('..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.2.3\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.2.3\build\MongoDB.Libmongocrypt.targets'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
@@ -1955,6 +1951,6 @@
<Import Project="..\packages\Microsoft.NetCore.Analyzers.3.3.2\build\Microsoft.NetCore.Analyzers.targets" Condition="Exists('..\packages\Microsoft.NetCore.Analyzers.3.3.2\build\Microsoft.NetCore.Analyzers.targets')" />
<Import Project="..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.targets" Condition="Exists('..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.targets')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.targets" Condition="Exists('..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.2.3\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.2.3\build\MongoDB.Libmongocrypt.targets')" />
</Project>
+4 -4
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>0.0.0.0</version>
<url>http://seriate.steamware.net:8083/SWS/NKC/{{BRANCHNAME}}/{{PACKNAME}}.zip</url>
<changelog>http://seriate.steamware.net:8083/SWS/NKC/{{BRANCHNAME}}/ChangeLog.html</changelog>
<mandatory>false</mandatory>
<version>0.0.0.0</version>
<url>https://nexus.steamware.net/repository/SWS/NKC/{{BRANCHNAME}}/LAST/NKC.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/NKC/{{BRANCHNAME}}/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
</item>
+2 -1
View File
@@ -78,6 +78,7 @@
<!--minima durata x validità in stima PARTS singole -->
<add key="minValidEstSec" value="2"/>
<!--Configurazioni Redis-->
<add key="cacheOnRedis" value="true"/>
<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="2"/>
@@ -378,7 +379,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.28.3.0" newVersion="0.28.3.0"/>
<bindingRedirect oldVersion="0.0.0.0-0.29.0.0" newVersion="0.29.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral"/>
@@ -172,7 +172,7 @@ namespace NKC_WF.WebUserControls
totPartNum += sheet.PartList.Count;
num = sheet.SurfaceWork > 0 ? sheet.SurfaceWork : 0;
den = sheet.SurfaceTotal > 0 ? sheet.SurfaceTotal : 1;
currRatio = ratioProt(num, den);
currRatio = ComLib.ratioProt(num, den);
workRatio.Add(currRatio);
if (!materialsList.Contains(sheet.MatId))
{
@@ -258,18 +258,6 @@ namespace NKC_WF.WebUserControls
{
}
/// <summary>
/// Effettua divisione evitando zeri a den...
/// </summary>
/// <param name="num"></param>
/// <param name="den"></param>
/// <returns></returns>
protected double ratioProt(double num, double den)
{
den = den == 0 ? 1 : den;
return num / den;
}
#endregion Protected Methods
}
}
@@ -12,15 +12,6 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_batchDetailSplit : BaseUserControl
{
#region Protected Fields
/// <summary>
/// Master Place (hard-coded)
/// </summary>
protected string PlaceCod = "VIRTNE";
#endregion Protected Fields
#region Protected Properties
protected bool BatchIsAncestor
@@ -59,20 +50,6 @@ namespace NKC_WF.WebUserControls
}
}
public bool isSplitted
{
get
{
bool answ = false;
bool.TryParse(hfIsSplit.Value, out answ);
return answ;
}
set
{
hfIsSplit.Value = $"{value}";
}
}
protected int lastValRatio
{
get
@@ -192,6 +169,20 @@ namespace NKC_WF.WebUserControls
}
}
public bool isSplitted
{
get
{
bool answ = false;
bool.TryParse(hfIsSplit.Value, out answ);
return answ;
}
set
{
hfIsSplit.Value = $"{value}";
}
}
#endregion Public Properties
#region Private Methods
+42 -17
View File
@@ -1,20 +1,45 @@
<%@ 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">
<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> <%: traduci ("reset") %></b><br /> Stack building</span> </asp:LinkButton>
<div class="row">
<div class="col-4">
<div class="card">
<div class="card-header">
<h4>Batch Stats</h4>
</div>
<div class="card-body">
<div class="col">
<asp:LinkButton runat="server" ID="lbtRedoStats" class="shortcut" OnClientClick='return confirm("Sicuro di voler recuperare e ricalcolare i dati di stats x Sheets & Batch?")' OnClick="lbtRedoStats_Click"> <i class="fa fa-bar-chart shortcut-icon"></i><span class="shortcut-label"><b>Calc</b><br /> Stats (Re)Build</span> </asp:LinkButton>
</div>
<asp:Label runat="server" ID="lblMsgOut" CssClass="small" />
</div>
<div class="card-footer">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><span class="small">Batch</span></span>
</div>
<asp:TextBox runat="server" ID="txtNumBatch" TextMode="Number" CssClass="form-control" Text="1" ToolTip="Batch # (0=all)" Placeholder="Batch # (0=all)" />
</div>
</div>
</div>
</div>
<div class="col-8">
<div class="row">
<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> <%: traduci ("reset") %></b><br /> Stack building</span> </asp:LinkButton>
</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> <%: traduci ("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># <%: traduci ("Save") %></b><br /> LAST Call</span> </asp:LinkButton>
</div>
<div class="col">
<asp:HyperLink runat="server" ID="hlDbgQrCode" NavigateUrl="../site/DBG_QRCode_Unload" Target="_blank" class="shortcut"><i class="fa fa-qrcode shortcut-icon"></i><span class="shortcut-label"><b> <%: traduci ("Debug") %></b><br /> QRCode</span></asp:HyperLink>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtResetProd" class="shortcut" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di PROD? I fogli (batch hard coded) torneranno tutti in stato zero e non ancora stampati...")' OnClick="lbtResetProd_Click"> <i class="fa fa-wrench shortcut-icon"></i><span class="shortcut-label"><b># <%: traduci ("reset") %></b><br /> PROD call</span> </asp:LinkButton>
</div>
</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> <%: traduci ("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># <%: traduci ("Save") %></b><br /> LAST Call</span> </asp:LinkButton>
</div>
<div class="col">
<asp:HyperLink runat="server" ID="hlDbgQrCode" NavigateUrl="../site/DBG_QRCode_Unload" Target="_blank" class="shortcut"><i class="fa fa-qrcode shortcut-icon"></i><span class="shortcut-label"><b> <%: traduci ("Debug") %></b><br /> QRCode</span></asp:HyperLink>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtResetProd" class="shortcut" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di PROD? I fogli (batch hard coded) torneranno tutti in stato zero e non ancora stampati...")' OnClick="lbtResetProd_Click" > <i class="fa fa-wrench shortcut-icon"></i><span class="shortcut-label"><b># <%: traduci ("reset") %></b><br /> PROD call</span> </asp:LinkButton>
</div>
</div>
</div>
</div>
@@ -2,13 +2,67 @@
using Newtonsoft.Json;
using NKC_SDK;
using System;
using System.Diagnostics;
namespace NKC_WF.WebUserControls
{
public partial class cmp_devUtils : BaseUserControl
{
#region Protected Properties
protected int BatchID
{
get
{
int answ = -1;
int.TryParse(txtNumBatch.Text, out answ);
return answ;
}
set
{
txtNumBatch.Text = $"{value}";
}
}
#endregion Protected Properties
#region Protected Methods
protected void lbtRedoStats_Click(object sender, EventArgs e)
{
Stopwatch stopWatchTotal = new Stopwatch();
Stopwatch stopWatchLap = new Stopwatch();
stopWatchTotal.Start();
int numBatch = 0;
// ricalcolo per singolo batch o per tutti i batch (rich 0) le statistiche
if (BatchID > 0)
{
numBatch++;
stopWatchLap.Restart();
ComLib.man.updateSheetStatsByBatch(BatchID);
stopWatchLap.Stop();
Log.Instance.Info($"Batch Recalculation | BatchID: {BatchID} | elapsed {stopWatchLap.Elapsed.TotalMilliseconds} ms");
}
else
{
// ciclo su tutti
DataLayer DLMan = new DataLayer();
var batchList = DLMan.taBL.GetData();
foreach (var batch in batchList)
{
numBatch++;
stopWatchLap.Restart();
ComLib.man.updateSheetStatsByBatch(batch.BatchID);
stopWatchLap.Stop();
Log.Instance.Info($"Batch Recalculation | BatchID: {batch.BatchID} | elapsed {stopWatchLap.Elapsed.TotalMilliseconds} ms");
}
}
stopWatchTotal.Stop();
string outMsg = $"Done! # Batch: {numBatch} | elapsed {stopWatchTotal.Elapsed.TotalSeconds:N3} sec";
Log.Instance.Info(outMsg);
lblMsgOut.Text = outMsg;
}
protected void lbtResetNest_Click(object sender, EventArgs e)
{
DLMan.taBL.resetNesting(-9999);
+47 -20
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls
@@ -15,47 +15,74 @@ namespace NKC_WF.WebUserControls
{
/// <summary>
/// Controllo lbtResetStackBuild.
/// lbtRedoStats control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtRedoStats;
/// <summary>
/// lblMsgOut control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMsgOut;
/// <summary>
/// txtNumBatch control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtNumBatch;
/// <summary>
/// lbtResetStackBuild control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtResetStackBuild;
/// <summary>
/// Controllo lbtResetNest.
/// lbtResetNest control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtResetNest;
/// <summary>
/// Controllo lbtSaveLastAnsw.
/// lbtSaveLastAnsw control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtSaveLastAnsw;
/// <summary>
/// Controllo hlDbgQrCode.
/// hlDbgQrCode control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink hlDbgQrCode;
/// <summary>
/// Controllo lbtResetProd.
/// lbtResetProd control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtResetProd;
}
@@ -4,6 +4,7 @@
<asp:HiddenField runat="server" ID="hfForceRedirect" />
<asp:HiddenField runat="server" ID="hfFilePrefix" />
<asp:HiddenField runat="server" ID="hfFileSuffix" />
<asp:HiddenField runat="server" ID="hfChkBatchApp" />
<div id="divFileUpl" runat="server" class="d-flex flex-row-reverse">
<div class="px-2">
<asp:LinkButton ID="lbtCancel" runat="server" Text="Annulla" OnClick="btnCancel_Click" CssClass="btn btn-warning form-control"><%: traduci("cancel") %> <i class="fa fa-ban" aria-hidden="true"></i></asp:LinkButton>
+41 -11
View File
@@ -36,6 +36,20 @@ namespace NKC_WF.WebUserContols
#region Public Properties
public bool checkBatchAppr
{
get
{
bool answ = true;
bool.TryParse(hfChkBatchApp.Value, out answ);
return answ;
}
set
{
hfChkBatchApp.Value = value.ToString();
}
}
/// <summary>
/// Prefisso file abilitato
/// </summary>
@@ -169,6 +183,7 @@ namespace NKC_WF.WebUserContols
protected void Upload(object sender, EventArgs e)
{
bool checkFileOk = true;
string uplFileName = "";
string uploadedFilename = "";
string batchName = "";
@@ -210,19 +225,34 @@ namespace NKC_WF.WebUserContols
}
else
{
contentType = FileUpload1.PostedFile.ContentType;
// accedo allo stream del file allegato
using (Stream fs = FileUpload1.PostedFile.InputStream)
// se richiesto controllo duplicati
if (checkBatchAppr)
{
// scrivo su file
FileStream file = new FileStream(savedFilename, FileMode.Create, FileAccess.Write);
fs.CopyTo(file);
file.Close();
// log!
logger.lg.scriviLog($"Effettuato salvataggio file {uploadedFilename} come {savedFilename}");
// controllo se ci sia un batch duplicato
checkFileOk = DLMan.taBL.getApprovedByTakt(batchName).Count == 0;
}
if (!checkFileOk)
{
divMessagge.Visible = true;
lblMessage.Text = $"{traduci("Error_BatchIsApproved")}";
}
else
{
contentType = FileUpload1.PostedFile.ContentType;
// accedo allo stream del file allegato
using (Stream fs = FileUpload1.PostedFile.InputStream)
{
// scrivo su file
FileStream file = new FileStream(savedFilename, FileMode.Create, FileAccess.Write);
fs.CopyTo(file);
file.Close();
// log!
logger.lg.scriviLog($"Effettuato salvataggio file {uploadedFilename} come {savedFilename}");
}
// segnaloc he ho CARICATO IN LOCALE il file
reportFileUploaded(new FileUploadEventArgs(dirFrom, uplFileName, batchName));
}
// segnaloc he ho CARICATO IN LOCALE il file
reportFileUploaded(new FileUploadEventArgs(dirFrom, uplFileName, batchName));
}
}
}
+9
View File
@@ -50,6 +50,15 @@ namespace NKC_WF.WebUserContols
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfFileSuffix;
/// <summary>
/// hfChkBatchApp control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfChkBatchApp;
/// <summary>
/// divFileUpl control.
/// </summary>
+21 -16
View File
@@ -6,14 +6,14 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_footer : BaseUserControl
{
public event EventHandler eh_doRefresh;
protected void Page_Load(object sender, EventArgs e)
#region Private Methods
private void setClock()
{
// sistemo le stringhe...
lblApp.Text = string.Format("<b>{0}</b> v.{1}", ConfigurationManager.AppSettings.Get("appName"), System.Reflection.Assembly.GetExecutingAssembly().GetName().Version);
setTimer();
setClock();
lblDateTime.Text = DateTime.Now.ToString("ddd dd.MM.yyyy, HH:mm:ss");
lblCodOperatore.Text = $"{user_std.UtSn.CognomeNome} ({Page.User.Identity.Name})";
}
/// <summary>
/// imposta il tempo di scadenza del timer x il refresh della pagina (della parte top) per evitare che la sessione sul server scada
/// </summary>
@@ -21,20 +21,25 @@ namespace NKC_WF.WebUserControls
{
Timer1.Interval = SteamWare.memLayer.ML.confReadInt("intUpdatePagina_ms");
}
#endregion Private Methods
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
// sistemo le stringhe...
lblApp.Text = string.Format("<b>{0}</b> v.{1}", ConfigurationManager.AppSettings.Get("appName"), System.Reflection.Assembly.GetExecutingAssembly().GetName().Version);
setTimer();
setClock();
}
protected void Timer1_Tick(object sender, EventArgs e)
{
setClock();
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doRefresh != null)
{
eh_doRefresh(this, new EventArgs());
}
raiseEvent();
}
private void setClock()
{
lblDateTime.Text = DateTime.Now.ToString("ddd dd.MM.yyyy, HH:mm:ss");
lblCodOperatore.Text = $"{user_std.UtSn.CognomeNome} ({Page.User.Identity.Name})";
}
#endregion Protected Methods
}
}
+63 -48
View File
@@ -7,44 +7,27 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_menuTop : BaseUserControl
{
public event EventHandler eh_doRefresh;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
checkAuth();
searchVal = "";
doSearch();
updateTreeMenu();
}
}
private void checkAuth()
{
// in primis SOLO SE non è permesso login anonymous...
if (!enableAnonym)
{
if (!Page.User.Identity.IsAuthenticated)
{
Response.Redirect("default");
}
}
}
#region Protected Properties
/// <summary>
/// imposta visibilità search globale
/// Valore ricerca attivo
/// </summary>
public bool showSearch
protected string searchVal
{
get
{
return divSearch.Visible;
return txtSearch.Text.Trim();
}
set
{
divSearch.Visible = value;
txtSearch.Text = value.Trim();
}
}
#endregion Protected Properties
#region Public Properties
/// <summary>
/// Abilitazione esecuzione anonima
/// </summary>
@@ -62,9 +45,35 @@ namespace NKC_WF.WebUserControls
}
}
protected void txtSearch_TextChanged(object sender, EventArgs e)
/// <summary>
/// imposta visibilità search globale
/// </summary>
public bool showSearch
{
doSearch();
get
{
return divSearch.Visible;
}
set
{
divSearch.Visible = value;
}
}
#endregion Public Properties
#region Private Methods
private void checkAuth()
{
// in primis SOLO SE non è permesso login anonymous...
if (!enableAnonym)
{
if (!Page.User.Identity.IsAuthenticated)
{
Response.Redirect("default");
}
}
}
private void doSearch()
@@ -78,27 +87,9 @@ namespace NKC_WF.WebUserControls
{
memLayer.ML.emptySessionVal("valoreSearch");
}
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doRefresh != null)
{
eh_doRefresh(this, new EventArgs());
}
raiseEvent();
}
/// <summary>
/// Valore ricerca attivo
/// </summary>
protected string searchVal
{
get
{
return txtSearch.Text.Trim();
}
set
{
txtSearch.Text = value.Trim();
}
}
/// <summary>
/// aggiornamento del menù
/// </summary>
@@ -127,6 +118,11 @@ namespace NKC_WF.WebUserControls
}
}
}
#endregion Private Methods
#region Protected Methods
/// <summary>
/// click su pagina corrente, fa update!
/// </summary>
@@ -140,9 +136,28 @@ namespace NKC_WF.WebUserControls
Response.Redirect("default");
}
}
protected void lbtSearch_Click(object sender, EventArgs e)
{
doSearch();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
checkAuth();
searchVal = "";
doSearch();
updateTreeMenu();
}
}
protected void txtSearch_TextChanged(object sender, EventArgs e)
{
doSearch();
}
#endregion Protected Methods
}
}
+11 -14
View File
@@ -4,20 +4,8 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_numRow : BaseUserControl
{
public event EventHandler eh_doRefresh;
protected void Page_Load(object sender, EventArgs e)
{
#region Public Properties
}
private void raiseEvent()
{
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doRefresh != null)
{
eh_doRefresh(this, new EventArgs());
}
}
public int numRow
{
set
@@ -32,10 +20,19 @@ namespace NKC_WF.WebUserControls
}
}
#endregion Public Properties
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
}
protected void txtNumRow_TextChanged(object sender, EventArgs e)
{
raiseEvent();
}
#endregion Protected Methods
}
}
+82 -70
View File
@@ -6,80 +6,17 @@ namespace NKC_WF.WebUserControls
{
public partial class mod_righePag : BaseUserControl
{
#region Public Events
/// <summary>
/// indicato (nuovo) numero righe x pagina
/// </summary>
public event EventHandler eh_newNum;
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
numRowReq = numRowPag;
}
}
/// <summary>
/// stringa UID univoca
/// </summary>
public string uid
{
get
{
return this.UniqueID.Replace("$", "_").Replace("-", "_");
}
}
/// <summary>
/// effettua traduzione del lemma
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduci(string lemma)
{
return user_std.UtSn.Traduci(lemma);
}
/// <summary>
/// aggiorno controllo paginazione...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtNumRighe_TextChanged(object sender, EventArgs e)
{
// salvo num righe...
numRowPag = numRowReq;
// sollevo evento nuovo valore...
if (eh_newNum != null)
{
eh_newNum(this, new EventArgs());
}
}
/// <summary>
/// numero righe per pagina (in sessione)
/// </summary>
public int numRowPag
{
get
{
int answ = 10;
try
{
answ = memLayer.ML.IntSessionObj(uid + "_numRowPag");
}
catch
{
answ = 10;
}
return answ;
}
set
{
memLayer.ML.setSessionVal(uid + "_numRowPag", value);
numRowReq = value;
}
}
#endregion Public Events
#region Protected Properties
/// <summary>
/// numero righe gridview da mostrare legato a controllo textbox
/// </summary>
@@ -106,5 +43,80 @@ namespace NKC_WF.WebUserControls
txtNumRighe.Text = value.ToString();
}
}
#endregion Protected Properties
#region Public Properties
/// <summary>
/// numero righe per pagina (in sessione)
/// </summary>
public int numRowPag
{
get
{
int answ = 10;
try
{
answ = memLayer.ML.IntSessionObj(uid + "_numRowPag");
}
catch
{
answ = 10;
}
return answ;
}
set
{
memLayer.ML.setSessionVal(uid + "_numRowPag", value);
numRowReq = value;
}
}
/// <summary>
/// stringa UID univoca
/// </summary>
public string uid
{
get
{
return this.UniqueID.Replace("$", "_").Replace("-", "_");
}
}
#endregion Public Properties
#region Protected Methods
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
numRowReq = numRowPag;
}
}
/// <summary>
/// aggiorno controllo paginazione...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtNumRighe_TextChanged(object sender, EventArgs e)
{
// salvo num righe...
numRowPag = numRowReq;
// sollevo evento nuovo valore...
if (eh_newNum != null)
{
eh_newNum(this, new EventArgs());
}
}
#endregion Protected Methods
}
}
+6 -6
View File
@@ -39,7 +39,7 @@
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="3.6.0" targetFramework="net462" />
<package id="Microsoft.CodeQuality.Analyzers" version="3.3.2" targetFramework="net462" developmentDependency="true" />
<package id="Microsoft.NetCore.Analyzers" version="3.3.2" targetFramework="net462" developmentDependency="true" />
<package id="Microsoft.NETCore.Platforms" version="5.0.2" targetFramework="net462" />
<package id="Microsoft.NETCore.Platforms" version="5.0.3" targetFramework="net462" />
<package id="Microsoft.NetFramework.Analyzers" version="3.3.2" targetFramework="net462" developmentDependency="true" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net462" />
<package id="Microsoft.Web.RedisSessionStateProvider" version="4.0.1" targetFramework="net462" />
@@ -48,19 +48,19 @@
<package id="MongoDB.Bson" version="2.13.1" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.13.1" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.13.1" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.2.2" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.2.3" targetFramework="net462" />
<package id="NETStandard.Library" version="2.0.3" targetFramework="net462" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net462" />
<package id="NLog" version="4.7.10" targetFramework="net462" />
<package id="NLog" version="4.7.11" targetFramework="net462" />
<package id="PDFsharp" version="1.50.5147" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.0" targetFramework="net462" />
<package id="popper.js" version="1.16.1" targetFramework="net462" />
<package id="SharpCompress" version="0.28.3" targetFramework="net462" />
<package id="SharpCompress" version="0.29.0" targetFramework="net462" />
<package id="SharpZipLib" version="1.3.2" targetFramework="net462" />
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.2.62" targetFramework="net462" />
<package id="SteamWare" version="5.1.2108.1911" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.1.2108.1911" targetFramework="net462" />
<package id="SteamWare" version="5.1.2109.1713" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.1.2109.1713" targetFramework="net462" />
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="5.0.1" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
+1 -1
View File
@@ -12,7 +12,7 @@
<div class="card-body">
<div class="row">
<div class="col-12">
<uc1:cmp_fileUpload runat="server" ID="cmp_fileUpload" isWriteEnabled="true" fileSuffix=".dxf" />
<uc1:cmp_fileUpload runat="server" ID="cmp_fileUpload" isWriteEnabled="true" fileSuffix=".dxf" checkBatchAppr="false" />
</div>
</div>
<div class="row">
+14 -14
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF.site
@@ -15,29 +15,29 @@ namespace NKC_WF.site
{
/// <summary>
/// Controllo cmp_fileUpload.
/// cmp_fileUpload control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserContols.cmp_fileUpload cmp_fileUpload;
/// <summary>
/// Controllo divFileList.
/// divFileList control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divFileList;
/// <summary>
/// Controllo cmp_batchList.
/// cmp_batchList control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_batchList cmp_batchList;
}
+1 -1
View File
@@ -13,7 +13,7 @@
<div class="card-body">
<div class="row">
<div class="col-12">
<uc1:cmp_fileUpload runat="server" ID="cmp_fileUpload" isWriteEnabled="true" forceRedirect="false" filePrefix="KIT" fileSuffix=".csv" />
<uc1:cmp_fileUpload runat="server" ID="cmp_fileUpload" isWriteEnabled="true" forceRedirect="false" filePrefix="KIT" fileSuffix=".csv" checkBatchAppr="false" />
<hr />
</div>
<div class="col-12">
+26 -26
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF
@@ -15,65 +15,65 @@ namespace NKC_WF
{
/// <summary>
/// Controllo cmp_fileUpload.
/// cmp_fileUpload control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserContols.cmp_fileUpload cmp_fileUpload;
/// <summary>
/// Controllo upnlCheck.
/// upnlCheck control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.UpdatePanel upnlCheck;
/// <summary>
/// Controllo cmp_kitImpCheck.
/// cmp_kitImpCheck control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_kitImpCheck cmp_kitImpCheck;
/// <summary>
/// Controllo divKitList.
/// divKitList control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divKitList;
/// <summary>
/// Controllo upnlList.
/// upnlList control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.UpdatePanel upnlList;
/// <summary>
/// Controllo cmp_kitList.
/// cmp_kitList control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_kitList cmp_kitList;
/// <summary>
/// Controllo Timer1.
/// Timer1 control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.Timer Timer1;
}
+1 -1
View File
@@ -12,7 +12,7 @@
<h3><%: traduci("OrderManager") %></h3>
</div>
<div class="col-9">
<uc1:cmp_fileUpload runat="server" ID="cmp_fileUpload" isWriteEnabled="true" filePrefix="CNC" fileSuffix=".csv" />
<uc1:cmp_fileUpload runat="server" ID="cmp_fileUpload" isWriteEnabled="true" filePrefix="CNC" fileSuffix=".csv" checkBatchAppr="true" />
</div>
</div>
</div>
+1 -2
View File
@@ -54,7 +54,7 @@ namespace NKC_WF
{
/*--------------------------------------------
* Note validazione:
* - leggo cSV
* - leggo CSV
* - carico su DB
* - verifico (come ora x DXF) TUTTI i particolari
* - cerco su tab ItemValidation
@@ -185,7 +185,6 @@ namespace NKC_WF
{ }
}
Response.Redirect(Request.RawUrl);
//doUpdate();
}
/// <summary>
+102 -81
View File
@@ -12,6 +12,17 @@ namespace NKC_WF.site
{
public partial class UpdMan : BasePage
{
#region Protected Fields
/// <summary>
/// Controller versioni e download autenticato
/// </summary>
protected UpdateMan updManAuth = new UpdateMan("SWDownloader", "viaD@nte16");
#endregion Protected Fields
#region Protected Properties
protected DS_App.UpdManDataTable _tabPackages { get; set; } = new DS_App.UpdManDataTable();
protected DS_App.UpdManDataTable tabPackages
@@ -26,15 +37,53 @@ namespace NKC_WF.site
return tabella;
}
}
protected void Page_Load(object sender, EventArgs e)
#endregion Protected Properties
#region Private Methods
private int doDownload(string caller, DS_App.UpdManRow riga)
{
DataLayer DLMan = new DataLayer();
if (!Page.IsPostBack)
int numDone = 0;
// modalità DB...
if (riga != null)
{
((SiteContent)this.Master).showSearch = false;
if (riga.IsAuth)
{
updManAuth.downloadLatest(updateUrlAuth(riga.AppName), localDownloadPath(riga.LocalRepo), riga.PackName);
numDone++;
}
else
{
UpdateMan.obj.downloadLatest(updateUrl(riga.AppName), localDownloadPath(riga.LocalRepo), riga.PackName);
numDone++;
}
}
// modalità LEGACY...
else
{
if (caller == "ALL")
{
// scarico TUTTI...
numDone += updManAuth.downloadLatest(updateUrlAuth("NKC"), localDownloadPath("NKC"), "NKC");
numDone += UpdateMan.obj.downloadLatest(updateUrl("ZCODE"), localDownloadPath("ZCODE"), "ZCODE");
// versione IIS
//numDone += UpdateMan.obj.downloadLatest(updateUrl("NKC"), localDownloadPath("NKC"), "NKC");
//numDone += UpdateMan.obj.downloadLatest(updateUrl("ZCODE"), localDownloadPath("ZCODE"), "ZCODE");
}
else
{
UpdateMan.obj.downloadLatest(updateUrl(caller), localDownloadPath(caller), caller);
numDone++;
}
}
return numDone;
}
#endregion Private Methods
#region Protected Methods
/// <summary>
/// Eseguo download pacchetti secondo richeista
@@ -82,7 +131,6 @@ namespace NKC_WF.site
}
else
{
var riga = tabPackages.FindByAppName(caller);
doDownload(caller, riga);
// calcolo elapsed time come TimeSpan value.
@@ -95,45 +143,63 @@ namespace NKC_WF.site
lblOut.Text = resultsMsg;
}
private int doDownload(string caller, DS_App.UpdManRow riga)
/// <summary>
/// Path locale dove scaricare gli installer
/// </summary>
protected string localDownloadPath(string package)
{
int numDone = 0;
// modalità DB...
return string.Format(@"{0}{1}\{2}", memLayer.ML.CRS("downloadPath"), package, memLayer.ML.CRS("appVers"));
}
protected void Page_Load(object sender, EventArgs e)
{
DataLayer DLMan = new DataLayer();
if (!Page.IsPostBack)
{
((SiteContent)this.Master).showSearch = false;
}
}
/// <summary>
/// URL stringa di UPDATE...
/// </summary>
protected string updateUrl(string package)
{
string answ = "";
var riga = tabPackages.FindByAppName(package);
if (riga != null)
{
if (riga.IsAuth)
{
updManAuth.downloadLatest(updateUrlAuth(riga.AppName), localDownloadPath(riga.LocalRepo), riga.PackName);
numDone++;
}
else
{
UpdateMan.obj.downloadLatest(updateUrl(riga.AppName), localDownloadPath(riga.LocalRepo), riga.PackName);
numDone++;
}
answ = riga.ManifestUrl;
}
// modalità LEGACY...
else
{
if (caller == "ALL")
{
// scarico TUTTI...
numDone += updManAuth.downloadLatest(updateUrlAuth("NKC"), localDownloadPath("NKC"), "NKC");
numDone += UpdateMan.obj.downloadLatest(updateUrl("ZCODE"), localDownloadPath("ZCODE"), "ZCODE");
// versione IIS
//numDone += UpdateMan.obj.downloadLatest(updateUrl("NKC"), localDownloadPath("NKC"), "NKC");
//numDone += UpdateMan.obj.downloadLatest(updateUrl("ZCODE"), localDownloadPath("ZCODE"), "ZCODE");
}
else
{
UpdateMan.obj.downloadLatest(updateUrl(caller), localDownloadPath(caller), caller);
numDone++;
}
answ = string.Format("http://seriate.steamware.net:8083/SWS/{0}/{1}/manifest.xml", package, memLayer.ML.CRS("appVers"));
}
return numDone;
return answ;
}
/// <summary>
/// URL stringa di UPDATE su area che richiede Auth (nexus.steamware.net)...
/// </summary>
protected string updateUrlAuth(string package)
{
string answ = "";
var riga = tabPackages.FindByAppName(package);
if (riga != null)
{
answ = riga.ManifestUrl;
}
else
{
answ = string.Format("https://nexus.steamware.net/repository/SWS/{0}/{1}/LAST/manifest.xml", package, memLayer.ML.CRS("appVers"));
}
return answ;
}
#endregion Protected Methods
#region Public Methods
public string Version(object package, object authUrl)
{
UpdateInfoEventArgs updArgs = new UpdateInfoEventArgs();
@@ -160,51 +226,6 @@ namespace NKC_WF.site
return answ;
}
/// <summary>
/// Controller versioni e download autenticato
/// </summary>
protected UpdateMan updManAuth = new UpdateMan("SWDownloader", "viaD@nte16");
/// <summary>
/// URL stringa di UPDATE...
/// </summary>
protected string updateUrl(string package)
{
string answ = "";
var riga = tabPackages.FindByAppName(package);
if (riga != null)
{
answ = riga.ManifestUrl;
}
else
{
answ = string.Format("http://seriate.steamware.net:8083/SWS/{0}/{1}/manifest.xml", package, memLayer.ML.CRS("appVers"));
}
return answ;
}
/// <summary>
/// URL stringa di UPDATE su area che richiede Auth (nexus.steamware.net)...
/// </summary>
protected string updateUrlAuth(string package)
{
string answ = "";
var riga = tabPackages.FindByAppName(package);
if (riga != null)
{
answ = riga.ManifestUrl;
}
else
{
answ = string.Format("http://nexus.steamware.net/repository/SWS/{0}/{1}/LAST/{0}/{0}-.xml", package, memLayer.ML.CRS("appVers"));
}
return answ;
}
/// <summary>
/// Path locale dove scaricare gli installer
/// </summary>
protected string localDownloadPath(string package)
{
return string.Format(@"{0}{1}\{2}", memLayer.ML.CRS("downloadPath"), package, memLayer.ML.CRS("appVers"));
}
#endregion Public Methods
}
}
+67 -68
View File
@@ -1,71 +1,70 @@
<body>
<i>Sauder NKC solution</i>
<h4>Version: {{CURRENT-REL}}</h4>
<br />
Release Note:
<ul>
<li>
<b>Last Changes:</b>
<ul>{{LAST-CHANGES}}</ul>
</li>
<li>
<b>v.2.0.* &rarr;</b>
<ul>
<li>Multi machine setup (NE01/NE02)</li>
</ul>
</li>
<li>
<b>v.1.3.* &rarr;</b>
<ul>
<li>DXF Testing</li>
</ul>
</li>
<li>
<b>v.1.0.* &rarr;</b>
<ul>
<li>Production Ready</li>
</ul>
</li>
<li>
<b>v.11.* &rarr;</b>
<ul>
<li>AutoUpdate</li>
</ul>
</li>
<li>
<b>v.10.* &rarr;</b>
<ul>
<li>Completed cycle</li>
<li>Testing approved</li>
</ul>
</li>
<li>
<b>v.9.* &rarr;</b>
<ul>
<li>COmpleted cycle with KITTING station</li>
</ul>
</li>
<li>
<b>v.8.* &rarr;</b>
<ul>
<li>test release for production</li>
<li>Full active CNC cylte implemented</li>
</ul>
</li>
<li>
<b>v.7.* &rarr;</b>
<ul>
<li>Last internal only build</li>
</ul>
</li>
</ul>
<div>
<div style="float: left;">
<img src="logoSteamware.png" />
<i>Sauder NKC solution</i>
<h4>Version: {{CURRENT-REL}}</h4>
<br />
Release Note:
<ul>
<li>
<b>Last Changes:</b>
<ul>{{LAST-CHANGES}}</ul>
</li>
<li>
<b>v.2.0.* &rarr;</b>
<ul>
<li>Multi machine setup (NE01/NE02)</li>
</ul>
</li>
<li>
<b>v.1.3.* &rarr;</b>
<ul>
<li>DXF Testing</li>
</ul>
</li>
<li>
<b>v.1.0.* &rarr;</b>
<ul>
<li>Production Ready</li>
</ul>
</li>
<li>
<b>v.11.* &rarr;</b>
<ul>
<li>AutoUpdate</li>
</ul>
</li>
<li>
<b>v.10.* &rarr;</b>
<ul>
<li>Completed cycle</li>
<li>Testing approved</li>
</ul>
</li>
<li>
<b>v.9.* &rarr;</b>
<ul>
<li>COmpleted cycle with KITTING station</li>
</ul>
</li>
<li>
<b>v.8.* &rarr;</b>
<ul>
<li>test release for production</li>
<li>Full active CNC cylte implemented</li>
</ul>
</li>
<li>
<b>v.7.* &rarr;</b>
<ul>
<li>Last internal only build</li>
</ul>
</li>
</ul>
<div>
<div style="float: left;">
<img src="logoSteamware.png" />
</div>
<div style="float: right;">
<a href="https://www.steamware.net/IOT" target="_blank">&copy; Steamware - Egatletch 2019+</a>
</div>
</div>
<div style="float: right;">
<a href="https://www.steamware.net/IOT" target="_blank">&copy; Steamware - Egatletch 2019+</a>
</div>
</div>
</body>
+4 -4
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>{{VERS}}</version>
<url>http://nexus.steamware.net/repository/SWS/NKC/{{BRANCHNAME}}/ARCHIVE/{{PACKNAME}}/{{VERS}}/{{PACKNAME}}-{{VERS}}.zip</url>
<changelog>http://nexus.steamware.net/repository/SWS/NKC/{{BRANCHNAME}}/LAST/{{PACKNAME}}/{{PACKNAME}}-.html</changelog>
<mandatory>false</mandatory>
<version>{{VERS}}</version>
<url>https://nexus.steamware.net/repository/SWS/NKC/{{BRANCHNAME}}/ARCHIVE/{{PACKNAME}}/{{VERS}}/{{PACKNAME}}-{{VERS}}.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/NKC/{{BRANCHNAME}}/LAST/{{PACKNAME}}/{{PACKNAME}}-.html</changelog>
<mandatory>false</mandatory>
</item>