Все страницы
Перейти к концу метаданных
Переход к началу метаданных

1. Описание утилиты

Утилита в составе параметров командной строки принимает путь к каталогу с файлами *.xlsx (source-dir) и формат этих файлов (source-format), обрабатывает все файлы из каталога и добавляет данные в БД студии (в таблицу work_plan_budgets, если формат sales; в таблицу work_plan_hours, если формат hours) с привязкой к подразделению.

https://jira.prosyst.ru/secure/attachment/31254/devel-screenshot-1.png

\\whiskey\Prosoft-E\02 Users\02-14 ОБС\02-14-00 Биометр.системы общая папка\дистрибы BioSmart-Studio\v5.0\builds\WorkTimeUtility\v1.1\WorkTimeUtility_v1.1.zip

2. Параметры запуска

Usage: D:\Work\studio_bitbacket_qt5.15\biosmart-studio-gui\src\WorkTimeUtility\release\WorkTimeUtility.exe [options]

Options:
-?, -h, --help Displays help on commandline
options.
--help-all Displays help including Qt specific
options.
-v, --version Displays version information.
--source-dir <source-dir> Directory with source files
--source-format <source-format> Source file format [sales|hours]
--source-mask <source-mask> Source file mask
--biosmart-server <biosmart-server> Biosmart database server.
--biosmart-port <biosmart-port> Biosmart database port.
--biosmart-database <biosmart-database> Biosmart database.
--biosmart-username <biosmart-username> Biosmart username.
--biosmart-password <biosmart-password> Biosmart password.

2.1.  Батник для запуска утилиты

В архиве есть bat-файл WorkTimeUtility.bat, который принимает 4 параметра:

  1. каталог, откуда копируются файлы для обработки;
  2. каталог, куда копируются обработанные файлы;
  3. маска имени файла для бюджета;
  4. маска имени файла для часов (секунд)

Этот скрипт производит следующие действия:

  1. удаляет каталог ./sources вместе со всем содержимым, если он существует
  2. копирует содержимое каталога, путь к которому передается в первом параметре, в каталог ./sources
  3. запускает утилиту WorkTimeUtility с параметрами для обработки файла с планом продаж по маске, переданной в третьем параметре
  4. анализирует код возврата утилиты, если ненулевой, выводит сообщение об ошибке
  5. запускает утилиту WorkTimeUtility с параметрами для обработки файла с планом часов по маске, переданной в четвертом параметре
  6. анализирует код возврата утилиты, если ненулевой, выводит сообщение об ошибке
  7. копирует обрабатываемые файлы в каталог, путь к которому передается во втором параметре


 Кликните здесь, чтобы расширить...

echo off

rem %1 - copy from directory path
rem %2 - copy to directory path after process
rem %3 - budget mask (sales)
rem %4 - hours mask

IF EXIST "./sources" (
rmdir "./sources" /s /q
)

robocopy %1 ./sources 1>&2

WorkTimeUtility.exe --source-mask %3 --source-dir ./sources --source-format sales --biosmart-server localhost --biosmart-port 5432 --biosmart-database biosmart_maindb --biosmart-username postgres --biosmart-password 12345678 > log_sales.txt 2>&1

if not ERRORLEVEL==0 goto FAULT_%ERRORLEVEL%
goto OK_SALES

:FAULT_1
echo [FAULT] WorkTimeUtility for sales return connection fault
goto LAUNCH_HOURS

:FAULT_2
echo [FAULT] WorkTimeUtility for sales return integration fault
goto LAUNCH_HOURS

:FAULT_3
echo [FAULT] WorkTimeUtility for sales return command line parameters' parsing fault
goto LAUNCH_HOURS

:OK_SALES
echo [SALES] WorkTimeUtility for sales return %ERRORLEVEL%


:LAUNCH_HOURS
set SALES_RESULT=%ERRORLEVEL%
WorkTimeUtility.exe --source-mask %4 --source-dir ./sources --source-format hours --biosmart-server localhost --biosmart-port 5432 --biosmart-database biosmart_maindb--biosmart-username postgres --biosmart-password 12345678 > log_hours.txt 2>&1

if not ERRORLEVEL==0 goto FAULT_HOURS_%ERRORLEVEL%
goto OK_HOURS

:FAULT_HOURS_1
echo [FAULT] WorkTimeUtility for hours return connection fault
goto _EXIT

:FAULT_HOURS_2
echo [FAULT] WorkTimeUtility for hours return integration fault
goto _EXIT

:FAULT_HOURS_3
echo [FAULT] WorkTimeUtility for hours return command line parameters' parsing fault
goto _EXIT


:OK_HOURS
echo [HOURS] WorkTimeUtility for hours return %ERRORLEVEL%


:_EXIT
set /a "res=%errorlevel%+10*%SALES_RESULT%"

robocopy %1 %2 1>&2

exit /b %res%


Для удобства в архиве подготовлен еще один батник для запуска скрипта: Run_PRD.bat

 Кликните здесь, чтобы расширить...

call WorkTimeUtility.bat ./PRD_BUDGET_OUT ./PRD_BUDGET_OLDOUT combudget hours

pause

  • Нет меток