main
黄海 5 months ago
parent 93abb895bd
commit 733a8282e0

@ -115,9 +115,9 @@ public class SyncDataEase {
int zhiBoCnt = 27;//直播课程数量
int zhuanTiLessonCnt = 180;//专题课数量
//计算每种课程的比例,保留到小数点后两位
double dianBoRatio = (double) dianBoCnt / (dianBoCnt + zhiBoCnt + zhuanTiLessonCnt) * 100;
double zhiBoRatio = (double) zhiBoCnt / (dianBoCnt + zhiBoCnt + zhuanTiLessonCnt) * 100;
double zhuanTiLessonRatio = (double) zhuanTiLessonCnt / (dianBoCnt + zhiBoCnt + zhuanTiLessonCnt) * 100;
double dianBoRatio = (double) dianBoCnt / (dianBoCnt + zhiBoCnt + zhuanTiLessonCnt) * 1;
double zhiBoRatio = (double) zhiBoCnt / (dianBoCnt + zhiBoCnt + zhuanTiLessonCnt) * 1;
double zhuanTiLessonRatio = (double) zhuanTiLessonCnt / (dianBoCnt + zhiBoCnt + zhuanTiLessonCnt) * 1;
//更新
String sql = Db.getSql("DataEase.updateDianBoLesson");
Db.use(MYSQL_DB).update(sql, dianBoCnt, dianBoRatio, "点播课");
@ -137,9 +137,9 @@ public class SyncDataEase {
int czCnt = list.get(1).getInt("cnt");
int gzCnt = list.get(2).getInt("cnt");
double xxRatio = (double) xxCnt / (xxCnt + czCnt + gzCnt) * 100;
double czRatio = (double) czCnt / (xxCnt + czCnt + gzCnt) * 100;
double gzRatio = (double) gzCnt / (xxCnt + czCnt + gzCnt) * 100;
double xxRatio = (double) xxCnt / (xxCnt + czCnt + gzCnt) * 1;
double czRatio = (double) czCnt / (xxCnt + czCnt + gzCnt) * 1;
double gzRatio = (double) gzCnt / (xxCnt + czCnt + gzCnt) * 1;
String sql = Db.getSql("DataEase.updateStageLessonSummary");
Db.use(MYSQL_DB).update(sql, xxCnt, xxRatio, "小学");
@ -173,18 +173,18 @@ public class SyncDataEase {
int g3 = list.get(9).getInt("cnt");
//按学段,比如小学一组,初中一组,高中一组,分别计算出每个年级在自己学段的占比,保留两位小数
double x3Ratio = (double) x3 / (x3 + x4 + x5 + x6) * 100;
double x4Ratio = (double) x4 / (x3 + x4 + x5 + x6) * 100;
double x5Ratio = (double) x5 / (x3 + x4 + x5 + x6) * 100;
double x6Ratio = (double) x6 / (x3 + x4 + x5 + x6) * 100;
double c1Ratio = (double) c1 / (c1 + c2 + c3) * 100;
double c2Ratio = (double) c2 / (c1 + c2 + c3) * 100;
double c3Ratio = (double) c3 / (c1 + c2 + c3) * 100;
double g1Ratio = (double) g1 / (g1 + g2 + g3) * 100;
double g2Ratio = (double) g2 / (g1 + g2 + g3) * 100;
double g3Ratio = (double) g3 / (g1 + g2 + g3) * 100;
double x3Ratio = (double) x3 / (x3 + x4 + x5 + x6) * 1;
double x4Ratio = (double) x4 / (x3 + x4 + x5 + x6) * 1;
double x5Ratio = (double) x5 / (x3 + x4 + x5 + x6) * 1;
double x6Ratio = (double) x6 / (x3 + x4 + x5 + x6) * 1;
double c1Ratio = (double) c1 / (c1 + c2 + c3) * 1;
double c2Ratio = (double) c2 / (c1 + c2 + c3) * 1;
double c3Ratio = (double) c3 / (c1 + c2 + c3) * 1;
double g1Ratio = (double) g1 / (g1 + g2 + g3) * 1;
double g2Ratio = (double) g2 / (g1 + g2 + g3) * 1;
double g3Ratio = (double) g3 / (g1 + g2 + g3) * 1;
String sql = Db.getSql("DataEase.updateNianJiLessonSummary");
Db.use(MYSQL_DB).update(sql, x3, x3Ratio, "小学", "三年级");

@ -185,13 +185,13 @@ ORDER BY
-- 学段应用分布
#sql("stageYingYingFenBu")
-- 小学
SELECT '小学' as stage_name, T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 100.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='2' AND T1.node_type=1 AND T1.subject_id IN ('213','241','214','264','215','225','228','224') GROUP BY T2.subject_name
SELECT '小学' as stage_name, T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 1.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='2' AND T1.node_type=1 AND T1.subject_id IN ('213','241','214','264','215','225','228','224') GROUP BY T2.subject_name
union all
-- 初中
SELECT '初中', T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 100.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='3' AND node_type=1 AND T1.subject_id IN ('313','314','341','316','317','318','321','320','364','325','322','324') GROUP BY T2.subject_name
SELECT '初中', T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 1.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='3' AND node_type=1 AND T1.subject_id IN ('313','314','341','316','317','318','321','320','364','325','322','324') GROUP BY T2.subject_name
union all
-- 高中
SELECT '高中', T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 100.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='4' AND node_type=1 AND T1.subject_id IN ('413','414','416','441','417','418','448','421','420','425','422','424') GROUP BY T2.subject_name
SELECT '高中', T2.subject_name,COUNT(DISTINCT lesson_id) as cnt,ROUND(COUNT(DISTINCT lesson_id) * 1.0 / SUM(COUNT(DISTINCT lesson_id)) OVER(),2) as percent FROM t_crawler_lesson T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='4' AND node_type=1 AND T1.subject_id IN ('413','414','416','441','417','418','448','421','420','425','422','424') GROUP BY T2.subject_name
#end
-- 更新学段应用分布
#sql("updateStageYingYongFenBu")
@ -225,19 +225,19 @@ ORDER BY
-- 小学
SELECT '小学' as stage_name,T2.subject_name,count(*) as total_cnt,
SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type=2) THEN 1 ELSE 0 END) as cover_cnt,
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 100.0 / COUNT(*),2) as cover_percent
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 1.0 / COUNT(*),2) as cover_percent
FROM t_crawler_structure_knowledge T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='2' AND T1.subject_id IN ('213','241','214','264','215','225','228','224') AND parent_id='-1' GROUP BY T2.subject_name
union all
-- 初中
SELECT '初中',T2.subject_name,count(*) as total_cnt,
SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type=2) THEN 1 ELSE 0 END) as cover_cnt,
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 100.0 / COUNT(*),2) as cover_percent
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 1.0 / COUNT(*),2) as cover_percent
FROM t_crawler_structure_knowledge T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='3' AND T1.subject_id IN ('313','314','341','316','317','318','321','320','364','325','322','324') AND parent_id='-1' GROUP BY T2.subject_name
union all
-- 高中
SELECT '高中',T2.subject_name,count(*) as total_cnt,
SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type=2) THEN 1 ELSE 0 END) as cover_cnt,
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 100.0 / COUNT(*),2) as cover_percent
ROUND(SUM(CASE WHEN T1.node_id IN (SELECT node_id FROM t_crawler_lesson WHERE node_type = 2) THEN 1 ELSE 0 END) * 1.0 / COUNT(*),2) as cover_percent
FROM t_crawler_structure_knowledge T1 INNER JOIN t_crawler_subject T2 ON T1.subject_id=T2.subject_id WHERE T1.stage_id='4' AND T1.subject_id IN ('413','414','416','441','417','418','448','421','420','425','422','424') AND parent_id='-1' GROUP BY T2.subject_name;
#end
-- 修改知识点覆盖率

Loading…
Cancel
Save