Создание штрих-кода и включение его в бланк договора

  Вы находитесь здесь:  Работа с договорами > Учет оригиналов договоров (архивирование) >


Создание штрих-кода и включение его в бланк договора


 

В бланк договора можно включать изображения штрих-кодов двух типов: QR-кодов и кодов PDF417. Выполнить данное включение возможно с помощью специальных методов, позволяющих указывать параметры формируемого кода (ширина, высота, размер единичного блока в коде, перечень реквизитов договора страхования, из которых формируется код). Также, метод позволяет шифровать данные, чтобы при считывании инфорамции стандартными считывателями кодов не было понятно, как код формируется и, соответственно, не было возможности его подделать.

 

Указанные параметры могут быть включены в код все или частично, что связано с размером формируемого кода, т.к. чем меньше размер, тем меньше информации в него нужно включать, чтобы обеспечить возможность чтения кода. Т.к. в разных договорах возможны разные размеры кода, то и в код будет включаться разная информация. Конкретный перечень методов для каждого шаблона определяется путем подбора при создании шаблона.

 

Для вывода изображение в XLS файлы используется тег sh:barcode.

 

При формировании шаблона договора для формирования данных штрих-кода можно воспользоваться специальным выражением:

"#{contractBarcodeDataBuilder.build(proposal.contractConditions, ВЕРСИЯ_РЕКВИЗИТОВ)}", где ВЕРСИЯ_РЕКВИЗИТОВ числовое значение от 1 до 8, указывающее количество реквизитов договора, которые необходимо включить в штрих-код.

 

Перечь реквизитов, которые можно включить в штрих-код:

 

    номер договора

    дата введения договора (дата и время перехода догоговра в статус "Заключен"("Действующий"))

    название страхователя

    дата подписания

    дата начала действия

    окончания действия договора страхования

    страховая премия

    код страхователя 

 

Пример использования:

 

<sh:barcode format="PDF_417" data="#{contractBarcodeDataBuilder.build(proposal.contractConditions, 8)}" width="200" height="100"/> 

 

 <picturemark name="НАЗВАНИЕ_BMP" format="QR_CODE" method="getBarcodeData(8)" beanname="accountFactureWrapper" width="200" height="200" class="ua.com.profitsoft.bo.barcode.document.BarcodePictureMark"/>, где:

 

    barcode – зарезирвированное название в системе для тега вывода изображения в XLS

    format – формат штрих-кода (PDF_417, QR_CODE)

    data – данные штрих-кода

    width – ширина штрих-кода в пикселях (числовое значение)

    height – высота штрих-кода в пикселях (числовое значение) 

    8 – количество реквизитов, которые должен содержать штрих-код

 

Высота и ширина штрих-кода может измениться при формировании, если текст, шифруемый в изображении, будет не помещаться в указанные изначально размеры. 

 

Для решения проблемы с размером штрих-кодов реализованы дополнительные методы работы со штрих-кодами (build(СontractConditions), getBarcodeData()): при генерации договора (в момент присвоения номера) параметры договора (номер, страхователь, и т.д.) записываются в отдельную таблицу.  Для этой записи в таблице генерируется уникальный код, который будет закодирован в штрих-код. Таким образом, при считывании по коду выполняется поиск данных в таблице, если строка найдена - то из нее будут получены данные по договору.

 

Пример вызова:

 

1) <sh:barcode format="PDF_417" data="#{contractBarcodeDataBuilder.build(proposal.contractConditions)}" width="200" height="100"/>

 

2) <picturemark name="НАЗВАНИЕ_BMP" format="QR_CODE" method="getBarcodeData()" beanname="accountFactureWrapper" width="200" height="200" class="ua.com.profitsoft.bo.barcode.document.BarcodePictureMark"/>, где:

 

    barcode – зарезирвированное название в системе для тега вывода изображения в XLS

    format – формат штрих-кода (PDF_417, QR_CODE)

    data – данные штрих-кода

    width – ширина штрих-кода в пикселях (числовое значение)

    height – высота штрих-кода в пикселях (числовое значение) 

 

Реализован метод, позволяющий устанавливать ограничение размера строки шифруемой информации (в связи с наличием в строке служебных символов минимальная длина строки должна составлять не менее 30 символов). Например:

 

1) build(ContractConditions, количество реквизитов, размер строки)

 

<sh:barcode format="PDF_417" data="#{contractBarcodeDataBuilder.build(proposal.contractConditions, 8, 102)}" width="200" height="100"/>

 

2) getBarcodeData(количество реквизитов, размер строки)

 

<picturemark name="НАЗВАНИЕ_BMP" format="QR_CODE" method="getBarcodeData(8|102)" beanname="accountFactureWrapper" width="200" height="200" class="ua.com.profitsoft.bo.barcode.document.BarcodePictureMark"/>, где:

 

    8 – количество реквизитов, которые должен содержать штрих-код

    102 – размер строки, содержащей информацию, которая кодируется в штрих-коде (если в заданный размер строки помещаются не все реквизиты, будут зашифрованы только те реквизиты, которые помещаются в указанный размер, в обязательном порядке - ID договора)

 

 Вид штрих-кодов 

 

 QR-код 

 

590_QR

 

 код PDF417 

 

590_PDF417

 

Для возможности увеличить штрихкод PDF417 добавлен параметр scale (целочисленное значение).

 

Пример использования в XLS

<sh:barcode format="PDF_417" data="#{contractBarcodeDataBuilder.build(proposal.contractConditions, 8)}" width="200" height="100" scale="2"/>

 

Пример использования в PDF

<picturemark name="pdf_417_BMP" format="PDF_417" method="getBarcodeData()" beanname="travelWrapper" width="20" height="4" scale="2" class="ua.com.profitsoft.bo.barcode.document.BarcodePictureMark" />

 

Также данный параметр добавлен на страницу /app/barcode, параметр поддерживает также использование EL выражений

 

 

 

закладка договора "Общее", блок "Информация по договору"

 

591

 

 

закладка договора "Общее", блок "Текущие условия договора", подблок "Дополнительная информация" 

 

591_1

 

 

 Настройки - Справочники  - Шаблоны документов, название шаблона (Полис КАСКО (qr-код + pdf417))

 

592

 

 

 в Тарифном плане договора в настроечной таблице "Печатные формы договоров страхования" 

 

591_2