TAS:Pokročilé/Pluginy/TashaCL - příkazová řádka/Automatický update KPI statistik: Porovnání verzí
imported>Unknown user |
|||
Řádek 1: | Řádek 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 | ||
$DBNAMES = @( | <code> $DBNAMES = @("klientdepo1", "klientdepo2")</code><br /> | ||
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/ | ||
Řádek 7: | Řádek 7: | ||
''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.'' | ||
$DAYSBACK = -330 | <code>$DAYSBACK = -330</code><br /> | ||
Určíme formát vstupního souboru | Určíme formát vstupního souboru | ||
$FORMAT = | <code>$FORMAT = ".csv"</code><br /> | ||
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]] | ||
$LOGLEVEL = 1 | <code>$LOGLEVEL = 1</code><br /> | ||
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 | ||
cls | <code>cls</code><br /> | ||
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 | ||
For ($DAYOFFSET=$DAYSBACK; $DAYOFFSET -le 0; $DAYOFFSET++) | <code>For ($DAYOFFSET=$DAYSBACK; $DAYOFFSET -le 0; $DAYOFFSET++)</code><br /> | ||
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''' | ||
$SOLVEDATE = ((get-date).AddDays($DAYOFFSET)).ToString( | <code>$SOLVEDATE = ((get-date).AddDays($DAYOFFSET)).ToString("yyyy-MM-dd")</code><br /> | ||
<code>$SAVESTAMP = "C:\SFTPImport\EXP_TASHA_DAY_"</code><br /> | |||
<code>$SAVESTAMP = $SAVESTAMP+$SOLVEDATE+$FORMAT</code><br /> | |||
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. | ||
$PLANNINGDATE = ((get-date).AddDays($DAYOFFSET)).ToString( | <code>$PLANNINGDATE = ((get-date).AddDays($DAYOFFSET)).ToString("dd.MM.yyyy")</code><br /> | ||
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 | ||
Set-Location -Path | <code>Set-Location -Path "C:\CL_folder"</code><br /> | ||
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'''. | ||
ForEach ($DBNAME In $DBNAMES) | <code>ForEach ($DBNAME In $DBNAMES)</code><br /> | ||
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. | ||
<code>"Database: $DBNAME - Scenario name: $SOLVEDATE - Planning date: $PLANNINGDATE"</code><br /> | |||
<code>"Import"</code><br /> | |||
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.''' | ||
TashaCL\TashaCl.exe -s SQLServer -c | <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>--inputscenarioname $SOLVEDATE --ImportFile $SAVESTAMP --PlanningDate $PLANNINGDATE </code><br /> | |||
<code>--PluginSettings "C:\CL_folder\TashaCL\Plugins\IMPORTERSETTINGS\$DBNAME.config" </code><br /> | |||
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í. | ||
Řádek 53: | Řádek 59: | ||
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ů: | ||
TashaCL\TashaCl.exe -s SQLServer -c | <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>--inputscenarioname $SOLVEDATE</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>--inputscenarioname $SOLVEDATE </code><br /> | |||
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'''. | ||
TashaCL\TashaCl.exe -s SQLServer -c | <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 /> | |||
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. | ||
TashaCL\TashaCl.exe -s SQLServer -c | <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>--inputscenarioname $SOLVEDATE --TrackingCompany Company --TrackingLogin Name --TrackingPassword Heslo1111</code><br /> | |||
Provedeme zápis do KPI databáze. | Provedeme zápis do KPI databáze. | ||
TashaCL\TashaCl.exe -s SQLServer -c | <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 /> | |||
Verze z 4. 8. 2022, 10:52
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