Selaa lähdekoodia

feat:首页数据

Joburgess 4 vuotta sitten
vanhempi
commit
2e07ca0b69

+ 12 - 12
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java

@@ -45,7 +45,7 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
      * @date 2021/1/7 0007
      * @return java.util.List<com.ym.mec.biz.dal.dto.IndexBaseMonthDto>
      */
-    List<IndexBaseMonthData> getStudentSignUpData(@Param("month") String month);
+    List<IndexBaseMonthData> getStudentSignUpData(@Param("dayStr") String dayStr);
 
     /**
      * @describe 统计作业布置数据
@@ -53,7 +53,7 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
      * @date 2021/1/7 0007
      * @return java.util.List<com.ym.mec.biz.dal.dto.IndexBaseMonthDto>
      */
-    List<IndexBaseMonthData> getHomeworkData(@Param("month") String month,
+    List<IndexBaseMonthData> getHomeworkData(@Param("dayStr") String dayStr,
                                              @Param("type") String type);
 
     /**
@@ -62,7 +62,7 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
      * @date 2021/1/11 0011
      * @return java.util.List<com.ym.mec.biz.dal.entity.IndexBaseMonthData>
      */
-    List<IndexBaseMonthData> getSchoolData(@Param("month") String month);
+    List<IndexBaseMonthData> getSchoolData(@Param("dayStr") String dayStr);
 
     /**
      * @describe 统计乐团数据
@@ -70,7 +70,7 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
      * @date 2021/1/11 0011
      * @return java.util.List<com.ym.mec.biz.dal.entity.IndexBaseMonthData>
      */
-    List<IndexBaseMonthData> getMusicData(@Param("month") String month);
+    List<IndexBaseMonthData> getMusicData(@Param("dayStr") String dayStr);
 
     /**
      * @describe 统计乐团学员数据
@@ -78,27 +78,27 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
      * @date 2021/1/11 0011
      * @return java.util.List<com.ym.mec.biz.dal.entity.IndexBaseMonthData>
      */
-    List<IndexBaseMonthData> getMusicStudentData(@Param("month") String month,
+    List<IndexBaseMonthData> getMusicStudentData(@Param("dayStr") String dayStr,
                                                  @Param("type") String type);
 
-    List<IndexBaseMonthData> getMusicGroupPreRegistrationStudentData(@Param("month") String month);
+    List<IndexBaseMonthData> getMusicGroupPreRegistrationStudentData(@Param("dayStr") String dayStr);
 
-    List<IndexBaseMonthData> getMusicGroupStudentFromPreData(@Param("month") String month,
+    List<IndexBaseMonthData> getMusicGroupStudentFromPreData(@Param("dayStr") String dayStr,
                                                              @Param("paymentStatus") PaymentStatusEnum paymentStatus);
 
-    List<Integer> getMusicGroupStudentIdFromPre(@Param("month") String month,
+    List<Integer> getMusicGroupStudentIdFromPre(@Param("dayStr") String dayStr,
                                                 @Param("paymentStatus") PaymentStatusEnum paymentStatus);
 
-    List<IndexBaseMonthData> getStudentConversionData(@Param("month") String month,
+    List<IndexBaseMonthData> getStudentConversionData(@Param("dayStr") String dayStr,
                                                       @Param("studentIds") List<Integer> studentIds);
 
-    List<IndexBaseMonthData> getOtherStudentData(@Param("month") String month);
+    List<IndexBaseMonthData> getOtherStudentData(@Param("dayStr") String dayStr);
 
-    List<IndexBaseMonthData> getTeacherData(@Param("month") String month,
+    List<IndexBaseMonthData> getTeacherData(@Param("dayStr") String dayStr,
                                             @Param("jobNature") JobNatureEnum jobNature,
                                             @Param("isDemission") Boolean isDemission);
 
-    List<IndexBaseMonthData> getGroupCourseData(@Param("month") String month,
+    List<IndexBaseMonthData> getGroupCourseData(@Param("dayStr") String dayStr,
                                                 @Param("groupType")GroupType groupType);
 
 

+ 52 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/IndexDataQueryInfo.java

@@ -0,0 +1,52 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2021/1/27 0027
+ */
+public class IndexDataQueryInfo extends QueryInfo {
+
+    private String dataTypes;
+
+    private String organId;
+
+    private Date startDate;
+
+    private Date endDate;
+
+    public String getDataTypes() {
+        return dataTypes;
+    }
+
+    public void setDataTypes(String dataTypes) {
+        this.dataTypes = dataTypes;
+    }
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+
+    public Date getStartDate() {
+        return startDate;
+    }
+
+    public void setStartDate(Date startDate) {
+        this.startDate = startDate;
+    }
+
+    public Date getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(Date endDate) {
+        this.endDate = endDate;
+    }
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/IndexBaseMonthDataService.java

@@ -6,11 +6,12 @@ import java.util.Map;
 import com.ym.mec.biz.dal.dto.IndexBaseDto;
 import com.ym.mec.biz.dal.entity.IndexBaseMonthData;
 import com.ym.mec.biz.dal.entity.IndexErrInfoDto;
+import com.ym.mec.biz.dal.page.IndexDataQueryInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface IndexBaseMonthDataService extends BaseService<Long, IndexBaseMonthData> {
 
-    List<IndexBaseDto> getIndexBaseData(String dataType, String organIds, Integer year);
+    List<IndexBaseDto> getIndexBaseData(IndexDataQueryInfo indexDataQueryInfo);
 
     Map<String, List<IndexBaseDto>> indexBaseDataTask(String month);
 

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

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.dto.IndexBaseDto;
 import com.ym.mec.biz.dal.entity.IndexErrInfoDto;
 import com.ym.mec.biz.dal.entity.Organization;
 import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.dal.page.IndexDataQueryInfo;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -23,6 +24,7 @@ import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -62,7 +64,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 	}
 
 	@Override
-	public List<IndexBaseDto> getIndexBaseData(String dataTypesStr, String organIdsStr, Integer year) {
+	public List<IndexBaseDto> getIndexBaseData(IndexDataQueryInfo queryInfo) {
 		List<IndexBaseDto> result = new ArrayList<>();
 
 		DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM");
@@ -71,24 +73,22 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		Date currentMonth = Date.from(nowDate.atStartOfDay(DateUtil.zoneId).toInstant());
 
 		LocalDate startDate = LocalDate.now();
-		if(Objects.nonNull(year)){
-			startDate = startDate.withYear(year);
+		if(Objects.nonNull(queryInfo.getStartDate())){
+			startDate = LocalDateTime.ofInstant(queryInfo.getStartDate().toInstant(), DateUtil.zoneId).toLocalDate();
 		}
-		startDate = startDate.withMonth(1);
-		startDate = startDate.withDayOfMonth(1);
 
 		LocalDate endDate = startDate.withMonth(12);
-		if(nowDate.getYear()>endDate.getYear()){
-			currentMonth = Date.from(endDate.atStartOfDay(DateUtil.zoneId).toInstant());
+		if(Objects.nonNull(queryInfo.getEndDate())){
+			endDate = LocalDateTime.ofInstant(queryInfo.getEndDate().toInstant(), DateUtil.zoneId).toLocalDate();
 		}
 
 		Set<Integer> organIds = null;
-		if(StringUtils.isNotBlank(organIdsStr)){
-			organIds = Arrays.stream(organIdsStr.split(",")).map(Integer::new).collect(Collectors.toSet());
+		if(StringUtils.isNotBlank(queryInfo.getOrganId())){
+			organIds = Arrays.stream(queryInfo.getOrganId().split(",")).map(Integer::new).collect(Collectors.toSet());
 		}
 		Set<String> dataTypes = null;
-		if(StringUtils.isNotBlank(dataTypesStr)){
-			dataTypes = Arrays.stream(dataTypesStr.split(",")).collect(Collectors.toSet());
+		if(StringUtils.isNotBlank(queryInfo.getDataTypes())){
+			dataTypes = Arrays.stream(queryInfo.getDataTypes().split(",")).collect(Collectors.toSet());
 		}
 
 		List<IndexBaseMonthData> indexBaseDatas = indexBaseMonthDataDao.getIndexBaseData(organIds, dataTypes, df.format(startDate), df.format(endDate));
@@ -136,10 +136,9 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public Map<String, List<IndexBaseDto>> indexBaseDataTask(String month) {
+	public Map<String, List<IndexBaseDto>> indexBaseDataTask(String dayStr) {
 		Map<String, List<IndexBaseDto>> result = new HashMap<>();
 
-		DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM");
 		LocalDate nowDate = LocalDate.now();
 
 		List<Organization> allOrgans = organizationDao.findAllOrgans();
@@ -148,52 +147,52 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			this.organIds.get().addAll(allOrgans.stream().map(Organization::getId).collect(Collectors.toSet()));
 		}
 
-		if(StringUtils.isBlank(month)){
-			month = df.format(nowDate);
+		if(StringUtils.isBlank(dayStr)){
+			dayStr = nowDate.toString();
 		}
 
 		//运营数据
-		saveData(indexBaseMonthDataDao.getSchoolData(month), month, IndexDataType.SCHOOL);
-		saveData(indexBaseMonthDataDao.getMusicData(month), month, IndexDataType.MUSIC_GROUP_NUM);
-		saveData(indexBaseMonthDataDao.getMusicStudentData(month, null), month, IndexDataType.MUSIC_GROUP_STUDENT);
-		saveData(indexBaseMonthDataDao.getOtherStudentData(month), month, IndexDataType.OTHER_STUDENT);
+		saveData(indexBaseMonthDataDao.getSchoolData(dayStr), dayStr, IndexDataType.SCHOOL);
+		saveData(indexBaseMonthDataDao.getMusicData(dayStr), dayStr, IndexDataType.MUSIC_GROUP_NUM);
+		saveData(indexBaseMonthDataDao.getMusicStudentData(dayStr, null), dayStr, IndexDataType.MUSIC_GROUP_STUDENT);
+		saveData(indexBaseMonthDataDao.getOtherStudentData(dayStr), dayStr, IndexDataType.OTHER_STUDENT);
 
 		//业务数据
-		saveData(indexBaseMonthDataDao.getStudentSignUpData(month), month, IndexDataType.ACTIVATION_RATE);
-		saveData(indexBaseMonthDataDao.getHomeworkData(month, null), month, IndexDataType.HOMEWORK_CREATE_RATE);
-		saveData(indexBaseMonthDataDao.getHomeworkData(month, "submit"), month, IndexDataType.HOMEWORK_SUBMIT_RATE);
-		saveData(indexBaseMonthDataDao.getHomeworkData(month, "comment"), month, IndexDataType.HOMEWORK_COMMENT_RATE);
+		saveData(indexBaseMonthDataDao.getStudentSignUpData(dayStr), dayStr, IndexDataType.ACTIVATION_RATE);
+		saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, null), dayStr, IndexDataType.HOMEWORK_CREATE_RATE);
+		saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, "submit"), dayStr, IndexDataType.HOMEWORK_SUBMIT_RATE);
+		saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, "comment"), dayStr, IndexDataType.HOMEWORK_COMMENT_RATE);
 
 		//经营数据
-		saveData(null, month, IndexDataType.SHOULD_INCOME_MONEY);
-		saveData(null, month, IndexDataType.ANTICIPATED_INCOME_MONEY);
-		saveData(null, month, IndexDataType.SHOULD_EXPEND_MONEY);
-		saveData(null, month, IndexDataType.ANTICIPATED_EXPEND_MONEY);
-		saveData(null, month, IndexDataType.REVENUE_MONEY);
+		saveData(null, dayStr, IndexDataType.SHOULD_INCOME_MONEY);
+		saveData(null, dayStr, IndexDataType.ANTICIPATED_INCOME_MONEY);
+		saveData(null, dayStr, IndexDataType.SHOULD_EXPEND_MONEY);
+		saveData(null, dayStr, IndexDataType.ANTICIPATED_EXPEND_MONEY);
+		saveData(null, dayStr, IndexDataType.REVENUE_MONEY);
 
 		//人事数据
-		saveData(indexBaseMonthDataDao.getTeacherData(month, null, null), month, IndexDataType.TEACHER_NUM);
-		saveData(indexBaseMonthDataDao.getTeacherData(month, JobNatureEnum.FULL_TIME, null), month, IndexDataType.FULL_TIME_NUM);
-		saveData(indexBaseMonthDataDao.getTeacherData(month, JobNatureEnum.PART_TIME, null), month, IndexDataType.PART_TIME_NUM);
-		saveData(indexBaseMonthDataDao.getTeacherData(month, null, true), month, IndexDataType.DIMISSION_NUM);
+		saveData(indexBaseMonthDataDao.getTeacherData(dayStr, null, null), dayStr, IndexDataType.TEACHER_NUM);
+		saveData(indexBaseMonthDataDao.getTeacherData(dayStr, JobNatureEnum.FULL_TIME, null), dayStr, IndexDataType.FULL_TIME_NUM);
+		saveData(indexBaseMonthDataDao.getTeacherData(dayStr, JobNatureEnum.PART_TIME, null), dayStr, IndexDataType.PART_TIME_NUM);
+		saveData(indexBaseMonthDataDao.getTeacherData(dayStr, null, true), dayStr, IndexDataType.DIMISSION_NUM);
 
 		//学员变动
-		saveData(indexBaseMonthDataDao.getMusicStudentData(month, "ADD"), month, IndexDataType.NEWLY_STUDENT_NUM);
-		saveData(indexBaseMonthDataDao.getMusicStudentData(month, "QUIT"), month, IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM);
-		saveData(indexBaseMonthDataDao.getMusicGroupPreRegistrationStudentData(month), month, IndexDataType.STUDENT_CONVERSION_PRE_STUDENT_NUM);
-		saveData(indexBaseMonthDataDao.getMusicGroupStudentFromPreData(month, null), month, IndexDataType.STUDENT_CONVERSION_STUDENT_NUM);
-		saveData(indexBaseMonthDataDao.getMusicGroupStudentFromPreData(month, PaymentStatusEnum.YES), month, IndexDataType.STUDENT_CONVERSION_PAYMENT_STUDENT_NUM);
-		List<Integer> studentIds = indexBaseMonthDataDao.getMusicGroupStudentIdFromPre(month, PaymentStatusEnum.YES);
+		saveData(indexBaseMonthDataDao.getMusicStudentData(dayStr, "ADD"), dayStr, IndexDataType.NEWLY_STUDENT_NUM);
+		saveData(indexBaseMonthDataDao.getMusicStudentData(dayStr, "QUIT"), dayStr, IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM);
+		saveData(indexBaseMonthDataDao.getMusicGroupPreRegistrationStudentData(dayStr), dayStr, IndexDataType.STUDENT_CONVERSION_PRE_STUDENT_NUM);
+		saveData(indexBaseMonthDataDao.getMusicGroupStudentFromPreData(dayStr, null), dayStr, IndexDataType.STUDENT_CONVERSION_STUDENT_NUM);
+		saveData(indexBaseMonthDataDao.getMusicGroupStudentFromPreData(dayStr, PaymentStatusEnum.YES), dayStr, IndexDataType.STUDENT_CONVERSION_PAYMENT_STUDENT_NUM);
+		List<Integer> studentIds = indexBaseMonthDataDao.getMusicGroupStudentIdFromPre(dayStr, PaymentStatusEnum.YES);
 		List<IndexBaseMonthData> convertStudentNum = new ArrayList<>();
 		if(!CollectionUtils.isEmpty(studentIds)){
-			convertStudentNum = indexBaseMonthDataDao.getStudentConversionData(month, studentIds);
+			convertStudentNum = indexBaseMonthDataDao.getStudentConversionData(dayStr, studentIds);
 		}
-		saveData(convertStudentNum, month, IndexDataType.STUDENT_CONVERSION_VIP_PRACTICE_STUDENT_NUM);
+		saveData(convertStudentNum, dayStr, IndexDataType.STUDENT_CONVERSION_VIP_PRACTICE_STUDENT_NUM);
 
 		//课程数据
-		saveData(indexBaseMonthDataDao.getGroupCourseData(month, GroupType.MUSIC), month, IndexDataType.MUSIC_GROUP_COURSE);
-		saveData(indexBaseMonthDataDao.getGroupCourseData(month, GroupType.VIP), month, IndexDataType.VIP_GROUP_COURSE);
-		saveData(indexBaseMonthDataDao.getGroupCourseData(month, GroupType.PRACTICE), month, IndexDataType.PRACTICE_GROUP_COURSE);
+		saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.MUSIC), dayStr, IndexDataType.MUSIC_GROUP_COURSE);
+		saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.VIP), dayStr, IndexDataType.VIP_GROUP_COURSE);
+		saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.PRACTICE), dayStr, IndexDataType.PRACTICE_GROUP_COURSE);
 
 		return result;
 	}
@@ -285,14 +284,13 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 	}
 
 	/**
-	 * @describe 处理并保存每数据
+	 * @describe 处理并保存每数据
 	 * @author Joburgess
 	 * @date 2021/1/11 0011
 	 * @return void
 	 */
-	private void saveData(List<IndexBaseMonthData> dataList, String startMonth, IndexDataType indexDataType){
-		startMonth = startMonth+"-01";
-		Date date = DateUtil.stringToDate(startMonth, "yyyy-MM-dd");
+	private void saveData(List<IndexBaseMonthData> dataList, String dayStr, IndexDataType indexDataType){
+		Date date = DateUtil.stringToDate(dayStr, "yyyy-MM-dd");
 		if(Objects.isNull(dataList)){
 			dataList = new ArrayList<>();
 		}
@@ -303,7 +301,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			}
 			dataList.add(new IndexBaseMonthData(date, organId));
 		}
-		indexBaseMonthDataDao.deleteWithMonthAndType(Arrays.asList(startMonth), indexDataType);
+		indexBaseMonthDataDao.deleteWithMonthAndType(Arrays.asList(dayStr), indexDataType);
 		indexBaseMonthDataDao.batchInsertWithDataType(dataList, indexDataType);
 	}
 

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

@@ -141,16 +141,39 @@
 	<select id="getStudentSignUpData" resultMap="IndexBaseMonthData">
 		SELECT
 			organ_id_,
-			CONCAT(#{month}, '-01') month_,
+			#{dayStr} month_,
 			COUNT( id_ ) total_num_,
 			COUNT(CASE WHEN password_ IS NOT NULL THEN id_ ELSE NULL END) activate_num_,
 			TRUNCATE(COUNT(CASE WHEN password_ IS NOT NULL THEN id_ ELSE NULL END)/COUNT( id_ )*100, 2) percent_
-		FROM sys_user
+		FROM
+			((
+				 SELECT DISTINCT
+					 sr.user_id_
+				 FROM
+					 student_registration sr
+						 LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+				 WHERE
+					 mg.status_ IN ( 'PREPARE', 'PROGRESS' )
+				   AND sr.music_group_status_ = 'NORMAL'
+			 ) UNION
+			(
+			 SELECT DISTINCT
+				 cssp.user_id_
+			 FROM
+				 course_schedule_student_payment cssp
+					 LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
+			 WHERE
+				 cs.del_flag_ = 0
+			   AND ( cs.is_lock_ = 0 OR cs.is_lock_ IS NULL )
+			   AND ( cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_ )
+			   AND cs.organ_id_ IS NOT NULL
+			)) u
+			LEFT JOIN sys_user su ON u.user_id_ = su.id_
 		WHERE
 			del_flag_=0
 		  	AND organ_id_ IS NOT NULL
 			AND user_type_ LIKE '%STUDENT%'
-		  	AND DATE_FORMAT(create_time_, '%Y-%m')&lt;=#{month}
+		  	AND DATE_FORMAT(create_time_, '%Y-%m-%d')&lt;=#{dayStr}
 		GROUP BY organ_id_
 		ORDER BY organ_id_;
 	</select>
@@ -158,7 +181,7 @@
 	<select id="getHomeworkData" resultMap="IndexBaseMonthData">
 		SELECT
 			su.organ_id_,
-			CONCAT(#{month}, '-01') month_,
+			#{dayStr} month_,
 			<choose>
 				<when test="type == 'submit'">
 					SUM(sees.actual_exercises_num_) total_num_,
@@ -180,8 +203,7 @@
 		LEFT JOIN sys_user su ON sees.student_id_=su.id_
 		WHERE su.del_flag_=0
 			AND su.organ_id_ IS NOT NULL
-			AND YEAR(sees.monday_)=YEAR(CONCAT(#{month}, '-01'))
-			AND MONTH(sees.monday_)=MONTH(CONCAT(#{month}, '-01'))
+			AND sees.monday_&lt;=#{dayStr}
 		GROUP BY su.organ_id_
 		ORDER BY su.organ_id_
 	</select>
@@ -189,7 +211,7 @@
 	<select id="getSchoolData" resultMap="IndexBaseMonthData">
 		SELECT
 			mg.organ_id_,
-			CONCAT(#{month}, '-01') month_,
+			#{dayStr} month_,
 			COUNT( DISTINCT mg.cooperation_organ_id_ ) total_num_,
 			COUNT( DISTINCT mg.cooperation_organ_id_ ) activate_num_,
 			COUNT( DISTINCT mg.cooperation_organ_id_ ) percent_
@@ -197,8 +219,9 @@
 			music_group mg
 		WHERE
 			mg.del_flag_ = 0
-		  AND mg.organ_id_ IS NOT NULL
-		  AND mg.status_ = 'PROGRESS'
+			AND mg.organ_id_ IS NOT NULL
+			AND mg.status_ = 'PROGRESS'
+			AND DATE_FORMAT(mg.create_time_, '%Y-%m-%d')&lt;=#{dayStr}
 		GROUP BY
 			mg.organ_id_
 		ORDER BY
@@ -207,7 +230,7 @@
 	<select id="getMusicData" resultMap="IndexBaseMonthData">
 		SELECT
 			organ_id_,
-			CONCAT(#{month}, '-01') month_,
+			#{dayStr} month_,
 			COUNT( id_ ) total_num_,
 			COUNT( id_ ) activate_num_,
 			COUNT( id_ ) percent_
@@ -217,8 +240,8 @@
 			del_flag_ = 0
 			AND status_ = 'PROGRESS'
 			AND organ_id_ IS NOT NULL
-			<if test="month!=null and month!=''">
-				AND DATE_FORMAT(create_time_, '%Y-%m') &lt;= #{month}
+			<if test="dayStr!=null and dayStr!=''">
+				AND DATE_FORMAT(create_time_, '%Y-%m-%d') &lt;= #{dayStr}
 			</if>
 		GROUP BY
 			organ_id_
@@ -228,7 +251,7 @@
 	<select id="getMusicStudentData" resultMap="IndexBaseMonthData">
 		SELECT
 			mg.organ_id_,
-			CONCAT(#{month}, '-01') month_,
+			#{dayStr} month_,
 			COUNT( DISTINCT sr.user_id_ ) total_num_,
 			COUNT( DISTINCT sr.user_id_ ) activate_num_,
 			COUNT( DISTINCT sr.user_id_ ) percent_
@@ -249,8 +272,8 @@
 				AND sr.music_group_status_='NORMAL'
 				AND DATE_FORMAT(sr.create_time_, '%Y-%m') &gt;= CONCAT(DATE_FORMAT(NOW(), '%Y'), '-01')
 			</if>
-			<if test="month!=null and month!=''">
-				AND DATE_FORMAT(sr.create_time_, '%Y-%m') &lt;= #{month}
+			<if test="dayStr!=null and dayStr!=''">
+				AND DATE_FORMAT(sr.create_time_, '%Y-%m-%d') &lt;= #{dayStr}
 			</if>
 		GROUP BY
 			mg.organ_id_
@@ -261,7 +284,7 @@
 	<select id="getTeacherData" resultMap="IndexBaseMonthData">
 		SELECT
 			t.organ_id_,
-			CONCAT(#{month}, '-01') month_,
+			#{dayStr} month_,
 			COUNT( t.id_ ) total_num_,
 			COUNT( t.id_ ) activate_num_,
 			COUNT( t.id_ ) percent_
@@ -280,6 +303,9 @@
 			<if test="jobNature!=null">
 				AND t.job_nature_ = #{jobNature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 			</if>
+			<if test="dayStr!=null and dayStr!=''">
+				AND DATE_FORMAT(#{dayStr}, '%Y-%m-%d') &lt;= #{dayStr}
+			</if>
 		GROUP BY
 			t.organ_id_
 		ORDER BY
@@ -289,7 +315,7 @@
 	<select id="getGroupCourseData" resultMap="IndexBaseMonthData">
 		SELECT
 			m.organ_id_,
-			CONCAT(#{month}, '-01') month_,
+			#{dayStr} month_,
 			COUNT( m.id_ ) total_num_,
 			COUNT( m.id_ ) activate_num_,
 			COUNT( m.id_ ) percent_
@@ -304,8 +330,8 @@
 			<if test="groupType!=null">
 				AND m.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 			</if>
-			<if test="month!=null and month!=''">
-				AND DATE_FORMAT(m.class_date_, '%Y-%m') &lt;= #{month}
+			<if test="dayStr!=null and dayStr!=''">
+				AND DATE_FORMAT(m.class_date_, '%Y-%m-%d') &lt;= #{dayStr}
 			</if>
 		GROUP BY
 			m.organ_id_
@@ -316,7 +342,7 @@
 	<select id="getOtherStudentData" resultMap="IndexBaseMonthData">
 		SELECT
 			su.organ_id_,
-			CONCAT(#{month}, '-01') month_,
+			#{dayStr} month_,
 			COUNT( DISTINCT s.user_id_ ) total_num_,
 			COUNT( DISTINCT s.user_id_ ) activate_num_,
 			COUNT( DISTINCT s.user_id_ ) percent_
@@ -330,8 +356,8 @@
 			AND su.organ_id_ IS NOT NULL
 			AND m.group_type_ IN ('VIP', 'PRACTICE')
 			AND m.status_ = 'NOT_START'
-			<if test="month!=null and month!=''">
-				AND (DATE_FORMAT(m.create_time_, '%Y-%m') &lt;= #{month} OR YEAR(m.create_time_)=3000)
+			<if test="dayStr!=null and dayStr!=''">
+				AND (DATE_FORMAT(m.create_time_, '%Y-%m-%d') &lt;= #{dayStr} OR YEAR(m.create_time_)=3000)
 			</if>
 		GROUP BY
 			su.organ_id_
@@ -342,7 +368,7 @@
 	<select id="getStudentConversionData" resultMap="IndexBaseMonthData">
 		SELECT
 			cs.organ_id_,
-			CONCAT( #{month}, '-01' ) month_,
+			#{dayStr} month_,
 			COUNT( DISTINCT m.user_id_ ) total_num_,
 			COUNT( DISTINCT m.user_id_ ) activate_num_,
 			COUNT( DISTINCT m.user_id_ ) percent_
@@ -360,6 +386,7 @@
 			<foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
 				#{studentId}
 			</foreach>
+			AND DATE_FORMAT(m.create_time_, '%Y-%m-%d')&lt;=#{dayStr}
 		GROUP BY
 			cs.organ_id_
 		ORDER BY
@@ -369,7 +396,7 @@
 	<select id="getMusicGroupPreRegistrationStudentData" resultMap="IndexBaseMonthData">
 		SELECT
 			mg.organ_id_,
-			CONCAT( #{month}, '-01' ) month_,
+			#{dayStr} month_,
 			COUNT( DISTINCT spr.user_id_ ) total_num_,
 			COUNT( DISTINCT spr.user_id_ ) activate_num_,
 			COUNT( DISTINCT spr.user_id_ ) percent_
@@ -380,7 +407,7 @@
 			mg.del_flag_ = 0
 			AND mg.organ_id_ IS NOT NULL
 		  	AND mg.status_ = 'PROGRESS'
-			AND DATE_FORMAT( spr.create_time_, '%Y-%m' ) &lt;= #{month}
+			AND DATE_FORMAT( spr.create_time_, '%Y-%m-%d' ) &lt;= #{dayStr}
 		GROUP BY
 			mg.organ_id_
 		ORDER BY
@@ -390,7 +417,7 @@
 	<select id="getMusicGroupStudentFromPreData" resultMap="IndexBaseMonthData">
 		SELECT
 			mg.organ_id_,
-			CONCAT( #{month}, '-01' ) month_,
+			#{dayStr} month_,
 			COUNT( DISTINCT sr.user_id_ ) total_num_,
 			COUNT( DISTINCT sr.user_id_ ) activate_num_,
 			COUNT( DISTINCT sr.user_id_ ) percent_
@@ -409,7 +436,7 @@
 				AND sr.music_group_status_ IN ('NORMAL')
 				AND sr.payment_status_ = #{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 			</if>
-			AND DATE_FORMAT( sr.create_time_, '%Y-%m' ) &lt;= #{month}
+			AND DATE_FORMAT( sr.create_time_, '%Y-%m-%d' ) &lt;= #{dayStr}
 		GROUP BY
 			mg.organ_id_
 		ORDER BY
@@ -434,7 +461,7 @@
 				AND sr.music_group_status_ IN ('NORMAL')
 				AND sr.payment_status_ = #{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 			</if>
-			AND DATE_FORMAT( sr.create_time_, '%Y-%m' ) &lt;= #{month}
+			AND DATE_FORMAT( sr.create_time_, '%Y-%m-%d' ) &lt;= #{dayStr}
 	</select>
 
 	<select id="countLessThenThreeClassGroupNum" resultType="int">

+ 6 - 5
mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java

@@ -2,6 +2,7 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.page.IndexDataQueryInfo;
 import com.ym.mec.biz.service.EmployeeService;
 import com.ym.mec.biz.service.IndexBaseMonthDataService;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -116,25 +117,25 @@ public class IndexController extends BaseController {
 	}
 
 	@GetMapping("/newIndex")
-	public HttpResponseResult newIndex(String dataTypes, String organId, Integer year){
+	public HttpResponseResult newIndex(IndexDataQueryInfo indexDataQueryInfo){
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
 		if (!sysUser.getIsSuperAdmin()) {
 			Employee employee = employeeService.get(sysUser.getId());
-			if (StringUtils.isBlank(organId)) {
-				organId = employee.getOrganIdList();
+			if (StringUtils.isBlank(indexDataQueryInfo.getOrganId())) {
+				indexDataQueryInfo.setOrganId(employee.getOrganIdList());
 			}else if(StringUtils.isEmpty(employee.getOrganIdList())){
 				return failed("用户所在分部异常");
 			}else {
 				List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-				if(!list.containsAll(Arrays.asList(organId.split(",")))){
+				if(!list.containsAll(Arrays.asList(indexDataQueryInfo.getOrganId().split(",")))){
 					return failed("非法请求");
 				}
 			}
 		}
-		return succeed(indexService.getIndexBaseData(dataTypes , organId, year));
+		return succeed(indexService.getIndexBaseData(indexDataQueryInfo));
 	}
 
 	@GetMapping("/hasIndexErrData")