Compare commits

...

106 Commits

Author SHA1 Message Date
Samuele Locatelli 156f61a87b Merge tag 'AddYeldPreview_04' into develop
Update evento pagiazione x cui si perdono % recuperate
2025-06-18 09:00:05 +02:00
Samuele Locatelli 1661671cc4 Merge branch 'release/AddYeldPreview_04' 2025-06-18 08:59:51 +02:00
Samuele Locatelli 6bdfb70448 Fix perdita % in cambio pagina 2025-06-18 08:59:30 +02:00
Samuele Locatelli 4185bd1dad Merge tag 'AddYeldPreview_03' into develop
Update della gestione pagina BatchPreview per mostrare rese sia per
foglio che x materiale, fix paginazioni e problemi grafici vari
2025-06-18 08:37:00 +02:00
Samuele Locatelli 1a704be449 Merge branch 'release/AddYeldPreview_03' 2025-06-18 08:36:29 +02:00
Samuele Locatelli ba8eef2aeb COmpletata review pagina BatchPreview
-- fix grafici
- ingrandimento generale
- fix pagina che debordava
- paginazione lista sheets
2025-06-18 08:36:07 +02:00
Samuele Locatelli 01551f6b20 typo appunti 2025-06-17 18:43:23 +02:00
Samuele Locatelli c6e909e6f2 Merge tag 'AddYeldPreview_02' into develop
Update con report calcolo rendimento Yeld x materiale e x sheet
2025-06-17 18:35:27 +02:00
Samuele Locatelli 566dcf3812 Merge branch 'release/AddYeldPreview_02' 2025-06-17 18:33:49 +02:00
Samuele Locatelli be059c483d Commentata area calcolo non + usata da MongoDB 2025-06-17 18:32:43 +02:00
Samuele Locatelli b503cd9527 Recupero statistiche foglio da obj REDIS OK... 2025-06-17 18:31:35 +02:00
Samuele Locatelli 5207c591eb Aggiunta calcolo statistiche x materiale + cache in REDIS valori yeld calcolati 2025-06-17 18:19:11 +02:00
Samuele Locatelli 3f3a1c3d0b Merge tag 'AddYeldPreview_01' into develop
Aggiunta calcolo numpart + yeld %
2025-06-17 13:15:42 +02:00
Samuele Locatelli b9df0cb31a Merge branch 'release/AddYeldPreview_01' 2025-06-17 13:15:28 +02:00
Samuele Locatelli bb2c2680ac Aggiunto display yeald % su ogni foglio 2025-06-17 13:15:00 +02:00
Samuele Locatelli 1926d39386 Merge tag 'FixSentinelProxy_01' into develop
Fix release proxy x redis
2025-05-13 16:22:22 +02:00
Samuele Locatelli c80551797f Merge branch 'release/FixSentinelProxy_01' 2025-05-13 16:22:14 +02:00
Samuele Locatelli e7c526c6c9 update conf sentinel in haproxy invece che locale 2025-05-13 16:21:49 +02:00
Samuele Locatelli b9e3fafd89 Merge tag 'AddAllSheetCalc_01' into develop
Aggiunta chkbox x selezionare tutti i fogli in statistiche
2025-04-24 16:24:30 +02:00
Samuele Locatelli 1d778e2f1f Merge branch 'release/AddAllSheetCalc_01' 2025-04-24 16:24:13 +02:00
Samuele Locatelli 515441e4e3 Aggiunto chk x calcolare anche ultimo foglio in statistiche OEE materiali 2025-04-24 16:23:42 +02:00
Samuele Locatelli f859432067 Merge tag 'AddHistorySelectDetail_02' into develop
update controlli visibilità buttons x evitare comandi in history
2025-04-23 19:24:22 +02:00
Samuele Locatelli 25885bbf4c Merge branch 'release/AddHistorySelectDetail_02' 2025-04-23 19:23:56 +02:00
Samuele Locatelli e16d3001e2 Esteso gestione controlli abilitazione buttons per CSV man e disabilitazione in history page 2025-04-23 19:22:46 +02:00
Samuele Locatelli 8c4b81f7f1 Merge tag 'AddHistorySelectDetail_01' into develop
Aggiunta visualizzazione buttons in histyory (hide non ancora completo)
2025-04-23 18:00:20 +02:00
Samuele Locatelli 3da5992cbb Merge branch 'release/AddHistorySelectDetail_01' 2025-04-23 18:00:07 +02:00
Samuele Locatelli ad0879a295 Order History:
- aggiunti buttons x detail
- gestione blocco buttons dove non gestiti (history page)
2025-04-23 17:59:20 +02:00
Samuele Locatelli 1ea789e99a Merge tag 'AddSearchOrderPage_03' into develop
Update visualizzazione e gestione num righe in OrderSearch
2025-03-20 10:18:30 +01:00
Samuele Locatelli 638c981d6d Merge branch 'release/AddSearchOrderPage_03' 2025-03-20 10:18:14 +01:00
Samuele Locatelli ceffa2e175 fix numRow errato in orderSearch 2025-03-20 10:17:55 +01:00
Samuele Locatelli 0935eda0f9 Merge tag 'AddSearchOrderPage_02' into develop
Update messaggio pagina con dettaglio scopo
2025-03-20 09:25:14 +01:00
Samuele Locatelli 77ddf796d4 Merge branch 'release/AddSearchOrderPage_02' 2025-03-20 09:24:39 +01:00
Samuele Locatelli 8cfabbd046 Update messaggi 2025-03-20 09:23:53 +01:00
Samuele Locatelli b074758755 Merge tag 'AddSearchOrderPage_01' into develop
Completata pagina ricerca
2025-03-19 19:21:19 +01:00
Samuele Locatelli b434d7fb4f Merge branch 'release/AddSearchOrderPage_01' 2025-03-19 19:20:40 +01:00
Samuele Locatelli f653721db0 Completo pagina ricerca in update panel 2025-03-19 19:20:16 +01:00
Samuele Locatelli da5f9a2a68 OK pagina ricerca! 2025-03-19 18:54:06 +01:00
Samuele Locatelli 16667a70b6 DataSet: nuovo obj search + minor refresh 2025-03-19 17:12:24 +01:00
Samuele Locatelli 463a32f024 Inizio aggiunta order search 2025-03-19 16:19:13 +01:00
Samuele Locatelli 2226388f92 Aggiunto modifiche testata-filtro 2025-03-19 12:11:28 +01:00
Samuele Locatelli 47392fa3ba Completato la aprte di filtro in testata... 2025-03-19 12:11:18 +01:00
Samuele Locatelli 82ce925634 Merge branch 'develop' of https://gitlab.steamware.net/steamware/NKC into develop 2025-03-19 10:52:31 +01:00
Samuele Locatelli 7d2d503301 Leggero cambio styling, inizio aggiunta pag ricerca ordini, fix display errori import KIT 2025-03-19 10:52:27 +01:00
Giancarlo Rottoli 1eaa91d2bb Footer con Data-Ora 2024-12-20 16:00:35 +01:00
Samuele Locatelli 897465b282 Merge tag 'AddCheckRebalance_04' into develop
Fix errore bilanciamento e ordinamento ORD da durata
2024-12-13 15:45:08 +01:00
Samuele Locatelli c545d19a85 Merge branch 'release/AddCheckRebalance_04' 2024-12-13 15:44:53 +01:00
Samuele Locatelli 3c45e71312 Fix rebalance 2024-12-13 15:44:19 +01:00
Samuele Locatelli a0400d99bd Merge tag 'AddCheckRebalance_03' into develop
Ancora fix display warning rebalance
2024-12-13 09:24:03 +01:00
Samuele Locatelli b55136d302 Merge branch 'release/AddCheckRebalance_03' 2024-12-13 09:23:55 +01:00
Samuele Locatelli 346f50694a Ancora fix display warning 2024-12-13 09:23:39 +01:00
Samuele Locatelli acea59ec47 Fix warning split suggestion 2024-12-13 09:14:56 +01:00
Samuele Locatelli c5eddb3d61 Merge tag 'AddCheckRebalance_02' into develop
Fix calcolo KIT su ordini OLT da parent
2024-12-13 09:05:12 +01:00
Samuele Locatelli b3721b5f2f Merge branch 'release/AddCheckRebalance_02' 2024-12-13 09:04:13 +01:00
Samuele Locatelli 47855a6f27 Fix controllo anche su num KIT spostati in split 2024-12-13 09:03:55 +01:00
Samuele Locatelli cc5c6e55f6 Merge tag 'AddCheckRebalance_01' into develop
Aggiunta controlli rebalance x casi in cui orderlisttree restino
assegnati a ancestor (da validare)
2024-12-12 19:41:56 +01:00
Samuele Locatelli 4d833794af Merge branch 'release/AddCheckRebalance_01' 2024-12-12 19:41:36 +01:00
Samuele Locatelli 1f120161ac Altra modifica check errore balance, su OrderListTree 2024-12-12 19:41:09 +01:00
Samuele Locatelli 1dc78d4b3d Aggiunta controlli fase split batch da stima a nesting 2024-12-12 19:22:28 +01:00
Samuele Locatelli 5254bd8429 Merge tag 'AddCheckRebalanceError01' into develop
Aggiunto controllo (bloccante) in caso di errori rebalance
2024-09-20 09:41:08 +02:00
Samuele Locatelli 794a6641ec Merge branch 'release/AddCheckRebalanceError01' 2024-09-20 09:40:30 +02:00
Samuele Locatelli a667f8e22f Update gestione display errori rebalance... 2024-09-20 09:40:16 +02:00
Samuele Locatelli af21406d87 Merge tag 'UpdateStoredUploadBatch02' into develop
Aggiunta gestione condizionale impiego delle 2 stored alternative
normale e light
2024-07-22 11:09:18 +02:00
Samuele Locatelli 0e0c1d8a94 Merge branch 'release/UpdateStoredUploadBatch02' 2024-07-22 11:08:55 +02:00
Samuele Locatelli 59bb86e17d Update x impiego stored accelerata in elenco upload batch condizionale da config 2024-07-22 11:08:37 +02:00
Samuele Locatelli 60f9d783db Merge tag 'UpdateStoredUploadBatch' into develop
iUpdate stored lettura stato batch x pagina upload
2024-07-22 09:40:41 +02:00
Samuele Locatelli b1f02e969f Merge branch 'release/UpdateStoredUploadBatch' 2024-07-22 09:39:50 +02:00
Samuele Locatelli f8eb636133 Impiego nuova stored x calcolo batch list x evitare lock DB 2024-07-22 09:21:31 +02:00
Samuele Locatelli bc78540bcd Merge tag 'UpdateTimerManagement02' into develop
Modifiche ulteriori x timer e metodi lettura forzata refresh
2024-06-14 09:20:18 +02:00
Samuele Locatelli 950c31c1b2 Merge branch 'release/UpdateTimerManagement02' 2024-06-14 09:20:02 +02:00
Samuele Locatelli bd2ea7dab0 Ancora spostamento timers vari in tab config 2024-06-14 09:18:36 +02:00
Samuele Locatelli 53c8620be0 Merge tag 'UpdateTimerManagement01' into develop
Gestione timer pagina unload rivista:
- timer separati da tab config
- gestione refresh migliorata
2024-06-13 19:08:22 +02:00
Samuele Locatelli 834f4517e3 Merge branch 'release/UpdateTimerManagement01' 2024-06-13 19:07:52 +02:00
Samuele Locatelli 601b3937f9 Update gestione separata 3 timers x pagina unload (pesante):
timerCss
timerStatus
timerUnload
2024-06-13 19:07:15 +02:00
Samuele Locatelli 721ddaae22 Merge tag 'UpdateNuget01' into develop
Update massiva nuget packages
2024-05-31 16:22:44 +02:00
Samuele Locatelli 7f81b29afc Merge branch 'release/UpdateNuget01' 2024-05-31 16:22:32 +02:00
Samuele Locatelli 5570712970 update nuget:
- compression
2024-05-31 16:22:06 +02:00
Samuele Locatelli 602b271d6b Update nuget vari:
- Microsoft.*
- AWS.*
2024-05-31 16:15:18 +02:00
Samuele Locatelli 07b3473341 Update nuget vari:
- Redis
- System.*
- Mongo
- NLog
2024-05-31 16:03:13 +02:00
Samuele Locatelli cb75d386d2 Update nuget vari
- system*
- aspnet.mvc
2024-05-31 15:43:27 +02:00
Samuele Locatelli b741ab3231 Fix pacchetti deprecati 2024-05-31 15:40:33 +02:00
Samuele Locatelli c3fefe2abc Merge tag 'AddCheckPartMiaOnPackList01' into develop
Aggiunto controllo partMIA x PackList (mostra button solo se presenti)
2024-05-31 15:36:57 +02:00
Samuele Locatelli 03c7470057 Merge branch 'release/AddCheckPartMiaOnPackList01' 2024-05-31 15:36:31 +02:00
Samuele Locatelli f2e03b6702 Aggiunta visibilità MIA packList condizionale 2024-05-31 15:35:48 +02:00
Samuele Locatelli 99d615aee7 Merge tag 'AddSearchInfoPart' into develop
Aggiunta info data-ora in ricerca part
2024-05-17 07:51:31 +02:00
Samuele Locatelli 005ae3a51e Update display info x ricerca DMTX estesa (macchina, data-ora lav) 2024-05-17 07:50:54 +02:00
Samuele Locatelli 8c0a550465 Bozza pagina ricerca estesa 2024-05-08 11:42:00 +02:00
Samuele Locatelli 6448210ab0 Merge branch 'develop' 2024-03-20 08:55:22 +01:00
Samuele Locatelli acd603ba23 Fix js missing 2024-03-20 08:55:14 +01:00
Samuele Locatelli ac28d5fd62 Merge tag 'FixReportsChartJs01' into develop
Update in produzione grafici
2024-03-20 08:46:11 +01:00
Samuele Locatelli bad086334e Merge branch 'release/FixReportsChartJs01' 2024-03-20 08:36:06 +01:00
Samuele Locatelli 010a05377e Completata semplificazione pagine reports 2024-03-20 08:33:41 +01:00
Samuele Locatelli 7539c6f985 refresh display 2024-03-20 07:27:02 +01:00
Samuele Locatelli 2d7cbf7d60 Completo review pagine x gestioen report su pag diverse 2024-03-20 07:18:34 +01:00
Samuele Locatelli 1d3ef90402 Inizio fix gestione report su pagine distinte 2024-03-20 07:18:24 +01:00
Samuele Locatelli c7463e4358 Fix test grafici 2024-03-19 18:13:51 +01:00
Samuele Locatelli a85ec6aefb Merge tag 'FixSentinelLocalhost' into develop
Fix gestione sentinel da localhost x deploy
2024-03-16 12:10:42 +01:00
Samuele Locatelli 768bcd91e7 Merge branch 'release/FixSentinelLocalhost' 2024-03-16 12:10:25 +01:00
Samuele Locatelli 86024d8dbc Fix conf x sentinel locale 2024-03-16 12:09:52 +01:00
Samuele Locatelli 0c17ea9f9b Test configurazione REDIS
- webconfig --> tramite redis sentinel (su redis01)
2024-03-15 15:05:16 +01:00
Samuele Locatelli ba8bb7d085 Merge tag 'AddSheetMissingDateProcess02' into develop
Fix loggin + process x NKC in caso di date missing
2024-03-08 17:19:29 +01:00
Samuele Locatelli 07bae712b8 Merge branch 'release/AddSheetMissingDateProcess02' 2024-03-08 17:19:17 +01:00
Samuele Locatelli df7fa95a62 Miglioramento fase di log in caso errori dal PROD 2024-03-08 17:19:02 +01:00
Samuele Locatelli 405e55b2c7 Merge tag 'AddSheetMissingDateProcess01' into develop
Aggiunta gestione date missing da sheets, per intercettare errori invio
da prod parziale
2024-03-08 16:50:47 +01:00
Samuele Locatelli f60c91bca5 Merge branch 'release/AddSheetMissingDateProcess01' 2024-03-08 16:50:31 +01:00
Samuele Locatelli 1977490dc0 Merge branch 'develop' of https://gitlab.steamware.net/steamware/NKC into develop 2024-03-08 16:48:05 +01:00
Samuele Locatelli d653d614a3 Update x logging & fix data-ora su avanzamento fogli se ci fossero mancanti 2024-03-08 16:48:02 +01:00
139 changed files with 9192 additions and 2782 deletions
+55 -47
View File
@@ -57,8 +57,14 @@
<Reference Include="AjaxControlToolkit, Version=20.1.0.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL"> <Reference Include="AjaxControlToolkit, Version=20.1.0.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL">
<HintPath>..\packages\AjaxControlToolkit.20.1.0\lib\net40\AjaxControlToolkit.dll</HintPath> <HintPath>..\packages\AjaxControlToolkit.20.1.0\lib\net40\AjaxControlToolkit.dll</HintPath>
</Reference> </Reference>
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath> <HintPath>..\packages\AWSSDK.Core.3.7.304.8\lib\net45\AWSSDK.Core.dll</HintPath>
</Reference>
<Reference Include="AWSSDK.SecurityToken, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.SecurityToken.3.7.300.99\lib\net45\AWSSDK.SecurityToken.dll</HintPath>
</Reference>
<Reference Include="Crc32.NET, Version=1.0.0.0, Culture=neutral, PublicKeyToken=dc0b95cf99bf4e99, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32.NET.1.2.0\lib\net20\Crc32.NET.dll</HintPath>
</Reference> </Reference>
<Reference Include="DnsClient, Version=1.7.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL"> <Reference Include="DnsClient, Version=1.7.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.7.0\lib\net45\DnsClient.dll</HintPath> <HintPath>..\packages\DnsClient.1.7.0\lib\net45\DnsClient.dll</HintPath>
@@ -67,8 +73,17 @@
<HintPath>..\packages\SharpZipLib.1.4.0\lib\netstandard2.0\ICSharpCode.SharpZipLib.dll</HintPath> <HintPath>..\packages\SharpZipLib.1.4.0\lib\netstandard2.0\ICSharpCode.SharpZipLib.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="IronSnappy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b1d4b1dc83bdcf31, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath> <HintPath>..\packages\IronSnappy.1.3.1\lib\netstandard2.0\IronSnappy.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.1, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.8.0.1\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.1, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.8.0.1\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.ReportViewer.Common, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL"> <Reference Include="Microsoft.ReportViewer.Common, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ReportViewer.Runtime.Common.12.0.2402.15\lib\Microsoft.ReportViewer.Common.dll</HintPath> <HintPath>..\packages\Microsoft.ReportViewer.Runtime.Common.12.0.2402.15\lib\Microsoft.ReportViewer.Common.dll</HintPath>
@@ -82,23 +97,23 @@
<Reference Include="Microsoft.ReportViewer.WinForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL"> <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> <HintPath>..\packages\Microsoft.ReportViewer.Runtime.WinForms.12.0.2402.15\lib\Microsoft.ReportViewer.WinForms.dll</HintPath>
</Reference> </Reference>
<Reference Include="MongoDB.Bson, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Bson, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.15.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath> <HintPath>..\packages\MongoDB.Bson.2.25.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath>
</Reference> </Reference>
<Reference Include="MongoDB.Driver, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Driver, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.15.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath> <HintPath>..\packages\MongoDB.Driver.2.25.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath>
</Reference> </Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Driver.Core, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.15.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath> <HintPath>..\packages\MongoDB.Driver.Core.2.25.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath>
</Reference> </Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Libmongocrypt, Version=1.9.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.3.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath> <HintPath>..\packages\MongoDB.Libmongocrypt.1.9.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
</Reference> </Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference> </Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL"> <Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.2.4\lib\net46\NLog.dll</HintPath> <HintPath>..\packages\NLog.5.3.2\lib\net46\NLog.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <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> <HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.dll</HintPath>
@@ -107,17 +122,17 @@
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.Charting.dll</HintPath> <HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.Charting.dll</HintPath>
</Reference> </Reference>
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL"> <Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.2\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath> <HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference> </Reference>
<Reference Include="SharpCompress, Version=0.32.2.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL"> <Reference Include="SharpCompress, Version=0.32.2.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.32.2\lib\net461\SharpCompress.dll</HintPath> <HintPath>..\packages\SharpCompress.0.32.2\lib\net461\SharpCompress.dll</HintPath>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Snappier, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a1b25124e6e13a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath> <HintPath>..\packages\Snappier.1.0.0\lib\netstandard2.0\Snappier.dll</HintPath>
</Reference> </Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL"> <Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.6.70\lib\net461\StackExchange.Redis.dll</HintPath> <HintPath>..\packages\StackExchange.Redis.2.7.33\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference> </Reference>
<Reference Include="SteamWare, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="SteamWare, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.3.2311.2908\lib\net462\SteamWare.dll</HintPath> <HintPath>..\packages\SteamWare.5.3.2311.2908\lib\net462\SteamWare.dll</HintPath>
@@ -133,8 +148,8 @@
</Reference> </Reference>
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Diagnostics.PerformanceCounter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.6.0.1\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath> <HintPath>..\packages\System.Diagnostics.PerformanceCounter.8.0.0\lib\net462\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
@@ -142,8 +157,8 @@
<Private>True</Private> <Private>True</Private>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.IO.Pipelines, Version=6.0.0.3, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.IO.Pipelines, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.6.0.3\lib\net461\System.IO.Pipelines.dll</HintPath> <HintPath>..\packages\System.IO.Pipelines.8.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath> <HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
@@ -175,8 +190,8 @@
<Private>True</Private> <Private>True</Private>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.Security.Cryptography.Pkcs, Version=6.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.Pkcs, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.6.0.1\lib\net461\System.Security.Cryptography.Pkcs.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.Pkcs.8.0.0\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
@@ -187,11 +202,11 @@
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.ServiceModel" /> <Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encoding.CodePages, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encoding.CodePages.6.0.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath> <HintPath>..\packages\System.Text.Encoding.CodePages.8.0.0\lib\net462\System.Text.Encoding.CodePages.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Threading.Channels, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.6.0.0\lib\net461\System.Threading.Channels.dll</HintPath> <HintPath>..\packages\System.Threading.Channels.8.0.0\lib\net462\System.Threading.Channels.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath> <HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
@@ -207,6 +222,9 @@
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="ZstdSharp, Version=0.7.3.0, Culture=neutral, PublicKeyToken=8d151af33a4ad5cf, processorArchitecture=MSIL">
<HintPath>..\packages\ZstdSharp.Port.0.7.3\lib\net461\ZstdSharp.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="..\VersGen\VersGen.cs"> <Compile Include="..\VersGen\VersGen.cs">
@@ -227,6 +245,9 @@
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
<DependentUpon>DS_Report.xsd</DependentUpon> <DependentUpon>DS_Report.xsd</DependentUpon>
</Compile> </Compile>
<Compile Include="DTO\BatchYeldStatDTO.cs" />
<Compile Include="DTO\MaterialYeldStatsDTO.cs" />
<Compile Include="DTO\SheetYeldStatDTO.cs" />
<Compile Include="Enum.cs" /> <Compile Include="Enum.cs" />
<Compile Include="Objects.cs" /> <Compile Include="Objects.cs" />
<Compile Include="Properties\Settings.Designer.cs"> <Compile Include="Properties\Settings.Designer.cs">
@@ -246,17 +267,13 @@
<None Include="app.config" /> <None Include="app.config" />
<None Include="App_Readme\SteamWare_demo\example-app.config" /> <None Include="App_Readme\SteamWare_demo\example-app.config" />
<None Include="App_Readme\SteamWare_demo\example-NLog.config" /> <None Include="App_Readme\SteamWare_demo\example-NLog.config" />
<None Include="Core\Compression\Snappy\lib\linux\libsnappy64.so" />
<None Include="Core\Compression\Snappy\lib\osx\libsnappy64.dylib" />
<None Include="Core\Compression\Zstandard\lib\linux\libzstd.so" />
<None Include="Core\Compression\Zstandard\lib\osx\libzstd.dylib" />
<None Include="DS_App.xsc"> <None Include="DS_App.xsc">
<DependentUpon>DS_App.xsd</DependentUpon> <DependentUpon>DS_App.xsd</DependentUpon>
</None> </None>
<None Include="DS_App.xsd"> <None Include="DS_App.xsd">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSDataSetGenerator</Generator> <Generator>MSDataSetGenerator</Generator>
<LastGenOutput>DS_App.Designer.cs</LastGenOutput> <LastGenOutput>DS_App2.Designer.cs</LastGenOutput>
</None> </None>
<None Include="DS_App.xss"> <None Include="DS_App.xss">
<DependentUpon>DS_App.xsd</DependentUpon> <DependentUpon>DS_App.xsd</DependentUpon>
@@ -272,10 +289,6 @@
<None Include="DS_Report.xss"> <None Include="DS_Report.xss">
<DependentUpon>DS_Report.xsd</DependentUpon> <DependentUpon>DS_Report.xsd</DependentUpon>
</None> </None>
<None Include="libsnappy64.dylib" />
<None Include="libsnappy64.so" />
<None Include="libzstd.dylib" />
<None Include="libzstd.so" />
<None Include="packages.config" /> <None Include="packages.config" />
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
@@ -292,13 +305,10 @@
<Content Include="App_Readme\README_SteamWare.txt" /> <Content Include="App_Readme\README_SteamWare.txt" />
<Content Include="App_Readme\SteamWare_demo\example-config-table.txt" /> <Content Include="App_Readme\SteamWare_demo\example-config-table.txt" />
<Content Include="App_Readme\SteamWare_demo\example-favicon.ico" /> <Content Include="App_Readme\SteamWare_demo\example-favicon.ico" />
<Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" /> </ItemGroup>
<Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" /> <ItemGroup>
<Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" /> <Analyzer Include="..\packages\AWSSDK.SecurityToken.3.7.300.99\analyzers\dotnet\cs\AWSSDK.SecurityToken.CodeAnalysis.dll" />
<Content Include="libzstd.dll" /> <Analyzer Include="..\packages\AWSSDK.SecurityToken.3.7.300.99\analyzers\dotnet\cs\SharedAnalysisCode.dll" />
<Content Include="mongocrypt.dll" />
<Content Include="snappy32.dll" />
<Content Include="snappy64.dll" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
@@ -306,10 +316,8 @@
<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> <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> </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\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.3.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets'))" /> <Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.9.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.9.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets'))" />
</Target> </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\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.3.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets')" /> <Import Project="..\packages\MongoDB.Libmongocrypt.1.9.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.9.0\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets')" />
</Project> </Project>
+47 -1
View File
@@ -26,6 +26,8 @@ namespace AppData
public static string redBatchDescend = "NKC:SERV:BATCHDESCEND"; public static string redBatchDescend = "NKC:SERV:BATCHDESCEND";
public static string redKits = "NKC:SERV:KITS";
public static string redMachUnloadCount = "NKC:SERV:MACH_UNLOAD:COUNT"; public static string redMachUnloadCount = "NKC:SERV:MACH_UNLOAD:COUNT";
public static string redMachUnloadForce = "NKC:SERV:MACH_UNLOAD:FORCERELOAD"; public static string redMachUnloadForce = "NKC:SERV:MACH_UNLOAD:FORCERELOAD";
@@ -1224,6 +1226,48 @@ namespace AppData
return false; return false;
} }
/// <summary>
/// Elenco dei kit dato Batch (specifico)
/// </summary>
/// <param name="BatchId"></param>
/// <returns></returns>
public static DS_App.KitListDataTable KitListByBatch(int BatchId)
{
DS_App.KitListDataTable answ = new DS_App.KitListDataTable();
if (BatchId > 0)
{
DataLayer DLMan = new DataLayer();
string redKey = $"{redKits}:ByBatch:{BatchId}";
string rawData = "";
// cerco in redis
if (memLayer.ML.redKeyPresent(redKey))
{
rawData = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(rawData))
{
try
{
answ = JsonConvert.DeserializeObject<DS_App.KitListDataTable>(rawData);
}
catch
{ }
}
}
// se vuoto rileggo
if (answ.Count == 0)
{
// recupero ordini dato il batch MAIN
answ = DLMan.taKL.getByBatch(BatchId);
// salvo in cache
rawData = JsonConvert.SerializeObject(answ);
memLayer.ML.setRSV(redKey, rawData, 5);
}
}
return answ;
}
/// <summary> /// <summary>
/// restitusice ultima chiamata REST registrata su REDIS /// restitusice ultima chiamata REST registrata su REDIS
/// </summary> /// </summary>
@@ -1380,6 +1424,8 @@ namespace AppData
memLayer.ML.redFlushKey(redKey); memLayer.ML.redFlushKey(redKey);
redKey = $"{redOrders}:ByBatchTree:*"; redKey = $"{redOrders}:ByBatchTree:*";
memLayer.ML.redFlushKey(redKey); memLayer.ML.redFlushKey(redKey);
redKey = $"{redKits}:ByBatch:*";
memLayer.ML.redFlushKey(redKey);
} }
public static string PositionStatusDescr(object value) public static string PositionStatusDescr(object value)
@@ -3502,7 +3548,7 @@ namespace AppData
protected static void setCurrSheetTab(string machine, DS_App.SheetListDataTable tabella) protected static void setCurrSheetTab(string machine, DS_App.SheetListDataTable tabella)
{ {
string rawData = JsonConvert.SerializeObject(tabella); string rawData = JsonConvert.SerializeObject(tabella);
// TTL 2 sec // TTL 1 sec
memLayer.ML.setRSV(redCurrSheetTabKey(machine), rawData, 1); memLayer.ML.setRSV(redCurrSheetTabKey(machine), rawData, 1);
} }
Binary file not shown.
Binary file not shown.
+1025 -101
View File
File diff suppressed because it is too large Load Diff
+573 -523
View File
File diff suppressed because it is too large Load Diff
+62 -61
View File
@@ -4,58 +4,59 @@
Changes to this file may cause incorrect behavior and will be lost if Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="433" ViewPortY="488" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="36" ViewPortY="2195" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes> <Shapes>
<Shape ID="DesignTable:BatchList" ZOrder="12" X="325" Y="437" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:BatchList" ZOrder="15" X="325" Y="437" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:StackList" ZOrder="13" X="618" Y="961" Height="381" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:StackList" ZOrder="16" X="618" Y="961" Height="381" Width="267" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:SheetList" ZOrder="10" X="300" Y="824" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:SheetList" ZOrder="13" X="300" Y="824" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OrderList" ZOrder="22" X="284" Y="61" Height="343" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:OrderList" ZOrder="25" X="284" Y="61" Height="343" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ItemList" ZOrder="48" X="853" Y="87" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:ItemList" ZOrder="49" X="853" Y="87" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Materials" ZOrder="3" X="1227" Y="25" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" /> <Shape ID="DesignTable:Materials" ZOrder="7" X="1227" Y="25" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Bins" ZOrder="21" X="1257" Y="597" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:Bins" ZOrder="24" X="1257" Y="597" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Carts" ZOrder="47" X="592" Y="408" Height="286" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:Carts" ZOrder="48" X="592" Y="408" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OfflineOrderList" ZOrder="46" X="921" Y="934" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:OfflineOrderList" ZOrder="47" X="921" Y="934" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OffOrd2Item" ZOrder="45" X="1023" Y="728" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" /> <Shape ID="DesignTable:OffOrd2Item" ZOrder="46" X="1023" Y="728" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:KitList" ZOrder="4" X="634" Y="129" Height="248" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" /> <Shape ID="DesignTable:KitList" ZOrder="8" X="634" Y="129" Height="248" Width="193" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Nesting" ZOrder="44" X="863" Y="526" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" /> <Shape ID="DesignTable:Nesting" ZOrder="45" X="863" Y="526" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:ImportLog" ZOrder="43" X="593" Y="701" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:ImportLog" ZOrder="3" X="593" Y="701" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BinList" ZOrder="42" X="1256" Y="391" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" /> <Shape ID="DesignTable:BinList" ZOrder="44" X="1256" Y="391" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:FinalKit" ZOrder="41" X="15" Y="525" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" /> <Shape ID="DesignTable:FinalKit" ZOrder="43" X="15" Y="525" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:Order2FinalKit" ZOrder="40" X="5" Y="308" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" /> <Shape ID="DesignTable:Order2FinalKit" ZOrder="42" X="5" Y="308" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:Counters" ZOrder="39" X="-12" Y="716" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" /> <Shape ID="DesignTable:Counters" ZOrder="41" X="-12" Y="716" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ErrorsLog" ZOrder="38" X="-14" Y="996" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" /> <Shape ID="DesignTable:ErrorsLog" ZOrder="40" X="-14" Y="996" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemValidation" ZOrder="37" X="-10" Y="1301" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" /> <Shape ID="DesignTable:ItemValidation" ZOrder="39" X="-10" Y="1301" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:PartValidPareto" ZOrder="36" X="316" Y="1303" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" /> <Shape ID="DesignTable:PartValidPareto" ZOrder="38" X="316" Y="1303" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UnloadStats" ZOrder="35" X="629" Y="1362" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" /> <Shape ID="DesignTable:UnloadStats" ZOrder="37" X="629" Y="1362" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Remnants" ZOrder="34" X="904" Y="1256" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:Remnants" ZOrder="36" X="904" Y="1256" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:CartOnKit" ZOrder="2" X="1311" Y="988" Height="343" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:CartOnKit" ZOrder="6" X="1311" Y="988" Height="343" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackList" ZOrder="1" X="1246" Y="1358" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:PackList" ZOrder="5" X="1246" Y="1358" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:OtherItem" ZOrder="33" X="636" Y="1822" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" /> <Shape ID="DesignTable:OtherItem" ZOrder="35" X="636" Y="1822" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemSearchDetail" ZOrder="32" X="1513" Y="102" Height="381" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:ItemSearchDetail" ZOrder="4" X="1513" Y="102" Height="381" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackListDet" ZOrder="31" X="931" Y="1520" Height="343" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:PackListDet" ZOrder="34" X="931" Y="1520" Height="343" Width="227" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackLog" ZOrder="30" X="1224" Y="1751" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" /> <Shape ID="DesignTable:PackLog" ZOrder="33" X="1224" Y="1751" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:PackCheck" ZOrder="29" X="636" Y="1560" Height="229" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" /> <Shape ID="DesignTable:PackCheck" ZOrder="32" X="636" Y="1560" Height="229" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:OKIB" ZOrder="28" X="33" Y="1493" Height="324" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:OKIB" ZOrder="31" X="33" Y="1493" Height="324" Width="218" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKIB_Sum" ZOrder="27" X="42" Y="1891" Height="362" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:OKIB_Sum" ZOrder="30" X="42" Y="1891" Height="362" Width="218" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI" ZOrder="26" X="334" Y="1485" Height="324" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:OKOI" ZOrder="29" X="334" Y="1485" Height="324" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI_sum" ZOrder="25" X="330" Y="1890" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:OKOI_sum" ZOrder="28" X="330" Y="1890" Height="362" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Pack2Cart" ZOrder="16" X="911" Y="1873" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" /> <Shape ID="DesignTable:Pack2Cart" ZOrder="19" X="911" Y="1873" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:CartIRK" ZOrder="24" X="640" Y="2064" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:CartIRK" ZOrder="27" X="640" Y="2064" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:FileValidation" ZOrder="20" X="488" Y="-38" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" /> <Shape ID="DesignTable:FileValidation" ZOrder="23" X="488" Y="-38" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:SheetsPreview" ZOrder="23" X="65" Y="839" Height="210" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:SheetsPreview" ZOrder="26" X="65" Y="839" Height="210" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OrderListTree" ZOrder="19" X="3" Y="-43" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" /> <Shape ID="DesignTable:OrderListTree" ZOrder="22" X="3" Y="-43" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:Places" ZOrder="14" X="862" Y="2175" Height="172" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" /> <Shape ID="DesignTable:Places" ZOrder="17" X="862" Y="2175" Height="172" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:StatusLog" ZOrder="17" X="1116" Y="2180" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:StatusLog" ZOrder="20" X="1116" Y="2180" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:StatusDecode" ZOrder="15" X="849" Y="2353" Height="172" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" /> <Shape ID="DesignTable:StatusDecode" ZOrder="18" X="849" Y="2353" Height="172" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UpdMan" ZOrder="11" X="636" Y="2374" Height="191" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" /> <Shape ID="DesignTable:UpdMan" ZOrder="14" X="636" Y="2374" Height="191" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:SheetStats" ZOrder="9" X="20" Y="2307" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:SheetStats" ZOrder="12" X="20" Y="2307" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BatchStats" ZOrder="8" X="369" Y="2276" Height="305" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" /> <Shape ID="DesignTable:BatchStats" ZOrder="11" X="369" Y="2276" Height="305" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:ProductionStatsDay" ZOrder="7" X="870" Y="2556" Height="267" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:ProductionStatsDay" ZOrder="2" X="946" Y="2546" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:PlantList" ZOrder="5" X="25" Y="2608" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" /> <Shape ID="DesignTable:PlantList" ZOrder="9" X="25" Y="2608" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:SpecialParts" ZOrder="6" X="370" Y="2611" Height="210" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" /> <Shape ID="DesignTable:SpecialParts" ZOrder="10" X="370" Y="2611" Height="210" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:OrderSearch" ZOrder="1" X="702" Y="2608" Height="172" Width="205" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
</Shapes> </Shapes>
<Connectors> <Connectors>
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="59" LineWidth="11"> <Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="60" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>1227</X> <X>1227</X>
@@ -67,7 +68,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="58" LineWidth="11"> <Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="59" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>1028</X> <X>1028</X>
@@ -79,10 +80,10 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="57" LineWidth="11"> <Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="58" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>828</X> <X>827</X>
<Y>235</Y> <Y>235</Y>
</Point> </Point>
<Point> <Point>
@@ -91,7 +92,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="56" LineWidth="11"> <Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="57" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>1116</X> <X>1116</X>
@@ -107,7 +108,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="54" LineWidth="11"> <Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="55" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>721</X> <X>721</X>
@@ -119,7 +120,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="55" LineWidth="11"> <Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="56" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>482</X> <X>482</X>
@@ -131,7 +132,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="51" LineWidth="11"> <Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="52" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>1113</X> <X>1113</X>
@@ -143,7 +144,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="53" LineWidth="11"> <Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="54" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>1364</X> <X>1364</X>
@@ -155,7 +156,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="52" LineWidth="11"> <Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="53" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>1153</X> <X>1153</X>
@@ -167,7 +168,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="50" LineWidth="11"> <Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="51" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>115</X> <X>115</X>
@@ -179,7 +180,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="49" LineWidth="11"> <Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="50" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>284</X> <X>284</X>
@@ -191,7 +192,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="18" LineWidth="11"> <Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="21" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>1042</X> <X>1042</X>
+24
View File
@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AppData.DTO
{
/// <summary>
/// Statistiche in termini di Yeld e quantità produzioni relative ad un singolo batch
/// </summary>
public class BatchYeldStatDTO
{
/// <summary>
/// Statistiche YELD aggregate per Material
/// </summary>
public List<MaterialYeldStatsDTO> ListByMaterial { get; set; } = new List<MaterialYeldStatsDTO>();
/// <summary>
/// Statistiche YELD aggregate per Sheet
/// </summary>
public List<SheetYeldStatDTO> ListBySheet { get; set; } = new List<SheetYeldStatDTO>();
}
}
+25
View File
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AppData.DTO
{
/// <summary>
/// Statistiche resa materiali
/// </summary>
public class MaterialYeldStatsDTO
{
public int MatId { get; set; } = 0;
public int MatCode { get; set; } = 0;
public string MatDescript { get; set; } = "";
public int TotSheets { get; set; } = 0;
public int TotParts { get; set; } = 0;
public double YeldMin { get; set; } = 0;
public double YeldAvg { get; set; } = 0;
public double YeldMax { get; set; } = 0;
}
}
+22
View File
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AppData.DTO
{
public class SheetYeldStatDTO
{
public int SheetId { get; set; } = 0;
public int MatId { get; set; } = 0;
public int MatCode { get; set; } = 0;
public string MatDescript { get; set; } = "";
public int BunkIdx { get; set; } = 0;
public int SheetIdx { get; set; } = 0;
public int NumParts { get; set; } = 0;
public double Yeld { get; set; } = 0;
}
}
+361 -227
View File
@@ -1,7 +1,9 @@
using Newtonsoft.Json; using AppData.DTO;
using Newtonsoft.Json;
using NKC_SDK; using NKC_SDK;
using SteamWare; using SteamWare;
using System; using System;
using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.Linq; using System.Linq;
@@ -81,12 +83,6 @@ namespace AppData
#endregion Public Constructors #endregion Public Constructors
#region Protected Properties
protected int cacheDataTTL { get; set; } = 2;
#endregion Protected Properties
#region Public Properties #region Public Properties
public string CodSoggCurrUser public string CodSoggCurrUser
@@ -107,189 +103,6 @@ namespace AppData
#endregion Public Properties #endregion Public Properties
#region Private Methods
/// <summary>
/// verifica esistenza record da tipo doc + chiave...
/// </summary>
/// <param name="tipoDoc"></param>
/// <param name="keyParam"></param>
/// <returns></returns>
private bool checkDoc(tipoDocumento tipoDoc, string keyParam)
{
bool answ = false;
int intIdx = 0;
switch (tipoDoc)
{
case tipoDocumento.docBinPre:
case tipoDocumento.docBinPost:
int.TryParse(keyParam, out intIdx);
var tabBinPre = taBN.getByKey(intIdx);
answ = tabBinPre.Count > 0;
break;
case tipoDocumento.docCart:
case tipoDocumento.docCartIRK:
case tipoDocumento.docCartIRKSum:
int.TryParse(keyParam, out intIdx);
var tabCarts = taCR.getByKey(intIdx);
answ = tabCarts.Count > 0;
break;
case tipoDocumento.docPart:
int.TryParse(keyParam, out intIdx);
var tabPart = taIL.getByKey(intIdx);
answ = tabPart.Count > 0;
break;
case tipoDocumento.docOtherPart:
int.TryParse(keyParam, out intIdx);
var tabOtherPart = taOtItem.getByKey(intIdx);
answ = tabOtherPart.Count > 0;
break;
case tipoDocumento.docStack:
int.TryParse(keyParam, out intIdx);
var tabStack = taSTL.getByKey(intIdx);
answ = tabStack.Count > 0;
break;
case tipoDocumento.docCartSpecialPart:
int.TryParse(keyParam, out intIdx);
var tabSpecPart = taRepSpecPart.GetData(intIdx, "", "");
answ = tabSpecPart.Count > 0;
break;
case tipoDocumento.docND:
break;
default:
break;
}
return answ;
}
private void initTA()
{
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();
taCR = new DS_AppTableAdapters.CartsTableAdapter();
taDayStats = new DS_AppTableAdapters.ProductionStatsDayTableAdapter();
taEL = new DS_AppTableAdapters.ErrorsLogTableAdapter();
taFV = new DS_AppTableAdapters.FileValidationTableAdapter();
taIL = new DS_AppTableAdapters.ItemListTableAdapter();
taImpLog = new DS_AppTableAdapters.ImportLogTableAdapter();
taISD = new DS_AppTableAdapters.ItemSearchDetailTableAdapter();
taIV = new DS_AppTableAdapters.ItemValidationTableAdapter();
taKL = new DS_AppTableAdapters.KitListTableAdapter();
taMat = new DS_AppTableAdapters.MaterialsTableAdapter();
taNest = new DS_AppTableAdapters.NestingTableAdapter();
taOffOL = new DS_AppTableAdapters.OfflineOrderListTableAdapter();
taOO2I = new DS_AppTableAdapters.OffOrd2ItemTableAdapter();
taOKIB = new DS_AppTableAdapters.OKIBTableAdapter();
taOKIB_Sum = new DS_AppTableAdapters.OKIB_SumTableAdapter();
taOKOI = new DS_AppTableAdapters.OKOITableAdapter();
taOKOI_Sum = new DS_AppTableAdapters.OKOI_sumTableAdapter();
taOL = new DS_AppTableAdapters.OrderListTableAdapter();
taOLT = new DS_AppTableAdapters.OrderListTreeTableAdapter();
taOtItem = new DS_AppTableAdapters.OtherItemTableAdapter();
taPL = new DS_AppTableAdapters.PackListTableAdapter();
taPlac = new DS_AppTableAdapters.PlacesTableAdapter();
taPlant = new DS_AppTableAdapters.PlantListTableAdapter();
taPLC = new DS_AppTableAdapters.PackCheckTableAdapter();
taPLD = new DS_AppTableAdapters.PackListDetTableAdapter();
taPLog = new DS_AppTableAdapters.PackLogTableAdapter();
taPVP = new DS_AppTableAdapters.PartValidParetoTableAdapter();
taRem = new DS_AppTableAdapters.RemnantsTableAdapter();
taStatDec = new DS_AppTableAdapters.StatusDecodeTableAdapter();
taStatLog = new DS_AppTableAdapters.StatusLogTableAdapter();
taSTL = new DS_AppTableAdapters.StackListTableAdapter();
taSHL = new DS_AppTableAdapters.SheetListTableAdapter();
taSP = new DS_AppTableAdapters.SheetsPreviewTableAdapter();
taSpecialPart = new DS_AppTableAdapters.SpecialPartsTableAdapter();
taElPos = new DS_ReportTableAdapters.ElencoPostazioniTableAdapter();
taPJQ = new DS_ReportTableAdapters.PrintJobQueueTableAdapter();
taRepBin = new DS_ReportTableAdapters.stp_prt_BinTableAdapter();
taRepBunkGroup = new DS_ReportTableAdapters.stp_prt_BunkGroupTableAdapter();
taRepBunkList = new DS_ReportTableAdapters.stp_prt_BunkListTableAdapter();
taRepCart = new DS_ReportTableAdapters.stp_prt_CartTableAdapter();
taRepPart = new DS_ReportTableAdapters.stp_prt_PartTableAdapter();
taRepSpecPart = new DS_ReportTableAdapters.stp_prt_SpecialPartTableAdapter();
taRepOtherPart = new DS_ReportTableAdapters.stp_prt_OtherPartTableAdapter();
taRepIRK = new DS_ReportTableAdapters.stp_prt_IRKTableAdapter();
taRepIRKSum = new DS_ReportTableAdapters.stp_prt_IRK_SumTableAdapter();
taShStats = new DS_AppTableAdapters.SheetStatsTableAdapter();
taUpdMan = new DS_AppTableAdapters.UpdManTableAdapter();
taUStat = new DS_AppTableAdapters.UnloadStatsTableAdapter();
}
private void setupConnString()
{
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;
taCR.Connection.ConnectionString = connString;
taDayStats.Connection.ConnectionString = connString;
taEL.Connection.ConnectionString = connString;
taFV.Connection.ConnectionString = connString;
taIL.Connection.ConnectionString = connString;
taImpLog.Connection.ConnectionString = connString;
taISD.Connection.ConnectionString = connString;
taIV.Connection.ConnectionString = connString;
taKL.Connection.ConnectionString = connString;
taMat.Connection.ConnectionString = connString;
taNest.Connection.ConnectionString = connString;
taOffOL.Connection.ConnectionString = connString;
taOO2I.Connection.ConnectionString = connString;
taOKIB.Connection.ConnectionString = connString;
taOKIB_Sum.Connection.ConnectionString = connString;
taOKOI.Connection.ConnectionString = connString;
taOKOI_Sum.Connection.ConnectionString = connString;
taOL.Connection.ConnectionString = connString;
taOLT.Connection.ConnectionString = connString;
taOtItem.Connection.ConnectionString = connString;
taPL.Connection.ConnectionString = connString;
taPlac.Connection.ConnectionString = connString;
taPlant.Connection.ConnectionString = connString;
taPLC.Connection.ConnectionString = connString;
taPLD.Connection.ConnectionString = connString;
taPLog.Connection.ConnectionString = connString;
taPVP.Connection.ConnectionString = connString;
taRem.Connection.ConnectionString = connString;
taStatDec.Connection.ConnectionString = connString;
taStatLog.Connection.ConnectionString = connString;
taSTL.Connection.ConnectionString = connString;
taSHL.Connection.ConnectionString = connString;
taSP.Connection.ConnectionString = connString;
taSpecialPart.Connection.ConnectionString = connString;
taElPos.Connection.ConnectionString = connString;
taPJQ.Connection.ConnectionString = connString;
taRepBin.Connection.ConnectionString = connString;
taRepBunkGroup.Connection.ConnectionString = connString;
taRepBunkList.Connection.ConnectionString = connString;
taRepCart.Connection.ConnectionString = connString;
taRepPart.Connection.ConnectionString = connString;
taRepSpecPart.Connection.ConnectionString = connString;
taRepOtherPart.Connection.ConnectionString = connString;
taRepIRK.Connection.ConnectionString = connString;
taRepIRKSum.Connection.ConnectionString = connString;
taShStats.Connection.ConnectionString = connString;
taUStat.Connection.ConnectionString = connString;
taUpdMan.Connection.ConnectionString = connString;
}
#endregion Private Methods
#region Public Methods #region Public Methods
/// <summary> /// <summary>
@@ -476,7 +289,6 @@ namespace AppData
memLayer.ML.setRSV(redKey, rawData, cacheDataTTL); memLayer.ML.setRSV(redKey, rawData, cacheDataTTL);
} }
//restituisco valore..
return answ; return answ;
} }
@@ -516,42 +328,6 @@ namespace AppData
return answ; return answ;
} }
/// <summary>
/// Restituisce tabella dati SpecialPart (con cache lungo periodo)
/// </summary>
/// <returns></returns>
public DS_App.SpecialPartsDataTable getSpecialPart()
{
DS_App.SpecialPartsDataTable answ = new DS_App.SpecialPartsDataTable();
// controllo cache
bool trovato = false;
string redKey = memLayer.ML.redHash($"SpecialPartsTable");
string rawData = "";
rawData = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(rawData))
{
try
{
answ = JsonConvert.DeserializeObject<DS_App.SpecialPartsDataTable>(rawData);
trovato = true;
}
catch
{ }
}
if (!trovato)
{
// se non trovo leggo
answ = taSpecialPart.GetData();
rawData = JsonConvert.SerializeObject(answ);
// salvo in redis x periodo LUNGO
memLayer.ML.setRSV(redKey, rawData, cacheDataTTL * 60);
}
//restituisco valore..
return answ;
}
/// <summary> /// <summary>
/// Recupera printer dato codPostazione /// Recupera printer dato codPostazione
/// </summary> /// </summary>
@@ -589,6 +365,41 @@ namespace AppData
return printer; return printer;
} }
/// <summary>
/// Restituisce tabella dati SpecialPart (con cache lungo periodo)
/// </summary>
/// <returns></returns>
public DS_App.SpecialPartsDataTable getSpecialPart()
{
DS_App.SpecialPartsDataTable answ = new DS_App.SpecialPartsDataTable();
// controllo cache
bool trovato = false;
string redKey = memLayer.ML.redHash($"SpecialPartsTable");
string rawData = "";
rawData = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(rawData))
{
try
{
answ = JsonConvert.DeserializeObject<DS_App.SpecialPartsDataTable>(rawData);
trovato = true;
}
catch
{ }
}
if (!trovato)
{
// se non trovo leggo
answ = taSpecialPart.GetData();
rawData = JsonConvert.SerializeObject(answ);
// salvo in redis x periodo LUNGO
memLayer.ML.setRSV(redKey, rawData, cacheDataTTL * 60);
}
//restituisco valore..
return answ;
}
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)] [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)]
public DS_App.UnloadStatsDataTable getUnloadStatsByBatch(int BatchID, int StatLevel) public DS_App.UnloadStatsDataTable getUnloadStatsByBatch(int BatchID, int StatLevel)
{ {
@@ -621,6 +432,140 @@ namespace AppData
return answ; return answ;
} }
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)]
public BatchYeldStatDTO getYeldStatsByBatch(int BatchID)
{
BatchYeldStatDTO answ = new BatchYeldStatDTO();
// controllo cache
bool trovato = false;
string redKey = memLayer.ML.redHash($"YeldStatByBatch:{BatchID}");
string rawData = "";
rawData = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(rawData) && rawData.Count() > 2)
{
try
{
answ = JsonConvert.DeserializeObject<BatchYeldStatDTO>(rawData);
trovato = true;
}
catch
{ }
}
if (!trovato)
{
// se non trovo leggo
answ = GetYeldStatsFromMongoData(BatchID);
rawData = JsonConvert.SerializeObject(answ);
// salvo in redis con cache lunga (2 volte la minima...)
memLayer.ML.setRSV(redKey, rawData, cacheDataTTL * 2);
}
return answ;
}
/// <summary>
/// Recupera da MongoDB le risposte dal supervisor e calcola statistiche Batch
/// NB. statistiche per singolo Sheet ed aggregate x materiale
/// </summary>
/// <param name="BatchId">ID del Batch di cui recuperare le info</param>
public BatchYeldStatDTO GetYeldStatsFromMongoData(int BatchId)
{
BatchYeldStatDTO answ = new BatchYeldStatDTO();
if (memLayer.ML.CRB("enableMongo"))
{
List<MaterialYeldStatsDTO> ListByMaterialTemp = new List<MaterialYeldStatsDTO>();
List<SheetYeldStatDTO> ListBySheetTemp = new List<SheetYeldStatDTO>();
// cerco da lista salvataggi Nest...
var nestAnsw = ComLib.man.getNestAnsw(BatchId);
// recupero bunk da DB
DataLayer dlMan = new DataLayer();
var bunkList = taSTL.getByBatch(BatchId);
var listSheets = taSHL.getByBatch(BatchId, "ND");
var matList = taMat.GetData();
// elenchi x ricerca duplicati
List<int> partListNest = new List<int>();
List<int> partListNestDupl = new List<int>();
if (nestAnsw != null)
{
double num = 0;
double den = 1;
double currRatio = 0;
try
{
if (nestAnsw.BunkList != null)
{
foreach (var bunk in nestAnsw.BunkList)
{
// procedo SOLO per il bunk corrente...
foreach (var sheet in bunk.SheetList)
{
num = sheet.SurfaceWork > 0 ? sheet.SurfaceWork : 0;
den = sheet.SurfaceTotal > 0 ? sheet.SurfaceTotal : 1;
currRatio = ComLib.ratioProt(num, den);
// recupero sheet dettaglio x materiale ed idx vari...
var rSheet = listSheets
.Where(x => x.SheetIndex == sheet.SheetIndex && x.StackIndex == bunk.BunkIndex)
.FirstOrDefault();
if (rSheet != null)
{
var rMat = matList
.Where(x => x.MatID == rSheet.MatID)
.FirstOrDefault();
var rSStat = ListBySheetTemp
.Where(x => x.SheetIdx == sheet.SheetIndex && x.BunkIdx == bunk.BunkIndex)
.FirstOrDefault();
if (rSStat != null)
{
rSStat.Yeld = currRatio;
rSStat.NumParts = sheet.PartList.Count;
}
else
{
// recupero la riga x indicare il materiale...
rSStat = new SheetYeldStatDTO()
{
SheetId = rSheet.SheetID,
MatId = rSheet.MatID,
MatCode = rMat.MatExtCode,
MatDescript = rMat.MatDesc,
BunkIdx = bunk.BunkIndex,
SheetIdx = sheet.SheetIndex,
NumParts = sheet.PartList.Count,
Yeld = currRatio
};
ListBySheetTemp.Add(rSStat);
}
}
}
}
// ciclo nuovamente per i dati recuperati x aggregare x materiale...
ListByMaterialTemp = ListBySheetTemp
.GroupBy(x => x.MatId)
.Select(x => new MaterialYeldStatsDTO()
{
MatId = x.Key,
MatCode = x.FirstOrDefault().MatCode,
MatDescript = x.FirstOrDefault().MatDescript,
TotParts = x.Sum(p => p.NumParts),
TotSheets = x.Count(),
YeldAvg = x.Average(p => p.Yeld),
YeldMin = x.Min(p => p.Yeld),
YeldMax = x.Max(p => p.Yeld)
}).ToList();
}
}
catch
{ }
// salvo nell'oggetto
answ.ListBySheet = ListBySheetTemp;
answ.ListByMaterial = ListByMaterialTemp;
}
}
return answ;
}
/// <summary> /// <summary>
/// effettua la stampa di un documento /// effettua la stampa di un documento
/// </summary> /// </summary>
@@ -656,5 +601,194 @@ namespace AppData
} }
#endregion Public Methods #endregion Public Methods
#region Protected Properties
protected int cacheDataTTL { get; set; } = 2;
#endregion Protected Properties
#region Private Methods
/// <summary>
/// verifica esistenza record da tipo doc + chiave...
/// </summary>
/// <param name="tipoDoc"></param>
/// <param name="keyParam"></param>
/// <returns></returns>
private bool checkDoc(tipoDocumento tipoDoc, string keyParam)
{
bool answ = false;
int intIdx = 0;
switch (tipoDoc)
{
case tipoDocumento.docBinPre:
case tipoDocumento.docBinPost:
int.TryParse(keyParam, out intIdx);
var tabBinPre = taBN.getByKey(intIdx);
answ = tabBinPre.Count > 0;
break;
case tipoDocumento.docCart:
case tipoDocumento.docCartIRK:
case tipoDocumento.docCartIRKSum:
int.TryParse(keyParam, out intIdx);
var tabCarts = taCR.getByKey(intIdx);
answ = tabCarts.Count > 0;
break;
case tipoDocumento.docPart:
int.TryParse(keyParam, out intIdx);
var tabPart = taIL.getByKey(intIdx);
answ = tabPart.Count > 0;
break;
case tipoDocumento.docOtherPart:
int.TryParse(keyParam, out intIdx);
var tabOtherPart = taOtItem.getByKey(intIdx);
answ = tabOtherPart.Count > 0;
break;
case tipoDocumento.docStack:
int.TryParse(keyParam, out intIdx);
var tabStack = taSTL.getByKey(intIdx);
answ = tabStack.Count > 0;
break;
case tipoDocumento.docCartSpecialPart:
int.TryParse(keyParam, out intIdx);
var tabSpecPart = taRepSpecPart.GetData(intIdx, "", "");
answ = tabSpecPart.Count > 0;
break;
case tipoDocumento.docND:
break;
default:
break;
}
return answ;
}
private void initTA()
{
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();
taCR = new DS_AppTableAdapters.CartsTableAdapter();
taDayStats = new DS_AppTableAdapters.ProductionStatsDayTableAdapter();
taEL = new DS_AppTableAdapters.ErrorsLogTableAdapter();
taFV = new DS_AppTableAdapters.FileValidationTableAdapter();
taIL = new DS_AppTableAdapters.ItemListTableAdapter();
taImpLog = new DS_AppTableAdapters.ImportLogTableAdapter();
taISD = new DS_AppTableAdapters.ItemSearchDetailTableAdapter();
taIV = new DS_AppTableAdapters.ItemValidationTableAdapter();
taKL = new DS_AppTableAdapters.KitListTableAdapter();
taMat = new DS_AppTableAdapters.MaterialsTableAdapter();
taNest = new DS_AppTableAdapters.NestingTableAdapter();
taOffOL = new DS_AppTableAdapters.OfflineOrderListTableAdapter();
taOO2I = new DS_AppTableAdapters.OffOrd2ItemTableAdapter();
taOKIB = new DS_AppTableAdapters.OKIBTableAdapter();
taOKIB_Sum = new DS_AppTableAdapters.OKIB_SumTableAdapter();
taOKOI = new DS_AppTableAdapters.OKOITableAdapter();
taOKOI_Sum = new DS_AppTableAdapters.OKOI_sumTableAdapter();
taOL = new DS_AppTableAdapters.OrderListTableAdapter();
taOLT = new DS_AppTableAdapters.OrderListTreeTableAdapter();
taOtItem = new DS_AppTableAdapters.OtherItemTableAdapter();
taPL = new DS_AppTableAdapters.PackListTableAdapter();
taPlac = new DS_AppTableAdapters.PlacesTableAdapter();
taPlant = new DS_AppTableAdapters.PlantListTableAdapter();
taPLC = new DS_AppTableAdapters.PackCheckTableAdapter();
taPLD = new DS_AppTableAdapters.PackListDetTableAdapter();
taPLog = new DS_AppTableAdapters.PackLogTableAdapter();
taPVP = new DS_AppTableAdapters.PartValidParetoTableAdapter();
taRem = new DS_AppTableAdapters.RemnantsTableAdapter();
taStatDec = new DS_AppTableAdapters.StatusDecodeTableAdapter();
taStatLog = new DS_AppTableAdapters.StatusLogTableAdapter();
taSTL = new DS_AppTableAdapters.StackListTableAdapter();
taSHL = new DS_AppTableAdapters.SheetListTableAdapter();
taSP = new DS_AppTableAdapters.SheetsPreviewTableAdapter();
taSpecialPart = new DS_AppTableAdapters.SpecialPartsTableAdapter();
taElPos = new DS_ReportTableAdapters.ElencoPostazioniTableAdapter();
taPJQ = new DS_ReportTableAdapters.PrintJobQueueTableAdapter();
taRepBin = new DS_ReportTableAdapters.stp_prt_BinTableAdapter();
taRepBunkGroup = new DS_ReportTableAdapters.stp_prt_BunkGroupTableAdapter();
taRepBunkList = new DS_ReportTableAdapters.stp_prt_BunkListTableAdapter();
taRepCart = new DS_ReportTableAdapters.stp_prt_CartTableAdapter();
taRepPart = new DS_ReportTableAdapters.stp_prt_PartTableAdapter();
taRepSpecPart = new DS_ReportTableAdapters.stp_prt_SpecialPartTableAdapter();
taRepOtherPart = new DS_ReportTableAdapters.stp_prt_OtherPartTableAdapter();
taRepIRK = new DS_ReportTableAdapters.stp_prt_IRKTableAdapter();
taRepIRKSum = new DS_ReportTableAdapters.stp_prt_IRK_SumTableAdapter();
taShStats = new DS_AppTableAdapters.SheetStatsTableAdapter();
taUpdMan = new DS_AppTableAdapters.UpdManTableAdapter();
taUStat = new DS_AppTableAdapters.UnloadStatsTableAdapter();
}
private void setupConnString()
{
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;
taCR.Connection.ConnectionString = connString;
taDayStats.Connection.ConnectionString = connString;
taEL.Connection.ConnectionString = connString;
taFV.Connection.ConnectionString = connString;
taIL.Connection.ConnectionString = connString;
taImpLog.Connection.ConnectionString = connString;
taISD.Connection.ConnectionString = connString;
taIV.Connection.ConnectionString = connString;
taKL.Connection.ConnectionString = connString;
taMat.Connection.ConnectionString = connString;
taNest.Connection.ConnectionString = connString;
taOffOL.Connection.ConnectionString = connString;
taOO2I.Connection.ConnectionString = connString;
taOKIB.Connection.ConnectionString = connString;
taOKIB_Sum.Connection.ConnectionString = connString;
taOKOI.Connection.ConnectionString = connString;
taOKOI_Sum.Connection.ConnectionString = connString;
taOL.Connection.ConnectionString = connString;
taOLT.Connection.ConnectionString = connString;
taOtItem.Connection.ConnectionString = connString;
taPL.Connection.ConnectionString = connString;
taPlac.Connection.ConnectionString = connString;
taPlant.Connection.ConnectionString = connString;
taPLC.Connection.ConnectionString = connString;
taPLD.Connection.ConnectionString = connString;
taPLog.Connection.ConnectionString = connString;
taPVP.Connection.ConnectionString = connString;
taRem.Connection.ConnectionString = connString;
taStatDec.Connection.ConnectionString = connString;
taStatLog.Connection.ConnectionString = connString;
taSTL.Connection.ConnectionString = connString;
taSHL.Connection.ConnectionString = connString;
taSP.Connection.ConnectionString = connString;
taSpecialPart.Connection.ConnectionString = connString;
taElPos.Connection.ConnectionString = connString;
taPJQ.Connection.ConnectionString = connString;
taRepBin.Connection.ConnectionString = connString;
taRepBunkGroup.Connection.ConnectionString = connString;
taRepBunkList.Connection.ConnectionString = connString;
taRepCart.Connection.ConnectionString = connString;
taRepPart.Connection.ConnectionString = connString;
taRepSpecPart.Connection.ConnectionString = connString;
taRepOtherPart.Connection.ConnectionString = connString;
taRepIRK.Connection.ConnectionString = connString;
taRepIRKSum.Connection.ConnectionString = connString;
taShStats.Connection.ConnectionString = connString;
taUStat.Connection.ConnectionString = connString;
taUpdMan.Connection.ConnectionString = connString;
}
#endregion Private Methods
} }
} }
+2
View File
@@ -93,4 +93,6 @@ namespace AppData
#endregion Public Properties #endregion Public Properties
} }
} }
+2 -2
View File
@@ -12,7 +12,7 @@ namespace AppData.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.13.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -27,7 +27,7 @@ namespace AppData.Properties {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)] [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User" + [global::System.Configuration.DefaultSettingValueAttribute("Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User" +
" ID=sa;Password=keyhammer16")] " ID=sa;Password=keyhammer16;TrustServerCertificate=True;")]
public string Sauder_NKCConnectionString { public string Sauder_NKCConnectionString {
get { get {
return ((string)(this["Sauder_NKCConnectionString"])); return ((string)(this["Sauder_NKCConnectionString"]));
+3 -3
View File
@@ -4,11 +4,11 @@
<Settings> <Settings>
<Setting Name="Sauder_NKCConnectionString" Type="(Connection string)" Scope="Application"> <Setting Name="Sauder_NKCConnectionString" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt; <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;SerializableConnectionString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
&lt;ConnectionString&gt;Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16&lt;/ConnectionString&gt; &lt;ConnectionString&gt;Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;TrustServerCertificate=True;&lt;/ConnectionString&gt;
&lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt; &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue> &lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16</Value> <Value Profile="(Default)">Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;TrustServerCertificate=True;</Value>
</Setting> </Setting>
</Settings> </Settings>
</SettingsFile> </SettingsFile>
+9 -5
View File
@@ -3,7 +3,7 @@
<configSections> <configSections>
</configSections> </configSections>
<connectionStrings> <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" /> <add name="AppData.Properties.Settings.Sauder_NKCConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;TrustServerCertificate=True;" providerName="System.Data.SqlClient" />
</connectionStrings> </connectionStrings>
<runtime> <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
@@ -13,7 +13,7 @@
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.3" newVersion="6.0.0.3" /> <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -33,7 +33,7 @@
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
@@ -57,7 +57,7 @@
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" /> <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" /> <assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
@@ -69,7 +69,11 @@
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1" newVersion="8.0.0.1" />
</dependentAssembly> </dependentAssembly>
</assemblyBinding> </assemblyBinding>
</runtime> </runtime>
+22 -16
View File
@@ -2,31 +2,36 @@
<packages> <packages>
<package id="AIM" version="1.1.0" targetFramework="net462" /> <package id="AIM" version="1.1.0" targetFramework="net462" />
<package id="AjaxControlToolkit" version="20.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="AWSSDK.Core" version="3.7.304.8" targetFramework="net462" />
<package id="AWSSDK.SecurityToken" version="3.7.300.99" targetFramework="net462" />
<package id="Crc32.NET" version="1.2.0" targetFramework="net462" />
<package id="DnsClient" version="1.7.0" targetFramework="net462" /> <package id="DnsClient" version="1.7.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="6.0.0" targetFramework="net462" /> <package id="IronSnappy" version="1.3.1" targetFramework="net462" />
<package id="Microsoft.NETCore.Platforms" version="6.0.6" targetFramework="net462" /> <package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.1" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="8.0.1" targetFramework="net462" />
<package id="Microsoft.NETCore.Platforms" version="7.0.4" targetFramework="net462" />
<package id="Microsoft.ReportViewer.Runtime.Common" version="12.0.2402.15" 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="Microsoft.ReportViewer.Runtime.WinForms" version="12.0.2402.15" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.15.0" targetFramework="net462" /> <package id="MongoDB.Bson" version="2.25.0" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.15.0" targetFramework="net462" /> <package id="MongoDB.Driver" version="2.25.0" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.15.0" targetFramework="net462" /> <package id="MongoDB.Driver.Core" version="2.25.0" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.3.0" targetFramework="net462" /> <package id="MongoDB.Libmongocrypt" version="1.9.0" targetFramework="net462" />
<package id="NETStandard.Library" version="2.0.3" targetFramework="net462" /> <package id="NETStandard.Library" version="2.0.3" targetFramework="net462" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" /> <package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="NLog" version="5.2.4" targetFramework="net462" /> <package id="NLog" version="5.3.2" targetFramework="net462" />
<package id="PDFsharp" version="1.50.5147" targetFramework="net462" /> <package id="PDFsharp" version="1.50.5147" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.2" targetFramework="net462" /> <package id="Pipelines.Sockets.Unofficial" version="2.2.8" targetFramework="net462" />
<package id="SharpCompress" version="0.32.2" targetFramework="net462" /> <package id="SharpCompress" version="0.32.2" targetFramework="net462" />
<package id="SharpZipLib" version="1.4.0" targetFramework="net462" /> <package id="SharpZipLib" version="1.4.0" targetFramework="net462" />
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" /> <package id="Snappier" version="1.0.0" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.6.70" targetFramework="net462" /> <package id="StackExchange.Redis" version="2.7.33" targetFramework="net462" />
<package id="SteamWare" version="5.3.2311.2908" targetFramework="net462" /> <package id="SteamWare" version="5.3.2311.2908" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.3.2311.2908" targetFramework="net462" /> <package id="SteamWare.Logger" version="5.3.2311.2908" targetFramework="net462" />
<package id="System.Buffers" version="4.5.1" targetFramework="net462" /> <package id="System.Buffers" version="4.5.1" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="6.0.1" targetFramework="net462" /> <package id="System.Diagnostics.PerformanceCounter" version="8.0.0" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" /> <package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="6.0.3" targetFramework="net462" /> <package id="System.IO.Pipelines" version="8.0.0" targetFramework="net462" />
<package id="System.Memory" version="4.5.5" targetFramework="net462" /> <package id="System.Memory" version="4.5.5" targetFramework="net462" />
<package id="System.Net.Http" version="4.3.4" targetFramework="net462" /> <package id="System.Net.Http" version="4.3.4" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net462" /> <package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net462" />
@@ -34,11 +39,12 @@
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" /> <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net462" /> <package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net462" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net462" /> <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Pkcs" version="6.0.1" targetFramework="net462" /> <package id="System.Security.Cryptography.Pkcs" version="8.0.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net462" /> <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net462" /> <package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net462" />
<package id="System.Text.Encoding.CodePages" version="6.0.0" targetFramework="net462" /> <package id="System.Text.Encoding.CodePages" version="8.0.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="6.0.0" targetFramework="net462" /> <package id="System.Threading.Channels" version="8.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" 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="System.ValueTuple" version="4.5.0" targetFramework="net462" />
<package id="ZstdSharp.Port" version="0.7.3" targetFramework="net462" />
</packages> </packages>
+1 -1
View File
@@ -47,7 +47,7 @@
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference> </Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL"> <Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.2.4\lib\net46\NLog.dll</HintPath> <HintPath>..\packages\NLog.5.3.2\lib\net46\NLog.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />
+62
View File
@@ -923,6 +923,27 @@ namespace NKC_SDK
/// </summary> /// </summary>
public int SheetIndex { get; set; } public int SheetIndex { get; set; }
/// <summary>
/// Indica che tutte le date (printing, working, unloading) sono vuote = Waiting / NON iniziato
/// </summary>
public bool Waiting
{
get
{
return Printing.Waiting && Machining.Waiting && Unloading.Waiting;
}
}
/// <summary>
/// Indica che tutte le date (printing, working, unloading) sono VALIDE = completato
/// </summary>
public bool Done
{
get
{
return Printing.Done && Machining.Done && Unloading.Done;
}
}
#endregion Public Properties #endregion Public Properties
} }
@@ -1011,6 +1032,47 @@ namespace NKC_SDK
return answ; return answ;
} }
} }
/// <summary>
/// Verifica data Start
/// </summary>
public bool OkS
{
get
{
return DtStart != null;
}
}
/// <summary>
/// Verifica data End
/// </summary>
public bool OkE
{
get
{
return DtEnd != null;
}
}
/// <summary>
/// Tutte date null --> in attesa
/// </summary>
public bool Waiting
{
get
{
return DtStart == null && DtEnd == null;
}
}
/// <summary>
/// Tutte date NOT null --> completato
/// </summary>
public bool Done
{
get
{
return DtStart != null && DtEnd != null;
}
}
#endregion Public Properties #endregion Public Properties
} }
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" /> <package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="NLog" version="5.2.4" targetFramework="net462" /> <package id="NLog" version="5.3.2" targetFramework="net462" />
</packages> </packages>
+29
View File
@@ -0,0 +1,29 @@
Test gestione nuova conf redis con sentinel:
cambiato in web.config vari i parametri da sostituire con i nuovi tramite sentinel:
in particolare
- niente pwd
- tramite sentinel (su redis01 x ora)
- su ambiente devel
quindi diventa
* redis.ufficio:26379,serviceName=devel
oppure se non ci fosse sentinel tramite haproxy
* redis01.ufficio:26379,serviceName=devel
nuovi:
<add key="RedisConn" value="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="RedisConnAdmin" value="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
vecchi:
<add key="RedisConn" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
file interessati:
- Web.Debug.config
- Web.Debug-Lele.config
- Web.Debug-Prod.config
- Web.Release.config
Binary file not shown.
+17
View File
@@ -4,6 +4,7 @@ using NKC_SDK;
using SteamWare; using SteamWare;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Web;
namespace NKC_WF namespace NKC_WF
{ {
@@ -58,6 +59,22 @@ namespace NKC_WF
} }
} }
/// <summary>
/// pagina corrente...
/// </summary>
public string currPage
{
get
{
string url = HttpContext.Current.Request.Url.PathAndQuery;
if (url.Contains("?"))
{
url = url.Substring(0, url.IndexOf("?"));
}
return url;
}
}
#endregion Public Properties #endregion Public Properties
#region Public Methods #region Public Methods
+33 -14
View File
@@ -22,6 +22,25 @@ body {
.textBig { .textBig {
font-size: 1.5em; font-size: 1.5em;
} }
.fs-1 {
font-size: 2em;
}
.fs-2 {
font-size: 1.7em;
}
.fs-3 {
font-size: 1.5em;
}
.fs-4 {
font-size: 1.3em;
}
.fs-5 {
font-size: 1.1em;
}
/* COmpresse gridview */
.gridview-comp td {
padding: 2px;
}
/* Responsive: Portrait tablets and up */ /* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) { @media screen and (min-width: 768px) {
.jumbotron { .jumbotron {
@@ -218,24 +237,24 @@ body {
color: #333; color: #333;
} }
.shortcuts .shortcut:hover { .shortcuts .shortcut:hover {
color: #FFF; color: #696969;
background: #696969; background: #00ABDE;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#CDCDFF), to(#BDBDFF)); background-image: -webkit-gradient(linear, left 0%, left 100%, from(#00DEEF), to(#00ABDE));
background-image: -webkit-linear-gradient(top, #CDCDFF, 0%, #BDBDFF, 100%); background-image: -webkit-linear-gradient(top, #00DEEF, 0%, #00ABDE, 100%);
background-image: -moz-linear-gradient(top, #CDCDFF 0%, #BDBDFF 100%); background-image: -moz-linear-gradient(top, #00DEEF 0%, #00ABDE 100%);
background-image: linear-gradient(to bottom, #CDCDFF 0%, #BDBDFF 100%); background-image: linear-gradient(to bottom, #00DEEF 0%, #00ABDE 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#CDCDCDFF', endColorstr='#BDBDBDFF', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00DEEF', endColorstr='#00ABDE', GradientType=0);
} }
.shortcuts .shortcut-sm:hover { .shortcuts .shortcut-sm:hover {
color: #FFF; color: #696969;
background: #696969; background: #00ABDE;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#CDCDFF), to(#BDBDFF)); background-image: -webkit-gradient(linear, left 0%, left 100%, from(#00DEEF), to(#00ABDE));
background-image: -webkit-linear-gradient(top, #CDCDFF, 0%, #BDBDFF, 100%); background-image: -webkit-linear-gradient(top, #00DEEF, 0%, #00ABDE, 100%);
background-image: -moz-linear-gradient(top, #CDCDFF 0%, #BDBDFF 100%); background-image: -moz-linear-gradient(top, #00DEEF 0%, #00ABDE 100%);
background-image: linear-gradient(to bottom, #CDCDFF 0%, #BDBDFF 100%); background-image: linear-gradient(to bottom, #00DEEF 0%, #00ABDE 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#CDCDCDFF', endColorstr='#BDBDBDFF', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00DEEF', endColorstr='#00ABDE', GradientType=0);
} }
.shortcuts .shortcut:active { .shortcuts .shortcut:active {
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+35 -14
View File
@@ -27,6 +27,27 @@ body {
font-size: 1.5em; font-size: 1.5em;
} }
.fs-1 {
font-size: 2.0em;
}
.fs-2 {
font-size: 1.7em;
}
.fs-3 {
font-size: 1.5em;
}
.fs-4 {
font-size: 1.3em;
}
.fs-5 {
font-size: 1.1em;
}
/* COmpresse gridview */
.gridview-comp td{
padding: 2px;
}
/* Responsive: Portrait tablets and up */ /* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) { @media screen and (min-width: 768px) {
.jumbotron { .jumbotron {
@@ -263,25 +284,25 @@ body {
} }
.shortcuts .shortcut:hover { .shortcuts .shortcut:hover {
color: #FFF; color: #696969;
background: #696969; background: #00ABDE;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#CDCDFF), to(#BDBDFF)); background-image: -webkit-gradient(linear, left 0%, left 100%, from(#00DEEF), to(#00ABDE));
background-image: -webkit-linear-gradient(top, #CDCDFF, 0%, #BDBDFF, 100%); background-image: -webkit-linear-gradient(top, #00DEEF, 0%, #00ABDE, 100%);
background-image: -moz-linear-gradient(top, #CDCDFF 0%, #BDBDFF 100%); background-image: -moz-linear-gradient(top, #00DEEF 0%, #00ABDE 100%);
background-image: linear-gradient(to bottom, #CDCDFF 0%, #BDBDFF 100%); background-image: linear-gradient(to bottom, #00DEEF 0%, #00ABDE 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#CDCDCDFF', endColorstr='#BDBDBDFF', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00DEEF', endColorstr='#00ABDE', GradientType=0);
} }
.shortcuts .shortcut-sm:hover { .shortcuts .shortcut-sm:hover {
color: #FFF; color: #696969;
background: #696969; background: #00ABDE;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#CDCDFF), to(#BDBDFF)); background-image: -webkit-gradient(linear, left 0%, left 100%, from(#00DEEF), to(#00ABDE));
background-image: -webkit-linear-gradient(top, #CDCDFF, 0%, #BDBDFF, 100%); background-image: -webkit-linear-gradient(top, #00DEEF, 0%, #00ABDE, 100%);
background-image: -moz-linear-gradient(top, #CDCDFF 0%, #BDBDFF 100%); background-image: -moz-linear-gradient(top, #00DEEF 0%, #00ABDE 100%);
background-image: linear-gradient(to bottom, #CDCDFF 0%, #BDBDFF 100%); background-image: linear-gradient(to bottom, #00DEEF 0%, #00ABDE 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#CDCDCDFF', endColorstr='#BDBDBDFF', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00DEEF', endColorstr='#00ABDE', GradientType=0);
} }
.shortcuts .shortcut:active { .shortcuts .shortcut:active {
+1 -1
View File
@@ -1 +1 @@
body{font-family:'Roboto Condensed',sans-serif;padding-top:50px;padding-bottom:20px;}.body-content{padding-left:15px;padding-right:15px;}.textCondens{font-family:'Open Sans Condensed',sans-serif;}.textNormal{font-family:'Roboto',sans-serif;}.textBig{font-size:1.5em;}@media screen and (min-width:768px){.jumbotron{margin-top:20px;}.body-content{padding:0;}body{font-family:'Roboto',sans-serif;}}@media(max-width:992px){.container{width:100%;}body{font-family:'Roboto Condensed',sans-serif;font-size:.9rem;}.smallTable{font-size:.7rem;font-family:'Open Sans Condensed',sans-serif;}}.GridPager a,.GridPager span{display:block;height:1.5em;min-width:1.1em;text-align:center;text-decoration:none;}.GridPager a{background-color:#f5f5f5;color:#969696;}.GridPager span{background-color:#a1dcf2;color:#000;font-weight:bold;}.border-thick{border-width:3px!important;}.flashColor{border:3px solid #00f;-webkit-animation-name:blueFlash;-webkit-animation-duration:.5s;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-name:blueFlash;animation-duration:.5s;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite;animation-direction:alternate;}@-webkit-keyframes blueFlash{0%{border-color:#c4dbff;}25%{border-color:#9dc4ff;}50%{border-color:#5ca5ff;}75%{border-color:#1b82ff;}100%{border-color:#005ccc;}}.bigText{font-size:1.3em;}.smallText{font-size:.8em;}.dl-horizontal dt{white-space:normal;}.deleted{text-decoration:line-through;}.padZL{padding-left:.2em;}.padZR{padding-right:.2em;}.padZRL{padding-left:.2em;padding-right:.2em;}.colAlt{color:#c93;}.fontBig{font-size:2em;}.tNote{color:#8a8a8a;font-style:italic;}.tNoWrap{white-space:nowrap;}.navbar{min-height:0;color:#696969;}.pagination{margin:5px 0;}.pageSelDD{width:6em;}.zeroWidth{width:0;}.shortcuts{text-align:center;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:.66666667rem 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:1rem/4 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{color:#fff;background:#696969;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#cdcdff),to(#bdbdff));background-image:-webkit-linear-gradient(top,#cdcdff,0%,#bdbdff,100%);background-image:-moz-linear-gradient(top,#cdcdff 0%,#bdbdff 100%);background-image:linear-gradient(to bottom,#cdcdff 0%,#bdbdff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#CDCDCDFF',endColorstr='#BDBDBDFF',GradientType=0);}.shortcuts .shortcut-sm:hover{color:#fff;background:#696969;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#cdcdff),to(#bdbdff));background-image:-webkit-linear-gradient(top,#cdcdff,0%,#bdbdff,100%);background-image:-moz-linear-gradient(top,#cdcdff 0%,#bdbdff 100%);background-image:linear-gradient(to bottom,#cdcdff 0%,#bdbdff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#CDCDCDFF',endColorstr='#BDBDBDFF',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:992px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}} body{font-family:'Roboto Condensed',sans-serif;padding-top:50px;padding-bottom:20px;}.body-content{padding-left:15px;padding-right:15px;}.textCondens{font-family:'Open Sans Condensed',sans-serif;}.textNormal{font-family:'Roboto',sans-serif;}.textBig{font-size:1.5em;}.fs-1{font-size:2em;}.fs-2{font-size:1.7em;}.fs-3{font-size:1.5em;}.fs-4{font-size:1.3em;}.fs-5{font-size:1.1em;}.gridview-comp td{padding:2px;}@media screen and (min-width:768px){.jumbotron{margin-top:20px;}.body-content{padding:0;}body{font-family:'Roboto',sans-serif;}}@media(max-width:992px){.container{width:100%;}body{font-family:'Roboto Condensed',sans-serif;font-size:.9rem;}.smallTable{font-size:.7rem;font-family:'Open Sans Condensed',sans-serif;}}.GridPager a,.GridPager span{display:block;height:1.5em;min-width:1.1em;text-align:center;text-decoration:none;}.GridPager a{background-color:#f5f5f5;color:#969696;}.GridPager span{background-color:#a1dcf2;color:#000;font-weight:bold;}.border-thick{border-width:3px!important;}.flashColor{border:3px solid #00f;-webkit-animation-name:blueFlash;-webkit-animation-duration:.5s;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-name:blueFlash;animation-duration:.5s;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite;animation-direction:alternate;}@-webkit-keyframes blueFlash{0%{border-color:#c4dbff;}25%{border-color:#9dc4ff;}50%{border-color:#5ca5ff;}75%{border-color:#1b82ff;}100%{border-color:#005ccc;}}.bigText{font-size:1.3em;}.smallText{font-size:.8em;}.dl-horizontal dt{white-space:normal;}.deleted{text-decoration:line-through;}.padZL{padding-left:.2em;}.padZR{padding-right:.2em;}.padZRL{padding-left:.2em;padding-right:.2em;}.colAlt{color:#c93;}.fontBig{font-size:2em;}.tNote{color:#8a8a8a;font-style:italic;}.tNoWrap{white-space:nowrap;}.navbar{min-height:0;color:#696969;}.pagination{margin:5px 0;}.pageSelDD{width:6em;}.zeroWidth{width:0;}.shortcuts{text-align:center;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:.66666667rem 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:1rem/4 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{color:#696969;background:#00abde;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#00deef),to(#00abde));background-image:-webkit-linear-gradient(top,#00deef,0%,#00abde,100%);background-image:-moz-linear-gradient(top,#00deef 0%,#00abde 100%);background-image:linear-gradient(to bottom,#00deef 0%,#00abde 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00DEEF',endColorstr='#00ABDE',GradientType=0);}.shortcuts .shortcut-sm:hover{color:#696969;background:#00abde;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#00deef),to(#00abde));background-image:-webkit-linear-gradient(top,#00deef,0%,#00abde,100%);background-image:-moz-linear-gradient(top,#00deef 0%,#00abde 100%);background-image:linear-gradient(to bottom,#00deef 0%,#00abde 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00DEEF',endColorstr='#00ABDE',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:992px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}}
-2
View File
@@ -119,8 +119,6 @@ namespace NKC_WF.Controllers
{ {
foreach (var item in currBunk.SheetList) foreach (var item in currBunk.SheetList)
{ {
// calcolo stsatus dalle date valide...
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); 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);
// SE machining completato --> status a LAVORATO! // SE machining completato --> status a LAVORATO!
if (item.Machining.DtEnd != null) if (item.Machining.DtEnd != null)
+173 -38
View File
@@ -1,6 +1,7 @@
using AppData; using AppData;
using Newtonsoft.Json; using Newtonsoft.Json;
using NKC_SDK; using NKC_SDK;
using SteamWare;
using System; using System;
using System.IO; using System.IO;
using System.Web.Http; using System.Web.Http;
@@ -9,19 +10,17 @@ namespace NKC_WF.Controllers
{ {
public class SheetController : ApiController public class SheetController : ApiController
{ {
#region Protected Fields #region Public Constructors
/// <summary> public SheetController()
/// oggetto static/singleton per fare chiamate sul datalayer {
/// </summary> dfWrkStart = memLayer.ML.CRB("dateFix_WrkStart");
protected DataLayer DLMan = new DataLayer(); dfWrkEnd = memLayer.ML.CRB("dateFix_WrkEnd");
dfUnlStart = memLayer.ML.CRB("dateFix_UnlStart");
dfUnlEnd = memLayer.ML.CRB("dateFix_UnlEnd");
}
/// <summary> #endregion Public Constructors
/// COdice macchina (HARD CODED)
/// </summary>
protected string machine = "WRK001";
#endregion Protected Fields
#region Public Methods #region Public Methods
@@ -65,25 +64,10 @@ namespace NKC_WF.Controllers
{ {
Log.Instance.Error($"EXCEPTION api/Sheet | get({id}){Environment.NewLine}{exc}"); Log.Instance.Error($"EXCEPTION api/Sheet | get({id}){Environment.NewLine}{exc}");
} }
Log.Instance.Trace($"api/Sheet | get({id}) | answ: {answ}");
return answ; return answ;
} }
/************************************
* METODI PUT
*
* per abilitare è necessario agire sulla conf di IIS:
*
* - modificare il file applicationHost.config che si trova in C:\Windows\System32\inetsrv\config
* - disinstallare webDav oppure commentare le righe
* <!-- <add name="WebDAVModule" /> -->
* <!-- <add name="WebDAVModule" image="%windir%\System32\inetsrv\webdav.dll" /> -->
* <!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> -->
* - aggiungere PUT/DELETE a handler:
* <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
* <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
*
**************************************/
/// <summary> /// <summary>
/// Processa una chiamata POST per l'invio in blocco status BUNK /// Processa una chiamata POST per l'invio in blocco status BUNK
/// POST: api/Bunk /// POST: api/Bunk
@@ -116,21 +100,25 @@ namespace NKC_WF.Controllers
if (sheetUpdated.SheetList != null) if (sheetUpdated.SheetList != null)
{ {
// salvo macchina
machine = sheetUpdated.Machine;
foreach (var currSheet in sheetUpdated.SheetList) foreach (var currSheet in sheetUpdated.SheetList)
{ {
// se non nullo... // se non nullo...
if (currSheet != null) 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 il fixSheet
ProdSheetExt fixSheet = checkFixSheet(currSheet);
DLMan.taSHL.updateDate(fixSheet.SheetId, fixSheet.Printing.DtStart, fixSheet.Printing.DtEnd, fixSheet.Machining.DtStart, fixSheet.Machining.DtEnd, fixSheet.Unloading.DtStart, fixSheet.Unloading.DtEnd, (int)fixSheet.Status);
// SE machining completato --> status a LAVORATO x item! // SE machining completato --> status a LAVORATO x item!
if (currSheet.Machining.DtEnd != null) if (fixSheet.Machining.DtEnd != null)
{ {
// hard coded su multiax // hard coded su multiax
DLMan.taIL.updateSheetStatus(currSheet.SheetId, 1, sheetUpdated.Machine); DLMan.taIL.updateSheetStatus(fixSheet.SheetId, 1, sheetUpdated.Machine);
} }
// segnalo avanzamento su redis x pagina unload // segnalo avanzamento su redis x pagina unload
ComLib.advaceSheetRevByBunk(currSheet.BunkId); ComLib.advaceSheetRevByBunk(fixSheet.BunkId);
BunkId = currSheet.BunkId; BunkId = fixSheet.BunkId;
answ = "OK"; answ = "OK";
} }
} }
@@ -150,20 +138,40 @@ namespace NKC_WF.Controllers
{ {
answ = "NO"; answ = "NO";
} }
Log.Instance.Trace($"api/Sheet | post() | machine: {machine} | BatchId: {BatchId} | answ: {answ}");
return answ; return answ;
} }
/// <summary> /// <summary> Effettua la chiamata di update x SINGOLO foglio
/// Effettua la chiamata di update x SINGOLO foglio ///
/// </summary> ///
/// <param name="sheetUpdated">Oggetto con Elenco fogli da aggiornare</param> /// *********************************** METODI PUT
///
/// per abilitare è necessario agire sulla conf di IIS:
///
/// - modificare il file applicationHost.config che si trova in C:\Windows\System32\inetsrv\config
/// - disinstallare webDav oppure commentare le righe <!-- <add name="WebDAVModule" /> -->
/// <!-- <add name="WebDAVModule" image="%windir%\System32\inetsrv\webdav.dll" /> --> <!--
/// <add name="WebDAV" path="*"
/// verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule"
/// /r esourceType="Unspecified"// requireAccess="None" /> -->
/// - aggiungere PUT/DELETE a handler: <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"
/// path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule"
/// scriptProcessor="%w indir/%//\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
/// preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> <add
/// name="ExtensionlessUrlHandler-Integrated-4.0" path="*."
/// verb="GET,HEAD,POST,DEBUG,PUT,DELETE" ///t
/// ype="System.Web.Handlers.TransferRequestHandler"
/// preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
///
/// *************************************/ </summary> <param name="sheetUpdated">Oggetto con
/// Elenco fogli da aggiornare</param>
/// PUT: api/Sheet/machine_ID /// PUT: api/Sheet/machine_ID
[HttpPut] [HttpPut]
public void Put(SheetWorkList sheetUpdated) public void Put(SheetWorkList sheetUpdated)
{ {
// NB. decodifico direttamente come oggetto, vedere qui: // NB. decodifico direttamente come oggetto, vedere qui:
// https://weblog.west-wind.com/posts/2013/dec/13/accepting-raw-request-body-content-with-aspnet-web-api // https://weblog.west-wind.com/posts/2013/dec/13/accepting-raw-request-body-content-with-aspnet-web-api https://weblog.west-wind.com/posts/2017/sep/14/accepting-raw-request-body-content-in-aspnet-core-api-controllers
// https://weblog.west-wind.com/posts/2017/sep/14/accepting-raw-request-body-content-in-aspnet-core-api-controllers
int BunkId = 0; int BunkId = 0;
int BatchId = 0; int BatchId = 0;
if (sheetUpdated != null) if (sheetUpdated != null)
@@ -205,5 +213,132 @@ namespace NKC_WF.Controllers
} }
#endregion Public Methods #endregion Public Methods
#region Protected Fields
/// <summary>
/// oggetto static/singleton per fare chiamate sul datalayer
/// </summary>
protected DataLayer DLMan = new DataLayer();
/// <summary>
/// COdice macchina (HARD CODED)
/// </summary>
protected string machine = "WRK001";
#endregion Protected Fields
#region Private Fields
/// <summary>
/// Forza fix date al momento ricezione UnlEnd valido
/// </summary>
private bool dfUnlEnd = false;
/// <summary>
/// Forza fix date al momento ricezione UnlStart valido
/// </summary>
private bool dfUnlStart = false;
/// <summary>
/// Forza fix date al momento ricezione WrkEnd valido
/// </summary>
private bool dfWrkEnd = false;
/// <summary>
/// Forza fix date al momento ricezione WrkStart valido
/// </summary>
private bool dfWrkStart = false;
#endregion Private Fields
#region Private Methods
/// <summary>
/// Verifica sheet loggando le eventuali anomalie sulle date e sistemando quelle mancanti in
/// base a setup
/// </summary>
/// <param name="CurrSheet">Sheet da verificare ed eventualmente sistemare</param>
/// <returns></returns>
private ProdSheetExt checkFixSheet(ProdSheetExt CurrSheet)
{
var fixSheet = CurrSheet;
// controllo SOLO SE se non sia ne in attesa ne completato...
if (!fixSheet.Waiting || !fixSheet.Done)
{
// calcolo SE sia in errore secondo i 4 punti di controllo work/unload
if (fixSheet.Unloading.OkE)
{
// loggo
LogSheetError(fixSheet);
if (dfUnlEnd)
{
// sistemo...
fixSheet.Unloading.DtStart = fixSheet.Unloading.OkS ? fixSheet.Unloading.DtStart : fixSheet.Unloading.DtEnd;
fixSheet.Machining.DtEnd = fixSheet.Machining.OkE ? fixSheet.Machining.DtEnd : fixSheet.Unloading.DtEnd;
fixSheet.Machining.DtStart = fixSheet.Machining.OkS ? fixSheet.Machining.DtStart : fixSheet.Unloading.DtEnd;
fixSheet.Printing.DtEnd = fixSheet.Printing.OkE ? fixSheet.Printing.DtEnd : fixSheet.Unloading.DtEnd;
fixSheet.Printing.DtStart = fixSheet.Printing.OkS ? fixSheet.Printing.DtStart : fixSheet.Unloading.DtEnd;
}
}
else if (fixSheet.Unloading.OkS && (!fixSheet.Printing.Done || !fixSheet.Machining.Done))
{
// loggo
LogSheetError(fixSheet);
if (dfUnlStart)
{
// sistemo...
fixSheet.Machining.DtEnd = fixSheet.Machining.OkE ? fixSheet.Machining.DtEnd : fixSheet.Unloading.DtEnd;
fixSheet.Machining.DtStart = fixSheet.Machining.OkS ? fixSheet.Machining.DtStart : fixSheet.Unloading.DtEnd;
fixSheet.Printing.DtEnd = fixSheet.Printing.OkE ? fixSheet.Printing.DtEnd : fixSheet.Unloading.DtEnd;
fixSheet.Printing.DtStart = fixSheet.Printing.OkS ? fixSheet.Printing.DtStart : fixSheet.Unloading.DtEnd;
}
}
else if (fixSheet.Machining.OkE && (!fixSheet.Printing.Done || !fixSheet.Machining.Done))
{
// loggo
LogSheetError(fixSheet);
if (dfWrkEnd)
{
// sistemo...
fixSheet.Machining.DtStart = fixSheet.Machining.OkS ? fixSheet.Machining.DtStart : fixSheet.Unloading.DtEnd;
fixSheet.Printing.DtEnd = fixSheet.Printing.OkE ? fixSheet.Printing.DtEnd : fixSheet.Unloading.DtEnd;
fixSheet.Printing.DtStart = fixSheet.Printing.OkS ? fixSheet.Printing.DtStart : fixSheet.Unloading.DtEnd;
}
}
else if (fixSheet.Machining.OkS && !fixSheet.Printing.Done)
{
// loggo
LogSheetError(fixSheet);
if (dfWrkStart)
{
// sistemo...
fixSheet.Printing.DtEnd = fixSheet.Printing.OkE ? fixSheet.Printing.DtEnd : fixSheet.Unloading.DtEnd;
fixSheet.Printing.DtStart = fixSheet.Printing.OkS ? fixSheet.Printing.DtStart : fixSheet.Unloading.DtEnd;
}
}
}
return fixSheet;
}
private void LogSheetError(ProdSheetExt cSheet)
{
// loggo
Log.Instance.Error($"Sheet Date error | SheetId: {cSheet.SheetId} | Print: {prtDate(cSheet.Printing)} | Work: {prtDate(cSheet.Machining)} | Unload: {prtDate(cSheet.Unloading)}");
}
private string prtDate(WorkData wrkRec)
{
string dtSta = wrkRec.DtStart == null ? "NULL" : $"{wrkRec.DtStart:yyyy.MM.dd HH:mm:ss}";
string dtEnd = wrkRec.DtEnd == null ? "NULL" : $"{wrkRec.DtEnd:yyyy.MM.dd HH:mm:ss}";
return $"{dtSta} ... {dtEnd}";
}
#endregion Private Methods
} }
} }
Binary file not shown.
Binary file not shown.
+146 -72
View File
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.props" Condition="Exists('..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />
<Import Project="packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" /> <Import Project="packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
@@ -59,8 +58,14 @@
<Reference Include="AspNet.ScriptManager.jQuery, Version=3.6.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="AspNet.ScriptManager.jQuery, Version=3.6.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.jQuery.3.6.0\lib\net45\AspNet.ScriptManager.jQuery.dll</HintPath> <HintPath>..\packages\AspNet.ScriptManager.jQuery.3.6.0\lib\net45\AspNet.ScriptManager.jQuery.dll</HintPath>
</Reference> </Reference>
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath> <HintPath>..\packages\AWSSDK.Core.3.7.304.8\lib\net45\AWSSDK.Core.dll</HintPath>
</Reference>
<Reference Include="AWSSDK.SecurityToken, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.SecurityToken.3.7.300.99\lib\net45\AWSSDK.SecurityToken.dll</HintPath>
</Reference>
<Reference Include="Crc32.NET, Version=1.0.0.0, Culture=neutral, PublicKeyToken=dc0b95cf99bf4e99, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32.NET.1.2.0\lib\net20\Crc32.NET.dll</HintPath>
</Reference> </Reference>
<Reference Include="DnsClient, Version=1.7.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL"> <Reference Include="DnsClient, Version=1.7.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.7.0\lib\net45\DnsClient.dll</HintPath> <HintPath>..\packages\DnsClient.1.7.0\lib\net45\DnsClient.dll</HintPath>
@@ -68,46 +73,57 @@
<Reference Include="Elmah, Version=1.2.14706.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Elmah, Version=1.2.14706.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\elmah.corelibrary.1.2.2\lib\Elmah.dll</HintPath> <HintPath>..\packages\elmah.corelibrary.1.2.2\lib\Elmah.dll</HintPath>
</Reference> </Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.4.0.12, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL"> <Reference Include="ICSharpCode.SharpZipLib, Version=1.4.2.13, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.4.0\lib\netstandard2.0\ICSharpCode.SharpZipLib.dll</HintPath> <HintPath>..\packages\SharpZipLib.1.4.2\lib\netstandard2.0\ICSharpCode.SharpZipLib.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="Microsoft.AspNet.SessionState.SessionStateModule, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="IronSnappy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b1d4b1dc83bdcf31, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.SessionState.SessionStateModule.1.1.0\lib\Net462\Microsoft.AspNet.SessionState.SessionStateModule.dll</HintPath> <HintPath>..\packages\IronSnappy.1.3.1\lib\netstandard2.0\IronSnappy.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.SessionState.SessionStateModule, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.SessionState.SessionStateModule.2.0.0\lib\Net462\Microsoft.AspNet.SessionState.SessionStateModule.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.AspNet.Web.Optimization.WebForms, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.AspNet.Web.Optimization.WebForms, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Web.Optimization.WebForms.1.1.3\lib\net45\Microsoft.AspNet.Web.Optimization.WebForms.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.Web.Optimization.WebForms.1.1.3\lib\net45\Microsoft.AspNet.Web.Optimization.WebForms.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath> <HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath> <HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.1, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.8.0.1\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.1, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.8.0.1\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Web.Infrastructure, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.Web.Infrastructure, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.Infrastructure.2.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath> <HintPath>..\packages\Microsoft.Web.Infrastructure.2.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Web.RedisSessionStateProvider, Version=4.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.Web.RedisSessionStateProvider, Version=5.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.RedisSessionStateProvider.4.0.1\lib\net462\Microsoft.Web.RedisSessionStateProvider.dll</HintPath> <HintPath>..\packages\Microsoft.Web.RedisSessionStateProvider.5.0.4\lib\net462\Microsoft.Web.RedisSessionStateProvider.dll</HintPath>
</Reference> </Reference>
<Reference Include="MongoDB.Bson, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Bson, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.15.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath> <HintPath>..\packages\MongoDB.Bson.2.25.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath>
</Reference> </Reference>
<Reference Include="MongoDB.Driver, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Driver, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.15.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath> <HintPath>..\packages\MongoDB.Driver.2.25.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath>
</Reference> </Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Driver.Core, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.15.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath> <HintPath>..\packages\MongoDB.Driver.Core.2.25.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath>
</Reference> </Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Libmongocrypt, Version=1.9.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.3.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath> <HintPath>..\packages\MongoDB.Libmongocrypt.1.9.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
</Reference> </Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference> </Reference>
<Reference Include="Newtonsoft.Json.Bson, Version=1.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL"> <Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.2.4\lib\net46\NLog.dll</HintPath> <HintPath>..\packages\NLog.5.3.2\lib\net46\NLog.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <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> <HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.dll</HintPath>
@@ -116,17 +132,16 @@
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.Charting.dll</HintPath> <HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.Charting.dll</HintPath>
</Reference> </Reference>
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL"> <Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.2\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath> <HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference> </Reference>
<Reference Include="SharpCompress, Version=0.32.2.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL"> <Reference Include="SharpCompress, Version=0.37.2.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.32.2\lib\net461\SharpCompress.dll</HintPath> <HintPath>..\packages\SharpCompress.0.37.2\lib\net462\SharpCompress.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Snappier, Version=1.1.6.0, Culture=neutral, PublicKeyToken=a1b25124e6e13a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath> <HintPath>..\packages\Snappier.1.1.6\lib\netstandard2.0\Snappier.dll</HintPath>
</Reference> </Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL"> <Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.6.70\lib\net461\StackExchange.Redis.dll</HintPath> <HintPath>..\packages\StackExchange.Redis.2.7.33\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference> </Reference>
<Reference Include="SteamWare, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="SteamWare, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.3.2311.2908\lib\net462\SteamWare.dll</HintPath> <HintPath>..\packages\SteamWare.5.3.2311.2908\lib\net462\SteamWare.dll</HintPath>
@@ -142,30 +157,36 @@
</Reference> </Reference>
<Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Configuration.ConfigurationManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Configuration.ConfigurationManager.8.0.0\lib\net462\System.Configuration.ConfigurationManager.dll</HintPath>
</Reference>
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Data.OracleClient" />
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.6.0.1\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath> <Reference Include="System.Diagnostics.PerformanceCounter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.8.0.0\lib\net462\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.DirectoryServices" />
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath> <HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.IO.Pipelines, Version=6.0.0.3, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.IO.Pipelines, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.6.0.3\lib\net461\System.IO.Pipelines.dll</HintPath> <HintPath>..\packages\System.IO.Pipelines.8.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath> <HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Net" />
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath> <HintPath>..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.Net.Http.Formatting, Version=5.2.9.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Net.Http.Formatting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Numerics" /> <Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
@@ -181,6 +202,9 @@
</Reference> </Reference>
<Reference Include="System.Runtime.Serialization" /> <Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" /> <Reference Include="System.Security" />
<Reference Include="System.Security.AccessControl, Version=6.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.AccessControl.6.0.1\lib\net461\System.Security.AccessControl.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
</Reference> </Reference>
@@ -189,8 +213,8 @@
<Private>True</Private> <Private>True</Private>
<Private>True</Private> <Private>True</Private>
</Reference> </Reference>
<Reference Include="System.Security.Cryptography.Pkcs, Version=6.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.Pkcs, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.6.0.1\lib\net461\System.Security.Cryptography.Pkcs.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.Pkcs.8.0.0\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
@@ -200,12 +224,19 @@
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.ServiceModel" /> <Reference Include="System.Security.Permissions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<Reference Include="System.Text.Encoding.CodePages, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Security.Permissions.8.0.0\lib\net462\System.Security.Permissions.dll</HintPath>
<HintPath>..\packages\System.Text.Encoding.CodePages.6.0.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Threading.Channels, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Security.Principal.Windows, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.6.0.0\lib\net461\System.Threading.Channels.dll</HintPath> <HintPath>..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encoding.CodePages.8.0.0\lib\net462\System.Text.Encoding.CodePages.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.8.0.0\lib\net462\System.Threading.Channels.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath> <HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
@@ -216,28 +247,28 @@
</Reference> </Reference>
<Reference Include="System.Web.Extensions" /> <Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.Helpers.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.WebPages.3.3.0\lib\net45\System.Web.Helpers.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Web.Http, Version=5.2.9.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Web.Http, Version=5.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.3.0\lib\net45\System.Web.Http.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Web.Http.WebHost, Version=5.2.9.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Web.Http.WebHost, Version=5.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.9\lib\net45\System.Web.Http.WebHost.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.3.0\lib\net45\System.Web.Http.WebHost.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Web.Mvc, Version=5.2.9.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Web.Mvc, Version=5.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.9\lib\net45\System.Web.Mvc.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.Mvc.5.3.0\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.9\lib\net45\System.Web.Razor.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.Razor.3.3.0\lib\net45\System.Web.Razor.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.WebPages.3.3.0\lib\net45\System.Web.WebPages.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.Deployment.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.WebPages.3.3.0\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.Razor.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.WebPages.3.3.0\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
@@ -269,9 +300,14 @@
<Reference Include="Microsoft.AspNet.FriendlyUrls"> <Reference Include="Microsoft.AspNet.FriendlyUrls">
<HintPath>..\packages\Microsoft.AspNet.FriendlyUrls.Core.1.0.2\lib\net45\Microsoft.AspNet.FriendlyUrls.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.FriendlyUrls.Core.1.0.2\lib\net45\Microsoft.AspNet.FriendlyUrls.dll</HintPath>
</Reference> </Reference>
<Reference Include="WindowsBase" />
<Reference Include="ZstdSharp, Version=0.8.1.0, Culture=neutral, PublicKeyToken=8d151af33a4ad5cf, processorArchitecture=MSIL">
<HintPath>..\packages\ZstdSharp.Port.0.8.1\lib\net462\ZstdSharp.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="App_Readme\README_SteamWare.txt" /> <Content Include="App_Readme\README_SteamWare.txt" />
<None Include="App_Readme\Redis-Readme.md" />
<Content Include="App_Readme\SteamWare_demo\example-config-table.txt" /> <Content Include="App_Readme\SteamWare_demo\example-config-table.txt" />
<Content Include="App_Readme\SteamWare_demo\example-favicon.ico" /> <Content Include="App_Readme\SteamWare_demo\example-favicon.ico" />
<Content Include="Content\bootstrap-grid.css" /> <Content Include="Content\bootstrap-grid.css" />
@@ -288,9 +324,6 @@
<Content Include="Content\SheetColor.min.css"> <Content Include="Content\SheetColor.min.css">
<DependentUpon>SheetColor.css</DependentUpon> <DependentUpon>SheetColor.css</DependentUpon>
</Content> </Content>
<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="Default.aspx" /> <Content Include="Default.aspx" />
<Content Include="ErrorPages\400.aspx" /> <Content Include="ErrorPages\400.aspx" />
<Content Include="ErrorPages\401.aspx" /> <Content Include="ErrorPages\401.aspx" />
@@ -345,12 +378,11 @@
<Content Include="Reports\SpecialParts.rdlc"> <Content Include="Reports\SpecialParts.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Core\Compression\Zstandard\lib\osx\libzstd.dylib" />
<Content Include="Core\Compression\Zstandard\lib\linux\libzstd.so" />
<Content Include="Core\Compression\Snappy\lib\osx\libsnappy64.dylib" />
<Content Include="Core\Compression\Snappy\lib\linux\libsnappy64.so" />
<Content Include="App_Readme\SteamWare_demo\example-NLog.config" /> <Content Include="App_Readme\SteamWare_demo\example-NLog.config" />
<Content Include="App_Readme\SteamWare_demo\example-app.config" /> <Content Include="App_Readme\SteamWare_demo\example-app.config" />
<Content Include="FileUpload\.placeholder.file">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<None Include="Properties\PublishProfiles\IIS04.pubxml" /> <None Include="Properties\PublishProfiles\IIS04.pubxml" />
<Content Include="Reports\reportConf.json" /> <Content Include="Reports\reportConf.json" />
<None Include="Scripts\jquery-3.6.0.intellisense.js" /> <None Include="Scripts\jquery-3.6.0.intellisense.js" />
@@ -478,6 +510,8 @@
<Content Include="site\PartMIA.aspx" /> <Content Include="site\PartMIA.aspx" />
<Content Include="site\PartValidation.aspx" /> <Content Include="site\PartValidation.aspx" />
<Content Include="site\PlannerReports.aspx" /> <Content Include="site\PlannerReports.aspx" />
<Content Include="site\PlannerReportsBatchStats.aspx" />
<Content Include="site\PlannerReportsDailyStats.aspx" />
<Content Include="site\PlantMgmt.aspx" /> <Content Include="site\PlantMgmt.aspx" />
<Content Include="site\RemanExtLink.aspx" /> <Content Include="site\RemanExtLink.aspx" />
<Content Include="site\SecondScreen.aspx" /> <Content Include="site\SecondScreen.aspx" />
@@ -485,8 +519,10 @@
<Content Include="site\SvgFull.aspx" /> <Content Include="site\SvgFull.aspx" />
<Content Include="site\TestAuth.aspx" /> <Content Include="site\TestAuth.aspx" />
<Content Include="site\StackManager.aspx" /> <Content Include="site\StackManager.aspx" />
<Content Include="site\TestChart.aspx" />
<Content Include="site\Unauth.aspx" /> <Content Include="site\Unauth.aspx" />
<Content Include="site\UpdMan.aspx" /> <Content Include="site\UpdMan.aspx" />
<Content Include="site\OrderSearch.aspx" />
<Content Include="WebUserControls\cmp_barcode.ascx" /> <Content Include="WebUserControls\cmp_barcode.ascx" />
<Content Include="WebUserControls\cmp_batchDetail.ascx" /> <Content Include="WebUserControls\cmp_batchDetail.ascx" />
<Content Include="WebUserControls\cmp_batchDetailData.ascx" /> <Content Include="WebUserControls\cmp_batchDetailData.ascx" />
@@ -498,6 +534,7 @@
<Content Include="WebUserControls\cmp_BatchStatsPlot.ascx" /> <Content Include="WebUserControls\cmp_BatchStatsPlot.ascx" />
<Content Include="WebUserControls\cmp_binDetIRK.ascx" /> <Content Include="WebUserControls\cmp_binDetIRK.ascx" />
<Content Include="WebUserControls\cmp_BP_bunkList.ascx" /> <Content Include="WebUserControls\cmp_BP_bunkList.ascx" />
<Content Include="WebUserControls\cmp_BP_MaterialYeld.ascx" />
<Content Include="WebUserControls\cmp_BP_sheetList.ascx" /> <Content Include="WebUserControls\cmp_BP_sheetList.ascx" />
<Content Include="WebUserControls\cmp_cartDetIRK.ascx" /> <Content Include="WebUserControls\cmp_cartDetIRK.ascx" />
<Content Include="WebUserControls\cmp_DailyStatsList.ascx" /> <Content Include="WebUserControls\cmp_DailyStatsList.ascx" />
@@ -557,6 +594,7 @@
<Content Include="WebUserControls\cmp_orderPrint.ascx" /> <Content Include="WebUserControls\cmp_orderPrint.ascx" />
<Content Include="WebUserControls\cmp_orderRunning.ascx" /> <Content Include="WebUserControls\cmp_orderRunning.ascx" />
<Content Include="WebUserControls\cmp_orderSched.ascx" /> <Content Include="WebUserControls\cmp_orderSched.ascx" />
<Content Include="WebUserControls\cmp_OrderSearch.ascx" />
<Content Include="WebUserControls\cmp_OtherItemsDetail.ascx" /> <Content Include="WebUserControls\cmp_OtherItemsDetail.ascx" />
<Content Include="WebUserControls\cmp_painting.ascx" /> <Content Include="WebUserControls\cmp_painting.ascx" />
<Content Include="WebUserControls\cmp_paintingSmart.ascx" /> <Content Include="WebUserControls\cmp_paintingSmart.ascx" />
@@ -615,7 +653,7 @@
<Content Include="fonts\fontawesome-webfont.ttf" /> <Content Include="fonts\fontawesome-webfont.ttf" />
<Content Include="fonts\fontawesome-webfont.eot" /> <Content Include="fonts\fontawesome-webfont.eot" />
<Content Include="Content\Site.less" /> <Content Include="Content\Site.less" />
<Content Include="logs\.PlaceHolder.file"> <Content Include="logs\.placeholder.file">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Content\fonts.less" /> <Content Include="Content\fonts.less" />
@@ -631,9 +669,6 @@
<Content Include="Content\RobotoCondensed.woff2"> <Content Include="Content\RobotoCondensed.woff2">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content> </Content>
<Content Include="FileUpload\.PlaceHolder.file">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Content\SheetColor.less" /> <Content Include="Content\SheetColor.less" />
<Content Include="PartsImg\.PlaceHolder.file"> <Content Include="PartsImg\.PlaceHolder.file">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
@@ -1052,6 +1087,20 @@
<Compile Include="site\PlannerReports.aspx.designer.cs"> <Compile Include="site\PlannerReports.aspx.designer.cs">
<DependentUpon>PlannerReports.aspx</DependentUpon> <DependentUpon>PlannerReports.aspx</DependentUpon>
</Compile> </Compile>
<Compile Include="site\PlannerReportsBatchStats.aspx.cs">
<DependentUpon>PlannerReportsBatchStats.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="site\PlannerReportsBatchStats.aspx.designer.cs">
<DependentUpon>PlannerReportsBatchStats.aspx</DependentUpon>
</Compile>
<Compile Include="site\PlannerReportsDailyStats.aspx.cs">
<DependentUpon>PlannerReportsDailyStats.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="site\PlannerReportsDailyStats.aspx.designer.cs">
<DependentUpon>PlannerReportsDailyStats.aspx</DependentUpon>
</Compile>
<Compile Include="site\PlantMgmt.aspx.cs"> <Compile Include="site\PlantMgmt.aspx.cs">
<DependentUpon>PlantMgmt.aspx</DependentUpon> <DependentUpon>PlantMgmt.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType> <SubType>ASPXCodeBehind</SubType>
@@ -1115,6 +1164,13 @@
<Compile Include="site\StackManager.aspx.designer.cs"> <Compile Include="site\StackManager.aspx.designer.cs">
<DependentUpon>StackManager.aspx</DependentUpon> <DependentUpon>StackManager.aspx</DependentUpon>
</Compile> </Compile>
<Compile Include="site\TestChart.aspx.cs">
<DependentUpon>TestChart.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="site\TestChart.aspx.designer.cs">
<DependentUpon>TestChart.aspx</DependentUpon>
</Compile>
<Compile Include="site\Unauth.aspx.cs"> <Compile Include="site\Unauth.aspx.cs">
<DependentUpon>Unauth.aspx</DependentUpon> <DependentUpon>Unauth.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType> <SubType>ASPXCodeBehind</SubType>
@@ -1143,6 +1199,13 @@
<Compile Include="site\vocabolario.aspx.designer.cs"> <Compile Include="site\vocabolario.aspx.designer.cs">
<DependentUpon>vocabolario.aspx</DependentUpon> <DependentUpon>vocabolario.aspx</DependentUpon>
</Compile> </Compile>
<Compile Include="site\OrderSearch.aspx.cs">
<DependentUpon>OrderSearch.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="site\OrderSearch.aspx.designer.cs">
<DependentUpon>OrderSearch.aspx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_barcode.ascx.cs"> <Compile Include="WebUserControls\cmp_barcode.ascx.cs">
<DependentUpon>cmp_barcode.ascx</DependentUpon> <DependentUpon>cmp_barcode.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType> <SubType>ASPXCodeBehind</SubType>
@@ -1220,6 +1283,13 @@
<Compile Include="WebUserControls\cmp_BP_bunkList.ascx.designer.cs"> <Compile Include="WebUserControls\cmp_BP_bunkList.ascx.designer.cs">
<DependentUpon>cmp_BP_bunkList.ascx</DependentUpon> <DependentUpon>cmp_BP_bunkList.ascx</DependentUpon>
</Compile> </Compile>
<Compile Include="WebUserControls\cmp_BP_MaterialYeld.ascx.cs">
<DependentUpon>cmp_BP_MaterialYeld.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_BP_MaterialYeld.ascx.designer.cs">
<DependentUpon>cmp_BP_MaterialYeld.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_BP_sheetList.ascx.cs"> <Compile Include="WebUserControls\cmp_BP_sheetList.ascx.cs">
<DependentUpon>cmp_BP_sheetList.ascx</DependentUpon> <DependentUpon>cmp_BP_sheetList.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType> <SubType>ASPXCodeBehind</SubType>
@@ -1654,6 +1724,13 @@
<Compile Include="WebUserControls\cmp_orderSched.ascx.designer.cs"> <Compile Include="WebUserControls\cmp_orderSched.ascx.designer.cs">
<DependentUpon>cmp_orderSched.ascx</DependentUpon> <DependentUpon>cmp_orderSched.ascx</DependentUpon>
</Compile> </Compile>
<Compile Include="WebUserControls\cmp_OrderSearch.ascx.cs">
<DependentUpon>cmp_OrderSearch.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_OrderSearch.ascx.designer.cs">
<DependentUpon>cmp_OrderSearch.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_OtherItemsDetail.ascx.cs"> <Compile Include="WebUserControls\cmp_OtherItemsDetail.ascx.cs">
<DependentUpon>cmp_OtherItemsDetail.ascx</DependentUpon> <DependentUpon>cmp_OtherItemsDetail.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType> <SubType>ASPXCodeBehind</SubType>
@@ -1958,8 +2035,10 @@
</Content> </Content>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll" /> <Analyzer Include="..\packages\AWSSDK.SecurityToken.3.7.300.99\analyzers\dotnet\cs\AWSSDK.SecurityToken.CodeAnalysis.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.NetAnalyzers.dll" /> <Analyzer Include="..\packages\AWSSDK.SecurityToken.3.7.300.99\analyzers\dotnet\cs\SharedAnalysisCode.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.8.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.8.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.NetAnalyzers.dll" />
</ItemGroup> </ItemGroup>
<PropertyGroup> <PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
@@ -2032,11 +2111,8 @@
<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> <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> </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\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.9.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.9.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets'))" /> <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets'))" />
</Target> </Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- 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. Other similar extension points exist, see Microsoft.Common.targets.
@@ -2058,8 +2134,6 @@
<CallTarget Targets="ApplyWebConfigTransform" /> <CallTarget Targets="ApplyWebConfigTransform" />
</Target> </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\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.9.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.9.0\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets')" /> <Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.targets" Condition="Exists('..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets')" />
</Project> </Project>
+73 -4
View File
@@ -11,7 +11,7 @@
</TablixColumns> </TablixColumns>
<TablixRows> <TablixRows>
<TablixRow> <TablixRow>
<Height>8.86829in</Height> <Height>9.63445in</Height>
<TablixCells> <TablixCells>
<TablixCell> <TablixCell>
<CellContents> <CellContents>
@@ -321,6 +321,71 @@
</TablixCell> </TablixCell>
</TablixCells> </TablixCells>
</TablixRow> </TablixRow>
<TablixRow>
<Height>0.2in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="TextEgalware">
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Bin - powered by </Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>Gray</Color>
</Style>
</TextRun>
<TextRun>
<Value>Egalware Srl</Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>Gray</Color>
</Style>
</TextRun>
<TextRun>
<Value> © </Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>Gray</Color>
</Style>
</TextRun>
<TextRun>
<Label>PrintData</Label>
<Value>=Format(Globals!ExecutionTime, "yyyy-MM-dd HH:mm" )</Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>Gray</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Top</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows> </TablixRows>
</TablixBody> </TablixBody>
<TablixColumnHierarchy> <TablixColumnHierarchy>
@@ -336,6 +401,10 @@
<GroupExpression>=Fields!ItemExtCode.Value</GroupExpression> <GroupExpression>=Fields!ItemExtCode.Value</GroupExpression>
</GroupExpressions> </GroupExpressions>
</Group> </Group>
<TablixMembers>
<TablixMember />
<TablixMember />
</TablixMembers>
<DataElementOutput>Output</DataElementOutput> <DataElementOutput>Output</DataElementOutput>
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
</TablixMember> </TablixMember>
@@ -347,7 +416,7 @@
</PageBreak> </PageBreak>
<Top>0.1343in</Top> <Top>0.1343in</Top>
<Left>0.00001cm</Left> <Left>0.00001cm</Left>
<Height>8.86829in</Height> <Height>9.83445in</Height>
<Width>7.37604in</Width> <Width>7.37604in</Width>
<Style> <Style>
<FontFamily>Tahoma</FontFamily> <FontFamily>Tahoma</FontFamily>
@@ -356,7 +425,7 @@
</Style> </Style>
</Tablix> </Tablix>
</ReportItems> </ReportItems>
<Height>9.5in</Height> <Height>9.96875in</Height>
<Style /> <Style />
</Body> </Body>
<Width>7.5in</Width> <Width>7.5in</Width>
@@ -367,7 +436,7 @@
<BottomMargin>0.5in</BottomMargin> <BottomMargin>0.5in</BottomMargin>
<Style /> <Style />
</Page> </Page>
<Author>v. 1.5.1</Author> <Author>v. 1.5.2</Author>
<AutoRefresh>0</AutoRefresh> <AutoRefresh>0</AutoRefresh>
<DataSources> <DataSources>
<DataSource Name="Sauder_NKC"> <DataSource Name="Sauder_NKC">
+73 -3
View File
@@ -849,18 +849,88 @@
</Style> </Style>
</Tablix> </Tablix>
</ReportItems> </ReportItems>
<Height>9.92027in</Height> <Height>9.60777in</Height>
<Style /> <Style />
</Body> </Body>
<Width>7.46875in</Width> <Width>7.46875in</Width>
<Page> <Page>
<PageFooter>
<Height>0.20958in</Height>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="Footer">
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Cart - powered by </Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>Gray</Color>
</Style>
</TextRun>
<TextRun>
<Value>Egalware Srl</Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>Gray</Color>
</Style>
</TextRun>
<TextRun>
<Value> © </Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>Gray</Color>
</Style>
</TextRun>
<TextRun>
<Label>PrintData</Label>
<Value>=Format(Globals!ExecutionTime, "yyyy-MM-dd HH:mm" )</Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>Gray</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<Left>3.50916in</Left>
<Height>0.20958in</Height>
<Width>3.845in</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Top</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageFooter>
<LeftMargin>0.5in</LeftMargin> <LeftMargin>0.5in</LeftMargin>
<RightMargin>0.5in</RightMargin> <RightMargin>0.5in</RightMargin>
<TopMargin>0.5in</TopMargin> <TopMargin>0.5in</TopMargin>
<BottomMargin>0.5in</BottomMargin> <BottomMargin>0.5in</BottomMargin>
<Style /> <Style />
</Page> </Page>
<Author>v. 1.4.3</Author> <Author>v. 1.4.4</Author>
<AutoRefresh>0</AutoRefresh> <AutoRefresh>0</AutoRefresh>
<DataSources> <DataSources>
<DataSource Name="Sauder_NKC"> <DataSource Name="Sauder_NKC">
@@ -961,7 +1031,7 @@
<DataType>Integer</DataType> <DataType>Integer</DataType>
<DefaultValue> <DefaultValue>
<Values> <Values>
<Value>1319</Value> <Value>7544</Value>
</Values> </Values>
</DefaultValue> </DefaultValue>
<Prompt>Cart ID:</Prompt> <Prompt>Cart ID:</Prompt>
+78 -10
View File
@@ -11,7 +11,7 @@
</TablixColumns> </TablixColumns>
<TablixRows> <TablixRows>
<TablixRow> <TablixRow>
<Height>9.9907in</Height> <Height>9.76979in</Height>
<TablixCells> <TablixCells>
<TablixCell> <TablixCell>
<CellContents> <CellContents>
@@ -23,7 +23,7 @@
' viene creata un'immagine apposita da DXF file validation per gli special part con dimensioni diverse</Value> ' viene creata un'immagine apposita da DXF file validation per gli special part con dimensioni diverse</Value>
<Sizing>FitProportional</Sizing> <Sizing>FitProportional</Sizing>
<Top>6in</Top> <Top>5.88367in</Top>
<Left>0.02648cm</Left> <Left>0.02648cm</Left>
<Height>78.24611mm</Height> <Height>78.24611mm</Height>
<Width>187.17581mm</Width> <Width>187.17581mm</Width>
@@ -470,7 +470,6 @@
</Textbox> </Textbox>
</ReportItems> </ReportItems>
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
<Top>0.01993in</Top>
<Left>0.00445cm</Left> <Left>0.00445cm</Left>
<Height>2.91471in</Height> <Height>2.91471in</Height>
<Width>7.37604in</Width> <Width>7.37604in</Width>
@@ -502,7 +501,7 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>DueDate</rd:DefaultName> <rd:DefaultName>DueDate</rd:DefaultName>
<Top>3in</Top> <Top>2.91471in</Top>
<Left>0.02203cm</Left> <Left>0.02203cm</Left>
<Height>2.96896in</Height> <Height>2.96896in</Height>
<Width>7.3622in</Width> <Width>7.3622in</Width>
@@ -716,7 +715,7 @@
</TablixMembers> </TablixMembers>
</TablixRowHierarchy> </TablixRowHierarchy>
<DataSetName>stp_prt_SpecialPart</DataSetName> <DataSetName>stp_prt_SpecialPart</DataSetName>
<Top>9.15in</Top> <Top>8.96423in</Top>
<Left>0.82in</Left> <Left>0.82in</Left>
<Height>0.80556in</Height> <Height>0.80556in</Height>
<Width>5.70574in</Width> <Width>5.70574in</Width>
@@ -759,6 +758,71 @@
</TablixCell> </TablixCell>
</TablixCells> </TablixCells>
</TablixRow> </TablixRow>
<TablixRow>
<Height>0.2in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="TextEgalware">
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>SpecialParts - powered by </Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>Gray</Color>
</Style>
</TextRun>
<TextRun>
<Value>Egalware Srl</Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>Gray</Color>
</Style>
</TextRun>
<TextRun>
<Value> © </Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>Gray</Color>
</Style>
</TextRun>
<TextRun>
<Label>PrintData</Label>
<Value>=Format(Globals!ExecutionTime, "yyyy-MM-dd HH:mm" )</Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<Color>Gray</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Top</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows> </TablixRows>
</TablixBody> </TablixBody>
<TablixColumnHierarchy> <TablixColumnHierarchy>
@@ -774,6 +838,10 @@
<GroupExpression>=Fields!ItemExtCode.Value</GroupExpression> <GroupExpression>=Fields!ItemExtCode.Value</GroupExpression>
</GroupExpressions> </GroupExpressions>
</Group> </Group>
<TablixMembers>
<TablixMember />
<TablixMember />
</TablixMembers>
<DataElementOutput>Output</DataElementOutput> <DataElementOutput>Output</DataElementOutput>
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
</TablixMember> </TablixMember>
@@ -783,9 +851,9 @@
<PageBreak> <PageBreak>
<BreakLocation>End</BreakLocation> <BreakLocation>End</BreakLocation>
</PageBreak> </PageBreak>
<Top>0.0093in</Top> <Top>0in</Top>
<Left>0.00001cm</Left> <Left>0.00001cm</Left>
<Height>9.9907in</Height> <Height>9.96979in</Height>
<Width>7.37954in</Width> <Width>7.37954in</Width>
<Style> <Style>
<FontFamily>Tahoma</FontFamily> <FontFamily>Tahoma</FontFamily>
@@ -794,7 +862,7 @@
</Style> </Style>
</Tablix> </Tablix>
</ReportItems> </ReportItems>
<Height>10in</Height> <Height>9.96979in</Height>
<Style /> <Style />
</Body> </Body>
<Width>7.5in</Width> <Width>7.5in</Width>
@@ -805,7 +873,7 @@
<BottomMargin>0.5in</BottomMargin> <BottomMargin>0.5in</BottomMargin>
<Style /> <Style />
</Page> </Page>
<Author>v. 1.4.1</Author> <Author>v. 1.4.2</Author>
<AutoRefresh>0</AutoRefresh> <AutoRefresh>0</AutoRefresh>
<DataSources> <DataSources>
<DataSource Name="Sauder_NKC"> <DataSource Name="Sauder_NKC">
@@ -826,7 +894,7 @@
<DataSets> <DataSets>
<DataSet Name="stp_prt_SpecialPart"> <DataSet Name="stp_prt_SpecialPart">
<Query> <Query>
<DataSourceName>Sauder_NKC_Test</DataSourceName> <DataSourceName>Sauder_NKC</DataSourceName>
<QueryParameters> <QueryParameters>
<QueryParameter Name="@CartID"> <QueryParameter Name="@CartID">
<Value>=Parameters!CartID.Value</Value> <Value>=Parameters!CartID.Value</Value>
+2 -2
View File
@@ -5,8 +5,8 @@
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings> <appSettings>
<!--conf redis--> <!--conf redis-->
<add key="RedisConn" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="RedisConn" value="redis01.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="RedisConnAdmin" value="redis01.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<!--conn string--> <!--conn string-->
<add key="NKC_WFConnectionString" value="Data Source=PC-LELE\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="NKC_WFConnectionString" value="Data Source=PC-LELE\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="DbConfConnectionString" value="Data Source=PC-LELE\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="DbConfConnectionString" value="Data Source=PC-LELE\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
+2 -2
View File
@@ -5,8 +5,8 @@
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings> <appSettings>
<!--conf redis--> <!--conf redis-->
<add key="RedisConn" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="RedisConn" value="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="RedisConnAdmin" value="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<!--conn string--> <!--conn string-->
<add key="NKC_WFConnectionString" value="Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC2_Prod;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="NKC_WFConnectionString" value="Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC2_Prod;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="DbConfConnectionString" value="Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC2_Prod;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="DbConfConnectionString" value="Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC2_Prod;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
+2 -2
View File
@@ -5,8 +5,8 @@
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings> <appSettings>
<!--conf redis--> <!--conf redis-->
<add key="RedisConn" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="RedisConn" value="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="RedisConnAdmin" value="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<!--conn string--> <!--conn string-->
<add key="NKC_WFConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="NKC_WFConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="DbConfConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="DbConfConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
+2 -2
View File
@@ -5,8 +5,8 @@
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings> <appSettings>
<!--conf redis--> <!--conf redis-->
<add key="RedisConn" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="RedisConn" value="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="RedisConnAdmin" value="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<!--conn string--> <!--conn string-->
<add key="NKC_WFConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="NKC_WFConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="DbConfConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> <add key="DbConfConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
+524 -493
View File
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,59 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_BP_MaterialYeld.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_BP_MaterialYeld" %>
<b>Material's</b> YELD
<asp:GridView ID="grView" runat="server" DataSourceID="ods" AutoGenerateColumns="False" CssClass="table table-sm table-striped" AllowSorting="True" AllowPaging="true" PageSize="10">
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<SelectedRowStyle CssClass="table-info" />
<EmptyDataTemplate>
<%: traduci("NoRecord") %>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField HeaderText="Material" SortExpression="MatCode">
<ItemTemplate>
<div class="font-weight-bold">
<asp:Label runat="server" ID="lblMatCode" Text='<%# Eval("MatCode") %>'></asp:Label>
</div>
<div class="small">
<asp:Label runat="server" ID="lblMatDescript" Text='<%# Eval("MatDescript") %>'></asp:Label>
</div>
</ItemTemplate>
<ItemStyle CssClass="text-left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Sheets/Parts" SortExpression="TotParts">
<ItemTemplate>
<div class="d-flex justify-content-between">
<span class="px-0 small">Sheets</span>
<span class="px-0 font-weight-bold">
<asp:Label runat="server" ID="lblTotSheets" Text='<%# Eval("TotSheets") %>'></asp:Label></span>
</div>
<div class="d-flex justify-content-between">
<span class="px-0 small">Parts</span>
<span class="px-0 font-weight">
<asp:Label runat="server" ID="lblTotParts" Text='<%# Eval("TotParts") %>'></asp:Label></span>
</div>
</ItemTemplate>
<ItemStyle CssClass="text-left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Yeld" SortExpression="YeldAvg">
<ItemTemplate>
<div class="d-flex justify-content-between">
<span class="px-0 small">Avg</span>
<span class="px-0 font-weight-bold">
<asp:Label runat="server" ID="lblYeldAvg" Text='<%# Eval("YeldAvg", "{0:P1}") %>'></asp:Label></span>
</div>
<div class="d-flex justify-content-between">
<span class="px-0 font-weight">
<asp:Label runat="server" ID="lblYeldMin" Text='<%# Eval("YeldMin", "{0:P1}") %>'></asp:Label></span>
<span class="px-0 small">...</span>
<span class="px-0 font-weight">
<asp:Label runat="server" ID="lblYeldMax" Text='<%# Eval("YeldMax", "{0:P1}") %>'></asp:Label></span>
</div>
</ItemTemplate>
<ItemStyle CssClass="text-left" />
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" SelectMethod="GetMatStatList" TypeName="NKC_WF.WebUserControls.cmp_BP_MaterialYeld"></asp:ObjectDataSource>
@@ -0,0 +1,84 @@
using AppData;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class cmp_BP_MaterialYeld : BaseUserControl
{
#region Public Properties
/// <summary>
/// Batch corrente...
/// </summary>
public int BatchId
{
get
{
int answ = memLayer.ML.QSI("BatchId");
return answ;
}
}
#endregion Public Properties
#region Public Methods
public List<AppData.DTO.MaterialYeldStatsDTO> GetMatStatList()
{
DataLayer DLMan = new DataLayer();
MatStatList = new List<AppData.DTO.MaterialYeldStatsDTO>();
var statData = DLMan.GetYeldStatsFromMongoData(BatchId);
if (statData != null)
{
MatStatList = statData.ListByMaterial;
}
return MatStatList;
}
#endregion Public Methods
#region Protected Fields
protected List<AppData.DTO.MaterialYeldStatsDTO> MatStatList = new List<AppData.DTO.MaterialYeldStatsDTO>();
/// <summary>
/// Tabella dei dati di quante part siano presenti x foglio recuperato dai dati nesting da mongoDB
/// </summary>
protected Dictionary<int, int> SheetPartQty = new Dictionary<int, int>();
/// <summary>
/// Tabella dei dati di resa (Yeald) x foglio recuperato dai dati nesting da mongoDB
/// </summary>
protected Dictionary<int, double> SheetYeld = new Dictionary<int, double>();
#endregion Protected Fields
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
ReloadData();
}
#endregion Protected Methods
#region Private Methods
/// <summary>
/// Legge da redis, se non trovasse legge da mongoDB e salva in redis come cache...
/// </summary>
private void ReloadData()
{
grView.DataBind();
}
#endregion Private Methods
}
}
@@ -0,0 +1,35 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// 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_MaterialYeld
{
/// <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>
/// 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;
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
<asp:GridView ID="grView" runat="server" AutoGenerateColumns="False" DataKeyNames="StackID" DataSourceID="ods" CssClass="table table-sm table-striped" AllowSorting="True" OnSelectedIndexChanged="grView_SelectedIndexChanged" OnRowCommand="grView_RowCommand"> <asp:GridView ID="grView" runat="server" AutoGenerateColumns="False" DataKeyNames="StackID" DataSourceID="ods" CssClass="table table-sm table-striped" AllowSorting="True" OnSelectedIndexChanged="grView_SelectedIndexChanged" OnRowCommand="grView_RowCommand" AllowPaging="true" PageSize="5">
<HeaderStyle CssClass="default" /> <HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" /> <PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" /> <PagerSettings Mode="NumericFirstLast" />
+32 -32
View File
@@ -1,44 +1,44 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <generato automaticamente> // <auto-generated>
// Codice generato da uno strumento. // This code was generated by a tool.
// //
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </generato automaticamente> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
{ {
public partial class cmp_BP_bunkList public partial class cmp_BP_bunkList
{ {
/// <summary> /// <summary>
/// Controllo grView. /// grView control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.GridView grView; protected global::System.Web.UI.WebControls.GridView grView;
/// <summary> /// <summary>
/// Controllo hfBatchID. /// hfBatchID control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchID; protected global::System.Web.UI.WebControls.HiddenField hfBatchID;
/// <summary> /// <summary>
/// Controllo ods. /// ods control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods; protected global::System.Web.UI.WebControls.ObjectDataSource ods;
} }
} }
+61 -43
View File
@@ -1,49 +1,67 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_BP_sheetList.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_BP_sheetList" %> <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_BP_sheetList.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_BP_sheetList" %>
<asp:HiddenField ID="hfBunkIndex" runat="server" />
<asp:HiddenField ID="hfStackID" runat="server" /> <asp:HiddenField ID="hfStackID" runat="server" />
<asp:GridView runat="server" ID="grView" AutoGenerateColumns="False" DataKeyNames="SheetID" DataSourceID="ods" CssClass="table table-sm table-striped" AllowSorting="True" OnSelectedIndexChanged="grView_SelectedIndexChanged"> <asp:GridView runat="server" ID="grView" AutoGenerateColumns="False" DataKeyNames="SheetID" DataSourceID="ods" CssClass="table table-sm table-striped gridview-comp" AllowSorting="False" OnSelectedIndexChanged="grView_SelectedIndexChanged" AllowPaging="true" PageSize="20" OnPageIndexChanged="grView_PageIndexChanged">
<HeaderStyle CssClass="default" /> <HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" /> <PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" /> <PagerSettings Mode="NumericFirstLast" />
<SelectedRowStyle CssClass="table-info" /> <SelectedRowStyle CssClass="table-info" />
<EmptyDataTemplate> <EmptyDataTemplate>
<%: traduci("NoRecord") %> <%: traduci("NoRecord") %>
</EmptyDataTemplate> </EmptyDataTemplate>
<Columns> <Columns>
<asp:TemplateField ShowHeader="False"> <asp:TemplateField ShowHeader="False">
<HeaderTemplate> <HeaderTemplate>
<asp:LinkButton ID="lbtReset" runat="server" OnClick="lbtReset_Click" CssClass="btn btn-sm btn-primary" Visible="true" ToolTip="Reset"><i class="fa fa-refresh"></i></asp:LinkButton> <asp:LinkButton ID="lbtReset" runat="server" OnClick="lbtReset_Click" CssClass="btn btn-sm btn-primary" Visible="true" ToolTip="Reset"><i class="fa fa-refresh"></i></asp:LinkButton>
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <ItemTemplate>
<asp:LinkButton ID="lbSelect" runat="server" CausesValidation="False" CommandName="Select" CssClass="btn btn-sm btn-primary"><i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton> <asp:LinkButton ID="lbSelect" runat="server" CausesValidation="False" CommandName="Select" CssClass="btn btn-sm btn-primary mx-1"><i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:BoundField DataField="SheetIndex" HeaderText="#" ReadOnly="True" SortExpression="SheetIndex" /> <asp:BoundField DataField="SheetIndex" HeaderText="#" ReadOnly="True" SortExpression="SheetIndex" ItemStyle-CssClass="px-1" DataFormatString="{0:00}" />
<asp:TemplateField HeaderText="Material" SortExpression="MatExtCode"> <asp:TemplateField HeaderText="Material" SortExpression="MatExtCode">
<ItemTemplate> <ItemTemplate>
<div class="row"> <div class="d-flex justify-content-between text-nowrap px-1">
<div class="col-8 text-left"> <div class="px-0 text-left">
<asp:Label ID="lblMatExtCode" runat="server" Text='<%# Eval("MatExtCode") %>' CssClass="font-weight-bold"></asp:Label> <asp:Label ID="lblMatExtCode" runat="server" Text='<%# Eval("MatExtCode") %>' CssClass="font-weight-bold"></asp:Label>
</div> </div>
<div class="col-4"> <div class="px-0 text-right">
<asp:Label ID="lblSheetID" runat="server" Text='<%# Eval("SheetID") %>' CssClass="small text-right"></asp:Label> <asp:Label ID="lblSheetID" runat="server" Text='<%# Eval("SheetID") %>' CssClass="small text-right"></asp:Label>
</div> </div>
<div class="col-12 text-left"> </div>
<asp:Label ID="lblMatDesc" runat="server" Text='<%# Eval("MatDesc") %>' CssClass="small"></asp:Label> <div class="d-flex justify-content-between text-nowrap">
</div> <div class="px-0 text-left">
</div> <asp:Label ID="lblMatDesc" runat="server" Text='<%# Eval("MatDesc") %>' CssClass="small"></asp:Label>
</ItemTemplate> </div>
</asp:TemplateField> </div>
<asp:TemplateField HeaderText="Estim" SortExpression="WrkTimeEst"> </ItemTemplate>
<ItemTemplate> </asp:TemplateField>
<asp:Label ID="lblWrkTimeEst" runat="server" Text='<%# formatMinSec(Eval("WrkTimeEst", "{0:N0}")) %>'></asp:Label> <asp:TemplateField HeaderText="Estim" SortExpression="WrkTimeEst">
</ItemTemplate> <ItemTemplate>
</asp:TemplateField> <div class="d-flex justify-content-between text-nowrap px-1">
</Columns> <div class="px-0 text-left">
<asp:Label ID="lblWrkTimeEst" runat="server" Text='<%# formatMinSec(Eval("WrkTimeEst", "{0:N0}")) %>'></asp:Label>
</div>
<div class="px-0 text-right" title="Part on current Sheet">
<sup>(<asp:Label ID="lblSheetParts" runat="server" Text='<%# GetSheetPartQty(Eval("SheetIndex")) %>'></asp:Label>)</sup>
</div>
</div>
<div class="d-flex justify-content-between text-nowrap">
<div class="px-0 text-left">
Y:
</div>
<div class="px-0 text-right">
<asp:Label ID="lblSheetYels" runat="server" Text='<%# GetSheetYeld(Eval("SheetIndex")) %>'></asp:Label>
</div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView> </asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStack" TypeName="AppData.DS_AppTableAdapters.SheetListTableAdapter"> <asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStack" TypeName="AppData.DS_AppTableAdapters.SheetListTableAdapter">
<SelectParameters> <SelectParameters>
<asp:ControlParameter ControlID="hfStackID" DefaultValue="0" Name="StackID" PropertyName="Value" Type="Int32" /> <asp:ControlParameter ControlID="hfStackID" DefaultValue="0" Name="StackID" PropertyName="Value" Type="Int32" />
<asp:Parameter Name="Machine" DefaultValue="" /> <asp:Parameter Name="Machine" DefaultValue="" />
</SelectParameters> </SelectParameters>
</asp:ObjectDataSource> </asp:ObjectDataSource>
+213 -27
View File
@@ -1,13 +1,17 @@
using System; using AppData;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
{ {
public partial class cmp_BP_sheetList : BaseUserControl public partial class cmp_BP_sheetList : BaseUserControl
{ {
protected void Page_Load(object sender, EventArgs e) #region Public Properties
{
}
/// <summary> /// <summary>
/// Bunk corrente... /// Bunk corrente...
/// </summary> /// </summary>
@@ -16,6 +20,9 @@ namespace NKC_WF.WebUserControls
set set
{ {
hfStackID.Value = value.ToString(); hfStackID.Value = value.ToString();
// aggiorno dati mongo...
updateMongoData(BatchId, value);
// disegno datagrid...
grView.DataBind(); grView.DataBind();
} }
get get
@@ -25,6 +32,18 @@ namespace NKC_WF.WebUserControls
return answ; return answ;
} }
} }
/// <summary>
/// Num totale Sheets
/// </summary>
public int numSheets
{
get
{
return grView.Rows.Count;
}
}
// <summary> // <summary>
/// Indice selezionato /// Indice selezionato
/// </summary> /// </summary>
@@ -40,6 +59,7 @@ namespace NKC_WF.WebUserControls
grView.DataBind(); grView.DataBind();
} }
} }
/// <summary> /// <summary>
/// SheetId selezionato /// SheetId selezionato
/// </summary> /// </summary>
@@ -63,27 +83,11 @@ namespace NKC_WF.WebUserControls
return answ; return answ;
} }
} }
/// <summary>
/// comando reset
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtReset_Click(object sender, EventArgs e)
{
resetSelezione();
}
public void resetSelezione()
{
//lblStack.Text = "";
grView.SelectedIndex = -1;
grView.DataBind();
raiseEvent();
}
protected void grView_SelectedIndexChanged(object sender, EventArgs e) #endregion Public Properties
{
raiseEvent(); #region Public Methods
}
/// <summary> /// <summary>
/// Formatta in min/sec il tempo in sec decimale /// Formatta in min/sec il tempo in sec decimale
/// </summary> /// </summary>
@@ -101,14 +105,196 @@ namespace NKC_WF.WebUserControls
} }
/// <summary> /// <summary>
/// Num totale Sheets /// Recupera valore YELD dato SheetID
/// </summary> /// </summary>
public int numSheets /// <param name="sId"></param>
/// <returns></returns>
public string GetSheetPartQty(object sId)
{
int answ = 0;
int sheetId = 0;
if (int.TryParse($"{sId}", out sheetId))
{
if (SheetPartQty.ContainsKey(sheetId))
{
answ = SheetPartQty[sheetId];
}
}
return $"{answ:N0}";
}
/// <summary>
/// Recupera valore YELD dato SheetID
/// </summary>
/// <param name="sId"></param>
/// <returns></returns>
public string GetSheetYeld(object sId)
{
double answ = 0;
int sheetId = 0;
if (int.TryParse($"{sId}", out sheetId))
{
if (SheetYeld.ContainsKey(sheetId))
{
answ = SheetYeld[sheetId];
}
}
return $"{answ:P1}";
}
public void resetSelezione()
{
//lblStack.Text = "";
grView.SelectedIndex = -1;
grView.DataBind();
raiseEvent();
}
#endregion Public Methods
#region Protected Fields
/// <summary>
/// Tabella dei dati di quante part siano presenti x foglio recuperato dai dati nesting da mongoDB
/// </summary>
protected Dictionary<int, int> SheetPartQty = new Dictionary<int, int>();
/// <summary>
/// Tabella dei dati di resa (Yeald) x foglio recuperato dai dati nesting da mongoDB
/// </summary>
protected Dictionary<int, double> SheetYeld = new Dictionary<int, double>();
#endregion Protected Fields
#region Protected Properties
/// <summary>
/// Batch corrente...
/// </summary>
protected int BatchId
{ {
get get
{ {
return grView.Rows.Count; int answ = memLayer.ML.QSI("BatchId");
return answ;
} }
} }
#endregion Protected Properties
#region Protected Methods
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{
raiseEvent();
}
/// <summary>
/// comando reset
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtReset_Click(object sender, EventArgs e)
{
resetSelezione();
}
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods
#region Private Methods
/// <summary>
/// Aggiorna i dati di stima recuperando da Mongo le risposte complete dal supervisor
/// </summary>
/// <param name="BatchId">ID del Batch di cui recuperare le info</param>
/// <param name="BunkId">ID del BUNK da considerare</param>
private void updateMongoData(int BatchId, int BunkId)
{
SheetYeld = new Dictionary<int, double>();
SheetPartQty = new Dictionary<int, int>();
DataLayer dlMan = new DataLayer();
if (memLayer.ML.CRB("enableMongo"))
{
var bunkList = dlMan.taSTL.getByBatch(BatchId);
var bunkRow = bunkList.Where(x => x.StackID == BunkId).FirstOrDefault();
// da eliminare quando testato altro metodo...
#if false
// cerco da lista salvataggi Nest...
var nestAnsw = ComLib.man.getNestAnsw(BatchId);
// recupero bunk da DB
// elenchi x ricerca duplicati
List<int> partListNest = new List<int>();
List<int> partListNestDupl = new List<int>();
if (nestAnsw != null && bunkRow != null)
{
double num = 0;
double den = 1;
double currRatio = 0;
try
{
if (nestAnsw.BunkList != null)
{
foreach (var bunk in nestAnsw.BunkList)
{
if (bunkRow.StackIndex == bunk.BunkIndex)
{
// procedo SOLO per il bunk corrente...
foreach (var sheet in bunk.SheetList)
{
num = sheet.SurfaceWork > 0 ? sheet.SurfaceWork : 0;
den = sheet.SurfaceTotal > 0 ? sheet.SurfaceTotal : 1;
currRatio = ComLib.ratioProt(num, den);
if (SheetYeld.ContainsKey(sheet.SheetIndex))
{
SheetYeld[sheet.SheetIndex] = currRatio;
}
else
{
SheetYeld.Add(sheet.SheetIndex, currRatio);
}
if (SheetPartQty.ContainsKey(sheet.SheetIndex))
{
SheetPartQty[sheet.SheetIndex] = sheet.PartList.Count;
}
else
{
SheetPartQty.Add(sheet.SheetIndex, sheet.PartList.Count);
}
}
}
}
}
}
catch
{ }
}
#endif
// leggo da obj di DlMan
var statData = DLMan.GetYeldStatsFromMongoData(BatchId);
if (statData != null)
{
List<AppData.DTO.SheetYeldStatDTO> sList = statData
.ListBySheet
.Where(x => x.BunkIdx == bunkRow.StackIndex)
.ToList();
// converto...
SheetYeld = sList.ToDictionary(r => r.SheetIdx, r => r.Yeld);
SheetPartQty = sList.ToDictionary(r => r.SheetIdx, r => r.NumParts);
}
}
}
#endregion Private Methods
protected void grView_PageIndexChanged(object sender, EventArgs e)
{
updateMongoData(BatchId, BunkId);
}
} }
} }
@@ -14,6 +14,15 @@ namespace NKC_WF.WebUserControls
public partial class cmp_BP_sheetList public partial class cmp_BP_sheetList
{ {
/// <summary>
/// hfBunkIndex 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 hfBunkIndex;
/// <summary> /// <summary>
/// hfStackID control. /// hfStackID control.
/// </summary> /// </summary>
@@ -9,10 +9,10 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-4"> <div class="col-12 col-md-3">
<b class="text-uppercase"><%: traduci("BatchPreviewStats") %></b> <b class="text-uppercase"><%: traduci("BatchPreviewStats") %></b>
</div> </div>
<div class="col-8 text-right small"> <div class="col-12 col-md-9 text-right small">
<div class="form-row mb-2"> <div class="form-row mb-2">
<div class="col-5"> <div class="col-5">
<asp:LinkButton runat="server" ID="lbtExportCsv" CssClass="btn btn-sm btn-outline-success" OnClick="lbtExportCsv_Click">Create CSV <i class="fa fa-file-excel-o" aria-hidden="true"></i></asp:LinkButton> <asp:LinkButton runat="server" ID="lbtExportCsv" CssClass="btn btn-sm btn-outline-success" OnClick="lbtExportCsv_Click">Create CSV <i class="fa fa-file-excel-o" aria-hidden="true"></i></asp:LinkButton>
@@ -39,7 +39,7 @@
<div class="input-group-prepend"> <div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("PlotGraph") %></span> <span class="input-group-text small"><%: traduci("PlotGraph") %></span>
</div> </div>
<asp:CheckBox runat="server" ID="chkPlotGraph" AutoPostBack="true" OnCheckedChanged="chkPlotGraph_CheckedChanged" CssClass="form-control form-control-sm" /> <asp:CheckBox runat="server" ID="chkPlotGraph" AutoPostBack="true" OnCheckedChanged="chkPlotGraph_CheckedChanged" CssClass="form-control form-control-sm" Checked="true" />
</div> </div>
</div> </div>
<div class="col-2"> <div class="col-2">
@@ -142,7 +142,7 @@ namespace NKC_WF.WebUserControls
{ {
if (!Page.IsPostBack) if (!Page.IsPostBack)
{ {
cmp_numRow.numRow = 25; cmp_numRow.numRow = 15;
grView.PageSize = cmp_numRow.numRow; grView.PageSize = cmp_numRow.numRow;
divGraph.Visible = false; divGraph.Visible = false;
divType.Visible = false; divType.Visible = false;
@@ -152,6 +152,7 @@ namespace NKC_WF.WebUserControls
hlDownload.Visible = fileExist; hlDownload.Visible = fileExist;
} }
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh; cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
doUpdate();
} }
protected void txtNumShow_TextChanged(object sender, EventArgs e) protected void txtNumShow_TextChanged(object sender, EventArgs e)
+27 -16
View File
@@ -24,7 +24,7 @@
var labelsTS = dataTS.map(function (item) { var labelsTS = dataTS.map(function (item) {
return item['x']; return item['x'];
}); });
//console.log('labels data', labels); //console.log('labels data', labelsTS);
var myOptions = { var myOptions = {
responsive: true, responsive: true,
@@ -42,15 +42,17 @@
}; };
// recupero obj chart // recupero obj chart
//console.log('ctx ID: ', document.getElementById('myChartTS'));
var ctx = document.getElementById('myChartTS').getContext('2d'); var ctx = document.getElementById('myChartTS').getContext('2d');
var sLeg = document.getElementById('<%=hfLegend.ClientID %>').value;
var chart = new Chart(ctx, { var chart = new Chart(ctx, {
type: 'line', type: 'line',
data: { data: {
labels: labelsTS, labels: labelsTS,
datasets: [{ datasets: [{
label: '<%=hfLegend.Value %>', label: sLeg,
borderColor: 'rgb(7, 173, 236)', borderColor: 'rgb(7, 173, 236)',
lineTension: 0, lineTension: 0,
//steppedLine: false, //steppedLine: false,
@@ -66,22 +68,31 @@
} }
// effettuo plotting grafico TimeSerie! // effettuo plotting grafico TimeSerie!
function plotTS() { function plotTS() {
//console.log("api/BatchStats/<%=hfShowLast.Value %>?PlotType=<%=hfPlotType.Value%>"); var hfSL = document.getElementById('<%=hfShowLast.ClientID %>');
// caricamento pagina if (hfSL != null) {
$.ajax({ var lastNum = document.getElementById('<%=hfShowLast.ClientID %>').value ?? "";
type: "GET", var plotType = document.getElementById('<%=hfPlotType.ClientID %>').value ?? "";
url: "../api/BatchStats/<%=hfShowLast.Value %>?PlotType=<%=hfPlotType.Value%>", //console.log("../api/BatchStats/"+lastNum+"?PlotType="+plotType);
contentType: "application/json; charset=utf-8", // caricamento pagina
dataType: "json", $.ajax({
success: OnSuccess_, type: "GET",
error: OnErrorCall_ url: "../api/BatchStats/" + lastNum + "?PlotType=" + plotType,
}); contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess_,
error: OnErrorCall_
});
}
} }
// funzione di drawing ad OGNI pageload! // funzione di drawing ad OGNI pageload!
function pageLoad() { function pageLoad() {
// chiamo recupero dati + plot della TS try {
plotTS(); console.log('pageLoad BatchStats! | ID: <%= this.ID %> ');
//console.log('pageLoad!'); plotTS();
}
catch (error) {
console.log(error);
}
} }
</script> </script>
@@ -53,10 +53,7 @@ namespace NKC_WF.WebUserControls
#region Protected Methods #region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods #endregion Protected Methods
} }
} }
@@ -9,10 +9,10 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-3"> <div class="col-12 col-md-3">
<b class="text-uppercase"><%: traduci("DayProdStats") %></b> <b class="text-uppercase"><%: traduci("DayProdStats") %></b>
</div> </div>
<div class="col-9 text-right small"> <div class="col-12 col-md-9 text-right small">
<div class="form-row mb-2"> <div class="form-row mb-2">
<div class="col-2"> <div class="col-2">
<asp:LinkButton runat="server" ID="lbtExportCsv" CssClass="btn btn-sm btn-outline-success" OnClick="lbtExportCsv_Click">Create CSV <i class="fa fa-file-excel-o" aria-hidden="true"></i></asp:LinkButton> <asp:LinkButton runat="server" ID="lbtExportCsv" CssClass="btn btn-sm btn-outline-success" OnClick="lbtExportCsv_Click">Create CSV <i class="fa fa-file-excel-o" aria-hidden="true"></i></asp:LinkButton>
@@ -38,7 +38,7 @@
<div class="input-group-prepend"> <div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("PlotGraph") %></span> <span class="input-group-text small"><%: traduci("PlotGraph") %></span>
</div> </div>
<asp:CheckBox runat="server" ID="chkPlotGraph" AutoPostBack="true" OnCheckedChanged="chkPlotGraph_CheckedChanged" CssClass="form-control form-control-sm" /> <asp:CheckBox runat="server" ID="chkPlotGraph" AutoPostBack="true" OnCheckedChanged="chkPlotGraph_CheckedChanged" CssClass="form-control form-control-sm" Checked="true" />
</div> </div>
</div> </div>
<div class="col-2"> <div class="col-2">
@@ -174,7 +174,7 @@ namespace NKC_WF.WebUserControls
{ {
if (!Page.IsPostBack) if (!Page.IsPostBack)
{ {
cmp_numRow.numRow = 25; cmp_numRow.numRow = 15;
grView.PageSize = cmp_numRow.numRow; grView.PageSize = cmp_numRow.numRow;
divGraph.Visible = false; divGraph.Visible = false;
divType.Visible = false; divType.Visible = false;
@@ -186,6 +186,7 @@ namespace NKC_WF.WebUserControls
hlDownload.Visible = fileExist; hlDownload.Visible = fileExist;
} }
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh; cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
doUpdate();
} }
protected void txtDateEnd_TextChanged(object sender, EventArgs e) protected void txtDateEnd_TextChanged(object sender, EventArgs e)
+46 -17
View File
@@ -4,11 +4,10 @@
<div class="row"> <div class="row">
<div class="col-12 px-2"> <div class="col-12 px-2">
<h4>Batch Stats Plot</h4> <h4>Daily Stats Plot</h4>
</div> </div>
<div class="col-12 px-2"> <div class="col-12 px-2">
<div id="divLoading" class="alert alert-primary text-center"> <div id="divLoading" class="alert alert-primary text-center">
<%--<i class="fa fa-5x fa-circle-o-notch fa-spin" aria-hidden="true"></i>--%>
<div class="progress"> <div class="progress">
<div class="progress-bar progress-bar-striped progress-bar-animated" style="width: 40%"></div> <div class="progress-bar progress-bar-striped progress-bar-animated" style="width: 40%"></div>
</div> </div>
@@ -23,6 +22,7 @@
<canvas id="myChartTS" height="200"></canvas> <canvas id="myChartTS" height="200"></canvas>
</div> </div>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
// funzione eseguita se successo al caricamento // funzione eseguita se successo al caricamento
function OnSuccess_(reponse) { function OnSuccess_(reponse) {
@@ -65,7 +65,11 @@
}; };
// recupero obj chart // recupero obj chart
//console.log('ctx ID: ', document.getElementById('myChartTS'));
var ctx = document.getElementById('myChartTS').getContext('2d'); var ctx = document.getElementById('myChartTS').getContext('2d');
//var ctx = document.getElementById('myChartTS').getContext('2d');
var sLeg = document.getElementById('<%=hfLegend.ClientID %>').value;
var chart = new Chart(ctx, { var chart = new Chart(ctx, {
type: 'line', type: 'line',
@@ -74,21 +78,21 @@
datasets: [ datasets: [
{ {
label: 'NE01: <%=hfLegend.Value %>', label: 'NE01: ' + sLeg,
borderColor: 'rgb(7, 173, 236)', borderColor: 'rgb(7, 173, 236)',
lineTension: 0, lineTension: 0,
//steppedLine: false, //steppedLine: false,
data: dataNE01 data: dataNE01
}, },
{ {
label: 'NE02: <%=hfLegend.Value %>', label: 'NE02: ' + sLeg,
borderColor: 'rgb(7, 173, 26)', borderColor: 'rgb(7, 173, 26)',
lineTension: 0, lineTension: 0,
//steppedLine: false, //steppedLine: false,
data: dataNE02 data: dataNE02
}, },
{ {
label: 'NE03: <%=hfLegend.Value %>', label: 'NE03: ' + sLeg,
borderColor: 'rgb(7, 203, 126)', borderColor: 'rgb(7, 203, 126)',
lineTension: 0, lineTension: 0,
//steppedLine: false, //steppedLine: false,
@@ -99,10 +103,15 @@
options: myOptions options: myOptions
}); });
// nascondo panel loading try {
var currDiv = document.getElementById("divLoading"); // nascondo panel loading
currDiv.style.display = "none"; var currDiv = document.getElementById('divLoading');
console.log("style: " + currDiv.style.display); currDiv.style.display = "none";
console.log("style: " + currDiv.style.display);
}
catch (error) {
console.log(error);
}
} }
// errore in reload! // errore in reload!
function OnErrorCall_(repo) { function OnErrorCall_(repo) {
@@ -110,11 +119,20 @@
} }
// effettuo plotting grafico TimeSerie! // effettuo plotting grafico TimeSerie!
function plotTS() { function plotTS() {
console.log("api/DayStats/<%=hfPlaceCod.Value %>?StartDate=<%=hfDateStart.Value %>&EndDate=<%=hfDateEnd.Value %>&PlotType=<%=hfPlotType.Value%>"); //console.log("Start plotTS");
var placeCod = document.getElementById('<%=hfPlaceCod.ClientID %>').value;
//console.log("placeCod: " + placeCod);
var dtStart = document.getElementById('<%=hfDateStart.ClientID %>').value;
//console.log("dtStart: " + dtStart);
var dtEnd = document.getElementById('<%=hfDateEnd.ClientID %>').value;
//console.log("dtEnd: " + dtEnd);
var plotType = document.getElementById('<%=hfPlotType.ClientID %>').value;
//console.log("plotType: " + plotType);
//console.log("../api/DayStats/" + placeCod + "?StartDate=" + dtStart + "&EndDate=" + dtEnd + "&PlotType=" + plotType);
// caricamento pagina // caricamento pagina
$.ajax({ $.ajax({
type: "GET", type: "GET",
url: "../api/DayStats/<%=hfPlaceCod.Value %>?StartDate=<%=hfDateStart.Value %>&EndDate=<%=hfDateEnd.Value %>&PlotType=<%=hfPlotType.Value%>", url: "../api/DayStats/" + placeCod + "?StartDate=" + dtStart + "&EndDate=" + dtEnd + "&PlotType=" + plotType,
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
dataType: "json", dataType: "json",
success: OnSuccess_, success: OnSuccess_,
@@ -124,11 +142,22 @@
// funzione di drawing ad OGNI pageload! // funzione di drawing ad OGNI pageload!
function pageLoad() { function pageLoad() {
// mostro panel loading //console.log('pageLoad DailyStats! | ID: <%= this.ID %> ');
var currDiv = document.getElementById("divLoading"); try {
currDiv.style.display = "block"; try {
// chiamo recupero dati + plot della TS // mostro panel loading
plotTS(); var currDiv = document.getElementById('divLoading');
//console.log('pageLoad!'); currDiv.style.display = "block";
}
catch (error) {
console.log(error);
}
// chiamo recupero dati + plot della TS
plotTS();
}
catch (error) {
console.log(error);
}
} }
</script> </script>
@@ -1,21 +1,11 @@
using System; using System;
using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.UI; using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
{ {
public partial class cmp_DailyStatsPlot : System.Web.UI.UserControl public partial class cmp_DailyStatsPlot : System.Web.UI.UserControl
{ {
#region Protected Fields
protected string dateFormat = "yyyy-MM-dd";
#endregion Protected Fields
#region Public Properties #region Public Properties
public DateTime DateEnd public DateTime DateEnd
@@ -84,11 +74,14 @@ namespace NKC_WF.WebUserControls
#endregion Public Properties #endregion Public Properties
#region Protected Fields
protected string dateFormat = "yyyy-MM-dd";
#endregion Protected Fields
#region Protected Methods #region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods #endregion Protected Methods
} }
+8 -1
View File
@@ -2,7 +2,14 @@
<%@ Register Src="~/WebUserControls/cmp_errDescr.ascx" TagPrefix="uc1" TagName="cmp_errDescr" %> <%@ Register Src="~/WebUserControls/cmp_errDescr.ascx" TagPrefix="uc1" TagName="cmp_errDescr" %>
<asp:GridView ID="grView" runat="server" AutoGenerateColumns="False" DataKeyNames="ErrID" DataSourceID="ods" CssClass="table table-striped table-condensed table-sm" AllowSorting="True"> <asp:GridView ID="grView" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="ErrID" DataSourceID="ods" CssClass="table table-striped table-sm table-condensed" AllowSorting="True">
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<SelectedRowStyle CssClass="table-info" />
<EmptyDataTemplate>
<%: traduci("NoRecord") %>
</EmptyDataTemplate>
<Columns> <Columns>
<asp:BoundField DataField="ErrType" HeaderText="Type" SortExpression="ErrType" /> <asp:BoundField DataField="ErrType" HeaderText="Type" SortExpression="ErrType" />
<asp:BoundField DataField="ParentUid" HeaderText="PUID" SortExpression="ParentUid" /> <asp:BoundField DataField="ParentUid" HeaderText="PUID" SortExpression="ParentUid" />
+32 -32
View File
@@ -1,44 +1,44 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <generato automaticamente> // <auto-generated>
// Codice generato da uno strumento. // This code was generated by a tool.
// //
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </generato automaticamente> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
{ {
public partial class cmp_ErrorsLog public partial class cmp_ErrorsLog
{ {
/// <summary> /// <summary>
/// Controllo grView. /// grView control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.GridView grView; protected global::System.Web.UI.WebControls.GridView grView;
/// <summary> /// <summary>
/// Controllo ods. /// ods control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods; protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary> /// <summary>
/// Controllo hfPuid. /// hfPuid control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfPuid; protected global::System.Web.UI.WebControls.HiddenField hfPuid;
} }
} }
+3 -2
View File
@@ -8,10 +8,11 @@
<asp:HiddenField ID="hfFilename" runat="server" Value="" /> <asp:HiddenField ID="hfFilename" runat="server" Value="" />
<asp:HiddenField ID="hfCurrRev" runat="server" Value="0" /> <asp:HiddenField ID="hfCurrRev" runat="server" Value="0" />
<asp:HiddenField ID="hfCurrBunkRev" runat="server" Value="0" /> <asp:HiddenField ID="hfCurrBunkRev" runat="server" Value="0" />
<asp:HiddenField ID="hfTimerCss" runat="server" Value="1000" />
<script type="text/javascript"> <script type="text/javascript">
lastVal = 0; lastVal = 0;
my_function(); my_function();
setInterval("my_function();", 1000); setInterval("my_function();", <%=hfTimerCss.Value%>);
function my_function() { function my_function() {
BunkId = document.getElementById('<%=hfBatchId.ClientID%>').value; BunkId = document.getElementById('<%=hfBatchId.ClientID%>').value;
SheetId = document.getElementById('<%=hfSheetId.ClientID%>').value; SheetId = document.getElementById('<%=hfSheetId.ClientID%>').value;
@@ -47,5 +48,5 @@
}); });
} }
</script> </script>
<svg width="2000" height="1000" xmlns='http://www.w3.org/2000/svg' runat="server" id="svgTable" class="img-fluid"> <svg width="1920" height="1080" xmlns='http://www.w3.org/2000/svg' runat="server" id="svgTable" class="img-fluid">
</svg> </svg>
@@ -48,6 +48,27 @@ namespace NKC_WF.WebUserControls
return answ; return answ;
} }
} }
/// <summary>
/// Timer rilettura css in ms...
/// </summary>
public int TimerCss
{
set
{
if (hfTimerCss.Value != value.ToString())
{
hfTimerCss.Value = value.ToString();
}
}
get
{
int answ = 0;
int.TryParse(hfTimerCss.Value, out answ);
return answ;
}
}
/// <summary> /// <summary>
/// Percorso file calcolato /// Percorso file calcolato
/// </summary> /// </summary>
@@ -100,7 +121,14 @@ namespace NKC_WF.WebUserControls
{ {
// scrivo valore revisione batch! // scrivo valore revisione batch!
hfCurrBunkRev.Value = ComLib.getSheetRevByBunk(BatchId).ToString(); hfCurrBunkRev.Value = ComLib.getSheetRevByBunk(BatchId).ToString();
fixTimer();
} }
} }
private void fixTimer()
{
int timerCss = memLayer.ML.CRI("timerCss");
TimerCss = timerCss > 0 ? timerCss : 500;
}
} }
} }
+65 -56
View File
@@ -1,71 +1,80 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <generato automaticamente> // <auto-generated>
// Codice generato da uno strumento. // This code was generated by a tool.
// //
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </generato automaticamente> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
{ {
public partial class cmp_MU_svgViewer public partial class cmp_MU_svgViewer
{ {
/// <summary> /// <summary>
/// Controllo hfBatchId. /// hfBatchId control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchId; protected global::System.Web.UI.WebControls.HiddenField hfBatchId;
/// <summary> /// <summary>
/// Controllo hfSheetId. /// hfSheetId control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfSheetId; protected global::System.Web.UI.WebControls.HiddenField hfSheetId;
/// <summary> /// <summary>
/// Controllo hfFilename. /// hfFilename control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfFilename; protected global::System.Web.UI.WebControls.HiddenField hfFilename;
/// <summary> /// <summary>
/// Controllo hfCurrRev. /// hfCurrRev control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfCurrRev; protected global::System.Web.UI.WebControls.HiddenField hfCurrRev;
/// <summary> /// <summary>
/// Controllo hfCurrBunkRev. /// hfCurrBunkRev control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfCurrBunkRev; protected global::System.Web.UI.WebControls.HiddenField hfCurrBunkRev;
/// <summary> /// <summary>
/// Controllo svgTable. /// hfTimerCss control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl svgTable; protected global::System.Web.UI.WebControls.HiddenField hfTimerCss;
}
/// <summary>
/// svgTable 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 svgTable;
}
} }
@@ -12,18 +12,6 @@ namespace NKC_WF.WebUserControls
{ {
#region Public Properties #region Public Properties
public string currPage
{
get
{
string url = HttpContext.Current.Request.Url.PathAndQuery;
if (url.Contains("?mach="))
{
url = url.Substring(0, url.IndexOf("?mach="));
}
return url;
}
}
public string MachineSel public string MachineSel
{ {
+13 -8
View File
@@ -14,20 +14,25 @@
<asp:HiddenField runat="server" ID="hfCss03" Value="secondary" /> <asp:HiddenField runat="server" ID="hfCss03" Value="secondary" />
<div class="row" runat="server" id="divSelect"> <div class="row" runat="server" id="divSelect">
<asp:DropDownList runat="server" ID="ddlMachine" CssClass="form-control" AutoPostBack="True" OnSelectedIndexChanged="ddlMachine_SelectedIndexChanged"> <div class="col-12">
<asp:ListItem Text="-- PLEASE SELECT ---" Value="" /> <asp:DropDownList runat="server" ID="ddlMachine" CssClass="form-control" AutoPostBack="True" OnSelectedIndexChanged="ddlMachine_SelectedIndexChanged">
<asp:ListItem Text="NE01" Value="NE01" /> <asp:ListItem Text="-- PLEASE SELECT ---" Value="" />
<asp:ListItem Text="NE02" Value="NE02" /> <asp:ListItem Text="NE01" Value="NE01" />
<asp:ListItem Text="NE03" Value="NE03" /> <asp:ListItem Text="NE02" Value="NE02" />
</asp:DropDownList> <asp:ListItem Text="NE03" Value="NE03" />
</asp:DropDownList>
</div>
</div> </div>
<asp:UpdatePanel runat="server" ID="upnlTitle" UpdateMode="Conditional"> <asp:UpdatePanel runat="server" ID="upnlTitle" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:Timer ID="timerLoad" runat="server" Interval="2000" OnTick="timerLoad_Tick"></asp:Timer> <asp:Timer ID="timerLoad" runat="server" OnTick="timerLoad_Tick"></asp:Timer>
<div class="row small py-0" runat="server" id="divRuntime"> <div class="row small py-0" runat="server" id="divRuntime">
<div class="col-2 pr-0"> <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 %>&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> <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 class="small">
<asp:Label runat="server" ID="lblUpdated" Text="---"></asp:Label>
</div>
</div> </div>
<div class="col-10"> <div class="col-10">
<div class="d-flex text-center"> <div class="d-flex text-center">
@@ -50,4 +55,4 @@
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
+113 -104
View File
@@ -9,7 +9,7 @@ using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
{ {
public partial class cmp_MachSem : BaseUserControl public partial class cmp_MachSem : BaseUserControl, IDisposable
{ {
#region Public Properties #region Public Properties
@@ -31,19 +31,6 @@ namespace NKC_WF.WebUserControls
} }
} }
public string currPage
{
get
{
string url = HttpContext.Current.Request.Url.PathAndQuery;
if (url.Contains("?mach="))
{
url = url.Substring(0, url.IndexOf("?mach="));
}
return url;
}
}
public bool machSelected public bool machSelected
{ {
get get
@@ -67,9 +54,110 @@ namespace NKC_WF.WebUserControls
} }
} }
#endregion Public Properties #endregion Public Properties
#region Public Methods
public override void Dispose()
{
timerLoad.Tick -= timerLoad_Tick;
timerLoad.Dispose();
base.Dispose();
}
public void doUpdate()
{
lblUpdated.Text = $"upd: {DateTime.Now:HH:mm:ss}";
// verifico status delle 3 parti e mostro relativo semaforo...
hfCode01.Value = "00";
hfCss01.Value = "secondary";
hfStat01.Value = "UNKNOWN";
hfCode02.Value = "00";
hfCss02.Value = "secondary";
hfStat02.Value = "UNKNOWN";
hfCode03.Value = "00";
hfCss03.Value = "secondary";
hfStat03.Value = "UNKNOWN";
if (!string.IsNullOrEmpty(currMachine))
{
// leggo da redis lo status
var currState = ComLib.prodMachStateDataGet(currMachine);
// traduco!
DS_App.StatusDecodeRow state01 = getState(currState, "PRINTER");
if (state01 != null)
{
hfCode01.Value = state01.Code;
hfCss01.Value = state01.Css;
hfStat01.Value = state01.Descript;
}
DS_App.StatusDecodeRow state02 = getState(currState, "NC_MACHINE");
if (state02 != null)
{
hfCode02.Value = state02.Code;
hfCss02.Value = state02.Css;
hfStat02.Value = state02.Descript;
}
DS_App.StatusDecodeRow state03 = getState(currState, "UNLOADER");
if (state03 != null)
{
hfCode03.Value = state03.Code;
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;
}
}
//upnlTitle.Update();
}
#endregion Public Methods
#region Protected Methods
protected void ddlMachine_SelectedIndexChanged(object sender, EventArgs e)
{
currMachine = ddlMachine.SelectedValue;
}
protected void lbtReset_Click(object sender, EventArgs e)
{
Response.Redirect(currPage);
}
protected void Page_Load(object sender, EventArgs e)
{
hfMachine.Value = currMachine;
checkVisibility();
lbtReset.DataBind();
if (!Page.IsPostBack)
{
setTimer();
doUpdate();
}
}
protected void timerLoad_Tick(object sender, EventArgs e)
{
doUpdate();
}
#endregion Protected Methods
#region Private Methods #region Private Methods
private void checkVisibility() private void checkVisibility()
@@ -107,95 +195,16 @@ namespace NKC_WF.WebUserControls
return thisState; return thisState;
} }
/// <summary>
/// imposta il tempo di scadenza del timer x il refresh del componente
/// </summary>
private void setTimer()
{
int timer = memLayer.ML.CRI("timerStatus");
timer = timer > 0 ? timer : 5000;
timerLoad.Interval = timer;
}
#endregion Private Methods #endregion Private Methods
#region Protected Methods
protected void ddlMachine_SelectedIndexChanged(object sender, EventArgs e)
{
currMachine = ddlMachine.SelectedValue;
}
protected void lbtReset_Click(object sender, EventArgs e)
{
Response.Redirect(currPage);
}
protected void Page_Load(object sender, EventArgs e)
{
hfMachine.Value = currMachine;
checkVisibility();
lbtReset.DataBind();
if (!Page.IsPostBack)
{
//// timer base x 1.5
//timerLoad.Interval = memLayer.ML.confReadInt("intUpdatePagina_ms") * 15 / 10;
doUpdate();
}
}
protected void timerLoad_Tick(object sender, EventArgs e)
{
doUpdate();
}
#endregion Protected Methods
#region Public Methods
public void doUpdate()
{
// verifico status delle 3 parti e mostro relativo semaforo...
hfCode01.Value = "00";
hfCss01.Value = "secondary";
hfStat01.Value = "UNKNOWN";
hfCode02.Value = "00";
hfCss02.Value = "secondary";
hfStat02.Value = "UNKNOWN";
hfCode03.Value = "00";
hfCss03.Value = "secondary";
hfStat03.Value = "UNKNOWN";
// leggo da redis lo status
var currState = ComLib.prodMachStateDataGet(currMachine);
// traduco!
DS_App.StatusDecodeRow state01 = getState(currState, "PRINTER");
if (state01 != null)
{
hfCode01.Value = state01.Code;
hfCss01.Value = state01.Css;
hfStat01.Value = state01.Descript;
}
DS_App.StatusDecodeRow state02 = getState(currState, "NC_MACHINE");
if (state02 != null)
{
hfCode02.Value = state02.Code;
hfCss02.Value = state02.Css;
hfStat02.Value = state02.Descript;
}
DS_App.StatusDecodeRow state03 = getState(currState, "UNLOADER");
if (state03 != null)
{
hfCode03.Value = state03.Code;
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
} }
} }
+9
View File
@@ -193,5 +193,14 @@ namespace NKC_WF.WebUserControls
/// To modify move field declaration from designer file to code-behind file. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnLiveKo; protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnLiveKo;
/// <summary>
/// lblUpdated 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 lblUpdated;
} }
} }
@@ -0,0 +1,31 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_OrderSearch.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_OrderSearch" %>
<asp:GridView runat="server" ID="grView" DataSourceID="odsSearch" AllowPaging="True" AutoGenerateColumns="False" CssClass="table table-striped table-sm table-condensed" OnPageIndexChanged="grView_PageIndexChanged" PageSize="10">
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<SelectedRowStyle CssClass="table-info" />
<EmptyDataTemplate>
<%: traduci("NoRecord") %>
</EmptyDataTemplate>
<Columns>
<asp:BoundField DataField="OrderExtCode" HeaderText="Order Code" SortExpression="ErrType" />
<asp:BoundField DataField="MODEL" HeaderText="Model" SortExpression="ParentUid" />
<asp:BoundField DataField="MRP_PART" HeaderText="MRP Part Code" SortExpression="Uid" />
<asp:BoundField DataField="FRAME_QTY" HeaderText="Frame qty" SortExpression="Uid" />
<asp:BoundField DataField="Qty" HeaderText="Part Qty" SortExpression="Uid" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="odsSearch" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="AppData.DS_AppTableAdapters.OrderSearchTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="hfCodOrder" DefaultValue="*" Name="CodOrder" PropertyName="Value" Type="String" />
<asp:ControlParameter ControlID="hfCodModel" DefaultValue="*" Name="CodModel" PropertyName="Value" Type="String" />
<asp:ControlParameter ControlID="hfCodPart" DefaultValue="*" Name="CodPart" PropertyName="Value" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:HiddenField ID="hfCodOrder" runat="server" />
<asp:HiddenField ID="hfCodModel" runat="server" />
<asp:HiddenField ID="hfCodPart" runat="server" />
@@ -0,0 +1,98 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class cmp_OrderSearch : BaseUserControl
{
#region Public Properties
/// <summary>
/// Filtraggio x Modello
/// </summary>
public string CodModel
{
get
{
return hfCodModel.Value;
}
set
{
if (hfCodModel.Value != value)
{
hfCodModel.Value = value;
grView.DataBind();
}
}
}
/// <summary>
/// Filtraggio x Ordine
/// </summary>
public string CodOrder
{
get
{
return hfCodOrder.Value;
}
set
{
if (hfCodOrder.Value != value)
{
hfCodOrder.Value = value;
grView.DataBind();
}
}
}
/// <summary>
/// Filtraggio x Part
/// </summary>
public string CodPart
{
get
{
return hfCodPart.Value;
}
set
{
if (hfCodPart.Value != value)
{
hfCodPart.Value = value;
grView.DataBind();
}
}
}
public int numRow
{
get
{
return grView.PageSize;
}
set
{
grView.PageSize = value;
}
}
protected void grView_PageIndexChanged(object sender, EventArgs e)
{
//checkFixOds();
}
#endregion Public Properties
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods
}
}
+62
View File
@@ -0,0 +1,62 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// 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_OrderSearch
{
/// <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>
/// odsSearch 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 odsSearch;
/// <summary>
/// hfCodOrder 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 hfCodOrder;
/// <summary>
/// hfCodModel 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 hfCodModel;
/// <summary>
/// hfCodPart 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 hfCodPart;
}
}
@@ -14,15 +14,6 @@
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
//var prm = Sys.WebForms.PageRequestManager.getInstance();
//prm.add_pageLoaded(pageLoaded);
//function pageLoaded(sender, args) {
// console.log('pageLoaded!');
// // chiamo recupero dati + plot della TS e dell'Histogram
// plotTS();
//}
// funzione eseguita se successo al caricamento // funzione eseguita se successo al caricamento
function OnSuccess_(reponse) { function OnSuccess_(reponse) {
+26 -9
View File
@@ -127,6 +127,8 @@ namespace NKC_WF.WebUserControls
{ {
resetInput(); resetInput();
resetMessage(); resetMessage();
setTimer();
test4reload();
} }
else if (string.IsNullOrEmpty(inputAcquired)) else if (string.IsNullOrEmpty(inputAcquired))
{ {
@@ -147,14 +149,7 @@ namespace NKC_WF.WebUserControls
protected void UiTimer_Tick(object sender, EventArgs e) protected void UiTimer_Tick(object sender, EventArgs e)
{ {
// controllo, se ultima operazione > smartForceReloadPagina_ms --> reload! test4reload();
var tsLastUpdate = DateTime.Now.Subtract(lastDtInput);
if (tsLastUpdate.TotalMilliseconds > memLayer.ML.confReadInt("smartForceReloadPagina_ms"))
{
lgInfo($"cmp_barcode | Reload page for timeout: {tsLastUpdate.TotalSeconds} sec from last update");
inputAcquired = "##";
Response.Redirect(Request.RawUrl);
}
} }
#endregion Protected Methods #endregion Protected Methods
@@ -182,10 +177,32 @@ namespace NKC_WF.WebUserControls
{ {
resetInput(); resetInput();
} }
} }
resetInput(); resetInput();
} }
/// <summary>
/// imposta il tempo di scadenza del timer x il refresh del componente
/// </summary>
private void setTimer()
{
int timer = memLayer.ML.CRI("timerBarcode");
timer = timer > 0 ? timer : 10000;
UiTimer.Interval = timer;
}
private void test4reload()
{
// controllo, se ultima operazione > smartForceReloadPagina_ms --> reload!
var tsLastUpdate = DateTime.Now.Subtract(lastDtInput);
if (tsLastUpdate.TotalMilliseconds > memLayer.ML.CRI("smartForceReloadPagina_ms"))
{
lgInfo($"cmp_barcode | Reload page for timeout: {tsLastUpdate.TotalSeconds} sec from last update");
inputAcquired = "##";
Response.Redirect(Request.RawUrl);
}
}
#endregion Private Methods #endregion Private Methods
} }
} }
+9 -8
View File
@@ -13,29 +13,29 @@
<asp:LinkButton runat="server" ID="lbtAccept" CssClass="btn btn-sm btn-block btn-success" <asp:LinkButton runat="server" ID="lbtAccept" CssClass="btn btn-sm btn-block btn-success"
OnClick="lbtAccept_Click" OnClick="lbtAccept_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmAcceptNest") %>' OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmAcceptNest") %>'
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestDone) && !checkType(Eval("BatchType"), NKC_SDK.BatchType.Descendant) %>'><%# traduci("AcceptNest") %></asp:LinkButton> Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestDone) && !checkType(Eval("BatchType"), NKC_SDK.BatchType.Descendant) && BtnActEnab %>'><%# traduci("AcceptNest") %></asp:LinkButton>
</div> </div>
<div class="col-3"> <div class="col-3">
<asp:LinkButton runat="server" ID="lbtSendEstim" CssClass="btn btn-sm btn-block btn-info" <asp:LinkButton runat="server" ID="lbtSendEstim" CssClass="btn btn-sm btn-block btn-info"
OnClick="lbtSendEstim_Click" OnClick="lbtSendEstim_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStartEstim") %>' OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStartEstim") %>'
Visible='<%# (checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Imported) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Errors) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.ErrorsOnEstim) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.ErrorsOnNesting)) && canStartNew %>'><%# traduci("SendToEstim") %></asp:LinkButton> Visible='<%# (checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Imported) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Errors) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.ErrorsOnEstim) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.ErrorsOnNesting)) && canStartNew && BtnActEnab %>'><%# traduci("SendToEstim") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtStopEstim" CssClass="btn btn-sm btn-block btn-dark" <asp:LinkButton runat="server" ID="lbtStopEstim" CssClass="btn btn-sm btn-block btn-dark"
OnClick="lbtStopEstim_Click" OnClick="lbtStopEstim_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStopEstim") %>' OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStopEstim") %>'
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationRequested) %>'><%# traduci("StopEstim") %></asp:LinkButton> Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationRequested) && BtnActEnab %>'><%# traduci("StopEstim") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtSendNesting" CssClass="btn btn-sm btn-block btn-warning" <asp:LinkButton runat="server" ID="lbtSendNesting" CssClass="btn btn-sm btn-block btn-warning"
OnClick="lbtSendNesting_Click" OnClick="lbtSendNesting_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStartNest") %>' OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStartNest") %>'
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationDone) && !checkType(Eval("BatchType"), NKC_SDK.BatchType.Descendant) && canStartNew && isSplitted %>'><%# traduci("SendToNest") %></asp:LinkButton> Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationDone) && !checkType(Eval("BatchType"), NKC_SDK.BatchType.Descendant) && canStartNew && isSplitted && BtnActEnab %>'><%# traduci("SendToNest") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtStopNesting" CssClass="btn btn-sm btn-block btn-dark" <asp:LinkButton runat="server" ID="lbtStopNesting" CssClass="btn btn-sm btn-block btn-dark"
OnClick="lbtStopNesting_Click" OnClick="lbtStopNesting_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStopNest") %>' OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStopNest") %>'
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestRequested) %>'><%# traduci("StopNest") %></asp:LinkButton> Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestRequested) && BtnActEnab %>'><%# traduci("StopNest") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtResetNest" CssClass="btn btn-sm btn-block btn-warning" <asp:LinkButton runat="server" ID="lbtResetNest" CssClass="btn btn-sm btn-block btn-warning"
OnClick="lbtResetNest_Click" OnClick="lbtResetNest_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmResetNest") %>' OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmResetNest") %>'
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestDone) && !checkType(Eval("BatchType"), NKC_SDK.BatchType.Descendant) %>'><%# traduci("ResetNest") %></asp:LinkButton> Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestDone) && !checkType(Eval("BatchType"), NKC_SDK.BatchType.Descendant) && BtnActEnab %>'><%# traduci("ResetNest") %></asp:LinkButton>
</div> </div>
<div class="col-12"> <div class="col-12">
<div class="row"> <div class="row">
@@ -75,6 +75,7 @@
</div> </div>
</ItemTemplate> </ItemTemplate>
</asp:FormView> </asp:FormView>
<asp:CheckBox runat="server" ID="chkActEnab" Checked="true" Visible="false" />
<asp:HiddenField ID="hfBatchId" runat="server" /> <asp:HiddenField ID="hfBatchId" runat="server" />
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByKey" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter"> <asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByKey" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter">
<SelectParameters> <SelectParameters>
@@ -83,5 +84,5 @@
</asp:ObjectDataSource> </asp:ObjectDataSource>
<uc1:cmp_batchDetailMongo runat="server" ID="cmp_batchDetailMongo" showInline="true" /> <uc1:cmp_batchDetailMongo runat="server" ID="cmp_batchDetailMongo" showInline="true" />
<div runat="server" id="divSplit"> <div runat="server" id="divSplit">
<uc1:cmp_batchDetailSplit runat="server" ID="cmp_batchDetailSplit" /> <uc1:cmp_batchDetailSplit runat="server" ID="cmp_batchDetailSplit" BtnEnabled='<%# BtnActEnab %>' />
</div> </div>
+22 -1
View File
@@ -29,6 +29,22 @@ namespace NKC_WF.WebUserControls
} }
} }
/// <summary>
/// Abilitazione azioni button-based
/// </summary>
public bool BtnActEnab
{
get
{
return chkActEnab.Checked;
}
set
{
chkActEnab.Checked = value;
}
}
/// <summary> /// <summary>
/// verifica possibilità avvio TASK x presenza task NON chiusi /// verifica possibilità avvio TASK x presenza task NON chiusi
/// </summary> /// </summary>
@@ -156,7 +172,7 @@ namespace NKC_WF.WebUserControls
DLMan.taEL.deteteByParent("", bRow.EnvNum); DLMan.taEL.deteteByParent("", bRow.EnvNum);
// cerco se ci siano batch descendant... // cerco se ci siano batch descendant...
var childBatch = DLMan.taBL.getDescendByKey(BatchId); var childBatch = DLMan.taBL.getDescendByKey(BatchId);
if(childBatch!=null && childBatch.Count>0) if (childBatch != null && childBatch.Count > 0)
{ {
foreach (var item in childBatch) foreach (var item in childBatch)
{ {
@@ -280,6 +296,11 @@ namespace NKC_WF.WebUserControls
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
if (!Page.IsPostBack)
{
// sistemo buttons
cmp_batchDetailSplit.BtnEnabled = BtnActEnab;
}
cmp_batchDetailSplit.eh_doReset += Cmp_batchDetailSplit_eh_doReset; cmp_batchDetailSplit.eh_doReset += Cmp_batchDetailSplit_eh_doReset;
} }
+9
View File
@@ -23,6 +23,15 @@ namespace NKC_WF.WebUserControls
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.FormView frmView; protected global::System.Web.UI.WebControls.FormView frmView;
/// <summary>
/// chkActEnab 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.CheckBox chkActEnab;
/// <summary> /// <summary>
/// hfBatchId control. /// hfBatchId control.
/// </summary> /// </summary>
@@ -3,7 +3,9 @@
<div class="row small text-dark text-left"> <div class="row small text-dark text-left">
<div class='<%: cssSized %>'> <div class='<%: cssSized %>'>
<div class="form-group my-0 row"> <div class="form-group my-0 row">
<label for="TotalTimeLabel" class="col-4">Mat OEE</label> <label for="TotalTimeLabel" class="col-4">
Mat OEE
<asp:CheckBox runat="server" ID="chkExcludeMin" Checked="true" Text="All Sheets" OnCheckedChanged="chkExcludeMin_CheckedChanged" /></label>
<div class="col-8 font-weight-bold"> <div class="col-8 font-weight-bold">
<asp:Label runat="server" ID="lblMatDet" /> <asp:Label runat="server" ID="lblMatDet" />
</div> </div>
@@ -17,7 +19,7 @@
</div> </div>
</div> </div>
</div> </div>
<div runat="server" id="divDetJson" class="col-12" Style="height: 12rem; overflow-y: scroll;" > <div runat="server" id="divDetJson" class="col-12" style="height: 12rem; overflow-y: scroll;">
<asp:Label runat="server" ID="lblTestJson" /> <asp:Label runat="server" ID="lblTestJson" />
</div> </div>
</div> </div>
@@ -60,15 +60,19 @@ namespace NKC_WF.WebUserControls
#region Private Methods #region Private Methods
private void updateMongoData(int value) /// <summary>
/// Aggiorna i dati di stima recuperando da Mongo le risposte complete dal supervisor
/// </summary>
/// <param name="batchId">BatchId di cui recuperare le info</param>
private void updateMongoData(int batchId)
{ {
lblMatDet.Text = ""; lblMatDet.Text = "";
lblProdDet.Text = ""; lblProdDet.Text = "";
if (memLayer.ML.CRB("enableMongo")) if (memLayer.ML.CRB("enableMongo"))
{ {
// cerco da lista salvataggi Estim/Nest... // cerco da lista salvataggi Estim/Nest...
var estimAnsw = ComLib.man.getEstAnsw(value); var estimAnsw = ComLib.man.getEstAnsw(batchId);
var nestAnsw = ComLib.man.getNestAnsw(value); var nestAnsw = ComLib.man.getNestAnsw(batchId);
StringBuilder sbDebug = new StringBuilder(); StringBuilder sbDebug = new StringBuilder();
sbDebug.AppendLine("Debug Info:"); sbDebug.AppendLine("Debug Info:");
// elenchi x ricerca duplicati // elenchi x ricerca duplicati
@@ -188,11 +192,15 @@ namespace NKC_WF.WebUserControls
{ {
// ordino le medie // ordino le medie
workRatio.Sort(); workRatio.Sort();
// controllo di averne + di 1... // filtro i valori + bassi solo se richiesto in conf
if (workRatio.Count > materialsList.Count * 2) if (!chkExcludeMin.Checked)
{ {
// elimino le + basse quanti materiali ci sono... // controllo di averne + di 1...
workRatio.RemoveRange(0, materialsList.Count); if (workRatio.Count > materialsList.Count * 2)
{
// elimino le + basse quanti materiali ci sono...
workRatio.RemoveRange(0, materialsList.Count);
}
} }
double avgRatio = workRatio.Average(); double avgRatio = workRatio.Average();
double minRatio = workRatio.Min(); double minRatio = workRatio.Min();
@@ -260,5 +268,10 @@ namespace NKC_WF.WebUserControls
} }
#endregion Protected Methods #endregion Protected Methods
protected void chkExcludeMin_CheckedChanged(object sender, EventArgs e)
{
updateMongoData(BatchId);
}
} }
} }
@@ -14,6 +14,15 @@ namespace NKC_WF.WebUserControls
public partial class cmp_batchDetailMongo public partial class cmp_batchDetailMongo
{ {
/// <summary>
/// chkExcludeMin 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.CheckBox chkExcludeMin;
/// <summary> /// <summary>
/// lblMatDet control. /// lblMatDet control.
/// </summary> /// </summary>
@@ -8,16 +8,31 @@
<asp:HiddenField runat="server" ID="hfEnabled01" /> <asp:HiddenField runat="server" ID="hfEnabled01" />
<asp:HiddenField runat="server" ID="hfEnabled02" /> <asp:HiddenField runat="server" ID="hfEnabled02" />
<asp:HiddenField runat="server" ID="hfEnabled03" /> <asp:HiddenField runat="server" ID="hfEnabled03" />
<asp:HiddenField runat="server" ID="hfCodEnabPrev" />
<div class="card"> <div class="card">
<div class="card-header text-center"> <div class="card-header text-center">
<div class="row"> <div class="row">
<div class="col-4"></div> <div class="col-4">
<asp:Label runat="server" ID="lblWarnChange" Visible='<%# enabIsChanged %>'><i class="fa fa-exclamation-triangle fa-2x text-warning" aria-hidden="true"></i> Split Needed?</asp:Label>
<asp:CheckBox runat="server" ID="chkActEnab" Checked="true" Visible="false" />
</div>
<div class="col-4"> <div class="col-4">
<asp:LinkButton runat="server" ID="lbtBalance" CssClass="btn btn-success btn-block" OnClick="lbtBalance_Click" ToolTip="Balance on active Machines"> <asp:LinkButton runat="server" ID="lbtBalance" CssClass="btn btn-success btn-block" OnClick="lbtBalance_Click" ToolTip="Balance on active Machines">
<b><%: traduci("BatchSplit") %></b> <i class="fa fa-balance-scale" aria-hidden="true"></i> <b><%: traduci("BatchSplit") %></b> <i class="fa fa-balance-scale" aria-hidden="true"></i>
</asp:LinkButton> </asp:LinkButton>
</div> </div>
<div class="col-4"></div> <div class="col-4">
<asp:Label runat="server" ID="lblSplitRequest"><i class="fa fa-exclamation-triangle fa-2x text-danger" aria-hidden="true"></i> Something went wrong: rebalance!</asp:Label>
</div>
<div id="divError" runat="server" class="col-12 alert alert-warning" visible="false">
<div class="fs-2 text-danger">
<asp:Label ID="lblError" runat="server" CssClass="font-weight-bold" />
</div>
<div class="small text-danger">
<asp:Label ID="lblErrorDetail" runat="server" CssClass="font-weight-bold" />
</div>
</div>
</div> </div>
</div> </div>
<div class="card-body p-1"> <div class="card-body p-1">
@@ -43,7 +58,7 @@
<asp:Label runat="server" ID="lblRat01" CssClass="form-control text-right"></asp:Label> <asp:Label runat="server" ID="lblRat01" CssClass="form-control text-right"></asp:Label>
<div class="input-group-append"> <div class="input-group-append">
<asp:LinkButton runat="server" ID="lbtOrdAdd01" CssClass="btn btn-dark" OnClick="lbtOrdAdd_Click" CommandArgument="NE01" ToolTip="Add 1"><i class="fa fa-plus" aria-hidden="true"></i></asp:LinkButton> <asp:LinkButton runat="server" ID="lbtOrdAdd01" CssClass="btn btn-dark" OnClick="lbtOrdAdd_Click" CommandArgument="NE01" ToolTip="Add 1"><i class="fa fa-plus" aria-hidden="true"></i></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtOrdAddAll01" CssClass="btn btn-success" OnClick="lbtOrdAddAll_Click" CommandArgument="NE01" ToolTip="Add All"><i class="fa fa-star" aria-hidden="true"></i></asp:LinkButton> <asp:LinkButton runat="server" ID="lbtOrdAddAll01" CssClass="btn btn-success" OnClick="lbtOrdAddAll_Click" CommandArgument="NE01" ToolTip="Add All"><i class="fa fa-star" aria-hidden="true" ></i></asp:LinkButton>
</div> </div>
</div> </div>
</div> </div>
@@ -36,6 +36,26 @@ namespace NKC_WF.WebUserControls
} }
} }
public bool enabIsChanged
{
get => codEnabled != codEnabledPrev;
}
/// <summary>
/// Abilitazione azioni button-based
/// </summary>
public bool BtnEnabled
{
get
{
return chkActEnab.Checked;
}
set
{
chkActEnab.Checked = value;
}
}
public bool isSplitted public bool isSplitted
{ {
get get
@@ -122,6 +142,20 @@ namespace NKC_WF.WebUserControls
} }
} }
protected int numKitBatchAncestor
{
get
{
int answ = 0;
if (BatchIsAncestor)
{
DS_App.KitListDataTable tabNeVirt = ComLib.KitListByBatch(BatchId);
answ = tabNeVirt.Count();
}
return answ;
}
}
protected int numOrd01 protected int numOrd01
{ {
get get
@@ -155,6 +189,20 @@ namespace NKC_WF.WebUserControls
} }
} }
protected int numOrdBatchAncestor
{
get
{
int answ = 0;
if (BatchIsAncestor)
{
DS_App.OrderListTreeDataTable tabNeVirt = ComLib.OrdersExtByBatch(BatchId);
answ = tabNeVirt.Count();
}
return answ;
}
}
/// <summary> /// <summary>
/// Tabella dei batch Descendant di quello corrente /// Tabella dei batch Descendant di quello corrente
/// </summary> /// </summary>
@@ -331,12 +379,26 @@ namespace NKC_WF.WebUserControls
protected void lbtBalance_Click(object sender, EventArgs e) protected void lbtBalance_Click(object sender, EventArgs e)
{ {
divError.Visible = false;
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
// imposto la % secondo numero di abilitati... // imposto la % secondo numero di abilitati...
Ratio01 = enable01 ? (double)(100 / numEnabled) / 100 : 0; Ratio01 = enable01 ? (double)(100 / numEnabled) / 100 : 0;
Ratio02 = enable02 ? (double)(100 / numEnabled) / 100 : 0; Ratio02 = enable02 ? (double)(100 / numEnabled) / 100 : 0;
Ratio03 = enable03 ? (double)(100 / numEnabled) / 100 : 0; Ratio03 = enable03 ? (double)(100 / numEnabled) / 100 : 0;
Log.Instance.Info($"Rebalance requested (click) | numEnabled: {numEnabled} | R01: {Ratio01:P1} | R02: {Ratio02:P1} | R03: {Ratio03:P1}"); Log.Instance.Info($"Rebalance requested (click) | numEnabled: {numEnabled} | R01: {Ratio01:P1} | R02: {Ratio02:P1} | R03: {Ratio03:P1}");
bool fatto = RebalanceOrder(); bool fatto = RebalanceOrder();
// 2024.12.13 eseguo riassegnazione kit a macchine come OLT...
if (BatchIsAncestor)
{
// effettuo VERA ri-assegnazione ordini/kit a nuovi batch
DLMan.taOLT.setBatchSplit(BatchId, true);
}
// svuoto cache redis per i calcoli...
ComLib.OrdersExtResetCache();
doUpdate(true); doUpdate(true);
lbtBalance.Focus(); lbtBalance.Focus();
string message = fatto ? "Balance done" : "Balance task error!"; string message = fatto ? "Balance done" : "Balance task error!";
@@ -352,6 +414,8 @@ namespace NKC_WF.WebUserControls
{ {
string CodMac = ((LinkButton)sender).CommandArgument; string CodMac = ((LinkButton)sender).CommandArgument;
moveOrderByCodMac(CodMac, true); moveOrderByCodMac(CodMac, true);
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
} }
/// <summary> /// <summary>
@@ -363,6 +427,8 @@ namespace NKC_WF.WebUserControls
{ {
string CodMac = ((LinkButton)sender).CommandArgument; string CodMac = ((LinkButton)sender).CommandArgument;
moveAllOrderFromMac(CodMac, true); moveAllOrderFromMac(CodMac, true);
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
} }
/// <summary> /// <summary>
@@ -374,6 +440,8 @@ namespace NKC_WF.WebUserControls
{ {
string CodMac = ((LinkButton)sender).CommandArgument; string CodMac = ((LinkButton)sender).CommandArgument;
moveOrderByCodMac(CodMac, false); moveOrderByCodMac(CodMac, false);
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
} }
/// <summary> /// <summary>
@@ -385,29 +453,43 @@ namespace NKC_WF.WebUserControls
{ {
string CodMac = ((LinkButton)sender).CommandArgument; string CodMac = ((LinkButton)sender).CommandArgument;
moveAllOrderFromMac(CodMac, false); moveAllOrderFromMac(CodMac, false);
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
} }
protected void lbtToggle01_Click(object sender, EventArgs e) protected void lbtToggle01_Click(object sender, EventArgs e)
{ {
enable01 = !enable01; // controllo che ce ne sia ALMENO un altro attivo
checkDisplayMode(); if (enable01 && numEnabled > 1 || !enable01)
fixEnabled(); {
enable01 = !enable01;
checkDisplayMode();
fixEnabled();
}
lbtToggle01.Focus(); lbtToggle01.Focus();
} }
protected void lbtToggle02_Click(object sender, EventArgs e) protected void lbtToggle02_Click(object sender, EventArgs e)
{ {
enable02 = !enable02; // controllo che ce ne sia ALMENO un altro attivo
checkDisplayMode(); if (enable02 && numEnabled > 1 || !enable02)
fixEnabled(); {
enable02 = !enable02;
checkDisplayMode();
fixEnabled();
}
lbtToggle02.Focus(); lbtToggle02.Focus();
} }
protected void lbtToggle03_Click(object sender, EventArgs e) protected void lbtToggle03_Click(object sender, EventArgs e)
{ {
enable03 = !enable03; // controllo che ce ne sia ALMENO un altro attivo
checkDisplayMode(); if (enable03 && numEnabled > 1 || !enable03)
fixEnabled(); {
enable03 = !enable03;
checkDisplayMode();
fixEnabled();
}
lbtToggle03.Focus(); lbtToggle03.Focus();
} }
@@ -417,10 +499,14 @@ namespace NKC_WF.WebUserControls
{ {
// verifica visualizzazione // verifica visualizzazione
toggleAll(true); toggleAll(true);
codEnabledPrev = codEnabled;
fixChildBatch(); fixChildBatch();
fixRatio(); fixRatio();
checkDisplayMode(); checkDisplayMode();
fixEnabled(); fixEnabled();
divError.Visible = false;
// 2024.12.13: controllo che NON ci siano ordini o kit sul batch ancestor
lblSplitRequest.Visible = (numKitBatchAncestor + numOrdBatchAncestor) > 0;
} }
cmp_orderExtListNE01.eh_doRefresh += Cmp_orderExtListNE01_eh_doRefresh; cmp_orderExtListNE01.eh_doRefresh += Cmp_orderExtListNE01_eh_doRefresh;
cmp_orderExtListNE02.eh_doRefresh += Cmp_orderExtListNE02_eh_doRefresh; cmp_orderExtListNE02.eh_doRefresh += Cmp_orderExtListNE02_eh_doRefresh;
@@ -431,6 +517,32 @@ namespace NKC_WF.WebUserControls
#region Private Properties #region Private Properties
private int codEnabled
{
get
{
int answ = 0;
answ += enable01 ? 100 : 0;
answ += enable02 ? 10 : 0;
answ += enable03 ? 1 : 0;
return answ;
}
}
private int codEnabledPrev
{
get
{
int answ = 0;
int.TryParse(hfCodEnabPrev.Value, out answ);
return answ;
}
set
{
hfCodEnabPrev.Value = $"{value}";
}
}
private bool enable01 private bool enable01
{ {
get get
@@ -516,7 +628,7 @@ namespace NKC_WF.WebUserControls
/// </summary> /// </summary>
private void checkDisplayMode() private void checkDisplayMode()
{ {
var splitEnab = (BatchIsAncestor && CurrBatchStatus <= BatchStatus.EstimationDone && numEnabled > 0); var splitEnab = BtnEnabled && (BatchIsAncestor && CurrBatchStatus <= BatchStatus.EstimationDone && numEnabled > 0);
// se non suddiviso --> indico rosso! // se non suddiviso --> indico rosso!
double tmpTime = totTime01 + totTime02 + totTime03; double tmpTime = totTime01 + totTime02 + totTime03;
string baseCssClass = "btn btn-success btn-block"; string baseCssClass = "btn btn-success btn-block";
@@ -537,6 +649,18 @@ namespace NKC_WF.WebUserControls
cmp_batchDetailSplitInfoNE01.Visible = !splitEnab; cmp_batchDetailSplitInfoNE01.Visible = !splitEnab;
cmp_batchDetailSplitInfoNE02.Visible = !splitEnab; cmp_batchDetailSplitInfoNE02.Visible = !splitEnab;
cmp_batchDetailSplitInfoNE03.Visible = !splitEnab; cmp_batchDetailSplitInfoNE03.Visible = !splitEnab;
// controlo il batch sia ancestor e NON abbia ordini associati...
if (BatchIsAncestor)
{
// 2024.12.13: controllo che NON ci siano ordini o kit sul batch ancestor
bool hasErrors = (numKitBatchAncestor + numOrdBatchAncestor) > 0;
lblSplitRequest.Visible = hasErrors;
if (hasErrors)
{
lbtBalance.CssClass = "btn btn-danger btn-block";
isSplitted = false;
}
}
} }
private void Cmp_orderExtListNE01_eh_doRefresh(object sender, EventArgs e) private void Cmp_orderExtListNE01_eh_doRefresh(object sender, EventArgs e)
@@ -565,16 +689,6 @@ namespace NKC_WF.WebUserControls
int origOrdId = cmp_orderExtListNE03.SelOrderId; int origOrdId = cmp_orderExtListNE03.SelOrderId;
moveOrderById(batchId, origBatchId, origOrdId); moveOrderById(batchId, origBatchId, origOrdId);
} }
/// <summary>
/// Toggle generale pulsanti
/// </summary>
/// <param name="enable"></param>
private void toggleAll(bool enable)
{
enable01 = enable;
enable02 = enable;
enable03 = enable;
}
private void fixChildBatch() private void fixChildBatch()
{ {
@@ -603,30 +717,35 @@ namespace NKC_WF.WebUserControls
private void fixEnabled() private void fixEnabled()
{ {
lbtToggle01.CssClass = enable01 ? "btn btn-sm btn-primary" : "btn btn-sm btn-secondary"; lbtToggle01.Enabled = BtnEnabled;
lbtToggle02.CssClass = enable02 ? "btn btn-sm btn-primary" : "btn btn-sm btn-secondary"; lbtToggle02.Enabled = BtnEnabled;
lbtToggle03.CssClass = enable03 ? "btn btn-sm btn-primary" : "btn btn-sm btn-secondary"; lbtToggle03.Enabled = BtnEnabled;
lbtOrdAdd01.CssClass = movEnabled && enable01 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled"; lblWarnChange.Visible = enabIsChanged;
lbtOrdAdd02.CssClass = movEnabled && enable02 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled"; string secCss = BtnEnabled ? "btn btn-sm btn-secondary" : "btn btn-sm btn-secondary disabled";
lbtOrdAdd03.CssClass = movEnabled && enable03 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled"; lbtToggle01.CssClass = BtnEnabled && enable01 ? "btn btn-sm btn-primary" : secCss;
lbtOrdRem01.CssClass = movEnabled && enable01 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled"; lbtToggle02.CssClass = BtnEnabled && enable02 ? "btn btn-sm btn-primary" : secCss;
lbtOrdRem02.CssClass = movEnabled && enable02 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled"; lbtToggle03.CssClass = BtnEnabled && enable03 ? "btn btn-sm btn-primary" : secCss;
lbtOrdRem03.CssClass = movEnabled && enable03 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled"; lbtOrdAdd01.CssClass = BtnEnabled && movEnabled && enable01 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRemAll01.CssClass = movEnabled && enable01 ? "btn btn-primary" : "btn btn-secondary disabled"; lbtOrdAdd02.CssClass = BtnEnabled && movEnabled && enable02 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRemAll02.CssClass = movEnabled && enable02 ? "btn btn-primary" : "btn btn-secondary disabled"; lbtOrdAdd03.CssClass = BtnEnabled && movEnabled && enable03 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRemAll03.CssClass = movEnabled && enable03 ? "btn btn-primary" : "btn btn-secondary disabled"; lbtOrdRem01.CssClass = BtnEnabled && movEnabled && enable01 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled";
lbtOrdAddAll01.CssClass = movEnabled && enable01 ? "btn btn-primary" : "btn btn-secondary disabled"; lbtOrdRem02.CssClass = BtnEnabled && movEnabled && enable02 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled";
lbtOrdAddAll02.CssClass = movEnabled && enable02 ? "btn btn-primary" : "btn btn-secondary disabled"; lbtOrdRem03.CssClass = BtnEnabled && movEnabled && enable03 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled";
lbtOrdAddAll03.CssClass = movEnabled && enable03 ? "btn btn-primary" : "btn btn-secondary disabled"; lbtOrdRemAll01.CssClass = BtnEnabled && movEnabled && enable01 ? "btn btn-primary" : "btn btn-secondary disabled";
cmp_orderExtListNE01.enableMove = enable01 && movEnabled; lbtOrdRemAll02.CssClass = BtnEnabled && movEnabled && enable02 ? "btn btn-primary" : "btn btn-secondary disabled";
cmp_orderExtListNE02.enableMove = enable02 && movEnabled; lbtOrdRemAll03.CssClass = BtnEnabled && movEnabled && enable03 ? "btn btn-primary" : "btn btn-secondary disabled";
cmp_orderExtListNE03.enableMove = enable03 && movEnabled; lbtOrdAddAll01.CssClass = BtnEnabled && movEnabled && enable01 ? "btn btn-primary" : "btn btn-secondary disabled";
lbtOrdAddAll02.CssClass = BtnEnabled && movEnabled && enable02 ? "btn btn-primary" : "btn btn-secondary disabled";
lbtOrdAddAll03.CssClass = BtnEnabled && movEnabled && enable03 ? "btn btn-primary" : "btn btn-secondary disabled";
cmp_orderExtListNE01.enableMove = BtnEnabled && enable01 && movEnabled;
cmp_orderExtListNE02.enableMove = BtnEnabled && enable02 && movEnabled;
cmp_orderExtListNE03.enableMove = BtnEnabled && enable03 && movEnabled;
divHeadNe01.Attributes.Remove("class"); divHeadNe01.Attributes.Remove("class");
divHeadNe02.Attributes.Remove("class"); divHeadNe02.Attributes.Remove("class");
divHeadNe03.Attributes.Remove("class"); divHeadNe03.Attributes.Remove("class");
divHeadNe01.Attributes.Add("class", enable01 ? "card-header bg-dark text-light py-1" : "card-header py-1"); divHeadNe01.Attributes.Add("class", BtnEnabled && enable01 ? "card-header bg-dark text-light py-1" : "card-header py-1");
divHeadNe02.Attributes.Add("class", enable02 ? "card-header bg-dark text-light py-1" : "card-header py-1"); divHeadNe02.Attributes.Add("class", BtnEnabled && enable02 ? "card-header bg-dark text-light py-1" : "card-header py-1");
divHeadNe03.Attributes.Add("class", enable03 ? "card-header bg-dark text-light py-1" : "card-header py-1"); divHeadNe03.Attributes.Add("class", BtnEnabled && enable03 ? "card-header bg-dark text-light py-1" : "card-header py-1");
} }
private void fixRatio() private void fixRatio()
@@ -709,6 +828,12 @@ namespace NKC_WF.WebUserControls
DLMan.taOLT.updateBatch(batchOrigId, ordine.OrdID, batchDestId); DLMan.taOLT.updateBatch(batchOrigId, ordine.OrdID, batchDestId);
} }
} }
// 2024.12.13 eseguo riassegnazione kit a macchine come OLT...
if (BatchIsAncestor)
{
// effettuo VERA ri-assegnazione ordini/kit a nuovi batch
DLMan.taOLT.setBatchSplit(BatchId, true);
}
// resetto batch ordini... // resetto batch ordini...
ComLib.OrdersExtResetCache(); ComLib.OrdersExtResetCache();
// ricalcolo // ricalcolo
@@ -776,6 +901,14 @@ namespace NKC_WF.WebUserControls
{ {
DLMan.taOLT.updateBatch(batchOrigId, ordId, batchDestId); DLMan.taOLT.updateBatch(batchOrigId, ordId, batchDestId);
} }
// 2024.12.13 eseguo riassegnazione kit a macchine come OLT...
if (BatchIsAncestor)
{
// effettuo VERA ri-assegnazione ordini/kit a nuovi batch
DLMan.taOLT.setBatchSplit(BatchId, true);
}
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
// resetto batch ordini... // resetto batch ordini...
ComLib.OrdersExtResetCache(); ComLib.OrdersExtResetCache();
// ricalcolo // ricalcolo
@@ -793,6 +926,14 @@ namespace NKC_WF.WebUserControls
private void moveOrderById(int batchId, int origBatchId, int origOrdId) private void moveOrderById(int batchId, int origBatchId, int origOrdId)
{ {
DLMan.taOLT.updateBatch(origBatchId, origOrdId, batchId); DLMan.taOLT.updateBatch(origBatchId, origOrdId, batchId);
// 2024.12.13 eseguo riassegnazione kit a macchine come OLT...
if (BatchIsAncestor)
{
// effettuo VERA ri-assegnazione ordini/kit a nuovi batch
DLMan.taOLT.setBatchSplit(BatchId, true);
}
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
// resetto batch ordini... // resetto batch ordini...
ComLib.OrdersExtResetCache(); ComLib.OrdersExtResetCache();
fixChildBatch(); fixChildBatch();
@@ -830,7 +971,8 @@ namespace NKC_WF.WebUserControls
{ {
RawList.Add(item.OrdID, item.EstProcTime); RawList.Add(item.OrdID, item.EstProcTime);
} }
Log.Instance.Trace($"Rebalance | S02 | listOrders.count: {listOrders.Count}"); int numOrdOrig = listOrders.Count;
Log.Instance.Trace($"Rebalance | S02 | listOrders.count: {numOrdOrig}");
// ordino la lista x processing successivo // ordino la lista x processing successivo
OrderedList = RawList.OrderBy(x => x.Value).ToDictionary(t => t.Key, t => t.Value); OrderedList = RawList.OrderBy(x => x.Value).ToDictionary(t => t.Key, t => t.Value);
// inizio immaginando di usare TUTTI gli ordini // inizio immaginando di usare TUTTI gli ordini
@@ -848,7 +990,11 @@ namespace NKC_WF.WebUserControls
directAssign = true; directAssign = true;
StartSet.OrderSet = OrderedList.OrderByDescending(x => x.Value).Take(num2proc).ToDictionary(t => t.Key, t => t.Value); StartSet.OrderSet = OrderedList.OrderByDescending(x => x.Value).Take(num2proc).ToDictionary(t => t.Key, t => t.Value);
// tolgo ordini lunghi tra quelli da processare // tolgo ordini lunghi tra quelli da processare
OrderedList = OrderedList.Take(OrderedList.Count - num2proc).ToDictionary(t => t.Key, t => t.Value); foreach (var ordTaken in StartSet.OrderSet)
{
OrderedList.Remove(ordTaken.Key);
}
//OrderedList = OrderedList.OrderBy(x => x.Value).Take(OrderedList.Count - num2proc).ToDictionary(t => t.Key, t => t.Value);
// imposto nuovi target secondo sia abilitato // imposto nuovi target secondo sia abilitato
int idx = 0; int idx = 0;
SetNe01.TargetValue -= enable01 ? StartSet.OrderSet.Skip(idx++).FirstOrDefault().Value : 0; SetNe01.TargetValue -= enable01 ? StartSet.OrderSet.Skip(idx++).FirstOrDefault().Value : 0;
@@ -956,71 +1102,100 @@ namespace NKC_WF.WebUserControls
{ {
Log.Instance.Error($"Exception durante rebalance 01:{Environment.NewLine}{exc}"); Log.Instance.Error($"Exception durante rebalance 01:{Environment.NewLine}{exc}");
} }
// check sul num di spostamenti1
int numMove = 0; // 2024.09.20: controllo che il numero ordini torni o LO SEGNALO come errore...
int numOk = 0; int numAssigned = SetNe01.OrderSet.Count + SetNe02.OrderSet.Count + SetNe03.OrderSet.Count;
Log.Instance.Trace("Rebalance | Starting final stage (DB modifications)"); if (numAssigned != numOrdOrig)
try
{ {
// riorganizzo tabOrders... divError.Visible = true;
foreach (var orderItem in TabOrders) Log.Instance.Error($"Error during rebalance | numOrdOrig: {numOrdOrig} | numAssigned: {numAssigned}");
lblError.Text = traduci("ERR_Rebalance01");
lblErrorDetail.Text = $"{traduci("ERR_Rebalance02")} | # Orig: {numOrdOrig} | # Assigned: {numAssigned}";
}
else
{
divError.Visible = false;
// check sul num di spostamenti1
int numMove = 0;
int numOk = 0;
Log.Instance.Trace("Rebalance | Starting final stage (DB modifications)");
try
{ {
if (SetNe01.OrderSet.ContainsKey(orderItem.OrdID)) // riorganizzo tabOrders...
foreach (var orderItem in TabOrders)
{ {
if (orderItem.BatchID != cmp_orderExtListNE01.BatchId) if (SetNe01.OrderSet.ContainsKey(orderItem.OrdID))
{ {
DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE01.BatchId); if (orderItem.BatchID != cmp_orderExtListNE01.BatchId)
numMove++; {
DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE01.BatchId);
numMove++;
}
else
{
numOk++;
}
} }
else if (SetNe02.OrderSet.ContainsKey(orderItem.OrdID))
{ {
numOk++; if (orderItem.BatchID != cmp_orderExtListNE02.BatchId)
{
DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE02.BatchId);
numMove++;
}
else
{
numOk++;
}
} }
} if (SetNe03.OrderSet.ContainsKey(orderItem.OrdID))
if (SetNe02.OrderSet.ContainsKey(orderItem.OrdID))
{
if (orderItem.BatchID != cmp_orderExtListNE02.BatchId)
{ {
DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE02.BatchId); if (orderItem.BatchID != cmp_orderExtListNE03.BatchId)
numMove++; {
} DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE03.BatchId);
else numMove++;
{ }
numOk++; else
} {
} numOk++;
if (SetNe03.OrderSet.ContainsKey(orderItem.OrdID)) }
{
if (orderItem.BatchID != cmp_orderExtListNE03.BatchId)
{
DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE03.BatchId);
numMove++;
}
else
{
numOk++;
} }
} }
} }
catch (Exception exc)
{
Log.Instance.Error($"Exception durante rebalance 02:{Environment.NewLine}{exc}");
}
answ = listOrders.Count > 0;
Log.Instance.Trace($"Final check | S14 | answ: {answ} | listOrders.Count: {listOrders.Count} | numMove: {numMove} | numOk: {numOk}");
// salvo tempo calcolo
stopWatch.Stop();
var elapsTime = stopWatch.Elapsed;
Log.Instance.Info($"Rebalance executed | R01: {Ratio01:P1}/{SetNe01.ActualValue / FullSet.ActualValue:P1} | R02: {Ratio02:P1}/{SetNe02.ActualValue / FullSet.ActualValue:P1} | R03: {Ratio03:P1}/{SetNe03.ActualValue / FullSet.ActualValue:P1} | maxDepth: {maxDepth} | elapsed ms: {elapsTime.TotalMilliseconds:N1}");
// resetto batch ordini...
ComLib.OrdersExtResetCache();
} }
catch (Exception exc)
{
Log.Instance.Error($"Exception durante rebalance 02:{Environment.NewLine}{exc}");
}
answ = listOrders.Count > 0;
Log.Instance.Trace($"Final check | S14 | answ: {answ} | listOrders.Count: {listOrders.Count} | numMove: {numMove} | numOk: {numOk}");
// salvo tempo calcolo
stopWatch.Stop();
var elapsTime = stopWatch.Elapsed;
Log.Instance.Info($"Rebalance executed | R01: {Ratio01:P1}/{SetNe01.ActualValue / FullSet.ActualValue:P1} | R02: {Ratio02:P1}/{SetNe02.ActualValue / FullSet.ActualValue:P1} | R03: {Ratio03:P1}/{SetNe03.ActualValue / FullSet.ActualValue:P1} | maxDepth: {maxDepth} | elapsed ms: {elapsTime.TotalMilliseconds:N1}");
// resetto batch ordini...
ComLib.OrdersExtResetCache();
cmp_orderExtListNE01.doUpdate(); cmp_orderExtListNE01.doUpdate();
cmp_orderExtListNE02.doUpdate(); cmp_orderExtListNE02.doUpdate();
cmp_orderExtListNE03.doUpdate(); cmp_orderExtListNE03.doUpdate();
return answ; return answ;
} }
/// <summary>
/// Toggle generale pulsanti
/// </summary>
/// <param name="enable"></param>
private void toggleAll(bool enable)
{
// solo in caso di true...
if (enable)
{
enable01 = enable;
enable02 = enable;
enable03 = enable;
}
}
#endregion Private Methods #endregion Private Methods
} }
} }
@@ -68,6 +68,33 @@ namespace NKC_WF.WebUserControls
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfEnabled03; protected global::System.Web.UI.WebControls.HiddenField hfEnabled03;
/// <summary>
/// hfCodEnabPrev 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 hfCodEnabPrev;
/// <summary>
/// lblWarnChange 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 lblWarnChange;
/// <summary>
/// chkActEnab 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.CheckBox chkActEnab;
/// <summary> /// <summary>
/// lbtBalance control. /// lbtBalance control.
/// </summary> /// </summary>
@@ -77,6 +104,42 @@ namespace NKC_WF.WebUserControls
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtBalance; protected global::System.Web.UI.WebControls.LinkButton lbtBalance;
/// <summary>
/// lblSplitRequest 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 lblSplitRequest;
/// <summary>
/// divError 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 divError;
/// <summary>
/// lblError 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 lblError;
/// <summary>
/// lblErrorDetail 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 lblErrorDetail;
/// <summary> /// <summary>
/// divHeadNe01 control. /// divHeadNe01 control.
/// </summary> /// </summary>
+3 -2
View File
@@ -4,6 +4,7 @@
<asp:HiddenField runat="server" ID="hfLastSelRow" /> <asp:HiddenField runat="server" ID="hfLastSelRow" />
<asp:HiddenField runat="server" ID="hfCreatePng" /> <asp:HiddenField runat="server" ID="hfCreatePng" />
<asp:CheckBox runat="server" ID="chkActEnab" Checked="true" Visible="false" />
<asp:UpdatePanel ID="updPanelDetail" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="updPanelDetail" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="row"> <div class="row">
@@ -74,7 +75,7 @@
<ItemTemplate> <ItemTemplate>
<div class="text-center"> <div class="text-center">
<asp:LinkButton ID="lbRedoEval" runat="server" CausesValidation="False" CommandName="Cancel" CommandArgument='<%# Eval("Takt") %>' CssClass="btn btn-sm btn-info" Visible='<%# listMode== NKC_SDK.BatchListMode.PartsEval %>' ToolTip="Re-Validate single ITEM" OnClick="lbRedoEval_Click" OnClientClick='return confirm("ITEM Re-Validation requested. Are you sure to proceed?")'><i class="fa fa-check-circle-o" aria-hidden="true"></i></asp:LinkButton> <asp:LinkButton ID="lbRedoEval" runat="server" CausesValidation="False" CommandName="Cancel" CommandArgument='<%# Eval("Takt") %>' CssClass="btn btn-sm btn-info" Visible='<%# listMode== NKC_SDK.BatchListMode.PartsEval %>' ToolTip="Re-Validate single ITEM" OnClick="lbRedoEval_Click" OnClientClick='return confirm("ITEM Re-Validation requested. Are you sure to proceed?")'><i class="fa fa-check-circle-o" aria-hidden="true"></i></asp:LinkButton>
<asp:LinkButton ID="lbSelect" runat="server" CausesValidation="False" CommandName="Select" CommandArgument="" CssClass="btn btn-sm btn-primary" Visible='<%# listMode== NKC_SDK.BatchListMode.Standard %>'><i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton> <asp:LinkButton ID="lbSelect" runat="server" CausesValidation="False" CommandName="Select" CommandArgument="" CssClass="btn btn-sm btn-primary" Visible='<%# listMode == NKC_SDK.BatchListMode.Standard || listMode == NKC_SDK.BatchListMode.FullHistory %>'><i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton>
</div> </div>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
@@ -125,7 +126,7 @@
</Columns> </Columns>
</asp:GridView> </asp:GridView>
<asp:HiddenField ID="hfDeleteEnabled" runat="server" /> <asp:HiddenField ID="hfDeleteEnabled" runat="server" />
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStatus" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter" DeleteMethod="deleteTree" FilterExpression="Status <> 5"> <asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStatusLight" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter" DeleteMethod="deleteTree" FilterExpression="Status <> 5">
<SelectParameters> <SelectParameters>
<asp:ControlParameter ControlID="ddlStatus" DefaultValue="-1" Name="Status" PropertyName="SelectedValue" Type="Int32" /> <asp:ControlParameter ControlID="ddlStatus" DefaultValue="-1" Name="Status" PropertyName="SelectedValue" Type="Int32" />
<asp:SessionParameter Name="SearchVal" SessionField="valoreSearch" Type="String" DefaultValue="" /> <asp:SessionParameter Name="SearchVal" SessionField="valoreSearch" Type="String" DefaultValue="" />
@@ -11,6 +11,20 @@ namespace NKC_WF.WebUserControls
{ {
#region Public Properties #region Public Properties
public bool ActionEnab
{
get
{
return chkActEnab.Checked;
}
set
{
chkActEnab.Checked = value;
}
}
public bool deleteEnabled public bool deleteEnabled
{ {
get get
@@ -399,6 +413,7 @@ namespace NKC_WF.WebUserControls
// in base al ListMode decido cosa mostrare... // in base al ListMode decido cosa mostrare...
checkFixOds(); checkFixOds();
checkFixMode(); checkFixMode();
cmp_batchDetail.BtnActEnab = ActionEnab;
} }
cmp_batchDetail.eh_doRefresh += Cmp_batchDetail_eh_doRefresh; cmp_batchDetail.eh_doRefresh += Cmp_batchDetail_eh_doRefresh;
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh; cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
@@ -466,6 +481,17 @@ namespace NKC_WF.WebUserControls
private void checkFixOds() private void checkFixOds()
{ {
// sistemo tipo di ODS dato config...
if (memLayer.ML.CRB("batchListUseStoredLight"))
{
ods.SelectMethod = "getByStatusLight";
}
else
{
ods.SelectMethod = "getByStatus";
}
//ods.SelectMethod=
string isPartVal = ""; string isPartVal = "";
switch (listMode) switch (listMode)
{ {
+9
View File
@@ -32,6 +32,15 @@ namespace NKC_WF.WebUserControls
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfCreatePng; protected global::System.Web.UI.WebControls.HiddenField hfCreatePng;
/// <summary>
/// chkActEnab 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.CheckBox chkActEnab;
/// <summary> /// <summary>
/// updPanelDetail control. /// updPanelDetail control.
/// </summary> /// </summary>
+2 -9
View File
@@ -1,11 +1,4 @@
using Newtonsoft.Json; using System;
using NKC_SDK;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
{ {
@@ -37,7 +30,7 @@ namespace NKC_WF.WebUserControls
set set
{ {
hfDescription.Value = value; hfDescription.Value = value;
} }
} }
+27 -30
View File
@@ -1,35 +1,32 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_footer.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_footer" %> <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_footer.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_footer" %>
<footer class="fixed-bottom bg-dark text-light small textCondens p-1"> <footer class="fixed-bottom bg-dark text-light textCondens">
<div class="container-flow px-1"> <asp:UpdatePanel runat="server" ID="upnlFooter" UpdateMode="Conditional" ChildrenAsTriggers="true">
<asp:UpdatePanel runat="server" ID="upnlFooter" UpdateMode="Conditional"> <ContentTemplate>
<ContentTemplate> <div class="d-flex justify-content-between px-1">
<div class="d-flex justify-content-between"> <div class="px-1 text-nowrap">
<div class="px-1"> <asp:Label ID="lblDateTime" runat="server" Text="..." />
<span class="d-none d-lg-inline"> &nbsp;|&nbsp;
<asp:Label ID="lblDateTime" runat="server" Text="..." /> <asp:Label ID="lblCodOperatore" runat="server" Text="-" />
&nbsp;|&nbsp;</span> </div>
<asp:Label ID="lblCodOperatore" runat="server" Text="-" /> <div class="px-1 text-right text-nowrap">
</div> <div class="d-flex">
<div class="px-1 text-right"> <div class="px-1">
<div class="d-flex flex-row-reverse"> <asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="5" DynamicLayout="false">
<div class="px-1"> <ProgressTemplate>
<asp:Label runat="server" ID="lblApp" Text="." /> <i class="fa fa-circle-o-notch fa-spin fa-fw text-primary" aria-hidden="true"></i>
</div> <i class="fa fa-circle-o-notch fa-spin fa-fw text-info" aria-hidden="true"></i>
<div class="px-1"> <i class="fa fa-circle-o-notch fa-spin fa-fw" aria-hidden="true"></i>
<asp:UpdateProgress ID="UpdateProgressDisplay" runat="server" DisplayAfter="10"> </ProgressTemplate>
<ProgressTemplate> </asp:UpdateProgress>
<i class="fa fa-circle-o-notch fa-spin fa-fw text-primary" aria-hidden="true"></i> </div>
<i class="fa fa-circle-o-notch fa-spin fa-fw text-info" aria-hidden="true"></i> <div class="px-1">
<i class="fa fa-circle-o-notch fa-spin fa-fw" aria-hidden="true"></i> <asp:Label runat="server" ID="lblApp" Text="0.0.0.0" />
</ProgressTemplate>
</asp:UpdateProgress>
</div>
</div> </div>
</div> </div>
</div> </div>
<asp:Timer ID="Timer1" runat="server" Interval="60000"> </div>
</asp:Timer> <asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
</ContentTemplate> </asp:Timer>
</asp:UpdatePanel> </ContentTemplate>
</div> </asp:UpdatePanel>
</footer> </footer>
+2 -2
View File
@@ -26,8 +26,8 @@ namespace NKC_WF.WebUserControls
/// </summary> /// </summary>
private void setTimer() private void setTimer()
{ {
Timer1.Tick += Timer1_Tick; int intUpdatePagina_ms = memLayer.ML.CRI("intUpdatePagina_ms");
Timer1.Interval = memLayer.ML.confReadInt("intUpdatePagina_ms"); Timer1.Interval = intUpdatePagina_ms;
} }
#endregion Private Methods #endregion Private Methods
+9 -9
View File
@@ -41,6 +41,15 @@ namespace NKC_WF.WebUserControls
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblCodOperatore; protected global::System.Web.UI.WebControls.Label lblCodOperatore;
/// <summary>
/// UpdateProgress1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.UpdateProgress UpdateProgress1;
/// <summary> /// <summary>
/// lblApp control. /// lblApp control.
/// </summary> /// </summary>
@@ -50,15 +59,6 @@ namespace NKC_WF.WebUserControls
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblApp; protected global::System.Web.UI.WebControls.Label lblApp;
/// <summary>
/// UpdateProgressDisplay control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.UpdateProgress UpdateProgressDisplay;
/// <summary> /// <summary>
/// Timer1 control. /// Timer1 control.
/// </summary> /// </summary>
+3 -1
View File
@@ -22,7 +22,9 @@
<div class="col-2"> <div class="col-2">
<asp:HyperLink runat="server" ID="hlShowErrors" Target="_blank" CssClass="btn btn-danger btn-block"><i class="fa fa-bug" aria-hidden="true"></i></asp:HyperLink> <asp:HyperLink runat="server" ID="hlShowErrors" Target="_blank" CssClass="btn btn-danger btn-block"><i class="fa fa-bug" aria-hidden="true"></i></asp:HyperLink>
</div> </div>
<asp:Label runat="server" ID="lblOutTask" CssClass="col-12 text-truncate"></asp:Label> <div style="max-height: 96px; overflow: auto;">
<asp:Label runat="server" ID="lblOutTask" CssClass="col-12 text-truncate"></asp:Label>
</div>
</div> </div>
</div> </div>
</div> </div>
+14 -1
View File
@@ -2,6 +2,7 @@
using NKC_SDK; using NKC_SDK;
using SteamWare; using SteamWare;
using System; using System;
using System.Text;
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
{ {
@@ -137,11 +138,17 @@ namespace NKC_WF.WebUserControls
var risultati = DLMan.taImpLog.importCsvKit($"{dirImport}", fileName, batchName, ";", "\n", "2", numTask, 0, 0, testOnly); var risultati = DLMan.taImpLog.importCsvKit($"{dirImport}", fileName, batchName, ";", "\n", "2", numTask, 0, 0, testOnly);
// se ho delle righe di log processo... // se ho delle righe di log processo...
bool allCheck = true; bool allCheck = true;
StringBuilder sb = new StringBuilder();
string errorTxt = "";
foreach (var item in risultati) foreach (var item in risultati)
{ {
if (!item.IsOk) if (!item.IsOk)
{ {
allCheck = false; allCheck = false;
sb.AppendLine("----------------------");
sb.AppendLine("Error reported:");
sb.AppendLine($"{item.Note}");
sb.AppendLine("----------------------");
} }
} }
checkOk = allCheck; checkOk = allCheck;
@@ -149,7 +156,13 @@ namespace NKC_WF.WebUserControls
imported = checkOk && !testOnly; imported = checkOk && !testOnly;
// ora effettua validazione e mostra eventuale esito... // ora effettua validazione e mostra eventuale esito...
processValidation(); processValidation();
displayMessage($"{traduci("KitDataImportExecuted")}: {traduci("Validated")}: {checkOk} | {traduci("Imported")} : {imported}", false); string baseMsg = $"{traduci("KitDataImportExecuted")}: {traduci("Validated")}: {checkOk} | {traduci("Imported")} : {imported}";
// se ho errori aggiungo...
if(!checkOk)
{
baseMsg += $"{Environment.NewLine}{sb.ToString()}".Replace(Environment.NewLine, "<br/>");
}
displayMessage(baseMsg, !checkOk);
} }
catch (Exception exc) catch (Exception exc)
{ {
+38 -38
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <generato automaticamente> // <auto-generated>
// Codice generato da uno strumento. // This code was generated by a tool.
// //
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </generato automaticamente> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
@@ -15,101 +15,101 @@ namespace NKC_WF.WebUserControls
{ {
/// <summary> /// <summary>
/// Controllo hfFileName. /// hfFileName control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfFileName; protected global::System.Web.UI.WebControls.HiddenField hfFileName;
/// <summary> /// <summary>
/// Controllo hfBatchName. /// hfBatchName control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchName; protected global::System.Web.UI.WebControls.HiddenField hfBatchName;
/// <summary> /// <summary>
/// Controllo hfNumTask. /// hfNumTask control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfNumTask; protected global::System.Web.UI.WebControls.HiddenField hfNumTask;
/// <summary> /// <summary>
/// Controllo hfCheckOk. /// hfCheckOk control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfCheckOk; protected global::System.Web.UI.WebControls.HiddenField hfCheckOk;
/// <summary> /// <summary>
/// Controllo hfImported. /// hfImported control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfImported; protected global::System.Web.UI.WebControls.HiddenField hfImported;
/// <summary> /// <summary>
/// Controllo lbtDoAction. /// lbtDoAction control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtDoAction; protected global::System.Web.UI.WebControls.LinkButton lbtDoAction;
/// <summary> /// <summary>
/// Controllo hlShowErrors. /// hlShowErrors control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HyperLink hlShowErrors; protected global::System.Web.UI.WebControls.HyperLink hlShowErrors;
/// <summary> /// <summary>
/// Controllo lblOutTask. /// lblOutTask control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblOutTask; protected global::System.Web.UI.WebControls.Label lblOutTask;
/// <summary> /// <summary>
/// Controllo divStep1. /// divStep1 control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divStep1; protected global::System.Web.UI.HtmlControls.HtmlGenericControl divStep1;
/// <summary> /// <summary>
/// Controllo divStep2. /// divStep2 control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divStep2; protected global::System.Web.UI.HtmlControls.HtmlGenericControl divStep2;
/// <summary> /// <summary>
/// Controllo divStep3. /// divStep3 control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divStep3; protected global::System.Web.UI.HtmlControls.HtmlGenericControl divStep3;
} }
@@ -32,7 +32,7 @@
<ItemTemplate> <ItemTemplate>
<div class="text-left"> <div class="text-left">
<asp:Label ID="lblPackListID" runat="server" Text='<%# Bind("PackListID") %>' /> <asp:Label ID="lblPackListID" runat="server" Text='<%# Bind("PackListID") %>' />
<asp:HyperLink ID="hlShowMissing" runat="server" Target="_blank" NavigateUrl='<%# $"~/site/PartMIA?PLID={Eval("PackListID")}" %>' CssClass="btn btn-sm btn-warning" ToolTip='<%# traduci("PartMIA") %>' Visible='<%# showFull %>'><i class="fa fa-bug" aria-hidden="true"></i></asp:HyperLink> <asp:HyperLink ID="hlShowMissing" runat="server" Target="_blank" NavigateUrl='<%# $"~/site/PartMIA?PLID={Eval("PackListID")}" %>' CssClass="btn btn-sm btn-warning" ToolTip='<%# traduci("PartMIA") %>' Visible='<%# showFull && showPartMIA(Eval("PackListID")) %>'><i class="fa fa-bug" aria-hidden="true"></i></asp:HyperLink>
</div> </div>
</ItemTemplate> </ItemTemplate>
@@ -5,25 +5,36 @@ namespace NKC_WF.WebUserControls
{ {
public partial class cmp_kitReqRunning : BaseUserControl public partial class cmp_kitReqRunning : BaseUserControl
{ {
protected void Page_Load(object sender, EventArgs e) #region Public Properties
public bool enableSuspend
{ {
if (!Page.IsPostBack) get
{ {
fixVisibility(); bool answ = false;
bool.TryParse(hfEnableSuspend.Value, out answ);
return answ;
}
set
{
hfEnableSuspend.Value = value.ToString();
grView.DataBind();
} }
} }
private void fixVisibility() public bool showFull
{ {
cmp_KR_cart.Visible = (grView.SelectedIndex >= 0); get
divHeader.Visible = showTitle; {
} bool answ = false;
bool.TryParse(hfShowFull.Value, out answ);
internal void doUpdate() return answ;
{ }
grView.DataBind(); set
fixVisibility(); {
cmp_KR_cart.doUpdate(); hfShowFull.Value = value.ToString();
grView.DataBind();
}
} }
public bool showTitle public bool showTitle
@@ -40,34 +51,45 @@ namespace NKC_WF.WebUserControls
fixVisibility(); fixVisibility();
} }
} }
public bool showFull
#endregion Public Properties
#region Public Methods
/// <summary>
/// Verifica se sia da mostrare pagina MissingInAction
/// </summary>
public bool showPartMIA(object plIdRaw)
{ {
get bool answ = false;
int plID = 0;
if (int.TryParse($"{plIdRaw}", out plID))
{ {
bool answ = false; try
bool.TryParse(hfShowFull.Value, out answ); {
return answ; answ = DLMan.taISD.getMissingByPLID(plID).Count > 0;
} }
set catch
{ { }
hfShowFull.Value = value.ToString();
grView.DataBind();
} }
return answ;
} }
public bool enableSuspend
#endregion Public Methods
#region Internal Methods
internal void doUpdate()
{ {
get grView.DataBind();
{ fixVisibility();
bool answ = false; cmp_KR_cart.doUpdate();
bool.TryParse(hfEnableSuspend.Value, out answ);
return answ;
}
set
{
hfEnableSuspend.Value = value.ToString();
grView.DataBind();
}
} }
#endregion Internal Methods
#region Protected Methods
protected void grView_SelectedIndexChanged(object sender, EventArgs e) protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{ {
int PackListId = 0; int PackListId = 0;
@@ -76,6 +98,7 @@ namespace NKC_WF.WebUserControls
cmp_KR_cart.PackListID = PackListId; cmp_KR_cart.PackListID = PackListId;
cmp_KR_cart.Visible = true; cmp_KR_cart.Visible = true;
} }
/// <summary> /// <summary>
/// comando reset /// comando reset
/// </summary> /// </summary>
@@ -108,5 +131,25 @@ namespace NKC_WF.WebUserControls
raiseEvent(); raiseEvent();
} }
} }
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
fixVisibility();
}
}
#endregion Protected Methods
#region Private Methods
private void fixVisibility()
{
cmp_KR_cart.Visible = (grView.SelectedIndex >= 0);
divHeader.Visible = showTitle;
}
#endregion Private Methods
} }
} }
+26 -26
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <generato automaticamente> // <auto-generated>
// Codice generato da uno strumento. // This code was generated by a tool.
// //
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </generato automaticamente> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
@@ -15,65 +15,65 @@ namespace NKC_WF.WebUserControls
{ {
/// <summary> /// <summary>
/// Controllo divHeader. /// divHeader control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHeader; protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHeader;
/// <summary> /// <summary>
/// Controllo hfShowTitle. /// hfShowTitle control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfShowTitle; protected global::System.Web.UI.WebControls.HiddenField hfShowTitle;
/// <summary> /// <summary>
/// Controllo grView. /// grView control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.GridView grView; protected global::System.Web.UI.WebControls.GridView grView;
/// <summary> /// <summary>
/// Controllo odsKit. /// odsKit control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsKit; protected global::System.Web.UI.WebControls.ObjectDataSource odsKit;
/// <summary> /// <summary>
/// Controllo hfShowFull. /// hfShowFull control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfShowFull; protected global::System.Web.UI.WebControls.HiddenField hfShowFull;
/// <summary> /// <summary>
/// Controllo hfEnableSuspend. /// hfEnableSuspend control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfEnableSuspend; protected global::System.Web.UI.WebControls.HiddenField hfEnableSuspend;
/// <summary> /// <summary>
/// Controllo cmp_KR_cart. /// cmp_KR_cart control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::NKC_WF.WebUserControls.cmp_KR_cart cmp_KR_cart; protected global::NKC_WF.WebUserControls.cmp_KR_cart cmp_KR_cart;
} }
@@ -4,10 +4,11 @@ using SteamWare;
using System; using System;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Web.WebPages;
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
{ {
public partial class cmp_kittingSmart : BaseUserControl public partial class cmp_kittingSmart : BaseUserControl, IDisposable
{ {
#region Public Properties #region Public Properties
@@ -47,6 +48,19 @@ namespace NKC_WF.WebUserControls
#endregion Public Properties #endregion Public Properties
#region Public Methods
public override void Dispose()
{
cmp_barcode.eh_doRefresh -= Cmp_barcode_eh_doRefresh;
cmp_barcode.eh_doReset -= Cmp_barcode_eh_doReset;
cmp_KS_BinCart.eh_doRefresh -= cmp_KS_BinCart_eh_doRefresh;
cmp_KS_OtherItemsCart.eh_doRefresh -= cmp_KS_OtherItemsCart_eh_doRefresh;
cmp_KS_Items.eh_doRefresh -= cmp_KS_Items_eh_doRefresh;
}
#endregion Public Methods
#region Protected Properties #region Protected Properties
protected DS_App.BinsDataTable currBinTab protected DS_App.BinsDataTable currBinTab
@@ -330,6 +344,7 @@ namespace NKC_WF.WebUserControls
DS_App.ItemListDataTable tabItem = null; DS_App.ItemListDataTable tabItem = null;
DataLayer DLMan = new DataLayer(); DataLayer DLMan = new DataLayer();
divInfo.Visible = false; divInfo.Visible = false;
divError.Visible = false;
// processo suggerimenti x ITEM / cart / bin dato suo RawData (Dtmx) e Cod univoco (intero) // processo suggerimenti x ITEM / cart / bin dato suo RawData (Dtmx) e Cod univoco (intero)
switch (tipoCod) switch (tipoCod)
{ {
@@ -392,7 +407,7 @@ namespace NKC_WF.WebUserControls
if (lastObject == rawData) if (lastObject == rawData)
{ {
// --> metto cart in scarico e registro LOG come se avesse // --> metto cart in scarico e registro LOG come se avesse
// appena letto 1:1 ogni Dtmx // appena letto 1:1 ogni Dtmx
DLMan.taPLog.closeCart(codeInt); DLMan.taPLog.closeCart(codeInt);
lgInfo($"cmp_kittingSmart | taPLog.closeCart | codeInt: {codeInt} | rawData: {rawData}"); lgInfo($"cmp_kittingSmart | taPLog.closeCart | codeInt: {codeInt} | rawData: {rawData}");
// mostro che ho fatto // mostro che ho fatto
@@ -430,7 +445,7 @@ namespace NKC_WF.WebUserControls
if (lastObject == rawData) if (lastObject == rawData)
{ {
// --> metto cart in scarico e registro LOG come se // --> metto cart in scarico e registro LOG come se
// avesse appena letto 1:1 ogni Dtmx // avesse appena letto 1:1 ogni Dtmx
DLMan.taPLog.acquireCart(rawData, currIpAddress, user_std.UtSn.userNameAD); DLMan.taPLog.acquireCart(rawData, currIpAddress, user_std.UtSn.userNameAD);
lgInfo($"cmp_kittingSmart | taPLog.acquireCart | KittingStart = GETDATE() | rawData: {rawData} | UserName: {user_std.UtSn.userNameAD} | currIpAddress: {currIpAddress}"); lgInfo($"cmp_kittingSmart | taPLog.acquireCart | KittingStart = GETDATE() | rawData: {rawData} | UserName: {user_std.UtSn.userNameAD} | currIpAddress: {currIpAddress}");
displInfo($"OK: CART acquired {rawData} - item confirmed"); displInfo($"OK: CART acquired {rawData} - item confirmed");
@@ -1,4 +1,5 @@
using SteamWare; using NKC_SDK;
using SteamWare;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -75,7 +76,16 @@ namespace NKC_WF.WebUserControls
set set
{ {
hfShowFull.Value = value.ToString(); hfShowFull.Value = value.ToString();
grView.DataBind(); try
{
grView.DataBind();
}
catch (Exception exc)
{
lgError($"Eccezione durante cpm_partMIA_byPLID.showFull{Environment.NewLine}{exc}");
// rimando a pagina
Response.Redirect(currPage);
}
} }
} }
@@ -1,13 +1,11 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_reportSelector.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_reportSelector" %> <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_reportSelector.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_reportSelector" %>
<ul class="nav nav-pills nav-justified"> <ul class="nav nav-pills nav-justified">
<li class="nav-item"> <li class="nav-item px-2">
<asp:LinkButton runat="server" ID="lbtBatchPreview" CssClass="btn btn-block btn-outline-primary" OnClick="lbtBatchPreview_Click"><%: traduci("RepBatchPreview") %></asp:LinkButton> <asp:LinkButton runat="server" ID="lbtBatchPreview" CssClass="btn btn-block btn-outline-primary" OnClick="lbtBatchPreview_Click"><%: traduci("RepBatchPreview") %></asp:LinkButton>
</li> </li>
<li class="nav-item mx-2">
<asp:LinkButton runat="server" ID="lbtUnloadPart" CssClass="btn btn-block btn-outline-primary" OnClick="lbtUnloadPart_Click"><%: traduci("RepUnloadPart") %></asp:LinkButton> <li class="nav-item px-2">
</li>
<li class="nav-item">
<asp:LinkButton runat="server" ID="lbtDayStats" CssClass="btn btn-block btn-outline-primary" OnClick="lbtDailyStats_Click"><%: traduci("RepDayStats") %></asp:LinkButton> <asp:LinkButton runat="server" ID="lbtDayStats" CssClass="btn btn-block btn-outline-primary" OnClick="lbtDailyStats_Click"><%: traduci("RepDayStats") %></asp:LinkButton>
</li> </li>
</ul> </ul>

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