eganwu hai 1 ano
pai
achega
7c6a78ad25

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

@@ -5746,6 +5746,26 @@ public class R {
         }
     }
 
+    public static class ID20240323112202 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240323112302 {
+        public static class v1 {
+        }
+    }
+    public static class ID20240323112402 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240323112502 {
+        public static class v1 {
+        }
+    }
+
+
 
 }
 

+ 46 - 0
src/custom/restcontroller/webmanage/saletool/courseware/CoursewareHelper.java

@@ -0,0 +1,46 @@
+package restcontroller.webmanage.saletool.courseware;
+
+import com.alibaba.fastjson.JSONArray;
+import common.BaseClass;
+import common.Controller;
+import common.YosException;
+import common.data.QuerySQL;
+import common.data.SQLFactory;
+
+import java.util.ArrayList;
+import java.util.LinkedHashSet;
+
+public class CoursewareHelper extends BaseClass {
+
+    public CoursewareHelper() {
+    }
+
+    /**
+     * @param controller
+     * @param sat_courseware_classids [ [ 7 ], [ 1, 4 ], [ 1, 6 ] ]
+     * @return
+     * @throws YosException
+     */
+    public static String getClassnames(Controller controller, JSONArray sat_courseware_classids) throws YosException {
+        LinkedHashSet<String> classids1 = new LinkedHashSet<>();
+        classids1.add("-1");
+        LinkedHashSet<String> classids2 = new LinkedHashSet<>();
+        classids2.add("-2");
+        for (Object obj : sat_courseware_classids) {
+            JSONArray objects = (JSONArray) obj;
+            if (objects.size() == 1) {
+                classids1.addAll(objects.toJavaList(String.class));
+            }
+            if (objects.size() == 2) {
+                classids2.addAll(objects.toJavaList(String.class));
+            }
+        }
+        QuerySQL classQuery = SQLFactory.createQuerySQL(controller, "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 in " + classids2.toString().replace("[", "(").replace("]", ")")
+                + " or t1.sat_courseware_classid in " + classids1.toString().replace("[", "(").replace("]", ")") + ")");
+        classQuery.addQueryFields("classnames", "(CONCAT( t1.classname,'/',ifnull(t2.classname,'-')))");
+        ArrayList<String> classnames = classQuery.query().toArrayList("classnames");
+        return String.join(";", classnames);
+    }
+}

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

@@ -288,7 +288,7 @@ public class courseware extends Controller {
             if (sat_courseware_classids.size() == 0) {
                 row.put("classnames", "");
             } else {
-                row.put("classnames", getClassnames(sat_courseware_classids));
+                row.put("classnames", CoursewareHelper.getClassnames(this, sat_courseware_classids));
             }
 
         }
@@ -296,29 +296,4 @@ public class courseware extends Controller {
         return getSucReturnObject().setData(row).toString();
     }
 
-
-    public String getClassnames(JSONArray sat_courseware_classids) throws YosException {
-        LinkedHashSet<String> classids1 = new LinkedHashSet<>();
-        classids1.add("-1");
-        LinkedHashSet<String> classids2 = new LinkedHashSet<>();
-        classids2.add("-2");
-        for (Object obj : sat_courseware_classids) {
-            JSONArray objects = (JSONArray) obj;
-            if (objects.size() == 1) {
-                classids1.addAll(objects.toJavaList(String.class));
-            }
-            if (objects.size() == 2) {
-                classids2.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 in " + classids2.toString().replace("[", "(").replace("]", ")")
-                + " or t1.sat_courseware_classid in " + classids1.toString().replace("[", "(").replace("]", ")") + ")");
-        classQuery.addQueryFields("classnames", "(CONCAT( t1.classname,'/',ifnull(t2.classname,'-')))");
-        ArrayList<String> classnames = classQuery.query().toArrayList("classnames");
-        return String.join(";", classnames);
-    }
-
-
 }

+ 6 - 3
src/custom/restcontroller/webmanage/saletool/courseware/coursewareclass.java

@@ -1,5 +1,6 @@
 package restcontroller.webmanage.saletool.courseware;
 
