Compare commits

...

105 Commits

Author SHA1 Message Date
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">
<HintPath>..\packages\AjaxControlToolkit.20.1.0\lib\net40\AjaxControlToolkit.dll</HintPath>
</Reference>
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath>
<Reference Include="AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<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 Include="DnsClient, Version=1.7.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<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>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
<Reference Include="IronSnappy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b1d4b1dc83bdcf31, processorArchitecture=MSIL">
<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 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>
@@ -82,23 +97,23 @@
<Reference Include="Microsoft.ReportViewer.WinForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ReportViewer.Runtime.WinForms.12.0.2402.15\lib\Microsoft.ReportViewer.WinForms.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.15.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.25.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.15.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.25.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.15.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath>
<Reference Include="MongoDB.Driver.Core, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.25.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.3.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
<Reference Include="MongoDB.Libmongocrypt, Version=1.9.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.9.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<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 Include="PdfSharp, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<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>
</Reference>
<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 Include="SharpCompress, Version=0.32.2.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.32.2\lib\net461\SharpCompress.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath>
<Reference Include="Snappier, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a1b25124e6e13a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Snappier.1.0.0\lib\netstandard2.0\Snappier.dll</HintPath>
</Reference>
<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 Include="SteamWare, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.3.2311.2908\lib\net462\SteamWare.dll</HintPath>
@@ -133,8 +148,8 @@
</Reference>
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<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 Include="System.Drawing" />
<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>
</Reference>
<Reference Include="System.IO.Pipelines, Version=6.0.0.3, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.6.0.3\lib\net461\System.IO.Pipelines.dll</HintPath>
<Reference Include="System.IO.Pipelines, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.8.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference>
<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>
@@ -175,8 +190,8 @@
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Pkcs, Version=6.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.6.0.1\lib\net461\System.Security.Cryptography.Pkcs.dll</HintPath>
<Reference Include="System.Security.Cryptography.Pkcs, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.8.0.0\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference>
<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>
@@ -187,11 +202,11 @@
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encoding.CodePages, Version=6.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>
<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=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.6.0.0\lib\net461\System.Threading.Channels.dll</HintPath>
<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 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>
@@ -207,6 +222,9 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<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>
<Compile Include="..\VersGen\VersGen.cs">
@@ -227,6 +245,9 @@
<DesignTime>True</DesignTime>
<DependentUpon>DS_Report.xsd</DependentUpon>
</Compile>
<Compile Include="DTO\BatchYeldStatDTO.cs" />
<Compile Include="DTO\MaterialYeldStatsDTO.cs" />
<Compile Include="DTO\SheetYeldStatDTO.cs" />
<Compile Include="Enum.cs" />
<Compile Include="Objects.cs" />
<Compile Include="Properties\Settings.Designer.cs">
@@ -246,17 +267,13 @@
<None Include="app.config" />
<None Include="App_Readme\SteamWare_demo\example-app.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">
<DependentUpon>DS_App.xsd</DependentUpon>
</None>
<None Include="DS_App.xsd">
<SubType>Designer</SubType>
<Generator>MSDataSetGenerator</Generator>
<LastGenOutput>DS_App.Designer.cs</LastGenOutput>
<LastGenOutput>DS_App2.Designer.cs</LastGenOutput>
</None>
<None Include="DS_App.xss">
<DependentUpon>DS_App.xsd</DependentUpon>
@@ -272,10 +289,6 @@
<None Include="DS_Report.xss">
<DependentUpon>DS_Report.xsd</DependentUpon>
</None>
<None Include="libsnappy64.dylib" />
<None Include="libsnappy64.so" />
<None Include="libzstd.dylib" />
<None Include="libzstd.so" />
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
@@ -292,13 +305,10 @@
<Content Include="App_Readme\README_SteamWare.txt" />
<Content Include="App_Readme\SteamWare_demo\example-config-table.txt" />
<Content Include="App_Readme\SteamWare_demo\example-favicon.ico" />
<Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" />
<Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" />
<Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" />
<Content Include="libzstd.dll" />
<Content Include="mongocrypt.dll" />
<Content Include="snappy32.dll" />
<Content Include="snappy64.dll" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\packages\AWSSDK.SecurityToken.3.7.300.99\analyzers\dotnet\cs\AWSSDK.SecurityToken.CodeAnalysis.dll" />
<Analyzer Include="..\packages\AWSSDK.SecurityToken.3.7.300.99\analyzers\dotnet\cs\SharedAnalysisCode.dll" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<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>
</PropertyGroup>
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.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.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'))" />
<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'))" />
</Target>
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.3.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')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.9.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.9.0\build\MongoDB.Libmongocrypt.targets')" />
</Project>
+47 -1
View File
@@ -26,6 +26,8 @@ namespace AppData
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 redMachUnloadForce = "NKC:SERV:MACH_UNLOAD:FORCERELOAD";
@@ -1224,6 +1226,48 @@ namespace AppData
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>
/// restitusice ultima chiamata REST registrata su REDIS
/// </summary>
@@ -1380,6 +1424,8 @@ namespace AppData
memLayer.ML.redFlushKey(redKey);
redKey = $"{redOrders}:ByBatchTree:*";
memLayer.ML.redFlushKey(redKey);
redKey = $"{redKits}:ByBatch:*";
memLayer.ML.redFlushKey(redKey);
}
public static string PositionStatusDescr(object value)
@@ -3502,7 +3548,7 @@ namespace AppData
protected static void setCurrSheetTab(string machine, DS_App.SheetListDataTable tabella)
{
string rawData = JsonConvert.SerializeObject(tabella);
// TTL 2 sec
// TTL 1 sec
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
the code is regenerated.
</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>
<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:StackList" ZOrder="13" X="618" Y="961" Height="381" Width="268" 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:OrderList" ZOrder="22" 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:Materials" ZOrder="3" 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:Carts" ZOrder="47" X="592" Y="408" Height="286" Width="204" 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:OffOrd2Item" ZOrder="45" 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:Nesting" ZOrder="44" 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:BinList" ZOrder="42" 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:Order2FinalKit" ZOrder="40" 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:ErrorsLog" ZOrder="38" 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:PartValidPareto" ZOrder="36" 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:Remnants" ZOrder="34" 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:PackList" ZOrder="1" 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:ItemSearchDetail" ZOrder="32" 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:PackLog" ZOrder="30" 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: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_Sum" ZOrder="27" X="42" Y="1891" Height="362" Width="220" 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_sum" ZOrder="25" X="330" Y="1890" Height="362" Width="246" 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:CartIRK" ZOrder="24" 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:SheetsPreview" ZOrder="23" 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:Places" ZOrder="14" 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:StatusDecode" ZOrder="15" 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:SheetStats" ZOrder="9" 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:ProductionStatsDay" ZOrder="7" X="870" Y="2556" Height="267" Width="300" 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:SpecialParts" ZOrder="6" X="370" Y="2611" Height="210" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<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="16" X="618" Y="961" Height="381" Width="267" 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="25" X="284" Y="61" Height="343" Width="198" 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="7" X="1227" Y="25" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<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="48" X="592" Y="408" Height="286" Width="203" 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="46" X="1023" Y="728" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<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="45" X="863" Y="526" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<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="44" X="1256" Y="391" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<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="42" X="5" Y="308" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<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="40" X="-14" Y="996" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<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="38" X="316" Y="1303" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<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="36" X="904" Y="1256" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<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="5" X="1246" Y="1358" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<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="4" X="1513" Y="102" Height="381" Width="244" 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="33" X="1224" Y="1751" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<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="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="30" X="42" Y="1891" Height="362" Width="218" 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="28" X="330" Y="1890" Height="362" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<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="27" X="640" Y="2064" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<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="26" X="65" Y="839" Height="210" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<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="17" X="862" Y="2175" Height="172" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<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="18" X="849" Y="2353" Height="172" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<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="12" X="20" Y="2307" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<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="2" X="946" Y="2546" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<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="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>
<Connectors>
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="59" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="60" LineWidth="11">
<RoutePoints>
<Point>
<X>1227</X>
@@ -67,7 +68,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="58" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="59" LineWidth="11">
<RoutePoints>
<Point>
<X>1028</X>
@@ -79,10 +80,10 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="57" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="58" LineWidth="11">
<RoutePoints>
<Point>
<X>828</X>
<X>827</X>
<Y>235</Y>
</Point>
<Point>
@@ -91,7 +92,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="56" LineWidth="11">
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="57" LineWidth="11">
<RoutePoints>
<Point>
<X>1116</X>
@@ -107,7 +108,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="54" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="55" LineWidth="11">
<RoutePoints>
<Point>
<X>721</X>
@@ -119,7 +120,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="55" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="56" LineWidth="11">
<RoutePoints>
<Point>
<X>482</X>
@@ -131,7 +132,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="51" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="52" LineWidth="11">
<RoutePoints>
<Point>
<X>1113</X>
@@ -143,7 +144,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="53" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="54" LineWidth="11">
<RoutePoints>
<Point>
<X>1364</X>
@@ -155,7 +156,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="52" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="53" LineWidth="11">
<RoutePoints>
<Point>
<X>1153</X>
@@ -167,7 +168,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="50" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="51" LineWidth="11">
<RoutePoints>
<Point>
<X>115</X>
@@ -179,7 +180,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="49" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="50" LineWidth="11">
<RoutePoints>
<Point>
<X>284</X>
@@ -191,7 +192,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="18" LineWidth="11">
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="21" LineWidth="11">
<RoutePoints>
<Point>
<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 SteamWare;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
@@ -81,12 +83,6 @@ namespace AppData
#endregion Public Constructors
#region Protected Properties
protected int cacheDataTTL { get; set; } = 2;
#endregion Protected Properties
#region Public Properties
public string CodSoggCurrUser
@@ -107,189 +103,6 @@ namespace AppData
#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
/// <summary>
@@ -476,7 +289,6 @@ namespace AppData
memLayer.ML.setRSV(redKey, rawData, cacheDataTTL);
}
//restituisco valore..
return answ;
}
@@ -516,42 +328,6 @@ namespace AppData
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>
/// Recupera printer dato codPostazione
/// </summary>
@@ -589,6 +365,41 @@ namespace AppData
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)]
public DS_App.UnloadStatsDataTable getUnloadStatsByBatch(int BatchID, int StatLevel)
{
@@ -621,6 +432,140 @@ namespace AppData
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>
/// effettua la stampa di un documento
/// </summary>
@@ -656,5 +601,194 @@ namespace AppData
}
#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
}
}
+2 -2
View File
@@ -12,7 +12,7 @@ namespace AppData.Properties {
[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 {
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.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
[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 {
get {
return ((string)(this["Sauder_NKCConnectionString"]));
+3 -3
View File
@@ -4,11 +4,11 @@
<Settings>
<Setting Name="Sauder_NKCConnectionString" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
&lt;ConnectionString&gt;Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16&lt;/ConnectionString&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;TrustServerCertificate=True;&lt;/ConnectionString&gt;
&lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
&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>
</Settings>
</SettingsFile>
+9 -5
View File
@@ -3,7 +3,7 @@
<configSections>
</configSections>
<connectionStrings>
<add name="AppData.Properties.Settings.Sauder_NKCConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16" providerName="System.Data.SqlClient" />
<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>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
@@ -13,7 +13,7 @@
</dependentAssembly>
<dependentAssembly>
<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>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -33,7 +33,7 @@
</dependentAssembly>
<dependentAssembly>
<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>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
@@ -57,7 +57,7 @@
</dependentAssembly>
<dependentAssembly>
<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>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
@@ -69,7 +69,11 @@
</dependentAssembly>
<dependentAssembly>
<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>
</assemblyBinding>
</runtime>
+22 -16
View File
@@ -2,31 +2,36 @@
<packages>
<package id="AIM" version="1.1.0" targetFramework="net462" />
<package id="AjaxControlToolkit" version="20.1.0" targetFramework="net462" />
<package id="Crc32C.NET" version="1.0.5.0" targetFramework="net462" />
<package id="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="Microsoft.Bcl.AsyncInterfaces" version="6.0.0" targetFramework="net462" />
<package id="Microsoft.NETCore.Platforms" version="6.0.6" targetFramework="net462" />
<package id="IronSnappy" version="1.3.1" 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.WinForms" version="12.0.2402.15" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.15.0" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.15.0" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.15.0" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.3.0" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.25.0" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.25.0" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.25.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="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="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="SharpZipLib" version="1.4.0" targetFramework="net462" />
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.6.70" targetFramework="net462" />
<package id="Snappier" version="1.0.0" 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.Logger" version="5.3.2311.2908" 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.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.Net.Http" version="4.3.4" 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.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.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.X509Certificates" version="4.3.2" targetFramework="net462" />
<package id="System.Text.Encoding.CodePages" version="6.0.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="6.0.0" targetFramework="net462" />
<package id="System.Text.Encoding.CodePages" version="8.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.ValueTuple" version="4.5.0" targetFramework="net462" />
<package id="ZstdSharp.Port" version="0.7.3" targetFramework="net462" />
</packages>
+1 -1
View File
@@ -47,7 +47,7 @@
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<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 Include="System" />
<Reference Include="System.Configuration" />
+62
View File
@@ -923,6 +923,27 @@ namespace NKC_SDK
/// </summary>
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
}
@@ -1011,6 +1032,47 @@ namespace NKC_SDK
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
}
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<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>
+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 System;
using System.Collections.Generic;
using System.Web;
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
#region Public Methods
+33 -14
View File
@@ -22,6 +22,25 @@ body {
.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;
}
/* COmpresse gridview */
.gridview-comp td {
padding: 2px;
}
/* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) {
.jumbotron {
@@ -218,24 +237,24 @@ body {
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%);
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='#CDCDCDFF', endColorstr='#BDBDBDFF', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00DEEF', endColorstr='#00ABDE', 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%);
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='#CDCDCDFF', endColorstr='#BDBDBDFF', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00DEEF', endColorstr='#00ABDE', GradientType=0);
}
.shortcuts .shortcut:active {
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;
}
.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 */
@media screen and (min-width: 768px) {
.jumbotron {
@@ -263,25 +284,25 @@ body {
}
.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%);
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='#CDCDCDFF', endColorstr='#BDBDBDFF', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00DEEF', endColorstr='#00ABDE', 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%);
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='#CDCDCDFF', endColorstr='#BDBDBDFF', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00DEEF', endColorstr='#00ABDE', GradientType=0);
}
.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)
{
// 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);
// SE machining completato --> status a LAVORATO!
if (item.Machining.DtEnd != null)
+173 -38
View File
@@ -1,6 +1,7 @@
using AppData;
using Newtonsoft.Json;
using NKC_SDK;
using SteamWare;
using System;
using System.IO;
using System.Web.Http;
@@ -9,19 +10,17 @@ namespace NKC_WF.Controllers
{
public class SheetController : ApiController
{
#region Protected Fields
#region Public Constructors
/// <summary>
/// oggetto static/singleton per fare chiamate sul datalayer
/// </summary>
protected DataLayer DLMan = new DataLayer();
public SheetController()
{
dfWrkStart = memLayer.ML.CRB("dateFix_WrkStart");
dfWrkEnd = memLayer.ML.CRB("dateFix_WrkEnd");
dfUnlStart = memLayer.ML.CRB("dateFix_UnlStart");
dfUnlEnd = memLayer.ML.CRB("dateFix_UnlEnd");
}
/// <summary>
/// COdice macchina (HARD CODED)
/// </summary>
protected string machine = "WRK001";
#endregion Protected Fields
#endregion Public Constructors
#region Public Methods
@@ -65,25 +64,10 @@ namespace NKC_WF.Controllers
{
Log.Instance.Error($"EXCEPTION api/Sheet | get({id}){Environment.NewLine}{exc}");
}
Log.Instance.Trace($"api/Sheet | get({id}) | answ: {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>
/// Processa una chiamata POST per l'invio in blocco status BUNK
/// POST: api/Bunk
@@ -116,21 +100,25 @@ namespace NKC_WF.Controllers
if (sheetUpdated.SheetList != null)
{
// salvo macchina
machine = sheetUpdated.Machine;
foreach (var currSheet in sheetUpdated.SheetList)
{
// se non nullo...
if (currSheet != null)
{
DLMan.taSHL.updateDate(currSheet.SheetId, currSheet.Printing.DtStart, currSheet.Printing.DtEnd, currSheet.Machining.DtStart, currSheet.Machining.DtEnd, currSheet.Unloading.DtStart, currSheet.Unloading.DtEnd, (int)currSheet.Status);
// 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!
if (currSheet.Machining.DtEnd != null)
if (fixSheet.Machining.DtEnd != null)
{
// 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
ComLib.advaceSheetRevByBunk(currSheet.BunkId);
BunkId = currSheet.BunkId;
ComLib.advaceSheetRevByBunk(fixSheet.BunkId);
BunkId = fixSheet.BunkId;
answ = "OK";
}
}
@@ -150,20 +138,40 @@ namespace NKC_WF.Controllers
{
answ = "NO";
}
Log.Instance.Trace($"api/Sheet | post() | machine: {machine} | BatchId: {BatchId} | answ: {answ}");
return answ;
}
/// <summary>
/// Effettua la chiamata di update x SINGOLO foglio
/// </summary>
/// <param name="sheetUpdated">Oggetto con Elenco fogli da aggiornare</param>
/// <summary> Effettua la chiamata di update x SINGOLO foglio
///
///
/// *********************************** 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
[HttpPut]
public void Put(SheetWorkList sheetUpdated)
{
// 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/2017/sep/14/accepting-raw-request-body-content-in-aspnet-core-api-controllers
// 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
int BunkId = 0;
int BatchId = 0;
if (sheetUpdated != null)
@@ -205,5 +213,132 @@ namespace NKC_WF.Controllers
}
#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"?>
<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="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')" />
@@ -59,8 +58,14 @@
<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>
</Reference>
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath>
<Reference Include="AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<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 Include="DnsClient, Version=1.7.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<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">
<HintPath>..\packages\elmah.corelibrary.1.2.2\lib\Elmah.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.4.0.12, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.4.0\lib\netstandard2.0\ICSharpCode.SharpZipLib.dll</HintPath>
<Private>True</Private>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.4.2.13, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.4.2\lib\netstandard2.0\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.SessionState.SessionStateModule, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.SessionState.SessionStateModule.1.1.0\lib\Net462\Microsoft.AspNet.SessionState.SessionStateModule.dll</HintPath>
<Reference Include="IronSnappy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b1d4b1dc83bdcf31, processorArchitecture=MSIL">
<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 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>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
<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.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>
</Reference>
<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">
<HintPath>..\packages\Microsoft.Web.Infrastructure.2.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Web.RedisSessionStateProvider, Version=4.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.RedisSessionStateProvider.4.0.1\lib\net462\Microsoft.Web.RedisSessionStateProvider.dll</HintPath>
<Reference Include="Microsoft.Web.RedisSessionStateProvider, Version=5.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.RedisSessionStateProvider.5.0.4\lib\net462\Microsoft.Web.RedisSessionStateProvider.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.15.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.25.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.15.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.25.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.15.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath>
<Reference Include="MongoDB.Driver.Core, Version=2.25.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.25.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.3.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
<Reference Include="MongoDB.Libmongocrypt, Version=1.9.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.9.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</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">
<HintPath>..\packages\NLog.5.2.4\lib\net46\NLog.dll</HintPath>
<HintPath>..\packages\NLog.5.3.2\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="PdfSharp, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.dll</HintPath>
@@ -116,17 +132,16 @@
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.Charting.dll</HintPath>
</Reference>
<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 Include="SharpCompress, Version=0.32.2.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.32.2\lib\net461\SharpCompress.dll</HintPath>
<Private>True</Private>
<Reference Include="SharpCompress, Version=0.37.2.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.37.2\lib\net462\SharpCompress.dll</HintPath>
</Reference>
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath>
<Reference Include="Snappier, Version=1.1.6.0, Culture=neutral, PublicKeyToken=a1b25124e6e13a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Snappier.1.1.6\lib\netstandard2.0\Snappier.dll</HintPath>
</Reference>
<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 Include="SteamWare, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.3.2311.2908\lib\net462\SteamWare.dll</HintPath>
@@ -142,30 +157,36 @@
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<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.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.6.0.1\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
<Reference Include="System.Data.OracleClient" />
<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 Include="System.DirectoryServices" />
<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>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Pipelines, Version=6.0.0.3, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.6.0.3\lib\net461\System.IO.Pipelines.dll</HintPath>
<Reference Include="System.IO.Pipelines, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.8.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference>
<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>
</Reference>
<Reference Include="System.Net" />
<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>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=5.2.9.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll</HintPath>
<Reference Include="System.Net.Http.Formatting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
@@ -181,6 +202,9 @@
</Reference>
<Reference Include="System.Runtime.Serialization" />
<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">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
</Reference>
@@ -189,8 +213,8 @@
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Pkcs, Version=6.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.6.0.1\lib\net461\System.Security.Cryptography.Pkcs.dll</HintPath>
<Reference Include="System.Security.Cryptography.Pkcs, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.8.0.0\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference>
<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>
@@ -200,12 +224,19 @@
<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>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encoding.CodePages, Version=6.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>
<Reference Include="System.Security.Permissions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Permissions.8.0.0\lib\net462\System.Security.Permissions.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.6.0.0\lib\net461\System.Threading.Channels.dll</HintPath>
<Reference Include="System.Security.Principal.Windows, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<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 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>
@@ -216,28 +247,28 @@
</Reference>
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.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 Include="System.Web.Http, Version=5.2.9.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll</HintPath>
<Reference Include="System.Web.Http, Version=5.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.3.0\lib\net45\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=5.2.9.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.9\lib\net45\System.Web.Http.WebHost.dll</HintPath>
<Reference Include="System.Web.Http.WebHost, Version=5.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.3.0\lib\net45\System.Web.Http.WebHost.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.9.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.9\lib\net45\System.Web.Mvc.dll</HintPath>
<Reference Include="System.Web.Mvc, Version=5.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.3.0\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference>
<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 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 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 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 Include="System.Xml.Linq" />
<Reference Include="System.Drawing" />
@@ -269,9 +300,14 @@
<Reference Include="Microsoft.AspNet.FriendlyUrls">
<HintPath>..\packages\Microsoft.AspNet.FriendlyUrls.Core.1.0.2\lib\net45\Microsoft.AspNet.FriendlyUrls.dll</HintPath>
</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>
<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-favicon.ico" />
<Content Include="Content\bootstrap-grid.css" />
@@ -288,9 +324,6 @@
<Content Include="Content\SheetColor.min.css">
<DependentUpon>SheetColor.css</DependentUpon>
</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="ErrorPages\400.aspx" />
<Content Include="ErrorPages\401.aspx" />
@@ -345,12 +378,11 @@
<Content Include="Reports\SpecialParts.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</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-app.config" />
<Content Include="FileUpload\.placeholder.file">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<None Include="Properties\PublishProfiles\IIS04.pubxml" />
<Content Include="Reports\reportConf.json" />
<None Include="Scripts\jquery-3.6.0.intellisense.js" />
@@ -478,6 +510,8 @@
<Content Include="site\PartMIA.aspx" />
<Content Include="site\PartValidation.aspx" />
<Content Include="site\PlannerReports.aspx" />
<Content Include="site\PlannerReportsBatchStats.aspx" />
<Content Include="site\PlannerReportsDailyStats.aspx" />
<Content Include="site\PlantMgmt.aspx" />
<Content Include="site\RemanExtLink.aspx" />
<Content Include="site\SecondScreen.aspx" />
@@ -485,8 +519,10 @@
<Content Include="site\SvgFull.aspx" />
<Content Include="site\TestAuth.aspx" />
<Content Include="site\StackManager.aspx" />
<Content Include="site\TestChart.aspx" />
<Content Include="site\Unauth.aspx" />
<Content Include="site\UpdMan.aspx" />
<Content Include="site\OrderSearch.aspx" />
<Content Include="WebUserControls\cmp_barcode.ascx" />
<Content Include="WebUserControls\cmp_batchDetail.ascx" />
<Content Include="WebUserControls\cmp_batchDetailData.ascx" />
@@ -498,6 +534,7 @@
<Content Include="WebUserControls\cmp_BatchStatsPlot.ascx" />
<Content Include="WebUserControls\cmp_binDetIRK.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_cartDetIRK.ascx" />
<Content Include="WebUserControls\cmp_DailyStatsList.ascx" />
@@ -557,6 +594,7 @@
<Content Include="WebUserControls\cmp_orderPrint.ascx" />
<Content Include="WebUserControls\cmp_orderRunning.ascx" />
<Content Include="WebUserControls\cmp_orderSched.ascx" />
<Content Include="WebUserControls\cmp_OrderSearch.ascx" />
<Content Include="WebUserControls\cmp_OtherItemsDetail.ascx" />
<Content Include="WebUserControls\cmp_painting.ascx" />
<Content Include="WebUserControls\cmp_paintingSmart.ascx" />
@@ -615,7 +653,7 @@
<Content Include="fonts\fontawesome-webfont.ttf" />
<Content Include="fonts\fontawesome-webfont.eot" />
<Content Include="Content\Site.less" />
<Content Include="logs\.PlaceHolder.file">
<Content Include="logs\.placeholder.file">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Content\fonts.less" />
@@ -631,9 +669,6 @@
<Content Include="Content\RobotoCondensed.woff2">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="FileUpload\.PlaceHolder.file">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Content\SheetColor.less" />
<Content Include="PartsImg\.PlaceHolder.file">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
@@ -1052,6 +1087,20 @@
<Compile Include="site\PlannerReports.aspx.designer.cs">
<DependentUpon>PlannerReports.aspx</DependentUpon>
</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">
<DependentUpon>PlantMgmt.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1115,6 +1164,13 @@
<Compile Include="site\StackManager.aspx.designer.cs">
<DependentUpon>StackManager.aspx</DependentUpon>
</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">
<DependentUpon>Unauth.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1143,6 +1199,13 @@
<Compile Include="site\vocabolario.aspx.designer.cs">
<DependentUpon>vocabolario.aspx</DependentUpon>
</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">
<DependentUpon>cmp_barcode.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1220,6 +1283,13 @@
<Compile Include="WebUserControls\cmp_BP_bunkList.ascx.designer.cs">
<DependentUpon>cmp_BP_bunkList.ascx</DependentUpon>
</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">
<DependentUpon>cmp_BP_sheetList.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1654,6 +1724,13 @@
<Compile Include="WebUserControls\cmp_orderSched.ascx.designer.cs">
<DependentUpon>cmp_orderSched.ascx</DependentUpon>
</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">
<DependentUpon>cmp_OtherItemsDetail.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1958,8 +2035,10 @@
</Content>
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.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\AWSSDK.SecurityToken.CodeAnalysis.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>
<PropertyGroup>
<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>
</PropertyGroup>
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.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\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>
<!-- 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.
@@ -2058,8 +2134,6 @@
<CallTarget Targets="ApplyWebConfigTransform" />
</Target>
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.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\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>
+73 -4
View File
@@ -11,7 +11,7 @@
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>8.86829in</Height>
<Height>9.63445in</Height>
<TablixCells>
<TablixCell>
<CellContents>
@@ -321,6 +321,71 @@
</TablixCell>
</TablixCells>
</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>
</TablixBody>
<TablixColumnHierarchy>
@@ -336,6 +401,10 @@
<GroupExpression>=Fields!ItemExtCode.Value</GroupExpression>
</GroupExpressions>
</Group>
<TablixMembers>
<TablixMember />
<TablixMember />
</TablixMembers>
<DataElementOutput>Output</DataElementOutput>
<KeepTogether>true</KeepTogether>
</TablixMember>
@@ -347,7 +416,7 @@
</PageBreak>
<Top>0.1343in</Top>
<Left>0.00001cm</Left>
<Height>8.86829in</Height>
<Height>9.83445in</Height>
<Width>7.37604in</Width>
<Style>
<FontFamily>Tahoma</FontFamily>
@@ -356,7 +425,7 @@
</Style>
</Tablix>
</ReportItems>
<Height>9.5in</Height>
<Height>9.96875in</Height>
<Style />
</Body>
<Width>7.5in</Width>
@@ -367,7 +436,7 @@
<BottomMargin>0.5in</BottomMargin>
<Style />
</Page>
<Author>v. 1.5.1</Author>
<Author>v. 1.5.2</Author>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="Sauder_NKC">
+73 -3
View File
@@ -849,18 +849,88 @@
</Style>
</Tablix>
</ReportItems>
<Height>9.92027in</Height>
<Height>9.60777in</Height>
<Style />
</Body>
<Width>7.46875in</Width>
<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>
<RightMargin>0.5in</RightMargin>
<TopMargin>0.5in</TopMargin>
<BottomMargin>0.5in</BottomMargin>
<Style />
</Page>
<Author>v. 1.4.3</Author>
<Author>v. 1.4.4</Author>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="Sauder_NKC">
@@ -961,7 +1031,7 @@
<DataType>Integer</DataType>
<DefaultValue>
<Values>
<Value>1319</Value>
<Value>7544</Value>
</Values>
</DefaultValue>
<Prompt>Cart ID:</Prompt>
+78 -10
View File
@@ -11,7 +11,7 @@
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>9.9907in</Height>
<Height>9.76979in</Height>
<TablixCells>
<TablixCell>
<CellContents>
@@ -23,7 +23,7 @@
' viene creata un'immagine apposita da DXF file validation per gli special part con dimensioni diverse</Value>
<Sizing>FitProportional</Sizing>
<Top>6in</Top>
<Top>5.88367in</Top>
<Left>0.02648cm</Left>
<Height>78.24611mm</Height>
<Width>187.17581mm</Width>
@@ -470,7 +470,6 @@
</Textbox>
</ReportItems>
<KeepTogether>true</KeepTogether>
<Top>0.01993in</Top>
<Left>0.00445cm</Left>
<Height>2.91471in</Height>
<Width>7.37604in</Width>
@@ -502,7 +501,7 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>DueDate</rd:DefaultName>
<Top>3in</Top>
<Top>2.91471in</Top>
<Left>0.02203cm</Left>
<Height>2.96896in</Height>
<Width>7.3622in</Width>
@@ -716,7 +715,7 @@
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>stp_prt_SpecialPart</DataSetName>
<Top>9.15in</Top>
<Top>8.96423in</Top>
<Left>0.82in</Left>
<Height>0.80556in</Height>
<Width>5.70574in</Width>
@@ -759,6 +758,71 @@
</TablixCell>
</TablixCells>
</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>
</TablixBody>
<TablixColumnHierarchy>
@@ -774,6 +838,10 @@
<GroupExpression>=Fields!ItemExtCode.Value</GroupExpression>
</GroupExpressions>
</Group>
<TablixMembers>
<TablixMember />
<TablixMember />
</TablixMembers>
<DataElementOutput>Output</DataElementOutput>
<KeepTogether>true</KeepTogether>
</TablixMember>
@@ -783,9 +851,9 @@
<PageBreak>
<BreakLocation>End</BreakLocation>
</PageBreak>
<Top>0.0093in</Top>
<Top>0in</Top>
<Left>0.00001cm</Left>
<Height>9.9907in</Height>
<Height>9.96979in</Height>
<Width>7.37954in</Width>
<Style>
<FontFamily>Tahoma</FontFamily>
@@ -794,7 +862,7 @@
</Style>
</Tablix>
</ReportItems>
<Height>10in</Height>
<Height>9.96979in</Height>
<Style />
</Body>
<Width>7.5in</Width>
@@ -805,7 +873,7 @@
<BottomMargin>0.5in</BottomMargin>
<Style />
</Page>
<Author>v. 1.4.1</Author>
<Author>v. 1.4.2</Author>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="Sauder_NKC">
@@ -826,7 +894,7 @@
<DataSets>
<DataSet Name="stp_prt_SpecialPart">
<Query>
<DataSourceName>Sauder_NKC_Test</DataSourceName>
<DataSourceName>Sauder_NKC</DataSourceName>
<QueryParameters>
<QueryParameter Name="@CartID">
<Value>=Parameters!CartID.Value</Value>
+2 -2
View File
@@ -5,8 +5,8 @@
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<!--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="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG,allowAdmin=true" 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="redis01.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<!--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="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">
<appSettings>
<!--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="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG,allowAdmin=true" 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="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<!--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="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">
<appSettings>
<!--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="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG,allowAdmin=true" 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="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<!--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="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">
<appSettings>
<!--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="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG,allowAdmin=true" 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="redis.ufficio:26379,serviceName=devel,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<!--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="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" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
+32 -32
View File
@@ -1,44 +1,44 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls
{
public partial class cmp_BP_bunkList
{
public partial class cmp_BP_bunkList
{
/// <summary>
/// Controllo grView.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// grView control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// Controllo hfBatchID.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchID;
/// <summary>
/// hfBatchID 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 hfBatchID;
/// <summary>
/// Controllo ods.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
}
/// <summary>
/// ods control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
}
}
+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" %>
<asp:HiddenField ID="hfBunkIndex" 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">
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<SelectedRowStyle CssClass="table-info" />
<EmptyDataTemplate>
<%: traduci("NoRecord") %>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField ShowHeader="False">
<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>
</HeaderTemplate>
<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>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="SheetIndex" HeaderText="#" ReadOnly="True" SortExpression="SheetIndex" />
<asp:TemplateField HeaderText="Material" SortExpression="MatExtCode">
<ItemTemplate>
<div class="row">
<div class="col-8 text-left">
<asp:Label ID="lblMatExtCode" runat="server" Text='<%# Eval("MatExtCode") %>' CssClass="font-weight-bold"></asp:Label>
</div>
<div class="col-4">
<asp:Label ID="lblSheetID" runat="server" Text='<%# Eval("SheetID") %>' CssClass="small text-right"></asp:Label>
</div>
<div class="col-12 text-left">
<asp:Label ID="lblMatDesc" runat="server" Text='<%# Eval("MatDesc") %>' CssClass="small"></asp:Label>
</div>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estim" SortExpression="WrkTimeEst">
<ItemTemplate>
<asp:Label ID="lblWrkTimeEst" runat="server" Text='<%# formatMinSec(Eval("WrkTimeEst", "{0:N0}")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<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" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<SelectedRowStyle CssClass="table-info" />
<EmptyDataTemplate>
<%: traduci("NoRecord") %>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField ShowHeader="False">
<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>
</HeaderTemplate>
<ItemTemplate>
<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>
</asp:TemplateField>
<asp:BoundField DataField="SheetIndex" HeaderText="#" ReadOnly="True" SortExpression="SheetIndex" ItemStyle-CssClass="px-1" DataFormatString="{0:00}" />
<asp:TemplateField HeaderText="Material" SortExpression="MatExtCode">
<ItemTemplate>
<div class="d-flex justify-content-between text-nowrap px-1">
<div class="px-0 text-left">
<asp:Label ID="lblMatExtCode" runat="server" Text='<%# Eval("MatExtCode") %>' CssClass="font-weight-bold"></asp:Label>
</div>
<div class="px-0 text-right">
<asp:Label ID="lblSheetID" runat="server" Text='<%# Eval("SheetID") %>' CssClass="small text-right"></asp:Label>
</div>
</div>
<div class="d-flex justify-content-between text-nowrap">
<div class="px-0 text-left">
<asp:Label ID="lblMatDesc" runat="server" Text='<%# Eval("MatDesc") %>' CssClass="small"></asp:Label>
</div>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estim" SortExpression="WrkTimeEst">
<ItemTemplate>
<div class="d-flex justify-content-between text-nowrap px-1">
<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:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStack" TypeName="AppData.DS_AppTableAdapters.SheetListTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="hfStackID" DefaultValue="0" Name="StackID" PropertyName="Value" Type="Int32" />
<asp:Parameter Name="Machine" DefaultValue="" />
</SelectParameters>
<SelectParameters>
<asp:ControlParameter ControlID="hfStackID" DefaultValue="0" Name="StackID" PropertyName="Value" Type="Int32" />
<asp:Parameter Name="Machine" DefaultValue="" />
</SelectParameters>
</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
{
public partial class cmp_BP_sheetList : BaseUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
#region Public Properties
}
/// <summary>
/// Bunk corrente...
/// </summary>
@@ -16,6 +20,9 @@ namespace NKC_WF.WebUserControls
set
{
hfStackID.Value = value.ToString();
// aggiorno dati mongo...
updateMongoData(BatchId, value);
// disegno datagrid...
grView.DataBind();
}
get
@@ -25,6 +32,18 @@ namespace NKC_WF.WebUserControls
return answ;
}
}
/// <summary>
/// Num totale Sheets
/// </summary>
public int numSheets
{
get
{
return grView.Rows.Count;
}
}
// <summary>
/// Indice selezionato
/// </summary>
@@ -40,6 +59,7 @@ namespace NKC_WF.WebUserControls
grView.DataBind();
}
}
/// <summary>
/// SheetId selezionato
/// </summary>
@@ -63,27 +83,11 @@ namespace NKC_WF.WebUserControls
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)
{
raiseEvent();
}
#endregion Public Properties
#region Public Methods
/// <summary>
/// Formatta in min/sec il tempo in sec decimale
/// </summary>
@@ -101,14 +105,196 @@ namespace NKC_WF.WebUserControls
}
/// <summary>
/// Num totale Sheets
/// Recupera valore YELD dato SheetID
/// </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
{
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
{
/// <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>
/// hfStackID control.
/// </summary>
@@ -9,10 +9,10 @@
</div>
</div>
<div class="row">
<div class="col-4">
<div class="col-12 col-md-3">
<b class="text-uppercase"><%: traduci("BatchPreviewStats") %></b>
</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="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>
@@ -39,7 +39,7 @@
<div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("PlotGraph") %></span>
</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 class="col-2">
@@ -142,7 +142,7 @@ namespace NKC_WF.WebUserControls
{
if (!Page.IsPostBack)
{
cmp_numRow.numRow = 25;
cmp_numRow.numRow = 15;
grView.PageSize = cmp_numRow.numRow;
divGraph.Visible = false;
divType.Visible = false;
@@ -152,6 +152,7 @@ namespace NKC_WF.WebUserControls
hlDownload.Visible = fileExist;
}
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
doUpdate();
}
protected void txtNumShow_TextChanged(object sender, EventArgs e)
+27 -16
View File
@@ -24,7 +24,7 @@
var labelsTS = dataTS.map(function (item) {
return item['x'];
});
//console.log('labels data', labels);
//console.log('labels data', labelsTS);
var myOptions = {
responsive: true,
@@ -42,15 +42,17 @@
};
// recupero obj chart
//console.log('ctx ID: ', document.getElementById('myChartTS'));
var ctx = document.getElementById('myChartTS').getContext('2d');
var sLeg = document.getElementById('<%=hfLegend.ClientID %>').value;
var chart = new Chart(ctx, {
type: 'line',
data: {
labels: labelsTS,
datasets: [{
label: '<%=hfLegend.Value %>',
label: sLeg,
borderColor: 'rgb(7, 173, 236)',
lineTension: 0,
//steppedLine: false,
@@ -66,22 +68,31 @@
}
// effettuo plotting grafico TimeSerie!
function plotTS() {
//console.log("api/BatchStats/<%=hfShowLast.Value %>?PlotType=<%=hfPlotType.Value%>");
// caricamento pagina
$.ajax({
type: "GET",
url: "../api/BatchStats/<%=hfShowLast.Value %>?PlotType=<%=hfPlotType.Value%>",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess_,
error: OnErrorCall_
});
var hfSL = document.getElementById('<%=hfShowLast.ClientID %>');
if (hfSL != null) {
var lastNum = document.getElementById('<%=hfShowLast.ClientID %>').value ?? "";
var plotType = document.getElementById('<%=hfPlotType.ClientID %>').value ?? "";
//console.log("../api/BatchStats/"+lastNum+"?PlotType="+plotType);
// caricamento pagina
$.ajax({
type: "GET",
url: "../api/BatchStats/" + lastNum + "?PlotType=" + plotType,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess_,
error: OnErrorCall_
});
}
}
// funzione di drawing ad OGNI pageload!
function pageLoad() {
// chiamo recupero dati + plot della TS
plotTS();
//console.log('pageLoad!');
try {
console.log('pageLoad BatchStats! | ID: <%= this.ID %> ');
plotTS();
}
catch (error) {
console.log(error);
}
}
</script>
</script>
@@ -53,10 +53,7 @@ namespace NKC_WF.WebUserControls
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods
}
}
@@ -9,10 +9,10 @@
</div>
</div>
<div class="row">
<div class="col-3">
<div class="col-12 col-md-3">
<b class="text-uppercase"><%: traduci("DayProdStats") %></b>
</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="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>
@@ -38,7 +38,7 @@
<div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("PlotGraph") %></span>
</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 class="col-2">
@@ -174,7 +174,7 @@ namespace NKC_WF.WebUserControls
{
if (!Page.IsPostBack)
{
cmp_numRow.numRow = 25;
cmp_numRow.numRow = 15;
grView.PageSize = cmp_numRow.numRow;
divGraph.Visible = false;
divType.Visible = false;
@@ -186,6 +186,7 @@ namespace NKC_WF.WebUserControls
hlDownload.Visible = fileExist;
}
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
doUpdate();
}
protected void txtDateEnd_TextChanged(object sender, EventArgs e)
+46 -17
View File
@@ -4,11 +4,10 @@
<div class="row">
<div class="col-12 px-2">
<h4>Batch Stats Plot</h4>
<h4>Daily Stats Plot</h4>
</div>
<div class="col-12 px-2">
<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-bar progress-bar-striped progress-bar-animated" style="width: 40%"></div>
</div>
@@ -23,6 +22,7 @@
<canvas id="myChartTS" height="200"></canvas>
</div>
</div>
<script type="text/javascript">
// funzione eseguita se successo al caricamento
function OnSuccess_(reponse) {
@@ -65,7 +65,11 @@
};
// 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, {
type: 'line',
@@ -74,21 +78,21 @@
datasets: [
{
label: 'NE01: <%=hfLegend.Value %>',
label: 'NE01: ' + sLeg,
borderColor: 'rgb(7, 173, 236)',
lineTension: 0,
//steppedLine: false,
data: dataNE01
},
{
label: 'NE02: <%=hfLegend.Value %>',
label: 'NE02: ' + sLeg,
borderColor: 'rgb(7, 173, 26)',
lineTension: 0,
//steppedLine: false,
data: dataNE02
},
{
label: 'NE03: <%=hfLegend.Value %>',
label: 'NE03: ' + sLeg,
borderColor: 'rgb(7, 203, 126)',
lineTension: 0,
//steppedLine: false,
@@ -99,10 +103,15 @@
options: myOptions
});
// nascondo panel loading
var currDiv = document.getElementById("divLoading");
currDiv.style.display = "none";
console.log("style: " + currDiv.style.display);
try {
// nascondo panel loading
var currDiv = document.getElementById('divLoading');
currDiv.style.display = "none";
console.log("style: " + currDiv.style.display);
}
catch (error) {
console.log(error);
}
}
// errore in reload!
function OnErrorCall_(repo) {
@@ -110,11 +119,20 @@
}
// effettuo plotting grafico TimeSerie!
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
$.ajax({
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",
dataType: "json",
success: OnSuccess_,
@@ -124,11 +142,22 @@
// funzione di drawing ad OGNI pageload!
function pageLoad() {
// mostro panel loading
var currDiv = document.getElementById("divLoading");
currDiv.style.display = "block";
// chiamo recupero dati + plot della TS
plotTS();
//console.log('pageLoad!');
//console.log('pageLoad DailyStats! | ID: <%= this.ID %> ');
try {
try {
// mostro panel loading
var currDiv = document.getElementById('divLoading');
currDiv.style.display = "block";
}
catch (error) {
console.log(error);
}
// chiamo recupero dati + plot della TS
plotTS();
}
catch (error) {
console.log(error);
}
}
</script>
@@ -1,21 +1,11 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class cmp_DailyStatsPlot : System.Web.UI.UserControl
{
#region Protected Fields
protected string dateFormat = "yyyy-MM-dd";
#endregion Protected Fields
#region Public Properties
public DateTime DateEnd
@@ -84,11 +74,14 @@ namespace NKC_WF.WebUserControls
#endregion Public Properties
#region Protected Fields
protected string dateFormat = "yyyy-MM-dd";
#endregion Protected Fields
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods
}
+8 -1
View File
@@ -2,7 +2,14 @@
<%@ 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>
<asp:BoundField DataField="ErrType" HeaderText="Type" SortExpression="ErrType" />
<asp:BoundField DataField="ParentUid" HeaderText="PUID" SortExpression="ParentUid" />
+32 -32
View File
@@ -1,44 +1,44 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls
{
public partial class cmp_ErrorsLog
{
public partial class cmp_ErrorsLog
{
/// <summary>
/// Controllo grView.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// grView control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// Controllo ods.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary>
/// ods control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary>
/// Controllo hfPuid.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfPuid;
}
/// <summary>
/// hfPuid 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 hfPuid;
}
}
+3 -2
View File
@@ -8,10 +8,11 @@
<asp:HiddenField ID="hfFilename" runat="server" Value="" />
<asp:HiddenField ID="hfCurrRev" runat="server" Value="0" />
<asp:HiddenField ID="hfCurrBunkRev" runat="server" Value="0" />
<asp:HiddenField ID="hfTimerCss" runat="server" Value="1000" />
<script type="text/javascript">
lastVal = 0;
my_function();
setInterval("my_function();", 1000);
setInterval("my_function();", <%=hfTimerCss.Value%>);
function my_function() {
BunkId = document.getElementById('<%=hfBatchId.ClientID%>').value;
SheetId = document.getElementById('<%=hfSheetId.ClientID%>').value;
@@ -47,5 +48,5 @@
});
}
</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>
@@ -48,6 +48,27 @@ namespace NKC_WF.WebUserControls
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>
/// Percorso file calcolato
/// </summary>
@@ -100,7 +121,14 @@ namespace NKC_WF.WebUserControls
{
// scrivo valore revisione batch!
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>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls
{
public partial class cmp_MU_svgViewer
{
public partial class cmp_MU_svgViewer
{
/// <summary>
/// Controllo hfBatchId.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchId;
/// <summary>
/// hfBatchId 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 hfBatchId;
/// <summary>
/// Controllo hfSheetId.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfSheetId;
/// <summary>
/// hfSheetId 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 hfSheetId;
/// <summary>
/// Controllo hfFilename.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfFilename;
/// <summary>
/// hfFilename 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 hfFilename;
/// <summary>
/// Controllo hfCurrRev.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfCurrRev;
/// <summary>
/// hfCurrRev 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 hfCurrRev;
/// <summary>
/// Controllo hfCurrBunkRev.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfCurrBunkRev;
/// <summary>
/// hfCurrBunkRev 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 hfCurrBunkRev;
/// <summary>
/// Controllo svgTable.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl svgTable;
}
/// <summary>
/// hfTimerCss 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 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
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
{
+13 -8
View File
@@ -14,20 +14,25 @@
<asp:HiddenField runat="server" ID="hfCss03" Value="secondary" />
<div class="row" runat="server" id="divSelect">
<asp:DropDownList runat="server" ID="ddlMachine" CssClass="form-control" AutoPostBack="True" OnSelectedIndexChanged="ddlMachine_SelectedIndexChanged">
<asp:ListItem Text="-- PLEASE SELECT ---" Value="" />
<asp:ListItem Text="NE01" Value="NE01" />
<asp:ListItem Text="NE02" Value="NE02" />
<asp:ListItem Text="NE03" Value="NE03" />
</asp:DropDownList>
<div class="col-12">
<asp:DropDownList runat="server" ID="ddlMachine" CssClass="form-control" AutoPostBack="True" OnSelectedIndexChanged="ddlMachine_SelectedIndexChanged">
<asp:ListItem Text="-- PLEASE SELECT ---" Value="" />
<asp:ListItem Text="NE01" Value="NE01" />
<asp:ListItem Text="NE02" Value="NE02" />
<asp:ListItem Text="NE03" Value="NE03" />
</asp:DropDownList>
</div>
</div>
<asp:UpdatePanel runat="server" ID="upnlTitle" UpdateMode="Conditional">
<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="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>
<div class="small">
<asp:Label runat="server" ID="lblUpdated" Text="---"></asp:Label>
</div>
</div>
<div class="col-10">
<div class="d-flex text-center">
@@ -50,4 +55,4 @@
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:UpdatePanel>
+113 -104
View File
@@ -9,7 +9,7 @@ using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class cmp_MachSem : BaseUserControl
public partial class cmp_MachSem : BaseUserControl, IDisposable
{
#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
{
get
@@ -67,9 +54,110 @@ namespace NKC_WF.WebUserControls
}
}
#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
private void checkVisibility()
@@ -107,95 +195,16 @@ namespace NKC_WF.WebUserControls
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
#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.
/// </remarks>
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>
<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
function OnSuccess_(reponse) {
+26 -9
View File
@@ -127,6 +127,8 @@ namespace NKC_WF.WebUserControls
{
resetInput();
resetMessage();
setTimer();
test4reload();
}
else if (string.IsNullOrEmpty(inputAcquired))
{
@@ -147,14 +149,7 @@ namespace NKC_WF.WebUserControls
protected void UiTimer_Tick(object sender, EventArgs e)
{
// controllo, se ultima operazione > smartForceReloadPagina_ms --> reload!
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);
}
test4reload();
}
#endregion Protected Methods
@@ -182,10 +177,32 @@ namespace NKC_WF.WebUserControls
{
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
}
}
+9 -8
View File
@@ -13,29 +13,29 @@
<asp:LinkButton runat="server" ID="lbtAccept" CssClass="btn btn-sm btn-block btn-success"
OnClick="lbtAccept_Click"
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 class="col-3">
<asp:LinkButton runat="server" ID="lbtSendEstim" CssClass="btn btn-sm btn-block btn-info"
OnClick="lbtSendEstim_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStartEstim") %>'
Visible='<%# (checkStatus(Eval("Status"), NKC_SDK.BatchStatus.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"
OnClick="lbtStopEstim_Click"
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"
OnClick="lbtSendNesting_Click"
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"
OnClick="lbtStopNesting_Click"
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"
OnClick="lbtResetNest_Click"
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 class="col-12">
<div class="row">
@@ -75,6 +75,7 @@
</div>
</ItemTemplate>
</asp:FormView>
<asp:CheckBox runat="server" ID="chkActEnab" Checked="true" Visible="false" />
<asp:HiddenField ID="hfBatchId" runat="server" />
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByKey" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter">
<SelectParameters>
@@ -83,5 +84,5 @@
</asp:ObjectDataSource>
<uc1:cmp_batchDetailMongo runat="server" ID="cmp_batchDetailMongo" showInline="true" />
<div runat="server" id="divSplit">
<uc1:cmp_batchDetailSplit runat="server" ID="cmp_batchDetailSplit" />
</div>
<uc1:cmp_batchDetailSplit runat="server" ID="cmp_batchDetailSplit" BtnEnabled='<%# BtnActEnab %>' />
</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>
/// verifica possibilità avvio TASK x presenza task NON chiusi
/// </summary>
@@ -156,7 +172,7 @@ namespace NKC_WF.WebUserControls
DLMan.taEL.deteteByParent("", bRow.EnvNum);
// cerco se ci siano batch descendant...
var childBatch = DLMan.taBL.getDescendByKey(BatchId);
if(childBatch!=null && childBatch.Count>0)
if (childBatch != null && childBatch.Count > 0)
{
foreach (var item in childBatch)
{
@@ -280,6 +296,11 @@ namespace NKC_WF.WebUserControls
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;
}
+9
View File
@@ -23,6 +23,15 @@ namespace NKC_WF.WebUserControls
/// </remarks>
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>
/// hfBatchId control.
/// </summary>
@@ -3,7 +3,9 @@
<div class="row small text-dark text-left">
<div class='<%: cssSized %>'>
<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">
<asp:Label runat="server" ID="lblMatDet" />
</div>
@@ -17,7 +19,7 @@
</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" />
</div>
</div>
@@ -60,15 +60,19 @@ namespace NKC_WF.WebUserControls
#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 = "";
lblProdDet.Text = "";
if (memLayer.ML.CRB("enableMongo"))
{
// cerco da lista salvataggi Estim/Nest...
var estimAnsw = ComLib.man.getEstAnsw(value);
var nestAnsw = ComLib.man.getNestAnsw(value);
var estimAnsw = ComLib.man.getEstAnsw(batchId);
var nestAnsw = ComLib.man.getNestAnsw(batchId);
StringBuilder sbDebug = new StringBuilder();
sbDebug.AppendLine("Debug Info:");
// elenchi x ricerca duplicati
@@ -188,11 +192,15 @@ namespace NKC_WF.WebUserControls
{
// ordino le medie
workRatio.Sort();
// controllo di averne + di 1...
if (workRatio.Count > materialsList.Count * 2)
// filtro i valori + bassi solo se richiesto in conf
if (!chkExcludeMin.Checked)
{
// elimino le + basse quanti materiali ci sono...
workRatio.RemoveRange(0, materialsList.Count);
// controllo di averne + di 1...
if (workRatio.Count > materialsList.Count * 2)
{
// elimino le + basse quanti materiali ci sono...
workRatio.RemoveRange(0, materialsList.Count);
}
}
double avgRatio = workRatio.Average();
double minRatio = workRatio.Min();
@@ -260,5 +268,10 @@ namespace NKC_WF.WebUserControls
}
#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
{
/// <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>
/// lblMatDet control.
/// </summary>
@@ -8,16 +8,31 @@
<asp:HiddenField runat="server" ID="hfEnabled01" />
<asp:HiddenField runat="server" ID="hfEnabled02" />
<asp:HiddenField runat="server" ID="hfEnabled03" />
<asp:HiddenField runat="server" ID="hfCodEnabPrev" />
<div class="card">
<div class="card-header text-center">
<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">
<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>
</asp:LinkButton>
</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 class="card-body p-1">
@@ -43,7 +58,7 @@
<asp:Label runat="server" ID="lblRat01" CssClass="form-control text-right"></asp:Label>
<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="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>
@@ -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
{
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
{
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>
/// Tabella dei batch Descendant di quello corrente
/// </summary>
@@ -331,12 +379,26 @@ namespace NKC_WF.WebUserControls
protected void lbtBalance_Click(object sender, EventArgs e)
{
divError.Visible = false;
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
// imposto la % secondo numero di abilitati...
Ratio01 = enable01 ? (double)(100 / numEnabled) / 100 : 0;
Ratio02 = enable02 ? (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}");
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);
lbtBalance.Focus();
string message = fatto ? "Balance done" : "Balance task error!";
@@ -352,6 +414,8 @@ namespace NKC_WF.WebUserControls
{
string CodMac = ((LinkButton)sender).CommandArgument;
moveOrderByCodMac(CodMac, true);
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
}
/// <summary>
@@ -363,6 +427,8 @@ namespace NKC_WF.WebUserControls
{
string CodMac = ((LinkButton)sender).CommandArgument;
moveAllOrderFromMac(CodMac, true);
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
}
/// <summary>
@@ -374,6 +440,8 @@ namespace NKC_WF.WebUserControls
{
string CodMac = ((LinkButton)sender).CommandArgument;
moveOrderByCodMac(CodMac, false);
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
}
/// <summary>
@@ -385,29 +453,43 @@ namespace NKC_WF.WebUserControls
{
string CodMac = ((LinkButton)sender).CommandArgument;
moveAllOrderFromMac(CodMac, false);
codEnabledPrev = codEnabled;
lblWarnChange.Visible = enabIsChanged;
}
protected void lbtToggle01_Click(object sender, EventArgs e)
{
enable01 = !enable01;
checkDisplayMode();
fixEnabled();
// controllo che ce ne sia ALMENO un altro attivo
if (enable01 && numEnabled > 1 || !enable01)
{
enable01 = !enable01;
checkDisplayMode();
fixEnabled();
}
lbtToggle01.Focus();
}
protected void lbtToggle02_Click(object sender, EventArgs e)
{
enable02 = !enable02;
checkDisplayMode();
fixEnabled();
// controllo che ce ne sia ALMENO un altro attivo
if (enable02 && numEnabled > 1 || !enable02)
{
enable02 = !enable02;
checkDisplayMode();
fixEnabled();
}
lbtToggle02.Focus();
}
protected void lbtToggle03_Click(object sender, EventArgs e)
{
enable03 = !enable03;
checkDisplayMode();
fixEnabled();
// controllo che ce ne sia ALMENO un altro attivo
if (enable03 && numEnabled > 1 || !enable03)
{
enable03 = !enable03;
checkDisplayMode();
fixEnabled();
}
lbtToggle03.Focus();
}
@@ -417,10 +499,14 @@ namespace NKC_WF.WebUserControls
{
// verifica visualizzazione
toggleAll(true);
codEnabledPrev = codEnabled;
fixChildBatch();
fixRatio();
checkDisplayMode();
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_orderExtListNE02.eh_doRefresh += Cmp_orderExtListNE02_eh_doRefresh;
@@ -431,6 +517,32 @@ namespace NKC_WF.WebUserControls
#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
{
get
@@ -516,7 +628,7 @@ namespace NKC_WF.WebUserControls
/// </summary>
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!
double tmpTime = totTime01 + totTime02 + totTime03;
string baseCssClass = "btn btn-success btn-block";
@@ -537,6 +649,18 @@ namespace NKC_WF.WebUserControls
cmp_batchDetailSplitInfoNE01.Visible = !splitEnab;
cmp_batchDetailSplitInfoNE02.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)
@@ -565,16 +689,6 @@ namespace NKC_WF.WebUserControls
int origOrdId = cmp_orderExtListNE03.SelOrderId;
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()
{
@@ -603,30 +717,35 @@ namespace NKC_WF.WebUserControls
private void fixEnabled()
{
lbtToggle01.CssClass = enable01 ? "btn btn-sm btn-primary" : "btn btn-sm btn-secondary";
lbtToggle02.CssClass = enable02 ? "btn btn-sm btn-primary" : "btn btn-sm btn-secondary";
lbtToggle03.CssClass = enable03 ? "btn btn-sm btn-primary" : "btn btn-sm btn-secondary";
lbtOrdAdd01.CssClass = movEnabled && enable01 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled";
lbtOrdAdd02.CssClass = movEnabled && enable02 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled";
lbtOrdAdd03.CssClass = movEnabled && enable03 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRem01.CssClass = movEnabled && enable01 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRem02.CssClass = movEnabled && enable02 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRem03.CssClass = movEnabled && enable03 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRemAll01.CssClass = movEnabled && enable01 ? "btn btn-primary" : "btn btn-secondary disabled";
lbtOrdRemAll02.CssClass = movEnabled && enable02 ? "btn btn-primary" : "btn btn-secondary disabled";
lbtOrdRemAll03.CssClass = movEnabled && enable03 ? "btn btn-primary" : "btn btn-secondary disabled";
lbtOrdAddAll01.CssClass = movEnabled && enable01 ? "btn btn-primary" : "btn btn-secondary disabled";
lbtOrdAddAll02.CssClass = movEnabled && enable02 ? "btn btn-primary" : "btn btn-secondary disabled";
lbtOrdAddAll03.CssClass = movEnabled && enable03 ? "btn btn-primary" : "btn btn-secondary disabled";
cmp_orderExtListNE01.enableMove = enable01 && movEnabled;
cmp_orderExtListNE02.enableMove = enable02 && movEnabled;
cmp_orderExtListNE03.enableMove = enable03 && movEnabled;
lbtToggle01.Enabled = BtnEnabled;
lbtToggle02.Enabled = BtnEnabled;
lbtToggle03.Enabled = BtnEnabled;
lblWarnChange.Visible = enabIsChanged;
string secCss = BtnEnabled ? "btn btn-sm btn-secondary" : "btn btn-sm btn-secondary disabled";
lbtToggle01.CssClass = BtnEnabled && enable01 ? "btn btn-sm btn-primary" : secCss;
lbtToggle02.CssClass = BtnEnabled && enable02 ? "btn btn-sm btn-primary" : secCss;
lbtToggle03.CssClass = BtnEnabled && enable03 ? "btn btn-sm btn-primary" : secCss;
lbtOrdAdd01.CssClass = BtnEnabled && movEnabled && enable01 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled";
lbtOrdAdd02.CssClass = BtnEnabled && movEnabled && enable02 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled";
lbtOrdAdd03.CssClass = BtnEnabled && movEnabled && enable03 ? "btn btn-success px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRem01.CssClass = BtnEnabled && movEnabled && enable01 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRem02.CssClass = BtnEnabled && movEnabled && enable02 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRem03.CssClass = BtnEnabled && movEnabled && enable03 ? "btn btn-danger px-3" : "btn btn-secondary px-3 disabled";
lbtOrdRemAll01.CssClass = BtnEnabled && movEnabled && enable01 ? "btn btn-primary" : "btn btn-secondary disabled";
lbtOrdRemAll02.CssClass = BtnEnabled && movEnabled && enable02 ? "btn btn-primary" : "btn btn-secondary disabled";
lbtOrdRemAll03.CssClass = BtnEnabled && movEnabled && enable03 ? "btn btn-primary" : "btn btn-secondary disabled";
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");
divHeadNe02.Attributes.Remove("class");
divHeadNe03.Attributes.Remove("class");
divHeadNe01.Attributes.Add("class", 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");
divHeadNe03.Attributes.Add("class", enable03 ? "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", BtnEnabled && enable02 ? "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()
@@ -709,6 +828,12 @@ namespace NKC_WF.WebUserControls
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...
ComLib.OrdersExtResetCache();
// ricalcolo
@@ -776,6 +901,14 @@ namespace NKC_WF.WebUserControls
{
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...
ComLib.OrdersExtResetCache();
// ricalcolo
@@ -793,6 +926,14 @@ namespace NKC_WF.WebUserControls
private void moveOrderById(int batchId, int origBatchId, int origOrdId)
{
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...
ComLib.OrdersExtResetCache();
fixChildBatch();
@@ -830,7 +971,8 @@ namespace NKC_WF.WebUserControls
{
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
OrderedList = RawList.OrderBy(x => x.Value).ToDictionary(t => t.Key, t => t.Value);
// inizio immaginando di usare TUTTI gli ordini
@@ -848,7 +990,11 @@ namespace NKC_WF.WebUserControls
directAssign = true;
StartSet.OrderSet = OrderedList.OrderByDescending(x => x.Value).Take(num2proc).ToDictionary(t => t.Key, t => t.Value);
// 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
int idx = 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}");
}
// check sul num di spostamenti1
int numMove = 0;
int numOk = 0;
Log.Instance.Trace("Rebalance | Starting final stage (DB modifications)");
try
// 2024.09.20: controllo che il numero ordini torni o LO SEGNALO come errore...
int numAssigned = SetNe01.OrderSet.Count + SetNe02.OrderSet.Count + SetNe03.OrderSet.Count;
if (numAssigned != numOrdOrig)
{
// riorganizzo tabOrders...
foreach (var orderItem in TabOrders)
divError.Visible = true;
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);
numMove++;
if (orderItem.BatchID != cmp_orderExtListNE01.BatchId)
{
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 (SetNe02.OrderSet.ContainsKey(orderItem.OrdID))
{
if (orderItem.BatchID != cmp_orderExtListNE02.BatchId)
if (SetNe03.OrderSet.ContainsKey(orderItem.OrdID))
{
DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE02.BatchId);
numMove++;
}
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++;
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_orderExtListNE02.doUpdate();
cmp_orderExtListNE03.doUpdate();
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
}
}
@@ -68,6 +68,33 @@ namespace NKC_WF.WebUserControls
/// </remarks>
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>
/// lbtBalance control.
/// </summary>
@@ -77,6 +104,42 @@ namespace NKC_WF.WebUserControls
/// </remarks>
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>
/// divHeadNe01 control.
/// </summary>
+3 -2
View File
@@ -4,6 +4,7 @@
<asp:HiddenField runat="server" ID="hfLastSelRow" />
<asp:HiddenField runat="server" ID="hfCreatePng" />
<asp:CheckBox runat="server" ID="chkActEnab" Checked="true" Visible="false" />
<asp:UpdatePanel ID="updPanelDetail" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
@@ -74,7 +75,7 @@
<ItemTemplate>
<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="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>
</ItemTemplate>
</asp:TemplateField>
@@ -125,7 +126,7 @@
</Columns>
</asp:GridView>
<asp:HiddenField ID="hfDeleteEnabled" runat="server" />
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStatus" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter" DeleteMethod="deleteTree" 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>
<asp:ControlParameter ControlID="ddlStatus" DefaultValue="-1" Name="Status" PropertyName="SelectedValue" Type="Int32" />
<asp:SessionParameter Name="SearchVal" SessionField="valoreSearch" Type="String" DefaultValue="" />
@@ -11,6 +11,20 @@ namespace NKC_WF.WebUserControls
{
#region Public Properties
public bool ActionEnab
{
get
{
return chkActEnab.Checked;
}
set
{
chkActEnab.Checked = value;
}
}
public bool deleteEnabled
{
get
@@ -399,6 +413,7 @@ namespace NKC_WF.WebUserControls
// in base al ListMode decido cosa mostrare...
checkFixOds();
checkFixMode();
cmp_batchDetail.BtnActEnab = ActionEnab;
}
cmp_batchDetail.eh_doRefresh += Cmp_batchDetail_eh_doRefresh;
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
@@ -466,6 +481,17 @@ namespace NKC_WF.WebUserControls
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 = "";
switch (listMode)
{
+9
View File
@@ -32,6 +32,15 @@ namespace NKC_WF.WebUserControls
/// </remarks>
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>
/// updPanelDetail control.
/// </summary>
+2 -9
View File
@@ -1,11 +1,4 @@
using Newtonsoft.Json;
using NKC_SDK;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System;
namespace NKC_WF.WebUserControls
{
@@ -37,7 +30,7 @@ namespace NKC_WF.WebUserControls
set
{
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" %>
<footer class="fixed-bottom bg-dark text-light small textCondens p-1">
<div class="container-flow px-1">
<asp:UpdatePanel runat="server" ID="upnlFooter" UpdateMode="Conditional">
<ContentTemplate>
<div class="d-flex justify-content-between">
<div class="px-1">
<span class="d-none d-lg-inline">
<asp:Label ID="lblDateTime" runat="server" Text="..." />
&nbsp;|&nbsp;</span>
<asp:Label ID="lblCodOperatore" runat="server" Text="-" />
</div>
<div class="px-1 text-right">
<div class="d-flex flex-row-reverse">
<div class="px-1">
<asp:Label runat="server" ID="lblApp" Text="." />
</div>
<div class="px-1">
<asp:UpdateProgress ID="UpdateProgressDisplay" runat="server" DisplayAfter="10">
<ProgressTemplate>
<i class="fa fa-circle-o-notch fa-spin fa-fw text-primary" aria-hidden="true"></i>
<i class="fa fa-circle-o-notch fa-spin fa-fw text-info" aria-hidden="true"></i>
<i class="fa fa-circle-o-notch fa-spin fa-fw" aria-hidden="true"></i>
</ProgressTemplate>
</asp:UpdateProgress>
</div>
<footer class="fixed-bottom bg-dark text-light textCondens">
<asp:UpdatePanel runat="server" ID="upnlFooter" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<div class="d-flex justify-content-between px-1">
<div class="px-1 text-nowrap">
<asp:Label ID="lblDateTime" runat="server" Text="..." />
&nbsp;|&nbsp;
<asp:Label ID="lblCodOperatore" runat="server" Text="-" />
</div>
<div class="px-1 text-right text-nowrap">
<div class="d-flex">
<div class="px-1">
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="5" DynamicLayout="false">
<ProgressTemplate>
<i class="fa fa-circle-o-notch fa-spin fa-fw text-primary" aria-hidden="true"></i>
<i class="fa fa-circle-o-notch fa-spin fa-fw text-info" aria-hidden="true"></i>
<i class="fa fa-circle-o-notch fa-spin fa-fw" aria-hidden="true"></i>
</ProgressTemplate>
</asp:UpdateProgress>
</div>
<div class="px-1">
<asp:Label runat="server" ID="lblApp" Text="0.0.0.0" />
</div>
</div>
</div>
<asp:Timer ID="Timer1" runat="server" Interval="60000">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
</footer>
+2 -2
View File
@@ -26,8 +26,8 @@ namespace NKC_WF.WebUserControls
/// </summary>
private void setTimer()
{
Timer1.Tick += Timer1_Tick;
Timer1.Interval = memLayer.ML.confReadInt("intUpdatePagina_ms");
int intUpdatePagina_ms = memLayer.ML.CRI("intUpdatePagina_ms");
Timer1.Interval = intUpdatePagina_ms;
}
#endregion Private Methods
+9 -9
View File
@@ -41,6 +41,15 @@ namespace NKC_WF.WebUserControls
/// </remarks>
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>
/// lblApp control.
/// </summary>
@@ -50,15 +59,6 @@ namespace NKC_WF.WebUserControls
/// </remarks>
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>
/// Timer1 control.
/// </summary>
+3 -1
View File
@@ -22,7 +22,9 @@
<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>
</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>
+14 -1
View File
@@ -2,6 +2,7 @@
using NKC_SDK;
using SteamWare;
using System;
using System.Text;
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);
// se ho delle righe di log processo...
bool allCheck = true;
StringBuilder sb = new StringBuilder();
string errorTxt = "";
foreach (var item in risultati)
{
if (!item.IsOk)
{
allCheck = false;
sb.AppendLine("----------------------");
sb.AppendLine("Error reported:");
sb.AppendLine($"{item.Note}");
sb.AppendLine("----------------------");
}
}
checkOk = allCheck;
@@ -149,7 +156,13 @@ namespace NKC_WF.WebUserControls
imported = checkOk && !testOnly;
// ora effettua validazione e mostra eventuale esito...
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)
{
+38 -38
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls
@@ -15,101 +15,101 @@ namespace NKC_WF.WebUserControls
{
/// <summary>
/// Controllo hfFileName.
/// hfFileName control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfFileName;
/// <summary>
/// Controllo hfBatchName.
/// hfBatchName control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchName;
/// <summary>
/// Controllo hfNumTask.
/// hfNumTask control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfNumTask;
/// <summary>
/// Controllo hfCheckOk.
/// hfCheckOk control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfCheckOk;
/// <summary>
/// Controllo hfImported.
/// hfImported control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfImported;
/// <summary>
/// Controllo lbtDoAction.
/// lbtDoAction control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtDoAction;
/// <summary>
/// Controllo hlShowErrors.
/// hlShowErrors control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink hlShowErrors;
/// <summary>
/// Controllo lblOutTask.
/// lblOutTask control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblOutTask;
/// <summary>
/// Controllo divStep1.
/// divStep1 control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divStep1;
/// <summary>
/// Controllo divStep2.
/// divStep2 control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divStep2;
/// <summary>
/// Controllo divStep3.
/// divStep3 control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divStep3;
}
@@ -32,7 +32,7 @@
<ItemTemplate>
<div class="text-left">
<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>
</ItemTemplate>
@@ -5,25 +5,36 @@ namespace NKC_WF.WebUserControls
{
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);
divHeader.Visible = showTitle;
}
internal void doUpdate()
{
grView.DataBind();
fixVisibility();
cmp_KR_cart.doUpdate();
get
{
bool answ = false;
bool.TryParse(hfShowFull.Value, out answ);
return answ;
}
set
{
hfShowFull.Value = value.ToString();
grView.DataBind();
}
}
public bool showTitle
@@ -40,34 +51,45 @@ namespace NKC_WF.WebUserControls
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;
bool.TryParse(hfShowFull.Value, out answ);
return answ;
}
set
{
hfShowFull.Value = value.ToString();
grView.DataBind();
try
{
answ = DLMan.taISD.getMissingByPLID(plID).Count > 0;
}
catch
{ }
}
return answ;
}
public bool enableSuspend
#endregion Public Methods
#region Internal Methods
internal void doUpdate()
{
get
{
bool answ = false;
bool.TryParse(hfEnableSuspend.Value, out answ);
return answ;
}
set
{
hfEnableSuspend.Value = value.ToString();
grView.DataBind();
}
grView.DataBind();
fixVisibility();
cmp_KR_cart.doUpdate();
}
#endregion Internal Methods
#region Protected Methods
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{
int PackListId = 0;
@@ -76,6 +98,7 @@ namespace NKC_WF.WebUserControls
cmp_KR_cart.PackListID = PackListId;
cmp_KR_cart.Visible = true;
}
/// <summary>
/// comando reset
/// </summary>
@@ -108,5 +131,25 @@ namespace NKC_WF.WebUserControls
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>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls
@@ -15,65 +15,65 @@ namespace NKC_WF.WebUserControls
{
/// <summary>
/// Controllo divHeader.
/// divHeader control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHeader;
/// <summary>
/// Controllo hfShowTitle.
/// hfShowTitle control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfShowTitle;
/// <summary>
/// Controllo grView.
/// grView control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// Controllo odsKit.
/// odsKit control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsKit;
/// <summary>
/// Controllo hfShowFull.
/// hfShowFull control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfShowFull;
/// <summary>
/// Controllo hfEnableSuspend.
/// hfEnableSuspend control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfEnableSuspend;
/// <summary>
/// Controllo cmp_KR_cart.
/// cmp_KR_cart control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_KR_cart cmp_KR_cart;
}
@@ -4,10 +4,11 @@ using SteamWare;
using System;
using System.Data;
using System.Linq;
using System.Web.WebPages;
namespace NKC_WF.WebUserControls
{
public partial class cmp_kittingSmart : BaseUserControl
public partial class cmp_kittingSmart : BaseUserControl, IDisposable
{
#region Public Properties
@@ -47,6 +48,19 @@ namespace NKC_WF.WebUserControls
#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
protected DS_App.BinsDataTable currBinTab
@@ -330,6 +344,7 @@ namespace NKC_WF.WebUserControls
DS_App.ItemListDataTable tabItem = null;
DataLayer DLMan = new DataLayer();
divInfo.Visible = false;
divError.Visible = false;
// processo suggerimenti x ITEM / cart / bin dato suo RawData (Dtmx) e Cod univoco (intero)
switch (tipoCod)
{
@@ -392,7 +407,7 @@ namespace NKC_WF.WebUserControls
if (lastObject == rawData)
{
// --> 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);
lgInfo($"cmp_kittingSmart | taPLog.closeCart | codeInt: {codeInt} | rawData: {rawData}");
// mostro che ho fatto
@@ -430,7 +445,7 @@ namespace NKC_WF.WebUserControls
if (lastObject == rawData)
{
// --> 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);
lgInfo($"cmp_kittingSmart | taPLog.acquireCart | KittingStart = GETDATE() | rawData: {rawData} | UserName: {user_std.UtSn.userNameAD} | currIpAddress: {currIpAddress}");
displInfo($"OK: CART acquired {rawData} - item confirmed");
@@ -1,4 +1,5 @@
using SteamWare;
using NKC_SDK;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -75,7 +76,16 @@ namespace NKC_WF.WebUserControls
set
{
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" %>
<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>
</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>
<li class="nav-item">
<li class="nav-item px-2">
<asp:LinkButton runat="server" ID="lbtDayStats" CssClass="btn btn-block btn-outline-primary" OnClick="lbtDailyStats_Click"><%: traduci("RepDayStats") %></asp:LinkButton>
</li>
</ul>

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