Я пытаюсь сгенерировать отчет с заголовком, таблицей с описанием продуктов и нижним колонтитулом. У меня есть один файл отчета с верхним и нижним колонтитулом, который он заполняет параметрами, в другом файле отчета есть таблица, которая показывает количество продуктов и свои собственные данные из файла JSON (адаптер JSON).
На этом изображении показан результат каждого отчета в отдельности:
Это мой Json Адаптер
Это мой код: JSON file (productos. json)
{
"productList": [{
"productNumber": 1,
"modelo": "Bolsa Deportiva Plana",
"tela": "Tafeta",
"dimensiones": "40x35",
"destino": "Bog, D.C",
"observaciones": "Observacion de Prueba",
"cantidad": 500,
"vrUnitario": 1200,
"subTotal": 600000,
"iva": 50000,
"total": 650000
},
{
"productNumber": 2,
"modelo": "Bolsa Deportiva",
"tela": "Otra",
"dimensiones": "50x20",
"destino": "Bog, D.C",
"observaciones": "Observacion de Prueba",
"cantidad": 400,
"vrUnitario": 900,
"subTotal": 360000,
"iva": 40000,
"total": 400000
}
]
}
Отчет о верхнем и нижнем колонтитулах:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.10.0.final using JasperReports Library version 6.10.0-unknown -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Main" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="8e9538d5-11fe-48f9-b166-d3594b7f64ef">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="DataAdapterJSON.xml"/>
<parameter name="footer" class="java.lang.String"/>
<parameter name="header" class="java.lang.String"/>
<queryString language="JSON">
<![CDATA[productList]]>
</queryString>
<field name="productNumber" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="productNumber"/>
<fieldDescription><![CDATA[productNumber]]></fieldDescription>
</field>
<field name="modelo" class="java.lang.String">
<property name="net.sf.jasperreports.json.field.expression" value="modelo"/>
<fieldDescription><![CDATA[modelo]]></fieldDescription>
</field>
<field name="tela" class="java.lang.String">
<property name="net.sf.jasperreports.json.field.expression" value="tela"/>
<fieldDescription><![CDATA[tela]]></fieldDescription>
</field>
<field name="dimensiones" class="java.lang.String">
<property name="net.sf.jasperreports.json.field.expression" value="dimensiones"/>
<fieldDescription><![CDATA[dimensiones]]></fieldDescription>
</field>
<field name="destino" class="java.lang.String">
<property name="net.sf.jasperreports.json.field.expression" value="destino"/>
<fieldDescription><![CDATA[destino]]></fieldDescription>
</field>
<field name="observaciones" class="java.lang.String">
<property name="net.sf.jasperreports.json.field.expression" value="observaciones"/>
<fieldDescription><![CDATA[observaciones]]></fieldDescription>
</field>
<field name="cantidad" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="cantidad"/>
<fieldDescription><![CDATA[cantidad]]></fieldDescription>
</field>
<field name="vrUnitario" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="vrUnitario"/>
<fieldDescription><![CDATA[vrUnitario]]></fieldDescription>
</field>
<field name="subTotal" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="subTotal"/>
<fieldDescription><![CDATA[subTotal]]></fieldDescription>
</field>
<field name="iva" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="iva"/>
<fieldDescription><![CDATA[iva]]></fieldDescription>
</field>
<field name="total" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="total"/>
<fieldDescription><![CDATA[total]]></fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<pageHeader>
<band height="97" splitType="Stretch">
<textField>
<reportElement x="47" y="10" width="461" height="50" uuid="a6361980-8b3a-44b7-8b9a-ad381553def5"/>
<textFieldExpression><![CDATA[$P{header}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<detail>
<band height="276" splitType="Stretch"/>
</detail>
<pageFooter>
<band height="54" splitType="Stretch">
<textField>
<reportElement x="60" y="10" width="461" height="35" uuid="8c89af56-0386-4fca-a74e-b35e45e0d321"/>
<textFieldExpression><![CDATA[$P{footer}]]></textFieldExpression>
</textField>
</band>
</pageFooter>
Подробный файл:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.10.0.final using JasperReports Library version 6.10.0-unknown -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="subReporte" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="b27ab17e-17bd-45ee-acef-3f80298ad3c4">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="DataAdapterJSON.xml"/>
<queryString language="JSON">
<![CDATA[productList]]>
</queryString>
<field name="productNumber" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="productNumber"/>
<fieldDescription><![CDATA[productNumber]]></fieldDescription>
</field>
<field name="Field_1" class="java.lang.String"/>
<field name="modelo" class="java.lang.String">
<property name="net.sf.jasperreports.json.field.expression" value="modelo"/>
<fieldDescription><![CDATA[modelo]]></fieldDescription>
</field>
<field name="tela" class="java.lang.String">
<property name="net.sf.jasperreports.json.field.expression" value="tela"/>
<fieldDescription><![CDATA[tela]]></fieldDescription>
</field>
<field name="dimensiones" class="java.lang.String">
<property name="net.sf.jasperreports.json.field.expression" value="dimensiones"/>
<fieldDescription><![CDATA[dimensiones]]></fieldDescription>
</field>
<field name="destino" class="java.lang.String">
<property name="net.sf.jasperreports.json.field.expression" value="destino"/>
<fieldDescription><![CDATA[destino]]></fieldDescription>
</field>
<field name="observaciones" class="java.lang.String">
<property name="net.sf.jasperreports.json.field.expression" value="observaciones"/>
<fieldDescription><![CDATA[observaciones]]></fieldDescription>
</field>
<field name="cantidad" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="cantidad"/>
<fieldDescription><![CDATA[cantidad]]></fieldDescription>
</field>
<field name="vrUnitario" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="vrUnitario"/>
<fieldDescription><![CDATA[vrUnitario]]></fieldDescription>
</field>
<field name="subTotal" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="subTotal"/>
<fieldDescription><![CDATA[subTotal]]></fieldDescription>
</field>
<field name="iva" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="iva"/>
<fieldDescription><![CDATA[iva]]></fieldDescription>
</field>
<field name="total" class="java.lang.Integer">
<property name="net.sf.jasperreports.json.field.expression" value="total"/>
<fieldDescription><![CDATA[total]]></fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<detail>
<band height="300" splitType="Stretch">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<rectangle>
<reportElement x="10" y="5" width="540" height="40" backcolor="#969696" uuid="cebf9391-ddaa-4354-96fd-ffb4bc640e00"/>
</rectangle>
<textField>
<reportElement x="200" y="10" width="250" height="30" uuid="09efa628-d984-4a27-9b9b-9a20cc48650c"/>
<textFieldExpression><![CDATA[$F{productNumber}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="100" y="10" width="250" height="30" uuid="873b7396-2256-4781-afa5-a1178f59b70e"/>
<textElement>
<font fontName="Calibri" size="12"/>
</textElement>
<text><![CDATA[PRODUCTO]]></text>
</staticText>
<textField>
<reportElement x="10" y="80" width="120" height="30" uuid="4635c0c8-6106-473c-9554-4deb7905cf63"/>
<textFieldExpression><![CDATA[$F{modelo}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="10" y="50" width="120" height="30" uuid="d5c08de2-8bb5-4892-9036-a51306f85717"/>
<text><![CDATA[modelo]]></text>
</staticText>
<textField>
<reportElement x="130" y="80" width="150" height="30" uuid="6de985ac-4928-435d-b3e0-43c75336e968"/>
<textFieldExpression><![CDATA[$F{tela}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="130" y="50" width="150" height="30" uuid="51505f11-5707-43a2-9619-a68b1651517b"/>
<text><![CDATA[tela]]></text>
</staticText>
<textField>
<reportElement x="280" y="80" width="150" height="30" uuid="92321e84-577d-4aa8-b09c-2aeeae6da75e"/>
<textFieldExpression><![CDATA[$F{dimensiones}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="280" y="50" width="150" height="30" uuid="7b2273c7-4f77-47c6-bb7c-346dfc3ddf52"/>
<text><![CDATA[dimensiones]]></text>
</staticText>
<textField>
<reportElement x="430" y="80" width="130" height="30" uuid="df5926a8-a1e0-42af-b6df-975d3e3bfbfe"/>
<textFieldExpression><![CDATA[$F{destino}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="430" y="50" width="130" height="30" uuid="43b0ac91-fa58-4c9d-acac-5b3ee37d9f91"/>
<text><![CDATA[destino]]></text>
</staticText>
<textField>
<reportElement x="110" y="110" width="100" height="30" uuid="a4240e28-ace7-4dcb-a3eb-21c19f6e11a8"/>
<textFieldExpression><![CDATA[$F{cantidad}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="10" y="110" width="100" height="30" uuid="2dd51ddf-fc23-47d0-b976-0aa240db016f"/>
<text><![CDATA[cantidad]]></text>
</staticText>
<textField>
<reportElement x="310" y="110" width="100" height="30" uuid="bf69edd7-d99a-4d03-8c7b-7232a2032194"/>
<textFieldExpression><![CDATA[$F{vrUnitario}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="210" y="110" width="100" height="30" uuid="2867b62d-7c49-41d3-8e5a-7b33f8768ffa"/>
<text><![CDATA[vrUnitario]]></text>
</staticText>
<textField>
<reportElement x="480" y="110" width="80" height="30" uuid="d94d3fb8-91a1-427b-b492-b97698af14eb"/>
<textFieldExpression><![CDATA[$F{iva}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="410" y="110" width="70" height="30" uuid="f7352353-b08f-4413-8db6-cc5069dbc920"/>
<text><![CDATA[iva]]></text>
</staticText>
<textField>
<reportElement x="280" y="140" width="200" height="30" uuid="3b84133c-82c2-4b31-8623-a477d576549e"/>
<textFieldExpression><![CDATA[$F{total}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="110" y="140" width="170" height="30" uuid="d4071547-89b4-44e1-8847-3b2c20382846"/>
<text><![CDATA[total]]></text>
</staticText>
</band>
</detail>
Как я могу поместить эти файлы в один отчет? (содержимое второго файла в первом)