|
@@ -72,6 +72,8 @@ public class WorkScheduleAttendanceController {
|
|
|
private BusinessOutService businessOutService;
|
|
|
@Autowired
|
|
|
private RequestForLeaveInfoService requestForLeaveInfoService;
|
|
|
+ @Autowired
|
|
|
+ private HolidayInfoService holidayInfoService;
|
|
|
|
|
|
@Autowired
|
|
|
private OSSConfig ossConfig;
|
|
@@ -1996,21 +1998,9 @@ public class WorkScheduleAttendanceController {
|
|
|
return msgResult;
|
|
|
}
|
|
|
|
|
|
- public static void main(String[] args) {
|
|
|
- try {
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- Date t1 = sdf.parse("2021-06-01 00:00:00");
|
|
|
- Date t2 = sdf.parse("2021-08-31 23:59:59");
|
|
|
- int count = calculateNotSunDays(t1, t2);
|
|
|
- System.out.println("有多少天:" + count);
|
|
|
- }catch (Exception e){
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
//根据传入的查询日期 统计有多少天 除去周日
|
|
|
- public static int calculateNotSunDays(Date t1,Date t2){
|
|
|
- int holidays = 0;
|
|
|
+ public int calculateNotSunDays(Date t1,Date t2){
|
|
|
+ int workdays = 0;
|
|
|
try {
|
|
|
//初始化第一个日期
|
|
|
Calendar cal1 = Calendar.getInstance();
|
|
@@ -2026,7 +2016,6 @@ public class WorkScheduleAttendanceController {
|
|
|
cal1.setTime(date1);
|
|
|
cal2.setTime(date2);
|
|
|
|
|
|
-
|
|
|
//确定一个 大日期
|
|
|
if (cal1.compareTo(cal2) > 0) {
|
|
|
Calendar temp = cal1;
|
|
@@ -2034,24 +2023,25 @@ public class WorkScheduleAttendanceController {
|
|
|
cal2 = temp;
|
|
|
temp = null;
|
|
|
}
|
|
|
+
|
|
|
while (cal1.compareTo(cal2) <= 0) {
|
|
|
- //if (cal1.get(Calendar.DAY_OF_WEEK) == 1 || cal1.get(Calendar.DAY_OF_WEEK) == 7) {
|
|
|
-// System.out.println("日期1:" + new SimpleDateFormat("yyyy-MM-dd").format(cal1.getTime()));
|
|
|
-// System.out.println("日期2:" + Calendar.DAY_OF_WEEK);
|
|
|
-//
|
|
|
-// System.out.println("日期3:" + cal1.get(Calendar.DAY_OF_WEEK));
|
|
|
-// System.out.println("日期4:" + cal1.getTime());
|
|
|
+ //不是星期天
|
|
|
if (cal1.get(Calendar.DAY_OF_WEEK) != 1) {
|
|
|
- holidays++;
|
|
|
- System.out.println("周末:" + new SimpleDateFormat("yyyy-MM-dd").format(cal1.getTime()));
|
|
|
+ List<HolidayInfo> holidayInfoList = holidayInfoService.findByDate(cal1.getTime());
|
|
|
+
|
|
|
+ //不是节假日
|
|
|
+ if(holidayInfoList.size()==0){
|
|
|
+ workdays++;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
cal1.add(Calendar.DAY_OF_YEAR, 1);
|
|
|
}
|
|
|
}catch(Exception ex){
|
|
|
ex.printStackTrace();
|
|
|
}
|
|
|
|
|
|
- return holidays;
|
|
|
+ return workdays;
|
|
|
}
|
|
|
|
|
|
}
|