|
|
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
+import com.xjrsoft.common.enums.ArchivesStatusEnum;
|
|
|
import com.xjrsoft.common.model.result.RT;
|
|
|
import com.xjrsoft.common.page.ConventPage;
|
|
|
import com.xjrsoft.common.page.PageOutput;
|
|
|
@@ -105,7 +106,13 @@ public class StudentStatisticsController {
|
|
|
leaveCount = classLeaveCount.get(record.getId());
|
|
|
}
|
|
|
record.setLeaveCount(leaveCount);
|
|
|
- record.setActualCount(notStayMap.get(record.getId()).size());
|
|
|
+ int actualCount = 0;
|
|
|
+ for (StudentOutInRecordVo outInRecordVo : notStayMap.get(record.getId())) {
|
|
|
+ if(outInRecordVo.getStatus() == 1){
|
|
|
+ actualCount ++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ record.setActualCount(actualCount);
|
|
|
|
|
|
Integer lateCount = 0;
|
|
|
for (StudentOutInRecordVo outInRecord : notStayMap.get(record.getId())) {
|
|
|
@@ -122,7 +129,7 @@ public class StudentStatisticsController {
|
|
|
record.setAbsenteeismCount(record.getStudentCount() - record.getLeaveCount() - record.getActualCount());
|
|
|
|
|
|
//计算出勤率
|
|
|
- BigDecimal divide = BigDecimal.valueOf(record.getActualCount()).divide(BigDecimal.valueOf(record.getStudentCount()), 2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal divide = BigDecimal.valueOf(record.getActualCount()).divide(BigDecimal.valueOf(record.getStudentCount()), 4, RoundingMode.HALF_UP);
|
|
|
record.setAttendanceRate(divide.doubleValue());
|
|
|
}
|
|
|
}
|
|
|
@@ -141,6 +148,7 @@ public class StudentStatisticsController {
|
|
|
.like(StrUtil.isNotEmpty(dto.getCredentialNumber()), User::getCredentialNumber, dto.getCredentialNumber())
|
|
|
.eq(StrUtil.isNotEmpty(dto.getStduyStatus()), BaseStudentSchoolRoll::getStduyStatus, dto.getStduyStatus())
|
|
|
.eq(ObjectUtil.isNotNull(dto.getClassId()), BaseStudentSchoolRoll::getClassId, dto.getClassId())
|
|
|
+ .eq(BaseStudentSchoolRoll::getArchivesStatus, ArchivesStatusEnum.FB2901.getCode())
|
|
|
.selectAs(BaseClass::getName, StudentStatisticsPageVo::getClassName)
|
|
|
.select("t3.name", StudentStatisticsPageVo::getTeacherName)
|
|
|
.selectAs(User::getName, StudentStatisticsPageVo::getStudentName)
|
|
|
@@ -257,7 +265,7 @@ public class StudentStatisticsController {
|
|
|
record.setAbsenteeismCount(record.getStudentCount() - record.getLeaveCount() - record.getActualCount());
|
|
|
|
|
|
//计算出勤率
|
|
|
- BigDecimal divide = BigDecimal.valueOf(record.getActualCount()).divide(BigDecimal.valueOf(record.getStudentCount()), 2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal divide = BigDecimal.valueOf(record.getActualCount()).divide(BigDecimal.valueOf(record.getStudentCount()), 4, RoundingMode.HALF_UP);
|
|
|
record.setAttendanceRate(divide.doubleValue());
|
|
|
}
|
|
|
}
|
|
|
@@ -328,7 +336,7 @@ public class StudentStatisticsController {
|
|
|
record.setAbsenteeismCount(record.getStudentCount() - record.getLeaveCount() - record.getActualCount());
|
|
|
|
|
|
//计算出勤率
|
|
|
- BigDecimal divide = BigDecimal.valueOf(record.getActualCount()).divide(BigDecimal.valueOf(record.getStudentCount()), 2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal divide = BigDecimal.valueOf(record.getActualCount()).divide(BigDecimal.valueOf(record.getStudentCount()), 4, RoundingMode.HALF_UP);
|
|
|
record.setAttendanceRate(divide.doubleValue());
|
|
|
}
|
|
|
}
|