Compare commits

...

147 Commits

Author SHA1 Message Date
Samuele Locatelli 06f9e23a5e Merge branch 'release/FixDxf_ErrorTrap' 2021-09-24 10:38:21 +02:00
Samuele Locatelli 37857e2c77 Riportato error message full in locale 2021-09-24 10:37:45 +02:00
Samuele Locatelli f162f4a367 Trappola error pages in pista x tentare 2 volte prima di andare in home 2021-09-24 10:37:21 +02:00
Samuele Locatelli 289fa0ffd8 Fix gestione DXF: invalidati i running nest e impedisce caricamento + di 1 x volta 2021-09-24 10:05:21 +02:00
Samuele Locatelli 3a55c155e9 Merge tag 'UpdaterFix' into develop
Completato fix updater x Nexus
2021-09-17 16:46:58 +02:00
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
Samuele Locatelli cc00dc0804 Merge branch 'release/updateNugetSteamWareLibs' 2021-08-19 11:39:49 +02:00
Samuele Locatelli 719968ee2b Nuget update x SteamwareLibs e setRSV 2021-08-19 11:39:01 +02:00
Samuele Locatelli 78482b4833 aggiunto cacheDataTTL in web.config 2021-08-11 16:53:21 +02:00
Samuele Locatelli da292cae17 Merge tag 'ReloadConfFix' into develop
Fix corretto lettura CRS --> ConfReadString
2021-08-11 16:01:28 +02:00
Samuele Locatelli 73cabee7ee Merge branch 'release/ReloadConfFix' 2021-08-11 16:01:18 +02:00
Samuele Locatelli 18992da8bf Fix problema lettura NKC_WFConnectionString 2021-08-11 16:00:48 +02:00
Samuele Locatelli d4eabe8edd Merge tag 'FixAppConf' into develop
Rilascio produzione (master)
2021-08-11 15:33:02 +02:00
Samuele Locatelli ba88680aa1 Merge branch 'release/FixAppConf' 2021-08-11 15:32:52 +02:00
Samuele Locatelli dff09fc549 Update x fix librerie steamwarelibs 2021-08-11 15:31:17 +02:00
Samuele Locatelli 2e24c01bd9 rimozione error page specifiche (usa Oops.. ) 2021-08-11 11:44:24 +02:00
Samuele Locatelli f60f5868ca Aumento stato sessione da 120 a 480 minuti (redis) 2021-08-11 11:43:25 +02:00
Samuele Locatelli 0c7841e8d8 Merge tag 'FixdllAndVocabolario' into develop
Fix minori vocabolario e dll inserite x errore
2021-08-11 09:09:47 +02:00
Samuele Locatelli 7571b732eb Merge branch 'release/FixdllAndVocabolario' 2021-08-11 09:09:30 +02:00
Samuele Locatelli fb610a6738 fix dll inserite in root x errore da nuget + fix vocabolario 2021-08-11 09:09:06 +02:00
Samuele Locatelli 1a28398470 review gitSpread (NON forza il master) 2021-08-11 08:58:30 +02:00
Samuele Locatelli affaccc1e5 Merge tag 'NugetUpdateSteamwareLibs' into develop
Upgrade pacchetti Nuget generico, ma in particolare le steamware libs x errore restart multiplo reload conf redis x app config
2021-08-11 08:57:27 +02:00
Samuele Locatelli fb780c3328 Merge branch 'release/NugetUpdateSteamwareLibs' 2021-08-11 08:56:47 +02:00
Samuele Locatelli 3ce630a683 refresh 2021-08-11 08:55:19 +02:00
Samuele Locatelli 2f1e11072c update nuget DNSClient 2021-08-11 08:55:14 +02:00
Samuele Locatelli 6ac8959b37 update nuget Mongo 2021-08-11 08:54:55 +02:00
Samuele Locatelli 963aa925bd refresh redis lib 2021-08-11 08:49:15 +02:00
Samuele Locatelli cfd7788f71 space refresh 2021-08-11 08:48:37 +02:00
Samuele Locatelli 2865795574 Update librerie steamware x reload conf redis 2021-08-11 08:47:51 +02:00
Samuele Locatelli 66d16ed021 piccolo check preliminare 2021-08-11 08:46:23 +02:00
Samuele Locatelli 66fc9b47a2 Merge branch 'develop' into SDK 2021-07-28 20:34:52 +02:00
Samuele Locatelli d480797945 Completato fix x reset errori stima/nesting 2021-07-28 20:34:46 +02:00
Samuele Locatelli 7bd6cc5621 Update prox risp nesting 2021-07-28 18:03:34 +02:00
Samuele Locatelli 5964fcd3d6 fix ripetizione stima post errore nesting 2021-07-28 17:27:00 +02:00
Samuele Locatelli c34e919570 Merge branch 'develop' into SDK 2021-07-28 15:53:30 +02:00
Samuele Locatelli a5ac0782fe fix x gestione PartRev 2021-07-28 15:53:22 +02:00
Samuele Locatelli 3979d88a04 Aggiunto PartRev nella risposta 2021-07-28 15:45:53 +02:00
Samuele Locatelli 09711e9d1f Merge branch 'develop' into SDK 2021-07-28 11:34:38 +02:00
Samuele Locatelli 8583246fd8 Update gestioen risposta con errori estim ext 2021-07-28 11:34:28 +02:00
Samuele Locatelli ee0c85f485 rimessa possibilità rimando stima 2021-07-28 11:33:54 +02:00
Samuele Locatelli 9987a9b532 Merge branch 'develop' into SDK 2021-07-27 16:47:21 +02:00
Samuele Locatelli 27d1ad1d40 pulizia codice 2021-07-27 16:47:16 +02:00
Samuele Locatelli d8905257b0 commentata aprte check success x processing stsatus 2021-07-27 15:19:30 +02:00
Samuele Locatelli d92cb4cb96 corretto registrazione macchina x update da PROD 2021-07-27 14:45:42 +02:00
Samuele Locatelli f9d923b1bd Redis: default DB a 2... 2021-07-27 11:45:49 +02:00
Samuele Locatelli 8da509214e Merge branch 'develop' into SDK 2021-07-27 11:00:04 +02:00
Samuele Locatelli 33bc68d712 Aggiunto refresh iniziale 2021-07-27 10:59:56 +02:00
Samuele Locatelli b3184badac Fix gestione status e semafori 2021-07-27 10:51:06 +02:00
Samuele Locatelli c74c83a372 bozza modifica status machine 2021-07-26 20:02:06 +02:00
Samuele Locatelli e365778d3c Fix gestione secscreen: aggiunto selezione impianto 2021-07-26 19:30:08 +02:00
Samuele Locatelli 219a6691da Merge branch 'develop' into SDK 2021-07-26 17:02:45 +02:00
Samuele Locatelli a4a8b57163 fix preview da order History 2021-07-26 16:44:10 +02:00
Samuele Locatelli a86beaa333 Fix procedura export xls elenco fogli 2021-07-26 16:43:59 +02:00
Samuele Locatelli 0b4c1dd974 update conf code come da setup Sauder 2021-07-23 19:20:27 +02:00
Samuele Locatelli 50ea17c0e3 fix gestione bunk x machine (non necessaria) 2021-07-23 19:09:17 +02:00
Samuele Locatelli 8f0ee0933d Fix stampa cart/bin da order scheduler 2021-07-23 15:10:00 +02:00
Samuele Locatelli 17dd24abea Fix selezione machine LOAD 2021-07-23 13:23:13 +02:00
Samuele Locatelli 04946d6173 Fix display in caso di errore del send estimation 2021-07-23 10:23:42 +02:00
Samuele Locatelli ec6b801b9f fix calcolo indice carrello 2021-07-22 12:50:03 +02:00
Samuele Locatelli 3490c08a69 FIx recupero sheetList x macchina + typo 2021-07-22 07:54:49 +02:00
Samuele Locatelli 508dbbf55f Merge branch 'develop' 2021-07-21 11:43:28 +02:00
Samuele Locatelli fc4b36ad66 Completata modifica DB x selezionare sempre la stampante corretta x CNC (print/work) 2021-07-21 11:42:25 +02:00
Samuele Locatelli b47c391c63 Aggiunto check x invio SOLOS E è stato splittato 2021-07-21 10:40:58 +02:00
Samuele Locatelli 46c9dec2a9 Merge remote-tracking branch 'gitlab.steamware/develop' into develop 2021-07-21 09:49:31 +02:00
Samuele Locatelli 3cfc4f8275 Verifica risposte nesting (scarto se incoerente) 2021-07-21 09:49:26 +02:00
Samuele E. Locatelli 385bf15d22 Aggiunta decodifica watchdog 2021-07-20 19:13:03 +02:00
Samuele E. Locatelli 6f8dc47293 inizio gestione info "live state" linea 2021-07-20 18:43:06 +02:00
Samuele E. Locatelli 432e53cd24 registro anche evento 01 alive... 2021-07-20 18:17:26 +02:00
Samuele Locatelli dafad94464 Merge branch 'develop' 2021-07-20 16:37:09 +02:00
Samuele Locatelli 9082df9146 Fix gestione stop nesting anche x child 2021-07-20 16:35:55 +02:00
Samuele Locatelli d783f65c20 TYPO + Fix salvataggio eventi (redis da svuotare) 2021-07-20 16:30:51 +02:00
Samuele Locatelli 15f30baf83 Merge branch 'develop' 2021-07-20 15:42:47 +02:00
Samuele Locatelli 0c481e5169 Update x calcolo con ordine singolo + fix cancellazione a cascata 2021-07-20 15:42:36 +02:00
Samuele Locatelli 0175841f22 Merge tag 'ManNumIndexCB' into develop
Sistemata prima versione gestione num index cart/bin
2021-07-20 08:51:09 +02:00
Samuele Locatelli b22579ca6e Merge branch 'release/ManNumIndexCB' 2021-07-20 08:50:52 +02:00
Samuele Locatelli 691ae3f123 Aggiunta gestione num indice carrello da impiegare 2021-07-20 08:48:46 +02:00
Samuele Locatelli 47b85f98b3 Fix upd messages 2021-07-20 08:11:53 +02:00
Samuele Locatelli 26234bce04 modifica gestione nesting con 2 macchine (TO TEST!!!) 2021-07-19 19:01:32 +02:00
Samuele Locatelli e7eb09e44a Merge tag 'RC_2.0' into develop
COmpletata prima RC x versione 2 con stampe differenziate
2021-07-17 11:46:01 +02:00
Samuele Locatelli 669f5d8478 Merge branch 'release/RC_2.0' 2021-07-17 11:45:46 +02:00
Samuele Locatelli ae1fd38bbb Merge branch 'feature/LabelPrintingDualMachine' into develop 2021-07-17 11:42:47 +02:00
Samuele Locatelli 00cb127ac4 Update x gestione stampe su code differenti NE01/NE02 2021-07-17 11:42:31 +02:00
Samuele Locatelli c34b0d6768 Inizio modifica pagina stampa labels 2021-07-16 19:22:09 +02:00
Samuele Locatelli ac50e00c85 Fix barra bilanciamento 2021-07-16 19:14:31 +02:00
Samuele Locatelli c6bf8db9ef Code cleanup 2021-07-16 18:56:48 +02:00
Samuele Locatelli 3e65a59ae6 Merge tag 'NewUpdMan' into develop
NUova gestione update manager
2021-07-16 18:48:45 +02:00
105 changed files with 5970 additions and 2403 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"]
+22 -23
View File
@@ -51,8 +51,8 @@
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath>
</Reference>
<Reference Include="DnsClient, Version=1.4.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.4.0\lib\net45\DnsClient.dll</HintPath>
<Reference Include="DnsClient, Version=1.5.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.5.0\lib\net45\DnsClient.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.2.10, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.2\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
@@ -72,17 +72,17 @@
<Reference Include="Microsoft.ReportViewer.WinForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ReportViewer.Runtime.WinForms.12.0.2402.15\lib\Microsoft.ReportViewer.WinForms.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=2.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.12.4\lib\net452\MongoDB.Bson.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.13.1\lib\net452\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.12.4\lib\net452\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.13.1\lib\net452\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.12.4\lib\net452\MongoDB.Driver.Core.dll</HintPath>
<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.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.2.1\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
<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>
<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>
@@ -106,13 +106,13 @@
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.2.4\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.2.62\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare, Version=5.1.2107.759, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.1.2107.759\lib\net462\SteamWare.dll</HintPath>
<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>
<Reference Include="SteamWare.Logger, Version=5.1.2107.759, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.1.2107.759\lib\net462\SteamWare.Logger.dll</HintPath>
<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>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
@@ -184,6 +184,9 @@
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
@@ -271,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">
@@ -282,10 +281,10 @@
<ErrorText>Questo progetto fa riferimento a uno o più pacchetti NuGet che non sono presenti in questo computer. Usare lo strumento di ripristino dei pacchetti NuGet per scaricarli. Per altre informazioni, vedere http://go.microsoft.com/fwlink/?LinkID=322105. Il file mancante è {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.2.1\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.2.1\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.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'))" />
</Target>
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.2.1\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.2.1\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.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')" />
</Project>
+345 -83
View File
@@ -66,6 +66,7 @@ namespace AppData
public static string redProdMachClock = "NKC:PROD:MACH:CLOCK";
public static string redProdMachList = "NKC:PROD:MACH:LIST";
public static string redProdMachStateData = "NKC:PROD:MACH:STATE";
public static string redProdMachStateLive = "NKC:PROD:MACH:LIVE";
public static string redProdReq = "NKC:SERV:BUNKS";
public static string redProdStatDec = "NKC:PROD:MACH:STATDEC";
@@ -248,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>
@@ -356,7 +373,7 @@ namespace AppData
/// </summary>
/// <param name="currBunk"></param>
/// <returns></returns>
private static ProdBunk getBunkFromDb(DS_App.StackListRow currBunk)
private static ProdBunk getBunkFromDb(DS_App.StackListRow currBunk, string machine)
{
DataLayer DLMan = new DataLayer();
ProdBunk answ;
@@ -372,7 +389,7 @@ namespace AppData
}
List<ProdSheet> elSheet = new List<ProdSheet>();
// recupero gli sheets di questo stack...
DS_App.SheetListDataTable tabSheets = DLMan.taSHL.getByStack(currBunk.StackID);
DS_App.SheetListDataTable tabSheets = DLMan.taSHL.getByStack(currBunk.StackID, machine);
DateTime dataStart = DateTime.Now;
ProdSheet currPanel;
string nestBasePath = memLayer.ML.CRS("nestBasePath").ToLower();
@@ -455,35 +472,41 @@ namespace AppData
return answ;
}
private static List<MachineStatData> saveStatus(string machine, List<MachineStatRecord> lastRecord)
/// <summary>
/// Aggiorno il record della station x la machine indicata
/// </summary>
/// <param name="machine"></param>
/// <param name="station"></param>
/// <param name="lastRecord"></param>
/// <returns></returns>
private static MachineStatData saveStatus(string machine, string station, MachineStatRecord lastRecord)
{
List<MachineStatData> currData = new List<MachineStatData>();
MachineStatData currData = new MachineStatData() { Machine = machine };
string redKey = $"{redProdMachStateData}:{machine}";
// ora processo lo status attuale x salvare MAPPA ULTIMO status in Redis...
string redVal = memLayer.ML.getRSV(redProdMachStateData);
string redVal = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(redVal))
{
currData = JsonConvert.DeserializeObject<List<MachineStatData>>(redVal);
// certo info x macchina corrente
var machRecord = currData.Where(x => x.Machine == machine).FirstOrDefault();
// recupero ultimo stato
if (machRecord != null)
{
machRecord.Records = lastRecord;
}
// aggiungo
else
{
currData.Add(new MachineStatData() { Machine = machine, Records = lastRecord });
}
currData = JsonConvert.DeserializeObject<MachineStatData>(redVal);
}
// recupero ultimo stato x la station corrente
var stationRecord = currData.Records.Where(x => x.Station == station).FirstOrDefault();
if (stationRecord != null)
{
// lo rimuovo
currData.Records.Remove(stationRecord);
stationRecord = lastRecord;
}
// aggiungo...
currData.Records.Add(lastRecord);
// serializzo
string rawData = JsonConvert.SerializeObject(currData);
// salvo!
memLayer.ML.setRSV(redProdMachStateData, rawData);
memLayer.ML.setRSV(redKey, rawData);
return currData;
}
@@ -706,14 +729,15 @@ namespace AppData
/// <param name="BatchID"></param>
/// <param name="minVal"></param>
/// <param name="maxVal"></param>
/// <param name="machine"></param>
/// <returns></returns>
protected int getSheetIdByBatch(int BatchID, int minVal, int maxVal)
protected int getSheetIdByBatch(int BatchID, int minVal, int maxVal, string machine)
{
int answ = 0;
try
{
DataLayer DLMan = new DataLayer();
var tabSheet = DLMan.taSHL.getByMLStatus(BatchID, minVal, maxVal);
var tabSheet = DLMan.taSHL.getByMLStatus(BatchID, minVal, maxVal, machine);
if (tabSheet.Count > 0)
{
answ = tabSheet[0].SheetID;
@@ -1028,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>
@@ -1044,9 +1171,9 @@ namespace AppData
// forzo (ri)lettura...
currTab = DLMan.taStatDec.GetData();
TabStatusDec = currTab;
// cerco di nuovo item
foundItem = currTab.Where(x => x.Station == station && x.Code == code).FirstOrDefault();
}
// cerco di nuovoitem
foundItem = currTab.Where(x => x.Station == station && x.Code == code).FirstOrDefault();
if (foundItem == null)
{
// se non ci fosse --> creo
@@ -1282,7 +1409,7 @@ namespace AppData
{
// recupero sheet corrente da Bunk...
DataLayer DLMan = new DataLayer();
tabSheets = DLMan.taSHL.getByMLStatus(BatchID, 5, 5);
tabSheets = DLMan.taSHL.getByMLStatus(BatchID, 5, 5, machine);
// salvo in redis
setCurrSheetTab(machine, tabSheets);
}
@@ -1341,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>
@@ -1571,42 +1711,6 @@ namespace AppData
return answ;
}
#if false
/// <summary>
/// Elenco degli orders dato Batch
/// </summary>
public static DS_App.OrderListDataTable OrdersByBatch(int BatchId)
{
DataLayer DLMan = new DataLayer();
string redKey = $"{redOrders}:BYBATCH:{BatchId}";
string rawData = "";
DS_App.OrderListDataTable answ = new DS_App.OrderListDataTable();
// cerco in redis
if (memLayer.ML.redKeyPresent(redKey))
{
rawData = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(rawData))
{
try
{
answ = JsonConvert.DeserializeObject<DS_App.OrderListDataTable>(rawData);
}
catch
{ }
}
// se vuoto rileggo
if (answ.Count == 0)
{
answ = DLMan.taOL.getByBatch(BatchId);
// salvo in cache
rawData = JsonConvert.SerializeObject(answ);
memLayer.ML.setRSV(redKey, rawData, 5 * 60);
}
}
return answ;
}
#endif
/// <summary>
/// Elenco degli orders dato Batch (Ancestor/Principale)
/// </summary>
@@ -1706,8 +1810,9 @@ namespace AppData
/// Recupera e transcodifica DA DB i dati di UN SINGOLO bunk
/// </summary>
/// <param name="currBunk"></param>
/// <param name="machine"></param>
/// <returns></returns>
public static ProdBunk prodGetBunk(int StackID)
public static ProdBunk prodGetBunk(int StackID, string machine)
{
DataLayer DLMan = new DataLayer();
ProdBunk answ = null;
@@ -1727,7 +1832,7 @@ namespace AppData
currSt = CStatus.Done;
}
// recupero gli sheets di questo stack...
DS_App.SheetListDataTable tabSheets = DLMan.taSHL.getByStack(StackID);
DS_App.SheetListDataTable tabSheets = DLMan.taSHL.getByStack(StackID, machine);
DateTime dataStart = DateTime.Now;
ProdSheet currPanel;
string nestBasePath = memLayer.ML.CRS("nestBasePath").ToLower();
@@ -1810,7 +1915,7 @@ namespace AppData
if (tabBunks.Count > 0)
{
DS_App.StackListRow currBunk = tabBunks[0];
answ = getBunkFromDb(currBunk);
answ = getBunkFromDb(currBunk, machine);
// se ho qualcosa salvo su REDIS
redisFirstBunk = answ;
}
@@ -1857,7 +1962,7 @@ namespace AppData
// se c'è un bunk trovato --> carico
if (currBunk != null)
{
answ = getBunkFromDb(currBunk);
answ = getBunkFromDb(currBunk, machine);
// salvo su redis
setRedisNextBunk(BunkID, answ);
}
@@ -1888,7 +1993,7 @@ namespace AppData
// come batch DOVREI averne solo 1 in corso...
DS_App.BatchListRow batchRow = currBatch[0];
// recupero i vari SHEETS del batch...
DS_App.SheetListDataTable sheetTable = DLMan.taSHL.getCurrentByBatch(batchRow.BatchID);
DS_App.SheetListDataTable sheetTable = DLMan.taSHL.getCurrentByBatch(batchRow.BatchID, codPost);
List<DS_App.SheetListRow> sheetList = new List<DS_App.SheetListRow>();
// controllo che SIA NULL la data di unload --> NON ancora scaricato
foreach (var item in sheetTable)
@@ -1911,14 +2016,13 @@ namespace AppData
/// Restituisce stato macchina (da Redis)
/// </summary>
/// <returns></returns>
public static List<MachineStatData> prodMachStateDataGet()
public static MachineStatData prodMachStateDataGet(string machine)
{
List<MachineStatData> answ = new List<MachineStatData>();
string redVal = memLayer.ML.getRSV(redProdMachStateData);
MachineStatData answ = new MachineStatData();
string redVal = memLayer.ML.getRSV($"{redProdMachStateData}:{machine}");
if (!string.IsNullOrEmpty(redVal))
{
answ = JsonConvert.DeserializeObject<List<MachineStatData>>(redVal);
answ = JsonConvert.DeserializeObject<MachineStatData>(redVal);
}
return answ;
}
@@ -1936,7 +2040,6 @@ namespace AppData
* Public Const STATION_PRINTER As String = "PRINTER"
* Public Const STATION_NC_MACHINE As String = "NC_MACHINE"
* Public Const STATION_UNLOADER As String = "UNLOADER"
//* Public Const STATION_NC_MACHINE As String = "NC MACHINE"
*
*
*
@@ -1987,7 +2090,8 @@ namespace AppData
break;
case "01":
// x ora lo ignoro ma so che ora la macchina è ALIVE...
// savo status alive
ComLib.setMachLiveStatus(updateRecords.Machine, true);
break;
default:
@@ -2002,8 +2106,24 @@ namespace AppData
// recupero ultimo record ricevuto
try
{
var lastRecord = updateRecords.Records.OrderByDescending(x => x.DtRecord).Take(1).ToList();
saveStatus(updateRecords.Machine, lastRecord);
string station = "";
MachineStatRecord lastRecord = new MachineStatRecord();
station = "PRINTER";
lastRecord = updateRecords.Records.Where(x => x.Station == station).OrderByDescending(x => x.DtRecord).FirstOrDefault();
if (lastRecord != null)
saveStatus(updateRecords.Machine, station, lastRecord);
station = "NC_MACHINE";
lastRecord = updateRecords.Records.Where(x => x.Station == station).OrderByDescending(x => x.DtRecord).FirstOrDefault();
if (lastRecord != null)
saveStatus(updateRecords.Machine, station, lastRecord);
station = "UNLOADER";
lastRecord = updateRecords.Records.Where(x => x.Station == station).OrderByDescending(x => x.DtRecord).FirstOrDefault();
if (lastRecord != null)
saveStatus(updateRecords.Machine, station, lastRecord);
answ = true;
}
catch
@@ -2021,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>
@@ -2242,8 +2374,9 @@ namespace AppData
/// <param name="note">note opzionali</param>
/// <param name="pType">Tipo processo: 1 = stima, 2 = nesting, 3 = stima EXTENDED</param>
/// <param name="isValidation">Indica se sia validaizone (part o disegno) --> in tal caso MaxTime = 1</param>
/// <param name="numIndexStart">Numero di indice richiesto con cui partire x creare CART/BIN</param>
/// <returns></returns>
public static bool sendBatchReq(int BatchID, string note, int pType, bool isValidation)
public static bool sendBatchReq(int BatchID, string note, int pType, bool isValidation, int numIndexStart)
{
DataLayer DLMan = new DataLayer();
bool answ = false;
@@ -2252,6 +2385,11 @@ namespace AppData
// preparo il contenuto della busta ed invio i messaggi...
try
{
// preliminare: se è stima EXT --> riporto pezzi su ordine ORIGINALE...
if (pType == 3)
{
DLMan.taOLT.setBatchSplit(BatchID, false);
}
// in base allo stato del BATCH corrente determino il tempo e le opzioni da inviare...
var batch = DLMan.taBL.getByKey(BatchID);
int mTime = 1;
@@ -2336,7 +2474,8 @@ namespace AppData
ProcType = pType,
MachineType = mType.Multiax,
OrderType = oType.BatchRequest,
OrderList = listOrder
OrderList = listOrder,
NumIndexStart = numIndexStart
};
// serializzo
@@ -2390,7 +2529,7 @@ namespace AppData
if (nextBatchId > 0)
{
// richiedo!
sendBatchReq(nextBatchId, "Estimation", 1, true);
sendBatchReq(nextBatchId, "Estimation", 1, true, 1);
// registro su DB nesting iniziato... QUANDO MI RISPONDE dovrò verificare che era un batch x VALIDAZIONE
DLMan.taBL.updateStatus(nextBatchId, (int)BatchStatus.EstimationRequested, "", 0);
answ = true;
@@ -2548,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>
@@ -2626,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)
@@ -2649,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);
}
}
}
}
}
}
@@ -2712,6 +2885,7 @@ namespace AppData
/// <param name="CartList"></param>
public static void updateCartsFromNesting(int BatchID, List<NestCart> CartList)
{
Dictionary<string, int> part2update = new Dictionary<string, int>();
DataLayer DLMan = new DataLayer();
// inizio a processare... bunks!
if (CartList != null)
@@ -2731,11 +2905,29 @@ namespace AppData
{
// creo lo sheet...
var updKit = DLMan.taKL.updateCart(kit.KitId, currCart.CartID);
// verifico x update PartExtCode
addPart2Upd(ref part2update, kit.PartList);
}
}
}
}
}
// 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 currItem = item4batch.Where(x => x.ItemID == item.Value).FirstOrDefault();
// verifico SE sia da processare...
if (currItem != null && currItem.ItemExtCode != item.Key)
{
DLMan.taIL.updateExtCodeFromNesting(BatchID, item.Value, item.Key);
}
}
}
}
/// <summary>
@@ -2862,10 +3054,10 @@ namespace AppData
int batchId = getNextBatch(machineCod);
// se non trovo creo un oggetto NUOVO e vuoto x ogni oggetto... e salvo...
answ.Add("BatchID", batchId.ToString());
answ.Add("SheetID_load", getSheetIdByBatch(batchId, 0, 1).ToString());
answ.Add("SheetID_print", getSheetIdByBatch(batchId, 1, 2).ToString());
answ.Add("SheetID_work", getSheetIdByBatch(batchId, 2, 3).ToString());
answ.Add("SheetID_unload", getSheetIdByBatch(batchId, 3, 5).ToString());
answ.Add("SheetID_load", getSheetIdByBatch(batchId, 0, 1, machineCod).ToString());
answ.Add("SheetID_print", getSheetIdByBatch(batchId, 1, 2, machineCod).ToString());
answ.Add("SheetID_work", getSheetIdByBatch(batchId, 2, 3, machineCod).ToString());
answ.Add("SheetID_unload", getSheetIdByBatch(batchId, 3, 5, machineCod).ToString());
// serializzo e salvo!
saveMachineData(machineCod, answ);
}
@@ -3182,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
+2239 -185
View File
File diff suppressed because it is too large Load Diff
+286 -4
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">
@@ -203,6 +214,16 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_getNestRunning" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getNestRunning" GetMethodModifier="Public" GetMethodName="getNestRunning" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getNestRunning" UserSourceName="getNestRunning">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_getNestRunning</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" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_getNextAvailable" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getNextAvailable" GetMethodModifier="Public" GetMethodName="getNextAvailable" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getNextAvailable" UserSourceName="getNextAvailable">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
@@ -245,6 +266,16 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_invalidateRunning" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="invalidateRunning" Modifier="Public" Name="invalidateRunning" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy18" UserSourceName="invalidateRunning">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_invalidateRunning</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" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_makeDescendantByKey" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="makeDescendantByKey" Modifier="Public" Name="makeDescendantByKey" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy8" UserSourceName="makeDescendantByKey">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
@@ -540,6 +571,7 @@ FROM v_SheetList</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="@Machine" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
@@ -551,6 +583,7 @@ FROM v_SheetList</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="@ItemID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@Machine" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
@@ -564,6 +597,7 @@ FROM v_SheetList</CommandText>
<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="@ShStatusStart" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@ShStatusEnd" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@Machine" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
@@ -575,6 +609,7 @@ FROM v_SheetList</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="@SheetID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@Machine" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
@@ -586,6 +621,7 @@ FROM v_SheetList</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="@StackID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@Machine" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
@@ -609,6 +645,7 @@ FROM v_SheetList</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="@Machine" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
@@ -1034,7 +1071,33 @@ 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_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>
<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="@ItemID" 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" />
</Parameters>
</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="GetDataBy5" UserSourceName="updateFromNesting">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateFromNesting</CommandText>
@@ -1049,7 +1112,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>
@@ -1062,7 +1125,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>
@@ -1074,7 +1137,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>
@@ -3625,6 +3688,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>
@@ -5199,6 +5437,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_TablePropName="SheetStats" msprop:Generator_RowDeletingName="SheetStatsRowDeleting" msprop:Generator_RowChangingName="SheetStatsRowChanging" msprop:Generator_RowEvHandlerName="SheetStatsRowChangeEventHandler" msprop:Generator_RowDeletedName="SheetStatsRowDeleted" msprop:Generator_UserTableName="SheetStats" msprop:Generator_RowChangedName="SheetStatsRowChanged" msprop:Generator_RowEvArgName="SheetStatsRowChangeEvent" msprop:Generator_RowClassName="SheetStatsRow">
<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_TablePropName="BatchStats" msprop:Generator_RowDeletingName="BatchStatsRowDeleting" msprop:Generator_RowChangingName="BatchStatsRowChanging" msprop:Generator_RowEvHandlerName="BatchStatsRowChangeEventHandler" msprop:Generator_RowDeletedName="BatchStatsRowDeleted" msprop:Generator_UserTableName="BatchStats" msprop:Generator_RowChangedName="BatchStatsRowChanged" msprop:Generator_RowEvArgName="BatchStatsRowChangeEvent" msprop:Generator_RowClassName="BatchStatsRow">
<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">
@@ -5366,6 +5639,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>
+56 -53
View File
@@ -6,50 +6,53 @@
</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">
<Shapes>
<Shape ID="DesignTable:BatchList" ZOrder="1" X="325" Y="437" Height="381" Width="261" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:StackList" ZOrder="2" X="576" Y="958" Height="381" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:SheetList" ZOrder="42" X="246" Y="908" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OrderList" ZOrder="12" X="284" Y="61" Height="343" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ItemList" ZOrder="41" X="853" Y="87" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Materials" ZOrder="40" X="1189" Y="105" Height="248" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Bins" ZOrder="10" X="1257" Y="597" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Carts" ZOrder="39" X="592" Y="408" Height="286" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OfflineOrderList" ZOrder="38" X="921" Y="934" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OffOrd2Item" ZOrder="37" X="1023" Y="728" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:KitList" ZOrder="11" X="634" Y="129" Height="248" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Nesting" ZOrder="36" X="863" Y="526" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:ImportLog" ZOrder="35" X="593" Y="701" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BinList" ZOrder="34" X="1256" Y="391" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:FinalKit" ZOrder="33" X="15" Y="525" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:Order2FinalKit" ZOrder="32" X="5" Y="308" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:Counters" ZOrder="31" X="-12" Y="716" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ErrorsLog" ZOrder="30" X="-14" Y="996" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemValidation" ZOrder="29" X="-10" Y="1301" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:PartValidPareto" ZOrder="28" X="316" Y="1303" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UnloadStats" ZOrder="27" X="629" Y="1362" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Remnants" ZOrder="26" X="904" Y="1256" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:CartOnKit" ZOrder="25" X="1251" Y="993" Height="324" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackList" ZOrder="24" X="1248" Y="1319" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:OtherItem" ZOrder="23" X="636" Y="1822" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemSearchDetail" ZOrder="22" X="1468" Y="105" Height="381" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackListDet" ZOrder="21" X="931" Y="1520" Height="343" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackLog" ZOrder="20" X="1224" Y="1751" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:PackCheck" ZOrder="19" X="636" Y="1560" Height="229" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:OKIB" ZOrder="18" X="33" Y="1493" Height="324" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKIB_Sum" ZOrder="17" X="42" Y="1891" Height="362" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI" ZOrder="16" X="334" Y="1485" Height="324" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI_sum" ZOrder="15" X="330" Y="1890" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Pack2Cart" ZOrder="5" X="911" Y="1873" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:CartIRK" ZOrder="14" X="640" Y="2064" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:FileValidation" ZOrder="9" X="499" Y="-21" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:SheetsPreview" ZOrder="13" X="65" Y="839" Height="210" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OrderListTree" ZOrder="8" X="3" Y="-43" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:Places" ZOrder="3" X="862" Y="2175" Height="172" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:StatusLog" ZOrder="6" X="1116" Y="2180" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:StatusDecode" ZOrder="4" X="849" Y="2353" Height="172" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<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="53" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="56" LineWidth="11">
<RoutePoints>
<Point>
<X>1189</X>
@@ -61,7 +64,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="52" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="55" LineWidth="11">
<RoutePoints>
<Point>
<X>1028</X>
@@ -73,7 +76,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="51" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="54" LineWidth="11">
<RoutePoints>
<Point>
<X>828</X>
@@ -85,7 +88,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="50" LineWidth="11">
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="53" LineWidth="11">
<RoutePoints>
<Point>
<X>1116</X>
@@ -101,7 +104,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="48" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="51" LineWidth="11">
<RoutePoints>
<Point>
<X>721</X>
@@ -113,7 +116,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="49" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="52" LineWidth="11">
<RoutePoints>
<Point>
<X>482</X>
@@ -125,7 +128,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="45" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="48" LineWidth="11">
<RoutePoints>
<Point>
<X>1113</X>
@@ -137,7 +140,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="47" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="50" LineWidth="11">
<RoutePoints>
<Point>
<X>1364</X>
@@ -149,7 +152,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="46" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="49" LineWidth="11">
<RoutePoints>
<Point>
<X>1153</X>
@@ -161,7 +164,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="44" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="47" LineWidth="11">
<RoutePoints>
<Point>
<X>115</X>
@@ -173,7 +176,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="43" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="46" LineWidth="11">
<RoutePoints>
<Point>
<X>284</X>
@@ -185,7 +188,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="7" LineWidth="11">
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="11" LineWidth="11">
<RoutePoints>
<Point>
<X>1042</X>
+11 -5
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.UnloadStatsTableAdapter taUS;
public DS_AppTableAdapters.UpdManTableAdapter taUpdMan;
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,16 +207,18 @@ 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()
{
string connString = memLayer.ML.CRS("NKC_WFConnectionString");
string connString = memLayer.ML.confReadString("NKC_WFConnectionString");
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.3.2.0" newVersion="1.3.2.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>
+9 -8
View File
@@ -3,15 +3,15 @@
<package id="AIM" version="1.1.0" targetFramework="net462" />
<package id="AjaxControlToolkit" version="20.1.0" targetFramework="net462" />
<package id="Crc32C.NET" version="1.0.5.0" targetFramework="net462" />
<package id="DnsClient" version="1.4.0" targetFramework="net462" />
<package id="DnsClient" version="1.5.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="5.0.0" targetFramework="net462" />
<package id="Microsoft.NETCore.Platforms" version="5.0.2" targetFramework="net462" />
<package id="Microsoft.ReportViewer.Runtime.Common" version="12.0.2402.15" targetFramework="net462" />
<package id="Microsoft.ReportViewer.Runtime.WinForms" version="12.0.2402.15" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.2.1" targetFramework="net462" />
<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="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" />
@@ -20,9 +20,9 @@
<package id="SharpCompress" version="0.28.3" 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.4" targetFramework="net462" />
<package id="SteamWare" version="5.1.2107.759" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.1.2107.759" 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="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" />
@@ -40,4 +40,5 @@
<package id="System.Text.Encoding.CodePages" version="5.0.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="5.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
</packages>
+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>
+22 -1
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>
@@ -110,6 +115,7 @@ namespace NKC_SDK
/// Tipo di processing richiesto
/// 1 = stima
/// 2 = nesting
/// 3 = stima extended
/// </summary>
public int ProcType { get; set; }
@@ -335,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
}
@@ -741,7 +757,7 @@ namespace NKC_SDK
/// <summary>
/// Codice ITEM esterno da cliente (HFA)
/// </summary>
public string PartExtCode { get; set; }
public string PartExtCode { get; set; } = "";
/// <summary>
/// Cod ITEM di NKC
@@ -753,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>
+10 -3
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>
@@ -275,7 +275,14 @@ namespace NKC_WF
/// <returns></returns>
public string traduci(string lemma)
{
return SteamWare.user_std.UtSn.Traduci(lemma);
string answ = $"__{lemma}__";
try
{
answ = SteamWare.user_std.UtSn.Traduci(lemma);
}
catch
{ }
return answ;
}
#endregion Public Methods
+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
}
}
}
+316 -279
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;
@@ -136,6 +137,8 @@ namespace NKC_WF.Controllers
* - è 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)
*
*************************************************/
if (batchProcAnsw.OrderType == oType.BatchRequest)
{
@@ -146,139 +149,151 @@ namespace NKC_WF.Controllers
// deserializzo come BatchreqIniziale (stima)
nestReplyBatchInitial rispStima = JsonConvert.DeserializeObject<nestReplyBatchInitial>(content);
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveEstAnsw(rispStima);
// recupero info sul batch / KIT specifico x capire se sia di tipo "validation"
bool isValidation = false;
bool isTesting = false;
var tabOrd = DLMan.taOL.getByBatch(rispStima.BatchID);
if (tabOrd.Count > 0)
// verifica preliminare che il batch possa accettare la risposta
var currBatchStatus = ComLib.BStatus(rispStima.BatchID);
if (currBatchStatus != BatchStatus.EstimationRequested)
{
isValidation = tabOrd[0].OrdType == "V";
isTesting = tabOrd[0].OrdType == "T";
string message = $"Impossibile processing risposta da EgtNest | ProcType: {batchProcAnsw.ProcType} | BatchID: {rispStima.BatchID} | stato: {currBatchStatus}";
logger.lg.scriviLog(message, tipoLog.ERROR);
// registro KO
answ = "KO";
}
// calcolo status del batch...
switch (rispStima.ProcessStatus)
else
{
case procStatus.waiting:
case procStatus.running:
bStatus = 1;
break;
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveEstAnsw(rispStima);
case procStatus.completed:
if (isValidation || isTesting)
{
bool pdfOk = true;
// se richiesto CheckPDF
if (memLayer.ML.CRB("checkPdfPathTV"))
// recupero info sul batch / KIT specifico x capire se sia di tipo "validation"
bool isValidation = false;
bool isTesting = false;
var tabOrd = DLMan.taOL.getByBatch(rispStima.BatchID);
if (tabOrd.Count > 0)
{
isValidation = tabOrd[0].OrdType == "V";
isTesting = tabOrd[0].OrdType == "T";
}
// calcolo status del batch...
switch (rispStima.ProcessStatus)
{
case procStatus.waiting:
case procStatus.running:
bStatus = 1;
break;
case procStatus.completed:
if (isValidation || isTesting)
{
// verifico PDF, se NON OK --> errore
string pdfPath = "";
foreach (var item in rispStima.PartList)
bool pdfOk = true;
// se richiesto CheckPDF
if (memLayer.ML.CRB("checkPdfPathTV"))
{
pdfOk = pdfOk && ComLib.checkPdfExistAccessible(item, out pdfPath);
if (!pdfOk)
// verifico PDF, se NON OK --> errore
string pdfPath = "";
foreach (var item in rispStima.PartList)
{
// codice è B.xxx dove xxx = BatchID
DLMan.taEL.insertQuery(DateTime.Now, "Check PDF path", $"B.{rispStima.BatchID}", $"{rispStima.BatchID}.{item.PartExtCode}", $"Error: PDF file not found: {pdfPath}");
pdfOk = pdfOk && ComLib.checkPdfExistAccessible(item, out pdfPath);
if (!pdfOk)
{
// codice è B.xxx dove xxx = BatchID
DLMan.taEL.insertQuery(DateTime.Now, "Check PDF path", $"B.{rispStima.BatchID}", $"{rispStima.BatchID}.{item.PartExtCode}", $"Error: PDF file not found: {pdfPath}");
}
}
}
}
// se non OK --> registro errore...
if (!pdfOk)
{
bStatus = 9;
}
// verifico se il tempo di procesisng stimato sia > minimo...
else if (rispStima.EstimatedWorktime > memLayer.ML.CRI("minValidEstSec"))
{
bStatus = 10;
// se non OK --> registro errore...
if (!pdfOk)
{
bStatus = 9;
}
// verifico se il tempo di procesisng stimato sia > minimo...
else if (rispStima.EstimatedWorktime > memLayer.ML.CRI("minValidEstSec"))
{
bStatus = 10;
}
else
{
bStatus = 9;
}
}
else
{
bStatus = 2;
}
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.refused:
if (isValidation || isTesting)
{
bStatus = 9;
}
}
else
{
bStatus = 2;
}
break;
else
{
bStatus = 6;
}
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.error:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 7;
}
break;
case procStatus.refused:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 6;
}
break;
case procStatus.error:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 7;
}
break;
case procStatus.aborted:
default:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 0;
}
break;
}
// SALVO info riguardo al batch running
DLMan.taBL.updateStatus(rispStima.BatchID, bStatus, rispStima.EnvNum, (decimal)rispStima.EstimatedWorktime / 60);
// salvo update elenco ITEMS
ComLib.updatePartsFromNesting(rispStima.PartList);
// aggiorno cadPath x items che non abbiano valorizzato...
string dxfFolder = memLayer.ML.CRS("drawingFolder");
if (isTesting)
{
dxfFolder = memLayer.ML.CRS("fileTestFolder");
}
string cadBasePath = $"{memLayer.ML.CRS("nestBasePath")}{dxfFolder}/";
DLMan.taIL.updateCadPath(cadBasePath, rispStima.BatchID, false);
// verifico IN CASO di validazione andata a buon fine --> valorizzo tabella!
if (bStatus > 7)
{
if (isValidation)
case procStatus.aborted:
default:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 0;
}
break;
}
// SALVO info riguardo al batch running
DLMan.taBL.updateStatus(rispStima.BatchID, bStatus, rispStima.EnvNum, (decimal)rispStima.EstimatedWorktime / 60);
// salvo update elenco ITEMS
ComLib.updatePartsFromNesting(rispStima.PartList);
// aggiorno cadPath x items che non abbiano valorizzato...
string dxfFolder = memLayer.ML.CRS("drawingFolder");
if (isTesting)
{
// recupero ordine da batch
if (tabOrd.Count > 0)
dxfFolder = memLayer.ML.CRS("fileTestFolder");
}
string cadBasePath = $"{memLayer.ML.CRS("nestBasePath")}{dxfFolder}/";
DLMan.taIL.updateCadPath(cadBasePath, rispStima.BatchID, false);
// verifico IN CASO di validazione andata a buon fine --> valorizzo tabella!
if (bStatus > 7)
{
if (isValidation)
{
DLMan.taIV.upsertQuery(tabOrd[0].OrderExtCode, rispStima.BatchID, bStatus, rispStima.EstimatedWorktime);
}
}
else if (isTesting)
{
// recupero ordine da batch
if (tabOrd.Count > 0)
{
DLMan.taFV.upsertQuery(tabOrd[0].OrderExtCode, rispStima.BatchID, bStatus, rispStima.EstimatedWorktime);
// recupero ordine da batch
if (tabOrd.Count > 0)
{
DLMan.taIV.upsertQuery(tabOrd[0].OrderExtCode, rispStima.BatchID, bStatus, rispStima.EstimatedWorktime);
}
}
else if (isTesting)
{
// recupero ordine da batch
if (tabOrd.Count > 0)
{
DLMan.taFV.upsertQuery(tabOrd[0].OrderExtCode, rispStima.BatchID, bStatus, rispStima.EstimatedWorktime);
}
}
}
// registro OK
answ = "OK";
}
// registro OK
answ = "OK";
}
// stima "extended" x splitting
else if (batchProcAnsw.ProcType == 3)
@@ -286,124 +301,141 @@ namespace NKC_WF.Controllers
int bStatus = 0;
// deserializzo come BatchreqIniziale (stima)
nestReplyBatchExtEst rispStima = JsonConvert.DeserializeObject<nestReplyBatchExtEst>(content);
// salvo su mongoDb la risposta...
ComLib.man.saveExtEstAnsw(rispStima);
// recupero info sul batch / KIT specifico x capire se sia di tipo "validation"
bool isValidation = false;
bool isTesting = false;
var tabOrd = DLMan.taOL.getByBatch(rispStima.BatchID);
if (tabOrd.Count > 0)
// verifica preliminare che il batch possa accettare la risposta
var currBatchStatus = ComLib.BStatus(rispStima.BatchID);
if (currBatchStatus != BatchStatus.EstimationRequested)
{
isValidation = tabOrd[0].OrdType == "V";
isTesting = tabOrd[0].OrdType == "T";
string message = $"Impossibile processing risposta da EgtNest | ProcType: {batchProcAnsw.ProcType} | BatchID: {rispStima.BatchID} | stato: {currBatchStatus}";
logger.lg.scriviLog(message, tipoLog.ERROR);
// registro KO
answ = "KO";
}
// calcolo status del batch...
switch (rispStima.ProcessStatus)
else
{
case procStatus.waiting:
case procStatus.running:
bStatus = 1;
break;
// salvo su mongoDb la risposta...
ComLib.man.saveExtEstAnsw(rispStima);
case procStatus.completed:
if (isValidation || isTesting)
{
bool pdfOk = true;
// se richiesto CheckPDF
if (memLayer.ML.CRB("checkPdfPathTV"))
// recupero info sul batch / KIT specifico x capire se sia di tipo "validation"
bool isValidation = false;
bool isTesting = false;
var tabOrd = DLMan.taOL.getByBatch(rispStima.BatchID);
if (tabOrd.Count > 0)
{
isValidation = tabOrd[0].OrdType == "V";
isTesting = tabOrd[0].OrdType == "T";
}
// calcolo status del batch...
switch (rispStima.ProcessStatus)
{
case procStatus.waiting:
case procStatus.running:
bStatus = 1;
break;
case procStatus.completed:
if (isValidation || isTesting)
{
// verifico PDF, se NON OK --> errore
string pdfPath = "";
foreach (var item in rispStima.PartList)
bool pdfOk = true;
// se richiesto CheckPDF
if (memLayer.ML.CRB("checkPdfPathTV"))
{
pdfOk = pdfOk && ComLib.checkPdfExistAccessible(item, out pdfPath);
if (!pdfOk)
// verifico PDF, se NON OK --> errore
string pdfPath = "";
foreach (var item in rispStima.PartList)
{
// codice è B.xxx dove xxx = BatchID
DLMan.taEL.insertQuery(DateTime.Now, "Check PDF path", $"B.{rispStima.BatchID}", $"{rispStima.BatchID}.{item.PartExtCode}", $"Error: PDF file not found: {pdfPath}");
pdfOk = pdfOk && ComLib.checkPdfExistAccessible(item, out pdfPath);
if (!pdfOk)
{
// codice è B.xxx dove xxx = BatchID
DLMan.taEL.insertQuery(DateTime.Now, "Check PDF path", $"B.{rispStima.BatchID}", $"{rispStima.BatchID}.{item.PartExtCode}", $"Error: PDF file not found: {pdfPath}");
}
}
}
}
// se non OK --> registro errore...
if (!pdfOk)
{
bStatus = 9;
}
// verifico se il tempo di procesisng stimato sia > minimo...
else if (rispStima.EstimatedWorktime > memLayer.ML.CRI("minValidEstSec"))
{
bStatus = 10;
// se non OK --> registro errore...
if (!pdfOk)
{
bStatus = 9;
}
// verifico se il tempo di procesisng stimato sia > minimo...
else if (rispStima.EstimatedWorktime > memLayer.ML.CRI("minValidEstSec"))
{
bStatus = 10;
}
else
{
bStatus = 9;
}
}
else
{
bStatus = 2;
}
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.refused:
if (isValidation || isTesting)
{
bStatus = 9;
}
}
else
{
bStatus = 2;
}
break;
else
{
bStatus = 6;
}
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.error:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 7;
}
break;
case procStatus.refused:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 6;
}
break;
case procStatus.aborted:
default:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 0;
}
break;
}
// SALVO info riguardo al batch running
DLMan.taBL.updateStatus(rispStima.BatchID, bStatus, rispStima.EnvNum, (decimal)rispStima.EstimatedWorktime / 60);
// salvo update elenco ITEMS
if (rispStima.PartList != null && rispStima.PartList.Count > 0)
{
ComLib.updatePartsFromNesting(rispStima.PartList);
}
case procStatus.error:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 7;
}
break;
// aggiorno la risposta dei tempi di esecuzione (+ NUM cart/part) degli ordini x permettere aggiustamenti
if (rispStima.EstOrderList != null && rispStima.EstOrderList.Count > 0)
{
ComLib.updateExtEstimFromNesting(rispStima.BatchID, rispStima.EstOrderList);
}
case procStatus.aborted:
default:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 0;
}
break;
// aggiorno cadPath x items che non abbiano valorizzato...
string dxfFolder = memLayer.ML.CRS("drawingFolder");
if (isTesting)
{
dxfFolder = memLayer.ML.CRS("fileTestFolder");
}
string cadBasePath = $"{memLayer.ML.CRS("nestBasePath")}{dxfFolder}/";
DLMan.taIL.updateCadPath(cadBasePath, rispStima.BatchID, false);
// registro OK
answ = "OK";
}
// SALVO info riguardo al batch running
DLMan.taBL.updateStatus(rispStima.BatchID, bStatus, rispStima.EnvNum, (decimal)rispStima.EstimatedWorktime / 60);
// salvo update elenco ITEMS
ComLib.updatePartsFromNesting(rispStima.PartList);
// aggiorno la risposta dei tempi di esecuzione (+ NUM cart/part) degli ordini x permettere aggiustamenti
ComLib.updateExtEstimFromNesting(rispStima.BatchID, rispStima.EstOrderList);
// aggiorno cadPath x items che non abbiano valorizzato...
string dxfFolder = memLayer.ML.CRS("drawingFolder");
if (isTesting)
{
dxfFolder = memLayer.ML.CRS("fileTestFolder");
}
string cadBasePath = $"{memLayer.ML.CRS("nestBasePath")}{dxfFolder}/";
DLMan.taIL.updateCadPath(cadBasePath, rispStima.BatchID, false);
// registro OK
answ = "OK";
}
// nesting
else if (batchProcAnsw.ProcType == 2)
@@ -411,81 +443,86 @@ namespace NKC_WF.Controllers
// deserializzo come BatchreqFinale
nestReplyBatchFinal rispNest = JsonConvert.DeserializeObject<nestReplyBatchFinal>(content);
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveNestAnsw(rispNest);
// calcolo status del batch...
int bStatus = 2;
switch (rispNest.ProcessStatus)
// verifica preliminare che il batch possa accettare la risposta
var currBatchStatus = ComLib.BStatus(rispNest.BatchID);
if (currBatchStatus != BatchStatus.NestRequested)
{
case procStatus.waiting:
case procStatus.running:
bStatus = 3;
break;
case procStatus.completed:
bStatus = 4;
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.refused:
bStatus = 6;
break;
case procStatus.error:
bStatus = 7;
break;
case procStatus.aborted:
default:
bStatus = 2;
break;
string message = $"Impossibile processing risposta da EgtNest | ProcType: {batchProcAnsw.ProcType} | BatchID: {rispNest.BatchID} | stato: {currBatchStatus}";
logger.lg.scriviLog(message, tipoLog.ERROR);
// registro KO
answ = "KO";
}
// aggiorno il resto SOLO SE status == completo...
if (rispNest.ProcessStatus == procStatus.completed || rispNest.ProcessStatus == procStatus.error)
else
{
// resetto le precedenti elaborazioni: elimino dati child MA NON il batch...
DLMan.taBL.resetTree(rispNest.BatchID);
// SALVO info riguardo al batch completato
DLMan.taBL.updateStatus(rispNest.BatchID, bStatus, rispNest.EnvNum, (decimal)rispNest.EstimatedWorktime / 60);
// salvo info riguardo ai vari Bunk / Sheets / Items...
ComLib.updateBunksFromNesting(rispNest.BatchID, rispNest.BunkList);
// salvo info x CART & BINS previsti
ComLib.updateBinsFromNesting(rispNest.BatchID, rispNest.BinList);
ComLib.updateCartsFromNesting(rispNest.BatchID, rispNest.CartList);
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveNestAnsw(rispNest);
// NKC2: se è un batch ti dipo descendant
if (ComLib.BType(rispNest.BatchID) == BatchType.Descendant)
// calcolo status del batch...
int bStatus = 2;
switch (rispNest.ProcessStatus)
{
// verifico se ce ne siano altri NON validati (ma splitted)
var tabDesc = ComLib.BatchOtherDescendant(rispNest.BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
// ciclo x tutte le righe che NON fossero con nesting effettuato
foreach (var item in tabDesc)
{
// se c'è qualcosa da processare lo richiede
if (item.STATUS == 2)
{
// invio il PRIMO batch descendant
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
isSplitReq = true;
// esco
break;
}
// se non ha trovato nulla --> prova update Batch Ancestor...
}
}
}
}
case procStatus.waiting:
case procStatus.running:
bStatus = 3;
break;
// registro OK
answ = "OK";
case procStatus.completed:
bStatus = 4;
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.refused:
bStatus = 6;
break;
case procStatus.error:
bStatus = 7;
break;
case procStatus.aborted:
default:
bStatus = 2;
break;
}
// aggiorno il resto SOLO SE status == completo...
if (rispNest.ProcessStatus == procStatus.completed || rispNest.ProcessStatus == procStatus.error)
{
// resetto le precedenti elaborazioni: elimino dati child MA NON il batch...
DLMan.taBL.resetTree(rispNest.BatchID);
// SALVO info riguardo al batch completato
DLMan.taBL.updateStatus(rispNest.BatchID, bStatus, rispNest.EnvNum, (decimal)rispNest.EstimatedWorktime / 60);
// salvo info riguardo ai vari Bunk / Sheets / Items...
if (rispNest.BunkList != null && rispNest.BunkList.Count > 0)
{
ComLib.updateBunksFromNesting(rispNest.BatchID, rispNest.BunkList);
}
// salvo info x CART & BINS previsti
if (rispNest.BinList != null && rispNest.BinList.Count > 0)
{
ComLib.updateBinsFromNesting(rispNest.BatchID, rispNest.BinList);
}
if (rispNest.CartList != null && rispNest.CartList.Count > 0)
{
ComLib.updateCartsFromNesting(rispNest.BatchID, rispNest.CartList);
}
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
answ = "OK";
}
}
}
else if (batchProcAnsw.OrderType == oType.OfflineOrder)
@@ -539,7 +576,7 @@ namespace NKC_WF.Controllers
answ = "WRONG DATA (expected baseNestAnsw object)";
}
}
catch (Exception exc)
catch
{
answ = "NO";
}
+4 -8
View File
@@ -62,7 +62,7 @@ namespace NKC_WF.Controllers
}
else
{
answ = ComLib.prodGetBunk(id);
answ = ComLib.prodGetBunk(id, CodPost);
}
}
catch
@@ -154,14 +154,10 @@ namespace NKC_WF.Controllers
foreach (var item in currBunk.SheetList)
{
DLMan.taSHL.updateDate(item.SheetId, item.Printing.DtStart, item.Printing.DtEnd, item.Machining.DtStart, item.Machining.DtEnd, item.Unloading.DtStart, item.Unloading.DtEnd, (int)item.Status);
// verifico SE SIA AVVENUTO CON SUCCESSO lo step di lavorazione...
if (item.Machining.Success)
// SE machining completato --> status a LAVORATO!
if (item.Machining.DtEnd != null)
{
// SE machining completato --> status a LAVORATO!
if (item.Machining.DtEnd != null)
{
DLMan.taIL.updateSheetStatus(item.SheetId, 1, "PROD");
}
DLMan.taIL.updateSheetStatus(item.SheetId, 1, "PROD");
}
}
}
+9 -85
View File
@@ -42,22 +42,20 @@ namespace NKC_WF.Controllers
/// </summary>
/// <returns></returns>
[HttpGet]
public List<MachineStatData> Get()
public MachineStatData Get()
{
List<MachineStatData> answ = new List<MachineStatData>();
MachineStatData answ = new MachineStatData();
try
{
answ = ComLib.prodMachStateDataGet();
answ = ComLib.prodMachStateDataGet(machine);
}
catch
{ }
// se vuoto metto 1 finto...
if (answ.Count == 0)
if (answ == null)
{
var demoItem = new MachineStatData();
demoItem.Records.Add(new MachineStatRecord());
answ.Add(demoItem);
answ = new MachineStatData() { Machine = machine };
}
return answ;
@@ -72,14 +70,10 @@ namespace NKC_WF.Controllers
[HttpGet]
public MachineStatData Get(string id)
{
MachineStatData answ = new MachineStatData();
MachineStatData answ = new MachineStatData() { Machine = id };
try
{
var listState = ComLib.prodMachStateDataGet();
if (listState != null && listState.Count > 0)
{
answ = listState.Where(x => x.Machine == id).FirstOrDefault();
}
answ = ComLib.prodMachStateDataGet(id);
}
catch
{ }
@@ -103,82 +97,12 @@ namespace NKC_WF.Controllers
*
**************************************/
#if false
/// <summary>
/// Processa una chiamata POST per l'invio in blocco
/// POST: api/Bunk
/// </summary>
/// <returns></returns>
[HttpPost]
public string Post()
{
int BunkId = 0;
int BatchId = 0;
string answ = "";
// questa classe è derivata da Controller.Response... x cui recupero lo stream in altro modo...
string content = "";
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
using (var reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream, System.Text.Encoding.UTF8, true, 4096, true))
{
content = reader.ReadToEnd();
}
//Rest
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
// procedo a deserializzare in blocco l'oggetto...
try
{
// deserializzo.
SheetWorkList sheetUpdated = JsonConvert.DeserializeObject<SheetWorkList>(content);
if (sheetUpdated != null)
{
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveProdAnsw(sheetUpdated);
if (sheetUpdated.SheetList != null)
{
foreach (var currSheet in sheetUpdated.SheetList)
{
// se non nullo...
if (currSheet != null)
{
DLMan.taSHL.updateDate(currSheet.SheetId, currSheet.Printing.DtStart, currSheet.Printing.DtEnd, currSheet.Machining.DtStart, currSheet.Machining.DtEnd, currSheet.Unloading.DtStart, currSheet.Unloading.DtEnd, (int)currSheet.Status);
// SE machining completato --> status a LAVORATO x item!
if (currSheet.Machining.DtEnd != null)
{
// hard coded su multiax
DLMan.taIL.updateSheetStatus(currSheet.SheetId, 1, "WRK001");
}
// segnalo avanzamento su redis x pagina unload
ComLib.advaceSheetRevByBunk(currSheet.BunkId);
BunkId = currSheet.BunkId;
answ = "OK";
}
}
}
var tabBunks = DLMan.taSTL.getByKey(BunkId);
if (tabBunks.Count > 0)
{
BatchId = tabBunks[0].BatchID;
}
// ricalcolo stato BUNK
ComLib.updateBatchPosition(BatchId);
// INVALIDO eventuale valore BUNK in REDIS...
ComLib.resetRedisBunkData(machine);
}
}
catch
{
answ = "NO";
}
return answ;
}
#endif
/// <summary>
/// Effettua la chiamata di update x un set di dati delle macchine
/// </summary>
/// <param name="MSDUpdated">Oggetto con macchina + Elenco record da aggiornare</param>
// PUT: api/Sheet/5
/// <param name="updatedInfo">Oggetto con macchina + Elenco record da aggiornare</param>
// PUT: api/Sheet
[HttpPut]
public void Put(MachineStatData updatedInfo)
{
+10 -14
View File
@@ -33,7 +33,7 @@ namespace NKC_WF.Controllers
public SheetWorkList Get()
{
// fisso su machcina 1
string machineName = "WRK001";
string machineName = "NE02";
SheetWorkList answ = null;
try
{
@@ -45,8 +45,8 @@ namespace NKC_WF.Controllers
}
/// <summary>
/// Ottengo elenco specifico dato cod MACCHINA
/// GET: api/Sheet/WRK001
/// Ottengo elenco specifico dato cod MACCHINA (es NE01)
/// GET: api/Sheet/NE01
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
@@ -121,7 +121,7 @@ namespace NKC_WF.Controllers
if (currSheet.Machining.DtEnd != null)
{
// hard coded su multiax
DLMan.taIL.updateSheetStatus(currSheet.SheetId, 1, "WRK001");
DLMan.taIL.updateSheetStatus(currSheet.SheetId, 1, sheetUpdated.Machine);
}
// segnalo avanzamento su redis x pagina unload
ComLib.advaceSheetRevByBunk(currSheet.BunkId);
@@ -152,7 +152,7 @@ namespace NKC_WF.Controllers
/// Effettua la chiamata di update x SINGOLO foglio
/// </summary>
/// <param name="sheetUpdated">Oggetto con Elenco fogli da aggiornare</param>
// PUT: api/Sheet/machine_ID
/// PUT: api/Sheet/machine_ID
[HttpPut]
public void Put(SheetWorkList sheetUpdated)
{
@@ -174,15 +174,11 @@ namespace NKC_WF.Controllers
if (currSheet != null)
{
DLMan.taSHL.updateDate(currSheet.SheetId, currSheet.Printing.DtStart, currSheet.Printing.DtEnd, currSheet.Machining.DtStart, currSheet.Machining.DtEnd, currSheet.Unloading.DtStart, currSheet.Unloading.DtEnd, (int)currSheet.Status);
// verifico SE SIA AVVENUTO CON SUCCESSO lo step di lavorazione...
if (currSheet.Machining.Success)
// SE machining completato --> status a LAVORATO!
if (currSheet.Machining.DtEnd != null)
{
// SE machining completato --> status a LAVORATO!
if (currSheet.Machining.DtEnd != null)
{
// hard coded su multiax
DLMan.taIL.updateSheetStatus(currSheet.SheetId, 1, machine);
}
// hard coded su multiax
DLMan.taIL.updateSheetStatus(currSheet.SheetId, 1, sheetUpdated.Machine);
}
// segnalo avanzamento su redis x pagina unload
ComLib.advaceSheetRevByBunk(currSheet.BunkId);
@@ -199,7 +195,7 @@ namespace NKC_WF.Controllers
// ricalcolo stato BUNK
ComLib.updateBatchPosition(BatchId);
// INVALIDO eventuale valore BUNK in REDIS...
ComLib.resetRedisBunkData(machine);
ComLib.resetRedisBunkData(sheetUpdated.Machine);
}
}
+1 -1
View File
@@ -103,7 +103,7 @@ namespace NKC_WF.Controllers
/// GET api/SheetStats/5
/// </summary>
/// <param name="id">BatchID</param>
/// <param name="maxHour">num max ore da mostrare</param>
/// <param name="MaxHour">num max ore da mostrare</param>
/// <returns></returns>
public List<chartJsTSerie> Get(int id, int MaxHour)
{
+6 -1
View File
@@ -1,4 +1,5 @@
using System;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
@@ -9,6 +10,8 @@ namespace NKC_WF.ErrorPages
{
public partial class _400 : BasePage
{
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
@@ -21,5 +24,7 @@ namespace NKC_WF.ErrorPages
cmp_errorDetail.ErrorExpl = traduci("Err400Expl");
cmp_errorDetail.UserName = string.IsNullOrEmpty(User.Identity.Name) ? "N.A." : User.Identity.Name;
}
#endregion Protected Methods
}
}
+6 -2
View File
@@ -6,17 +6,21 @@ namespace NKC_WF.ErrorPages
{
public partial class Oops : BasePage
{
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
if (!Page.IsPostBack)
{
var thisMaster = ((SiteContent)this.Master);
thisMaster.showSearch = false;
thisMaster.enableAnonym = true;
}
cmp_errorDetail.ErrorTitle = traduci("SomeErrorOccurred");
cmp_errorDetail.ErrorExpl = string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath"))?"N.A.": traduci(memLayer.ML.QSS("aspxerrorpath"));
cmp_errorDetail.ErrorExpl = string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath")) ? "N.A." : traduci(memLayer.ML.QSS("aspxerrorpath"));
cmp_errorDetail.UserName = string.IsNullOrEmpty(User.Identity.Name) ? "N.A." : User.Identity.Name;
}
#endregion Protected Methods
}
}
+28 -25
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>
@@ -66,8 +66,8 @@
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath>
</Reference>
<Reference Include="DnsClient, Version=1.4.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.4.0\lib\net45\DnsClient.dll</HintPath>
<Reference Include="DnsClient, Version=1.5.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.5.0\lib\net45\DnsClient.dll</HintPath>
</Reference>
<Reference Include="Elmah, Version=1.2.14706.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\elmah.corelibrary.1.2.2\lib\Elmah.dll</HintPath>
@@ -91,23 +91,23 @@
<Reference Include="Microsoft.Web.RedisSessionStateProvider, Version=4.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.RedisSessionStateProvider.4.0.1\lib\net462\Microsoft.Web.RedisSessionStateProvider.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=2.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.12.4\lib\net452\MongoDB.Bson.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.13.1\lib\net452\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.12.4\lib\net452\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.13.1\lib\net452\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.12.4\lib\net452\MongoDB.Driver.Core.dll</HintPath>
<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.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.2.1\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,20 +118,20 @@
<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>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.2.4\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.2.62\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare, Version=5.1.2107.759, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.1.2107.759\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.2107.759, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.1.2107.759\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>
@@ -207,6 +207,9 @@
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll</HintPath>
@@ -1891,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>
@@ -1919,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.1\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.2.1\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.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.
@@ -1948,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.1\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.2.1\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.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>
+48 -3
View File
@@ -1,6 +1,6 @@
[
{
"name": "queueUnloadBin",
"name": "queueUnloadBinNE01",
"template": "Bin.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
@@ -15,7 +15,37 @@
}
},
{
"name": "queueUnloadCart",
"name": "queueUnloadBinNE02",
"template": "Bin.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queueUnloadCartNE01",
"template": "Cart.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queueUnloadCartNE02",
"template": "Cart.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
@@ -75,7 +105,22 @@
}
},
{
"name": "queuePart",
"name": "queuePartNE01",
"template": "Part.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "2in",
"PageWidth": "4.09in",
"MarginLeft": "0in",
"MarginRight": "0in",
"MarginTop": "0in",
"MarginBottom": "0in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>4.09in</PageWidth><PageHeight>2in</PageHeight><MarginTop>0in</MarginTop><MarginLeft>0in</MarginLeft><MarginRight>0in</MarginRight><MarginBottom>0in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queuePartNE02",
"template": "Part.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
+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>
+229 -226
View File
@@ -6,428 +6,431 @@
<configuration>
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/>
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/>
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
</configSections>
<system.web>
<compilation targetFramework="4.6.2" debug="true"/>
<httpRuntime targetFramework="4.6.2"/>
<compilation targetFramework="4.6.2" debug="true" />
<httpRuntime targetFramework="4.6.2" />
<pages>
<namespaces>
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Optimization" />
</namespaces>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
</controls>
</pages>
<sessionState mode="Custom" customProvider="MySessionStateStore">
<providers>
<add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="127.0.0.1" accessKey="" ssl="false"
applicationName="NKC" databaseId="0" timeout="120"/>
applicationName="NKC" databaseId="2" timeout="480" />
</providers>
</sessionState>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
</httpModules>
<!--Nascondo gli erroracci-->
<!--<customErrors mode="On" defaultRedirect="~/site/Default" />-->
<!--<customErrors mode="On" defaultRedirect="~/" />-->
<!--<customErrors mode="On" defaultRedirect="~/ErrorPages/Oops.aspx">-->
<customErrors mode="RemoteOnly" defaultRedirect="~/ErrorPages/Oops.aspx">
<error statusCode="400" redirect="~/ErrorPages/400.aspx"/>
<error statusCode="401" redirect="~/ErrorPages/401.aspx"/>
<error statusCode="403" redirect="~/ErrorPages/403.aspx"/>
<error statusCode="404" redirect="~/ErrorPages/404.aspx"/>
<error statusCode="500" redirect="~/ErrorPages/500.aspx"/>
<error statusCode="503" redirect="~/ErrorPages/503.aspx"/>
<error statusCode="400" redirect="~/ErrorPages/400.aspx" />
<error statusCode="401" redirect="~/ErrorPages/401.aspx" />
<error statusCode="403" redirect="~/ErrorPages/403.aspx" />
<error statusCode="404" redirect="~/ErrorPages/404.aspx" />
<error statusCode="500" redirect="~/ErrorPages/500.aspx" />
<error statusCode="503" redirect="~/ErrorPages/503.aspx" />
</customErrors>
<!--Mostro gli erroracci-->
<!--<customErrors mode="Off" />-->
</system.web>
<appSettings>
<!--Configurazioni generali-->
<add key="intUpdatePagina_ms" value="120000"/>
<add key="appName" value="NKC"/>
<add key="CodModulo" value="NKC"/>
<add key="copyRight" value="Egaltech &amp; Steamware "/>
<add key="authSenzaDominio" value="true"/>
<add key="_safePages" value="Test#Home#Default"/>
<add key="BaseUrl" value="http://IIS02/NKC"/>
<add key="intUpdatePagina_ms" value="120000" />
<add key="appName" value="NKC" />
<add key="CodModulo" value="NKC" />
<add key="copyRight" value="Egaltech &amp; Steamware " />
<add key="authSenzaDominio" value="true" />
<add key="_safePages" value="Test#Home#Default" />
<add key="_righeDataGridAnagr" value="20" />
<add key="BaseUrl" value="http://IIS02/NKC" />
<!--Updater area-->
<add key="downloadPath" value="c:\Steamware\installers\"/>
<add key="appVers" value="master"/>
<add key="downloadPath" value="c:\Steamware\installers\" />
<add key="appVers" value="master" />
<!--area logger-->
<add key="_logDir" value="~/logs/"/>
<add key="enableDumpDiag" value="false"/>
<add key="doShrinkFolder" value="true"/>
<add key="_logLevel" value="6"/>
<add key="_logMaxMb" value="30"/>
<add key="logMitigSec" value="30"/>
<add key="_logDir" value="~/logs/" />
<add key="enableDumpDiag" value="false" />
<add key="doShrinkFolder" value="true" />
<add key="_logLevel" value="6" />
<add key="_logMaxMb" value="30" />
<add key="logMitigSec" value="30" />
<!--Impostazione gestione serializzazione variabili in sessione (es per Redis)-->
<add key="serializeSession" value="true"/>
<add key="errorPageRedirect" value="./Reset?Action=CDV"/>
<add key="maxAgeAppConf_min" value="5"/>
<add key="serializeSession" value="true" />
<add key="errorPageRedirect" value="./Reset?Action=CDV" />
<add key="maxAgeAppConf_min" value="5" />
<!--minima durata x validità in stima PARTS singole -->
<add key="minValidEstSec" value="2"/>
<add key="minValidEstSec" value="2" />
<!--Configurazioni Redis-->
<add key="RedisConn" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=nkc.password"/>
<add key="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=nkc.password,allowAdmin=true"/>
<add key="redisDb" value="0"/>
<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" />
<add key="cacheDataTTL" value="2" />
<!--MongoDB-->
<add key="mdbConnString" value="mongodb://W2019-MONGODB:27017"/>
<add key="enableMongo" value="true"/>
<add key="mdbConnString" value="mongodb://W2019-MONGODB:27017" />
<add key="enableMongo" value="true" />
<!--Configurazioni DB per classi referenziate AppData e Steamware dll-->
<add key="NKC_WFConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;"/>
<add key="DbConfConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;"/>
<add key="NKC_WFConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="DbConfConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="VocabolarioConnectionString"
value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;"/>
value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="UtenteCdcConnectionString"
value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;"/>
value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="PermessiConnectionString"
value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;"/>
value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
</appSettings>
<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"/>
providerName="System.Data.SqlClient" />
<add name="ErrorLog" connectionString="Data Source=SQL2016DEV;Initial Catalog=Elmah;Persist Security Info=True;User ID=sa;Password=keyhammer16;"
providerName="System.Data.SqlClient"/>
providerName="System.Data.SqlClient" />
</connectionStrings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574BB5573C51424" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.3.2.0" newVersion="1.3.2.0"/>
<assemblyIdentity name="DnsClient" publicKeyToken="4574BB5573C51424" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.2.0" newVersion="1.3.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XmlSerializer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Xml.XmlSerializer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Xml.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="CC7B13FFCD2DDD51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="CC7B13FFCD2DDD51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Timer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Threading.Timer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Threading.Tasks.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Overlapped" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
<assemblyIdentity name="System.Threading.Overlapped" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Threading" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Text.Encoding.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Text.Encoding" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.SecureString" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
<assemblyIdentity name="System.Security.SecureString" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Principal" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Security.Principal" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0"/>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Xml" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0"/>
<assemblyIdentity name="System.Runtime.Serialization.Xml" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Json" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Runtime.Serialization.Json" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Numerics" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Runtime.Numerics" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Resources.ResourceManager" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Resources.ResourceManager" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Reflection.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Reflection.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Reflection" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ObjectModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.ObjectModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Sockets" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<assemblyIdentity name="System.Net.Sockets" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Requests" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Net.Requests" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Net.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.NetworkInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Net.NetworkInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.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"/>
<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.Linq.Queryable" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Linq.Queryable" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Linq.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Expressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Linq.Expressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.Linq" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
<assemblyIdentity name="System.IO" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.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"/>
<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.Globalization.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
<assemblyIdentity name="System.Globalization.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Globalization" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Globalization" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Dynamic.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Dynamic.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tools" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Diagnostics.Tools" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Debug" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Diagnostics.Debug" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Contracts" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.Diagnostics.Contracts" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.Common" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<assemblyIdentity name="System.Data.Common" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel.EventBasedAsync" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.ComponentModel.EventBasedAsync" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
<assemblyIdentity name="System.ComponentModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Collections" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Concurrent" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<assemblyIdentity name="System.Collections.Concurrent" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.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"/>
<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="Antlr3.Runtime" publicKeyToken="eb42632606e9261f"/>
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0"/>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.7.0" newVersion="5.2.7.0"/>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.7.0" newVersion="5.2.7.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"/>
<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"/>
<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"/>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<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"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
<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"/>
<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="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0"/>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574bb5573c51424" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.3.2.0" newVersion="1.3.2.0"/>
<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.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1"/>
<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"/>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.2.10" newVersion="1.3.2.10" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.webServer>
<modules>
<remove name="Session"/>
<remove name="Session" />
<add name="Session"
type="Microsoft.AspNet.SessionState.SessionStateModuleAsync, Microsoft.AspNet.SessionState.SessionStateModule, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
preCondition="integratedMode"/>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler"/>
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler"/>
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler"/>
preCondition="integratedMode" />
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
</modules>
<validation validateIntegratedModeConfiguration="false"/>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler"/>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0"/>
preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00"/>
<remove fileExtension=".woff"/>
<remove fileExtension=".woff2"/>
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2"/>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
</system.webServer>
<elmah>
@@ -435,21 +438,21 @@
See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for
more information on remote access and securing ELMAH.
-->
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ErrorLog"/>
<security allowRemoteAccess="false"/>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ErrorLog" />
<security allowRemoteAccess="false" />
</elmah>
<!--Autorizzaione di windows FORZATA solo sulla subdir SITE-->
<location path="site">
<system.web>
<authorization>
<deny users="?"/>
<deny users="?" />
</authorization>
</system.web>
</location>
<location path="elmah.axd" inheritInChildApplications="false">
<system.web>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<!--
See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for
@@ -463,17 +466,17 @@
</system.web>
<system.webServer>
<handlers>
<add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode"/>
<add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
</handlers>
</system.webServer>
</location>
<system.codedom>
<compilers>
<compiler extension=".cs" language="c#;cs;csharp" warningLevel="4" compilerOptions="/langversion:7.0 /nowarn:1659;1699;1701;612;618"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<compiler extension=".vb" language="vb;vbs;visualbasic;vbscript" warningLevel="4"
compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</compilers>
<compiler extension=".cs" language="c#;cs;csharp" warningLevel="4" compilerOptions="/langversion:7.0 /nowarn:1659;1699;1701;612;618"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<compiler extension=".vb" language="vb;vbs;visualbasic;vbscript" warningLevel="4"
compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</compilers>
</system.codedom>
</configuration>
@@ -44,5 +44,6 @@
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStack" TypeName="AppData.DS_AppTableAdapters.SheetListTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="hfStackID" DefaultValue="0" Name="StackID" PropertyName="Value" Type="Int32" />
<asp:Parameter Name="Machine" DefaultValue="" />
</SelectParameters>
</asp:ObjectDataSource>
+32 -32
View File
@@ -1,44 +1,44 @@
//------------------------------------------------------------------------------
// <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
{
public partial class cmp_BP_sheetList
{
public partial class cmp_BP_sheetList
{
/// <summary>
/// Controllo hfStackID.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfStackID;
/// <summary>
/// hfStackID 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 hfStackID;
/// <summary>
/// Controllo grView.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// grView 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.GridView grView;
/// <summary>
/// Controllo ods.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
}
/// <summary>
/// ods 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.ObjectDataSource ods;
}
}
+2
View File
@@ -5,6 +5,7 @@
<asp:HiddenField runat="server" ID="hfStatus" />
<asp:HiddenField runat="server" ID="hfStatusEnd" />
<asp:HiddenField ID="hfBatchID" runat="server" />
<asp:HiddenField ID="hfMachine" runat="server" />
<asp:FormView ID="frmView" runat="server" Width="100%" DataKeyNames="SheetID" DataSourceID="ods">
<ItemTemplate>
<div runat="server" id="divBlock" class='<%# "row small alert border-thick px-0 " + getCss(Eval("ShStatus")) %>' role="alert">
@@ -83,5 +84,6 @@
<asp:ControlParameter ControlID="hfBatchID" DefaultValue="0" Name="BatchID" PropertyName="Value" Type="Int32" />
<asp:ControlParameter ControlID="hfStatus" DefaultValue="-1" Name="ShStatusStart" PropertyName="Value" Type="Int32" />
<asp:ControlParameter ControlID="hfStatusEnd" DefaultValue="-1" Name="ShStatusEnd" PropertyName="Value" Type="Int32" />
<asp:ControlParameter ControlID="hfMachine" DefaultValue="" Name="Machine" PropertyName="Value" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
@@ -54,6 +54,18 @@ namespace NKC_WF.WebUserControls
}
}
public string MachineSel
{
get
{
return hfMachine.Value;
}
set
{
hfMachine.Value = value;
}
}
public string getCss(object _status)
{
string answ = "";
+40 -29
View File
@@ -1,59 +1,70 @@
//------------------------------------------------------------------------------
// <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 {
public partial class cmp_ML_ShDet {
namespace NKC_WF.WebUserControls
{
public partial class cmp_ML_ShDet
{
/// <summary>
/// Controllo hfStatus.
/// hfStatus 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.HiddenField hfStatus;
/// <summary>
/// Controllo hfStatusEnd.
/// hfStatusEnd 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.HiddenField hfStatusEnd;
/// <summary>
/// Controllo hfBatchID.
/// hfBatchID 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.HiddenField hfBatchID;
/// <summary>
/// Controllo frmView.
/// hfMachine 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.HiddenField hfMachine;
/// <summary>
/// frmView 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.FormView frmView;
/// <summary>
/// Controllo ods.
/// ods 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.ObjectDataSource ods;
}
+1
View File
@@ -56,6 +56,7 @@
<asp:HiddenField ID="hfQrSize" runat="server" Value="32" />
<asp:HiddenField ID="hfShowPrint" runat="server" Value="false" />
<asp:HiddenField ID="hfPrintQueue" runat="server" Value="queueND" />
<asp:HiddenField ID="hfMachineSel" runat="server" Value="#" />
</div>
</div>
</div>
+16 -1
View File
@@ -82,12 +82,27 @@ namespace NKC_WF.WebUserControls
hfPrintQueue.Value = value;
}
}
/// <summary>
/// Macchina selezionata
/// </summary>
public string MachineSel
{
get
{
return hfMachineSel.Value;
}
set
{
hfMachineSel.Value = value;
currQueue = DLMan.getPrinter($"{value}-UNLOAD2");
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
currQueue = DLMan.getPrinter("PC-MACHINE-UNLOAD2");
currQueue = DLMan.getPrinter($"{MachineSel}-UNLOAD2");
}
}
public void doUpdate()
+35 -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.WebUserControls
@@ -15,66 +15,75 @@ namespace NKC_WF.WebUserControls
{
/// <summary>
/// Controllo grView.
/// grView 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.GridView grView;
/// <summary>
/// Controllo ods.
/// ods 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.ObjectDataSource ods;
/// <summary>
/// Controllo hfBatchID.
/// hfBatchID 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.HiddenField hfBatchID;
/// <summary>
/// Controllo hfShowQr.
/// hfShowQr 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.HiddenField hfShowQr;
/// <summary>
/// Controllo hfQrSize.
/// hfQrSize 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.HiddenField hfQrSize;
/// <summary>
/// Controllo hfShowPrint.
/// hfShowPrint 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.HiddenField hfShowPrint;
/// <summary>
/// Controllo hfPrintQueue.
/// hfPrintQueue 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.HiddenField hfPrintQueue;
/// <summary>
/// hfMachineSel 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 hfMachineSel;
}
}
+1
View File
@@ -56,6 +56,7 @@
<asp:HiddenField ID="hfQrSize" runat="server" Value="32" />
<asp:HiddenField ID="hfShowPrint" runat="server" Value="false" />
<asp:HiddenField ID="hfPrintQueue" runat="server" Value="queueND" />
<asp:HiddenField ID="hfMachineSel" runat="server" Value="#" />
</div>
</div>
</div>
+16 -1
View File
@@ -99,11 +99,26 @@ namespace NKC_WF.WebUserControls
hfPrintQueue.Value = value;
}
}
/// <summary>
/// Macchina selezionata
/// </summary>
public string MachineSel
{
get
{
return hfMachineSel.Value;
}
set
{
hfMachineSel.Value = value;
currQueue = DLMan.getPrinter($"{value}-UNLOAD");
}
}
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
currQueue= DLMan.getPrinter("PC-MACHINE-UNLOAD");
currQueue = DLMan.getPrinter($"{MachineSel}-UNLOAD");
}
}
public void doUpdate()
+35 -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.WebUserControls
@@ -15,66 +15,75 @@ namespace NKC_WF.WebUserControls
{
/// <summary>
/// Controllo grView.
/// grView 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.GridView grView;
/// <summary>
/// Controllo ods.
/// ods 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.ObjectDataSource ods;
/// <summary>
/// Controllo hfBatchID.
/// hfBatchID 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.HiddenField hfBatchID;
/// <summary>
/// Controllo hfShowQr.
/// hfShowQr 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.HiddenField hfShowQr;
/// <summary>
/// Controllo hfQrSize.
/// hfQrSize 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.HiddenField hfQrSize;
/// <summary>
/// Controllo hfShowPrint.
/// hfShowPrint 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.HiddenField hfShowPrint;
/// <summary>
/// Controllo hfPrintQueue.
/// hfPrintQueue 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.HiddenField hfPrintQueue;
/// <summary>
/// hfMachineSel 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 hfMachineSel;
}
}
@@ -69,7 +69,7 @@ namespace NKC_WF.WebUserControls
string baseCurr = memLayer.ML.CRS("servBasePath").ToLower();
try
{
var tabSheets = DLMan.taSHL.getBySheetId(SheetId);
var tabSheets = DLMan.taSHL.getBySheetId(SheetId, "");
if (tabSheets.Count > 0)
{
filename = tabSheets[0].DrawFilePath.ToLower().Replace(baseOrig, baseCurr);
+4 -3
View File
@@ -1,6 +1,7 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_MachSem.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_MachSem" %>
<asp:HiddenField runat="server" ID="hfMachine" Value="NE00" />
<asp:HiddenField runat="server" ID="hfShowSemap" Value="true" />
<asp:HiddenField runat="server" ID="hfMachClass" Value="light" />
<asp:HiddenField runat="server" ID="hfStat01" Value="N.A." />
<asp:HiddenField runat="server" ID="hfStat02" Value="N.A." />
@@ -25,16 +26,16 @@
<asp:Timer ID="timerLoad" runat="server" Interval="2000" OnTick="timerLoad_Tick"></asp:Timer>
<div class="row small py-0" runat="server" id="divRuntime">
<div class="col-2 pr-0">
<asp:LinkButton runat="server" ID="lbtReset" class="btn btn-info btn-block text-center" OnClick="lbtReset_Click"><i class="fa fa-refresh" aria-hidden="true"></i>&nbsp;<%: hfMachine.Value %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtReset" class="btn btn-info btn-block text-center" OnClick="lbtReset_Click"><i class="fa fa-refresh" aria-hidden="true"></i>&nbsp;<%: hfMachine.Value %>&nbsp;<i class="fa fa-link text-success" aria-hidden="true" runat="server" id="icnLiveOk"></i> <i class="fa fa-chain-broken text-danger" aria-hidden="true" runat="server" id="icnLiveKo"></i></asp:LinkButton>
</div>
<div class="col-10">
<div class="d-flex text-center">
<div class="py-1 px-2 table-<%: hfCss01.Value %> flex-fill">
<div class="py-1 px-2 bg-<%: hfCss01.Value %> flex-fill">
<b><i class="fa fa-qrcode" aria-hidden="true"></i>&nbsp;<%: traduci("print") %>&nbsp;|&nbsp;<%: hfCode01.Value %></b><div class="small">
<%: hfStat01.Value %>
</div>
</div>
<div class="py-1 px-2 table-<%: hfCss02.Value %> flex-fill">
<div class="py-1 px-2 bg-<%: hfCss02.Value %> flex-fill mx-1">
<b><i class="fa fa-cogs" aria-hidden="true"></i>&nbsp;<%: traduci("CNC") %>&nbsp;|&nbsp;<%: hfCode02.Value %></b><div class="small">
<%: hfStat02.Value %>
</div>
+36 -6
View File
@@ -52,6 +52,22 @@ namespace NKC_WF.WebUserControls
}
}
public bool showSemaphore
{
get
{
bool answ = false;
bool.TryParse(hfShowSemap.Value, out answ);
return answ;
}
set
{
hfShowSemap.Value = $"{value}";
upnlTitle.Visible = value;
}
}
#endregion Public Properties
#region Private Methods
@@ -65,16 +81,15 @@ namespace NKC_WF.WebUserControls
lbtReset.Attributes.Add("class", $"btn btn-block text-center btn-{hfMachClass.Value}");
}
private DS_App.StatusDecodeRow getState(List<NKC_SDK.MachineStatData> currState, string name)
private DS_App.StatusDecodeRow getState(NKC_SDK.MachineStatData currState, string station)
{
// recupero dati
DS_App.StatusDecodeRow thisState = null;
try
{
var currInfo = currState.Where(x => x.Machine == currMachine).FirstOrDefault();
if (currInfo != null)
if (currState != null)
{
var lastState = currInfo.Records.Where(x => x.Station == name).OrderByDescending(x => x.DtRecord).FirstOrDefault();
var lastState = currState.Records.Where(x => x.Station == station).OrderByDescending(x => x.DtRecord).FirstOrDefault();
if (lastState == null)
{
// aggiungo ND
@@ -82,7 +97,7 @@ namespace NKC_WF.WebUserControls
else
{
// verifico la decodifica x ognuno
thisState = ComLib.checkStationDecode(name, lastState.Code);
thisState = ComLib.checkStationDecode(station, lastState.Code);
}
}
}
@@ -111,6 +126,10 @@ namespace NKC_WF.WebUserControls
hfMachine.Value = currMachine;
checkVisibility();
lbtReset.DataBind();
if (!Page.IsPostBack)
{
doUpdate();
}
}
protected void timerLoad_Tick(object sender, EventArgs e)
@@ -136,7 +155,7 @@ namespace NKC_WF.WebUserControls
hfStat03.Value = "UNKNOWN";
// leggo da redis lo status
var currState = ComLib.prodMachStateDataGet();
var currState = ComLib.prodMachStateDataGet(currMachine);
// traduco!
DS_App.StatusDecodeRow state01 = getState(currState, "PRINTER");
@@ -162,6 +181,17 @@ namespace NKC_WF.WebUserControls
hfCss03.Value = state03.Css;
hfStat03.Value = state03.Descript;
}
icnLiveOk.Visible = false;
icnLiveKo.Visible = false;
if (ComLib.getMachLiveStatus(currMachine))
{
icnLiveOk.Visible = true;
}
else
{
icnLiveKo.Visible = true;
}
}
#endregion Public Methods
+27
View File
@@ -23,6 +23,15 @@ namespace NKC_WF.WebUserControls
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfMachine;
/// <summary>
/// hfShowSemap 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 hfShowSemap;
/// <summary>
/// hfMachClass control.
/// </summary>
@@ -166,5 +175,23 @@ namespace NKC_WF.WebUserControls
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtReset;
/// <summary>
/// icnLiveOk control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnLiveOk;
/// <summary>
/// icnLiveKo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnLiveKo;
}
}
+2 -2
View File
@@ -19,7 +19,7 @@
<asp:LinkButton runat="server" ID="lbtSendEstim" CssClass="btn btn-sm btn-block btn-info"
OnClick="lbtSendEstim_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStartEstim") %>'
Visible='<%# (checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Errors) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Imported)) && canStartNew %>'><%# traduci("SendToEstim") %></asp:LinkButton>
Visible='<%# (checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Imported) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Errors)) && canStartNew %>'><%# traduci("SendToEstim") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtStopEstim" CssClass="btn btn-sm btn-block btn-dark"
OnClick="lbtStopEstim_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStopEstim") %>'
@@ -27,7 +27,7 @@
<asp:LinkButton runat="server" ID="lbtSendNesting" CssClass="btn btn-sm btn-block btn-warning"
OnClick="lbtSendNesting_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStartNest") %>'
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationDone) && !checkType(Eval("BatchType"), NKC_SDK.BatchType.Descendant) && canStartNew %>'><%# traduci("SendToNest") %></asp:LinkButton>
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationDone) && !checkType(Eval("BatchType"), NKC_SDK.BatchType.Descendant) && canStartNew && isSplitted %>'><%# traduci("SendToNest") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtStopNesting" CssClass="btn btn-sm btn-block btn-dark"
OnClick="lbtStopNesting_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStopNest") %>'
+65 -13
View File
@@ -12,6 +12,10 @@ namespace NKC_WF.WebUserControls
{
#region Protected Properties
/// <summary>
/// verifica se il batch sia di tipo ancestor (da splittare su macchine)
/// </summary>
protected bool BatchIsAncestor
{
get
@@ -83,6 +87,14 @@ namespace NKC_WF.WebUserControls
raiseEvent();
}
/// <summary>
/// Verifica se il batch sia stato splittato
/// </summary>
public bool isSplitted
{
get => cmp_batchDetailSplit.isSplitted;
}
/// <summary>
/// Riporta nesting a stato ESTIMATED
/// </summary>
@@ -92,7 +104,7 @@ namespace NKC_WF.WebUserControls
{
// ri-assegnazione ordini/kit a batch ancestor
DLMan.taOLT.setBatchSplit(BatchId, false);
// registro accettazione Nesting
// registro reset Nesting
DLMan.taBL.refuseNesting(BatchId, DLMan.CodSoggCurrUser);
raiseEvent();
}
@@ -101,13 +113,40 @@ namespace NKC_WF.WebUserControls
{
// invia a redis una richiesta...
ComLib.sendMaterials();
ComLib.sendBatchReq(BatchId, "Estimation", 3, false);
ComLib.sendBatchReq(BatchId, "Estimation", 3, false, 0);
// ri-assegnazione ordini/kit a batch ancestor
if (BatchIsAncestor)
{
DLMan.taOLT.setBatchSplit(BatchId, false);
// registro reset Nesting
DLMan.taBL.refuseNesting(BatchId, DLMan.CodSoggCurrUser);
// resetto i batch child a 0 se presenti
resetChildBatch();
// elimino gli orderExtTree
DLMan.taOLT.deleteByBatch(BatchId);
}
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(BatchId, (int)BatchStatus.EstimationRequested, "", 0);
raiseEvent();
}
private void resetChildBatch()
{
var tabDesc = ComLib.BatchDescendant(BatchId);
if (tabDesc != null && tabDesc.Count > 0)
{
foreach (var item in tabDesc)
{
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Imported, "", -1);
// elimino order tree eventuale...
DLMan.taOLT.deleteByBatch(item.BatchID);
}
}
}
protected void lbtSendNesting_Click(object sender, EventArgs e)
{
// invia a redis a a richiesta...
@@ -117,21 +156,12 @@ namespace NKC_WF.WebUserControls
{
// effettuo VERA ri-assegnazione ordini/kit a nuovi batch
DLMan.taOLT.setBatchSplit(BatchId, true);
// invio il PRIMO batch descendant
var tabDesc = ComLib.BatchDescendant(BatchId);
if (tabDesc != null && tabDesc.Count > 0)
{
int BatchDescId = tabDesc[0].BatchID;
ComLib.sendBatchReq(BatchDescId, "Nesting", 2, false);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(BatchDescId, (int)BatchStatus.NestRequested, "", -1);
}
bool fatto = ComLib.checkSendBatchSplit(BatchId);
}
else
{
// invio il batch corrente
ComLib.sendBatchReq(BatchId, "Nesting", 2, false);
ComLib.sendBatchReq(BatchId, "Nesting", 2, false, 1);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(BatchId, (int)BatchStatus.NestRequested, "", -1);
}
@@ -145,6 +175,10 @@ namespace NKC_WF.WebUserControls
ComLib.resetBatchReq();
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(BatchId, (int)BatchStatus.Imported, "", -1);
if (BatchIsAncestor)
{
resetChildBatch();
}
raiseEvent();
}
@@ -154,11 +188,29 @@ namespace NKC_WF.WebUserControls
ComLib.resetBatchReq();
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(BatchId, (int)BatchStatus.EstimationDone, "", -1);
if (BatchIsAncestor)
{
var tabDesc = ComLib.BatchDescendant(BatchId);
if (tabDesc != null && tabDesc.Count > 0)
{
foreach (var item in tabDesc)
{
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.EstimationDone, "", -1);
}
}
}
raiseEvent();
}
protected void Page_Load(object sender, EventArgs e)
{
cmp_batchDetailSplit.eh_doReset += Cmp_batchDetailSplit_eh_doReset;
}
private void Cmp_batchDetailSplit_eh_doReset(object sender, EventArgs e)
{
frmView.DataBind();
fixDisplayDesc();
}
/// <summary>
@@ -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))
{
@@ -188,8 +188,12 @@ namespace NKC_WF.WebUserControls
{
// ordino le medie
workRatio.Sort();
// elimino le + basse quanti materiali ci sono...
workRatio.RemoveRange(0, materialsList.Count);
// controllo di averne + di 1...
if (workRatio.Count > materialsList.Count * 2)
{
// elimino le + basse quanti materiali ci sono...
workRatio.RemoveRange(0, materialsList.Count);
}
double avgRatio = workRatio.Average();
double minRatio = workRatio.Min();
double maxRatio = workRatio.Max();
@@ -254,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
}
}
@@ -11,13 +11,21 @@
<b><%: traduci("BatchSplit") %></b> <i class="fa fa-balance-scale" aria-hidden="true"></i>
</asp:LinkButton>
</div>
<div class="col-12">
<div class="col-4"></div>
<div class="col-1 font-weight-bold">
<asp:Label runat="server" ID="lblRatio01" />
</div>
<div class="col-10">
<asp:HiddenField runat="server" ID="hfBatchId" />
<asp:HiddenField runat="server" ID="hfNeedSave" />
<asp:HiddenField runat="server" ID="hfLastRatio" />
<asp:HiddenField runat="server" ID="hfFullTime" />
<asp:HiddenField runat="server" ID="hfIsSplit" Value="false" />
<asp:TextBox runat="server" ID="txtRatio" TextMode="Range" CssClass="form-control-range" AutoPostBack="true" OnTextChanged="txtRatio_TextChanged" />
</div>
<div class="col-1 font-weight-bold">
<asp:Label runat="server" ID="lblRatio02" />
</div>
</div>
</div>
<div class="card-body p-1">
@@ -33,7 +41,7 @@
<b>NE01</b>
</div>
<div class="col-4">
<asp:Label runat="server" ID="lblRatio01" />
<asp:Label runat="server" ID="lblNumOrd01" />
</div>
</div>
</div>
@@ -54,7 +62,7 @@
<b>NE02</b>
</div>
<div class="col-4">
<asp:Label runat="server" ID="lblRatio02" />
<asp:Label runat="server" ID="lblNumOrd02" />
</div>
</div>
</div>
@@ -66,4 +74,4 @@
</div>
</div>
</div>
</div>
</div>
@@ -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
@@ -147,10 +138,10 @@ namespace NKC_WF.WebUserControls
{
txtRatio.Text = $"{value}";
// scrivo ANCHE i valori assoluti
lblRatio01.Text = $"{valRatio} %";
lblRatio02.Text = $"{100 - valRatio} %";
lblTime01.Text = $"{fullTime * value / (100 * 60):N2} h";
lblTime02.Text = $"{fullTime * (100 - value) / (100 * 60):N2} h";
lblRatio01.Text = $"{100 - valRatio} %";
lblRatio02.Text = $"{valRatio} %";
lblTime01.Text = $"{fullTime * (100 - value) / (100 * 60):N2} h";
lblTime02.Text = $"{fullTime * value / (100 * 60):N2} h";
}
}
@@ -178,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
@@ -209,6 +214,11 @@ namespace NKC_WF.WebUserControls
{
// imposto colore btn ROSSO...
baseCssClass = "btn btn-danger btn-block";
isSplitted = false;
}
else
{
isSplitted = true;
}
lbtBalance.CssClass = txtRatio.Visible ? baseCssClass : baseCssClass + " disabled";
cmp_orderExtListNE01.Visible = txtRatio.Visible;
@@ -250,7 +260,7 @@ namespace NKC_WF.WebUserControls
double tmpTime = totTime01 + totTime02;
fullTime = tmpTime > 0 ? tmpTime : 1;
// sistemazione ratio calcolata...
double newRatio = (totTime01 * 100 / fullTime);
double newRatio = (totTime02 * 100 / fullTime);
valRatio = (int)newRatio;
lastValRatio = valRatio;
}
@@ -284,16 +294,16 @@ namespace NKC_WF.WebUserControls
FullSet.OrderSet = OrderedList;
// lavoro sull'ottimizzare il MINORE
double ValRatioP = (double)valRatio / 100;
// se uno è zero
if (valRatio == 0)
// ...è 100%...
if (valRatio >= 99)
{
// vuoto
SetNe01.OrderSet = new Dictionary<int, double>();
// tutto
SetNe02.OrderSet = OrderedList;
}
// ...oppure è 100%...
else if (valRatio >= 99)
// se uno è zero
else if (valRatio == 0)
{
// tutto
SetNe01.OrderSet = OrderedList;
@@ -303,18 +313,7 @@ namespace NKC_WF.WebUserControls
// altrimenti se è minore...
else if (valRatio <= 50)
{
SetNe01.TargetValue = FullSet.ActualValue * ValRatioP;
SetNe01.OrderSet = findLocalMin(OrderedList, SetNe01.TargetValue, maxDepth);
// l'altro è la differenza
SetNe02.OrderSet = OrderedList;
foreach (var item in SetNe01.OrderSet)
{
SetNe02.OrderSet.Remove(item.Key);
}
}
else
{
SetNe02.TargetValue = FullSet.ActualValue * (1 - ValRatioP);
SetNe02.TargetValue = FullSet.ActualValue * ValRatioP;
SetNe02.OrderSet = findLocalMin(OrderedList, SetNe02.TargetValue, maxDepth);
// l'altro è la differenza
SetNe01.OrderSet = OrderedList;
@@ -323,6 +322,17 @@ namespace NKC_WF.WebUserControls
SetNe01.OrderSet.Remove(item.Key);
}
}
else
{
SetNe01.TargetValue = FullSet.ActualValue * (1 - ValRatioP);
SetNe01.OrderSet = findLocalMin(OrderedList, SetNe01.TargetValue, maxDepth);
// l'altro è la differenza
SetNe02.OrderSet = OrderedList;
foreach (var item in SetNe01.OrderSet)
{
SetNe02.OrderSet.Remove(item.Key);
}
}
// riorganizzo tabOrders...
foreach (var orderItem in TabOrders)
{
@@ -508,6 +518,7 @@ namespace NKC_WF.WebUserControls
rebalanceOrder();
fixChildBatch();
checkDisplayMode();
raiseReset();
}
#endregion Public Methods
+31 -4
View File
@@ -23,6 +23,15 @@ namespace NKC_WF.WebUserControls
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtBalance;
/// <summary>
/// lblRatio01 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 lblRatio01;
/// <summary>
/// hfBatchId control.
/// </summary>
@@ -59,6 +68,15 @@ namespace NKC_WF.WebUserControls
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfFullTime;
/// <summary>
/// hfIsSplit 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 hfIsSplit;
/// <summary>
/// txtRatio control.
/// </summary>
@@ -68,6 +86,15 @@ namespace NKC_WF.WebUserControls
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtRatio;
/// <summary>
/// lblRatio02 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 lblRatio02;
/// <summary>
/// lblTime01 control.
/// </summary>
@@ -78,13 +105,13 @@ namespace NKC_WF.WebUserControls
protected global::System.Web.UI.WebControls.Label lblTime01;
/// <summary>
/// lblRatio01 control.
/// lblNumOrd01 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 lblRatio01;
protected global::System.Web.UI.WebControls.Label lblNumOrd01;
/// <summary>
/// cmp_orderExtListNE01 control.
@@ -114,13 +141,13 @@ namespace NKC_WF.WebUserControls
protected global::System.Web.UI.WebControls.Label lblTime02;
/// <summary>
/// lblRatio02 control.
/// lblNumOrd02 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 lblRatio02;
protected global::System.Web.UI.WebControls.Label lblNumOrd02;
/// <summary>
/// cmp_orderExtListNE02 control.
@@ -10,16 +10,15 @@
<asp:Label runat="server" ID="lblBatchType" ToolTip='<%# tooltipByType(Eval("BatchType")) %>'><span style="font-size: 1.3em;"><i class='<%# cssIconByType(Eval("BatchType")) %>'></i></span>&nbsp;&nbsp;<b><%# Eval("Takt") %></b></asp:Label>
</div>
<div class="col-3 text-right">
# KIT/Parts: <b><%# Eval("NumOrders") %>/<%# Eval("NumItems") %></b>
</div>
# KIT/Parts: <b><%# Eval("NumOrders") %>/<%# Eval("NumItems") %></b></div>
<div class="col-3 text-right">
Estim.Time: <b><%# Eval("TotalTime","{0:N2}") %></b> min
</div>
</div>
<div class="row ">
<div class="col-4 text-right">
<asp:HyperLink runat="server" ID="hlShowErr" NavigateUrl='<%# $"../site/ErrorsLog?PUID=B.{Eval("BatchID")}" %>' CssClass="text-warning" Visible='<%# Eval("NumErrPre").ToString()!="0" %>' Target="_blank" ToolTip="Show errors"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <%# $"{Eval("Errors")} (tot: {Eval("NumErrPre")} err)" %></asp:HyperLink>
<asp:HyperLink runat="server" ID="HyperLink1" NavigateUrl='<%# $"../site/ErrorsLog?PUID={Eval("EnvNum")}" %>' CssClass="text-danger" Visible='<%# Eval("NumErr").ToString()!="0" %>' Target="_blank" ToolTip="Show errors"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <%# $"{Eval("Errors")} (tot: {Eval("NumErr")} err)" %></asp:HyperLink>
<asp:HyperLink runat="server" ID="hlShowErr01" NavigateUrl='<%# $"../site/ErrorsLog?PUID=B.{Eval("BatchID")}" %>' CssClass="text-warning" Visible='<%# Eval("NumErrPre").ToString()!="0" %>' Target="_blank" ToolTip="Show errors"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <%# $"{Eval("Errors")} (tot: {Eval("NumErrPre")} err)" %></asp:HyperLink>
<asp:HyperLink runat="server" ID="hlShowErr02" NavigateUrl='<%# $"../site/ErrorsLog?PUID={Eval("EnvNum")}" %>' CssClass="text-danger" Visible='<%# Eval("NumErr").ToString()!="0" %>' Target="_blank" ToolTip="Show errors"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <%# $"{Eval("Errors")} (tot: {Eval("NumErr")} err)" %></asp:HyperLink>
</div>
<div class="col-8 text-left">
<div class="d-flex">
@@ -204,6 +204,19 @@ namespace NKC_WF.WebUserControls
#region Protected Methods
public bool showSplit
{
get
{
return chkShowSplit.Checked;
}
set
{
chkShowSplit.Checked = value;
}
}
protected void chkShowSplit_CheckedChanged(object sender, EventArgs e)
{
// deseleziono...
+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;
}
+123 -90
View File
@@ -11,96 +11,7 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_errorDetail : BaseUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public string ErrorTitle
{
get
{
return lblErrorTitle.Text;
}
set
{
lblErrorTitle.Text = value;
}
}
public string ErrorExpl
{
get
{
return lblErrorExpl.Text;
}
set
{
lblErrorExpl.Text = value;
}
}
public string LastError
{
get
{
string answ = "N.A.";
if (!string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath")))
{
answ = traduci(memLayer.ML.QSS("aspxerrorpath"));
}
return answ;
}
}
public string LastErrorCode
{
get
{
string answ = "N.A.";
if (!string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath")))
{
answ = memLayer.ML.QSS("aspxerrorpath");
}
return answ;
}
}
public string UserName
{
get
{
return lblUserName.Text;
}
set
{
lblUserName.Text = value;
}
}
protected void lbtTryReset_Click(object sender, EventArgs e)
{
doRedirect();
}
private void doRedirect()
{
// svuoto session e cache per rileggere i dati da Db
Session.RemoveAll();
try
{
// aggiorno vocabolario
DataWrap.DW.resetVocabolario();
// reset dati in cache x DbConfig...
memLayer.ML.resetAppConf();
}
catch
{ }
// ulteriore reset sessione
Session.Clear();
// attendo...
Thread.Sleep(500);
// reload!
memLayer.ML.setSessionVal("nextPage", "default");
Response.Redirect("~/default");
}
#region Protected Properties
protected int countDown
{
@@ -116,6 +27,60 @@ namespace NKC_WF.WebUserControls
}
}
#endregion Protected Properties
#region Public Properties
public string ErrorExpl
{
get
{
return lblErrorExpl.Text;
}
set
{
lblErrorExpl.Text = value;
}
}
public string ErrorTitle
{
get
{
return lblErrorTitle.Text;
}
set
{
lblErrorTitle.Text = value;
}
}
public string LastError
{
get
{
string answ = "N.A.";
if (!string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath")))
{
answ = traduci(memLayer.ML.QSS("aspxerrorpath"));
}
return answ;
}
}
public string LastErrorCode
{
get
{
string answ = "N.A.";
if (!string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath")))
{
answ = memLayer.ML.QSS("aspxerrorpath");
}
return answ;
}
}
public string timeAdv
{
get
@@ -124,6 +89,72 @@ namespace NKC_WF.WebUserControls
}
}
public string UserName
{
get
{
return lblUserName.Text;
}
set
{
lblUserName.Text = value;
}
}
#endregion Public Properties
#region Private Methods
private void doRedirect()
{
// loggo!
lgError($"ERROR PAGE --> REDIRECT to default{Environment.NewLine}Curr Url: {Request.Url.AbsoluteUri}{Environment.NewLine}UserName: {UserName}{Environment.NewLine}Error Origin: {LastErrorCode}{Environment.NewLine}ErrorExpl: {ErrorExpl}");
// svuoto session e cache per rileggere i dati da Db
Session.RemoveAll();
try
{
// aggiorno vocabolario
DataWrap.DW.resetVocabolario();
// reset dati in cache x DbConfig...
memLayer.ML.resetAppConf();
}
catch
{ }
// ulteriore reset sessione
Session.Clear();
// attendo...
Thread.Sleep(500);
// cerco ins essione SE non ci fosse un redirect appena fatto... se non c'è tento di tornare alla pagina, altrimenti alla default...
string reloadKey = "NKC:SERV:ERRORS:RELOADPAGE";
string rawData = memLayer.ML.getRSV(reloadKey);
string nextPage = "default";
if (string.IsNullOrEmpty(rawData))
{
// imposto pagina
nextPage = LastErrorCode;
lgInfo($"Tentativo redirect a ultima pagina: {nextPage}");
//imposto in redis x 20 sec...
memLayer.ML.setRSV(reloadKey, nextPage, 20);
}
// reload!
memLayer.ML.setSessionVal("nextPage", nextPage);
Response.Redirect($"~/{nextPage}");
}
#endregion Private Methods
#region Protected Methods
protected void lbtTryReset_Click(object sender, EventArgs e)
{
doRedirect();
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void timerRedirect_Tick(object sender, EventArgs e)
{
// decremento contatore
@@ -133,5 +164,7 @@ namespace NKC_WF.WebUserControls
}
countDown--;
}
#endregion Protected Methods
}
}
@@ -4,6 +4,8 @@
<asp:HiddenField runat="server" ID="hfForceRedirect" />
<asp:HiddenField runat="server" ID="hfFilePrefix" />
<asp:HiddenField runat="server" ID="hfFileSuffix" />
<asp:HiddenField runat="server" ID="hfChkBatchApp" />
<asp:HiddenField runat="server" ID="hfChkRunning" />
<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>
+63 -11
View File
@@ -36,6 +36,34 @@ 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();
}
}
public bool checkRunning
{
get
{
bool answ = true;
bool.TryParse(hfChkRunning.Value, out answ);
return answ;
}
set
{
hfChkRunning.Value = value.ToString();
}
}
/// <summary>
/// Prefisso file abilitato
/// </summary>
@@ -169,11 +197,13 @@ namespace NKC_WF.WebUserContols
protected void Upload(object sender, EventArgs e)
{
bool checkFileOk = true;
string uplFileName = "";
string uploadedFilename = "";
string batchName = "";
string savedFilename = "";
string contentType = "";
divMessagge.Visible = false;
DateTime adesso = DateTime.Now;
string dirFrom = Server.MapPath(_tempUploadDir);
// se c'è un file
@@ -210,19 +240,41 @@ 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;
lblMessage.Text = $"{traduci("Error_BatchIsApproved")}";
}
// se richiesto controllo NON ci siano altri task running
if (checkRunning)
{
// controllo se ci sia un batch duplicato
checkFileOk = DLMan.taBL.getNestRunning().Count == 0;
lblMessage.Text = $"{traduci("Error_OtherBatchTaskRunning")}";
}
if (!checkFileOk)
{
divMessagge.Visible = true;
}
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));
}
}
}
+18
View File
@@ -50,6 +50,24 @@ 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>
/// hfChkRunning 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 hfChkRunning;
/// <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
}
}
@@ -811,7 +811,7 @@ namespace NKC_WF.WebUserControls
protected void lbtResetSel_Click(object sender, EventArgs e)
{
var tabSheet = DLMan.taSHL.getByItemID(itemIdSelected);
var tabSheet = DLMan.taSHL.getByItemID(itemIdSelected, PlaceCod);
if (tabSheet.Count == 1)
{
resetShowData();
@@ -858,7 +858,7 @@ namespace NKC_WF.WebUserControls
{
// FORSE 5/5?!?
DataLayer DLMan = new DataLayer();
var sheetList = DLMan.taSHL.getByMLStatus(PackListID, 3, 5);
var sheetList = DLMan.taSHL.getByMLStatus(PackListID, 3, 5, PlaceCod);
if (sheetList.Count > 0)
{
SheetID = sheetList[0].SheetID;
+42 -43
View File
@@ -1,62 +1,61 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_labelsPrint.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_labelsPrint" %>
<%@ Register Src="~/WebUserControls/cmp_barcode.ascx" TagPrefix="uc1" TagName="cmp_barcode" %>
<%@ Register Src="~/WebUserControls/cmp_MachSelSmart.ascx" TagPrefix="uc1" TagName="cmp_MachSelSmart" %>
<div class="mx-0">
<asp:HiddenField ID="hfBatchID" runat="server" />
<asp:HiddenField ID="hfSheetID" runat="server" />
<asp:HiddenField ID="hfDeviceId" runat="server" />
<div class="card text-center" style="width: 100%;">
<h4 class="card-header p-1 bg-secondary text-light"><%: traduci("LabelPrintSmart") %></h4>
<div class="card-body py-1">
<div class="row mt-2" style="min-height: 25rem;">
<div class="col-12 px-0">
<uc1:cmp_barcode runat="server" ID="cmp_barcode" />
<asp:HiddenField runat="server" ID="hfLastBCode" />
<asp:HiddenField runat="server" ID="hfLastObject" />
<asp:HiddenField runat="server" ID="hfLastValidBCode" />
</div>
<div class="col-12 px-0">
<asp:LinkButton runat="server" ID="lbtPrintLabels" CssClass="btn btn-info btn-block text-uppercase" OnClick="lbtPrintLabels_Click"><i class="fa fa-print" aria-hidden="true"></i> <%: traduci("DoPrintLabel") %></asp:LinkButton>
<div class="row mt-2">
<div class="col-12 px-0 table-secondary">
<uc1:cmp_MachSelSmart runat="server" ID="cmp_MachSelSmart" />
</div>
<div class="col-12 px-0">
<uc1:cmp_barcode runat="server" ID="cmp_barcode" />
<asp:HiddenField runat="server" ID="hfLastBCode" />
<asp:HiddenField runat="server" ID="hfLastObject" />
<asp:HiddenField runat="server" ID="hfLastValidBCode" />
</div>
<div class="col-12 px-0">
<asp:LinkButton runat="server" ID="lbtPrintLabels" CssClass="btn btn-info btn-block text-uppercase" OnClick="lbtPrintLabels_Click"><i class="fa fa-print" aria-hidden="true"></i> <%: traduci("DoPrintLabel") %></asp:LinkButton>
</div>
<div class="col-12 px-0">
<div runat="server" id="divItemDet" class="bg-success text-warning small" visible="false">
<asp:HiddenField runat="server" ID="hfItemID" />
<div class="row">
<div class="col-3 pr-0">
<b>
<asp:Label runat="server" ID="lblItemCode" /></b>
</div>
<div class="col-6 px-1">
<asp:Label runat="server" ID="lblItemDesc" />
</div>
<div class="col-3 pl-0">
<asp:Label runat="server" ID="lblItemDtmx" />
</div>
</div>
</div>
<div class="col-12 px-0">
<div runat="server" id="divItemDet" class="bg-success text-warning small" visible="false">
<asp:HiddenField runat="server" ID="hfItemID" />
<div class="row">
<div class="col-3 pr-0">
<b>
<asp:Label runat="server" ID="lblItemCode" /></b>
</div>
<div runat="server" id="divError" class="bg-danger text-warning" visible="false">
<div class="col-12 px-1">
<asp:Label runat="server" ID="lblErrorMsg" />
</div>
<div class="col-6 px-1">
<asp:Label runat="server" ID="lblItemDesc" />
</div>
<div runat="server" id="divInfo" class="bg-info text-light" visible="false">
<div class="col-12 px-1">
<asp:Label runat="server" ID="lblSuccessMsg" />
</div>
<div class="col-3 pl-0">
<asp:Label runat="server" ID="lblItemDtmx" />
</div>
</div>
<div class="col-12 px-0">
<asp:LinkButton runat="server" ID="lbtCancel" CssClass="btn btn-block btn-warning text-uppercase" OnClick="lbtCancel_Click"><i class="fa fa-ban" aria-hidden="true"></i> <%: traduci("cancel") %></asp:LinkButton>
</div>
<div runat="server" id="divError" class="bg-danger text-warning" visible="false">
<div class="col-12 px-1">
<asp:Label runat="server" ID="lblErrorMsg" />
</div>
<div class="col-12 px-0">
<b>
<asp:Label runat="server" ID="lblLastBCode" /></b><br />
<asp:Label runat="server" ID="lblMessage" /><br />
<asp:Label runat="server" ID="lblDestination" />
</div>
<div runat="server" id="divInfo" class="bg-info text-light" visible="false">
<div class="col-12 px-1">
<asp:Label runat="server" ID="lblSuccessMsg" />
</div>
</div>
</div>
<div class="col-12 px-0">
<asp:LinkButton runat="server" ID="lbtCancel" CssClass="btn btn-block btn-warning text-uppercase" OnClick="lbtCancel_Click"><i class="fa fa-ban" aria-hidden="true"></i> <%: traduci("cancel") %></asp:LinkButton>
</div>
<div class="col-12 px-0">
<b>
<asp:Label runat="server" ID="lblLastBCode" /></b><br />
<asp:Label runat="server" ID="lblMessage" /><br />
<asp:Label runat="server" ID="lblDestination" />
</div>
</div>
</div>
+34 -5
View File
@@ -12,6 +12,22 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_labelsPrint : BaseUserControl
{
/// <summary>
/// Macchina letta
/// </summary>
public string MachineSel
{
get
{
return cmp_MachSelSmart.MachineSel;
}
set
{
cmp_MachSelSmart.MachineSel = value;
}
}
/// <summary>
/// ID univoco da IP
/// </summary>
@@ -50,7 +66,7 @@ namespace NKC_WF.WebUserControls
{
// FORSE 5/5?!?
DataLayer DLMan = new DataLayer();
var sheetList = DLMan.taSHL.getByMLStatus(PackListID, 3, 5);
var sheetList = DLMan.taSHL.getByMLStatus(PackListID, 3, 5, MachineSel);
if (sheetList.Count > 0)
{
SheetID = sheetList[0].SheetID;
@@ -177,9 +193,16 @@ namespace NKC_WF.WebUserControls
decodedData decoData = DLMan.decodeBcode(lastCmd);
switch (decoData.codeType)
{
case codeType.Item:
cmp_barcode.showOutput(cssClass.success, $"IT {traduci("ValidCode")}: {decoData.rawData}");
processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt);
case codeType.Item:// verifico SE HO una macchina selezionata sennò NON accetto
if (string.IsNullOrEmpty(MachineSel))
{
cmp_barcode.showOutput(cssClass.danger, $"{traduci("MissingMachineSel")}: {decoData.rawData} --> {traduci("NoValiAction")}");
}
else
{
cmp_barcode.showOutput(cssClass.success, $"IT {traduci("ValidCode")}: {decoData.rawData}");
processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt);
}
break;
case codeType.ItemGeneric:
cmp_barcode.showOutput(cssClass.success, $"{traduci("ItemGeneric")} - {traduci("Ignored")}: {decoData.rawData}");
@@ -226,6 +249,12 @@ namespace NKC_WF.WebUserControls
resetDisplay(true);
doRaiseEv = true;
break;
case codeType.MachSelection:
MachineSel = decoData.code;
cmp_barcode.showOutput(cssClass.success, $"{ traduci("MachineSel")}: {decoData.code}");
break;
case codeType.UNK:
default:
cmp_barcode.showOutput(cssClass.danger, $"{traduci("UnknownData")}: {decoData.rawData} --> {traduci("NoValiAction")}");
@@ -278,7 +307,7 @@ namespace NKC_WF.WebUserControls
protected void lbtPrintLabels_Click(object sender, EventArgs e)
{
// chiamo procedura stampa report x etichette dei pezzi lavorati offline
string printer = DLMan.getPrinter("PC-MACHINE-PARTS");
string printer = DLMan.getPrinter($"{MachineSel}-PARTS");
// mando stampa....
bool fatto = DLMan.stampaDoc(itemIdSelected.ToString(), printer, tipoDocumento.docPart, Request.UserHostName);
+77 -68
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,191 +15,200 @@ namespace NKC_WF.WebUserControls
{
/// <summary>
/// Controllo hfBatchID.
/// hfBatchID 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.HiddenField hfBatchID;
/// <summary>
/// Controllo hfSheetID.
/// hfSheetID 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.HiddenField hfSheetID;
/// <summary>
/// Controllo hfDeviceId.
/// hfDeviceId 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.HiddenField hfDeviceId;
/// <summary>
/// Controllo cmp_barcode.
/// cmp_MachSelSmart 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_MachSelSmart cmp_MachSelSmart;
/// <summary>
/// cmp_barcode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_barcode cmp_barcode;
/// <summary>
/// Controllo hfLastBCode.
/// hfLastBCode 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.HiddenField hfLastBCode;
/// <summary>
/// Controllo hfLastObject.
/// hfLastObject 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.HiddenField hfLastObject;
/// <summary>
/// Controllo hfLastValidBCode.
/// hfLastValidBCode 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.HiddenField hfLastValidBCode;
/// <summary>
/// Controllo lbtPrintLabels.
/// lbtPrintLabels 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 lbtPrintLabels;
/// <summary>
/// Controllo divItemDet.
/// divItemDet 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 divItemDet;
/// <summary>
/// Controllo hfItemID.
/// hfItemID 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.HiddenField hfItemID;
/// <summary>
/// Controllo lblItemCode.
/// lblItemCode 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.Label lblItemCode;
/// <summary>
/// Controllo lblItemDesc.
/// lblItemDesc 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.Label lblItemDesc;
/// <summary>
/// Controllo lblItemDtmx.
/// lblItemDtmx 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.Label lblItemDtmx;
/// <summary>
/// Controllo divError.
/// divError 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 divError;
/// <summary>
/// Controllo lblErrorMsg.
/// lblErrorMsg 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.Label lblErrorMsg;
/// <summary>
/// Controllo divInfo.
/// divInfo 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 divInfo;
/// <summary>
/// Controllo lblSuccessMsg.
/// lblSuccessMsg 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.Label lblSuccessMsg;
/// <summary>
/// Controllo lbtCancel.
/// lbtCancel 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 lbtCancel;
/// <summary>
/// Controllo lblLastBCode.
/// lblLastBCode 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.Label lblLastBCode;
/// <summary>
/// Controllo lblMessage.
/// lblMessage 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.Label lblMessage;
/// <summary>
/// Controllo lblDestination.
/// lblDestination 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.Label lblDestination;
}
+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
}
}
@@ -6,6 +6,7 @@
<asp:HiddenField runat="server" ID="hfBatchID" />
<asp:HiddenField runat="server" ID="hfMachineSel" />
<div class="row">
<div class="col-12 col-lg-6">
<uc1:cmp_MU_bins runat="server" ID="cmp_MU_bins" ShowQr="false" ShowPrint="true" />
+24 -2
View File
@@ -11,11 +11,26 @@ namespace NKC_WF.WebUserControls
{
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
if (!Page.IsPostBack)
{
}
}
/// <summary>
/// Macchina selezionata
/// </summary>
public string MachineSel
{
get
{
return hfMachineSel.Value;
}
set
{
hfMachineSel.Value = value;
cmp_MU_bins.MachineSel = value;
cmp_MU_carts.MachineSel = value;
}
}
/// <summary>
/// BatchId corrente...
/// </summary>
@@ -26,6 +41,13 @@ namespace NKC_WF.WebUserControls
hfBatchID.Value = value.ToString();
cmp_MU_bins.BatchId = value;
cmp_MU_carts.BatchId = value;
// calcolo macchina
var tabBL = DLMan.taBL.getByKey(value);
if (tabBL != null && tabBL.Count > 0)
{
var rigaBL = tabBL[0];
MachineSel = rigaBL.PlaceCod;
}
}
get
{
+23 -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.WebUserControls
@@ -15,29 +15,38 @@ namespace NKC_WF.WebUserControls
{
/// <summary>
/// Controllo hfBatchID.
/// hfBatchID 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.HiddenField hfBatchID;
/// <summary>
/// Controllo cmp_MU_bins.
/// hfMachineSel 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.HiddenField hfMachineSel;
/// <summary>
/// cmp_MU_bins control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_MU_bins cmp_MU_bins;
/// <summary>
/// Controllo cmp_MU_carts.
/// cmp_MU_carts 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_MU_carts cmp_MU_carts;
}
+1 -53
View File
@@ -2,10 +2,9 @@
<%@ Register Src="~/WebUserControls/cmp_ItemDet.ascx" TagPrefix="uc1" TagName="cmp_ItemDet" %>
<div class="card text-center border-primary" style="width: 100%;">
<asp:HiddenField runat="server" ID="hfNum" />
<asp:HiddenField ID="hfMachine" runat="server" Value="0" />
<asp:HiddenField ID="hfCountDown" runat="server" Value="0" />
<asp:HiddenField ID="hfBatchId" runat="server" Value="0" />
<asp:HiddenField ID="hfSheetId" runat="server" Value="0" />
@@ -35,57 +34,6 @@
<div runat="server" id="divImg" class="col-12">
<asp:Image runat="server" ID="imgQrMain" CssClass="img-fluid" />
</div>
<%--<div class="col-12">
<script src="//mozilla.github.io/pdf.js/build/pdf.js"></script>
<script>
function loadPdf() {
var url = '<%: lblPdf.Text %>';
//var url = '../temp/119752.pdf';
// Loaded via <script> tag, create shortcut to access PDF.js exports.
var pdfjsLib = window['pdfjs-dist/build/pdf'];
// The workerSrc property shall be specified.
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';
// Asynchronous download of PDF
var loadingTask = pdfjsLib.getDocument(url);
loadingTask.promise.then(function (pdf) {
console.log('PDF loaded');
// Fetch the first page
var pageNumber = 1;
pdf.getPage(pageNumber).then(function (page) {
console.log('Page loaded');
var scale = 1.5;
var viewport = page.getViewport({ scale: scale });
// Prepare canvas using PDF page dimensions
var canvas = document.getElementById('<%: canvasPdf.ClientID %>');
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
// Render PDF page into canvas context
var renderContext = {
canvasContext: context,
viewport: viewport
};
var renderTask = page.render(renderContext);
renderTask.promise.then(function () {
console.log('Page rendered');
});
});
}, function (reason) {
// PDF loading error
console.error(reason);
});
};
</script>
<canvas runat="server" id="canvasPdf"></canvas>
</div>--%>
</div>
</div>
</div>
+14 -3
View File
@@ -17,9 +17,20 @@ namespace NKC_WF.WebUserControls
public partial class cmp_secScreen : BaseUserControl
{
/// <summary>
/// Codice macchina (HARD CODED x ora)
/// Codice macchina
/// </summary>
protected string machine = "WRK001";
public string machine
{
get
{
return hfMachine.Value;
}
set
{
hfMachine.Value = value;
setCurrData();
}
}
public int countDown
{
@@ -277,7 +288,7 @@ namespace NKC_WF.WebUserControls
private void setCurrData()
{
// recupero bunk corrente...
DS_App.StackListRow currBunk = ComLib.getCurrBunk();
DS_App.StackListRow currBunk = ComLib.getCurrBunk(machine);
if (currBunk != null)
{
DS_App.SheetListRow currSheet = ComLib.getCurrSheet(currBunk.BatchID, machine);
+59 -50
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,137 +15,146 @@ namespace NKC_WF.WebUserControls
{
/// <summary>
/// Controllo hfNum.
/// hfNum 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.HiddenField hfNum;
/// <summary>
/// Controllo hfCountDown.
/// hfMachine 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.HiddenField hfMachine;
/// <summary>
/// hfCountDown 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 hfCountDown;
/// <summary>
/// Controllo hfBatchId.
/// hfBatchId 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.HiddenField hfBatchId;
/// <summary>
/// Controllo hfSheetId.
/// hfSheetId 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.HiddenField hfSheetId;
/// <summary>
/// Controllo hfItemPdf.
/// hfItemPdf 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.HiddenField hfItemPdf;
/// <summary>
/// Controllo hfItemDtmx.
/// hfItemDtmx 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.HiddenField hfItemDtmx;
/// <summary>
/// Controllo hfItemCode.
/// hfItemCode 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.HiddenField hfItemCode;
/// <summary>
/// Controllo timerRefresh.
/// timerRefresh 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 timerRefresh;
/// <summary>
/// Controllo hlShowCurrSheet.
/// hlShowCurrSheet 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 hlShowCurrSheet;
/// <summary>
/// Controllo lblNum.
/// lblNum 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.Label lblNum;
/// <summary>
/// Controllo lblMessage.
/// lblMessage 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.Label lblMessage;
/// <summary>
/// Controllo cmp_ItemDet.
/// cmp_ItemDet 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_ItemDet cmp_ItemDet;
/// <summary>
/// Controllo hlPdfOpener.
/// hlPdfOpener 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 hlPdfOpener;
/// <summary>
/// Controllo divImg.
/// divImg 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 divImg;
/// <summary>
/// Controllo imgQrMain.
/// imgQrMain 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.Image imgQrMain;
}
+1 -1
View File
@@ -61,7 +61,7 @@ namespace NKC_WF.WebUserControls
{
if (SheetId > 0)
{
var tabSheets = DLMan.taSHL.getBySheetId(SheetId);
var tabSheets = DLMan.taSHL.getBySheetId(SheetId, "");
if (tabSheets.Count > 0)
{
filename = tabSheets[0].DrawFilePath.ToLower().Replace(baseOrig, baseCurr);
@@ -729,7 +729,7 @@ namespace NKC_WF.WebUserControls
protected void lbtResetSel_Click(object sender, EventArgs e)
{
var tabSheet = DLMan.taSHL.getByItemID(itemIdSelected);
var tabSheet = DLMan.taSHL.getByItemID(itemIdSelected, PlaceCod);
if (tabSheet.Count == 1)
{
resetShowData();
@@ -836,7 +836,7 @@ namespace NKC_WF.WebUserControls
{
// FORSE 5/5?!?
DataLayer DLMan = new DataLayer();
var sheetList = DLMan.taSHL.getByMLStatus(BatchId, 3, 5);
var sheetList = DLMan.taSHL.getByMLStatus(BatchId, 3, 5, PlaceCod);
if (sheetList.Count > 0)
{
SheetID = sheetList[0].SheetID;
@@ -2,12 +2,11 @@ using SteamWare;
using System;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class mod_lemmiVocab : ApplicationUserControl
{
#region protected
#region Protected Methods
protected override void aggiornaControlliDataGL()
{
@@ -20,7 +19,7 @@ namespace NKC_WF.WebUserControls
if (grView.Rows.Count > 0)
{
LinkButton lb;
// aggiorno gli headers
// aggiorno gli headers
foreach (TableCell cella in grView.HeaderRow.Cells)
{
try
@@ -39,6 +38,11 @@ namespace NKC_WF.WebUserControls
lblNumRec.Text = "";
}
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// aggiorna i dati mostrati
/// </summary>
@@ -48,6 +52,6 @@ namespace NKC_WF.WebUserControls
grView.DataBind();
}
#endregion
#endregion Public 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
}
}
+40 -39
View File
@@ -4,46 +4,47 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:HiddenField ID="hfStackID" runat="server" />
<asp:GridView runat="server" ID="grView" AutoGenerateColumns="False" DataKeyNames="SheetID" DataSourceID="ods" AllowSorting="false">
<EmptyDataTemplate>
No Record
</EmptyDataTemplate>
<Columns>
<asp:BoundField DataField="StackId" HeaderText="Bunk" ReadOnly="True" />
<asp:BoundField DataField="SheetIndex" HeaderText="Num" ReadOnly="True" />
<asp:BoundField DataField="SheetId" HeaderText="Id" ReadOnly="True" />
<asp:BoundField DataField="MatExtCode" HeaderText="MatExtCode" ReadOnly="True" />
<asp:BoundField DataField="MatDesc" HeaderText="MatDesc" ReadOnly="True" />
<asp:TemplateField HeaderText="Estim (min:sec)" SortExpression="WrkTimeEst">
<ItemTemplate>
<asp:Label ID="lblWrkTimeEst" runat="server" Text='<%# formatMinSec(Eval("WrkTimeEst", "{0:N0}")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CNC File" SortExpression="WrkTimeEst">
<ItemTemplate>
<asp:Label ID="lblCncFilePath" runat="server" Text='<%# fixFilePath(Eval("CncFilePath")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Draw File" SortExpression="WrkTimeEst">
<ItemTemplate>
<asp:Label ID="lblDrawFilePath" runat="server" Text='<%# fixFilePath(Eval("DrawFilePath")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStack" TypeName="AppData.DS_AppTableAdapters.SheetListTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="hfStackID" DefaultValue="0" Name="StackID" PropertyName="Value" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</form>
<form id="form1" runat="server">
<div>
<asp:HiddenField ID="hfStackID" runat="server" />
<asp:GridView runat="server" ID="grView" AutoGenerateColumns="False" DataKeyNames="SheetID" DataSourceID="ods" AllowSorting="false">
<EmptyDataTemplate>
No Record
</EmptyDataTemplate>
<Columns>
<asp:BoundField DataField="StackId" HeaderText="Bunk" ReadOnly="True" />
<asp:BoundField DataField="SheetIndex" HeaderText="Num" ReadOnly="True" />
<asp:BoundField DataField="SheetId" HeaderText="Id" ReadOnly="True" />
<asp:BoundField DataField="MatExtCode" HeaderText="MatExtCode" ReadOnly="True" />
<asp:BoundField DataField="MatDesc" HeaderText="MatDesc" ReadOnly="True" />
<asp:TemplateField HeaderText="Estim (min:sec)" SortExpression="WrkTimeEst">
<ItemTemplate>
<asp:Label ID="lblWrkTimeEst" runat="server" Text='<%# formatMinSec(Eval("WrkTimeEst", "{0:N0}")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CNC File" SortExpression="WrkTimeEst">
<ItemTemplate>
<asp:Label ID="lblCncFilePath" runat="server" Text='<%# fixFilePath(Eval("CncFilePath")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Draw File" SortExpression="WrkTimeEst">
<ItemTemplate>
<asp:Label ID="lblDrawFilePath" runat="server" Text='<%# fixFilePath(Eval("DrawFilePath")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStack" TypeName="AppData.DS_AppTableAdapters.SheetListTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="hfStackID" DefaultValue="0" Name="StackID" PropertyName="Value" Type="Int32" />
<asp:Parameter Name="Machine" DefaultValue="" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</form>
</body>
</html>
+40 -40
View File
@@ -1,53 +1,53 @@
//------------------------------------------------------------------------------
// <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
{
public partial class BunkDetail
{
public partial class BunkDetail
{
/// <summary>
/// Controllo form1.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// Controllo hfStackID.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfStackID;
/// <summary>
/// hfStackID 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 hfStackID;
/// <summary>
/// Controllo grView.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// grView 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.GridView grView;
/// <summary>
/// Controllo ods.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
}
/// <summary>
/// ods 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.ObjectDataSource ods;
}
}
+12 -11
View File
@@ -8,7 +8,7 @@
<package id="bootstrap" version="4.6.0" targetFramework="net462" />
<package id="Chart.js" version="2.9.3" targetFramework="net462" />
<package id="Crc32C.NET" version="1.0.5.0" targetFramework="net462" />
<package id="DnsClient" version="1.4.0" targetFramework="net462" />
<package id="DnsClient" version="1.5.0" targetFramework="net462" />
<package id="elmah" version="1.2.2" targetFramework="net462" />
<package id="elmah.corelibrary" version="1.2.2" targetFramework="net462" />
<package id="FontAwesome" version="4.7.0" targetFramework="net462" />
@@ -39,28 +39,28 @@
<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" />
<package id="Modernizr" version="2.8.3" targetFramework="net462" />
<package id="Moment.js" version="2.29.1" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.2.1" targetFramework="net462" />
<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.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.4" targetFramework="net462" />
<package id="SteamWare" version="5.1.2107.759" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.1.2107.759" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.2.62" 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" />
@@ -78,5 +78,6 @@
<package id="System.Text.Encoding.CodePages" version="5.0.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="5.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
<package id="WebGrease" version="1.6.0" targetFramework="net462" />
</packages>
+204 -164
View File
@@ -9,17 +9,19 @@ namespace NKC_WF.site
{
public partial class BatchPreview : BasePage
{
#region Protected Properties
/// <summary>
/// Batch corrente...
/// BunkId selezionato
/// </summary>
public int BatchId
protected int BunkId
{
get
{
int answ = memLayer.ML.QSI("BatchId");
return answ;
return cmp_BP_bunkList.BunkIdSel;
}
}
/// <summary>
/// Indice bunk selezionato (0..n-1)
/// </summary>
@@ -34,16 +36,18 @@ namespace NKC_WF.site
cmp_BP_bunkList.selIndex = value;
}
}
/// <summary>
/// BunkId selezionato
/// </summary>
protected int BunkId
protected int SheetId
{
get
{
return cmp_BP_bunkList.BunkIdSel;
return cmp_BP_sheetList.SheetIdSel;
}
}
/// <summary>
/// Indice sheet selezionato (0..n-1)
/// </summary>
@@ -58,16 +62,46 @@ namespace NKC_WF.site
cmp_BP_sheetList.selIndex = value;
}
}
/// <summary>
/// BunkId selezionato
/// Chaive URL base x gestione sheet del batch corrente
/// </summary>
protected int SheetId
protected string tabSheetKey
{
get => $"{memLayer.ML.redHash($"TabSheets")}:{BatchId}";
}
/// <summary>
/// Elenco fogli della gestione corrente
/// </summary>
protected DS_App.SheetListDataTable tabSheets
{
get
{
return cmp_BP_sheetList.SheetIdSel;
DS_App.SheetListDataTable answ = null;
string rawData = memLayer.ML.getRSV(tabSheetKey);
if (string.IsNullOrEmpty(rawData))
{
answ = DLMan.taSHL.getByBatch(BatchId, "");
tabSheets = answ;
}
else
{
answ = JsonConvert.DeserializeObject<DS_App.SheetListDataTable>(rawData);
}
return answ;
}
set
{
string rawData = "";
if (value.Count > 0)
{
rawData = JsonConvert.SerializeObject(value);
}
memLayer.ML.setRSV(tabSheetKey, rawData, 300);
}
}
/// <summary>
/// valore selezionato nello slider
/// </summary>
@@ -82,170 +116,26 @@ namespace NKC_WF.site
cmp_slider.selValue = value;
}
}
#endregion Protected Properties
#region Public Properties
/// <summary>
/// Chaive URL base x gestione sheet del batch corrente
/// Batch corrente...
/// </summary>
protected string tabSheetKey;
/// <summary>
/// Elenco fogli della gestione corrente
/// </summary>
protected DS_App.SheetListDataTable tabSheets
public int BatchId
{
get
{
DS_App.SheetListDataTable answ = null;
string rawData = memLayer.ML.getRSV(tabSheetKey);
if (string.IsNullOrEmpty(rawData))
{
answ = DLMan.taSHL.getByBatch(BatchId);
tabSheets = answ;
}
else
{
answ = JsonConvert.DeserializeObject<DS_App.SheetListDataTable>(rawData);
}
int answ = memLayer.ML.QSI("BatchId");
return answ;
}
set
{
string rawData = JsonConvert.SerializeObject(value);
memLayer.ML.setRSV(tabSheetKey, rawData, 60);
}
}
/// <summary>
/// Restituisce la riga dall'indice inserito (
/// </summary>
/// <param name="indice">valore 1..maxSheets</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaSel(int indice)
{
DS_App.SheetListRow answ = null;
// init var
int maxNum = tabSheets.Count;
// base 0 --> riduco di 1...
indice--;
// controllo valore sia accettabile...
indice = indice < 0 ? 0 : indice;
indice = indice >= maxNum ? maxNum - 1 : indice;
try
{
answ = tabSheets[indice];
}
catch
{ }
// restituisco!
return answ;
}
/// <summary>
/// Restituisce la PRIMA riga dal codice BUNK inserito
/// </summary>
/// <param name="BunkId">valore 1..numBunk</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaByBunk(int BunkId)
{
DS_App.SheetListRow answ = null;
try
{
answ = tabSheets.First(x => x.StackID == BunkId);
}
catch
{ }
// restituisco!
return answ;
}
/// <summary>
/// Restituisce la riga dal codice Sheet inserito
/// </summary>
/// <param name="SheetId">valore 1..numBunk</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaBySheet(int SheetId)
{
DS_App.SheetListRow answ = null;
try
{
answ = tabSheets.First(x => x.StackID == SheetId);
}
catch
{ }
// restituisco!
return answ;
}
/// <summary>
/// caicamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
((SiteMaster)this.Master).showSearch = false;
tabSheetKey = $"{memLayer.ML.redHash($"TabSheets")}:{BatchId}";
// imposto bunk!
cmp_BP_bunkList.BatchId = BatchId;
setupSlider();
doUpdate();
}
cmp_BP_bunkList.eh_doRefresh += Cmp_BP_bunkList_eh_doRefresh;
cmp_BP_sheetList.eh_doRefresh += Cmp_BP_sheetList_eh_doRefresh;
cmp_slider.eh_doRefresh += Cmp_slider_eh_doRefresh;
}
/// <summary>
/// Setup slider da num fogli
/// </summary>
private void setupSlider()
{
cmp_slider.minVal = 1;
cmp_slider.maxVal = tabSheets.Count;
cmp_slider.selValue = 1;
}
#endregion Public Properties
private void doUpdate()
{
updateBySlider();
}
private void Cmp_slider_eh_doRefresh(object sender, EventArgs e)
{
updateBySlider();
}
/// <summary>
/// Effettua update da Slider --> valore selezionato
/// </summary>
private void updateBySlider()
{
// il valore assoluto dello slider è già corretto... cerco nella tab!
DS_App.SheetListRow currRow = rigaSel(valSlider);
if (currRow != null)
{
// recupero indice bunk e sheets e seleziono
bunkIndex = currRow.StackIndex - 1;
cmp_BP_sheetList.BunkId = cmp_BP_bunkList.BunkIdSel;
sheetIndex = currRow.SheetIndex - 1;
// update svg...
cmp_MU_svgViewer.SheetId = currRow.SheetID;
}
}
private void Cmp_BP_sheetList_eh_doRefresh(object sender, EventArgs e)
{
// calcolo indice slider da chiave sheet...
int num = 1;
foreach (var item in tabSheets)
{
if (item.SheetID == cmp_BP_sheetList.SheetIdSel)
{
break;
}
else
{
num++;
}
}
cmp_slider.selValue = num;
// update svg...
cmp_MU_svgViewer.SheetId = cmp_BP_sheetList.SheetIdSel;
}
#region Private Methods
private void Cmp_BP_bunkList_eh_doRefresh(object sender, EventArgs e)
{
@@ -254,7 +144,8 @@ namespace NKC_WF.site
{
// calcolo indice slider da chiave sheet...
int num = 1;
foreach (var item in tabSheets)
var currTabSheets = tabSheets;
foreach (var item in currTabSheets)
{
if (item.SheetID == currRow.SheetID)
{
@@ -273,5 +164,154 @@ namespace NKC_WF.site
cmp_MU_svgViewer.SheetId = currRow.SheetID;
}
}
private void Cmp_BP_sheetList_eh_doRefresh(object sender, EventArgs e)
{
// calcolo indice slider da chiave sheet...
int num = 1;
var currTabSheets = tabSheets;
foreach (var item in currTabSheets)
{
if (item.SheetID == cmp_BP_sheetList.SheetIdSel)
{
break;
}
else
{
num++;
}
}
cmp_slider.selValue = num;
// update svg...
cmp_MU_svgViewer.SheetId = cmp_BP_sheetList.SheetIdSel;
}
private void Cmp_slider_eh_doRefresh(object sender, EventArgs e)
{
updateBySlider();
}
private void doUpdate()
{
updateBySlider();
}
/// <summary>
/// Setup slider da num fogli
/// </summary>
private void setupSlider()
{
cmp_slider.minVal = 1;
cmp_slider.maxVal = tabSheets.Count;
cmp_slider.selValue = 1;
}
/// <summary>
/// Effettua update da Slider --> valore selezionato
/// </summary>
private void updateBySlider()
{
// il valore assoluto dello slider è già corretto... cerco nella tab!
DS_App.SheetListRow currRow = rigaSel(valSlider);
if (currRow != null)
{
// recupero indice bunk e sheets e seleziono
bunkIndex = currRow.StackIndex - 1;
cmp_BP_sheetList.BunkId = cmp_BP_bunkList.BunkIdSel;
sheetIndex = currRow.SheetIndex - 1;
// update svg...
cmp_MU_svgViewer.SheetId = currRow.SheetID;
}
}
#endregion Private Methods
#region Protected Methods
/// <summary>
/// caicamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
((SiteMaster)this.Master).showSearch = false;
// imposto bunk!
cmp_BP_bunkList.BatchId = BatchId;
setupSlider();
doUpdate();
}
cmp_BP_bunkList.eh_doRefresh += Cmp_BP_bunkList_eh_doRefresh;
cmp_BP_sheetList.eh_doRefresh += Cmp_BP_sheetList_eh_doRefresh;
cmp_slider.eh_doRefresh += Cmp_slider_eh_doRefresh;
}
/// <summary>
/// Restituisce la PRIMA riga dal codice BUNK inserito
/// </summary>
/// <param name="BunkId">valore 1..numBunk</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaByBunk(int BunkId)
{
DS_App.SheetListRow answ = null;
try
{
var currTabSheets = tabSheets;
answ = currTabSheets.First(x => x.StackID == BunkId);
}
catch
{ }
// restituisco!
return answ;
}
/// <summary>
/// Restituisce la riga dal codice Sheet inserito
/// </summary>
/// <param name="SheetId">valore 1..numBunk</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaBySheet(int SheetId)
{
DS_App.SheetListRow answ = null;
try
{
var currTabSheets = tabSheets;
answ = currTabSheets.First(x => x.StackID == SheetId);
}
catch
{ }
// restituisco!
return answ;
}
/// <summary>
/// Restituisce la riga dall'indice inserito (
/// </summary>
/// <param name="indice">valore 1..maxSheets</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaSel(int indice)
{
DS_App.SheetListRow answ = null;
var currTabSheets = tabSheets;
// init var
int maxNum = currTabSheets.Count;
// base 0 --> riduco di 1...
indice--;
// controllo valore sia accettabile...
indice = indice < 0 ? 0 : indice;
indice = indice >= maxNum ? maxNum - 1 : indice;
try
{
answ = currTabSheets[indice];
}
catch
{ }
// restituisco!
return answ;
}
#endregion Protected Methods
}
}
+23 -23
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,56 +15,56 @@ namespace NKC_WF.site
{
/// <summary>
/// Controllo hfCartID.
/// hfCartID 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.HiddenField hfCartID;
/// <summary>
/// Controllo hlPartMIA.
/// hlPartMIA 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 hlPartMIA;
/// <summary>
/// Controllo lbtPrint.
/// lbtPrint 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 lbtPrint;
/// <summary>
/// Controllo upnlCartSummary.
/// upnlCartSummary 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 upnlCartSummary;
/// <summary>
/// Controllo timerMain.
/// timerMain 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 timerMain;
/// <summary>
/// Controllo cmp_cartDetIRK.
/// cmp_cartDetIRK 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_cartDetIRK cmp_cartDetIRK;
}
+9 -2
View File
@@ -7,12 +7,19 @@
<div class="container">
<div class="card" style="width: 100%;">
<div class="card-header">
<h3><%: traduci("DxfValidation") %></h3>
<div class="row">
<div class="col-9">
<h3><%: traduci("DxfValidation") %></h3>
</div>
<div class="col-3">
<asp:LinkButton runat="server" ID="lbtInvalidPending" CssClass="btn btn-danger btn-block" OnClick="lbtInvalidPending_Click" OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmInvalidatePending") %>'><%: traduci("InvalidatePending") %><i class="fa fa-exclamation-triangle" aria-hidden="true"></i></asp:LinkButton>
</div>
</div>
</div>
<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" checkRunning="true" checkBatchAppr="false" />
</div>
</div>
<div class="row">
+11
View File
@@ -101,8 +101,19 @@ namespace NKC_WF.site
#region Protected Methods
/// <summary>
/// Chiamata x rendere UNVALID ogni task pending
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtInvalidPending_Click(object sender, EventArgs e)
{
DLMan.taBL.invalidateRunning();
}
protected void Page_Load(object sender, EventArgs e)
{
lbtInvalidPending.DataBind();
cmp_fileUpload.eh_FileUploaded += Cmp_fileUpload_eh_FileUploaded;
}
+23 -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,38 @@ namespace NKC_WF.site
{
/// <summary>
/// Controllo cmp_fileUpload.
/// lbtInvalidPending 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 lbtInvalidPending;
/// <summary>
/// cmp_fileUpload control.
/// </summary>
/// <remarks>
/// 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" checkRunning="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;
}
+10 -1
View File
@@ -5,6 +5,15 @@
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<div class="container px-1">
<uc1:cmp_labelsPrint runat="server" ID="cmp_labelsPrint" />
<div class="card text-center" style="width: 100%;">
<h4 class="card-header p-1 bg-secondary text-light"><%: traduci("LabelPrintSmart") %></h4>
<div class="card-body py-1">
<div class="row">
<div class="col-12 mb-2">
<uc1:cmp_labelsPrint runat="server" ID="cmp_labelsPrint" />
</div>
</div>
</div>
</div>
</div>
</asp:Content>
+8 -8
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,11 +15,11 @@ namespace NKC_WF.site
{
/// <summary>
/// Controllo cmp_labelsPrint.
/// cmp_labelsPrint 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_labelsPrint cmp_labelsPrint;
}
+5
View File
@@ -25,10 +25,15 @@ namespace NKC_WF
cmp_stackLoading.doUpdate();
int currBatchId = cmp_stackLoading.BatchIdCurr;
hfBatchID.Value = $"{currBatchId}";
string machineSel = cmp_MachSem.currMachine;
cmp_ML_ShDet.BatchId = currBatchId;
cmp_ML_ShDet1.BatchId = currBatchId;
cmp_ML_ShDet2.BatchId = currBatchId;
cmp_ML_ShDet3.BatchId = currBatchId;
cmp_ML_ShDet.MachineSel = machineSel;
cmp_ML_ShDet1.MachineSel = machineSel;
cmp_ML_ShDet2.MachineSel = machineSel;
cmp_ML_ShDet3.MachineSel = machineSel;
cmp_ML_ShDet.doUpdate();
cmp_ML_ShDet1.doUpdate();
cmp_ML_ShDet2.doUpdate();
+31 -13
View File
@@ -44,7 +44,7 @@ namespace NKC_WF
{
get
{
return ComLib.getCurrBatchId(PlaceCod);
return ComLib.getCurrBatchId(MachineSel);
}
}
@@ -52,7 +52,7 @@ namespace NKC_WF
{
get
{
return ComLib.getCurrSheetId(PlaceCod);
return ComLib.getCurrSheetId(MachineSel);
}
}
@@ -68,7 +68,7 @@ namespace NKC_WF
set
{
hfBatchID.Value = value.ToString();
ComLib.setCurrBatchId(PlaceCod, value);
ComLib.setCurrBatchId(MachineSel, value);
}
get
{
@@ -86,7 +86,7 @@ namespace NKC_WF
set
{
hfSheetID.Value = value.ToString();
ComLib.setCurrSheetId(PlaceCod, value);
ComLib.setCurrSheetId(MachineSel, value);
}
get
{
@@ -104,12 +104,15 @@ namespace NKC_WF
get
{
bool answ = false;
try
if (BatchId > 0)
{
answ = DLMan.taIL.getMissingByBatch(BatchId).Count > 0;
try
{
answ = DLMan.taIL.getMissingByBatch(BatchId).Count > 0;
}
catch
{ }
}
catch
{ }
return answ;
}
}
@@ -118,6 +121,21 @@ namespace NKC_WF
#region Private Methods
protected string MachineSel
{
get
{
return PlaceCod;
}
set
{
PlaceCod = value;
cmp_MU_bins.MachineSel = value;
cmp_MU_carts.MachineSel = value;
}
}
/// <summary>
/// Aggiorna componente principale e child components
/// </summary>
@@ -127,11 +145,11 @@ namespace NKC_WF
if (string.IsNullOrEmpty(cmp_MachSem.currMachine))
{
divMain.Visible = false;
PlaceCod = "#";
MachineSel = "#";
}
else
{
PlaceCod = cmp_MachSem.currMachine;
MachineSel = cmp_MachSem.currMachine;
divMain.Visible = true;
// imposto dati correnti
bool doUpdate = setCurrData();
@@ -160,7 +178,7 @@ namespace NKC_WF
{
bool needUpdate = false;
// recupero bunk corrente...
DS_App.StackListRow currBunk = ComLib.getCurrBunk(PlaceCod);
DS_App.StackListRow currBunk = ComLib.getCurrBunk(MachineSel);
if (currBunk != null)
{
bool chgBtLocal = BatchId != currBunk.BatchID;
@@ -172,7 +190,7 @@ namespace NKC_WF
needUpdate = true;
}
DS_App.SheetListRow currSheet = ComLib.getCurrSheet(BatchId, PlaceCod);
DS_App.SheetListRow currSheet = ComLib.getCurrSheet(BatchId, MachineSel);
if (currSheet != null)
{
bool chgShLocal = SheetId != currSheet.SheetID;
@@ -188,7 +206,7 @@ namespace NKC_WF
{
BatchId = 0;
SheetId = 0;
ComLib.setCurrBunkId(PlaceCod, 0);
ComLib.setCurrBunkId(MachineSel, 0);
ComLib.man.resetSheetUnload(0);
}
// se sheet/bunk 0 --> update!
+1 -1
View File
@@ -10,7 +10,7 @@
<div class="card-body">
<div class="row">
<div class="col-12" runat="server" id="divFileList">
<uc1:cmp_batchList runat="server" ID="cmp_batchList" listMode="FullHistory" />
<uc1:cmp_batchList runat="server" ID="cmp_batchList" listMode="FullHistory" showSplit="true" />
</div>
</div>
</div>
+11 -11
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,20 +15,20 @@ namespace NKC_WF.site
{
/// <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
@@ -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" checkRunning="false" />
</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>
+15 -3
View File
@@ -1,12 +1,24 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/SiteContent.master" AutoEventWireup="true" CodeBehind="SecondScreen.aspx.cs" Inherits="NKC_WF.SecondScreen" %>
<%@ Register Src="~/WebUserControls/cmp_secScreen.ascx" TagPrefix="uc1" TagName="cmp_secScreen" %>
<%@ Register Src="~/WebUserControls/cmp_MachSem.ascx" TagPrefix="uc1" TagName="cmp_MachSem" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<asp:UpdatePanel runat="server" ID="updPanelSecScreen" UpdateMode="Conditional">
<asp:Content ID="updMachSel" ContentPlaceHolderID="MainContent" runat="server">
<asp:UpdatePanel runat="server" ID="upnlCartSummary" UpdateMode="Conditional">
<ContentTemplate>
<uc1:cmp_secScreen runat="server" ID="cmp_secScreen" />
<div class="row">
<div class="col-12">
<uc1:cmp_MachSem runat="server" ID="cmp_MachSem" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div runat="server" id="divMain">
<asp:UpdatePanel runat="server" ID="updPanelSecScreen" UpdateMode="Conditional">
<ContentTemplate>
<uc1:cmp_secScreen runat="server" ID="cmp_secScreen" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
+14 -1
View File
@@ -10,8 +10,21 @@ namespace NKC_WF
if (!Page.IsPostBack)
{
((SiteContent)this.Master).showSearch = false;
forceRefresh();
}
}
private void forceRefresh()
{
// verifico CI SIA la macchina...
if (string.IsNullOrEmpty(cmp_MachSem.currMachine))
{
divMain.Visible = false;
}
else
{
divMain.Visible = true;
cmp_secScreen.machine = cmp_MachSem.currMachine;
}
}
}
}
+38 -11
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,20 +15,47 @@ namespace NKC_WF
{
/// <summary>
/// Controllo updPanelSecScreen.
/// upnlCartSummary 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 upnlCartSummary;
/// <summary>
/// cmp_MachSem control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_MachSem cmp_MachSem;
/// <summary>
/// divMain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divMain;
/// <summary>
/// updPanelSecScreen control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.UpdatePanel updPanelSecScreen;
/// <summary>
/// Controllo cmp_secScreen.
/// cmp_secScreen 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_secScreen cmp_secScreen;
}

Some files were not shown because too many files have changed in this diff Show More