浏览代码

报表分类

郭齐峰 1 年之前
父节点
当前提交
2855bbef6a

二进制
lib/yos.core-2.4.8-sources.jar → lib/yos.core-2.4.11-sources.jar


二进制
lib/yos.core-2.4.8.jar → lib/yos.core-2.4.11.jar


+ 87 - 0
src/custom/restcontroller/R.java

@@ -5153,150 +5153,187 @@ public class R {
         public static class v1 {
         }
     }
+
     public static class ID20230720143503 {
         public static class v1 {
         }
     }
+
     public static class ID20230720143603 {
         public static class v1 {
         }
     }
+
     public static class ID20230720152503 {
         public static class v1 {
         }
     }
+
     public static class ID20230721104302 {
         public static class v1 {
         }
     }
+
     public static class ID20230721110502 {
         public static class v1 {
         }
     }
+
     public static class ID20230728133003 {
         public static class v1 {
         }
     }
+
     public static class ID20230728143503 {
         public static class v1 {
         }
     }
+
     public static class ID20230729103203 {
         public static class v1 {
         }
     }
+
     public static class ID20230726111403 {
         public static class v1 {
         }
     }
+
     public static class ID20230729142603 {
         public static class v1 {
         }
     }
+
     public static class ID20230729165303 {
         public static class v1 {
         }
     }
+
     public static class ID20230802093703 {
         public static class v1 {
         }
     }
+
     public static class ID20230802100103 {
         public static class v1 {
         }
     }
+
     public static class ID20230802103303 {
         public static class v1 {
         }
     }
+
     public static class ID20230802111003 {
         public static class v1 {
         }
     }
+
     public static class ID20230803140903 {
         public static class v1 {
         }
     }
+
     public static class ID20230803143703 {
         public static class v1 {
         }
     }
+
     public static class ID20230803165003 {
         public static class v1 {
         }
     }
+
     public static class ID20230815151203 {
         public static class v1 {
         }
     }
+
     public static class ID20230818135003 {
         public static class v1 {
         }
     }
+
     public static class ID20230826091303 {
         public static class v1 {
         }
     }
+
     public static class ID20230829161203 {
         public static class v1 {
         }
     }
+
     public static class ID20230706103703 {
         public static class v1 {
         }
     }
+
     public static class ID20230913154803 {
         public static class v1 {
         }
     }
+
     public static class ID20230918155003 {
         public static class v1 {
         }
     }
+
     public static class ID20230918155103 {
         public static class v1 {
         }
     }
+
     public static class ID20230920134403 {
         public static class v1 {
         }
     }
+
     public static class ID20230927135803 {
         public static class v1 {
         }
     }
+
     public static class ID20231007101703 {
         public static class v1 {
         }
     }
+
     public static class ID20231007101803 {
         public static class v1 {
         }
     }
+
     public static class ID20231018093803 {
         public static class v1 {
         }
     }
+
     public static class ID20231018103203 {
         public static class v1 {
         }
     }
+
     public static class ID20231018103303 {
         public static class v1 {
         }
     }
+
     public static class ID20231018142103 {
         public static class v1 {
         }
     }
+
     public static class ID20231018162103 {
         public static class v1 {
         }
     }
+
     public static class ID20231020111203 {
         public static class v1 {
         }
     }
