eganwu 1 rok temu
rodzic
commit
7d8e6bcfb9

+ 3 - 15
src/custom/restcontroller/saletool/courseware/SQL/课件管理-查询列表.sql

@@ -1,24 +1,12 @@
 SELECT
     t1.sat_coursewareid,
-    t1.title,
-    t1.sat_courseware_classid,
-    t2.classname classname2,
-    t1.createby,
-    t1.createdate,
-    t1.changeby,
-    t1.changedate,
-    t1.notes,
-    t1.status,
-    t1.publishdate,
+    t1.sat_courseware_classids,
     t1.teacher,
     t1.description,
-    t1.sequence,
-    t3.classname classname1,
-    t3.sat_courseware_classid parentid
+    t1.title,
+    t1.notes
 FROM
     sat_courseware t1
-        LEFT JOIN sat_courseware_class t2 ON t1.sat_courseware_classid = t2.sat_courseware_classid
-        LEFT JOIN sat_courseware_class t3 ON t2.parentid = t3.sat_courseware_classid
 where $where$ and t1.status = '发布'   and t1.siteid = $siteid$ and t1.sat_coursewareid IN
                                                                     (
                                                                         SELECT sat_coursewareid FROM sat_courseware_auth WHERE

+ 38 - 31
src/custom/restcontroller/saletool/courseware/courseware.java

@@ -3,6 +3,7 @@ package restcontroller.saletool.courseware;
 import beans.datatag.DataTag;
 import beans.department.Department;
 import beans.salearea.SaleArea;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import common.Controller;
 import common.YosException;
@@ -88,7 +89,7 @@ public class courseware extends Controller {
         return getSucReturnObject().toString();
     }
 
-    @API(title = "商学院-课程列表",apiversion = R.ID20240318101802.v1.class)
+    @API(title = "商学院-课程列表", apiversion = R.ID20240318101802.v1.class)
 
     public String selectList() throws YosException {
         /*
@@ -100,15 +101,23 @@ public class courseware extends Controller {
             if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
                 where.append(" and(");
                 where.append("t1.title like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append("or t2.classname like'%").append(whereObject.getString("condition")).append("%' ");
                 where.append("or t1.notes like'%").append(whereObject.getString("condition")).append("%' ");
                 where.append(")");
             }
-            if (whereObject.containsKey("sat_courseware_classid") && !"".equals(whereObject.getString("sat_courseware_classid"))) {
-                where.append(" and (");
-                where.append("t1.sat_courseware_classid ='").append(whereObject.getString("sat_courseware_classid")).append("' ");
-                where.append("or t3.sat_courseware_classid ='").append(whereObject.getString("sat_courseware_classid")).append("' ");
-                where.append(")");
+            if (whereObject.containsKey("sat_courseware_classids") && !"".equals(whereObject.getString("sat_courseware_classids"))) {
+                JSONArray sat_courseware_classids = whereObject.getJSONArray("sat_courseware_classids");
+                if (sat_courseware_classids.size() > 0) {
+                    where.append(" and (1=2");
+                    for (Object obj : sat_courseware_classids) {
+                        JSONArray array = (JSONArray) obj;
+                        for (Object obj2 : array) {
+                            where.append(" or (");
+                            where.append("JSON_CONTAINS(t1.sat_courseware_classids,'" + obj2 + "')");
+                            where.append(")");
+                        }
+                    }
+                    where.append(")");
+                }
             }
 
         }
@@ -128,7 +137,7 @@ public class courseware extends Controller {
             sa_saleareaids.add(-1l);
         }
 
-        ArrayList<Long> roleids = dbConnect.runSqlQuery("SELECT roleid from sys_userrole WHERE userid=23797 and siteid='" + siteid + "' ").toArrayList("roleid", new ArrayList<>());
+        ArrayList<Long> roleids = dbConnect.runSqlQuery("SELECT roleid from sys_userrole WHERE userid=" + userid + " and siteid='" + siteid + "' ").toArrayList("roleid", new ArrayList<>());
         if (roleids.size() == 0) {
             roleids.add(-1L);
         }
@@ -147,13 +156,21 @@ public class courseware extends Controller {
 
         ArrayList<Long> ids = rows.toArrayList("sat_coursewareid", new ArrayList<>());
 
-        QuerySQL querySQL=SQLFactory.createQuerySQL(this,"sat_coursewaredetail",
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sat_coursewaredetail",
                 "sat_coursewareid");
-        querySQL.addQueryFields("courseware_count","count(1)");
+        querySQL.addQueryFields("courseware_count", "count(1)");
         querySQL.setSiteid(siteid);
-        querySQL.setWhere("sat_coursewareid",ids);
+        querySQL.setWhere("sat_coursewareid", ids);
         querySQL.addGroupBy("sat_coursewareid");
-        RowsMap coursewareRowsMap=querySQL.query().toRowsMap("sat_coursewareid");
+        RowsMap coursewareRowsMap = querySQL.query().toRowsMap("sat_coursewareid");
+
+        QuerySQL studySQL = SQLFactory.createQuerySQL(this, "sat_courseware_read",
+                "sat_coursewareid");
+        studySQL.addQueryFields("study_count", "count(1)");
+        studySQL.setSiteid(siteid);
+        studySQL.setWhere("sat_coursewareid", ids);
+        studySQL.addGroupBy("sat_coursewareid");
+        RowsMap studyRowsMap = studySQL.query().toRowsMap("sat_coursewareid");
         //封面cover
         RowsMap coverRowsMap = getAttachmentUrl("sat_courseware", ids, "cover");
 
@@ -165,29 +182,19 @@ public class courseware extends Controller {
                 row.put("cover", coverRows.get(0).getString("url"));
             }
 
-            String classname1=row.getString("classname1");
-            String classname2=row.getString("classname2");
-            if(classname1.equals("")){
-                row.put("classname",classname2);
-            }else{
-                row.put("classname",classname1+"/"+classname2);
-            }
 
-            Rows coursewareRows=coursewareRowsMap.get(row.getString("sat_coursewareid"));
-            if(coursewareRows.isEmpty()){
-                row.put("courseware_count",0);
-            }else{
+            Rows coursewareRows = coursewareRowsMap.get(row.getString("sat_coursewareid"));
+            if (coursewareRows.isEmpty()) {
+                row.put("courseware_count", 0);
+            } else {
                 row.put("courseware_count", coursewareRows.get(0).getString("courseware_count"));
             }
-
-            ArrayList<Long> sat_courseware_classids=new ArrayList<>();
-
-            if(row.getLong("parentid")>0){
-                sat_courseware_classids.add(row.getLong("parentid"));
+            Rows studyRows = studyRowsMap.get(row.getString("sat_coursewareid"));
+            if (studyRows.isEmpty()) {
+                row.put("study_count", 0);
+            } else {
+                row.put("study_count", studyRows.get(0).getString("study_count"));
             }
-            sat_courseware_classids.add(row.getLong("sat_courseware_classid"));
-
-            row.put("sat_courseware_classids",sat_courseware_classids);
         }
 
         return getSucReturnObject().setData(rows).toString();

+ 0 - 1
src/custom/restcontroller/saletool/notice/notice.java

@@ -65,7 +65,6 @@ public class notice extends Controller {
         if (sa_saleareaids.size() == 0) {
             sa_saleareaids.add(-1l);
         }
-        userid = 23797;
         ArrayList<Long> roleids = dbConnect.runSqlQuery("SELECT roleid from sys_userrole WHERE userid=" + userid + " and siteid='" + siteid + "' ").toArrayList("roleid", new ArrayList<>());
         if (roleids.size() == 0) {
             roleids.add(-1L);

+ 0 - 1
src/custom/restcontroller/webmanage/saletool/notice/notice.java

@@ -60,7 +60,6 @@ public class notice extends Controller {
     }
 
     @API(title = "通告列表", apiversion = R.ID20221101094903.v1.class)
-    @CACHEING
     public String queryNoticeList() throws YosException {
         /*
           排序条件设置