瀏覽代碼

增加一些打印日志

seyason 2 年之前
父節點
當前提交
e611f90b17

+ 9 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -436,7 +436,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             if (userId == null) {
                 //获取企业下的全部员工
                 List<User> users = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).isNotNull("corpwx_userid").eq("is_active", 1));
-                System.out.println("获取考勤记录users size==" + users.size());
+                System.out.println("获取考勤记录users size==" + users.size()+", companyId="+companyId+", "+corpInfo.getCorpName());
                 corpwxUserIds = users.stream().map(User::getCorpwxUserid).collect(Collectors.toList());
                 totalLength = corpwxUserIds.size();
                 batchCount = totalLength / batchSize + (totalLength % batchSize == 0 ? 0 : 1);
@@ -834,6 +834,10 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                                     String dateEnd = localDate.getYear() + "/" + (isOldFormat ? s[2] : s[3]);
                                     LocalDate sDate = LocalDate.parse(dateStart, mdFormat);
                                     LocalDate eDate = LocalDate.parse(dateEnd, mdFormat);
+                                    //跨年情况的校验
+                                    if (eDate.isBefore(sDate)) {
+                                        eDate = eDate.plusYears(1);
+                                    }
                                     if (sDate.isEqual(eDate)) {
                                         //请假在一天内
                                         if (leaveEnd.equals("下午")) {
@@ -858,6 +862,10 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                                         if (showLog) System.out.println("跨天请假@@@@");
                                         if (showLog)
                                             System.out.println("当天==" + localDate + ", sDate=" + sDate + ", 比较=" + (localDate.isEqual(sDate)));
+                                        if (sDate.isAfter(eDate)) {
+                                            System.out.println("请假日期有误,開始日期="+dtf.format(sDate)+", 結束日期="+dtf.format(eDate));
+                                            break;
+                                        }
                                         //跨天请假,获取期间的非工作日,加进去
                                         List<LocalDate> localDates = WorkDayCalculateUtils.getNonWorkDaysListInRange(dtf.format(sDate) ,dtf.format(eDate));
                                         for (LocalDate curLdate : localDates) {

+ 4 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/WorkDayCalculateUtils.java

@@ -129,7 +129,11 @@ public class WorkDayCalculateUtils {
         int daysOffset = 0;
         LocalDate localStartDate = LocalDate.parse(startDate, dateTimeFormatter);
         LocalDate localEndDate = LocalDate.parse(endDate, dateTimeFormatter);
+        if (localEndDate.isBefore(localStartDate)) {
+            System.err.println("结束日期"+startDate+"不得小于开始日期"+endDate);
+        }
         List<LocalDate> list = new ArrayList<>();
+        int i = 0;
         while(true) {
             localStartDate = localStartDate.plusDays(daysOffset);
             if (!isWorkDay(localStartDate)) {