|
@@ -118,7 +118,14 @@ public class AttendanceExceptionFacadeControllerBean extends AbstractAttendanceE
|
|
|
});
|
|
|
pushAttendanceExceptionData(syncAttendanceDataBeans, logInfo);
|
|
|
} catch (Exception e) {
|
|
|
- logger.error("员工个人异常提醒报错", e);
|
|
|
+ String message = e.getMessage();
|
|
|
+ logInfo.setPushStatus(CallStatusEnum.failure);
|
|
|
+ logInfo.setPushResult(message);
|
|
|
+ logger.error("员工个人异常提醒报错 " + message, e);
|
|
|
+ if (message.contains("connect timed out")) {
|
|
|
+ iAttendanceExceptionLog.save(logInfo);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
//保存消息记录
|
|
|
iAttendanceExceptionLog.save(logInfo);
|
|
@@ -195,7 +202,14 @@ public class AttendanceExceptionFacadeControllerBean extends AbstractAttendanceE
|
|
|
//写入提醒记录
|
|
|
addRemindRecord(ctx, yearMonth, personNumber);
|
|
|
} catch (Exception e) {
|
|
|
- logger.error("提醒员工累计异常报错: " + e.getMessage(), e);
|
|
|
+ String message = e.getMessage();
|
|
|
+ logInfo.setPushStatus(CallStatusEnum.failure);
|
|
|
+ logInfo.setPushResult(message);
|
|
|
+ logger.error("提醒员工累计异常报错: " + message, e);
|
|
|
+ if (message.contains("connect timed out")) {
|
|
|
+ iAttendanceExceptionLog.save(logInfo);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
//保存消息记录
|
|
|
iAttendanceExceptionLog.save(logInfo);
|
|
@@ -235,15 +249,15 @@ public class AttendanceExceptionFacadeControllerBean extends AbstractAttendanceE
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd E HH:mm:ss");
|
|
|
//获取考勤异常数据,本周周一至周五中心考勤异常数据
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
- Date endDate = calendar.getTime();
|
|
|
+ //Date endDate = calendar.getTime();
|
|
|
int intWeek = calendar.get(7);
|
|
|
calendar.add(Calendar.DAY_OF_WEEK, 2 - intWeek);
|
|
|
Date monday = calendar.getTime();
|
|
|
logger.error("_alertLeaderExceptionTotal startDate: " + sdf.format(monday));
|
|
|
- if (intWeek > 6) {
|
|
|
- calendar.add(Calendar.DAY_OF_WEEK, 4);
|
|
|
- endDate = calendar.getTime();
|
|
|
- }
|
|
|
+ //if (intWeek > 6) {
|
|
|
+ calendar.add(Calendar.DAY_OF_WEEK, 4);
|
|
|
+ Date endDate = calendar.getTime();
|
|
|
+ //}
|
|
|
logger.error("_alertLeaderExceptionTotal endDate: " + sdf.format(endDate));
|
|
|
//1.查询异常数据
|
|
|
Map<String, Map<String, Integer>> exceptionCountMap = new HashMap<>();
|
|
@@ -276,17 +290,6 @@ public class AttendanceExceptionFacadeControllerBean extends AbstractAttendanceE
|
|
|
//Integer personalRecheckCountEmployees = orgExceptionTimes.getOrDefault("personalRecheckCountEmployees", 0);
|
|
|
//异常人数
|
|
|
Integer exceptionEmployees = orgExceptionTimes.getOrDefault("exceptionEmployees", 0);
|
|
|
- //消息内容
|
|
|
-// String content = MessageFormat.format(NOTIFYALERTLEADEREXCEPTIONMSGTEMPLATE,
|
|
|
-// mondayFormat,
|
|
|
-// endDateFormat,
|
|
|
-// orgName,
|
|
|
-// attendanceCount,
|
|
|
-// exceptionEmployees,
|
|
|
-// lateEmployees,
|
|
|
-// earlyLeaveEmployees,
|
|
|
-// absentEmployees
|
|
|
-// );
|
|
|
//发送异常消息
|
|
|
JSONObject dingMsgBean = new JSONObject();
|
|
|
dingMsgBean.put("msgTempCode", "work_notice_01");
|
|
@@ -317,7 +320,14 @@ public class AttendanceExceptionFacadeControllerBean extends AbstractAttendanceE
|
|
|
});
|
|
|
pushAttendanceExceptionData(syncAttendanceDataBeans, logInfo);
|
|
|
} catch (Exception e) {
|
|
|
- logger.error("提醒中心负责人累计异常报错", e);
|
|
|
+ String message = e.getMessage();
|
|
|
+ logInfo.setPushStatus(CallStatusEnum.failure);
|
|
|
+ logInfo.setPushResult(message);
|
|
|
+ logger.error("提醒中心负责人累计异常报错 " + message, e);
|
|
|
+ if (message.contains("connect timed out")) {
|
|
|
+ iAttendanceExceptionLog.save(logInfo);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
//保存消息记录
|
|
|
iAttendanceExceptionLog.save(logInfo);
|
|
@@ -372,7 +382,7 @@ public class AttendanceExceptionFacadeControllerBean extends AbstractAttendanceE
|
|
|
result.get(personNumber).add(data);
|
|
|
}
|
|
|
if (PushTypeEnum.EMPLOYEEEXCEPTIONALERT.equals(pushType)) {
|
|
|
- String yearMonth = DateTimeUtils.format(startDate, "yyyy年M月");
|
|
|
+ String yearMonth = DateTimeUtils.format(startDate, "yyyy年MM月");
|
|
|
//获取提醒记录
|
|
|
Set<String> remindRecord = getRemindRecord(ctx, yearMonth);
|
|
|
//员工累计异常提醒
|
|
@@ -461,15 +471,20 @@ public class AttendanceExceptionFacadeControllerBean extends AbstractAttendanceE
|
|
|
Map<String, Set<String>> orgExceptionData = exceptionData.get(orgNumber);
|
|
|
Map<String, Integer> orgExceptionTimes = new HashMap<>();
|
|
|
//迟到人数
|
|
|
- orgExceptionTimes.put("lateEmployees", orgExceptionData.get("lateEmployees").size());
|
|
|
+ Set<String> lateEmployees = orgExceptionData.get("lateEmployees");
|
|
|
+ orgExceptionTimes.put("lateEmployees", lateEmployees != null ? lateEmployees.size() : 0);
|
|
|
//早退人数
|
|
|
- orgExceptionTimes.put("earlyLeaveEmployees", orgExceptionData.get("earlyLeaveEmployees").size());
|
|
|
+ Set<String> earlyLeaveEmployees = orgExceptionData.get("earlyLeaveEmployees");
|
|
|
+ orgExceptionTimes.put("earlyLeaveEmployees", earlyLeaveEmployees != null ? earlyLeaveEmployees.size() : 0);
|
|
|
//旷工人数
|
|
|
- orgExceptionTimes.put("absentEmployees", orgExceptionData.get("absentEmployees").size());
|
|
|
+ Set<String> absentEmployees = orgExceptionData.get("absentEmployees");
|
|
|
+ orgExceptionTimes.put("absentEmployees", absentEmployees != null ? absentEmployees.size() : 0);
|
|
|
//个人原因补卡人数
|
|
|
- orgExceptionTimes.put("personalRecheckCountEmployees", orgExceptionData.get("personalRecheckCountEmployees").size());
|
|
|
+ Set<String> personalRecheckCountEmployees = orgExceptionData.get("personalRecheckCountEmployees");
|
|
|
+ orgExceptionTimes.put("personalRecheckCountEmployees", personalRecheckCountEmployees != null ? personalRecheckCountEmployees.size() : 0);
|
|
|
//异常人数
|
|
|
- orgExceptionTimes.put("exceptionEmployees", orgExceptionData.get("exceptionEmployees").size());
|
|
|
+ Set<String> exceptionEmployees = orgExceptionData.get("exceptionEmployees");
|
|
|
+ orgExceptionTimes.put("exceptionEmployees", exceptionEmployees != null ? exceptionEmployees.size() : 0);
|
|
|
exceptionCountMap.put(orgNumber, orgExceptionTimes);
|
|
|
}
|
|
|
return result;
|
|
@@ -498,7 +513,11 @@ public class AttendanceExceptionFacadeControllerBean extends AbstractAttendanceE
|
|
|
data.setDepartmentName(iRowSet.getString("adminOrgName"));
|
|
|
data.setDepartmentManagerCode(iRowSet.getString("adminOrgLongNumber"));
|
|
|
data.setDepartmentSortCode(iRowSet.getString("sortCode"));
|
|
|
- data.setDepartmentManagerName(iRowSet.getString("displayName"));
|
|
|
+ String displayName = iRowSet.getString("displayName");
|
|
|
+ if (StringUtils.isNotBlank(displayName)) {
|
|
|
+ displayName = displayName.substring(displayName.indexOf("_") + 1, displayName.length());
|
|
|
+ }
|
|
|
+ data.setDepartmentManagerName(displayName);
|
|
|
StringBuilder attendanceResult = new StringBuilder();
|
|
|
int times = 0;
|
|
|
Map<String, Boolean> attendanceFlags = new LinkedHashMap<>();
|
|
@@ -635,9 +654,7 @@ public class AttendanceExceptionFacadeControllerBean extends AbstractAttendanceE
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
logger.error(e.getMessage(), e);
|
|
|
- logInfo.setPushStatus(CallStatusEnum.failure);
|
|
|
- logInfo.setPushResult("发送考勤异常消息报错: " + e.getMessage());
|
|
|
- throw new BOSException(e);
|
|
|
+ throw new BOSException("发送考勤异常消息报错: " + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -695,9 +712,7 @@ public class AttendanceExceptionFacadeControllerBean extends AbstractAttendanceE
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
logger.error(e.getMessage(), e);
|
|
|
- logInfo.setPushStatus(CallStatusEnum.failure);
|
|
|
- logInfo.setPushResult("推送考勤数据报错: " + e.getMessage());
|
|
|
- throw new BOSException(e);
|
|
|
+ throw new BOSException("推送考勤数据报错: " + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|