yusm 4 days ago
parent
commit
584e4618d7

+ 24 - 21
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserCorpwxTimeController.java

@@ -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 ="√";
                         }