• Авторизация


Заметки непрограммиста: как пишу программу. 22-02-2015 09:32 к комментариям - к полной версии - понравилось!


Диалог на производстве:

- Сделали проект для производства. Протестировали. Можно брать в работу?
- Не-е-ет.
- Почему?
- А надо еще, чтобы (по условию) результаты мастер проверял!

("Результаты" стоят в цехе, комп мастера стоит в бюро).

- Ладно... Давай так: система сама отследит наступление (события по условию) и на офисный принтер будет распечатывать задание на проверку? Мастер с заданием в цехе все проверит и потом в офисе на компе результат перенесет в систему?
- Давай попробуем.

Теперь надо браться за реализацию. С любого конца. Например, с этого:

Печать на офисный принтер

Хотелось бы следовать принципу, что вся конфигурация выполняется в программе и при замене, например, офисного принтера чтобы было достаточно указать его новый сетевой адрес.
Но есть еще драйверы принтеров и пришлось на сервере поставить CUPS и вывод на печать пустить через него:

   $printer = 'Samsung';  // название принтера в CUPS
   $cmd = "lp  -d ".$printer." /var/www/pdf.pdf";  //команду оформил как переменную PHP
   $log = "exec:".exec($cmd,$output)."<br>";    // и выполняю через ф-ю exec(). Результат

Наступление события по условию

После обдумывания немногочисленных вариантов (например с триггером MySQL) остановился на очевидном: проверять условие в PHP-скрипте при каждой регистрации единицы готовой продукции в базе данных.

Оформление задания

Хочется просто и эстетично. PDF-тэмплэйт ? Посмотрел, как из PHP сделать PDF-документ. Остановился на проекте mPDF

Нумерация задания

по порядку для каждой даты. Каждый день сначала. Формат: NN-YYMMDD

Педали

Надо добавить в панель управления возможность отключать эту проверку (1), менять параметр условия (2) и назначать принтер (3).

Запись в таблицу

Надо добавить в базу данных таблицу, в которой буду сохранять параметры задания (дата, номер, первый и последний проверяемый id) и отмечать выполнение (дата, кто проверял)

Запись в лог

"У меня все ходы записаны !" (Ильф, Петров. Двенадцать стульев)
Печать задания должна отображаться в логах.

вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Заметки непрограммиста: как пишу программу. | a1addin - Письма себе | Лента друзей a1addin / Полная версия Добавить в друзья Страницы: раньше»