+
     public static class ID20231020111303 {
         public static class v1 {
         }
@@ -5322,90 +5359,112 @@ public class R {
         public static class v1 {
         }
     }
+
     public static class ID20231024110003 {
         public static class v1 {
         }
     }
+
     public static class ID20231025144003 {
         public static class v1 {
         }
     }
+
     public static class ID20231025144103 {
         public static class v1 {
         }
     }
+
     public static class ID20231025160203 {
         public static class v1 {
         }
     }
+
     public static class ID20231030091403 {
         public static class v1 {
         }
     }
+
     public static class ID20231030093503 {
         public static class v1 {
         }
     }
+
     public static class ID20231103100503 {
         public static class v1 {
         }
     }
+
     public static class ID20231115095103 {
         public static class v1 {
         }
     }
+
     public static class ID20231201144302 {
         public static class v1 {
         }
     }
+
     public static class ID20231201145402 {
         public static class v1 {
         }
     }
+
     public static class ID20231201145502 {
         public static class v1 {
         }
     }
+
     public static class ID20231201153702 {
         public static class v1 {
         }
     }
+
     public static class ID20230706094703 {
         public static class v1 {
         }
     }
+
     public static class ID20231205134103 {
         public static class v1 {
         }
     }
+
     public static class ID20231208133902 {
         public static class v1 {
         }
     }
+
     public static class ID20231208134002 {
         public static class v1 {
         }
     }
+
     public static class ID20231208134102 {
         public static class v1 {
         }
     }
+
     public static class ID20231208134202 {
         public static class v1 {
         }
     }
+
     public static class ID20231211141802 {
         public static class v1 {
         }
     }
+
     public static class ID20231212110202 {
         public static class v1 {
         }
     }
+
     public static class ID20231212111202 {
         public static class v1 {
         }
     }
+
     public static class ID2023121221131702 {
         public static class v1 {
         }
@@ -5420,6 +5479,7 @@ public class R {
         public static class v1 {
         }
     }
+
     public static class ID20231121145103 {
         public static class v1 {
         }
@@ -5434,14 +5494,41 @@ public class R {
         public static class v1 {
         }
     }
+
     public static class ID20240123163302 {
         public static class v1 {
         }
     }
+
     public static class ID2024020201095102 {
         public static class v1 {
         }
     }
+
+    public static class ID20240407094804 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240407094904 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240407095004 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240407095104 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240407095204 {
+        public static class v1 {
+        }
+    }
     public static class ID20231108160203 {
         public static class v1 {
         }

+ 117 - 0
src/custom/restcontroller/webmanage/sale/reporttype/ReportType.java

@@ -0,0 +1,117 @@
+package restcontroller.webmanage.sale.reporttype;
+
+import beans.datacontrllog.DataContrlLog;
+import beans.user.User;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import common.Controller;
+import common.YosException;
+import common.annotation.API;
+import common.data.InsertSQL;
+import common.data.QuerySQL;
+import common.data.Rows;
+import common.data.SQLFactory;
+import restcontroller.R;
+
+import java.util.ArrayList;
+
+@API(title = "报表分类")
+public class ReportType extends Controller {
+    /**
+     * 构造函数
+     *
+     * @param content
+     */
+    public ReportType(JSONObject content) throws YosException {
+        super(content);
+    }
+
+
+    @API(title = "授权报表中心应用的报表查询", apiversion = R.ID20240407094904.v1.class)
+    public String queryReport() throws YosException {
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_report", "sys_reportid");
+        querySQL.setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.left, "jimu_report", "t2", "t1.jimu_report_id = t2.id");
+        querySQL.setWhere("t1.systemappid=" + 163 + " and (ifnull(t1.siteid,'')='' or t1.siteid = '" + siteid + "')");
+        querySQL.addQueryFields("name", "if(t1.reporttype = '积木报表', t2.name, t1.name)");
+        querySQL.setPage(pageSize, pageNumber);
+        Rows query = querySQL.query();
+        return getSucReturnObject().setData(query).toString();
+
+    }
+
+    @API(title = "设置报表分类", apiversion = R.ID20240407095004.v1.class)
+    public String updateReportType() throws YosException {
+        Long sys_reportid = content.getLong("sys_reportid");
+        JSONArray types = content.getJSONArray("types");
+
+        ArrayList<String> sqlList = new ArrayList<>();
+
+        long[] sys_reporttypes = createTableID("sys_reporttype", types.size());
+        int i = 0;
+        if (dbConnect.runSqlQuery("select 1 from sys_reporttype where siteid='" + siteid + "' and sys_reportid=" + sys_reportid).isNotEmpty()) {
+            sqlList.add("delete from sys_reporttype where siteid='" + siteid + "' and sys_reportid=" + sys_reportid);
+        }
+        for (Object o : types) {
+            InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_reporttype");
+            insertSQL.setSiteid(siteid);
+            insertSQL.setValue("type", o);
+            insertSQL.setValue("sys_reporttypeid", sys_reporttypes[i]);
+            insertSQL.setValue("sys_reportid", sys_reportid);
+            sqlList.add(insertSQL.getSQL());
+            i++;
+        }
+        sqlList.add(DataContrlLog.createLog(this, "sys_report", sys_reportid, "编辑", "设置分类" + types).getSQL());
+        dbConnect.runSqlUpdate(sqlList);
+        return getSucReturnObject().toString();
+    }
+
+    @API(title = "查询报表已授权分类", apiversion = R.ID20240407095104.v1.class)
+    public String queryReportType() throws YosException {
+        Long sys_reportid = content.getLong("sys_reportid");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_reporttype", "sys_reporttypeid", "type", "sys_reportid");
+        querySQL.setTableAlias("t1");
+        querySQL.setSiteid(siteid);
+        querySQL.setWhere("sys_reportid", sys_reportid);
+        querySQL.setPage(pageSize, pageNumber);
+        Rows query = querySQL.query();
+        return getSucReturnObject().setData(query).toString();
+    }
+
+    @API(title = "报表已授权分类删除", apiversion = R.ID20240407095204.v1.class)
+    public String deleteReportType() throws YosException {
+        Long sys_reportid = content.getLong("sys_reportid");
+        JSONArray sys_reporttypeids = content.getJSONArray("sys_reporttypeids");
+        ArrayList<String> sqlList = new ArrayList<>();
+        if (!sys_reporttypeids.isEmpty()) {
+            String replace = sys_reporttypeids.toString().replace("[", "(").replace("]", ")");
+            Rows rows = dbConnect.runSqlQuery("select type from sys_reporttype where sys_reporttypeid in " + replace);
+            sqlList.add("delete from sys_reporttype where siteid='" + siteid + "' and sys_reporttypeid in " + replace);
+            sqlList.add(DataContrlLog.createLog(this, "sys_report", sys_reportid, "删除", "删除分类" + rows.toArrayList("type")).getSQL());
+            dbConnect.runSqlUpdate(sqlList);
+        }
+        return getSucReturnObject().toString();
+    }
+
+    @API(title = "已授权报表分类查询", apiversion = R.ID20240407094804.v1.class)
+    public String queryType() throws YosException {
+        if (userInfo.isSiteAdministrator() || userInfo.isSysAdministrator()) {
+            Rows rows = dbConnect.runSqlQuery("select distinct type from sys_reporttype where siteid = '" + siteid + "'");
+            return getSucReturnObject().setData(rows).toString();
+        }
+        Rows userroleRows = dbConnect.runSqlQuery("select roleid from sys_userrole where siteid='" + siteid + "' and userid=" + userid);
+        if (userroleRows.isNotEmpty()) {
+            String roleids = userroleRows.toArrayList("roleid").toString().replace("[", "(").replace("]", ")");
+            QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_reporttype", "type");
+            querySQL.setTableAlias("t1");
+            querySQL.setSiteid(siteid);
+            querySQL.setWhere("exists(select 1 from sys_rolereportauth t2 where t1.siteid=t2.siteid and t1.sys_reportid=t2.sys_reportid and t2.roleid in" + roleids + ")");
+            querySQL.addGroupBy("type");
+            querySQL.setPage(pageSize, pageNumber);
+            Rows query = querySQL.query();
+            return getSucReturnObject().setData(query).toString();
+        }
+        return getSucReturnObject().setData(new Rows()).toString();
+    }
+
+}