weaver-hrm-salary/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveBO.java

164 lines
8.4 KiB
Java
Raw Normal View History

2022-03-28 16:36:40 +08:00
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;
// }
}