Commit 0e76f13c authored by ryzeycy's avatar ryzeycy

xx

parent 2bd72f88
......@@ -23,7 +23,7 @@ import java.util.stream.Collectors;
@RestController
@RequestMapping("/pdf321312")
@RequestMapping("/pdf")
public class GeneratorAllTypePdfByProvinceXxController {
private static final Logger logger = LoggerFactory.getLogger(GeneratorAllTypePdfByProvinceXxController.class);
......
......@@ -14,74 +14,75 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@SpringBootTest
public class Garbge {
// knowledge_region_excellent
@Test
public void meanRegion(){
public void meanRegion() {
String suffix = "202512";
JdbcTemplate jdbcTemplate = MyDataSourceConfig.getReportJdbcTemplate();
NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate);
String sql = "select region1 from base_school_subject_tda20251023 where subject_type = '常规' group by region1";
String sql = "select region1 from base_school_subject_tda"+suffix+" where subject_type = '常规' group by region1";
List<String> regions = jdbcTemplate.queryForList(sql, String.class);
for (String region : regions) {
meanRegionTest(region,namedParameterJdbcTemplate);
meanRegionTest(region, namedParameterJdbcTemplate,suffix);
}
}
public void meanRegionTest(String region, NamedParameterJdbcTemplate reportJdbcTemplate){
public void meanRegionTest(String region, NamedParameterJdbcTemplate reportJdbcTemplate,String suffix) {
String sql = "select \n" +
"knowledge,\n" +
"stu_kn_score_rate,\n" +
"sub_subject,\n" +
"stu_id\n" +
"from\n" +
"base_student_knowledge_tda20251023\n" +
"base_student_knowledge_tda"+suffix+"\n" +
"where\n" +
"region1 = '"+region+"' and subject_type = '常规'";
"region1 = '" + region + "' and subject_type = '常规'";
List<DtoKn> list = reportJdbcTemplate.query(sql,new BeanPropertyRowMapper<>(DtoKn.class));
List<DtoKn> list = reportJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(DtoKn.class));
Map<String, List<DtoKn>> collect = list.stream().collect(Collectors.groupingBy(DtoKn::getSubSubject));
for (String subject : collect.keySet()) {
List<DtoKn> subjectLis =collect.get(subject);
List<DtoKn> subjectLis = collect.get(subject);
String sql2 = "select \n" +
"stu_id\n" +
"from \n" +
"base_student_subject_tda20251023\n" +
"base_student_subject_tda"+suffix+"\n" +
"where\n" +
"sub_subject = '"+subject+"'\n" +
"sub_subject = '" + subject + "'\n" +
"and\n" +
"subject_type = '常规'\n" +
"and\n" +
"region1= '"+region+"'\n" +
"region1= '" + region + "'\n" +
"and \n" +
"stu_subject_score_rate_region_pct_rank >= 0.73";
List<String> ids = reportJdbcTemplate.queryForList(sql2,new HashMap<>(),String.class);
List<String> ids = reportJdbcTemplate.queryForList(sql2, new HashMap<>(), String.class);
List<DtoKn> collect1 = subjectLis.stream().filter(x -> ids.contains(x.getStuId())).collect(Collectors.toList());
Map<String, List<DtoKn>> collect2 = collect1.stream().collect(Collectors.groupingBy(DtoKn::getKnowledge));
for (String knowledge : collect2.keySet()) {
//优生知识点层级
List<DtoKn> dataList = collect2.get(knowledge);
Double sumRate = dataList.stream().mapToDouble(DtoKn::getStuKnScoreRate).sum();
Double resultRate = sumRate/dataList.size();
if(Double.isNaN(resultRate)||Double.isInfinite(resultRate)){
Double resultRate = sumRate / dataList.size();
if (Double.isNaN(resultRate) || Double.isInfinite(resultRate)) {
resultRate = 0.0;
}
HashMap paramsYi = new HashMap(){{
put("subSubject",subject);
put("knowledge",knowledge);
put("region",region);
HashMap paramsYi = new HashMap() {{
put("subSubject", subject);
put("knowledge", knowledge);
put("region", region);
}};
paramsYi.put("rate",resultRate);
paramsYi.put("rate", resultRate);
reportJdbcTemplate.update("insert into knowledge_region_excellent20251023(sub_subject,knowledge,region,rate) value (:subSubject,:knowledge,:region,:rate)",new MapSqlParameterSource(paramsYi));
reportJdbcTemplate.update("insert into knowledge_region_excellent"+suffix+"(sub_subject,knowledge,region,rate) value (:subSubject,:knowledge,:region,:rate)", new MapSqlParameterSource(paramsYi));
}
......
......@@ -18,18 +18,20 @@ import java.util.stream.Collectors;
@SpringBootTest
public class NumberTwo {
// knowledge_province_excellent
@Test
public void ProvinceExKnow(){
public void ProvinceExKnow() {
String suffix = "202512";
JdbcTemplate jdbcTemplate = MyDataSourceConfig.getReportJdbcTemplate();
NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate);
String sql = "select region1 as region,province from base_school_subject_tda20251023_mix where subject_type = '常规' group by region1,province";
List<Params> paramsList = namedParameterJdbcTemplate.query(sql,new BeanPropertyRowMapper<>(Params.class));
String sql = "select region1 as region,province from base_school_subject_tda" + suffix + "_mix where subject_type = '常规' group by region1,province";
List<Params> paramsList = namedParameterJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Params.class));
for (Params param : paramsList) {
provinceExe(param.getRegion(),param.getProvince(),namedParameterJdbcTemplate);
provinceExe(param.getRegion(), param.getProvince(), namedParameterJdbcTemplate, suffix);
}
}
public void provinceExe(String region,String province,NamedParameterJdbcTemplate reportTemplate){
public void provinceExe(String region, String province, NamedParameterJdbcTemplate reportTemplate, String suffix) {
String sql = "select \n" +
"knowledge,\n" +
......@@ -37,28 +39,27 @@ public class NumberTwo {
"sub_subject,\n" +
"stu_id\n" +
"from\n" +
"base_student_knowledge_tda20251023_mix\n" +
"base_student_knowledge_tda" + suffix + "_mix\n" +
"where\n" +
"region1 = '"+region+"' and subject_type = '常规' and province = '"+province+"'";
"region1 = '" + region + "' and subject_type = '常规' and province = '" + province + "'";
List<DtoKn> list = reportTemplate.query(sql,new HashMap<>(),new BeanPropertyRowMapper<>(DtoKn.class));
List<DtoKn> list = reportTemplate.query(sql, new HashMap<>(), new BeanPropertyRowMapper<>(DtoKn.class));
Map<String, List<DtoKn>> collect = list.stream().collect(Collectors.groupingBy(DtoKn::getSubSubject));
for (String subject : collect.keySet()) {
//单个科目
List<DtoKn> data = collect.get(subject);
String sql3 = "\t\t\t\tSELECT\n" +
List<DtoKn> data = collect.get(subject);
String sql3 = "\t\t\t\tSELECT\n" +
"\t\t\tstu_id \n" +
"\t\tFROM\n" +
"\t\t\tbase_student_subject_tda20251023_mix \n" +
"\t\t\tbase_student_subject_tda" + suffix + "_mix \n" +
"\t\tWHERE\n" +
"\t\t\tprovince = '"+province+"' \n" +
"\t\t\tAND region1 = '"+region+"' \n" +
"\t\t\tprovince = '" + province + "' \n" +
"\t\t\tAND region1 = '" + region + "' \n" +
"\t\t\tAND subject_type = '常规' \n" +
"\t\t\tAND exam_id = 'TDA20251023G12' \n" +
"\t\t\tAND sub_subject = '"+subject+"' \n" +
"\t\t\tAND sub_subject = '" + subject + "' \n" +
"\t\t\tAND stu_subject_score_rate_province_pct_rank >= (1-0.27) ";
List<String> ids = reportTemplate.queryForList(sql3,new HashMap<>(),String.class);
List<String> ids = reportTemplate.queryForList(sql3, new HashMap<>(), String.class);
List<DtoKn> collect1 = data.stream().filter(x -> ids.contains(x.getStuId())).collect(Collectors.toList());
......@@ -67,25 +68,24 @@ public class NumberTwo {
for (String knowledge : collect2.keySet()) {
List<DtoKn> goods = collect2.get(knowledge);
Double sumRate = goods.stream().mapToDouble(DtoKn::getStuKnScoreRate).sum();
Double result = sumRate/goods.size();
if(Double.isNaN(result)||Double.isInfinite(result)){
Double result = sumRate / goods.size();
if (Double.isNaN(result) || Double.isInfinite(result)) {
result = 0.0;
}
HashMap paramsYi = new HashMap(){{
put("subSubject",subject);
put("knowledge",knowledge);
put("region",region);
put("province",province);
HashMap paramsYi = new HashMap() {{
put("subSubject", subject);
put("knowledge", knowledge);
put("region", region);
put("province", province);
}};
paramsYi.put("rate",result);
paramsYi.put("rate", result);
reportTemplate.update("insert into knowledge_province_excellent20251023(sub_subject,knowledge,region,rate,province) value (:subSubject,:knowledge,:region,:rate,:province)",new MapSqlParameterSource(paramsYi));
reportTemplate.update("insert into knowledge_province_excellent" + suffix + "(sub_subject,knowledge,region,rate,province) value (:subSubject,:knowledge,:region,:rate,:province)", new MapSqlParameterSource(paramsYi));
}
}
}
}
......@@ -14,7 +14,7 @@ public class GenerateSchool {
public void GenerateSchool() {
JdbcTemplate reportJdbcTemplate = MyDataSourceConfig.getReportJdbcTemplate();
String examId = "TDA20251023G12";
String examId = "TDA202512G12";
// String examId = "TDA20250918G11";
String suffix = examId.replace("TDA", "").replace("G2", "").replace("G3", "").replace("G11", "").replace("G12", "");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment