Примеры шаблонов для генерации документов
Материал из BiTel WiKi
(Различия между версиями)
(Удалено содержимое страницы) |
Zavndw (Обсуждение | вклад) |
||
(1 промежуточная версия не показана) | |||
Строка 1: | Строка 1: | ||
+ | Шаблон печатной формы (содержание файла /WEB-INF/jspf/user/plugin/document/template/example/akt.jsp) | ||
+ | <source lang="java"> <%@ page contentType="text/html; charset=UTF-8"%> | ||
+ | <%@ include file="/WEB-INF/jspf/taglibs.jsp"%> | ||
+ | |||
+ | <u:newInstance var="processDao" clazz="ru.bgcrm.dao.process.ProcessDAO"> | ||
+ | <u:param value="${conSlave}"/> | ||
+ | </u:newInstance> | ||
+ | |||
+ | <u:newInstance var="paramDao" clazz="ru.bgcrm.dao.ParamValueDAO"> | ||
+ | <u:param value="${conSlave}"/> | ||
+ | </u:newInstance> | ||
+ | |||
+ | <c:set var="processId" value="${event.objectId}"/> | ||
+ | |||
+ | <html> | ||
+ | <head> | ||
+ | <link rel="stylesheet" type="text/css" href="/css/style.css.jsp"/> | ||
+ | <meta content="text/html; charset=UTF-8" http-equiv="content-type"> | ||
+ | </head> | ||
+ | <body> | ||
+ | <div style="text-align: center; font-weight: bold;" class="mb1"> | ||
+ | Список актов процессв ВЫЗОВ ТЕХНИКА | ||
+ | </div> | ||
+ | <div> | ||
+ | <table class="data" width=100%> | ||
+ | <tr><td> </td></tr> | ||
+ | <c:forEach var="processId" items="${event.getObjectIds()}"> | ||
+ | <c:set var="process" value="${processDao.getProcess(processId)}"/> | ||
+ | |||
+ | <tr> | ||
+ | <td><b><u><i>№ ${processId}</u></i></b> | ||
+ | Исполнитель: <b> ${u:objectTitleList(ctxUserList, process.getExecutorIds())} </b> | ||
+ | Дата:<b>${paramDao.getParamDate(processId, 71)}</b></td> | ||
+ | </tr> | ||
+ | <tr> <td><u><i>Абонент:</i></u> ${paramDao.getParamText(processId, 47)} | ||
+ | <i><u>Адрес:</i></u> | ||
+ | <c:forEach var="addr" items="${paramDao.getParamAddress(processId, 25).values()}" varStatus="status"> | ||
+ | ${addr.value} | ||
+ | </c:forEach> | ||
+ | <u><i>Телефоны:</i></u> | ||
+ | ${paramDao.getParamText(processId, 46)}, | ||
+ | ${paramDao.getParamText(processId, 61)}, | ||
+ | ${paramDao.getParamText(processId, 62)} | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td colspan=2> | ||
+ | ${paramDao.getParamText(processId, 73)}, | ||
+ | ${u:toString(paramDao.getParamListWithTitles(processId, 70))} | ||
+ | ${u:toString(paramDao.getParamListWithTitles(processId, 76))} | ||
+ | <br> | ||
+ | ${process.getDescription()} | ||
+ | </td> | ||
+ | </tr> | ||
+ | </c:forEach> | ||
+ | </table> | ||
+ | </div> | ||
+ | </body> | ||
+ | </html> </source> | ||
+ | |||
+ | В коде ID параметров подставлены напрямую в местах их использования в коде. Для удобства чтения можно | ||
+ | свести эти значения в переменные: | ||
+ | <source lang="java"> <c:set var="PROCESS_PARAM_ADDRESS" value="25"/> </source> | ||
+ | и в соответствующих местах их использовать: | ||
+ | <source lang="java"> <c:forEach var="addr" items="${paramDao.getParamAddress(processId, PROCESS_PARAM_ADDRESS).values()}" varStatus="status"> </source> | ||
+ | |||
+ | Вывод параметра типа phone: | ||
+ | <source lang="java">Телефон: ${paramDao.getParamPhone(processId, 20).getValue()}</source> |
Текущая версия на 05:44, 30 апреля 2017
Шаблон печатной формы (содержание файла /WEB-INF/jspf/user/plugin/document/template/example/akt.jsp)
<%@ page contentType="text/html; charset=UTF-8"%> <%@ include file="/WEB-INF/jspf/taglibs.jsp"%> <u:newInstance var="processDao" clazz="ru.bgcrm.dao.process.ProcessDAO"> <u:param value="${conSlave}"/> </u:newInstance> <u:newInstance var="paramDao" clazz="ru.bgcrm.dao.ParamValueDAO"> <u:param value="${conSlave}"/> </u:newInstance> <c:set var="processId" value="${event.objectId}"/> <html> <head> <link rel="stylesheet" type="text/css" href="/css/style.css.jsp"/> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> </head> <body> <div style="text-align: center; font-weight: bold;" class="mb1"> Список актов процессв ВЫЗОВ ТЕХНИКА </div> <div> <table class="data" width=100%> <tr><td> </td></tr> <c:forEach var="processId" items="${event.getObjectIds()}"> <c:set var="process" value="${processDao.getProcess(processId)}"/> <tr> <td><b><u><i>№ ${processId}</u></i></b> Исполнитель: <b> ${u:objectTitleList(ctxUserList, process.getExecutorIds())} </b> Дата:<b>${paramDao.getParamDate(processId, 71)}</b></td> </tr> <tr> <td><u><i>Абонент:</i></u> ${paramDao.getParamText(processId, 47)} <i><u>Адрес:</i></u> <c:forEach var="addr" items="${paramDao.getParamAddress(processId, 25).values()}" varStatus="status"> ${addr.value} </c:forEach> <u><i>Телефоны:</i></u> ${paramDao.getParamText(processId, 46)}, ${paramDao.getParamText(processId, 61)}, ${paramDao.getParamText(processId, 62)} </td> </tr> <tr> <td colspan=2> ${paramDao.getParamText(processId, 73)}, ${u:toString(paramDao.getParamListWithTitles(processId, 70))} ${u:toString(paramDao.getParamListWithTitles(processId, 76))} <br> ${process.getDescription()} </td> </tr> </c:forEach> </table> </div> </body> </html>
В коде ID параметров подставлены напрямую в местах их использования в коде. Для удобства чтения можно свести эти значения в переменные:
<c:set var="PROCESS_PARAM_ADDRESS" value="25"/>
и в соответствующих местах их использовать:
<c:forEach var="addr" items="${paramDao.getParamAddress(processId, PROCESS_PARAM_ADDRESS).values()}" varStatus="status">
Вывод параметра типа phone:
Телефон: ${paramDao.getParamPhone(processId, 20).getValue()}