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