%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.google.common.base.Joiner" %>
<%@ page import="com.google.common.base.Strings" %>
<%@ page import="com.google.common.collect.Lists" %>
<%@ page import="org.apache.commons.lang3.StringEscapeUtils" %>
<%@ page import="org.jetbrains.annotations.Nullable" %>
<%@ page import="resto.RestoException" %>
<%@ page import="resto.back.store.AssemblyChart" %>
<%@ page import="resto.back.store.AssemblyChartItem" %>
<%@ page import="resto.back.store.AssemblyChartTable" %>
<%@ page import="resto.back.store.Product" %>
<%@ page import="resto.back.store.ProductScale" %>
<%@ page import="resto.back.store.ProductSize" %>
<%@ page import="resto.back.store.ProductType" %>
<%@ page import="resto.back.store.alcohol.AlcoholType" %>
<%@ page import="resto.back.store.recompute.ProductSizeAssemblyStrategy" %>
<%@ page import="resto.core.RestoServiceLocator" %>
<%@ page import="resto.db.EntityManager" %>
<%@ page import="resto.db.Guid" %>
<%@ page import="resto.licensing.LicenseService" %>
<%@ page import="resto.utils.DecimalUtils" %>
<%@ page import="resto.utils.log4j.RestoLogger" %>
<%@ page import="resto.web.JspHelper" %>
<%@ page import="java.io.PrintWriter" %>
<%@ page import="java.math.BigDecimal" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.LinkedHashMap" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.NavigableMap" %>
<%@ taglib prefix="r" uri="http://iiko.ru/taglib/resto-tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
JspHelper.setCharacterEncodingMode(request);
%>
<%!
/**
* JSP генерирует файл для настройки фронтового плагина для продажи разливного пива через "Честный знак".
*
* Начиная с 8.9 эта логика скопирована в метод сервера, через который фронт получает эти данные без .csv файла.
*
* @see "RMS-55880 Jsp скрипт для LT клиентов для выгрузки алкогольно-пивных напитков для плагина Честного знака"
* @see resto.external.egais.service.AlcoholMarkingPluginService#getNomenclature
*/
private static final RestoLogger LOG =
RestoLogger.getLogger("resto.service.maintance.generateAlcoholMarkingPluginConfig.jsp");
private static final String FIELD_RAW_PRODUCT_ID = "rawProductId";
private static final String FIELD_RAW_PRODUCT_SKU = "rawProductSku";
private static final String FIELD_PRODUCT_TYPE = "productType";
private static final String FIELD_NAME_ON_TAP = "nameOnTap";
private static final String FIELD_SALE_ITEM_ID = "saleItemId";
private static final String FIELD_SALE_ITEM_SIZE_ID = "saleItemSizeId";
private static final String FIELD_LITRES_IN_PORTION = "litresInPortion";
private static final String FIELD_EXPIRATION_DATE = "expirationDate";
private static final String FIELD_COMMENT = "comment";
private static final List FIELDS = Lists.newArrayList(
FIELD_RAW_PRODUCT_ID,
FIELD_RAW_PRODUCT_SKU,
FIELD_PRODUCT_TYPE,
FIELD_NAME_ON_TAP,
FIELD_SALE_ITEM_ID,
FIELD_SALE_ITEM_SIZE_ID,
FIELD_LITRES_IN_PORTION,
FIELD_EXPIRATION_DATE,
FIELD_COMMENT
);
%>
<%
final String paramAction = request.getParameter("action");
if (paramAction != null) {
final EntityManager em = RestoServiceLocator.get(EntityManager.class);
final List