组织快照
This commit is contained in:
parent
dff42953b5
commit
de5af5f2c9
|
|
@ -221,6 +221,12 @@ public class HrmSnapshotPO {
|
|||
@ElogTransform(name = "职称")
|
||||
private Integer jobcall;
|
||||
|
||||
/**
|
||||
* 职称名称
|
||||
*/
|
||||
@ElogTransform(name = "职称名称")
|
||||
private String jobcallname;
|
||||
|
||||
/**
|
||||
* 工作级别
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -103,16 +103,16 @@ public class SalaryAcctEmployeeBO {
|
|||
.employeeId(emp.getEmployeeId())
|
||||
.employeeType(emp.isExtEmp() ? 1 : 0)
|
||||
.taxAgentId(taxAgentId)
|
||||
.departmentId(emp.getDepartmentId())
|
||||
.departmentName(emp.getDepartmentName())
|
||||
.jobcall(emp.getJobcall())
|
||||
.jobcallId(emp.getJobcallId())
|
||||
.jobtitleId(emp.getJobtitleId())
|
||||
.jobtitleName(emp.getJobtitleName())
|
||||
.subcompanyId(emp.getSubcompanyid())
|
||||
.subcompanyName(emp.getSubcompanyName())
|
||||
.status(emp.getStatus())
|
||||
.accountType(emp.getAccountType())
|
||||
// .departmentId(emp.getDepartmentId())
|
||||
// .departmentName(emp.getDepartmentName())
|
||||
// .jobcall(emp.getJobcall())
|
||||
// .jobcallId(emp.getJobcallId())
|
||||
// .jobtitleId(emp.getJobtitleId())
|
||||
// .jobtitleName(emp.getJobtitleName())
|
||||
// .subcompanyId(emp.getSubcompanyid())
|
||||
// .subcompanyName(emp.getSubcompanyName())
|
||||
// .status(emp.getStatus())
|
||||
// .accountType(emp.getAccountType())
|
||||
.creator(employeeId)
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
|
|
|
|||
|
|
@ -6,12 +6,14 @@ import com.engine.salary.entity.salaryformula.dto.SalaryFormulaEmployeeDTO;
|
|||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobBackItemPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
||||
import com.engine.salary.enums.UserStatusEnum;
|
||||
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
|
||||
import com.engine.salary.util.JsonUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collections;
|
||||
|
|
@ -115,8 +117,8 @@ public class SalaryAcctFormulaBO {
|
|||
.mobile(simpleEmployee.getMobile())
|
||||
.telephone(simpleEmployee.getTelephone())
|
||||
.sex(sexName)
|
||||
.status(simpleEmployee.getStatus())
|
||||
.statusName(simpleEmployee.getStatusName())
|
||||
.status(salaryAcctEmployeePO.getStatus())
|
||||
.statusName(UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(salaryAcctEmployeePO.getStatus(), "1"))))
|
||||
.accountType(simpleEmployee.getAccountType())
|
||||
.accountTypeName(simpleEmployee.getAccountTypeName())
|
||||
.departmentName(salaryAcctEmployeePO.getDepartmentName())
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ public interface HrmSnapshotMapper {
|
|||
*/
|
||||
List<HrmSnapshotPO> listAll();
|
||||
|
||||
List<HrmSnapshotPO> snapshot(List<Long> employeeIds, Date snapshotTime);
|
||||
List<HrmSnapshotPO> snapshot(@Param("employeeId")Long employeeId, @Param("snapshotTime")Date snapshotTime);
|
||||
|
||||
/**
|
||||
* 条件查询
|
||||
|
|
@ -42,12 +42,6 @@ public interface HrmSnapshotMapper {
|
|||
*/
|
||||
int insertIgnoreNull(HrmSnapshotPO hrmSnapshot);
|
||||
|
||||
/**
|
||||
* 批量插入
|
||||
*
|
||||
* @param hrmSnapshot
|
||||
*/
|
||||
void batchInsert(@Param("collection") List<HrmSnapshotPO> hrmSnapshot);
|
||||
|
||||
/**
|
||||
* 修改,修改所有字段
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@
|
|||
<result column="ISLABOUUNION" property="islabouunion"/>
|
||||
<result column="JOBACTIVITYDESC" property="jobactivitydesc"/>
|
||||
<result column="JOBCALL" property="jobcall"/>
|
||||
<result column="jobcallname" property="jobcallname"/>
|
||||
<result column="JOBLEVEL" property="joblevel"/>
|
||||
<result column="JOBTITLE" property="jobtitle"/>
|
||||
<result column="JOBTITLENAME" property="jobtitlename"/>
|
||||
|
|
@ -107,6 +108,7 @@
|
|||
, t.ISLABOUUNION
|
||||
, t.JOBACTIVITYDESC
|
||||
, t.JOBCALL
|
||||
, t.jobcallname
|
||||
, t.JOBLEVEL
|
||||
, t.JOBTITLE
|
||||
, t.JOBTITLENAME
|
||||
|
|
@ -157,6 +159,8 @@
|
|||
<include refid="baseColumns"/>
|
||||
FROM hrsa_hrm_snapshot t
|
||||
WHERE snapshot_time >= #{snapshotTime}
|
||||
AND employee_id = #{employeeId}
|
||||
order by snapshot_time
|
||||
</select>
|
||||
|
||||
<!-- 根据主键获取单条记录 -->
|
||||
|
|
@ -269,6 +273,9 @@
|
|||
<if test="jobcall != null">
|
||||
AND JOBCALL = #{jobcall}
|
||||
</if>
|
||||
<if test="jobcallname != null">
|
||||
AND jobcallname = #{jobcallname}
|
||||
</if>
|
||||
<if test="joblevel != null">
|
||||
AND JOBLEVEL = #{joblevel}
|
||||
</if>
|
||||
|
|
@ -485,6 +492,9 @@
|
|||
<if test="jobcall != null">
|
||||
JOBCALL,
|
||||
</if>
|
||||
<if test="jobcallname != null">
|
||||
jobcallname,
|
||||
</if>
|
||||
<if test="joblevel != null">
|
||||
JOBLEVEL,
|
||||
</if>
|
||||
|
|
@ -688,6 +698,9 @@
|
|||
<if test="jobcall != null">
|
||||
#{jobcall},
|
||||
</if>
|
||||
<if test="jobcallname != null">
|
||||
#{jobcallname},
|
||||
</if>
|
||||
<if test="joblevel != null">
|
||||
#{joblevel},
|
||||
</if>
|
||||
|
|
@ -831,6 +844,7 @@
|
|||
ISLABOUUNION=#{islabouunion},
|
||||
JOBACTIVITYDESC=#{jobactivitydesc},
|
||||
JOBCALL=#{jobcall},
|
||||
jobcallname=#{jobcallname},
|
||||
JOBLEVEL=#{joblevel},
|
||||
JOBTITLE=#{jobtitle},
|
||||
JOBTITLENAME=#{jobtitlename},
|
||||
|
|
@ -968,6 +982,9 @@
|
|||
<if test="jobcall != null">
|
||||
JOBCALL=#{jobcall},
|
||||
</if>
|
||||
<if test="jobcallname != null">
|
||||
jobcallname=#{jobcallname},
|
||||
</if>
|
||||
<if test="joblevel != null">
|
||||
JOBLEVEL=#{joblevel},
|
||||
</if>
|
||||
|
|
@ -1148,6 +1165,7 @@
|
|||
,e.DEGREE
|
||||
,e.USEKIND
|
||||
,e.JOBCALL
|
||||
,job.NAME as jobcallname
|
||||
,e.ACCUMFUNDACCOUNT
|
||||
,e.BIRTHPLACE
|
||||
,e.FOLK
|
||||
|
|
@ -1177,6 +1195,7 @@
|
|||
left join hrmdepartment d on e.departmentid = d.id
|
||||
left join HrmSubCompany c on e.SUBCOMPANYID1=c.id
|
||||
left join hrmjobtitles j on e.jobtitle = j.id
|
||||
left join hrmjobcall job on e.jobcall=job.id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -9,6 +9,7 @@ import com.engine.salary.entity.hrm.dto.EmployeeInfoExpandDTO;
|
|||
import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam;
|
||||
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -181,4 +182,6 @@ public interface SalaryEmployeeService {
|
|||
* @return
|
||||
*/
|
||||
JobCallInfo getJobCallInfoById(Long jobCallId);
|
||||
|
||||
List<DataCollectionEmployee> snapshot(List<Long> employeeIds, Date snapshotTime);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import com.engine.common.util.ServiceUtil;
|
|||
import com.engine.core.impl.Service;
|
||||
import com.engine.hrmelog.entity.dto.LoggerContext;
|
||||
import com.engine.salary.config.SalaryElogConfig;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctConfig;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO;
|
||||
|
|
@ -154,24 +153,24 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
|
||||
@Override
|
||||
public void addFromReduce(SalaryAcctEmployeeAddParam addParam) {
|
||||
ValidUtil.doValidator(addParam);
|
||||
// 查询薪资核算记录
|
||||
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(addParam.getSalaryAcctRecordId());
|
||||
if (Objects.isNull(salaryAcctRecordPO)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
|
||||
}
|
||||
// 查询环比减少的薪资核算人员
|
||||
List<SalaryAcctEmployeePO> salaryAcctEmployeePOS = listByIds(addParam.getIds());
|
||||
if (CollectionUtils.isEmpty(salaryAcctEmployeePOS)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98830, "薪资核算人员不存在或已被删除"));
|
||||
}
|
||||
// 添加薪资核算人员
|
||||
Date now = new Date();
|
||||
List<SalaryAcctEmployeePO> newSalaryAcctEmployeePOS = salaryAcctEmployeePOS.stream().map(salaryAcctEmployeePO -> new SalaryAcctEmployeePO()
|
||||
.setSalaryAcctRecordId(salaryAcctRecordPO.getId()).setSalarySobId(salaryAcctRecordPO.getSalarySobId()).setSalaryMonth(salaryAcctRecordPO.getSalaryMonth()).setEmployeeId(salaryAcctEmployeePO.getEmployeeId()).setTaxAgentId(salaryAcctEmployeePO.getTaxAgentId()).setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).setCreateTime(now).setUpdateTime(now).setCreator((long) user.getUID()).setDeleteType(0)).collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(newSalaryAcctEmployeePOS)) {
|
||||
batchSave(newSalaryAcctEmployeePOS);
|
||||
}
|
||||
// ValidUtil.doValidator(addParam);
|
||||
// // 查询薪资核算记录
|
||||
// SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(addParam.getSalaryAcctRecordId());
|
||||
// if (Objects.isNull(salaryAcctRecordPO)) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
|
||||
// }
|
||||
// // 查询环比减少的薪资核算人员
|
||||
// List<SalaryAcctEmployeePO> salaryAcctEmployeePOS = listByIds(addParam.getIds());
|
||||
// if (CollectionUtils.isEmpty(salaryAcctEmployeePOS)) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98830, "薪资核算人员不存在或已被删除"));
|
||||
// }
|
||||
// // 添加薪资核算人员
|
||||
// Date now = new Date();
|
||||
// List<SalaryAcctEmployeePO> newSalaryAcctEmployeePOS = salaryAcctEmployeePOS.stream().map(salaryAcctEmployeePO -> new SalaryAcctEmployeePO()
|
||||
// .setSalaryAcctRecordId(salaryAcctRecordPO.getId()).setSalarySobId(salaryAcctRecordPO.getSalarySobId()).setSalaryMonth(salaryAcctRecordPO.getSalaryMonth()).setEmployeeId(salaryAcctEmployeePO.getEmployeeId()).setTaxAgentId(salaryAcctEmployeePO.getTaxAgentId()).setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).setCreateTime(now).setUpdateTime(now).setCreator((long) user.getUID()).setDeleteType(0)).collect(Collectors.toList());
|
||||
// if (CollectionUtils.isNotEmpty(newSalaryAcctEmployeePOS)) {
|
||||
// batchSave(newSalaryAcctEmployeePOS);
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -431,6 +430,9 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
if (CollectionUtils.isEmpty(salaryAcctEmployeePOS)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98769, "个税扣缴义务人下无该人员档案信息或薪资缴纳日期不在薪资周期内"));
|
||||
}
|
||||
|
||||
//替换快照数据
|
||||
shotEmpData(salaryAcctEmployeePOS, salarySobCycleDTO.getSalaryCycleFromDate());
|
||||
batchSave(salaryAcctEmployeePOS);
|
||||
|
||||
|
||||
|
|
@ -447,6 +449,24 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
SalaryElogConfig.salaryAcctRecordLoggerTemplate.write(loggerContext);
|
||||
}
|
||||
|
||||
private void shotEmpData(List<SalaryAcctEmployeePO> salaryAcctEmployeePOS, Date shotTime) {
|
||||
List<Long> employees = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getEmployeeId, Collectors.toList());
|
||||
List<DataCollectionEmployee> snapshot = getSalaryEmployeeService(user).snapshot(employees, shotTime);
|
||||
Map<Long, DataCollectionEmployee> shotEmpMap = SalaryEntityUtil.convert2Map(snapshot, DataCollectionEmployee::getEmployeeId);
|
||||
salaryAcctEmployeePOS.forEach(salaryAcctEmployeePO -> {
|
||||
DataCollectionEmployee shotEmp = shotEmpMap.getOrDefault(salaryAcctEmployeePO.getEmployeeId(), new DataCollectionEmployee());
|
||||
salaryAcctEmployeePO.setDepartmentId(shotEmp.getDepartmentId());
|
||||
salaryAcctEmployeePO.setDepartmentName(shotEmp.getDepartmentName());
|
||||
salaryAcctEmployeePO.setJobcall(shotEmp.getJobcall());
|
||||
salaryAcctEmployeePO.setJobcallId(shotEmp.getJobcallId());
|
||||
salaryAcctEmployeePO.setJobtitleId(shotEmp.getJobtitleId());
|
||||
salaryAcctEmployeePO.setJobtitleName(shotEmp.getJobtitleName());
|
||||
salaryAcctEmployeePO.setSubcompanyId(shotEmp.getSubcompanyid());
|
||||
salaryAcctEmployeePO.setSubcompanyName(shotEmp.getSubcompanyName());
|
||||
salaryAcctEmployeePO.setStatus(shotEmp.getStatus());
|
||||
salaryAcctEmployeePO.setAccountType(shotEmp.getAccountType());
|
||||
});
|
||||
}
|
||||
@Override
|
||||
public void batchSave(Collection<SalaryAcctEmployeePO> salaryAcctEmployeePOS) {
|
||||
if (CollectionUtils.isEmpty(salaryAcctEmployeePOS)) {
|
||||
|
|
@ -560,6 +580,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
|
||||
// 保存薪资核算人员
|
||||
if (CollectionUtils.isNotEmpty(salaryAcctEmployeePOS)) {
|
||||
shotEmpData(salaryAcctEmployeePOS, salarySobCycleDTO.getSalaryCycleFromDate());
|
||||
batchSave(salaryAcctEmployeePOS);
|
||||
}
|
||||
}
|
||||
|
|
@ -606,6 +627,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
List<Long> delIds = oldEmps.stream().filter(po -> !newEmpMap.containsKey(po.getTaxAgentId() + "_" + po.getEmployeeId())).map(SalaryAcctEmployeePO::getId).collect(Collectors.toList());
|
||||
|
||||
deleteByIds(delIds);
|
||||
shotEmpData(addEmps, salarySobCycleDTO.getSalaryCycleFromDate());
|
||||
batchSave(addEmps);
|
||||
}
|
||||
|
||||
|
|
@ -762,7 +784,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
list = list.stream().filter(po -> param.getEmployee().contains(po.getEmployeeId())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
if(isRealOrg){
|
||||
if (isRealOrg) {
|
||||
Set<Long> empIds = SalaryEntityUtil.properties(employeeList, DataCollectionEmployee::getEmployeeId);
|
||||
list = list.stream().filter(po -> empIds.contains(po.getEmployeeId())).collect(Collectors.toList());
|
||||
}
|
||||
|
|
@ -788,16 +810,16 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
throw new SalaryRunTimeException("锁定状态异常!");
|
||||
}
|
||||
|
||||
if (updateParam.getLockStatus() == LockStatusEnum.LOCK){
|
||||
if (updateParam.getLockStatus() == LockStatusEnum.LOCK) {
|
||||
SalaryAcctConfig salaryAcctSobConfig = getSalaryAcctSobConfigService(user).getSalaryAcctConfig(updateParam.getSalaryAcctRecordId());
|
||||
List<SalarySobItemPO> salarySobItems = salaryAcctSobConfig.getSalarySobItems();
|
||||
List<Long> itemIds = SalaryEntityUtil.properties(salarySobItems, SalarySobItemPO::getSalaryItemId,Collectors.toList());
|
||||
List<Long> itemIds = SalaryEntityUtil.properties(salarySobItems, SalarySobItemPO::getSalaryItemId, Collectors.toList());
|
||||
|
||||
salaryAcctEmployees.forEach(salaryAcctEmployeePO -> {
|
||||
salaryAcctEmployeePO.setLockItems(itemIds);
|
||||
lock(salaryAcctEmployeePO);
|
||||
});
|
||||
}else {
|
||||
} else {
|
||||
salaryAcctEmployees.forEach(salaryAcctEmployeePO -> {
|
||||
salaryAcctEmployeePO.setLockItems(new ArrayList<>());
|
||||
lock(salaryAcctEmployeePO);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.api.formmode.mybatis.util.SqlProxyHandle;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
|
|
@ -19,6 +20,7 @@ import com.engine.salary.entity.hrm.po.HrmSnapshotPO;
|
|||
import com.engine.salary.entity.salarysob.bo.SalarySobRangeBO;
|
||||
import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobRangePO;
|
||||
import com.engine.salary.enums.AccountTypeEnum;
|
||||
import com.engine.salary.enums.UserStatusEnum;
|
||||
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
|
||||
import com.engine.salary.enums.salarysob.TargetTypeEnum;
|
||||
|
|
@ -620,7 +622,49 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
|
|||
return SalaryI18nUtil.i18n(getEmployMapper().getJobCallInfoById(jobCallId));
|
||||
}
|
||||
|
||||
public List<HrmSnapshotPO> snapshot(List<Long> employeeIds, Date snapshotTime) {
|
||||
return getHrmSnapshotMapper().snapshot(employeeIds, snapshotTime);
|
||||
public List<DataCollectionEmployee> snapshot(List<Long> employeeIds, Date snapshotTime) {
|
||||
|
||||
List<DataCollectionEmployee> currentEmployees = getEmployeeByIdsAll(employeeIds);
|
||||
Map<Long, DataCollectionEmployee> currentEmployeeMap = SalaryEntityUtil.convert2Map(currentEmployees, DataCollectionEmployee::getEmployeeId);
|
||||
|
||||
List<DataCollectionEmployee> employees = employeeIds.stream()
|
||||
.map(employeeId -> {
|
||||
|
||||
List<HrmSnapshotPO> snapshot = getHrmSnapshotMapper().snapshot(employeeId, snapshotTime);
|
||||
|
||||
return snapshot.stream().findFirst().map(hrmSnapshotPO -> DataCollectionEmployee.
|
||||
builder()
|
||||
.employeeId(employeeId)
|
||||
.username(hrmSnapshotPO.getLastname())
|
||||
.departmentName(hrmSnapshotPO.getDepartmentname())
|
||||
.departmentId(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getDepartmentid())))
|
||||
.subcompanyName(hrmSnapshotPO.getSubcompanyname())
|
||||
.subcompanyid(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getSubcompanyid1())))
|
||||
.costcenterId(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getCostcenterid())))
|
||||
.locationId(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getLocationid())))
|
||||
.jobtitleName(hrmSnapshotPO.getJobtitlename())
|
||||
.jobtitleId(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getJobtitle())))
|
||||
.companystartdate(hrmSnapshotPO.getCompanystartdate())
|
||||
.mobile(hrmSnapshotPO.getMobile())
|
||||
// .dismissdate()
|
||||
.status(Util.null2String(hrmSnapshotPO.getStatus()))
|
||||
.statusName(UserStatusEnum.getDefaultLabelByValue(NumberUtils.toInt(Util.null2String(hrmSnapshotPO.getStatus()), 1)))
|
||||
.workcode(hrmSnapshotPO.getWorkcode())
|
||||
.sex(hrmSnapshotPO.getSex())
|
||||
.email(hrmSnapshotPO.getEmail())
|
||||
.telephone(hrmSnapshotPO.getTelephone())
|
||||
.jobcall(hrmSnapshotPO.getJobcallname())
|
||||
.jobcallId(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getJobcall())))
|
||||
.birthday(hrmSnapshotPO.getBirthday())
|
||||
.workYear(hrmSnapshotPO.getWorkyear() == null ? 0.00 : hrmSnapshotPO.getWorkyear().doubleValue())
|
||||
.companyWorkYear(hrmSnapshotPO.getCompanyworkyear() == null ? 0.00 : hrmSnapshotPO.getCompanyworkyear().doubleValue())
|
||||
.idNo(hrmSnapshotPO.getCertificatenum())
|
||||
.accountTypeName(AccountTypeEnum.getDefaultLabelByValue(hrmSnapshotPO.getAccounttype()))
|
||||
.accountType(hrmSnapshotPO.getAccounttype())
|
||||
.build())
|
||||
.orElse(currentEmployeeMap.get(employeeId));
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
return SalaryI18nUtil.i18nList(employees);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.engine.salary.mapper.hrm.HrmSnapshotMapper;
|
|||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.db.IdGenerator;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import weaver.hrm.User;
|
||||
import weaver.interfaces.schedule.BaseCronJob;
|
||||
|
||||
|
|
@ -13,9 +14,10 @@ import java.time.LocalDate;
|
|||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Slf4j
|
||||
public class HrmSnapshotJob extends BaseCronJob {
|
||||
|
||||
//指定筷子时间
|
||||
private String appointSnapshotTime;
|
||||
|
||||
private HrmSnapshotMapper getHrmSnapshotMapper() {
|
||||
|
|
@ -28,24 +30,25 @@ public class HrmSnapshotJob extends BaseCronJob {
|
|||
user.setUid(1);
|
||||
user.setLoginid("sysadmin");
|
||||
|
||||
List<HrmSnapshotPO> hrmSnapshotPOS = getHrmSnapshotMapper().currentEmpData();
|
||||
try {
|
||||
List<HrmSnapshotPO> hrmSnapshotPOS = getHrmSnapshotMapper().currentEmpData();
|
||||
|
||||
Date snapshotTime = StrUtil.isNotBlank(appointSnapshotTime) && SalaryDateUtil.checkDay(appointSnapshotTime) ? SalaryDateUtil.dateStrToLocalDate(appointSnapshotTime) : SalaryDateUtil.localDateToDate(LocalDate.now());
|
||||
Date snapshotTime = StrUtil.isNotBlank(appointSnapshotTime) && SalaryDateUtil.checkDay(appointSnapshotTime) ? SalaryDateUtil.dateStrToLocalDate(appointSnapshotTime) : SalaryDateUtil.localDateToDate(LocalDate.now());
|
||||
|
||||
//先删除当日快照
|
||||
getHrmSnapshotMapper().deleteBySnapshotTime(snapshotTime);
|
||||
//先删除当日快照
|
||||
getHrmSnapshotMapper().deleteBySnapshotTime(snapshotTime);
|
||||
|
||||
hrmSnapshotPOS.forEach(hrmSnapshotPO -> {
|
||||
hrmSnapshotPOS.forEach(hrmSnapshotPO -> {
|
||||
|
||||
hrmSnapshotPO.setId(IdGenerator.generate());
|
||||
hrmSnapshotPO.setSnapshotTime(snapshotTime);
|
||||
hrmSnapshotPO.setId(IdGenerator.generate());
|
||||
hrmSnapshotPO.setSnapshotTime(snapshotTime);
|
||||
|
||||
getHrmSnapshotMapper().insertIgnoreNull(hrmSnapshotPO);
|
||||
getHrmSnapshotMapper().insertIgnoreNull(hrmSnapshotPO);
|
||||
|
||||
});
|
||||
|
||||
|
||||
System.out.println(hrmSnapshotPOS);
|
||||
});
|
||||
}catch (Exception e){
|
||||
log.error("生成快照失败", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue