优化
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
package com.ruoyi.fbs.domain.vo;
|
||||
|
||||
import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtDayAttendanceCountVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@ -27,7 +28,7 @@ public class AppTaskDetailAttendanceVO {
|
||||
private Integer reportToDutyRate= 0;
|
||||
|
||||
@ApiModelProperty("考勤列表")
|
||||
List<BgtAttendanceCountVO> countVOS;
|
||||
List<BgtDayAttendanceCountVO> countVOS;
|
||||
|
||||
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ import com.ruoyi.bgt.bo.BgtProjectRecruitQueryBo;
|
||||
import com.ruoyi.bgt.domain.BgtProjectRecruit;
|
||||
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
||||
import com.ruoyi.bgt.domain.dto.BgtWageApplicationQueryDTO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtDayAttendanceCountVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtWageApplicationListVO;
|
||||
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||
@ -209,19 +209,18 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
|
||||
if (taskBeginTime!=null &&taskBeginTime.isAfter(startTime)){
|
||||
startTime = taskBeginTime;
|
||||
}
|
||||
List<BgtAttendanceCountVO>
|
||||
countVOS = attendanceService.countByTaskId(id, startTime, date);
|
||||
if(CollectionUtil.isNotEmpty(countVOS)){
|
||||
BgtAttendanceCountVO vo = countVOS.get(0);
|
||||
appTaskDetailVO.setCountVOS(DataUtil.fillMissingDates(countVOS, startTime, date));
|
||||
appTaskDetailVO.setTotalNum(vo.getTotalNum());
|
||||
appTaskDetailVO.setReportToDutyNum(vo.getReportToDutyNum());
|
||||
if(vo.getTotalNum()!=0){
|
||||
int rate = new BigDecimal(vo.getReportToDutyNum()).divide(new BigDecimal(vo.getTotalNum()), 2, RoundingMode.HALF_UP)
|
||||
.multiply(new BigDecimal(100)).intValue();
|
||||
appTaskDetailVO.setReportToDutyRate(rate);
|
||||
}
|
||||
|
||||
List<BgtDayAttendanceCountVO> countVOS = attendanceService.countDayByTaskId(id, startTime, date);
|
||||
// 补充缺失的天数
|
||||
List<BgtDayAttendanceCountVO> bgtDayAttendanceCountVOS = DataUtil.fillMissingDates(countVOS, startTime, date);
|
||||
//查询当天的总人数
|
||||
Integer totalNum = attendanceService.dayTotalNum(id, date);
|
||||
appTaskDetailVO.setTotalNum(totalNum);
|
||||
//计算到岗率
|
||||
if(totalNum!=0){
|
||||
BgtDayAttendanceCountVO bgtDayAttendanceCountVO = bgtDayAttendanceCountVOS.get(bgtDayAttendanceCountVOS.size() - 1);
|
||||
int rate = new BigDecimal(bgtDayAttendanceCountVO.getReportToDutyNum()).divide(new BigDecimal(totalNum), 2, RoundingMode.HALF_UP)
|
||||
.multiply(new BigDecimal(100)).intValue();
|
||||
appTaskDetailVO.setReportToDutyRate(rate);
|
||||
}
|
||||
return appTaskDetailVO;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user