yonge преди 5 години
родител
ревизия
92169587fd

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -500,4 +500,5 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 	 * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
 	 */
 	List<CourseSchedule> findCourseScheduleWithDate(@Param("date") Date date);
+	
 }

+ 13 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/DemoGroupDao.java

@@ -111,5 +111,17 @@ public interface DemoGroupDao extends BaseDAO<Long, DemoGroup> {
      */
     List<Map<Integer, Long>> countTeacherDemoGroupNum(String teacherIds);
 
-
+    /**
+     * 查询vip课程数
+     * @param organId
+     * @return
+     */
+    Map<String, Integer> queryDemoGroupNum(Integer organId);
+    
+    /**
+     * 
+     * @param organId
+     * @return
+     */
+    Integer queryCurrentMonthCoursesNum(Integer organId);
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -119,4 +119,11 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @return
      */
     Map<String,Integer> queryOrganMusicGroupNum(Integer ogranId);
+    
+    /**
+     * 查询本月乐团课程数
+     * @param organId
+     * @return
+     */
+    Integer queryCurrentMonthCoursesNum(Integer organId);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -215,5 +215,5 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * 查询学生数
      * @return
      */
-    Map<String,Integer> queryStudentNum();
+    Map<String,Integer> queryStudentNum(Integer organId);
 }

+ 96 - 79
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java

@@ -28,8 +28,9 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return java.util.List<com.ym.mec.biz.dal.entity.VipGroup>
 	 * @describe 根据部门获取
 	 */
-	List<VipGroup> findAllByOrgan(Map<String,Object> params);
-	int countVipGroupByOrgan(Map<String,Object> params);
+	List<VipGroup> findAllByOrgan(Map<String, Object> params);
+
+	int countVipGroupByOrgan(Map<String, Object> params);
 
 	/**
 	 * @Author: Joburgess
@@ -38,8 +39,9 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return java.util.List<com.ym.mec.biz.dal.dto.VipGroupStudentDto>
 	 * @describe 获取小课学员
 	 */
-	List<VipGroupStudentDto> findVipGroupStudents(Map<String,Object> params);
-	int countVipGroupStudents(Map<String,Object> params);
+	List<VipGroupStudentDto> findVipGroupStudents(Map<String, Object> params);
+
+	int countVipGroupStudents(Map<String, Object> params);
 
 	/**
 	 * @Author: Joburgess
@@ -48,8 +50,9 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return java.util.List<com.ym.mec.biz.dal.dto.VipGroupCourseSchduleRecordDto>
 	 * @describe 获取vip课教学记录
 	 */
-	List<VipGroupCourseSchduleRecordDto> findTeachingRecord(Map<String,Object> params);
-	int countTeachingRecord(Map<String,Object> params);
+	List<VipGroupCourseSchduleRecordDto> findTeachingRecord(Map<String, Object> params);
+
+	int countTeachingRecord(Map<String, Object> params);
 
 	/**
 	 * @Author: Joburgess
@@ -94,7 +97,7 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return java.util.List<com.ym.mec.biz.dal.dto.StudentVipGroupShowListDto>
 	 * @describe 学生端获取vip课列表
 	 */
-	List<StudentVipGroupShowListDto> findVipGroups(Map<String,Object> params);
+	List<StudentVipGroupShowListDto> findVipGroups(Map<String, Object> params);
 
 	/**
 	 * @Author: Joburgess
@@ -103,7 +106,7 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return int
 	 * @describe 统计vip数
 	 */
-	int countVipGorups(Map<String,Object> params);
+	int countVipGorups(Map<String, Object> params);
 
 	/**
 	 * @Author: Joburgess
@@ -139,61 +142,61 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
 	 * @describe 获取小课考勤记录
 	 */
