|
@@ -23,9 +23,11 @@ import com.qmth.distributed.print.business.entity.TRExamStudent;
|
|
import com.qmth.distributed.print.business.mapper.TRBasicInfoMapper;
|
|
import com.qmth.distributed.print.business.mapper.TRBasicInfoMapper;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
|
+import com.qmth.teachcloud.common.entity.BasicCourse;
|
|
import com.qmth.teachcloud.common.entity.BasicSemester;
|
|
import com.qmth.teachcloud.common.entity.BasicSemester;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
|
+import com.qmth.teachcloud.common.service.BasicCourseService;
|
|
import com.qmth.teachcloud.common.service.BasicSemesterService;
|
|
import com.qmth.teachcloud.common.service.BasicSemesterService;
|
|
import com.qmth.teachcloud.common.util.GsonUtil;
|
|
import com.qmth.teachcloud.common.util.GsonUtil;
|
|
import com.qmth.teachcloud.common.util.JacksonUtil;
|
|
import com.qmth.teachcloud.common.util.JacksonUtil;
|
|
@@ -77,6 +79,9 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
@Resource
|
|
@Resource
|
|
ExamStudentService examStudentService;
|
|
ExamStudentService examStudentService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ BasicCourseService basicCourseService;
|
|
|
|
+
|
|
protected static final String tbBgColor = "F2F2F2";
|
|
protected static final String tbBgColor = "F2F2F2";
|
|
protected static final String tbPercentWidth = "100%";
|
|
protected static final String tbPercentWidth = "100%";
|
|
|
|
|
|
@@ -86,15 +91,18 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
* @param examId
|
|
* @param examId
|
|
* @param courseCode
|
|
* @param courseCode
|
|
* @param paperNumber
|
|
* @param paperNumber
|
|
|
|
+ * @param teachCourseId
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public TRBasicInfo queryByExamIdAndCourseCodeAndPaperNumber(Long examId, String courseCode, String paperNumber) {
|
|
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
- return trBasicInfoService.getOne(new QueryWrapper<TRBasicInfo>().lambda().eq(TRBasicInfo::getExamId, examId)
|
|
|
|
- .eq(TRBasicInfo::getCourseCode, courseCode)
|
|
|
|
- .eq(TRBasicInfo::getPaperNumber, paperNumber)
|
|
|
|
- .eq(TRBasicInfo::getCreateId, sysUser.getId()));
|
|
|
|
|
|
+ public TRBasicInfo queryBasicInfo(Long examId, String courseCode, String paperNumber, Long teachCourseId) {
|
|
|
|
+ QueryWrapper<TRBasicInfo> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.lambda().eq(TRBasicInfo::getExamId, examId).eq(TRBasicInfo::getCourseCode, courseCode);
|
|
|
|
+ if (Objects.nonNull(paperNumber)) {
|
|
|
|
+ queryWrapper.lambda().and(w -> w.eq(TRBasicInfo::getPaperNumber, paperNumber).or().isNull(TRBasicInfo::getPaperNumber));
|
|
|
|
+ }
|
|
|
|
+ queryWrapper.lambda().eq(TRBasicInfo::getTeachCourseId, teachCourseId);
|
|
|
|
+ return trBasicInfoService.getOne(queryWrapper);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -106,13 +114,16 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public ReportScoreViewDto getScoreList(TRBasicInfo trBasicInfo, MarkPaper markPaper) {
|
|
public ReportScoreViewDto getScoreList(TRBasicInfo trBasicInfo, MarkPaper markPaper) {
|
|
- FinalScoreDto finalScoreDto = tcFinalScoreService.finalScoreScoreOverView(trBasicInfo.getExamId(), trBasicInfo.getCourseCode(), trBasicInfo.getPaperNumber());
|
|
|
|
|
|
+ FinalScoreDto finalScoreDto = tcFinalScoreService.finalScoreScoreOverView(trBasicInfo.getExamId(), trBasicInfo.getCourseCode(), trBasicInfo.getPaperNumber(), trBasicInfo.getTeachCourseId());
|
|
Objects.requireNonNull(finalScoreDto, "未找到期末成绩分数信息");
|
|
Objects.requireNonNull(finalScoreDto, "未找到期末成绩分数信息");
|
|
|
|
|
|
ReportScoreViewDto reportScoreViewDto = null;
|
|
ReportScoreViewDto reportScoreViewDto = null;
|
|
- TCPaperStruct tcPaperStruct = tcPaperStructService.queryByExamIdAndCourseCodeAndPaperNumber(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getPaperNumber());
|
|
|
|
- markPaper = Objects.nonNull(tcPaperStruct) && Objects.nonNull(tcPaperStruct.getPaperStruct()) && Objects.nonNull(tcPaperStruct.getTotalScore()) ? new MarkPaper(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getPaperNumber(), tcPaperStruct.getTotalScore(), tcPaperStruct.getPassScore()) : markPaper;
|
|
|
|
- fillScoreRange(finalScoreDto, trBasicInfo.getExamId(), trBasicInfo.getPaperNumber(), markPaper);
|
|
|
|
|
|
+ TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getPaperNumber(), trBasicInfo.getTeachCourseId());
|
|
|
|
+ if (Objects.nonNull(tcPaperStruct) && Objects.nonNull(tcPaperStruct.getPaperStruct()) && Objects.nonNull(tcPaperStruct.getTotalScore())) {
|
|
|
|
+ BasicCourse basicCourse = basicCourseService.getByCode(trBasicInfo.getCourseCode());
|
|
|
|
+ markPaper = new MarkPaper(markPaper.getExamId(), markPaper.getCourseCode(), basicCourse.getName(), markPaper.getPaperNumber(), tcPaperStruct.getTotalScore(), tcPaperStruct.getPassScore());
|
|
|
|
+ }
|
|
|
|
+ fillScoreRange(finalScoreDto, trBasicInfo.getExamId(), trBasicInfo.getPaperNumber(), trBasicInfo.getTeachCourseId(), markPaper);
|
|
List<ScoreRangeVo> scoreRangeVoList = finalScoreDto.getScoreRange();
|
|
List<ScoreRangeVo> scoreRangeVoList = finalScoreDto.getScoreRange();
|
|
if (!CollectionUtils.isEmpty(scoreRangeVoList)) {
|
|
if (!CollectionUtils.isEmpty(scoreRangeVoList)) {
|
|
Integer failCount = scoreRangeVoList.get(0).getStudentCount();//第一行数据默认为不及格
|
|
Integer failCount = scoreRangeVoList.get(0).getStudentCount();//第一行数据默认为不及格
|
|
@@ -137,7 +148,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
public Map<String, Object> getReportCalculateParams(TRBasicInfo trBasicInfo, List<PaperStructDimensionResult> paperStructDimensionResultList, CourseWeightResult courseWeightResult) {
|
|
public Map<String, Object> getReportCalculateParams(TRBasicInfo trBasicInfo, List<PaperStructDimensionResult> paperStructDimensionResultList, CourseWeightResult courseWeightResult) {
|
|
Map<String, Object> paramsMap = new HashMap<>();
|
|
Map<String, Object> paramsMap = new HashMap<>();
|
|
//查询考生数据
|
|
//查询考生数据
|
|
- List<FinalScoreResult> finalScoreResultList = tcFinalScoreService.examStudentOverview(trBasicInfo.getExamId(), trBasicInfo.getCourseCode(), trBasicInfo.getPaperNumber());//考生成绩
|
|
|
|
|
|
+ List<FinalScoreResult> finalScoreResultList = tcFinalScoreService.examStudentOverview(trBasicInfo.getExamId(), trBasicInfo.getCourseCode(), trBasicInfo.getPaperNumber(), trBasicInfo.getTeachCourseId());//考生成绩
|
|
if (CollectionUtils.isEmpty(finalScoreResultList)) {
|
|
if (CollectionUtils.isEmpty(finalScoreResultList)) {
|
|
throw ExceptionResultEnum.ERROR.exception("成绩数据异常,平时成绩与期末成绩里考生名单不一致,请检查");
|
|
throw ExceptionResultEnum.ERROR.exception("成绩数据异常,平时成绩与期末成绩里考生名单不一致,请检查");
|
|
}
|
|
}
|
|
@@ -365,11 +376,12 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
* @param markPaper
|
|
* @param markPaper
|
|
* @param userId
|
|
* @param userId
|
|
* @param courseWeightResult
|
|
* @param courseWeightResult
|
|
|
|
+ * @param teachCourseId
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
- public TRBasicInfo getReportView(TRBasicInfo trBasicInfo, MarkPaper markPaper, Long userId, CourseWeightResult courseWeightResult) {
|
|
|
|
|
|
+ public TRBasicInfo getReportView(TRBasicInfo trBasicInfo, MarkPaper markPaper, Long userId, CourseWeightResult courseWeightResult, Long teachCourseId) {
|
|
BasicSemester basicSemester = basicSemesterService.selectByExamId(markPaper.getExamId());
|
|
BasicSemester basicSemester = basicSemesterService.selectByExamId(markPaper.getExamId());
|
|
Objects.requireNonNull(basicSemester, "未找到学期信息");
|
|
Objects.requireNonNull(basicSemester, "未找到学期信息");
|
|
|
|
|
|
@@ -378,7 +390,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
String teacher = Objects.nonNull(examStudentDto) ? examStudentDto.getTeacherNames() : null;
|
|
String teacher = Objects.nonNull(examStudentDto) ? examStudentDto.getTeacherNames() : null;
|
|
|
|
|
|
if (Objects.isNull(trBasicInfo)) {
|
|
if (Objects.isNull(trBasicInfo)) {
|
|
- trBasicInfo = new TRBasicInfo(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getCourseName(), markPaper.getPaperNumber(), basicSemester.getName(), teachingObject, teacher, null, userId);
|
|
|
|
|
|
+ trBasicInfo = new TRBasicInfo(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getCourseName(), markPaper.getPaperNumber(), teachCourseId, basicSemester.getName(), teachingObject, teacher, null, userId);
|
|
} else {
|
|
} else {
|
|
trBasicInfo.setBasicInfo(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getCourseName(), markPaper.getPaperNumber(), basicSemester.getName(), teachingObject, teacher, null);
|
|
trBasicInfo.setBasicInfo(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getCourseName(), markPaper.getPaperNumber(), basicSemester.getName(), teachingObject, teacher, null);
|
|
}
|
|
}
|
|
@@ -387,7 +399,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
trBasicInfo.getReportResult().setCourseBasicInfo(reportCourseBasicInfoDto);
|
|
trBasicInfo.getReportResult().setCourseBasicInfo(reportCourseBasicInfoDto);
|
|
|
|
|
|
//课程目标考核分布-题目信息
|
|
//课程目标考核分布-题目信息
|
|
- TCPaperStruct tcPaperStruct = tcPaperStructService.queryByExamIdAndCourseCodeAndPaperNumber(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getPaperNumber());
|
|
|
|
|
|
+ TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getPaperNumber(), teachCourseId);
|
|
if (Objects.isNull(tcPaperStruct) || Objects.isNull(tcPaperStruct.getPaperStructDimension())) {
|
|
if (Objects.isNull(tcPaperStruct) || Objects.isNull(tcPaperStruct.getPaperStructDimension())) {
|
|
throw ExceptionResultEnum.ERROR.exception("未找到试卷蓝图信息");
|
|
throw ExceptionResultEnum.ERROR.exception("未找到试卷蓝图信息");
|
|
}
|
|
}
|
|
@@ -800,16 +812,19 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
* @param examId
|
|
* @param examId
|
|
* @param courseCode
|
|
* @param courseCode
|
|
* @param paperNumber
|
|
* @param paperNumber
|
|
|
|
+ * @param teachCourseId
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
- public Boolean remove(Long examId, String courseCode, String paperNumber) {
|
|
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
- return trBasicInfoService.remove(new QueryWrapper<TRBasicInfo>().lambda().eq(TRBasicInfo::getExamId, examId)
|
|
|
|
- .eq(TRBasicInfo::getCourseCode, courseCode)
|
|
|
|
- .eq(TRBasicInfo::getPaperNumber, paperNumber)
|
|
|
|
- .eq(TRBasicInfo::getCreateId, sysUser.getId()));
|
|
|
|
|
|
+ public Boolean remove(Long examId, String courseCode, String paperNumber, Long teachCourseId) {
|
|
|
|
+ QueryWrapper<TRBasicInfo> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.lambda().eq(TRBasicInfo::getExamId, examId).eq(TRBasicInfo::getCourseCode, courseCode);
|
|
|
|
+ if (Objects.nonNull(paperNumber)) {
|
|
|
|
+ queryWrapper.lambda().and(w -> w.eq(TRBasicInfo::getPaperNumber, paperNumber).or().isNull(TRBasicInfo::getPaperNumber));
|
|
|
|
+ }
|
|
|
|
+ queryWrapper.lambda().eq(TRBasicInfo::getTeachCourseId, teachCourseId);
|
|
|
|
+ return trBasicInfoService.remove(queryWrapper);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -854,15 +869,16 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
* @param examId
|
|
* @param examId
|
|
* @param courseCode
|
|
* @param courseCode
|
|
* @param paperNumber
|
|
* @param paperNumber
|
|
|
|
+ * @param teachCourseId
|
|
* @param clearDimension
|
|
* @param clearDimension
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
- public void clearReportData(Long examId, String courseCode, String paperNumber, boolean clearDimension) {
|
|
|
|
- trExamStudentService.remove(examId, courseCode, paperNumber);
|
|
|
|
- trBasicInfoService.remove(examId, courseCode, paperNumber);
|
|
|
|
|
|
+ public void clearReportData(Long examId, String courseCode, String paperNumber, Long teachCourseId, boolean clearDimension) {
|
|
|
|
+ trExamStudentService.remove(examId, courseCode, paperNumber, teachCourseId);
|
|
|
|
+ trBasicInfoService.remove(examId, courseCode, paperNumber, teachCourseId);
|
|
if (clearDimension) {
|
|
if (clearDimension) {
|
|
- TCPaperStruct tcPaperStruct = tcPaperStructService.queryByExamIdAndCourseCodeAndPaperNumber(examId, courseCode, paperNumber);
|
|
|
|
|
|
+ TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(examId, courseCode, paperNumber, teachCourseId);
|
|
if (Objects.nonNull(tcPaperStruct)) {
|
|
if (Objects.nonNull(tcPaperStruct)) {
|
|
tcPaperStruct.setPaperStructDimension(null);
|
|
tcPaperStruct.setPaperStructDimension(null);
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
@@ -911,9 +927,10 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
* @param finalScoreDto
|
|
* @param finalScoreDto
|
|
* @param examId
|
|
* @param examId
|
|
* @param paperNumber
|
|
* @param paperNumber
|
|
|
|
+ * @param teachCourseId
|
|
* @param markPaper
|
|
* @param markPaper
|
|
*/
|
|
*/
|
|
- protected void fillScoreRange(FinalScoreDto finalScoreDto, Long examId, String paperNumber, MarkPaper markPaper) {
|
|
|
|
|
|
+ protected void fillScoreRange(FinalScoreDto finalScoreDto, Long examId, String paperNumber, Long teachCourseId, MarkPaper markPaper) {
|
|
//分数区间
|
|
//分数区间
|
|
Double passScore = markPaper.getPassScore();//及格分
|
|
Double passScore = markPaper.getPassScore();//及格分
|
|
Objects.requireNonNull(passScore, "及格分为空");
|
|
Objects.requireNonNull(passScore, "及格分为空");
|
|
@@ -927,20 +944,20 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
//开始、结束分数区间
|
|
//开始、结束分数区间
|
|
Double startInterval = 0.5d, endInterval = 9.5d, increaseStartScore = passScore - startInterval,
|
|
Double startInterval = 0.5d, endInterval = 9.5d, increaseStartScore = passScore - startInterval,
|
|
increaseEndScore = increaseStartScore + startInterval + endInterval;
|
|
increaseEndScore = increaseStartScore + startInterval + endInterval;
|
|
- scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, 1.0d, increaseStartScore));
|
|
|
|
|
|
+ scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, teachCourseId, 1.0d, increaseStartScore));
|
|
increaseStartScore = increaseStartScore + startInterval;
|
|
increaseStartScore = increaseStartScore + startInterval;
|
|
increaseEndScore = increaseStartScore + endInterval;
|
|
increaseEndScore = increaseStartScore + endInterval;
|
|
if (totalScore.doubleValue() - increaseEndScore.doubleValue() == startInterval || increaseEndScore.doubleValue() >= totalScore.doubleValue()) {
|
|
if (totalScore.doubleValue() - increaseEndScore.doubleValue() == startInterval || increaseEndScore.doubleValue() >= totalScore.doubleValue()) {
|
|
increaseEndScore = totalScore;
|
|
increaseEndScore = totalScore;
|
|
- scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, increaseStartScore, increaseEndScore));
|
|
|
|
|
|
+ scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, teachCourseId, increaseStartScore, increaseEndScore));
|
|
} else {
|
|
} else {
|
|
while (increaseEndScore.doubleValue() < totalScore.doubleValue()) {
|
|
while (increaseEndScore.doubleValue() < totalScore.doubleValue()) {
|
|
- scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, increaseStartScore, increaseEndScore));
|
|
|
|
|
|
+ scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, teachCourseId, increaseStartScore, increaseEndScore));
|
|
increaseStartScore = increaseEndScore + startInterval;
|
|
increaseStartScore = increaseEndScore + startInterval;
|
|
increaseEndScore = increaseStartScore + endInterval;
|
|
increaseEndScore = increaseStartScore + endInterval;
|
|
if (totalScore.doubleValue() - increaseEndScore.doubleValue() == startInterval || increaseEndScore.doubleValue() >= totalScore.doubleValue()) {
|
|
if (totalScore.doubleValue() - increaseEndScore.doubleValue() == startInterval || increaseEndScore.doubleValue() >= totalScore.doubleValue()) {
|
|
increaseEndScore = totalScore;
|
|
increaseEndScore = totalScore;
|
|
- scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, increaseStartScore, increaseEndScore));
|
|
|
|
|
|
+ scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, teachCourseId, increaseStartScore, increaseEndScore));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1055,12 +1072,13 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
* @param examId
|
|
* @param examId
|
|
* @param courseCode
|
|
* @param courseCode
|
|
* @param paperNumber
|
|
* @param paperNumber
|
|
|
|
+ * @param teachCourseId
|
|
* @param start
|
|
* @param start
|
|
* @param end
|
|
* @param end
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- protected ScoreRangeVo getScoreRangeVo(int toltal, Long examId, String courseCode, String paperNumber, Double start, Double end) {
|
|
|
|
- int count = tcFinalScoreService.getCountByScoreRange(examId, courseCode, paperNumber, start, end);
|
|
|
|
|
|
+ protected ScoreRangeVo getScoreRangeVo(int toltal, Long examId, String courseCode, String paperNumber, Long teachCourseId, Double start, Double end) {
|
|
|
|
+ int count = tcFinalScoreService.getCountByScoreRange(examId, courseCode, paperNumber, teachCourseId, start, end);
|
|
Double rate = null;
|
|
Double rate = null;
|
|
if (toltal != 0) {
|
|
if (toltal != 0) {
|
|
rate = new BigDecimal(count).divide(new BigDecimal(toltal), 2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).multiply(SystemConstant.PERCENT).doubleValue();
|
|
rate = new BigDecimal(count).divide(new BigDecimal(toltal), 2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).multiply(SystemConstant.PERCENT).doubleValue();
|