【发布时间】:2018-01-05 08:58:53
【问题描述】:
<?xml version="1.0" encoding="UTF-8"?>
<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="null" language="groovy" pageWidth="555" pageHeight="802" columnWidth="535" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="4532cff6-e5b8-4edf-9ab5-46106eff9c86">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<style name="Title" fontName="Times New Roman" fontSize="50" isBold="true" pdfFontName="Times-Bold"/>
<style name="SubTitle" forecolor="#736343" fontName="Arial" fontSize="18"/>
<style name="Column header" forecolor="#666666" fontName="Arial" fontSize="12" isBold="true"/>
<style name="Detail" fontName="Arial" fontSize="12"/>
<style name="Row" mode="Transparent">
<conditionalStyle>
<conditionExpression><![CDATA[$V{REPORT_COUNT}%2 == 0]]></conditionExpression>
<style backcolor="#E6DAC3"/>
</conditionalStyle>
</style>
<parameter name="START_DATE_MAIN" class="java.lang.String"/>
<parameter name="END_DATE_MAIN" class="java.lang.String"/>
<parameter name="HOSPITAL_NAME_MAIN" class="java.lang.String"/>
<parameter name="BRANCH_NAME_MAIN" class="java.lang.String"/>
<parameter name="START_DATE" class="java.util.Date" isForPrompting="false">
<defaultValueExpression><![CDATA[(new SimpleDateFormat("dd.MM.yyyy")).parse($P{START_DATE_MAIN})]]></defaultValueExpression>
</parameter>
<parameter name="END_DATE" class="java.util.Date" isForPrompting="false">
<defaultValueExpression><![CDATA[(new SimpleDateFormat("dd.MM.yyyy")).parse($P{END_DATE_MAIN})]]></defaultValueExpression>
</parameter>
<parameter name="HOSPITAL_NAME_SUB" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA[$P{HOSPITAL_NAME_MAIN}]]></defaultValueExpression>
</parameter>
<parameter name="BRANCH_NAME_SUB" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA[$P{BRANCH_NAME_MAIN}]]></defaultValueExpression>
</parameter>
<queryString>
<![CDATA[SELECT DISTINCT wet.wkf_ebp_document_serial, wet.document_title, wet.document_name, sb.branch_name
FROM wkf_ebp_table wet
INNER JOIN wkf_ebp_registry_files werf ON werf.wkf_ebp_document_serial = wet.wkf_ebp_document_serial
INNER JOIN system_branches sb ON wet.system_branch_serial = sb.system_branch_serial
WHERE wet.wkf_ebp_document_serial = 54
ORDER BY wet.wkf_ebp_document_serial]]>
</queryString>
<field name="wkf_ebp_document_serial" class="java.lang.Integer"/>
<field name="document_title" class="java.lang.String"/>
<field name="document_name" class="java.lang.String"/>
<field name="branch_name" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="57">
<subreport>
<reportElement x="0" y="0" width="555" height="50" uuid="44cb07e6-92a3-4d07-ad6b-0cdb29bcfca2"/>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA["Z:\\NGenXEHMISReports\\src\\com\\ngenx\\universals\\NhifHeader\\PortraitNhifHeader.jasper"]]></subreportExpression>
</subreport>
</band>
</title>
<columnHeader>
<band height="53">
<subreport>
<reportElement x="0" y="0" width="555" height="50" uuid="9e9faae4-5f9b-4be8-b2de-dbe88eeb064e"/>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA["Z:\\NGenXEHMISReports\\src\\com\\ngenx\\EHMIS\\Reports\\BpmBatchClaimsListClaimsAndRegFiles\\BpmBatchClaimsListClaimsAndRegFilesTitle.jasper"]]></subreportExpression>
</subreport>
</band>
</columnHeader>
<detail>
<band height="84">
<subreport>
<reportElement x="0" y="0" width="555" height="81" uuid="72299e64-b064-45c9-be5c-230178ebbdb2"/>
<subreportParameter name="END_DATE_MAIN">
<subreportParameterExpression><![CDATA[$P{END_DATE_MAIN}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="BRANCH_NAME_MAIN">
<subreportParameterExpression><![CDATA[$P{BRANCH_NAME_MAIN}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="HOSPITAL_NAME_SUB">
<subreportParameterExpression><![CDATA[$P{HOSPITAL_NAME_SUB}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="HOSPITAL_NAME_MAIN">
<subreportParameterExpression><![CDATA[$P{HOSPITAL_NAME_MAIN}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="END_DATE">
<subreportParameterExpression><![CDATA[$P{END_DATE}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="START_DATE">
<subreportParameterExpression><![CDATA[$P{START_DATE}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="START_DATE_MAIN">
<subreportParameterExpression><![CDATA[$P{START_DATE_MAIN}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="BRANCH_NAME_SUB">
<subreportParameterExpression><![CDATA[$P{BRANCH_NAME_SUB}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA["Z:\\NGenXEHMISReports\\src\\com\\ngenx\\EHMIS\\Reports\\BpmBatchClaimsListClaimsAndRegFiles\\BpmBatchClaimsListClaimsAndRegFilesBatchList.jasper"]]></subreportExpression>
</subreport>
</band>
<band height="97"/>
</detail>
<columnFooter>
<band height="45" splitType="Stretch">
<line>
<reportElement positionType="FixRelativeToBottom" x="0" y="3" width="555" height="1" uuid="f5f84792-ead7-447c-8611-c102cb7bcdca"/>
<graphicElement>
<pen lineWidth="0.5" lineColor="#999999"/>
</graphicElement>
</line>
</band>
</columnFooter>
<pageFooter>
<band height="25" splitType="Stretch">
<frame>
<reportElement mode="Opaque" x="-21" y="1" width="597" height="24" forecolor="#D0B48E" backcolor="#F2EBDF" uuid="7c8434c0-a6d0-40be-b9f6-a8fe03160e43"/>
<textField evaluationTime="Report">
<reportElement style="Column header" x="533" y="0" width="40" height="20" forecolor="#736343" uuid="546e557a-42eb-43e0-bc8c-00331c199a50"/>
<textElement verticalAlignment="Middle">
<font size="10" isBold="false"/>
</textElement>
<textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textField>
<reportElement style="Column header" x="453" y="0" width="80" height="20" forecolor="#736343" uuid="db70de02-3ac8-4cf4-bfbd-88442962408b"/>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="10" isBold="false"/>
</textElement>
<textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression>
</textField>
<textField pattern="EEEEE dd MMMMM yyyy">
<reportElement style="Column header" x="22" y="1" width="197" height="20" forecolor="#736343" uuid="53a03810-2c65-4292-849b-38e3cd343cc6"/>
<textElement verticalAlignment="Middle">
<font size="10" isBold="false"/>
</textElement>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
</frame>
</band>
</pageFooter>
</jasperReport>
当我为上述 jasper ireport 传递四个参数时,出现以下错误(错误填充打印)。 SQL 查询本身正在工作,但是当我在 netbeans IDE 上运行报告时没有显示任何数据。在我添加医院和分支机构参数之前它正在工作。当时我只有两个参数开始日期和结束日期。有谁能发现问题吗?
错误填充打印... net.sf.jasperreports.engine.JRException:错误准备语句以执行报告查询: SELECT DISTINCT wet.wkf_ebp_document_serial,Count(werf.wkf_ebp_registry_file_serial) AS reg, sb.branch_name, ncb.batch_title, ncb.nhif_claims_batch_serial, Count(ncbn.nhif_claims_notification_serial) AS claimsnotificationcount, ncb.total_applied_amount、ncb.total_approved_amount、ncb.total_bill_amount、nhif_hospitals.hospital_name、wet.document_name、ncb.batch_from_date、ncb.batch_to_date、nhif_claims_notifications.date_added FROM wkf_ebp_table 湿 INNER JOIN wkf_ebp_registry_files werf ON werf.wkf_ebp_document_serial = wet.wkf_ebp_document_serial INNER JOIN system_branches sb ON wet.system_branch_serial = sb.system_branch_serial INNER JOIN nhif_claims_batches ncb ON ncb.nhif_claims_batch_serial = wet.nhif_claims_batch_serial 内部连接 nhif_claims_batch_notifications ncbn 开启 ncbn.nhif_claims_batch_serial = ncb.nhif_claims_batch_serial INNER JOIN nhif_hospitals ON nhif_hospitals.system_branch_serial = sb.system_branch_serial AND ncb.nhif_hospital_serial = nhif_hospitals.nhif_hospital_serial 内部加入 nhif_claims_notifications 开启 ncbn.nhif_claims_notification_serial = nhif_claims_notifications.nhif_claims_notification_serial 在哪里(nhif_claims_notifications.date_added BETWEEN ? AND ? AND nhif_hospitals.hospital_name LIKE '%?%') 或 (sb.branch_name LIKE '%?%') GROUP BY wet.wkf_ebp_document_serial、sb.branch_name、ncb.batch_title、ncb.nhif_claims_batch_serial、 ncb.total_applied_amount、ncb.total_approved_amount、ncb.total_bill_amount、nhif_hospitals.hospital_name、wet.document_name、ncb.batch_from_date、ncb.batch_to_date、nhif_claims_notifications.date_added 订购方式:wet.wkf_ebp_document_serial
net.sf.jasperreports.engine.JRRuntimeException:net.sf.jasperreports.engine.JRException:为执行报告查询准备语句时出错: SELECT DISTINCT wet.wkf_ebp_document_serial,Count(werf.wkf_ebp_registry_file_serial) AS reg, sb.branch_name, ncb.batch_title, ncb.nhif_claims_batch_serial, Count(ncbn.nhif_claims_notification_serial) AS claimsnotificationcount, ncb.total_applied_amount、ncb.total_approved_amount、ncb.total_bill_amount、nhif_hospitals.hospital_name、wet.document_name、ncb.batch_from_date、ncb.batch_to_date、nhif_claims_notifications.date_added FROM wkf_ebp_table 湿 INNER JOIN wkf_ebp_registry_files werf ON werf.wkf_ebp_document_serial = wet.wkf_ebp_document_serial INNER JOIN system_branches sb ON wet.system_branch_serial = sb.system_branch_serial INNER JOIN nhif_claims_batches ncb ON ncb.nhif_claims_batch_serial = wet.nhif_claims_batch_serial 内部连接 nhif_claims_batch_notifications ncbn 开启 ncbn.nhif_claims_batch_serial = ncb.nhif_claims_batch_serial INNER JOIN nhif_hospitals ON nhif_hospitals.system_branch_serial = sb.system_branch_serial AND ncb.nhif_hospital_serial = nhif_hospitals.nhif_hospital_serial 内部加入 nhif_claims_notifications 开启 ncbn.nhif_claims_notification_serial = nhif_claims_notifications.nhif_claims_notification_serial 在哪里(nhif_claims_notifications.date_added BETWEEN ? AND ? AND nhif_hospitals.hospital_name LIKE '%?%') 或 (sb.branch_name LIKE '%?%') GROUP BY wet.wkf_ebp_document_serial、sb.branch_name、ncb.batch_title、ncb.nhif_claims_batch_serial、 ncb.total_applied_amount、ncb.total_approved_amount、ncb.total_bill_amount、nhif_hospitals.hospital_name、wet.document_name、ncb.batch_from_date、ncb.batch_to_date、nhif_claims_notifications.date_added 订购方式:wet.wkf_ebp_document_serial 在 net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:782) 在 net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331) 在 net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:384) 在 net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:358) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2059) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:778) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:288) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:151) 在 net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:932) 在 net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845) 在 net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:87) 在 net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446) 在 net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:276) 在 net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:745) 在 com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:891) 在 org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443) 在 org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68) 在 org.openide.util.lookup.Lookups.executeWith(Lookups.java:303) 在 org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058) 原因:net.sf.jasperreports.engine.JRException:为执行报告查询准备语句时出错: SELECT DISTINCT wet.wkf_ebp_document_serial,Count(werf.wkf_ebp_registry_file_serial) AS reg, sb.branch_name, ncb.batch_title, ncb.nhif_claims_batch_serial, Count(ncbn.nhif_claims_notification_serial) AS claimsnotificationcount, ncb.total_applied_amount、ncb.total_approved_amount、ncb.total_bill_amount、nhif_hospitals.hospital_name、wet.document_name、ncb.batch_from_date、ncb.batch_to_date、nhif_claims_notifications.date_added FROM wkf_ebp_table 湿 INNER JOIN wkf_ebp_registry_files werf ON werf.wkf_ebp_document_serial = wet.wkf_ebp_document_serial INNER JOIN system_branches sb ON wet.system_branch_serial = sb.system_branch_serial INNER JOIN nhif_claims_batches ncb ON ncb.nhif_claims_batch_serial = wet.nhif_claims_batch_serial 内部连接 nhif_claims_batch_notifications ncbn 开启 ncbn.nhif_claims_batch_serial = ncb.nhif_claims_batch_serial INNER JOIN nhif_hospitals ON nhif_hospitals.system_branch_serial = sb.system_branch_serial AND ncb.nhif_hospital_serial = nhif_hospitals.nhif_hospital_serial 内部加入 nhif_claims_notifications 开启 ncbn.nhif_claims_notification_serial = nhif_claims_notifications.nhif_claims_notification_serial 在哪里(nhif_claims_notifications.date_added BETWEEN ? AND ? AND nhif_hospitals.hospital_name LIKE '%?%') 或 (sb.branch_name LIKE '%?%') GROUP BY wet.wkf_ebp_document_serial、sb.branch_name、ncb.batch_title、ncb.nhif_claims_batch_serial、 ncb.total_applied_amount、ncb.total_approved_amount、ncb.total_bill_amount、nhif_hospitals.hospital_name、wet.document_name、ncb.batch_from_date、ncb.batch_to_date、nhif_claims_notifications.date_added 订购方式:wet.wkf_ebp_document_serial 在 net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:372) 在 net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:196) 在 net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1112) 在 net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:689) 在 net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1281) 在 net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:900) 在 net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845) 在 net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:651) 在 net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59) 在 net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner.run(AbstractThreadSubreportRunner.java:203) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) 引起:org.postgresql.util.PSQLException:列索引超出范围:3,列数:2。 在 org.postgresql.core.v3.SimpleParameterList.bind(SimpleParameterList.java:64) 在 org.postgresql.core.v3.SimpleParameterList.setStringParameter(SimpleParameterList.java:127) 在 org.postgresql.jdbc.PgPreparedStatement.bindString(PgPreparedStatement.java:1110) 在 org.postgresql.jdbc.PgPreparedStatement.setString(PgPreparedStatement.java:381) 在 org.postgresql.jdbc.PgPreparedStatement.setString(PgPreparedStatement.java:365) 在 net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setStatementParameter(JRJdbcQueryExecuter.java:564) 在 net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setStatementParameter(JRJdbcQueryExecuter.java:399) 在 net.sf.jasperreports.engine.query.JRJdbcQueryExecuter$1.visit(JRJdbcQueryExecuter.java:332) 在 net.sf.jasperreports.engine.query.JRAbstractQueryExecuter$QueryParameter.accept(JRAbstractQueryExecuter.java:157) 在 net.sf.jasperreports.engine.query.JRAbstractQueryExecuter.visitQueryParameters(JRAbstractQueryExecuter.java:646) 在 net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:317) ... 12 更多打印未填写。尝试使用 EmptyDataSource...
【问题讨论】: