派生自 projectDept/qhighschool

EricsHu
2023-11-25 79ab2cbd31c022916a8e696903d5eb34b70aa403
src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java
@@ -61,7 +61,7 @@
     */
    @Override
    public Result insertClass(String className, String classNumber, Date startTime, Date endTime, String subjectId,
                              String teacherId) {
                              String teacherId,String chargeClassName) {
        ClsClass cls = new ClsClass();
@@ -72,6 +72,7 @@
        cls.setStartTime(startTime);
        cls.setEndTime(endTime);
        cls.setTeacherId(teacherId);
        cls.setChargeClassName(chargeClassName);
        cls.setOrgId(ClientUtils.getOrgId());
        save(cls);
        return new Result(true, "success",CollectionUtils.newStringMap("classId",cls.getClassId()));
@@ -107,9 +108,28 @@
    }
    @Override
    public List<ClsClass> getTeacherClassLst(String teacherId) {
        String sql = "select c.* " +
                "from cls_class as c  " +
                "where  c.DELETE_FLAG is false  and c.CLASS_ID in " +
                "(select  cs.CLASS_ID " +
                "from cls_class_re_subject as cs " +
                "LEFT JOIN  subject as s on s.SUBJECT_ID =cs.SUBJECT_ID " +
                "where cs.DELETE_FLAG is false  and s.DELETE_FLAG is false  and s.TEACHER_ID=:teacherId )";
        List<Object[]> list = findByComplexSql(sql, CollectionUtils.newObjectMap("teacherId", teacherId), Object[].class);
        List<ClsClass> clsClassList=new ArrayList<>();
        for (Object[] objects : list) {
            ClsClass clsClass = new ClsClass();
            clsClass.setClassId(objects[0].toString());
            clsClassList.add(clsClass);
        }
        return clsClassList;
    }
    @Override
    public Result updateClass(String classId, String className, String classNumber, Date startTime, Date endTime,
                              String subjectId, boolean needJoinAudit, boolean needQuitAudit, boolean showAnalysisAfterExer,
                              boolean canMultiExer, boolean needForum, String teacherId) {
                              boolean canMultiExer, boolean needForum, String teacherId, String chargeClassName) {
        ClsClass cls = read(ClsClass.class, classId);
@@ -124,6 +144,7 @@
        cls.setShowAnalysisAfterExer(showAnalysisAfterExer);
        cls.setCanMultiExer(canMultiExer);
        cls.setNeedForum(needForum);
        cls.setChargeClassName(chargeClassName);
        cls.setTeacherId(teacherId);
        save(cls);
@@ -134,23 +155,59 @@
    public ClsClass read(String classId) {
        return read(ClsClass.class, classId);
    }
//
//    /**
//     * 原始:获取班级列表
//     */
//    @Override
//    public List<ClsClass> getClassLst(String keyword, String teacherId, Integer pageSize, Integer pageNum, Integer pageType) {
//        String keyword_ = StringUtils.isBlank(keyword) ? "" : keyword;
////        System.out.println(keyword_);
//        StringBuffer hql = new StringBuffer("from ClsClass c where c.deleteFlag is false and c.orgId=? and c.name like ? and c.createId=?");
//
//        if (pageType == 1) {
//            hql.append(" and c.endTime >= sysdate() ");
//        }else if(pageType == 2) {
//            hql.append(" and c.endTime < sysdate() ");
//        }
////        System.out.println("vvvvv"+ClientUtils.getOrgId()+"333333333"+ClientUtils.getUserId());
//        List<Object> args = CollectionUtils.newList(ClientUtils.getOrgId(),keyword_ + "%",ClientUtils.getUserId());
////        System.out.println(args);
//        if (!StringUtils.isEmpty(teacherId)) {
//            hql.append(" and exists( select 1 from ClsClassReSubject r,Subject t where r.subjectId=t.subjectId and c.classId= r.classId and t.teacherId=? and r.deleteFlag is false and t.deleteFlag is false)");
//            args.add(teacherId);
//        }
//
//        hql.append(" order by c.createTime desc");
////        System.out.println(hql.toString());
////        System.out.println(findList(hql.toString(), new Pager(pageSize, pageNum), args, ClsClass.class));
//        return findList(hql.toString(), new Pager(pageSize, pageNum), args, ClsClass.class);
//    }
    /**
     * 获取班级列表
     * 优化获取班级列表
     * @param keyword
     * @param teacherId
     * @param pageSize
     * @param pageNum
     * @param pageType
     * @return
     */
    @Override
    public List<ClsClass> getClassLst(String keyword, String teacherId, Integer pageSize, Integer pageNum, Integer pageType) {
        String keyword_ = StringUtils.isBlank(keyword) ? "" : keyword;
//        System.out.println(keyword_);
        StringBuffer hql = new StringBuffer("from ClsClass c where c.deleteFlag is false and c.orgId=? and c.name like ? and c.createId=?");
        StringBuffer hql = new StringBuffer("from ClsClass c where c.deleteFlag is false and c.orgId=? and c.name like ? ");
        if (pageType == 1) {
            hql.append(" and c.endTime >= sysdate() ");
        }else if(pageType == 2) {
            hql.append(" and c.endTime < sysdate() ");
        }
//        System.out.println("vvvvv"+ClientUtils.getOrgId()+"333333333"+ClientUtils.getUserId());
        List<Object> args = CollectionUtils.newList(ClientUtils.getOrgId(),keyword_ + "%",ClientUtils.getUserId());
//        if (!StringUtils.isEmpty(teacherId)) {
//            hql.append("and c.createId=?)");
//        }
//        System.out.println("vvvvv"+ClientUtils.getOrgId()+"333333333"+ClientUtils.getUserId()); ,ClientUtils.getUserId()
        List<Object> args = CollectionUtils.newList(ClientUtils.getOrgId(),keyword_ + "%");
//        System.out.println(args);
        if (!StringUtils.isEmpty(teacherId)) {
            hql.append(" and exists( select 1 from ClsClassReSubject r,Subject t where r.subjectId=t.subjectId and c.classId= r.classId and t.teacherId=? and r.deleteFlag is false and t.deleteFlag is false)");
@@ -281,7 +338,8 @@
    public Map<String, Object> getClassActivityInfo(String classId) {
        Map<String, Object> result = scoreService.queryClassHomeworkScoreInfo(classId);
        result.putAll(scoreService.queryClassExamScoreInfo(classId));
        Map<String, Object> stringObjectMap = scoreService.queryClassExamScoreInfo(classId);
        result.putAll(stringObjectMap);
        ClsClass cls = read(classId);
@@ -317,11 +375,11 @@
    @Override
    public List<Map<String,Object>> queryAvailableClassIdAndName(String teacherId,String subjectId) {
        StringBuffer hql = new StringBuffer(1000);
        // and c.endTime>=sysdate() 增加条件过滤掉历史班级
        hql.append("select c.classId as classId ,c.name as className from ClsClass c where c.deleteFlag is false and c.orgId=:orgId and c.createId=:createId " );
        // and c.endTime>=sysdate() 增加条件过滤掉历史班级 and c.createId=:createId
        hql.append("select c.classId as classId ,c.name as className from ClsClass c where c.deleteFlag is false and c.orgId=:orgId " );
        Map<String,Object> queryParam = new HashMap<String,Object>();
        queryParam.put("orgId", ClientUtils.getOrgId());
        queryParam.put("createId", ClientUtils.getUserId());
//        queryParam.put("createId", ClientUtils.getUserId());
        if(StringUtils.isNotEmpty(teacherId)||StringUtils.isNotEmpty(subjectId)){
            hql.append(" and exists (select 1 from ClsClassReSubject r ,Subject s where r.subjectId=s.subjectId and  r.classId =c.classId and r.deleteFlag is false ");
@@ -348,7 +406,7 @@
    public List<Map<String,Object>> queryAllClassIdAndName() {
        StringBuffer hql = new StringBuffer(500);
//        c.deleteFlag is false  and
        hql.append("select c.classId as classId ,c.name as className from ClsClass c where c.endTime>=:endTime  and c.orgId=:orgId " );
        hql.append("select c.classId as classId ,c.name as className from ClsClass c where c.endTime>=:endTime and deleteFlag is false  and c.orgId=:orgId " );
        return this.findListWithMapByHql(hql.toString(), CollectionUtils.newObjectMap("endTime",new Date(),"orgId",ClientUtils.getOrgId()));
    }