12-17-人员管理大屏-修复循环注入版-修复timeType版-消息回复-完善
This commit is contained in:
@ -2842,7 +2842,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
||||
public void getAttendanceInfo(Long projectId,Long timeType,Map<String, String> map){
|
||||
//构建数据
|
||||
//timeType 1:今天 2:本周 3:本月
|
||||
Long zrs = 0L; //总人数
|
||||
Long zrs; //总人数
|
||||
Long cqr = 0L; //出勤人数
|
||||
BigDecimal cql = BigDecimal.ZERO; //出勤率
|
||||
//查询此项目的所有人员
|
||||
@ -2875,8 +2875,8 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
||||
for (RyglWebSocketVo vo : fbList) {
|
||||
if (vo.getZrs()>0){
|
||||
vo.setDgl(
|
||||
//到岗人数/总人数 四舍五入 一位小数
|
||||
BigDecimal.valueOf(vo.getDgrs()).divide(BigDecimal.valueOf(vo.getZrs()), 1, RoundingMode.HALF_UP)
|
||||
//到岗人数/总人数 四舍五入 2位小数
|
||||
BigDecimal.valueOf(vo.getDgrs()).divide(BigDecimal.valueOf(vo.getZrs()), 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100))
|
||||
);
|
||||
}else {
|
||||
vo.setDgl(BigDecimal.ZERO);
|
||||
@ -2887,8 +2887,8 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
||||
for (RyglWebSocketVo vo : bzList) {
|
||||
if (vo.getZrs()>0){
|
||||
vo.setDgl(
|
||||
//到岗人数/总人数 四舍五入 一位小数
|
||||
BigDecimal.valueOf(vo.getDgrs()).divide(BigDecimal.valueOf(vo.getZrs()), 1, RoundingMode.HALF_UP)
|
||||
//到岗人数/总人数 四舍五入 2位小数
|
||||
BigDecimal.valueOf(vo.getDgrs()).divide(BigDecimal.valueOf(vo.getZrs()), 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100))
|
||||
);
|
||||
}else {
|
||||
vo.setDgl(BigDecimal.ZERO);
|
||||
@ -2897,12 +2897,16 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
||||
// zrs = zrs + vo.getZrs();
|
||||
}
|
||||
|
||||
//总人数
|
||||
zrs = (long) list.size() * timeType;
|
||||
//总出勤人
|
||||
cqr = fbcqr + bzcqr;
|
||||
//出勤率
|
||||
zrs = (long) list.size();
|
||||
if (zrs != 0L){
|
||||
cql = (BigDecimal.valueOf(fbcqr).add(BigDecimal.valueOf(bzcqr))).divide(BigDecimal.valueOf(zrs),1,RoundingMode.HALF_UP);
|
||||
cql = (BigDecimal.valueOf(fbcqr).add(BigDecimal.valueOf(bzcqr))).divide(BigDecimal.valueOf(zrs),2,RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
||||
}
|
||||
|
||||
|
||||
map.put("zrs", zrs.toString()); //总人数
|
||||
map.put("cqr", cqr.toString()); //出勤人数
|
||||
map.put("cql", cql.toString()); //出勤率
|
||||
|
||||
@ -240,15 +240,15 @@ public class BigScreenWebSocketServer {
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
int timeType = Math.toIntExact((Long) JSONUtil.parseObj(message).get("timeType"));
|
||||
String timeType = JSONUtil.parseObj(message).get("timeType").toString();
|
||||
//判断参数
|
||||
if (timeType != 1L && timeType != 2L && timeType != 3L) {
|
||||
if (Long.parseLong(timeType) != 1L && Long.parseLong(timeType) != 2L && Long.parseLong(timeType) != 3L) {
|
||||
throw new RuntimeException("时间类型参数错误");
|
||||
}
|
||||
//先获取左边坐标得到map
|
||||
Map<String, String> infoData = busAttendanceService.getRyglOnlineUserInfoData(projectId);
|
||||
//获取右边数据
|
||||
busAttendanceService.getAttendanceInfo(projectId, (long) timeType, infoData);
|
||||
busAttendanceService.getAttendanceInfo(projectId, Long.valueOf(timeType) , infoData);
|
||||
//返回数据
|
||||
maps.add(infoData);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user