|
|
@@ -366,8 +366,11 @@ public class role extends Controller {
|
|
|
public String roleAuthReportSelect() throws YosException {
|
|
|
long roleid = content.getLong("roleid");
|
|
|
ArrayList<Long> sys_reportid = dbConnect.runSqlQuery("select sys_reportid from sys_rolereportauth where roleid=" + roleid).toArrayList("sys_reportid", new ArrayList<>());
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_report", "sys_reportid", "name", "type").setTableAlias("t1");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_report", "sys_reportid", "name").setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.inner, "sys_systemapp", "t2", "t1.systemappid=t2.systemappid", "systemappname");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_reporttype", "t3", "t1.sys_reportid = t3.sys_reportid and t3.siteid='" + siteid + "'");
|
|
|
+ querySQL.addQueryFields("type", "group_concat(t3.type separator ',')");
|
|
|
+ querySQL.addGroupBy("t1.sys_reportid", "t1.name", "t2.systemappname");
|
|
|
querySQL.setWhere("ifnull(t1.siteid, '') = '' or t1.siteid = '" + siteid + "'");
|
|
|
querySQL.setWhere("t1.isused", true);
|
|
|
querySQL.setWhere("t1.sys_reportid", Op.NOT_IN, sys_reportid);
|
|
|
@@ -380,8 +383,11 @@ public class role extends Controller {
|
|
|
public String roleAuthReportQuery() throws YosException {
|
|
|
long roleid = content.getLong("roleid");
|
|
|
QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_rolereportauth", "sys_reportid").setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.inner, "sys_report", "t2", "t1.sys_reportid=t2.sys_reportid", "name", "type");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.inner, "sys_report", "t2", "t1.sys_reportid=t2.sys_reportid", "name");
|
|
|
querySQL.addJoinTable(JOINTYPE.inner, "sys_systemapp", "t3", "t2.systemappid=t3.systemappid", "systemappname");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_reporttype", "t4", "t1.sys_reportid = t4.sys_reportid and t4.siteid='" + siteid + "'");
|
|
|
+ querySQL.addQueryFields("type", "group_concat(t4.type separator ',')");
|
|
|
+ querySQL.addGroupBy("t1.sys_reportid", "t2.name", "t3.systemappname");
|
|
|
querySQL.setWhere("t1.roleid", roleid);
|
|
|
querySQL.setWhere("ifnull(t2.siteid, '') = '' or t2.siteid = '" + siteid + "'");
|
|
|
querySQL.setWhere("t2.isused", true);
|