diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/DBFImporter.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/DBFImporter.java index 5aa235c6..2c6dbf8a 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/DBFImporter.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/DBFImporter.java @@ -54,7 +54,7 @@ public class DBFImporter { //对学生信息进行检查 int entry = Integer.parseInt(entryDate); int year = DateUtils.getYear(); - if (entry<2015||entry>year+1||Pattern.compile("[a-zA-Z]").matcher(entryDate).find()) continue; + if (entry<2010||entry>year+1||Pattern.compile("[a-zA-Z]").matcher(entryDate).find()) continue; cet.setEntrydate(entryDate.substring(0, 4)); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java index 380e9a36..e2dcc2e4 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_4Service.java @@ -1,7 +1,14 @@ package org.jeecg.modules.service; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.Cet_4; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.entity.Cet_6; + +import java.util.Date; /** * @Description: cet_4 @@ -10,5 +17,6 @@ import com.baomidou.mybatisplus.extension.service.IService; * @Version: V1.0 */ public interface ICet_4Service extends IService { + public Result getRate(Cet_4 cet); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_6Service.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_6Service.java index 7cc5bff9..e31d15d3 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_6Service.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_6Service.java @@ -1,8 +1,14 @@ package org.jeecg.modules.service; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; + +import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.Cet_6; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Date; + /** * @Description: cet_6 * @Author: jeecg-boot @@ -10,5 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService; * @Version: V1.0 */ public interface ICet_6Service extends IService { - + public Result getRate(Cet_6 data); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_4ServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_4ServiceImpl.java index a1025f41..e5d13a2d 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_4ServiceImpl.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_4ServiceImpl.java @@ -1,19 +1,84 @@ package org.jeecg.modules.service.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; + + +import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.Cet_4; import org.jeecg.modules.mapper.Cet_4Mapper; import org.jeecg.modules.service.ICet_4Service; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Description: cet_4 * @Author: jeecg-boot - * @Date: 2024-03-26 + * @Date: 2024-03-26 * @Version: V1.0 */ @Service public class Cet_4ServiceImpl extends ServiceImpl implements ICet_4Service { + @Autowired + Cet_4Mapper cet4Mapper; + + public Result getRate(Cet_4 cet) { + JSONObject jsonObject = new JSONObject(); + //select count(*) from cet_4 where college ='?' and result>=425 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + //构造查询条件 + if (cet.getBatch() == null) { + //根据学院查人数 + queryWrapper.eq(Cet_4::getCollege, cet.getCollege()).ge(Cet_4::getResult, 425); + List result = cet4Mapper.selectList(queryWrapper); + Map> collect = result.stream().collect(Collectors.groupingBy(Cet_4::getCollege)); + for (Map.Entry> entry : collect.entrySet()) { + double sum = (double) getNum(cet); + double size = entry.getValue().size(); + double passRate = sum / size; + jsonObject.put(String.valueOf(entry.getKey()), + passRate); + } + + return Result.OK(jsonObject); + + } else if (cet.getCollege() == null) { + //根据批次查人数 + queryWrapper.eq(Cet_4::getBatch, cet.getBatch()).ge(Cet_4::getResult, 425); + List result = cet4Mapper.selectList(queryWrapper); + Map> collect = result.stream().collect(Collectors.groupingBy(Cet_4::getBatch)); + for (Map.Entry> entry : collect.entrySet()) { + double sum = (double) getNum(cet); + double size = entry.getValue().size(); + double passRate = sum / size; + jsonObject.put(String.valueOf(entry.getKey()), + passRate); + } + return Result.OK(jsonObject); + } + else return null; + + } + + + private long getNum(Cet_4 cet) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (cet.getCollege() == null) { + queryWrapper.eq(Cet_4::getBatch, cet.getBatch()); + } + if (cet.getBatch() == null) { + queryWrapper.eq(Cet_4::getCollege, cet.getCollege()); + } + return cet4Mapper.selectCount(queryWrapper); + } + } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_6ServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_6ServiceImpl.java index 398b0fae..78397c87 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_6ServiceImpl.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet_6ServiceImpl.java @@ -1,5 +1,10 @@ package org.jeecg.modules.service.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.Cet_6; import org.jeecg.modules.mapper.Cet_6Mapper; import org.jeecg.modules.service.ICet_6Service; @@ -7,6 +12,12 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * @Description: cet_6 * @Author: jeecg-boot @@ -15,5 +26,58 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; */ @Service public class Cet_6ServiceImpl extends ServiceImpl implements ICet_6Service { + @Resource + Cet_6Mapper cet6Mapper; + + @Override + public Result getRate(Cet_6 cet) { + JSONObject jsonObject = new JSONObject(); + //select count(*) from cet_6 where college ='?' and result>=425 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + //构造查询条件 + if (cet.getBatch() == null) { + //根据学院查人数 + queryWrapper.eq(Cet_6::getCollege, cet.getCollege()).ge(Cet_6::getResult, 425); + List result = cet6Mapper.selectList(queryWrapper); + Map> collect = result.stream().collect(Collectors.groupingBy(Cet_6::getCollege)); + for (Map.Entry> entry : collect.entrySet()) { + double sum = (double) getNum(cet); + double size = entry.getValue().size(); + double passRate = sum / size; + jsonObject.put(String.valueOf(entry.getKey()), + passRate); + } + + return Result.OK(jsonObject); + + } else if (cet.getCollege() == null) { + //根据批次查人数 + queryWrapper.eq(Cet_6::getBatch, cet.getBatch()).ge(Cet_6::getResult, 425); + List result = cet6Mapper.selectList(queryWrapper); + Map> collect = result.stream().collect(Collectors.groupingBy(Cet_6::getBatch)); + for (Map.Entry> entry : collect.entrySet()) { + double sum = (double) getNum(cet); + double size = entry.getValue().size(); + double passRate = sum / size; + jsonObject.put(String.valueOf(entry.getKey()), + passRate); + } + return Result.OK(jsonObject); + } + else return null; + + } + + + private long getNum(Cet_6 cet) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (cet.getCollege() == null) { + queryWrapper.eq(Cet_6::getBatch, cet.getBatch()); + } + if (cet.getBatch() == null) { + queryWrapper.eq(Cet_6::getCollege, cet.getCollege()); + } + return cet6Mapper.selectCount(queryWrapper); + } }