-    List<CourseSchedule> findVipGroupAttendances(Map<String,Object> params);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/3
-     * @params [params]
-     * @return int
-     * @describe 统计小课考勤记录数
-     */
-    int countVipGroupAttendance(Map<String,Object> params);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/3
-     * @params [vipGroupId]
-     * @return com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto
-     * @describe 获取vip课详情
-     */
-    StudentVipGroupDetailDto getVipGroupDetail(Long vipGroupId);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/3
-     * @params [vipGroupId]
-     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Integer>>
-     * @describe 统计剩余课时数
-     */
-    List<Map<String,Integer>> countSurplusClassTimes(Long vipGroupId);
-
-    /**
-     * @describe 统计vip课已上课程数量
-     * @author Joburgess
-     * @date 2019/10/21
-     * @param vipGroupIds: vip课编号列表
-     * @return java.util.List<java.util.Map<java.lang.Long,java.lang.Integer>>
-     */
-    List<Map<Long,Integer>> countVipGroupOverCourse(List<Long> vipGroupIds);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/12
-     * @params [vipGroupId]
-     * @return java.math.BigDecimal
-     * @describe 统计学生vip课未上课时费用
-     */
-    List<Map<Integer,BigDecimal>> countSurplusCourseFee(Long vipGroupId);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/14
-     * @params [teacherId]
-     * @return int
-     * @describe 统计老师开启的vip课数
-     */
-    int countTeacherVipGroups(Long teacherId);
+	List<CourseSchedule> findVipGroupAttendances(Map<String, Object> params);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/3
+	 * @params [params]
+	 * @return int
+	 * @describe 统计小课考勤记录数
+	 */
+	int countVipGroupAttendance(Map<String, Object> params);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/3
+	 * @params [vipGroupId]
+	 * @return com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto
+	 * @describe 获取vip课详情
+	 */
+	StudentVipGroupDetailDto getVipGroupDetail(Long vipGroupId);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/3
+	 * @params [vipGroupId]
+	 * @return java.util.List<java.util.Map<java.lang.String,java.lang.Integer>>
+	 * @describe 统计剩余课时数
+	 */
+	List<Map<String, Integer>> countSurplusClassTimes(Long vipGroupId);
+
+	/**
+	 * @describe 统计vip课已上课程数量
+	 * @author Joburgess
+	 * @date 2019/10/21
+	 * @param vipGroupIds: vip课编号列表
+	 * @return java.util.List<java.util.Map<java.lang.Long,java.lang.Integer>>
+	 */
+	List<Map<Long, Integer>> countVipGroupOverCourse(List<Long> vipGroupIds);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/12
+	 * @params [vipGroupId]
+	 * @return java.math.BigDecimal
+	 * @describe 统计学生vip课未上课时费用
+	 */
+	List<Map<Integer, BigDecimal>> countSurplusCourseFee(Long vipGroupId);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/14
+	 * @params [teacherId]
+	 * @return int
+	 * @describe 统计老师开启的vip课数
+	 */
+	int countTeacherVipGroups(Long teacherId);
 
 	/**
 	 * 根据教师编号获取老师vip课数量
@@ -208,20 +211,34 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return
 	 */
 	List<TeacherVipClassInfoDto> getTeacherVipClass(Map<String, Object> params);
