Pārlūkot izejas kodu

课程管理,课件管理

eganwu 2 gadi atpakaļ
vecāks
revīzija
a8e74ba001

+ 15 - 11
src/custom/restcontroller/webmanage/saletool/courseware/courseware.java

@@ -17,6 +17,7 @@ import utility.email.EmailContent;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.LinkedHashSet;
 
 @API(title = "商学院-课件管理")
 public class courseware extends Controller {
@@ -269,9 +270,6 @@ public class courseware extends Controller {
         Rows roleRows = querySQL.query();
 
 
-
-
-
         Row row = new Row();
         if (rows.isNotEmpty()) {
             row = rows.get(0);
@@ -286,18 +284,24 @@ public class courseware extends Controller {
             row.putIfAbsent("publishdate", "");
             row.put("role", roleRows.toArrayList("roleid", new ArrayList<Long>()));
 
-            QuerySQL classQuery=SQLFactory.createQuerySQL(this,"sat_courseware_class","classname").setTableAlias("t1");
-            classQuery.addJoinTable(JOINTYPE.left,"sat_courseware_class","t2","t1.sat_courseware_classid=t2.parentid and t1.siteid=t2.siteid");
-            classQuery.setWhere("t2.sat_courseware_classid",row.getJSONArray("sat_courseware_classids"));
-            classQuery.addQueryFields("classnames","CONCAT( t1.classname,'/',t2.classname)");
-            System.err.println(classQuery.getSQL());
-            ArrayList<String> classnames=classQuery.query().toArrayList("classnames");
-            row.put("classnames",classnames);
+            LinkedHashSet<String> classids = new LinkedHashSet<>();
+            JSONArray sat_courseware_classids = row.getJSONArray("sat_courseware_classids");
+            for (Object obj : sat_courseware_classids) {
+                JSONArray objects = (JSONArray) obj;
+                classids.addAll(objects.toJavaList(String.class));
+            }
+
+
+            QuerySQL classQuery = SQLFactory.createQuerySQL(this, "sat_courseware_class", "classname").setTableAlias("t1");
+            classQuery.addJoinTable(JOINTYPE.left, "sat_courseware_class", "t2", "t1.sat_courseware_classid=t2.parentid and t1.siteid=t2.siteid");
+            classQuery.setWhere("t2.sat_courseware_classid", classids.toArray());
+            classQuery.addQueryFields("classnames", "CONCAT( t1.classname,'/',t2.classname)");
+            ArrayList<String> classnames = classQuery.query().toArrayList("classnames");
+            row.put("classnames", String.join(",", classnames));
         }
 
         return getSucReturnObject().setData(row).toString();
     }
 
 
-
 }