|
@@ -24,16 +24,23 @@ import me.chanjar.weixin.cp.bean.oa.WxCpCheckinData;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
public class SapCheckService extends BaseService {
|
|
public class SapCheckService extends BaseService {
|
|
-
|
|
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
private WxUserService wxUserService;
|
|
private WxUserService wxUserService;
|
|
|
|
|
|
- public void saveAllUserCheckData(Date startDate, Date endDate) throws Exception {
|
|
|
|
|
|
+ public void saveCheckInOffOuts(String startDay, String endDay) throws Exception {
|
|
LoggerUtil.info("执行微信打卡开始" + DateUtil.getTime());
|
|
LoggerUtil.info("执行微信打卡开始" + DateUtil.getTime());
|
|
- // 清空表记录
|
|
|
|
- update("SapCheckMapper.truncateCheckin", null);
|
|
|
|
- update("SapCheckMapper.truncateCheckoff", null);
|
|
|
|
- update("SapCheckMapper.truncateCheckout", null);
|
|
|
|
|
|
+ Map<String, String> param = Maps.newHashMap();
|
|
|
|
+ param.put("startDay", startDay);
|
|
|
|
+ param.put("endDay", endDay);
|
|
|
|
+
|
|
|
|
+ // 重新生成制定日期范围内的打卡数据
|
|
|
|
+ update("SapCheckMapper.deleteCheckin", param);
|
|
|
|
+ update("SapCheckMapper.deleteCheckoff", param);
|
|
|
|
+ update("SapCheckMapper.deleteCheckout", param);
|
|
|
|
+
|
|
|
|
+ Date startDate = DateUtil.sdfTime.parse(startDay + " 00:00:00");
|
|
|
|
+ Date endDate = DateUtil.sdfTime.parse(endDay + " 23:59:59");
|
|
|
|
|
|
List<String> userIds = wxUserService.selectAllUserIds();
|
|
List<String> userIds = wxUserService.selectAllUserIds();
|
|
Map<String, List<String>> map = groupList(userIds);
|
|
Map<String, List<String>> map = groupList(userIds);
|
|
@@ -55,16 +62,14 @@ public class SapCheckService extends BaseService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- Map<String, String> param = Maps.newHashMap();
|
|
|
|
- param.put("startDay", DateUtil.getDay(startDate));
|
|
|
|
- param.put("endDay", DateUtil.getDay(endDate));
|
|
|
|
|
|
+
|
|
|
|
+ // 生成制定日期每天外出打开开始和结束时间
|
|
update("SapCheckMapper.deleteCheckoutStart", param);
|
|
update("SapCheckMapper.deleteCheckoutStart", param);
|
|
update("SapCheckMapper.deleteCheckoutEnd", param);
|
|
update("SapCheckMapper.deleteCheckoutEnd", param);
|
|
update("SapCheckMapper.saveCheckoutStart1", param);
|
|
update("SapCheckMapper.saveCheckoutStart1", param);
|
|
update("SapCheckMapper.saveCheckoutStart2", param);
|
|
update("SapCheckMapper.saveCheckoutStart2", param);
|
|
update("SapCheckMapper.saveCheckoutEnd", param);
|
|
update("SapCheckMapper.saveCheckoutEnd", param);
|
|
-
|
|
|
|
|
|
+
|
|
LoggerUtil.info("执行微信打卡结束" + DateUtil.getTime());
|
|
LoggerUtil.info("执行微信打卡结束" + DateUtil.getTime());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -81,7 +86,7 @@ public class SapCheckService extends BaseService {
|
|
}
|
|
}
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
- public void updateReportBaseData() throws Exception {
|
|
|
|
|
|
+ public void updateReportBaseData(String startDay, String endDay) throws Exception {
|
|
// 处理重复数据
|
|
// 处理重复数据
|
|
List<SapCheck> sapChecks = (List<SapCheck>) findList("SapCheckMapper.selectRepeatCheckin", null);
|
|
List<SapCheck> sapChecks = (List<SapCheck>) findList("SapCheckMapper.selectRepeatCheckin", null);
|
|
Set<String> checkinDays = Sets.newHashSet();
|
|
Set<String> checkinDays = Sets.newHashSet();
|
|
@@ -125,7 +130,7 @@ public class SapCheckService extends BaseService {
|
|
}
|
|
}
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
- public void saveReportResultData() throws Exception {
|
|
|
|
|
|
+ public void saveReportResultData(String startDay, String endDay) throws Exception {
|
|
// 生成报表数据
|
|
// 生成报表数据
|
|
update("SapCheckMapper.truncateCheckReport", null);
|
|
update("SapCheckMapper.truncateCheckReport", null);
|
|
update("SapCheckMapper.saveCheckReport", null);
|
|
update("SapCheckMapper.saveCheckReport", null);
|
|
@@ -153,7 +158,8 @@ public class SapCheckService extends BaseService {
|
|
checkReports = (List<SapCheckReport>) findList("SapCheckMapper.selectExceptionList", null);
|
|
checkReports = (List<SapCheckReport>) findList("SapCheckMapper.selectExceptionList", null);
|
|
for (SapCheckReport checkReport : checkReports) {
|
|
for (SapCheckReport checkReport : checkReports) {
|
|
// TODO 由于刚开始使用微信打开,所以特殊处理下,上下班只要一个正常就算正常或者有补卡
|
|
// TODO 由于刚开始使用微信打开,所以特殊处理下,上下班只要一个正常就算正常或者有补卡
|
|
- if (isOkWorkTime(checkReport) || isOkOffWorkTime(checkReport) || StringUtils.isNotBlank(checkReport.getBukaDay())) {
|
|
|
|
|
|
+ if (isOkWorkTime(checkReport) || isOkOffWorkTime(checkReport)
|
|
|
|
+ || StringUtils.isNotBlank(checkReport.getBukaDay())) {
|
|
update("SapCheckMapper.updateResultOk", checkReport.getId());
|
|
update("SapCheckMapper.updateResultOk", checkReport.getId());
|
|
}
|
|
}
|
|
}
|
|
}
|