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