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

Z Solvertech
Verze z 20. 12. 2019, 11:03, kterou vytvořil imported>Unknown user
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

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 $SOLVEDATETashaCL\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