|
|
@@ -2679,28 +2679,31 @@ public class UserCorpwxTimeController {
|
|
|
if (time != null) {
|
|
|
String leaveType = StringUtils.hasText(time.getAskLeaveType()) ? time.getAskLeaveType().trim() : "";
|
|
|
if (time.getAskLeaveTime() != null && time.getAskLeaveTime() > 0) {
|
|
|
- Double askLeaveTime = time.getAskLeaveTime();
|
|
|
- BigDecimal decimal = new BigDecimal(askLeaveTime);
|
|
|
- BigDecimal bigDecimal = new BigDecimal(8);
|
|
|
- BigDecimal divide = decimal.divide(bigDecimal, 3,RoundingMode.HALF_UP);
|
|
|
- if ("年假".equals(leaveType)) {
|
|
|
- yearLeaveCount=yearLeaveCount.add(divide);
|
|
|
- } else if ("婚假".equals(leaveType)) {
|
|
|
- marriageLeaveCount=marriageLeaveCount.add(divide);
|
|
|
- } else if ("陪产假".equals(leaveType)) {
|
|
|
- paternityLeaveCount=paternityLeaveCount.add(divide);
|
|
|
- } else if ("产假".equals(leaveType)) {
|
|
|
- maternityLeaveCount=maternityLeaveCount.add(divide);
|
|
|
- } else if ("丧假".equals(leaveType)) {
|
|
|
- bereavementLeaveCount=bereavementLeaveCount.add(divide);
|
|
|
- } else if ("T".equals(leaveType)) {
|
|
|
- transferLeaveCount=transferLeaveCount.add(divide);
|
|
|
- } else if ("B".equals(leaveType)) {
|
|
|
- sickLeaveCount=sickLeaveCount.add(divide);
|
|
|
- } else if ("事假".equals(leaveType)) {
|
|
|
- personalLeaveCount=personalLeaveCount.add(divide);
|
|
|
+ //如果不是工作日 排除掉计算
|
|
|
+ if(WorkDayCalculateUtils.isWorkDay(date)){
|
|
|
+ Double askLeaveTime = time.getAskLeaveTime();
|
|
|
+ BigDecimal decimal = new BigDecimal(askLeaveTime);
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(8);
|
|
|
+ BigDecimal divide = decimal.divide(bigDecimal, 3,RoundingMode.HALF_UP);
|
|
|
+ if ("年假".equals(leaveType)) {
|
|
|
+ yearLeaveCount=yearLeaveCount.add(divide);
|
|
|
+ } else if ("婚假".equals(leaveType)) {
|
|
|
+ marriageLeaveCount=marriageLeaveCount.add(divide);
|
|
|
+ } else if ("陪产假".equals(leaveType)) {
|
|
|
+ paternityLeaveCount=paternityLeaveCount.add(divide);
|
|
|
+ } else if ("产假".equals(leaveType)) {
|
|
|
+ maternityLeaveCount=maternityLeaveCount.add(divide);
|
|
|
+ } else if ("丧假".equals(leaveType)) {
|
|
|
+ bereavementLeaveCount=bereavementLeaveCount.add(divide);
|
|
|
+ } else if ("T".equals(leaveType)) {
|
|
|
+ transferLeaveCount=transferLeaveCount.add(divide);
|
|
|
+ } else if ("B".equals(leaveType)) {
|
|
|
+ sickLeaveCount=sickLeaveCount.add(divide);
|
|
|
+ } else if ("事假".equals(leaveType)) {
|
|
|
+ personalLeaveCount=personalLeaveCount.add(divide);
|
|
|
+ }
|
|
|
+ value = leaveType+askLeaveTime;
|
|
|
}
|
|
|
- value = leaveType+askLeaveTime;
|
|
|
} else if (time.getWorkHours() != null && time.getWorkHours() > 0) {
|
|
|
value ="√";
|
|
|
}
|