From db81a00b41a852a04d8d0b019850b78d717cfa4b Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Fri, 23 Aug 2024 09:51:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9C=E6=96=B9=E9=AA=8F=E9=A9=B0=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SignDataSummaryServiceImpl.java | 26 ++++++++++++++++--- .../kqsolution/crob/SignDataSummaryCrob.java | 12 ++++++++- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/com/engine/kqsolution/service/impl/SignDataSummaryServiceImpl.java b/src/com/engine/kqsolution/service/impl/SignDataSummaryServiceImpl.java index f85b175..3a7bd00 100644 --- a/src/com/engine/kqsolution/service/impl/SignDataSummaryServiceImpl.java +++ b/src/com/engine/kqsolution/service/impl/SignDataSummaryServiceImpl.java @@ -2,6 +2,7 @@ package com.engine.kqsolution.service.impl; import cn.hutool.core.thread.ThreadUtil; +import com.alibaba.fastjson.JSON; import com.engine.core.impl.Service; import com.engine.kq.biz.KQShiftManagementComInfo; import com.engine.kq.biz.KQWorkTime; @@ -17,11 +18,13 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import weaver.conn.RecordSet; import weaver.conn.RecordSetTrans; +import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.resource.ResourceComInfo; import java.text.DecimalFormat; import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; @@ -155,6 +158,7 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma @SneakyThrows private Map saveSignData(List list,SignDataParams signDataParams){ Map data = new HashMap<>(4); + BaseBean bb = new BaseBean(); DecimalFormat decimalFormat = new DecimalFormat("0.00"); RecordSetTrans rst = new RecordSetTrans(); RecordSet rs = new RecordSet(); @@ -202,9 +206,11 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma item.getSignInTime(),item.getSignOutDate(),item.getSignOutTime(),item.getSignHours(),item.getWorkHours(),item.getId()); } }else { + //同一考勤日期执行多次 rst.executeUpdate("delete from uf_kqgs where kqrq = ? and zt = 0",signDataParams.getAttendanceDate()); + //获取锁定状态数据 List idList = new ArrayList<>(); rs.executeQuery(" select xm from uf_kqgs where kqrq = ?",signDataParams.getAttendanceDate()); @@ -216,14 +222,18 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma .filter(p -> !idList.contains(p.getResourceId())) .collect(Collectors.toList()); + + for (SignDataPO item : list) { - rst.executeUpdate("insert into uf_kqgs(formmodeid,xm,kqy,kqrq,zt,fb,bm,gw,qdrq,qdsj,qtrq,qtsj,dkgssc,sjgssc) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)",signDataParams.getFormModeId(),item.getResourceId(), - item.getAttendanceMonth(),item.getAttendanceDate(),item.getStatus(),item.getCompany(),item.getDepartment(), - item.getJobTitle(),item.getSignInDate(),item.getSignInTime(),item.getSignOutDate(),item.getSignOutTime(), - item.getSignHours(),item.getWorkHours()); + rst.executeUpdate("insert into uf_kqgs(formmodeid,xm,kqy,kqrq,zt,fb,bm,gw,qdrq,qdsj,qtrq,qtsj,dkgssc,sjgssc) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)", signDataParams.getFormModeId(), item.getResourceId(), + item.getAttendanceMonth(), item.getAttendanceDate(), item.getStatus(), item.getCompany(), item.getDepartment(), + item.getJobTitle(), item.getSignInDate(), item.getSignInTime(), item.getSignOutDate(), item.getSignOutTime(), + item.getSignHours(), item.getWorkHours()); } } rst.commit(); + bb.writeLog("定时任务同步全部执行成功"); + data.put("count",list.size()); }catch (Exception e) { rst.rollback(); @@ -238,6 +248,7 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma */ private List buildSignData(SignDataParams signDataParams) { RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); List pos = new ArrayList<>(); String formatYearMonth = getFormatLocalDate(LocalDate.now(),MONTH_FORMATTER_PATTERN); if (StringUtil.isNotEmpty(signDataParams.getAttendanceDate())) { @@ -292,9 +303,16 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma .signOutTime(signOutTime) .signMins(Util.null2String(rs.getString("signMins"))) .build(); + bb.writeLog("同步数据详情"+ JSON.toJSONString(build)); pos.add(build); } } + + //日志 + LocalDateTime now = LocalDateTime.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + String formattedDateTime = now.format(formatter); + bb.writeLog("打卡数据同步执行时间:"+formattedDateTime+"==数据size:"+ pos.size()); return pos; } diff --git a/src/weaver/interfaces/kqsolution/crob/SignDataSummaryCrob.java b/src/weaver/interfaces/kqsolution/crob/SignDataSummaryCrob.java index 520d980..aa8bebb 100644 --- a/src/weaver/interfaces/kqsolution/crob/SignDataSummaryCrob.java +++ b/src/weaver/interfaces/kqsolution/crob/SignDataSummaryCrob.java @@ -1,10 +1,15 @@ package weaver.interfaces.kqsolution.crob; +import com.alibaba.fastjson.JSON; import com.engine.kqsolution.entity.SignDataParams; import com.engine.kqsolution.service.impl.SignDataSummaryServiceImpl; +import com.weaver.general.BaseBean; +import weaver.common.DateUtil; import weaver.interfaces.schedule.BaseCronJob; import java.time.LocalDate; +import java.time.ZoneId; +import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.Objects; @@ -42,9 +47,11 @@ public class SignDataSummaryCrob extends BaseCronJob { public void execute() { SignDataSummaryServiceImpl summaryService = new SignDataSummaryServiceImpl(); + BaseBean bb = new BaseBean(); + if (Objects.isNull(attendanceDate)) { - attendanceDate = summaryService.getFormatLocalDate(LocalDate.now().minusDays(1),DATE_FORMATTER); + attendanceDate = DateUtil.getYesterday(); } SignDataParams build = SignDataParams.builder() @@ -52,6 +59,9 @@ public class SignDataSummaryCrob extends BaseCronJob { .attendanceDate(attendanceDate) .build(); + bb.writeLog("同步考勤数据参数:"+JSON.toJSONString(build)); + + summaryService.recordSignData(build); } }