Created
August 7, 2020 12:53
-
-
Save yusufunlu/790fc8dc3070a2d086c0279c4e223711 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.artiwise.newswise.supernova.model.DTO; | |
import lombok.AllArgsConstructor; | |
import lombok.Getter; | |
import lombok.NoArgsConstructor; | |
import lombok.Setter; | |
import javax.persistence.*; | |
import java.io.Serializable; | |
@Getter | |
@Setter | |
@NoArgsConstructor | |
@AllArgsConstructor | |
@Entity | |
@SqlResultSetMapping(name="RuleObjectMapping", | |
classes = { | |
@ConstructorResult(targetClass = RuleObject.class, | |
columns = { | |
@ColumnResult(name="id", type = Long.class), | |
@ColumnResult(name="name"), | |
@ColumnResult(name="rtopicid", type = Long.class), | |
@ColumnResult(name="topicname"), | |
@ColumnResult(name="rtemplateid", type = Long.class), | |
@ColumnResult(name="templatename"), | |
@ColumnResult(name="isinclude", type = Boolean.class), | |
@ColumnResult(name="issystemrule", type = Boolean.class), | |
@ColumnResult(name="templateid", type = Long.class), | |
@ColumnResult(name="reportcode"), | |
@ColumnResult(name="wscode"), | |
@ColumnResult(name="category"), | |
@ColumnResult(name="categorycode"), | |
@ColumnResult(name="contenttype"), | |
@ColumnResult(name="contenttypecode"), | |
@ColumnResult(name="language"), | |
@ColumnResult(name="languagecode"), | |
@ColumnResult(name="site"), | |
@ColumnResult(name="sitecode"), | |
@ColumnResult(name="sitetype"), | |
@ColumnResult(name="sitetypecode"), | |
@ColumnResult(name="keyword"), | |
@ColumnResult(name="rcOp"), | |
@ColumnResult(name="rctOp"), | |
@ColumnResult(name="rlOp"), | |
@ColumnResult(name="rsOp"), | |
@ColumnResult(name="rstOp"), | |
@ColumnResult(name="rkOp") | |
}) | |
}) | |
@NamedNativeQuery(name="RuleObjectQuery", | |
query = "select r.id, r.name," + | |
" r.topic_id as rtopicid,\n" + | |
" t.name as topicname,\n" + | |
" r.template_id as rtemplateid,\n" + | |
" tmp.name as templatename,\n" + | |
" r.is_include as isinclude,\n" + | |
" r.is_system_rule as issystemrule,\n" + | |
" tmp.id as templateid,\n" + | |
" string_agg(distinct rp.report_code,',' order by rp.report_code) as reportcode,\n" + | |
" wr.wscode as wscode,\n" + | |
" string_agg(distinct c.name,',' order by c.name) as category,\n" + | |
" string_agg(distinct c.code,',' order by c.code) as categorycode,\n" + | |
" string_agg(distinct ct.name,',' order by ct.name) as contenttype,\n" + | |
" string_agg(distinct ct.code,',' order by ct.code) as contenttypecode,\n" + | |
" string_agg(distinct l.name,',' order by l.name) as language,\n" + | |
" string_agg(distinct l.code,',' order by l.code) as languagecode,\n" + | |
" string_agg(distinct s.name,',' order by s.name) as site,\n" + | |
" string_agg(distinct s.code,',' order by s.code) as sitecode,\n" + | |
" string_agg(distinct st.name,',' order by st.name) as sitetype,\n" + | |
" string_agg(distinct st.code,',' order by st.code) as sitetypecode,\n" + | |
" string_agg(distinct k.name,',' order by k.name) as keyword,\n" + | |
" rc.operator as rcOp,\n" + | |
" rct.operator as rctOp,\n" + | |
" rl.operator as rlOp,\n" + | |
" rs.operator as rsOp,\n" + | |
" rst.operator as rstOp,\n" + | |
" rk.operator as rkOp\n" + | |
"\n" + | |
"from rule r\n" + | |
" LEFT JOIN topic t on r.topic_id = t.id\n" + | |
" LEFT JOIN template_topic tt on tt.topic_id = t.id\n" + | |
" LEFT JOIN template tmp on coalesce(r.template_id, tt.template_id) = tmp.id\n" + | |
" LEFT JOIN workspace_rule wr on r.id = wr.rule_id\n" + | |
" INNER JOIN report_template rp on rp.template_id = tmp.id\n" + | |
" LEFT JOIN rule_category rc on r.id = rc.rule_id\n" + | |
" LEFT JOIN category c on c.id = rc.category_id\n" + | |
" LEFT JOIN rule_contenttype rct on r.id = rct.rule_id\n" + | |
" LEFT JOIN contenttype ct on ct.id = rct.contenttype_id\n" + | |
" LEFT JOIN rule_language rl on r.id = rl.rule_id\n" + | |
" LEFT JOIN language l on rl.language_id = l.id\n" + | |
" LEFT JOIN rule_site rs on r.id = rs.rule_id\n" + | |
" LEFT JOIN site s on s.id = rs.site_id\n" + | |
" LEFT JOIN rule_sitetype rst on r.id = rst.rule_id\n" + | |
" LEFT JOIN sitetype st on st.id = rst.sitetype_id\n" + | |
" LEFT JOIN rule_keyword rk on r.id = rk.rule_id\n" + | |
" LEFT JOIN keyword k on rk.keyword_id = k.id\n" + | |
"group by r.id, t.id, tmp.id,r.is_include,r.is_system_rule, wr.wscode,rcOp,rkOp, rsOp,rstOp,rlOp,rctOp,templateid\n" + | |
"order by r.id" , | |
resultSetMapping="RuleObjectMapping") | |
public class RuleObject implements Serializable { | |
@Id | |
protected Long id; | |
protected String name; | |
private Long rtopicid; | |
private String topicname; | |
private Long rtemplateid; | |
private String templatename; | |
private Boolean isinclude = true; | |
private Boolean issystemRule = false; | |
private Long templateid; | |
private String reportcode; | |
public String wscode; | |
private String category; | |
private String categorycode; | |
private String contenttype; | |
private String contenttypecode; | |
private String language; | |
private String languagecode; | |
private String site; | |
private String sitecode; | |
private String sitetype; | |
private String sitetypecode; | |
private String keyword; | |
private String rcOp; | |
private String rctOp; | |
private String rlOp; | |
private String rsOp; | |
private String rstOp; | |
private String rkOp; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment