自动同步考勤定时任务
This commit is contained in:
parent
dada3a0633
commit
d69aa46e33
|
|
@ -0,0 +1,76 @@
|
|||
package com.engine.salary.timer;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.datacollection.param.AttendQuoteCheckOperationParam;
|
||||
import com.engine.salary.entity.datacollection.param.AttendQuoteDataSyncParam;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||
import com.engine.salary.service.SalarySobService;
|
||||
import com.engine.salary.service.impl.SalarySobServiceImpl;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.wrapper.AttendQuoteDataWrapper;
|
||||
import com.engine.salary.wrapper.AttendQuoteWrapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.hrm.User;
|
||||
import weaver.interfaces.schedule.BaseCronJob;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Harryxzy
|
||||
* @ClassName AutoSyncAttendQuoteData
|
||||
* @date 2023/08/11 9:53
|
||||
* @description 自动同步所有薪资账套的考勤引用
|
||||
*/
|
||||
public class AutoSyncAttendQuoteDataJob extends BaseCronJob {
|
||||
|
||||
private String date;
|
||||
|
||||
private SalarySobService getSalarySobService(User user) {
|
||||
return ServiceUtil.getService(SalarySobServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private AttendQuoteWrapper getAttendQuoteWrapper(User user) {
|
||||
return ServiceUtil.getService(AttendQuoteWrapper.class, user);
|
||||
}
|
||||
private AttendQuoteDataWrapper getAttendQuoteDataWrapper(User user) {
|
||||
return ServiceUtil.getService(AttendQuoteDataWrapper.class, user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
User tempUser = new User();
|
||||
tempUser.setUid(1);
|
||||
tempUser.setLoginid("sysadmin");
|
||||
// 获取所有的薪资账套
|
||||
List<SalarySobPO> salarySobList = getSalarySobService(tempUser).listAll();
|
||||
LocalDate localDate = SalaryDateUtil.dateToLocalDate(new Date());
|
||||
localDate.plusMonths(-1);
|
||||
if (StringUtils.isNotBlank(date)) {
|
||||
localDate = SalaryDateUtil.dateToLocalDate(SalaryDateUtil.dateStrToLocalDate(date));
|
||||
}
|
||||
String dateStr = SalaryDateUtil.getFormatYearMonth(localDate);
|
||||
BaseBean baseBean = new BaseBean();
|
||||
// 循环所有的账套
|
||||
salarySobList.stream().forEach(sob -> {
|
||||
// 校验是否可以操作
|
||||
Boolean canSync = getAttendQuoteWrapper(tempUser).checkOperation(AttendQuoteCheckOperationParam.builder()
|
||||
.salarySobId(sob.getId())
|
||||
.salaryYearMonthStr(dateStr)
|
||||
.build());
|
||||
if (canSync) {
|
||||
// 同步数据
|
||||
try {
|
||||
getAttendQuoteDataWrapper(tempUser).syncAttendQuoteData(AttendQuoteDataSyncParam.builder()
|
||||
.salarySobId(sob.getId())
|
||||
.salaryYearMonth(dateStr)
|
||||
.build());
|
||||
} catch (Exception e) {
|
||||
baseBean.writeLog("自动同步考勤数据出错:"+ e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue