eganwu 1 rok pred
rodič
commit
7b70ee7332

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

@@ -5816,6 +5816,16 @@ public class R {
         }
     }
 
+    public static class ID20240325141602 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240325143202 {
+        public static class v1 {
+        }
+    }
+
 }
 
 

+ 76 - 16
src/custom/restcontroller/webmanage/saletool/courseware/coursewaretesthead.java

@@ -346,14 +346,14 @@ public class coursewaretesthead extends Controller {
         querySQL.setWhere("userid", userids.toArray());
         ArrayList ids = querySQL.query().toArrayList("sat_courseware_testid");
 
-        DeleteSQL deleteSQL=SQLFactory.createDeleteSQL(this,"sat_courseware_test");
+        DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sat_courseware_test");
         deleteSQL.setSiteid(siteid);
-        deleteSQL.setWhere("sat_courseware_testid",ids);
+        deleteSQL.setWhere("sat_courseware_testid", ids);
         deleteSQL.delete();
 
-        DeleteSQL deleteSQL2=SQLFactory.createDeleteSQL(this,"sat_courseware_testitems");
+        DeleteSQL deleteSQL2 = SQLFactory.createDeleteSQL(this, "sat_courseware_testitems");
         deleteSQL2.setSiteid(siteid);
-        deleteSQL2.setWhere("sat_courseware_testid",ids);
+        deleteSQL2.setWhere("sat_courseware_testid", ids);
         deleteSQL2.delete();
 
         return getSucReturnObject().toString();
@@ -395,7 +395,6 @@ public class coursewaretesthead extends Controller {
         Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
 
 
-
         return getSucReturnObject().setData(rows).toString();
     }
 
@@ -435,12 +434,12 @@ public class coursewaretesthead extends Controller {
         }
 
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_enterprise_hr",
-                "userid","name","position")
+                        "userid", "name", "position")
                 .setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.inner, "sys_enterprise", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid",
-                "enterprisename",  "province", "city", "county", "address");
+                "enterprisename", "province", "city", "county", "address");
         querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t3.sys_enterpriseid=t1.sys_enterpriseid and t3.siteid=t1.siteid",
-                "type","agentnum");
+                "type", "agentnum");
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_tradefield", "t4", "t4.sys_enterpriseid=t1.sys_enterpriseid and t3.siteid=t1.siteid");
         querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t5", "t5.sa_saleareaid=t4.sa_saleareaid and t5.siteid=t4.siteid",
                 "areaname");
@@ -452,8 +451,8 @@ public class coursewaretesthead extends Controller {
         querySQL.setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();
 
-        for (Row row:rows) {
-            row.put("pcc",row.getString("province")+row.getString("city")+row.getString("county")) ;
+        for (Row row : rows) {
+            row.put("pcc", row.getString("province") + row.getString("city") + row.getString("county"));
 
         }
 
@@ -465,16 +464,15 @@ public class coursewaretesthead extends Controller {
     public String queryhrList() throws YosException {
 
         Long sat_courseware_testheadid = content.getLongValue("sat_courseware_testheadid");
-        QuerySQL querySQL=SQLFactory.createQuerySQL(this,"sys_hr",
-                        "hrid","hrcode","name","phonenumber","position","userid")
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_hr",
+                        "hrid", "hrcode", "name", "phonenumber", "position", "userid")
                 .setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left,"sys_department","t2","t1.siteid = t2.siteid and t1.departmentid = t2.departmentid",
-                "depname","depfullname");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_department", "t2", "t1.siteid = t2.siteid and t1.departmentid = t2.departmentid",
+                "depname", "depfullname");
         querySQL.setWhere(" exists(select 1 from  sat_courseware_test where userid = t1.userid and sat_courseware_testheadid=" + sat_courseware_testheadid + " and siteid='" + siteid + "' )");
         Rows rows = querySQL.query();
 
 
-
         return getSucReturnObject().setData(rows).toString();
     }
 
@@ -485,7 +483,7 @@ public class coursewaretesthead extends Controller {
 
 
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_enterprise_hr",
-                        "userid","name","position")
+                        "userid", "name", "position")
                 .setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.inner, "sys_enterprise", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid",
                 "enterprisename");
@@ -501,9 +499,71 @@ public class coursewaretesthead extends Controller {
         Rows rows = querySQL.query();
 
 
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+
+    @API(title = "考试概况列表", apiversion = R.ID20240325141602.v1.class)
+    public String testlist() 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.name like'%").append(whereObject.getString("condition")).append("%' ");
+
+                where.append(")");
+            }
+        }
+        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.setWhere(where.toString());
+        querySQL.setSiteid(siteid);
+        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();
     }
 
+    @API(title = "考试概况列表", apiversion = R.ID20240325143202.v1.class)
+    public String testinfo() throws YosException {
+
+        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", "passingscore");
+        querySQL.setWhere("sat_courseware_testheadid", sat_courseware_testheadid);
+        querySQL.setSiteid(siteid);
+        Rows rows = querySQL.query();
+        Row detailRow = rows.isNotEmpty() ? rows.get(0) : new Row();
+        detailRow.putIfAbsent("score", 0);
+        detailRow.putIfAbsent("begdate", "");
+        detailRow.putIfAbsent("submitdate", "");
+        BigDecimal passingscore = detailRow.getBigDecimal("passingscore");
+        BigDecimal score = detailRow.getBigDecimal("score");
+        if (score.compareTo(passingscore) >= 0) {
+            detailRow.put("ispassingscore", "及格");
+        } else {
+            detailRow.put("ispassingscore", "不及格");
+        }
+
+        QuerySQL querySQL2 = SQLFactory.createQuerySQL(this, "sat_courseware_testitems").setTableAlias("t1");
+        querySQL2.setSiteid(siteid)
+                .setWhere("sat_courseware_testid", detailRow.getLong("sat_courseware_testid"));
+
+        Rows rows2=querySQL2.query();
+
+        detailRow.put("testquestions",rows2);
+        return getSucReturnObject().setData(detailRow).toString();
+    }
+
 }