Automatyczna aktualizacja statystyk KPI

Z Solvertech
Skočit na navigaci Skočit na vyhledávání
Jiné jazyky:

Najpierw określamy identyfikatory, które mają być przetwarzane, w tym przypadku klientdepo1 i klientdepo2

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


Wyznacz liczbę dni od daty rozpoczęcia statystyk do dnia dzisiejszego. Można je znaleźć np. na stronie https://kolikdni.3tecky.cz/.

W tym przykładzie policzymy 330 dni, które zostaną wprowadzone jako ujemne, ponieważ są to dni w przeszłości.

$DAYSBACK = -330


Określenie formatu pliku wejściowego

$FORMAT = ".csv"


Ustawienie poziomu komunikatów, patrz. Opcje linii komend

$LOGLEVEL = 1


Możemy użyć polecenia cls do wyczyszczenia linii poleceń

cls


Następnie tworzymy pętlę, która iteruje od wartości określającej liczbę dni do początku statystyki do 0 określającego dzisiejszy dzień. Dla pierwszej iteracji w naszym przykładzie ustawiamy $DAYOFFSET = - 330

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


W naszym przypadku dane klienta mają nazwę np. EXP_TASHA_2019_02_20.csv, więc format wejściowy to .csv i musimy pobrać datę planowania w odpowiednim formacie rrrr-MM-dd oraz początek nazwy, który ustawiamy statycznie. Następnie otrzymujemy pełny adres pliku i przechowujemy go w zmiennej $SAVESTAMP

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


W przypadku Tasha musisz również uzyskać datę planowania w formacie dd.MM.rrrr, np. 20.02.2019.

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


Ustawia lokalizację folderu nadrzędnego na folder zawierający Tasha_CL.exe

Set-Location -Path "C:\CL_folder"


Utwórz pętlę, która iteruje przez wszystkie DB zawarte w $DBNAMES.

ForEach ($DBNAME In $DBNAMES)


Aby wylistować informacje, można zastosować łańcuchowanie, zapisując zmienną do łańcucha.

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


Rozpocznij import używając niezbędnych zmiennych, np. $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"


Domyślnie import, geokodowanie i obliczanie odległości odbywa się w ramach poprzedniego polecenia.

Ale można je również uruchamiać pojedynczo za pomocą następujących poleceń:

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


Kontynuuj, uruchamiając rozwiązanie z użyciem niezbędnych zmiennych, np. $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


Następnie importujemy dane dotyczące śledzenia pojazdów przy użyciu niezbędnych zmiennych.

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


Dokonaj wpisu do bazy danych KPI.

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