Ver Fonte

课程管理,课件管理

eganwu há 1 ano atrás
pai
commit
72b33f570b

+ 2 - 21
src/custom/restcontroller/webmanage/saletool/courseware/SQL/课件管理-查询.sql

@@ -1,22 +1,3 @@
-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.teacher,
-    t1.description,
-    t1.sequence,
-    t3.classname classname1,
-    t3.sat_courseware_classid parentid
-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
+SELECT t1.*
+FROM sat_courseware t1
 where $where$

+ 1 - 18
src/custom/restcontroller/webmanage/saletool/courseware/SQL/课件管理-查询详细.sql

@@ -1,22 +1,5 @@
 SELECT
-    t1.sat_coursewareid,
-    t1.title,
-    t1.sat_courseware_classid sat_courseware_classid_2,
-    t2.classname classname2 ,
-    t1.createby,
-    t1.createdate,
-    t1.changeby,
-    t1.changedate,
-    t1.notes,
-    t1.status,
-    t1.description,
-    t1.teacher,
-    t1.sequence,
-    t1.publishdate,
-    t3.classname classname1,
-    t3.sat_courseware_classid sat_courseware_classid_1
+    t1.*
 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 sat_coursewareid = $sat_coursewareid$

+ 43 - 58
src/custom/restcontroller/webmanage/saletool/courseware/courseware.java

