薪资档案增加调薪时间 筛选
This commit is contained in:
parent
5953c2b938
commit
a2f8803e76
|
|
@ -112,4 +112,10 @@ public class SalaryArchiveQueryParam extends BaseQueryParam {
|
|||
// 最后发薪日期止
|
||||
private Date payEndDateEndDate;
|
||||
|
||||
// 调薪起始日期
|
||||
private Date adjustSalaryStartDate;
|
||||
|
||||
// 调薪结束日期
|
||||
private Date adjustSalaryEndDate;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.mapper.archive;
|
||||
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam;
|
||||
|
|
@ -97,4 +98,5 @@ public interface SalaryArchiveItemMapper {
|
|||
|
||||
int batchUpdate(@Param("collection") List<SalaryArchiveItemPO> pos);
|
||||
|
||||
List<SalaryArchiveItemPO> listByArchiveIdAndEffectiveTime(@Param("salaryArchivesIds")List<Long> salaryArchiveIds, @Param("effectiveRange")LocalDateRange dateRange);
|
||||
}
|
||||
|
|
@ -1071,6 +1071,28 @@
|
|||
ORDER BY t.effective_time DESC
|
||||
</select>
|
||||
|
||||
<select id="listByArchiveIdAndEffectiveTime"
|
||||
resultType="com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hrsa_salary_archive_item t
|
||||
WHERE delete_type = 0
|
||||
<if test="effectiveRange != null and effectiveRange.fromDate != null">
|
||||
AND t.effective_time <![CDATA[ >= ]]> #{effectiveRange.fromDate}
|
||||
</if>
|
||||
<if test="effectiveRange != null and effectiveRange.endDate != null">
|
||||
AND t.effective_time <![CDATA[ <= ]]> #{effectiveRange.endDate}
|
||||
</if>
|
||||
<if test="salaryArchivesIds != null and salaryArchivesIds.size()>0">
|
||||
AND t.salary_archive_id IN
|
||||
<foreach collection="salaryArchivesIds" open="(" item="salaryArchiveId" separator="," close=")">
|
||||
#{salaryArchiveId}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
ORDER BY t.effective_time DESC
|
||||
</select>
|
||||
|
||||
|
||||
<update id="deleteBatchIds">
|
||||
UPDATE hrsa_salary_archive_item
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.entity.salaryarchive.config.ArchiveFieldConfig;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemSaveParam;
|
||||
|
|
@ -163,4 +164,13 @@ public interface SalaryArchiveItemService {
|
|||
ArchiveFieldConfig getConfig();
|
||||
|
||||
UploadConfigResponse.Result parseConfig(ArchiveFieldConfig config);
|
||||
|
||||
/**
|
||||
* 根据薪资档案id和生效日期范围获取数据
|
||||
*
|
||||
* @param salaryArchiveIds
|
||||
* @param dateRange
|
||||
* @return
|
||||
*/
|
||||
List<SalaryArchiveItemPO> listByArchiveIdAndEffectiveTime(List<Long> salaryArchiveIds, LocalDateRange dateRange);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.engine.core.impl.Service;
|
|||
import com.engine.salary.biz.SalaryArchiveBiz;
|
||||
import com.engine.salary.biz.SalaryArchiveItemBiz;
|
||||
import com.engine.salary.biz.SalaryItemBiz;
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.config.SalaryElogConfig;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
|
|
@ -807,4 +808,16 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SalaryArchiveItemPO> listByArchiveIdAndEffectiveTime(List<Long> salaryArchiveIds, LocalDateRange dateRange) {
|
||||
if (CollectionUtils.isEmpty(salaryArchiveIds)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<SalaryArchiveItemPO> resultList = new ArrayList<>();
|
||||
List<List<Long>> partition = Lists.partition(salaryArchiveIds, 1000);
|
||||
partition.forEach(part -> {
|
||||
resultList.addAll(getSalaryArchiveItemMapper().listByArchiveIdAndEffectiveTime(salaryArchiveIds, dateRange));
|
||||
});
|
||||
return resultList;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -185,6 +185,16 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
}
|
||||
|
||||
List<SalaryArchiveListDTO> list = getSalaryArchiveMapper().list(queryParam);
|
||||
|
||||
// 过滤调薪日期
|
||||
if (queryParam.getAdjustSalaryStartDate() != null || queryParam.getAdjustSalaryEndDate() != null) {
|
||||
List<Long> salaryArchiveIds = list.stream().map(SalaryArchiveListDTO::getId).collect(Collectors.toList());
|
||||
LocalDateRange dateRange = LocalDateRange.builder().fromDate(queryParam.getAdjustSalaryStartDate()).endDate(queryParam.getAdjustSalaryEndDate()).build();
|
||||
List<SalaryArchiveItemPO> salaryArchiveItemPOList = getSalaryArchiveItemService(user).listByArchiveIdAndEffectiveTime(salaryArchiveIds, dateRange);
|
||||
List<Long> archiveIds = salaryArchiveItemPOList.stream().map(SalaryArchiveItemPO::getSalaryArchiveId).distinct().collect(Collectors.toList());
|
||||
list = list.stream().filter(dto -> archiveIds.contains(dto.getId())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
return SalaryI18nUtil.i18nList(list);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue