4b43c5d3e4
agent/ state.py: AgentState TypedDict(20字段含意图/压缩/会话/撤销) nodes.py: 17个节点函数(生成/修改/验证/纠错/意图分类/压缩/撤销/重置) graph.py: 17节点状态图,8意图路由分发 验证服务 validation_service/ main.py: FastAPI服务,lxml XSD验证 + 结构化检查(字段引用/SQL/尺寸) 数据 data/ sample_templates/: 4个JRXML示例模板 corrections/: 3个错误修正案例 脚本 scripts/ init_kb.py: Chroma知识库初始化
90 lines
4.1 KiB
XML
90 lines
4.1 KiB
XML
<?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="SalesSummary" pageWidth="595" pageHeight="842" columnWidth="555"
|
|
leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
|
|
<queryString>
|
|
<![CDATA[SELECT department, total_sales, employee_count FROM dept_summary ORDER BY total_sales DESC]]>
|
|
</queryString>
|
|
<field name="department" class="java.lang.String"/>
|
|
<field name="total_sales" class="java.math.BigDecimal"/>
|
|
<field name="employee_count" class="java.lang.Integer"/>
|
|
<variable name="grand_total" class="java.math.BigDecimal" calculation="Sum">
|
|
<variableExpression><![CDATA[$F{total_sales}]]></variableExpression>
|
|
</variable>
|
|
<variable name="total_employees" class="java.lang.Integer" calculation="Sum">
|
|
<variableExpression><![CDATA[$F{employee_count}]]></variableExpression>
|
|
</variable>
|
|
<title>
|
|
<band height="60">
|
|
<staticText>
|
|
<reportElement x="0" y="10" width="555" height="30"/>
|
|
<textElement textAlignment="Center">
|
|
<font size="16" isBold="true"/>
|
|
</textElement>
|
|
<text><![CDATA[Department Sales Summary]]></text>
|
|
</staticText>
|
|
</band>
|
|
</title>
|
|
<columnHeader>
|
|
<band height="25">
|
|
<staticText>
|
|
<reportElement x="0" y="0" width="200" height="20"/>
|
|
<textElement><font isBold="true"/></textElement>
|
|
<text><![CDATA[Department]]></text>
|
|
</staticText>
|
|
<staticText>
|
|
<reportElement x="210" y="0" width="170" height="20"/>
|
|
<textElement textAlignment="Right"><font isBold="true"/></textElement>
|
|
<text><![CDATA[Total Sales]]></text>
|
|
</staticText>
|
|
<staticText>
|
|
<reportElement x="390" y="0" width="165" height="20"/>
|
|
<textElement textAlignment="Right"><font isBold="true"/></textElement>
|
|
<text><![CDATA[Employee Count]]></text>
|
|
</staticText>
|
|
</band>
|
|
</columnHeader>
|
|
<detail>
|
|
<band height="20">
|
|
<textField>
|
|
<reportElement x="0" y="0" width="200" height="20"/>
|
|
<textFieldExpression><![CDATA[$F{department}]]></textFieldExpression>
|
|
</textField>
|
|
<textField>
|
|
<reportElement x="210" y="0" width="170" height="20"/>
|
|
<textElement textAlignment="Right"/>
|
|
<textFieldExpression><![CDATA[$F{total_sales}]]></textFieldExpression>
|
|
</textField>
|
|
<textField>
|
|
<reportElement x="390" y="0" width="165" height="20"/>
|
|
<textElement textAlignment="Right"/>
|
|
<textFieldExpression><![CDATA[$F{employee_count}]]></textFieldExpression>
|
|
</textField>
|
|
</band>
|
|
</detail>
|
|
<summary>
|
|
<band height="40">
|
|
<line>
|
|
<reportElement x="0" y="0" width="555" height="1"/>
|
|
</line>
|
|
<staticText>
|
|
<reportElement x="0" y="5" width="200" height="20"/>
|
|
<textElement><font isBold="true"/></textElement>
|
|
<text><![CDATA[Grand Total]]></text>
|
|
</staticText>
|
|
<textField>
|
|
<reportElement x="210" y="5" width="170" height="20"/>
|
|
<textElement textAlignment="Right"><font isBold="true"/></textElement>
|
|
<textFieldExpression><![CDATA[$V{grand_total}]]></textFieldExpression>
|
|
</textField>
|
|
<textField>
|
|
<reportElement x="390" y="5" width="165" height="20"/>
|
|
<textElement textAlignment="Right"><font isBold="true"/></textElement>
|
|
<textFieldExpression><![CDATA[$V{total_employees}]]></textFieldExpression>
|
|
</textField>
|
|
</band>
|
|
</summary>
|
|
</jasperReport>
|