12-22-大屏-人员管理-总人数更换计算方式

This commit is contained in:
2025-12-23 15:21:45 +08:00
parent 1a9d986a98
commit 57557b322b

View File

@ -2919,6 +2919,8 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
//总出勤人
long fbcqr = 0L;
long bzcqr = 0L;
long fbTotal = 0L; // 分包总人数
long bzTotal = 0L; // 班组总人数
//统计两个列表里的 到岗率
for (RyglWebSocketVo vo : fbList) {
if (vo.getZrs()>0){
@ -2930,7 +2932,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
vo.setDgl(BigDecimal.ZERO);
}
fbcqr = fbcqr + vo.getDgrs();
zrs = zrs + vo.getZrs();
fbTotal = fbTotal + vo.getZrs();
}
for (RyglWebSocketVo vo : bzList) {
if (vo.getZrs()>0){
@ -2942,11 +2944,13 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
vo.setDgl(BigDecimal.ZERO);
}
bzcqr = bzcqr + vo.getDgrs();
zrs = zrs + vo.getZrs();
bzTotal = bzTotal + vo.getZrs();
}
//总出勤人
cqr = fbcqr + bzcqr;
//总人数
zrs = fbTotal + bzTotal;
//出勤率
if (zrs != 0L){
cql = ((BigDecimal.valueOf(fbcqr).add(BigDecimal.valueOf(bzcqr)))).divide(BigDecimal.valueOf(zrs),2,RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));