128 lines
6.0 KiB
Java
128 lines
6.0 KiB
Java
|
|
package com.engine.salary.entity.salaryBill.bo;
|
||
|
|
|
||
|
|
import cn.hutool.json.JSONUtil;
|
||
|
|
import com.engine.salary.constant.SalaryTemplateSalaryItemSetGroupConstant;
|
||
|
|
import com.engine.salary.entity.salaryBill.dto.SalaryTemplateSalaryItemListDTO;
|
||
|
|
import com.engine.salary.entity.salaryBill.dto.SalaryTemplateSalaryItemSetListDTO;
|
||
|
|
import com.engine.salary.entity.salaryBill.param.SalaryTemplateSaveParam;
|
||
|
|
import com.engine.salary.entity.salaryBill.po.SalaryTemplatePO;
|
||
|
|
import com.engine.salary.entity.salarysob.dto.SalarySobItemAggregateDTO;
|
||
|
|
import org.apache.commons.collections.CollectionUtils;
|
||
|
|
|
||
|
|
import java.util.Date;
|
||
|
|
import java.util.LinkedList;
|
||
|
|
import java.util.List;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @Description: 工资单
|
||
|
|
*/
|
||
|
|
public class SalaryTemplateBO {
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public String toString() {
|
||
|
|
return "SalaryTemplateBO{}";
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 保存参数转表数据
|
||
|
|
* @param saveParam
|
||
|
|
* @param employeeId
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public static SalaryTemplatePO convertToPO(SalaryTemplateSaveParam saveParam, Long employeeId) {
|
||
|
|
if (saveParam == null) {
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
|
||
|
|
return SalaryTemplatePO.builder()
|
||
|
|
.id(saveParam.getId())
|
||
|
|
.name(saveParam.getName())
|
||
|
|
.salarySobId(saveParam.getSalarySobId())
|
||
|
|
.description(saveParam.getDescription())
|
||
|
|
.emailStatus(saveParam.getEmailStatus()?1:0)
|
||
|
|
.sendEmailId(saveParam.getEmailStatus()?saveParam.getSendEmail():0L)
|
||
|
|
.msgStatus(saveParam.getMsgStatus()?1:0)
|
||
|
|
.theme(saveParam.getTheme())
|
||
|
|
.background(saveParam.getBackground())
|
||
|
|
.textContent(saveParam.getTextContent())
|
||
|
|
.textContentPosition(saveParam.getTextContentPosition())
|
||
|
|
.salaryItemNullStatus(saveParam.getSalaryItemNullStatus()?1:0)
|
||
|
|
.salaryItemZeroStatus(saveParam.getSalaryItemZeroStatus()?1:0)
|
||
|
|
.salaryItemSetting(JSONUtil.toJsonStr(saveParam.getSalaryItemSetting()))
|
||
|
|
.createTime(new Date())
|
||
|
|
.updateTime(new Date())
|
||
|
|
.creator(employeeId)
|
||
|
|
.build();
|
||
|
|
}
|
||
|
|
|
||
|
|
public static List<SalaryTemplateSalaryItemSetListDTO> convertSalarySobItemAggregateToSalaryItemSet(SalarySobItemAggregateDTO salarySobItemAggregateDTO, Long currentEmployeeId) {
|
||
|
|
List<SalaryTemplateSalaryItemSetListDTO> groups = new LinkedList<>();
|
||
|
|
if (salarySobItemAggregateDTO!=null) {
|
||
|
|
// 1.员工信息
|
||
|
|
if (CollectionUtils.isNotEmpty(salarySobItemAggregateDTO.getEmpFields())) {
|
||
|
|
List<SalaryTemplateSalaryItemListDTO> items = new LinkedList<>();
|
||
|
|
salarySobItemAggregateDTO.getEmpFields().stream().forEach(e->{
|
||
|
|
items.add(
|
||
|
|
SalaryTemplateSalaryItemListDTO.builder()
|
||
|
|
.id(String.valueOf(e.getId()))
|
||
|
|
.salaryItemId(String.valueOf(e.getId()))
|
||
|
|
.name(e.getFieldName())
|
||
|
|
.sortedIndex(e.getSortedIndex())
|
||
|
|
.build()
|
||
|
|
);
|
||
|
|
});
|
||
|
|
groups.add(
|
||
|
|
SalaryTemplateSalaryItemSetListDTO.builder()
|
||
|
|
.groupId(SalaryTemplateSalaryItemSetGroupConstant.EMPLOYEE_INFO_GROUP_ID)
|
||
|
|
.groupName("员工信息")
|
||
|
|
.sortedIndex(-1)
|
||
|
|
.items(items)
|
||
|
|
.build());
|
||
|
|
}
|
||
|
|
// 2.普通分组
|
||
|
|
if (CollectionUtils.isNotEmpty(salarySobItemAggregateDTO.getItemGroups())) {
|
||
|
|
salarySobItemAggregateDTO.getItemGroups().stream().forEach(e->{
|
||
|
|
List<SalaryTemplateSalaryItemListDTO> items = new LinkedList<>();
|
||
|
|
e.getItems().stream().forEach(i->{
|
||
|
|
items.add(
|
||
|
|
SalaryTemplateSalaryItemListDTO.builder()
|
||
|
|
.id(String.valueOf(i.getSalaryItemId()))
|
||
|
|
.salaryItemId(String.valueOf(i.getSalaryItemId()))
|
||
|
|
.name(i.getName())
|
||
|
|
.sortedIndex(i.getSortedIndex())
|
||
|
|
.build());
|
||
|
|
});
|
||
|
|
groups.add(
|
||
|
|
SalaryTemplateSalaryItemSetListDTO.builder()
|
||
|
|
.groupId(String.valueOf(e.getId()))
|
||
|
|
.groupName(e.getName())
|
||
|
|
.sortedIndex(e.getSortedIndex())
|
||
|
|
.items(items)
|
||
|
|
.build());
|
||
|
|
});
|
||
|
|
}
|
||
|
|
// 3.无分类
|
||
|
|
if (CollectionUtils.isNotEmpty(salarySobItemAggregateDTO.getItems())) {
|
||
|
|
List<SalaryTemplateSalaryItemListDTO> items = new LinkedList<>();
|
||
|
|
salarySobItemAggregateDTO.getItems().stream().forEach(e->{
|
||
|
|
items.add(
|
||
|
|
SalaryTemplateSalaryItemListDTO.builder()
|
||
|
|
.id(String.valueOf(e.getSalaryItemId()))
|
||
|
|
.salaryItemId(String.valueOf(e.getSalaryItemId()))
|
||
|
|
.name(e.getName())
|
||
|
|
.sortedIndex(e.getSortedIndex())
|
||
|
|
.build());
|
||
|
|
});
|
||
|
|
groups.add(
|
||
|
|
SalaryTemplateSalaryItemSetListDTO.builder()
|
||
|
|
.groupId(SalaryTemplateSalaryItemSetGroupConstant.NO_TYPE_GROUP_ID)
|
||
|
|
.groupName("无分类")
|
||
|
|
.sortedIndex(salarySobItemAggregateDTO.getItemGroups().size())
|
||
|
|
.items(items)
|
||
|
|
.build());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return groups;
|
||
|
|
}
|
||
|
|
}
|