From f505c6eab0da08dc7633594f49db72c9e120b4ad Mon Sep 17 00:00:00 2001 From: ilal <lalqqhy@163.com> Date: Tue, 24 Nov 2020 18:39:19 +0800 Subject: [PATCH] 提交修复BUG --- src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java | 18 +++++++++++++----- src/main/java/cn/timer/api/controller/kqgl/atttimer/LastMonthtimingExport.java | 16 +++++++++++----- src/main/java/cn/timer/api/controller/kqgl/atttimer/RealTimeUpdate.java | 11 ++++++++--- 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java b/src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java index 3eefe6d..edc0606 100644 --- a/src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java +++ b/src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java @@ -101,7 +101,7 @@ public class AttendanceTaskTiming{ //typeid:1-员工 2-考勤组 // @Scheduled(cron = "0 */5 * * * ?") -// @Scheduled(cron = "0 8 11 * * ?") +// @Scheduled(cron = "0 19 18 * * ?") @Scheduled(cron = "0 0 8,12,16,20 * * ?")//每天上午8、12点,下午16点,20点 执行 public void AttendanceTask() throws ParseException { @@ -171,8 +171,14 @@ public class AttendanceTaskTiming{ //目前为止打卡记录 List<PunchCardDetails> attendance = punchcarddetailsmapper.selectAttendanceDays(user.getEmpnum(), startDate, endDate); - //特殊日期中 为法定带薪休假的 - List<KqglAssoTeshu> fdjjr = KqglAssoTeshu.builder().build().selectList(new QueryWrapper<KqglAssoTeshu>().lambda().eq(KqglAssoTeshu::getKqzid, attgro.getId()).eq(KqglAssoTeshu::getLegalday, 1).eq(KqglAssoTeshu::getType, 2)); + int fdjjrnum = 0; + if(attgro != null) { + //特殊日期中 为法定带薪休假的 + List<KqglAssoTeshu> fdjjr = KqglAssoTeshu.builder().build().selectList(new QueryWrapper<KqglAssoTeshu>().lambda().eq(KqglAssoTeshu::getKqzid, attgro.getId()).eq(KqglAssoTeshu::getLegalday, 1).eq(KqglAssoTeshu::getType, 2)); + fdjjrnum = fdjjr.size(); + } + + int dkjl = 0;//目前为止打卡次数 int sbqkcs = 0,xbqkcs = 0,dk=0; @@ -181,7 +187,7 @@ public class AttendanceTaskTiming{ String[] dkjtts = new String[attendance.size()];//目前打卡日期明细 int bccs = 0; if(attendance.size() > 0) { - dkjl = attendance.size() + fdjjr.size(); + dkjl = attendance.size() + fdjjrnum; for(PunchCardDetails pcd:attendance){ AttendanceCardListDto attdate = MethodCall(org_code, user.getEmpnum(), pcd.getData()); List<AttSchedule> ashss = attdate.getAttsch();//获取今天应打卡时间 @@ -324,7 +330,9 @@ public class AttendanceTaskTiming{ } if(appmaps.length > 0) { for(String aa : ClockInTool.deleteArrayNull(zdxx)) { - appmaps = ClockInTool.doChinFilters(ClockInTool.deleteArrayNull(appmaps), aa); + if(appmaps.length > 0) { + appmaps = ClockInTool.doChinFilters(ClockInTool.deleteArrayNull(appmaps), aa); + } } } diff --git a/src/main/java/cn/timer/api/controller/kqgl/atttimer/LastMonthtimingExport.java b/src/main/java/cn/timer/api/controller/kqgl/atttimer/LastMonthtimingExport.java index 9c6d396..b30e6a5 100644 --- a/src/main/java/cn/timer/api/controller/kqgl/atttimer/LastMonthtimingExport.java +++ b/src/main/java/cn/timer/api/controller/kqgl/atttimer/LastMonthtimingExport.java @@ -93,7 +93,7 @@ public class LastMonthtimingExport { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); -// @Scheduled(cron = "0 48 16 * * ?") +// @Scheduled(cron = "0 31 18 * * ?") @Scheduled(cron = "0 0 4,20 * * ?")//每天上午4点,下午20点 执行 public void LastMonthtimingAttendanceTask() throws ParseException { @@ -161,8 +161,12 @@ public class LastMonthtimingExport { //目前为止打卡记录 List<PunchCardDetails> attendance = punchcarddetailsmapper.selectAttendanceDays(user.getEmpnum(), startDate, endDate); - //特殊日期中 为法定带薪休假的 - List<KqglAssoTeshu> fdjjr = KqglAssoTeshu.builder().build().selectList(new QueryWrapper<KqglAssoTeshu>().lambda().eq(KqglAssoTeshu::getKqzid, attgro.getId()).eq(KqglAssoTeshu::getLegalday, 1).eq(KqglAssoTeshu::getType, 2)); + int fdjjrnum = 0; + if(attgro != null) { + //特殊日期中 为法定带薪休假的 + List<KqglAssoTeshu> fdjjr = KqglAssoTeshu.builder().build().selectList(new QueryWrapper<KqglAssoTeshu>().lambda().eq(KqglAssoTeshu::getKqzid, attgro.getId()).eq(KqglAssoTeshu::getLegalday, 1).eq(KqglAssoTeshu::getType, 2)); + fdjjrnum = fdjjr.size(); + } int dkjl = 0;//目前为止打卡次数 int sbqkcs = 0,xbqkcs = 0,dk=0; @@ -171,7 +175,7 @@ public class LastMonthtimingExport { String[] dkjtts = new String[attendance.size()];//目前打卡日期明细 int bccs = 0; if(attendance.size() > 0) { - dkjl = attendance.size() + fdjjr.size(); + dkjl = attendance.size() + fdjjrnum; for(PunchCardDetails pcd:attendance){ AttendanceCardListDto attdate = MethodCall(org_code, user.getEmpnum(), pcd.getData()); List<AttSchedule> ashss = attdate.getAttsch();//获取今天应打卡时间 @@ -316,7 +320,9 @@ public class LastMonthtimingExport { // System.out.println(zdxx); if(appmaps.length > 0) { for(String aa : ClockInTool.deleteArrayNull(zdxx)) { - appmaps = ClockInTool.doChinFilters(ClockInTool.deleteArrayNull(appmaps), aa); + if(appmaps.length > 0) { + appmaps = ClockInTool.doChinFilters(ClockInTool.deleteArrayNull(appmaps), aa); + } } } diff --git a/src/main/java/cn/timer/api/controller/kqgl/atttimer/RealTimeUpdate.java b/src/main/java/cn/timer/api/controller/kqgl/atttimer/RealTimeUpdate.java index 20a1a31..66289cf 100644 --- a/src/main/java/cn/timer/api/controller/kqgl/atttimer/RealTimeUpdate.java +++ b/src/main/java/cn/timer/api/controller/kqgl/atttimer/RealTimeUpdate.java @@ -152,8 +152,13 @@ public class RealTimeUpdate{ //目前为止打卡记录 List<PunchCardDetails> attendance = punchcarddetailsmapper.selectAttendanceDays(user.getEmpnum(), startDate, endDateyesterday); - //特殊日期中 为法定带薪休假的 - List<KqglAssoTeshu> fdjjr = KqglAssoTeshu.builder().build().selectList(new QueryWrapper<KqglAssoTeshu>().lambda().eq(KqglAssoTeshu::getKqzid, attgro.getId()).eq(KqglAssoTeshu::getLegalday, 1).eq(KqglAssoTeshu::getType, 2)); + + int fdjjrnum = 0; + if(attgro != null) { + //特殊日期中 为法定带薪休假的 + List<KqglAssoTeshu> fdjjr = KqglAssoTeshu.builder().build().selectList(new QueryWrapper<KqglAssoTeshu>().lambda().eq(KqglAssoTeshu::getKqzid, attgro.getId()).eq(KqglAssoTeshu::getLegalday, 1).eq(KqglAssoTeshu::getType, 2)); + fdjjrnum = fdjjr.size(); + } int dkjl = 0;//目前为止打卡次数 int sbqkcs = 0,xbqkcs = 0,dk=0; @@ -162,7 +167,7 @@ public class RealTimeUpdate{ String[] dkjtts = new String[attendance.size()];//目前打卡日期明细 int bccs = 0; if(attendance.size() > 0) { - dkjl = attendance.size() + fdjjr.size(); + dkjl = attendance.size() + fdjjrnum; for(PunchCardDetails pcd:attendance){ AttendanceCardListDto attdate = MethodCall(org_code, user.getEmpnum(), pcd.getData()); List<AttSchedule> ashss = attdate.getAttsch();//获取今天应打卡时间 -- libgit2 0.26.0