-    
-    /**
-     * 根据老师查询vip课教学点
-     * @param userId
-     * @return
-     */
-    List<School> querySchoolByUserId(Integer userId);
-
-    /**
-     * @describe 根据课程编号获取vip课
-     * @author Joburgess
-     * @date 2019/10/23
-     * @param courseScheduleId: 课程编号
-     * @return com.ym.mec.biz.dal.entity.VipGroup
-     */
-    VipGroup findByCourseSchedule(Integer courseScheduleId);
+
+	/**
+	 * 根据老师查询vip课教学点
+	 * @param userId
+	 * @return
+	 */
+	List<School> querySchoolByUserId(Integer userId);
+
+	/**
+	 * @describe 根据课程编号获取vip课
+	 * @author Joburgess
+	 * @date 2019/10/23
+	 * @param courseScheduleId: 课程编号
+	 * @return com.ym.mec.biz.dal.entity.VipGroup
+	 */
+	VipGroup findByCourseSchedule(Integer courseScheduleId);
+
+	/**
+	 * 查询vip课数目
+	 * @param organId
+	 * @return
+	 */
+	Map<String, Integer> queryVipGroupNum(Integer organId);
+	
+	/**
+	 * 查询当月vip课数量
+	 * @param organId
+	 * @return
+	 */
+	Integer queryCurrentMonthCoursesNum(Integer organId);
 }

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1160,4 +1160,5 @@
         WHERE cs.class_date_=DATE_FORMAT(#{date},'%Y-%m-%d %H:%i:%s')
         AND cs.type_!='VIP'
     </select>
+    
 </mapper>

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

@@ -269,4 +269,20 @@
         WHERE FIND_IN_SET(dg.user_id_,#{teacherIds}) GROUP BY user_id_
 	</select>
 
+	<select id="queryDemoGroupNum" resultType="map">
+		select sum(case when dgcp.status_ = 0 then 1 else 0 end) unbooked_num_,sum(case when dgcp.status_ = 1 then 1 else 0 end) booked_num_ from demo_group_courses_plan dgcp left join demo_group dg on dgcp.demo_group_id_ = dg.id_
+		<where>
+    		<if test="organId != null">
+    			FIND_IN_SET(#{organId},dg.organ_id_list_)
+    		</if>
+    	</where> 
+	</select>
+    
+    <select id="queryCurrentMonthCoursesNum" resultType="int">
+    	select count(cs.id_) from course_schedule cs left join demo_group_class_group_mapper vgcgm on cs.class_group_id_ = vgcgm.class_group_id_ left join demo_group vg on vgcgm.demo_group_id_ = vg.id_ where cs.type_ in ('DEMO')
+  		and DATE_FORMAT(cs.class_date_, '%Y%m' ) = DATE_FORMAT(CURDATE() , '%Y%m')
+   		<if test="organId != null">
+   			and find_in_set(#{organId},vg.organ_id_list_)
+   		</if>
+    </select>
 </mapper>

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -321,4 +321,12 @@
     		</if>
     	</where>
   	</select>
+  	
+  	<select id="queryCurrentMonthCoursesNum" resultType="int">
+  		select count(cs.id_) from course_schedule cs left join class_group cg on cs.class_group_id_ = cg.id_ left join music_group mg on cg.music_group_id_ = mg.id_ where cs.type_ not in ('VIP','DEMO')
+  		and DATE_FORMAT(cs.class_date_, '%Y%m' ) = DATE_FORMAT(CURDATE() , '%Y%m')
+   		<if test="organId != null">
+   			and mg.organ_id_ = #{organId}
+   		</if>
+  	</select>
 </mapper>

+ 17 - 0
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -653,4 +653,21 @@
             LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
             WHERE cs.id_=#{courseScheduleId}
     </select>
+    
+    <select id="queryVipGroupNum" resultType="map">
+    	select count(*) total,sum(case when status_ = 1 then 1 else 0 end) applying_num_,sum(case when status_ = 2 then 1 else 0 end) finished_num_ from vip_group 
+    	<where>
+    		<if test="organId != null">
+    			organ_id_ = #{organId}
+    		</if>
+    	</where>
+    </select>
+    
+    <select id="queryCurrentMonthCoursesNum" resultType="int">
+    	select count(cs.id_) from course_schedule cs left join vip_group_class_group_mapper vgcgm on cs.class_group_id_ = vgcgm.class_group_id_ left join vip_group vg on vgcgm.vip_group_id_ = vg.id_ where cs.type_ in ('VIP')
+  		and DATE_FORMAT(cs.class_date_, '%Y%m' ) = DATE_FORMAT(CURDATE() , '%Y%m')
+   		<if test="organId != null">
+   			and vg.organ_id_ = #{organId}
+   		</if>
+    </select>
 </mapper>

+ 23 - 1
mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java

@@ -13,9 +13,11 @@ import org.springframework.web.bind.annotation.RestController;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.DemoGroupDao;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.VipGroupDao;
 import com.ym.mec.common.controller.BaseController;
 
 @Api(tags = "首页")
@@ -31,6 +33,12 @@ public class IndexController extends BaseController {
 	
 	@Autowired
 	private StudentRegistrationDao studentRegistrationDao;
+	
+	@Autowired
+	private VipGroupDao vipGroupDao;
+	
+	@Autowired
+	private DemoGroupDao demoGroupDao;
 
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
@@ -53,7 +61,21 @@ public class IndexController extends BaseController {
 		
 		Map<String, Integer> teacherDatas = teacherDao.queryOrganTeacherNum(organId);
 		
-		Map<String, Integer> studentDatas = studentRegistrationDao.queryStudentNum();
+		Map<String, Integer> studentDatas = studentRegistrationDao.queryStudentNum(organId);
+		
+		Map<String, Integer> vipDatas = vipGroupDao.queryVipGroupNum(organId);
+		
+		Map<String, Integer> demoDatas = demoGroupDao.queryDemoGroupNum(organId);
+		
+		Integer musicGroupNum = musicGroupDao.queryCurrentMonthCoursesNum(organId);
+		
+		Integer vipGroupNum = vipGroupDao.queryCurrentMonthCoursesNum(organId);
+		
+		Integer demoGroupNum = demoGroupDao.queryCurrentMonthCoursesNum(organId);
+		
+		//本月收入
+		
+		//本月支出
 
 		return succeed();
 	}