TAS:Pokročilé/Pluginy/TashaCL - příkazová řádka/Automatický update KPI statistik: Porovnání verzí

Z Solvertech
Skočit na navigaci Skočit na vyhledávání
značka: ruční vrácení zpět
 
(Není zobrazeno 9 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
<languages />  <translate>
<!--T:1-->
Na úvod určíme identifikátory pro zpracování, v našem případě klientdepo1 a klientdepo2
Na úvod určíme identifikátory pro zpracování, v našem případě klientdepo1 a klientdepo2


<!--T:2-->
<code> $DBNAMES = @("klientdepo1", "klientdepo2")</code><br />
<code> $DBNAMES = @("klientdepo1", "klientdepo2")</code><br />




<!--T:3-->
Určíme počet dní od datumu začátku statistiky do dnešního datumu. Lze zjistit na např. https://kolikdni.3tecky.cz/
Určíme počet dní od datumu začátku statistiky do dnešního datumu. Lze zjistit na např. https://kolikdni.3tecky.cz/


<!--T:4-->
''V tomto příkladě budeme počítat s 330 dny, které se zadají jako záporné, protože se jedná o dny v minulosti.''
''V tomto příkladě budeme počítat s 330 dny, které se zadají jako záporné, protože se jedná o dny v minulosti.''


<!--T:5-->
<code>$DAYSBACK = -330</code><br />
<code>$DAYSBACK = -330</code><br />




<!--T:6-->
Určíme formát vstupního souboru
Určíme formát vstupního souboru


<!--T:7-->
<code>$FORMAT = ".csv"</code><br />
<code>$FORMAT = ".csv"</code><br />




<!--T:8-->
Nastavíme si úroveň vypisování hlášek, viz. [[TAS:Pokročilé/Pluginy/TashaCL_-_příkazová_řádka/Možnosti_příkazové_řádky|Možnosti příkazové řádky]]
Nastavíme si úroveň vypisování hlášek, viz. [[TAS:Pokročilé/Pluginy/TashaCL_-_příkazová_řádka/Možnosti_příkazové_řádky|Možnosti příkazové řádky]]


<!--T:9-->
<code>$LOGLEVEL = 1</code><br />
<code>$LOGLEVEL = 1</code><br />




<!--T:10-->
Můžeme využít příkazu '''cls''' '''' pro vyčištění příkazové řádky
Můžeme využít příkazu '''cls''' '''' pro vyčištění příkazové řádky


<!--T:11-->
<code>cls</code><br />
<code>cls</code><br />




<!--T:12-->
Následně vytvoříme cyklus, který bude iterovat od hodnoty určující počet dnů do začátku statistiky po 0 určující dnešní den. Pro 1. iteraci v našem příkladě se nastaví '''$DAYOFFSET =''' - 330
Následně vytvoříme cyklus, který bude iterovat od hodnoty určující počet dnů do začátku statistiky po 0 určující dnešní den. Pro 1. iteraci v našem příkladě se nastaví '''$DAYOFFSET =''' - 330


<!--T:13-->
<code>For ($DAYOFFSET=$DAYSBACK; $DAYOFFSET -le 0; $DAYOFFSET++)</code><br />
<code>For ($DAYOFFSET=$DAYSBACK; $DAYOFFSET -le 0; $DAYOFFSET++)</code><br />




<!--T:14-->
V našem případě zákaznická data jsou pojmenovaná například EXP_TASHA_2019_02_20.csv, proto je vstupní formát .csv a musíme získat ještě plánovací datum v příslušném formátu yyyy-MM-dd a začátek názvu, který si nastavíme staticky. Následně získáme plnou adresu souboru a uložíme ji do proměnné '''$SAVESTAMP'''
V našem případě zákaznická data jsou pojmenovaná například EXP_TASHA_2019_02_20.csv, proto je vstupní formát .csv a musíme získat ještě plánovací datum v příslušném formátu yyyy-MM-dd a začátek názvu, který si nastavíme staticky. Následně získáme plnou adresu souboru a uložíme ji do proměnné '''$SAVESTAMP'''


<!--T:15-->
<code>$SOLVEDATE = ((get-date).AddDays($DAYOFFSET)).ToString("yyyy-MM-dd")</code><br />
<code>$SOLVEDATE = ((get-date).AddDays($DAYOFFSET)).ToString("yyyy-MM-dd")</code><br />
<code>$SAVESTAMP = "C:\SFTPImport\EXP_TASHA_DAY_"</code><br />
<code>$SAVESTAMP = "C:\SFTPImport\EXP_TASHA_DAY_"</code><br />
Řádek 38: Řádek 55:




<!--T:16-->
Pro Tashu je třeba také získat plánovací datum ve formátu dd.MM.yyyy, např. 20.02.2019.
Pro Tashu je třeba také získat plánovací datum ve formátu dd.MM.yyyy, např. 20.02.2019.


<!--T:17-->
<code>$PLANNINGDATE = ((get-date).AddDays($DAYOFFSET)).ToString("dd.MM.yyyy")</code><br />
<code>$PLANNINGDATE = ((get-date).AddDays($DAYOFFSET)).ToString("dd.MM.yyyy")</code><br />




<!--T:18-->
Nastaví se umístění nadřazené složky složce, která obsahuje Tasha_CL.exe
Nastaví se umístění nadřazené složky složce, která obsahuje Tasha_CL.exe


<!--T:19-->
<code>Set-Location -Path "C:\CL_folder"</code><br />
<code>Set-Location -Path "C:\CL_folder"</code><br />




<!--T:20-->
Vytvoříme cyklus, který bude iterovat postupně všechny DB obsažené v '''$DBNAMES'''.
Vytvoříme cyklus, který bude iterovat postupně všechny DB obsažené v '''$DBNAMES'''.


<!--T:21-->
<code>ForEach ($DBNAME In $DBNAMES)</code><br />
<code>ForEach ($DBNAME In $DBNAMES)</code><br />




<!--T:22-->
Pro vypsání informací lze využít řetězení pomocí zápisu proměnné do stringu.
Pro vypsání informací lze využít řetězení pomocí zápisu proměnné do stringu.


<!--T:23-->
<code>"Database: $DBNAME - Scenario name: $SOLVEDATE - Planning date: $PLANNINGDATE"</code><br />
<code>"Database: $DBNAME - Scenario name: $SOLVEDATE - Planning date: $PLANNINGDATE"</code><br />
<code>"Import"</code><br />
<code>"Import"</code><br />




<!--T:24-->
Spustíme import s užitím potřebných proměnných, např. '''$DBNAME, $LOGLEVEL, $SOLVEDATE, $SAVESTAMP, $PLANNINGDATE.'''
Spustíme import s užitím potřebných proměnných, např. '''$DBNAME, $LOGLEVEL, $SOLVEDATE, $SAVESTAMP, $PLANNINGDATE.'''


<!--T:25-->
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>--logginglevel $LOGLEVEL --Mode import --PluginName SolverTech.Tasha.Plugins.IO.Tasha </code><br />
<code>--logginglevel $LOGLEVEL --Mode import --PluginName SolverTech.Tasha.Plugins.IO.Tasha </code><br />
Řádek 67: Řádek 94:




<!--T:26-->
Standardně proběhne v rámci předchozího příkazu import, geokóding a výpočet vzdáleností.
Standardně proběhne v rámci předchozího příkazu import, geokóding a výpočet vzdáleností.


<!--T:27-->
Ale lze je spustit i jednotlivě pomocí následujících příkazů:
Ale lze je spustit i jednotlivě pomocí následujících příkazů:


<!--T:28-->
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>--logginglevel $LOGLEVEL --Mode geocoding --PluginName SolverTech.Tasha.Plugins.Geocoding.Ruian </code><br />
<code>--logginglevel $LOGLEVEL --Mode geocoding --PluginName SolverTech.Tasha.Plugins.Geocoding.Ruian </code><br />
<code>--inputscenarioname $SOLVEDATE</code><br />
<code>--inputscenarioname $SOLVEDATE</code><br />


<!--T:29-->
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>--logginglevel $LOGLEVEL --Mode distance --PluginName SolverTech.Tasha.Plugins.UpdateDistance.Here </code><br />
<code>--logginglevel $LOGLEVEL --Mode distance --PluginName SolverTech.Tasha.Plugins.UpdateDistance.Here </code><br />
Řádek 80: Řádek 111:




<!--T:30-->
Pokračujeme spuštěním řešení s užitím potřebných proměnných, např. '''$DBNAME, $LOGLEVEL, $SOLVEDATE'''.
Pokračujeme spuštěním řešení s užitím potřebných proměnných, např. '''$DBNAME, $LOGLEVEL, $SOLVEDATE'''.


<!--T:31-->
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>--logginglevel $LOGLEVEL --Mode solve --inputscenarioname $SOLVEDATE -i30000 -tMediumHigh -z10 -ay --MaxProcessorCount 20 --RestartPhasesCount 5 --RestartPhasesPercentage 50</code><br />
<code>--logginglevel $LOGLEVEL --Mode solve --inputscenarioname $SOLVEDATE -i30000 -tMediumHigh -z10 -ay --MaxProcessorCount 20 --RestartPhasesCount 5 --RestartPhasesPercentage 50</code><br />




<!--T:32-->
Následně importujeme data ze sledování vozidel s užitím potřebných proměnných.
Následně importujeme data ze sledování vozidel s užitím potřebných proměnných.


<!--T:33-->
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>--logginglevel $LOGLEVEL --Mode command --PluginName SolverTech.Tasha.Plugins.Tracking.Webdispecink --CommandName UpdateTrackingDistances </code><br />
<code>--logginglevel $LOGLEVEL --Mode command --PluginName SolverTech.Tasha.Plugins.Tracking.Webdispecink --CommandName UpdateTrackingDistances </code><br />
Řádek 93: Řádek 128:




<!--T:34-->
Provedeme zápis do KPI databáze.
Provedeme zápis do KPI databáze.


<!--T:35-->
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;" </code><br />
<code>--logginglevel $LOGLEVEL --Mode command --PluginName SolverTech.Tasha.Plugins.Statistics.Kpi --PluginSettings "C:\CL_folder\TashaCL\Plugins\KPISETTINGS\$DBNAME.config" --CommandName UpdateKPIs</code><br />
<code>--logginglevel $LOGLEVEL --Mode command --PluginName SolverTech.Tasha.Plugins.Statistics.Kpi --PluginSettings "C:\CL_folder\TashaCL\Plugins\KPISETTINGS\$DBNAME.config" --CommandName UpdateKPIs</code><br />
</translate>

Aktuální verze z 26. 3. 2023, 11:31

Jiné jazyky:

Na úvod určíme identifikátory pro zpracování, v našem případě klientdepo1 a klientdepo2

$DBNAMES = @("klientdepo1", "klientdepo2")


Určíme počet dní od datumu začátku statistiky do dnešního datumu. Lze zjistit na např. https://kolikdni.3tecky.cz/

V tomto příkladě budeme počítat s 330 dny, které se zadají jako záporné, protože se jedná o dny v minulosti.

$DAYSBACK = -330


Určíme formát vstupního souboru

$FORMAT = ".csv"


Nastavíme si úroveň vypisování hlášek, viz. Možnosti příkazové řádky

$LOGLEVEL = 1


Můžeme využít příkazu cls ' pro vyčištění příkazové řádky

cls


Následně vytvoříme cyklus, který bude iterovat od hodnoty určující počet dnů do začátku statistiky po 0 určující dnešní den. Pro 1. iteraci v našem příkladě se nastaví $DAYOFFSET = - 330

For ($DAYOFFSET=$DAYSBACK; $DAYOFFSET -le 0; $DAYOFFSET++)


V našem případě zákaznická data jsou pojmenovaná například EXP_TASHA_2019_02_20.csv, proto je vstupní formát .csv a musíme získat ještě plánovací datum v příslušném formátu yyyy-MM-dd a začátek názvu, který si nastavíme staticky. Následně získáme plnou adresu souboru a uložíme ji do proměnné $SAVESTAMP

$SOLVEDATE = ((get-date).AddDays($DAYOFFSET)).ToString("yyyy-MM-dd")
$SAVESTAMP = "C:\SFTPImport\EXP_TASHA_DAY_"
$SAVESTAMP = $SAVESTAMP+$SOLVEDATE+$FORMAT


Pro Tashu je třeba také získat plánovací datum ve formátu dd.MM.yyyy, např. 20.02.2019.

$PLANNINGDATE = ((get-date).AddDays($DAYOFFSET)).ToString("dd.MM.yyyy")


Nastaví se umístění nadřazené složky složce, která obsahuje Tasha_CL.exe

Set-Location -Path "C:\CL_folder"


Vytvoříme cyklus, který bude iterovat postupně všechny DB obsažené v $DBNAMES.

ForEach ($DBNAME In $DBNAMES)


Pro vypsání informací lze využít řetězení pomocí zápisu proměnné do stringu.

"Database: $DBNAME - Scenario name: $SOLVEDATE - Planning date: $PLANNINGDATE"
"Import"


Spustíme import s užitím potřebných proměnných, např. $DBNAME, $LOGLEVEL, $SOLVEDATE, $SAVESTAMP, $PLANNINGDATE.

TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;"
--logginglevel $LOGLEVEL --Mode import --PluginName SolverTech.Tasha.Plugins.IO.Tasha
--inputscenarioname $SOLVEDATE --ImportFile $SAVESTAMP --PlanningDate $PLANNINGDATE
--PluginSettings "C:\CL_folder\TashaCL\Plugins\IMPORTERSETTINGS\$DBNAME.config"


Standardně proběhne v rámci předchozího příkazu import, geokóding a výpočet vzdáleností.

Ale lze je spustit i jednotlivě pomocí následujících příkazů:

TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;"
--logginglevel $LOGLEVEL --Mode geocoding --PluginName SolverTech.Tasha.Plugins.Geocoding.Ruian
--inputscenarioname $SOLVEDATE

TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;"
--logginglevel $LOGLEVEL --Mode distance --PluginName SolverTech.Tasha.Plugins.UpdateDistance.Here
--inputscenarioname $SOLVEDATE


Pokračujeme spuštěním řešení s užitím potřebných proměnných, např. $DBNAME, $LOGLEVEL, $SOLVEDATE.

TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;"
--logginglevel $LOGLEVEL --Mode solve --inputscenarioname $SOLVEDATE -i30000 -tMediumHigh -z10 -ay --MaxProcessorCount 20 --RestartPhasesCount 5 --RestartPhasesPercentage 50


Následně importujeme data ze sledování vozidel s užitím potřebných proměnných.

TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;"
--logginglevel $LOGLEVEL --Mode command --PluginName SolverTech.Tasha.Plugins.Tracking.Webdispecink --CommandName UpdateTrackingDistances
--inputscenarioname $SOLVEDATE --TrackingCompany Company --TrackingLogin Name --TrackingPassword Heslo1111


Provedeme zápis do KPI databáze.

TashaCL\TashaCl.exe -s SQLServer -c "SERVER = TS3\SQLEXPRESS; DATABASE = $DBNAME;Integrated Security=SSPI;"
--logginglevel $LOGLEVEL --Mode command --PluginName SolverTech.Tasha.Plugins.Statistics.Kpi --PluginSettings "C:\CL_folder\TashaCL\Plugins\KPISETTINGS\$DBNAME.config" --CommandName UpdateKPIs