164 lines
8.4 KiB
Java
164 lines
8.4 KiB
Java
|
|
package com.engine.salary.entity.salaryarchive.bo;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @Description: 薪资档案
|
||
|
|
* @Author: wangxiangzhong
|
||
|
|
* @Date: 2021-11-03 10:51
|
||
|
|
*/
|
||
|
|
public class SalaryArchiveBO {
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public String toString() {
|
||
|
|
return "SalaryArchiveBO{}";
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 添加日期范围
|
||
|
|
* @param weaSearchCondition
|
||
|
|
* @param employeeId
|
||
|
|
* @param tenantKey
|
||
|
|
*/
|
||
|
|
// public static void addDatePickerRangeOtherParams(WeaSearchCondition weaSearchCondition, String datePickerKey, Long employeeId, String tenantKey) {
|
||
|
|
// WeaSearchConditionItem datePickerItem = weaSearchCondition.getItems().get(datePickerKey);
|
||
|
|
// Map<String, Object> otherParams = Maps.newHashMap();
|
||
|
|
// otherParams.put("isRange", true);
|
||
|
|
// otherParams.put("type", "day");
|
||
|
|
// otherParams.put("startPlaceholder", SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 90648, "开始日期"));
|
||
|
|
// otherParams.put("endPlaceholder", SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 90649, "结束日期"));
|
||
|
|
// datePickerItem.setOtherParams(otherParams);
|
||
|
|
// weaSearchCondition.getItems().put(datePickerKey, datePickerItem);
|
||
|
|
// }
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 构建表格动态列
|
||
|
|
* @param weaTable
|
||
|
|
* @param salaryItems
|
||
|
|
* @param employeeId
|
||
|
|
* @param tenantKey
|
||
|
|
* @param size
|
||
|
|
*/
|
||
|
|
// public static void buildSalaryArchiveTable(WeaTable<LinkedHashMap> weaTable, List<SalaryItemPO> salaryItems, Long employeeId, String tenantKey, int size) {
|
||
|
|
// // 表格表头
|
||
|
|
// List<WeaTableColumn> columns = new ArrayList<>();
|
||
|
|
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 85429, "姓名"), "username", "100"));
|
||
|
|
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86184, "个税扣缴义务人"), "taxAgentName", "100"));
|
||
|
|
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86185, "部门"), "departmentName", "100"));
|
||
|
|
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86186, "手机号"), "mobile", "100"));
|
||
|
|
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86187, "员工状态"), "employeeStatus", "100"));
|
||
|
|
// for (SalaryItemPO salaryItem : salaryItems) {
|
||
|
|
// columns.add(new WeaTableColumn(salaryItem.getName(), salaryItem.getId() + SalaryItemConstant.DYNAMIC_SUFFIX, "150"));
|
||
|
|
// }
|
||
|
|
// weaTable.setColumns(columns);
|
||
|
|
//
|
||
|
|
// List<WeaTableOperate> operates = weaTable.getOperates();
|
||
|
|
// operates.add(new WeaTableOperate(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 90821, "查看"), 0));
|
||
|
|
//
|
||
|
|
// weaTable.setOperatesPermission(getDefaultOperatesPermission(operates.size(), size));
|
||
|
|
// weaTable.setCheckBoxPermission(getDefaultCheckBoxPermission(size));
|
||
|
|
//
|
||
|
|
// weaTable.setTableType(WeaTableTypeEnum.CHECKBOX);
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// private static List<List<Permission>> getDefaultOperatesPermission(int operateSize, int recordSize) {
|
||
|
|
// List<List<Permission>> permissionList = Lists.newArrayList();
|
||
|
|
// for (int i=0; i<recordSize; i++) {
|
||
|
|
// List<Permission> permissions = Lists.newArrayList();
|
||
|
|
// for (int j=0; j<operateSize; j++) {
|
||
|
|
// permissions.add(new Permission(true, false));
|
||
|
|
// }
|
||
|
|
// permissionList.add(permissions);
|
||
|
|
// }
|
||
|
|
// return permissionList;
|
||
|
|
// }
|
||
|
|
|
||
|
|
// private static List<Permission> getDefaultCheckBoxPermission(int recordSize) {
|
||
|
|
// List<Permission> permissionList = Lists.newArrayList();
|
||
|
|
// for (int i=0; i<recordSize; i++) {
|
||
|
|
// permissionList.add(new Permission(true, false));
|
||
|
|
// }
|
||
|
|
// return permissionList;
|
||
|
|
// }
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 构建薪资档案数据
|
||
|
|
* @param salaryArchiveTaxAgentList
|
||
|
|
* @param salaryArchiveItemDataList
|
||
|
|
* @param localDateRange
|
||
|
|
* @param allEmployeeIds
|
||
|
|
* @param isOnlyTaxAgent
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
// public static List<SalaryArchiveDataDTO> buildSalaryArchiveData(List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgentList,
|
||
|
|
// List<SalaryArchiveItemPO> salaryArchiveItemDataList,
|
||
|
|
// LocalDateRange localDateRange,
|
||
|
|
// List<Long> allEmployeeIds,
|
||
|
|
// boolean isOnlyTaxAgent) {
|
||
|
|
// // 开始日期
|
||
|
|
// LocalDate start = localDateRange.getFromDate();
|
||
|
|
// // 结束日期
|
||
|
|
// LocalDate end = localDateRange.getEndDate();
|
||
|
|
//
|
||
|
|
// List<SalaryArchiveDataDTO> list = new ArrayList<>();
|
||
|
|
// allEmployeeIds.forEach(e->{
|
||
|
|
// // 同一个人的个税扣缴义务人调整历史数据
|
||
|
|
// List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgents = salaryArchiveTaxAgentList.stream().filter(f->f.getEmployeeId().equals(e)).collect(Collectors.toList());
|
||
|
|
// // 同一个人的薪资项目调整历史数据
|
||
|
|
// List<SalaryArchiveItemPO> salaryArchiveItems = salaryArchiveItemDataList.stream().filter(d->d.getEmployeeId().equals(e)).collect(Collectors.toList());
|
||
|
|
// List<Long> salaryArchiveItemIds = salaryArchiveItems.stream().map(SalaryArchiveItemPO::getSalaryItemId).distinct().collect(Collectors.toList());
|
||
|
|
//
|
||
|
|
// SalaryArchiveDataDTO salaryArchiveData = new SalaryArchiveDataDTO();
|
||
|
|
// salaryArchiveData.setEmployeeId(e);
|
||
|
|
// List<SalaryArchiveTaxAgentDataDTO> taxAgents = new ArrayList<>();
|
||
|
|
// // 按个税扣缴义务人生效日期时间段切割
|
||
|
|
// LocalDate endTemp = end;
|
||
|
|
// for (SalaryArchiveTaxAgentPO salaryArchiveTaxAgent : salaryArchiveTaxAgents) {
|
||
|
|
// Date fromDate = salaryArchiveTaxAgent.getEffectiveTime();
|
||
|
|
// if (fromDate.isAfter(endTemp) || !endTemp.isAfter(start)) {
|
||
|
|
// continue;
|
||
|
|
// }
|
||
|
|
// SalaryArchiveTaxAgentDataDTO taxAgent = new SalaryArchiveTaxAgentDataDTO();
|
||
|
|
// taxAgent.setTaxAgentId(salaryArchiveTaxAgent.getTaxAgentId());
|
||
|
|
// taxAgent.setEffectiveDateRange(LocalDateRange.builder().fromDate((fromDate.isBefore(start)?start:fromDate)).endDate(endTemp).build());
|
||
|
|
//
|
||
|
|
// // 薪资项目数据按个税扣缴义务人切割
|
||
|
|
// if (!isOnlyTaxAgent) {
|
||
|
|
// // 开始日期
|
||
|
|
// LocalDate startItem = taxAgent.getEffectiveDateRange().getFromDate();
|
||
|
|
// // 结束日期
|
||
|
|
// LocalDate endItem = taxAgent.getEffectiveDateRange().getEndDate();
|
||
|
|
// LocalDate endTempItem = endItem;
|
||
|
|
// List<SalaryArchiveItemDataDTO> salaryItemValues = new ArrayList<>();
|
||
|
|
//
|
||
|
|
// for (Long salaryArchiveItemId : salaryArchiveItemIds) {
|
||
|
|
// for (SalaryArchiveItemPO salaryArchiveItem : salaryArchiveItems) {
|
||
|
|
// if (!salaryArchiveItemId.equals(salaryArchiveItem.getSalaryItemId())) {
|
||
|
|
// continue;
|
||
|
|
// }
|
||
|
|
// LocalDate fromDateItem = salaryArchiveItem.getEffectiveTime();
|
||
|
|
// if (fromDateItem.isAfter(endTempItem) || !endTempItem.isAfter(startItem)) {
|
||
|
|
// continue;
|
||
|
|
// }
|
||
|
|
// SalaryArchiveItemDataDTO salaryArchiveItemData = new SalaryArchiveItemDataDTO();
|
||
|
|
// salaryArchiveItemData.setEffectiveDateRange(LocalDateRange.builder().fromDate((fromDateItem.isBefore(startItem)?startItem:fromDateItem)).endDate(endTempItem).build());
|
||
|
|
// salaryArchiveItemData.setSalaryItemId(salaryArchiveItem.getSalaryItemId());
|
||
|
|
// salaryArchiveItemData.setValue(salaryArchiveItem.getItemValue());
|
||
|
|
// salaryItemValues.add(salaryArchiveItemData);
|
||
|
|
// endTempItem = fromDateItem;
|
||
|
|
// }
|
||
|
|
// endTempItem = endItem;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// taxAgent.setSalaryItemValues(salaryItemValues);
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// taxAgents.add(taxAgent);
|
||
|
|
// endTemp = fromDate;
|
||
|
|
// }
|
||
|
|
// salaryArchiveData.setTaxAgents(taxAgents);
|
||
|
|
// list.add(salaryArchiveData);
|
||
|
|
// });
|
||
|
|
//
|
||
|
|
// return list;
|
||
|
|
// }
|
||
|
|
}
|