首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Hybris Jasper报告中使用Flexible search来搜索字段type=“动态”?

如何在Hybris Jasper报告中使用Flexible search来搜索字段type=“动态”?
EN

Stack Overflow用户
提问于 2017-05-26 13:06:03
回答 2查看 1.3K关注 0票数 1

例如:

代码语言:javascript
复制
    SELECT 
 {adjustment.pk},
 {reason.code},
 {reason.description},
 {adjustment.orderNumber}
 {adjustment.creator},
 {cs.agentID},
 {cs.mobilePhone}
  FROM  {OrderValueAdjustment as adjustment JOIN AdjustOrderReason AS reason ON {adjustment.reason} = {reason.pk}
    JOIN CsEmployee AS cs ON  {adjustment.creator} = {cs.pk}
  }
WHERE {adjustment.pk} = 8796093131124

因为{adjustment.orderNumber}是动态属性类型,所以抛出false。

EN

回答 2

Stack Overflow用户

发布于 2017-05-26 16:22:25

动态属性不是持久属性,因此不能使用flexi查询来搜索它们。

票数 2
EN

Stack Overflow用户

发布于 2017-05-26 20:28:16

动态属性不会保存在数据库中,因此您无法使用FLexible Search获取它们。

为了解决Jasper report的问题,如果您仔细查看jrxml文件(例如salesByCountry.jrxml),您将看到这一部分:

代码语言:javascript
复制
<queryString>
            <![CDATA[SELECT x.COUNTRY AS COUNTRY, SUM(x.TOTPRICE) as TOTPRICE
FROM
({{
Select {country.name} as COUNTRY, COALESCE(sum({o.totalPrice} * {c2.conversion}/{c.conversion}),0) as TOTPRICE
from { Country AS country LEFT JOIN Address AS a ON {a.country}={country.PK} LEFT JOIN Order AS o ON {o.paymentAddress}={a.PK} LEFT JOIN Currency as c ON {o.currency}={c.PK} LEFT JOIN Currency as c2 ON {c2.pk}= $P{Currency} AND {o.creationtime} >= $P{From} AND {o.creationtime} < $P{To}}
GROUP BY {country.PK}, country
}}
UNION ALL
{{
Select {country.name} as COUNTRY, COALESCE(sum({o.totalPrice} * {c2.conversion}/{c.conversion}),0) as TOTPRICE
from { Country AS country LEFT JOIN Address AS a ON {a.country}={country.PK} LEFT JOIN Order AS o ON {o.paymentAddress}={a.PK} LEFT JOIN Currency as c ON {o.currency}={c.PK} LEFT JOIN Currency as c2 ON {c2.pk}= $P{Currency} AND {o.creationtime} >= $P{From} AND {o.creationtime} < $P{To} AND {o.paymentAddress} IS NULL}
GROUP BY {country.PK}, country
}}) x
GROUP BY COUNTRY
ORDER BY TOTPRICE DESC]]>
        </queryString>

您可以做的是使用这个灵活的按参数搜索替换数据检索(作为jrxml中的货币)。然后,您只需从java中的模型中获取动态值,并使用参数映射将其传递给jasper报表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44193990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档