|
|
@@ -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();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
}
|