成本分析修改2
This commit is contained in:
@@ -22,6 +22,7 @@ import com.ruoyi.oa.domain.bo.SysOaCostBo;
|
||||
import com.ruoyi.oa.service.ISysOaCostService;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -254,7 +255,7 @@ public class SysOaCostServiceImpl implements ISysOaCostService {
|
||||
.collect(Collectors.groupingBy(
|
||||
SysOaAttendance::getUserId, // 按用户 ID 分组
|
||||
Collectors.summingDouble(attendance ->
|
||||
(attendance.getAttendanceDay() * attendance.getDayLength() * 9 + attendance.getHour())/9
|
||||
(attendance.getDayLength() * 9 + attendance.getHour())/9
|
||||
)
|
||||
));
|
||||
|
||||
@@ -271,12 +272,13 @@ public class SysOaCostServiceImpl implements ISysOaCostService {
|
||||
continue;
|
||||
}
|
||||
SysOaCostList sysOaCostList = new SysOaCostList();
|
||||
Double dayNum = daynumMap.get(userId) == null ? 0.0 : daynumMap.get(userId);
|
||||
Long laborCost = user.getLaborCost() == null ? 0L : user.getLaborCost();
|
||||
double dayNum = daynumMap.get(userId) == null ? 0.0 : daynumMap.get(userId);
|
||||
BigDecimal dayNumBigDecimal = new BigDecimal(dayNum);
|
||||
long laborCost = user.getLaborCost() == null ? 0L : user.getLaborCost();
|
||||
sysOaCostList.setUserId(userId);
|
||||
sysOaCostList.setNickName(user.getNickName());
|
||||
sysOaCostList.setLaborCost(laborCost * dayNum);
|
||||
sysOaCostList.setAttendanceNum(dayNum);
|
||||
sysOaCostList.setLaborCost(dayNumBigDecimal.multiply(BigDecimal.valueOf(laborCost)).setScale(1, RoundingMode.HALF_UP).doubleValue());
|
||||
sysOaCostList.setAttendanceNum(dayNumBigDecimal.setScale(1, RoundingMode.HALF_UP).doubleValue());
|
||||
UserCostList.add(sysOaCostList);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user