东方骏驰日期改造

东方骏驰
Chengliang 8 months ago
parent 33775509af
commit db81a00b41

@ -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<String, Object> saveSignData(List<SignDataPO> list,SignDataParams signDataParams){
Map<String,Object> 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<Integer> 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<SignDataPO> buildSignData(SignDataParams signDataParams) {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
List<SignDataPO> 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;
}

@ -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);
}
}

Loading…
Cancel
Save