修复打卡数据同步考勤月

东方骏驰
Chengliang 1 year ago
parent 945c64e80b
commit e88632d12f

@ -2,24 +2,26 @@ package com.engine.kqsolution.service.impl;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import com.engine.core.impl.Service;
import com.engine.kqsolution.entity.SignDataPO;
import com.engine.kqsolution.entity.SignDataParams;
import com.engine.kqsolution.service.SignDataSummaryService;
import dm.jdbc.util.StringUtil;
import lombok.SneakyThrows;
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.format.DateTimeFormatter;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
/**
@ -54,11 +56,19 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma
String resourceId = String.valueOf(signDataPo.getResourceId());
Integer signMins = Util.getIntValue(signDataPo.getSignMins(),0);
double hours = (double) signMins / 60;
double workHours = 0;
if(hours>=4 && hours<8){
workHours = 4;
}else if(hours>=8 && hours<11){
workHours = 8;
}else if(hours>=11){
workHours = 11;
}
signDataPo.setCompany(Integer.parseInt(rcom.getSubCompanyID(resourceId)));
signDataPo.setDepartment(Integer.parseInt(rcom.getDepartmentID(resourceId)));
signDataPo.setJobTitle(Integer.parseInt(rcom.getJobTitle(resourceId)));
signDataPo.setSignHours(Double.parseDouble(decimalFormat.format(hours)));
signDataPo.setWorkHours(Double.parseDouble(decimalFormat.format(hours)));
signDataPo.setWorkHours(Double.parseDouble(decimalFormat.format(workHours)));
}
});
@ -101,8 +111,10 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma
private List<SignDataPO> buildSignData(SignDataParams signDataParams) {
RecordSet rs = new RecordSet();
List<SignDataPO> pos = new ArrayList<>();
String formatYearMonth = signDataParams.getAttendanceDate().substring(0,7);
String formatYearMonth = getFormatLocalDate(LocalDate.now(),MONTH_FORMATTER_PATTERN);
if (StringUtil.isNotEmpty(signDataParams.getAttendanceDate())) {
formatYearMonth = signDataParams.getAttendanceDate().substring(0,7);
}
if (CollectionUtils.isNotEmpty(signDataParams.getIds())) {
String ids = StringUtils.join(signDataParams.getIds(),",");
rs.executeQuery("select u.id,u.xm,u.kqrq,u.kqy,k.signindate,k.signintime,k.signoutdate,k.signouttime,k.signMins from uf_kqgs u inner join kq_format_detail k" +

Loading…
Cancel
Save