|
@@ -3,6 +3,7 @@ package com.xjrsoft.module.student.service.impl;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
import com.xjrsoft.common.page.ConventPage;
|
|
import com.xjrsoft.common.page.ConventPage;
|
|
@@ -22,7 +23,9 @@ import com.xjrsoft.module.student.mapper.PbSemesterConfigMapper;
|
|
import com.xjrsoft.module.student.mapper.PbVXsxxsfytbMapper;
|
|
import com.xjrsoft.module.student.mapper.PbVXsxxsfytbMapper;
|
|
import com.xjrsoft.module.student.service.IPbVXsxxsfytbService;
|
|
import com.xjrsoft.module.student.service.IPbVXsxxsfytbService;
|
|
import com.xjrsoft.module.student.vo.BaseClassQfCountVo;
|
|
import com.xjrsoft.module.student.vo.BaseClassQfCountVo;
|
|
|
|
+import com.xjrsoft.module.student.vo.ClassQfPageVo;
|
|
import com.xjrsoft.module.student.vo.FeeDetailListVo;
|
|
import com.xjrsoft.module.student.vo.FeeDetailListVo;
|
|
|
|
+import com.xjrsoft.module.student.vo.PbStduyStatusVo;
|
|
import com.xjrsoft.module.student.vo.PbStudentCategoryVo;
|
|
import com.xjrsoft.module.student.vo.PbStudentCategoryVo;
|
|
import com.xjrsoft.module.student.vo.PbVXsxxsfytbExcelVo;
|
|
import com.xjrsoft.module.student.vo.PbVXsxxsfytbExcelVo;
|
|
import com.xjrsoft.module.student.vo.PbVXsxxsfytbFeeitemVo;
|
|
import com.xjrsoft.module.student.vo.PbVXsxxsfytbFeeitemVo;
|
|
@@ -293,4 +296,32 @@ public class PbVXsxxsfytbServiceImpl extends MPJBaseServiceImpl<PbVXsxxsfytbMapp
|
|
result.setInclusiveRatio(divide.doubleValue());
|
|
result.setInclusiveRatio(divide.doubleValue());
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public PbStduyStatusVo stduyStatusStat(PbVXsxxsfytbStatDto dto) {
|
|
|
|
+ List<StringCountVo> countVoList = pbVXsxxsfytbMapper.stduyStatusStat(dto);
|
|
|
|
+ PbStduyStatusVo result = new PbStduyStatusVo();
|
|
|
|
+ for (StringCountVo stringCountVo : countVoList) {
|
|
|
|
+ if("住宿".equals(stringCountVo.getName())){
|
|
|
|
+ result.setStayCount(stringCountVo.getCount());
|
|
|
|
+ }else if("走读".equals(stringCountVo.getName())){
|
|
|
|
+ result.setNotStayCount(stringCountVo.getCount());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Integer allCount = (result.getStayCount() == null?0:result.getStayCount())
|
|
|
|
+ + (result.getNotStayCount() == null?0:result.getNotStayCount());
|
|
|
|
+ BigDecimal divide = BigDecimal.ZERO;
|
|
|
|
+ if(allCount != 0){
|
|
|
|
+ divide = BigDecimal.valueOf(result.getStayCount()).divide(BigDecimal.valueOf(allCount), 4, RoundingMode.HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ result.setStayRatio(divide.doubleValue());
|
|
|
|
+
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Page<ClassQfPageVo> getClassQfPage(Page<ClassQfPageVo> page, PbVXsxxsfytbStatDto dto) {
|
|
|
|
+ return pbVXsxxsfytbMapper.getClassQfPage(page, dto);
|
|
|
|
+ }
|
|
}
|
|
}
|