Browse Source

考试概况查询逻辑调整

eganwu 1 year ago
parent
commit
02e047a0cb

+ 21 - 7
src/custom/restcontroller/webmanage/saletool/courseware/coursewaretesthead.java

@@ -432,20 +432,34 @@ public class coursewaretesthead extends Controller {
             }
         }
         Long sat_courseware_testheadid = content.getLongValue("sat_courseware_testheadid");
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sat_courseware_test").setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "sat_courseware_testhead", "t2", "t2.sat_courseware_testheadid=t1.sat_courseware_testheadid and t2.siteid=t1.siteid"
-                , "num");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_usersite"
+                ,"userid")
+                .setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.inner,"sat_courseware_testhead","t2","t2.siteid=t1.siteid"
+                ,"sat_courseware_testheadid","num");
+        querySQL.addJoinTable(JOINTYPE.left,"sat_courseware_test","t3","t3.userid=t1.userid and t3.siteid=t1.siteid and t3.sat_courseware_testheadid="+sat_courseware_testheadid
+                ,"sat_courseware_testid");
+        querySQL.addJoinTable(JOINTYPE.inner,"sys_dataauth_view","t4","t4.userid=t1.userid and t4.siteid=t1.siteid and t4.ownertable='sat_courseware_testhead' and t4.ownerid="+sat_courseware_testheadid +" and t4.siteid='"+siteid+"'");
+        querySQL.addJoinTable(JOINTYPE.inner,"sys_users","t5","t5.userid=t1.userid"
+                ,"name");
+
+        querySQL.addQueryFields("score","IFNULL(t3.score,0)");
+        querySQL.addQueryFields("answercount","IFNULL(t3.answercount,0)");
+        querySQL.addQueryFields("errcount","IFNULL(t3.errcount,0)");
+        querySQL.addQueryFields("begdate","IFNULL(t3.begdate,'')");
+        querySQL.addQueryFields("status","IFNULL(t3.`status`,'未开始')");
+        querySQL.addQueryFields("rightcount","IFNULL(t3.`rightcount`,0)");
         querySQL.setWhere(where.toString());
         querySQL.setSiteid(siteid);
-        querySQL.setWhere("t1.sat_courseware_testheadid", sat_courseware_testheadid);
+        querySQL.setWhere("t2.sat_courseware_testheadid", sat_courseware_testheadid);
+        if(pageSorting.equals("''")){
+            pageSorting="t3.`status` desc";
+        }
         querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
         Rows rows = querySQL.query();
 
         for (Row row : rows) {
             row.put("answercount", row.getString("answercount") + "/" + row.getString("num"));
-            row.putIfAbsent("score", 0);
-            row.putIfAbsent("begdate", "");
-            row.putIfAbsent("submitdate", "");
         }
         return getSucReturnObject().setData(rows).toString();
     }