Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java
zouxuan 4 vuotta sitten
vanhempi
commit
fd28995d7e

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java

@@ -466,4 +466,6 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
      */
     List<BaseMapDto<Integer, Integer>> getStudentClassGroupBishopTeacherMap(@Param("studentIds") List<Integer> studentIds,
                                                                             @Param("musicGroupId") String musicGroupId);
+
+    List<Long> getLessThenThreeClassGroupIds(@Param("organIds") String organIds);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ClassGroupQueryInfo.java

@@ -28,6 +28,17 @@ public class ClassGroupQueryInfo extends QueryInfo {
     
     private Integer delFlag;
 
+    @ApiModelProperty(value = "少于3人的线上基础技能班,大于0")
+    private Integer lessThenThreeHighOnline;
+
+	public Integer getLessThenThreeHighOnline() {
+		return lessThenThreeHighOnline;
+	}
+
+	public void setLessThenThreeHighOnline(Integer lessThenThreeHighOnline) {
+		this.lessThenThreeHighOnline = lessThenThreeHighOnline;
+	}
+
 	public String getOrganIdList() {
 		return organIdList;
 	}

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -2986,6 +2986,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
         params.put("groupType",queryInfo.getGroupType().getCode());
+
+        if(Objects.nonNull(queryInfo.getLessThenThreeHighOnline())){
+            List<Long> lessThenThreeClassGroupIds = classGroupStudentMapperDao.getLessThenThreeClassGroupIds(queryInfo.getOrganIdList());
+            params.put("classGroupIds", lessThenThreeClassGroupIds);
+        }
+
         List<ClassGroupTeachersDto> dataList = null;
         int count = classGroupDao.countClassGroup(params);
         if (count > 0) {

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -356,7 +356,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			one.setDesc(IndexErrorType.MUSIC_PATROL.getMsg());
 			List<IndexErrInfoDto> oneChild = new ArrayList<>();
 
-			oneChild.add(new IndexErrInfoDto(IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE, IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE.getMsg(), indexBaseMonthDataDao.countLessThenThreeClassGroupNum(organIds), indexBaseMonthDataDao.getLessThenThreeMusicGroup(organIds)));
+			oneChild.add(new IndexErrInfoDto(IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE, IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE.getMsg(), indexBaseMonthDataDao.countLessThenThreeClassGroupNum(organIds), null));
 			int errInspection = indexBaseMonthDataDao.queryErrInspection(organIds);
 			oneChild.add(new IndexErrInfoDto(IndexErrorType.MUSIC_PATROL_ITEM, IndexErrorType.MUSIC_PATROL_ITEM.getMsg(),errInspection, null));
 

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -1417,6 +1417,12 @@
             <if test="search != null and search != ''">
                 AND (mg.name_ LIKE CONCAT('%',#{search},'%') OR cg.music_group_id_ LIKE CONCAT('%',#{search},'%'))
             </if>
+            <if test="classGroupIds != null and classGroupIds.size()>0">
+                AND cg.id_ IN
+                <foreach collection="classGroupIds" open="(" close=")" item="classGroupId" separator=",">
+                    #{classGroupId}
+                </foreach>
+            </if>
         </where>
     </sql>
     <select id="countClassGroup" resultType="int">

+ 16 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -633,4 +633,20 @@
             </foreach>
         </if>
     </select>
+
+    <select id="getLessThenThreeClassGroupIds" resultType="java.lang.Long">
+        SELECT DISTINCT cg.id_ FROM
+        class_group cg
+        LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
+        LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
+        WHERE
+        cg.type_ IN ('HIGH_ONLINE')
+        AND mg.status_ = 'PROGRESS' AND cg.del_flag_ = 0
+        <if test="organIds!=null and organIds!=''">
+            AND FIND_IN_SET(mg.organ_id_, #{organIds})
+        </if>
+        GROUP BY cg.id_
+        HAVING
+        COUNT(CASE WHEN cgsm.status_ = 'NORMAL' THEN 1 ELSE NULL END) &lt; 3
+    </select>
 </mapper>

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -473,7 +473,7 @@
 		LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
 		LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
 		WHERE
-		cg.type_ IN ('HIGH','HIGH_ONLINE')
+		cg.type_ IN ('HIGH_ONLINE')
 		AND mg.status_ = 'PROGRESS' AND cg.del_flag_ = 0
 		<if test="organIds!=null and organIds.size()>0">
 			AND mg.organ_id_ IN
@@ -493,7 +493,7 @@
 		LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
 		LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
 		WHERE
-		cg.type_ IN ('HIGH','HIGH_ONLINE')
+		cg.type_ IN ('HIGH_ONLINE')
 		AND mg.status_ = 'PROGRESS' AND cg.del_flag_ = 0
 		<if test="organIds!=null and organIds.size()>0">
 			AND mg.organ_id_ IN