guidewire - 与查询相比,脚本返回有限数量的记录
问题描述
我尝试将 SQL 查询转换为 Gosu 脚本(Guidewire)。我的脚本仅适用于有限数量的记录
这是 SQL 查询
select PolicyNumber,* from pc_policyperiod
where ID in ( Select ownerID from pc_PRActiveWorkflow
where ForeignEntityID in (Select id from pc_workflow where State=3))
这是我的脚本
var workFlowIDQuery = Query.make(Workflow).compare(Workflow#State,Relop.Equals,WorkflowState.TC_COMPLETED).select({QuerySelectColumns.path(Paths.make(entity.Workflow#ID))}).transformQueryRow(\row ->row.getColumn(0)).toTypedArray()
var prActiveWorkFlowQuery = Query.make(PRActiveWorkflow).compareIn(PRActiveWorkflow#ForeignEntity, workFlowIDQuery).select({QuerySelectColumns.path(Paths.make(entity.PRActiveWorkflow#Owner))}).transformQueryRow(\row -> row.getColumn(0)).toTypedArray()
var periodQuery = Query.make(PolicyPeriod).compareIn(PolicyPeriod#ID,prActiveWorkFlowQuery).select()
for(period in periodQuery){
print(period.policynmber)
}
任何人都可以找到原因吗?为什么脚本会产生有限的记录或提出改进建议?
解决方案
我建议您编写一个 Gosu 查询来选择 policyPeriod 并将 3 个具有外键的实体连接到其他实体。
我注意到 PolicyPeriod ID 是否与 PRActiveWorkflow ID 相同。您能否详细说明 PolicyPeriod 和 PRActiveWorkflow 实体之间的关系?
推荐阅读
- ios - UICollectionView - 部分快照 - 删除部分或项目时“找不到项目索引”
- machine-learning - 人工神经网络中实际输出值过冲/下冲的一般趋势
- c# - Unity上firebase的序列化错误
- java - 在tomcat中将子域托管到域根目录
- r - 如何在应用滚动功能的情况下显示缺失的日期
- ios - 有没有办法在 SwiftUI 中创建一个新的手势?
- awk - 在特定的行范围内按多个模式删除行
- scala - 我应该如何在 scala 中实现“添加”解释器?
- angular - Angular,通过创建该类的“实例”和使用“this”关键字来调用类方法是否相同?
- reactjs - 如何从 URL 恢复组件状态