@@ -30,6 +30,10 @@ public class courseware extends Controller {
 
         Long sat_coursewareid = content.getLong("sat_coursewareid");
 
+        JSONArray sat_courseware_classids = new JSONArray();
+        if (content.containsKey("sat_courseware_classids")) {
+            sat_courseware_classids = content.getJSONArray("sat_courseware_classids");
+        }
 
         if (sat_coursewareid <= 0) {
             sat_coursewareid = createTableID("sat_courseware");
@@ -40,9 +44,10 @@ public class courseware extends Controller {
             insertSQL.setValue("sequence", content.getLongValue("sequence"));
             insertSQL.setValue("description", content.getStringValue("description"));
             insertSQL.setValue("teacher", content.getStringValue("teacher"));
-            insertSQL.setValue("sat_courseware_classid", content.getLongValue("sat_courseware_classid"));
+            insertSQL.setValue("sat_courseware_classids", sat_courseware_classids);
             insertSQL.setValue("publishdate", content.getStringValueForDate("publishdate", "yyyy-MM-dd", "null"));
             insertSQL.setValue("status", "新建");
+            System.err.println(insertSQL.getSQL());
             insertSQL.insert();
 
         } else {
@@ -51,10 +56,11 @@ public class courseware extends Controller {
             updateSQL.setUniqueid(sat_coursewareid);
             updateSQL.setValue("title", content.getString("title"));
             updateSQL.setValue("publishdate", content.getStringValueForDate("publishdate", "yyyy-MM-dd", "null"));
-            updateSQL.setValue("sat_courseware_classid", content.getLongValue("sat_courseware_classid"));
+            updateSQL.setValue("sat_courseware_classids", sat_courseware_classids);
             updateSQL.setValue("sequence", content.getLongValue("sequence"));
             updateSQL.setValue("teacher", content.getStringValue("teacher"));
             updateSQL.setValue("description", content.getStringValue("description"));
+            updateSQL.getSQL();
             updateSQL.update();
         }
 
@@ -99,9 +105,9 @@ public class courseware extends Controller {
         UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sat_courseware");
         updateSQL.setSiteid(siteid);
         updateSQL.setValue("status", type == 0 ? "新建" : "发布");
-        updateSQL.setValue("checkby",type == 0 ? "null" : username);
-        updateSQL.setValue("checkdate",type == 0 ? "null" : getDateTime_Str());
-        updateSQL.setWhere("sat_coursewareid",sat_coursewareids.toArray());
+        updateSQL.setValue("checkby", type == 0 ? "null" : username);
+        updateSQL.setValue("checkdate", type == 0 ? "null" : getDateTime_Str());
+        updateSQL.setWhere("sat_coursewareid", sat_coursewareids.toArray());
         updateSQL.update();
         //发送邮件和消息,发布时发送消息
 //        if (type != 0) {
@@ -155,8 +161,6 @@ 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 t3.classname like'%").append(whereObject.getString("condition")).append("%' ");
                 where.append("or t1.notes like'%").append(whereObject.getString("condition")).append("%' ");
                 where.append(")");
             }
@@ -166,20 +170,14 @@ public class courseware extends Controller {
                 where.append("t1.status ='").append(whereObject.getString("status")).append("' ");
                 where.append(")");
             }
-            if (whereObject.containsKey("sat_courseware_classid") && !"".equals(whereObject.getString("sat_courseware_classid"))) {
+            if (whereObject.containsKey("sat_courseware_classids") && !"".equals(whereObject.getString("sat_courseware_classids"))) {
 
-                JSONArray jsonArray=whereObject.getJSONArray("sat_courseware_classid");
-                if(jsonArray.size()==1){
-                    where.append(" and (");
-                    where.append("t3.sat_courseware_classid ='").append(jsonArray.get(0)).append("' ");
-                    where.append(")");
-                }
-                if(jsonArray.size()==2){
+                JSONArray sat_courseware_classids = whereObject.getJSONArray("sat_courseware_classids");
+                for (Object obj : sat_courseware_classids) {
                     where.append(" and (");
-                    where.append("t1.sat_courseware_classid ='").append(jsonArray.get(1)).append("' ");
+                    where.append("JSON_CONTAINS(t1.sat_courseware_classids,'" + obj + "')");
                     where.append(")");
                 }
-
             }
             if (whereObject.containsKey("begindate_create") && !"".equals(whereObject.getString("begindate_create"))) {
                 where.append(" and (");
@@ -203,8 +201,8 @@ public class courseware extends Controller {
             }
 
         }
-        if(pageSorting.equals("''")){
-            pageSorting="t1.status DESC,t1.sequence";
+        if (pageSorting.equals("''")) {
+            pageSorting = "t1.status DESC,t1.sequence";
         }
 
         SQLFactory sqlFactory = new SQLFactory(this, "课件管理-查询", pageSize, pageNumber, pageSorting);
@@ -214,13 +212,13 @@ 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");
 
 
         //封面cover
@@ -235,40 +233,22 @@ public class courseware extends Controller {
                 row.put("cover", coverRows.get(0).getString("url"));
             }
 
-//            row.put("attinfos", attRowsMap.getOrDefault(row.getString("sat_coursewareid"), new Rows()));
-
-            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"));
-            }
-            sat_courseware_classids.add(row.getLong("sat_courseware_classid"));
-
-            row.put("sat_courseware_classids",sat_courseware_classids);
-
         }
 
         return getSucReturnObject().setData(rows).toString();
     }
 
-    @API(title = "课程详细",apiversion =R.ID20240314134002.v1.class )
+    @API(title = "课程详细", apiversion = R.ID20240314134002.v1.class)
     public String selectDetail() throws YosException {
         Long sat_coursewareid = content.getLong("sat_coursewareid");
+
         SQLFactory sqlFactory = new SQLFactory(this, "课件管理-查询详细");
         sqlFactory.addParameter("sat_coursewareid", sat_coursewareid);
         Rows rows = dbConnect.runSqlQuery(sqlFactory);
@@ -288,6 +268,10 @@ public class courseware extends Controller {
         querySQL.setWhere("t1.sat_coursewareid", sat_coursewareid);
         Rows roleRows = querySQL.query();
 
+
+
+
+
         Row row = new Row();
         if (rows.isNotEmpty()) {
             row = rows.get(0);
@@ -299,20 +283,21 @@ public class courseware extends Controller {
             }
 
             row.put("attinfos", attRowsMap.getOrDefault(row.getString("sat_coursewareid"), new Rows()));
-            row.put("tag", DataTag.queryTag(this, "sat_courseware", sat_coursewareid, false));
-            row.putIfAbsent("publishdate","");
-            row.put("role", roleRows.toArrayList("roleid",new ArrayList<Long>()));
-            ArrayList<Long> sat_courseware_classids=new ArrayList<>();
-
-            if(row.getLong("sat_courseware_classid_1")>0){
-                sat_courseware_classids.add(row.getLong("sat_courseware_classid_1"));
-            }
-            sat_courseware_classids.add(row.getLong("sat_courseware_classid_2"));
-
-            row.put("sat_courseware_classids",sat_courseware_classids);
+            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);
         }
 
         return getSucReturnObject().setData(row).toString();
     }
 
+
+
 }

+ 3 - 1
src/custom/restcontroller/webmanage/saletool/courseware/coursewaredetail.java

@@ -43,6 +43,7 @@ public class coursewaredetail extends Controller {
             insertSQL.setValue("description", content.getStringValue("description"));
             insertSQL.setValue("sequence", content.getLongValue("sequence"));
             insertSQL.setValue("teacher", content.getStringValue("teacher"));
+            insertSQL.setValue("content", content.getString("content", true));
             insertSQL.setValue("status", "下架");
             insertSQL.setValue("filetype", content.getStringValue("filetype"));//图片、视频、pdf
             insertSQL.insert();
@@ -57,6 +58,7 @@ public class coursewaredetail extends Controller {
             updateSQL.setValue("description", content.getStringValue("description"));
             updateSQL.setValue("sequence", content.getLongValue("sequence"));
             updateSQL.setValue("teacher", content.getStringValue("teacher"));
+            updateSQL.setValue("content", content.getString("content", true));
             updateSQL.setValue("filetype", content.getStringValue("filetype"));//图片、视频、pdf
             updateSQL.update();
         }
@@ -182,7 +184,7 @@ public class coursewaredetail extends Controller {
         readSql.addGroupBy("sat_coursewaredetailid");
         RowsMap coursewareRowsMap = readSql.query().toRowsMap("sat_coursewaredetailid");
         //附件
-        RowsMap attRowsMap = getAttachmentUrl("sat_coursewaredetail", ids, "default");
+        RowsMap attRowsMap = getAttachmentUrl("sat_coursewaredetail", ids);
 
         for (Row row : rows) {
             Rows coursewareRows = coursewareRowsMap.get(row.getString("sat_coursewaredetailid"));