+import beans.attachment.Attachment;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import common.Controller;
@@ -110,7 +111,7 @@ public class coursewareclass extends Controller {
             JSONObject whereObject = content.getJSONObject("where");
             if (whereObject.containsKey("isenable") && !"".equals(whereObject.getString("isenable"))) {
                 where.append(" and (");
-                where.append("isenable="+whereObject.getBooleanValue("isenable"));
+                where.append("isenable=" + whereObject.getBooleanValue("isenable"));
                 where.append(")");
             }
 
@@ -127,6 +128,9 @@ public class coursewareclass extends Controller {
 
         Rows resRows = new Rows();
         for (Row row : rows) {
+            Rows attRows = Attachment.get(this, "sat_courseware_class", row.getLong("sat_courseware_classid"));
+            row.put("attinfos", attRows);
+
             SQLFactory tempFac = new SQLFactory(this, "课程分类-查询");
             tempFac.addParameter("parentid", row.getString("sat_courseware_classid"));
             tempFac.addParameter("siteid", siteid);
@@ -143,14 +147,13 @@ public class coursewareclass extends Controller {
     public String isenadle() throws YosException {
         JSONArray sat_courseware_classids = content.getJSONArray("sat_courseware_classids");
 
-        UpdateSQL updateSQL=SQLFactory.createUpdateSQL(this,"sat_courseware_class");
+        UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sat_courseware_class");
         updateSQL.setSiteid(siteid);
         updateSQL.setValue("isenable", content.getBooleanValue("isenable"));
         updateSQL.setWhere("sat_courseware_classid ", sat_courseware_classids.toArray());
         updateSQL.update();
 
 
-
         return getSucReturnObject().toString();
     }
 

+ 187 - 0
src/custom/restcontroller/webmanage/saletool/courseware/coursewaretesthead.java

@@ -0,0 +1,187 @@
+package restcontroller.webmanage.saletool.courseware;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import common.Controller;
+import common.YosException;
+import common.annotation.API;
+import common.data.*;
+import restcontroller.R;
+
+import java.util.ArrayList;
+
+/**
+ * 考试表头
+ */
+public class coursewaretesthead extends Controller {
+
+    String sat_courseware_testhead = "sat_courseware_testhead";
+
+    public coursewaretesthead(JSONObject content) throws YosException {
+        super(content);
+    }
+
+    @API(title = "考试表头新增或更新", apiversion = R.ID20240323112202.v1.class)
+    public String insertOrUpdate() throws YosException {
+
+        Long sat_courseware_testheadid = content.getLongValue("sat_courseware_testheadid");
+
+        JSONArray sat_courseware_classids = new JSONArray();
+        if (content.containsKey("sat_courseware_classids")) {
+            sat_courseware_classids = content.getJSONArray("sat_courseware_classids");
+        }
+
+        if (sat_courseware_testheadid <= 0) {
+            sat_courseware_testheadid = createTableID(sat_courseware_testhead);
+            InsertSQL insertSQL = SQLFactory.createInsertSQL(this, sat_courseware_testhead);
+            insertSQL.setSiteid(siteid);
+            insertSQL.setUniqueid(sat_courseware_testheadid);
+            insertSQL.setValue("title", content.getStringValue("title"));
+            insertSQL.setValue("status", "新建");
+            insertSQL.setValue("testaddmode", content.getIntValue("testaddmode", 1));
+            insertSQL.setValue("passingscore", content.getBigDecimalValue("passingscore", 60));
+            insertSQL.setValue("num", content.getIntValue("num", 0));
+            insertSQL.setValue("sat_courseware_classids", sat_courseware_classids);
+            insertSQL.insert();
+
+            content.put("sat_courseware_testheadid", sat_courseware_testheadid);
+        }
+
+        if (sat_courseware_testheadid > 0) {
+            UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, sat_courseware_testhead);
+            updateSQL.setSiteid(siteid);
+            updateSQL.setUniqueid(sat_courseware_testheadid);
+            updateSQL.setValue("title", content.getStringValue("title"));
+            updateSQL.setValue("testaddmode", content.getIntValue("testaddmode", 1));
+            updateSQL.setValue("passingscore", content.getBigDecimalValue("passingscore", 60));
+            updateSQL.setValue("num", content.getIntValue("num", 0));
+            updateSQL.setValue("sat_courseware_classids", sat_courseware_classids);
+            updateSQL.update();
+        }
+
+        return detail();
+    }
+
+    @API(title = "考试表头详情", apiversion = R.ID20240323112302.v1.class)
+    public String detail() throws YosException {
+        Long sat_courseware_testheadid = content.getLongValue("sat_courseware_testheadid");
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, sat_courseware_testhead).setTableAlias("t1");
+        querySQL.setSiteid(siteid);
+        querySQL.setWhere("sat_courseware_testheadid", sat_courseware_testheadid);
+        Rows rows = querySQL.query();
+        Row detailRow = rows.isNotEmpty() ? rows.get(0) : new Row();
+
+        JSONArray jsonArray = detailRow.getJSONArray("testquestions");
+        detailRow.put("testquestions", jsonArray);
+
+        JSONArray sat_courseware_classids = detailRow.getJSONArray("sat_courseware_classids");
+        if (sat_courseware_classids.size() == 0) {
+            detailRow.put("classnames", "");
+        } else {
+            detailRow.put("classnames", CoursewareHelper.getClassnames(this, sat_courseware_classids));
+        }
+
+        if (detailRow.getLong("testaddmode") == 1) {
+            detailRow.put("testaddmodestr", "系统随机");
+        }
+        if (detailRow.getLong("testaddmode") == 2) {
+            detailRow.put("testaddmodestr", "自选题目");
+        }
+
+
+        return getSucReturnObject().setData(detailRow).toString();
+    }
+
+    @API(title = "考试表头删除", apiversion = R.ID20240323112402.v1.class)
+    public String delete() throws YosException {
+
+
+        JSONArray sat_courseware_testheadids = content.getJSONArray("sat_courseware_testheadids");
+
+        DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, sat_courseware_testhead);
+        deleteSQL.setSiteid(siteid);
+        deleteSQL.setWhere("sat_courseware_testheadid", sat_courseware_testheadids.toArray());
+        deleteSQL.delete();
+
+        return getSucReturnObject().toString();
+    }
+
+    @API(title = "考试表头列表", apiversion = R.ID20240323112502.v1.class)
+    public String list() throws YosException {
+        StringBuffer where = new StringBuffer(" 1=1 ");
+        if (content.containsKey("where")) {
+            JSONObject whereObject = content.getJSONObject("where");
+            if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
+                where.append(" and (");
+                where.append("t1.title like'%").append(whereObject.getString("condition")).append("%' ");
+//                where.append("or t1.notes like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append(")");
+            }
+
+            if (whereObject.containsKey("status") && !"".equals(whereObject.getString("status"))) {
+                where.append(" and (");
+                where.append("t1.status ='").append(whereObject.getString("status")).append("' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("testaddmode") && !"".equals(whereObject.getString("testaddmode"))) {
+                where.append(" and (");
+                where.append("t1.testaddmode ='").append(whereObject.getString("testaddmode")).append("' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("sat_courseware_classids") && !"".equals(whereObject.getString("sat_courseware_classids"))) {
+
+                JSONArray sat_courseware_classids = whereObject.getJSONArray("sat_courseware_classids");
+                for (Object obj : sat_courseware_classids) {
+                    where.append(" and (");
+                    where.append("JSON_CONTAINS(t1.sat_courseware_classids,'" + obj + "')");
+                    where.append(")");
+                }
+            }
+            if (whereObject.containsKey("begindate_create") && !"".equals(whereObject.getString("begindate_create"))) {
+                where.append(" and (");
+                where.append("t1.createdate >='").append(whereObject.getString("begindate_create")).append("' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("enddate_create") && !"".equals(whereObject.getString("enddate_create"))) {
+                where.append(" and (");
+                where.append("t1.createdate <='").append(whereObject.getString("enddate_create")).append(" 23:59:59' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("begindate") && !"".equals(whereObject.getString("begindate"))) {
+                where.append(" and (");
+                where.append("t1.senddate >='").append(whereObject.getString("begindate")).append("' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("enddate") && !"".equals(whereObject.getString("enddate"))) {
+                where.append(" and (");
+                where.append("t1.senddate <='").append(whereObject.getString("enddate")).append(" 23:59:59' ");
+                where.append(")");
+            }
+
+        }
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, sat_courseware_testhead)
+                .setTableAlias("t1");
+
+        querySQL.setSiteid(siteid);
+        querySQL.setWhere(where.toString());
+        querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
+        Rows rows = querySQL.query();
+
+        for (Row row : rows) {
+            if (row.getLong("testaddmode") == 1) {
+                row.put("testaddmodestr", "系统随机");
+            }
+            if (row.getLong("testaddmode") == 2) {
+                row.put("testaddmodestr", "自选题目");
+            }
+
+            JSONArray jsonArray = row.getJSONArray("testquestions");
+            row.put("testquestions", jsonArray);
+
+        }
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+}

+ 1 - 24
src/custom/restcontroller/webmanage/saletool/courseware/coursewaretestlibrary.java

@@ -74,7 +74,7 @@ public class coursewaretestlibrary extends Controller {
         if (sat_courseware_classids.size() == 0) {
             detailRow.put("classnames", "");
         } else {
-            detailRow.put("classnames", getClassnames(sat_courseware_classids));
+            detailRow.put("classnames", CoursewareHelper.getClassnames(this,sat_courseware_classids));
         }
 
         if (detailRow.getLong("type") == 1) {
@@ -226,27 +226,4 @@ public class coursewaretestlibrary extends Controller {
         return detail();
     }
 
-
-    public String getClassnames(JSONArray sat_courseware_classids) throws YosException {
-        LinkedHashSet<String> classids1 = new LinkedHashSet<>();
-        classids1.add("-1");
-        LinkedHashSet<String> classids2 = new LinkedHashSet<>();
-        classids2.add("-2");
-        for (Object obj : sat_courseware_classids) {
-            JSONArray objects = (JSONArray) obj;
-            if (objects.size() == 1) {
-                classids1.addAll(objects.toJavaList(String.class));
-            }
-            if (objects.size() == 2) {
-                classids2.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 in " + classids2.toString().replace("[", "(").replace("]", ")")
-                + " or t1.sat_courseware_classid in " + classids1.toString().replace("[", "(").replace("]", ")") + ")");
-        classQuery.addQueryFields("classnames", "(CONCAT( t1.classname,'/',ifnull(t2.classname,'-')))");
-        ArrayList<String> classnames = classQuery.query().toArrayList("classnames");
-        return String.join(";", classnames);
-    }
 }

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

@@ -207,7 +207,6 @@ public class DailySign extends Controller {
         sqlFactory.setOrderBy(pageSorting).setPage(pageSize, pageNumber);
         Rows rows = sqlFactory.query();
 
-        ArrayList<Long> ids = rows.toArrayList("createuserid", new ArrayList<>());
         for (Row row : rows) {
             row.put("headpic",getHeadPic(row.getLong("createuserid")));
         }