Browse Source

feat:首页改版;
fix:调整合并课主课时被

Joburgess 4 năm trước cách đây
mục cha
commit
a377d21816

+ 7 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/IndexBaseDto.java

@@ -72,9 +72,13 @@ public class IndexBaseDto {
         this.indexMonthData = indexMonthData;
         if(!CollectionUtils.isEmpty(indexMonthData)){
             BigDecimal total = indexMonthData.stream().map(IndexBaseMonthData::getTotalNum).reduce(BigDecimal.ZERO, BigDecimal::add);
-            if(IndexDataType.ACTIVATION_RATE.equals(dataType)){
-                BigDecimal activateNum = indexMonthData.stream().map(IndexBaseMonthData::getActivateNum).reduce(BigDecimal.ZERO, BigDecimal::add);
-                this.percent = activateNum.divide(total, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_DOWN);
+            if(IndexDataType.ACTIVATION_RATE.equals(dataType)||IndexDataType.HOMEWORK_CREATE_RATE.equals(dataType)||IndexDataType.HOMEWORK_SUBMIT_RATE.equals(dataType)||IndexDataType.HOMEWORK_COMMENT_RATE.equals(dataType)){
+                if(total.compareTo(BigDecimal.ZERO)==0){
+                    this.percent = BigDecimal.ZERO;
+                }else{
+                    BigDecimal activateNum = indexMonthData.stream().map(IndexBaseMonthData::getActivateNum).reduce(BigDecimal.ZERO, BigDecimal::add);
+                    this.percent = activateNum.divide(total, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_DOWN);
+                }
             }else{
                 this.percent = total;
             }

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

@@ -141,7 +141,7 @@
 	<select id="getStudentSignUpData" resultMap="IndexBaseMonthData">
 		SELECT
 			organ_id_,
-			CONCAT(DATE_FORMAT(NOW(), '%Y-%m'), '-01') month_,
+			CONCAT(#{month}, '-01') 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_
@@ -150,7 +150,8 @@
 			del_flag_=0
 		  	AND organ_id_ IS NOT NULL
 			AND user_type_ LIKE '%STUDENT%'
-			AND YEAR(create_time_)=YEAR(NOW())
+			AND YEAR(create_time_)=YEAR(#{month})
+			AND MONTH(create_time_)&lt;=MONTH(#{month})
 		GROUP BY organ_id_
 		ORDER BY organ_id_;
 	</select>
@@ -158,7 +159,7 @@
 	<select id="getHomeworkData" resultMap="IndexBaseMonthData">
 		SELECT
 			su.organ_id_,
-			CONCAT(DATE_FORMAT(NOW(), '%Y-%m'), '-01') month_,
+			CONCAT(#{month}, '-01') month_,
 			<choose>
 				<when test="type == 'submit'">
 					SUM(sees.expect_exercises_num_) total_num_,
@@ -180,7 +181,8 @@
 		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(NOW())
+			AND YEAR(sees.monday_)=YEAR(#{month})
+			AND MONTH(sees.monday_)&lt;=MONTH(#{month})
 		GROUP BY su.organ_id_
 		ORDER BY su.organ_id_
 	</select>