Ver código fonte

收藏列表功能

eganwu 1 ano atrás
pai
commit
4ffb6a0e20

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

@@ -6269,6 +6269,11 @@ public class R {
         }
     }
 
+    public static class ID20240506100502 {
+        public static class v1 {
+        }
+    }
+
 
 }
 

+ 68 - 0
src/custom/restcontroller/webmanage/saletool/courseware/coursewaredetail.java

@@ -449,4 +449,72 @@ public class coursewaredetail extends Controller {
         return getSucReturnObject().setData(rows).toString();
     }
 
+    //课件列表
+    @API(title = "收藏课件列表", apiversion = R.ID20240506100502.v1.class)
+    public String collectlist() 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(")");
+            }
+
+            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("iscollect") && !"".equals(whereObject.getString("iscollect"))) {
+                if (whereObject.getString("iscollect").equals("1")) {
+                    where.append(" and (");
+                    where.append(" t1.sat_coursewaredetailid in (SELECT ownerid from sys_datacollect WHERE ownertable='sat_coursewaredetail' and type=1 and siteid='" + siteid + "' and userid=" + userid + ")");
+                    where.append(")");
+                }
+
+
+            }
+
+        }
+
+        if (pageSorting.equals("''")) {
+            pageSorting = "t1.status DESC,t1.sequence";
+        }
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sat_coursewaredetail");
+        querySQL.setTableAlias("t1").setPage(pageSize, pageNumber).setOrderBy(pageSorting);
+        querySQL.setWhere(where.toString());
+        Rows rows = querySQL.query();
+
+        ArrayList<Long> ids = rows.toArrayList("sat_coursewaredetailid", new ArrayList<>());
+
+        QuerySQL readSql = SQLFactory.createQuerySQL(this, "sat_courseware_read",
+                "sat_coursewaredetailid");
+        readSql.addQueryFields("user_count", "count(1)");
+        readSql.setSiteid(siteid);
+        readSql.setWhere("sat_coursewaredetailid", ids);
+        readSql.addGroupBy("sat_coursewaredetailid");
+        RowsMap coursewareRowsMap = readSql.query().toRowsMap("sat_coursewaredetailid");
+        //附件
+        RowsMap attRowsMap = getAttachmentUrl("sat_coursewaredetail", ids);
+
+        for (Row row : rows) {
+            Rows coursewareRows = coursewareRowsMap.get(row.getString("sat_coursewaredetailid"));
+            if (coursewareRows.isEmpty()) {
+                row.put("user_count", 0);
+            } else {
+                row.put("user_count", coursewareRows.get(0).getString("user_count"));
+            }
+            row.put("attinfos", attRowsMap.getOrDefault(row.getString("sat_coursewaredetailid"), new Rows()));
+        }
+
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+
 }

+ 10 - 0
src/custom/restcontroller/webmanage/saletool/fad/Fad.java

@@ -276,6 +276,16 @@ public class Fad extends Controller {
                 }
             }
 
+            if (whereObject.containsKey("iscollect") && !"".equals(whereObject.getString("iscollect"))) {
+                if (whereObject.getString("iscollect").equals("1")) {
+                    where.append(" and (");
+                    where.append(" t1.sa_fadid in (SELECT ownerid from sys_datacollect WHERE ownertable='sa_fad' and type=1 and siteid='" + siteid + "' and userid=" + userid + ")");
+                    where.append(")");
+                }
+
+
+            }
+
 
         }
 

+ 10 - 0
src/custom/restcontroller/webmanage/saletool/fad/FadGoods.java

@@ -316,6 +316,16 @@ public class FadGoods extends Controller {
                 where.append(")");
             }
 
+            if (whereObject.containsKey("iscollect") && !"".equals(whereObject.getString("iscollect"))) {
+                if (whereObject.getString("iscollect").equals("1")) {
+                    where.append(" and (");
+                    where.append(" t1.sa_fadid in (SELECT ownerid from sys_datacollect WHERE ownertable='sa_fad' and type=1 and siteid='" + siteid + "' and userid=" + userid + ")");
+                    where.append(")");
+                }
+
+
+            }
+
         }
 
         ArrayList<Long> sys_enterpriseids = new ArrayList<Long>();

+ 8 - 0
src/custom/restcontroller/webmanage/saletool/sharematerial/DesignPic.java

@@ -341,8 +341,16 @@ public class DesignPic extends Controller {
                 where.append(")");
 
             }
+            if (whereObject.containsKey("iscollect") && !"".equals(whereObject.getString("iscollect"))) {
+                if (whereObject.getString("iscollect").equals("1")) {
+                    where.append(" and (");
+                    where.append(" t1.sat_sharematerialid in (SELECT ownerid from sys_datacollect WHERE ownertable='sat_sharematerial' and type=1 and siteid='" + siteid + "' and userid=" + userid + ")");
+                    where.append(")");
+                }
 
 
+            }
+
         }
 
         if (content.getLongValue("isnationwide") == 1) {

+ 13 - 3
src/custom/restcontroller/webmanage/saletool/sharematerial/Renderings.java

@@ -87,7 +87,7 @@ public class Renderings extends Controller {
             siteid = sharematerialrows.get(0).getString("siteid");
         }
 
-        dbConnect.runSqlUpdate("UPDATE sat_sharematerial SET readcount=readcount+1 WHERE sat_sharematerialid=" + sat_sharematerialid );
+        dbConnect.runSqlUpdate("UPDATE sat_sharematerial SET readcount=readcount+1 WHERE sat_sharematerialid=" + sat_sharematerialid);
 
 
         QuerySQL querySQ = SQLFactory.createQuerySQL(this, "sat_sharematerial")
@@ -100,7 +100,7 @@ public class Renderings extends Controller {
         Row detailRow = rows.isNotEmpty() ? rows.get(0) : new Row();
 
         Rows attRows = getAttachmentUrl("sat_sharematerial", sat_sharematerialid);
-        attRows.sortby("sequence","linksid");
+        attRows.sortby("sequence", "linksid");
         detailRow.put("attinfos", attRows);
         detailRow.putIfAbsent("checkdate", "");
         detailRow.put("appleturl", Parameter.get("CaseImgsUrl") + sat_sharematerialid);
@@ -217,12 +217,22 @@ public class Renderings extends Controller {
 
             }
 
+            if (whereObject.containsKey("iscollect") && !"".equals(whereObject.getString("iscollect"))) {
+                if (whereObject.getString("iscollect").equals("1")) {
+                    where.append(" and (");
+                    where.append(" t1.sat_sharematerialid in (SELECT ownerid from sys_datacollect WHERE ownertable='sat_sharematerial' and type=1 and siteid='" + siteid + "' and userid=" + userid + ")");
+                    where.append(")");
+                }
+
+
+            }
+
 
         }
 
 
         QuerySQL sqlFactory = SQLFactory.createQuerySQL(this, sat_sharematerial,
-                        "sat_sharematerialid", "title", "status", "renderingstype", "readcount", "readcount_start", "sequence", "createdate", "checkdate", "renderingsclass","panoramaurl")
+                        "sat_sharematerialid", "title", "status", "renderingstype", "readcount", "readcount_start", "sequence", "createdate", "checkdate", "renderingsclass", "panoramaurl")
                 .setTableAlias("t1");
         sqlFactory.setSiteid(siteid);
         sqlFactory.setWhere("classid", 4);