92 lines
3.8 KiB
Java
92 lines
3.8 KiB
Java
package com.engine.salary.entity.sischeme.bo;
|
|
|
|
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
|
import com.engine.salary.entity.sischeme.dto.InsuranceSchemeDTO;
|
|
import com.engine.salary.entity.sischeme.dto.InsuranceSchemeDetailDTO;
|
|
import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO;
|
|
import com.engine.salary.entity.sischeme.po.InsuranceSchemePO;
|
|
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
|
|
import com.engine.salary.enums.sicategory.IsPaymentEnum;
|
|
import com.engine.salary.exception.SalaryRunTimeException;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.Collections;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import java.util.stream.Collectors;
|
|
|
|
/**
|
|
* @Author weaver_cl
|
|
* @Description: 福利方案业务方法
|
|
* @Date 2022/3/8
|
|
* @Version V1.0
|
|
**/
|
|
public class InsuranceSchemeBO {
|
|
|
|
private InsuranceSchemeBO() {
|
|
throw new SalaryRunTimeException("该类不需要创建实例");
|
|
}
|
|
|
|
|
|
public static InsuranceSchemePO convert2BatchPO(InsuranceSchemeDTO dto, Long employeeId) {
|
|
if (Objects.isNull(dto)) {
|
|
return null;
|
|
}
|
|
|
|
return InsuranceSchemePO.builder()
|
|
//.id(IdGenerator.generate())
|
|
.schemeName(dto.getSchemeName())
|
|
.paymentType(dto.getPaymentType().getValue())
|
|
.welfareType(dto.getWelfareType().getValue())
|
|
.isUse(1)
|
|
.paymentArea(dto.getPaymentArea())
|
|
.remarks(dto.getRemarks())
|
|
.creator(employeeId)
|
|
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
|
.createTime(new Date())
|
|
.updateTime(new Date())
|
|
.deleteType(0)
|
|
.build();
|
|
}
|
|
|
|
|
|
public static List<InsuranceSchemeDetailPO> convertToInsuranceSchemeDetailPoList(List<InsuranceSchemeDetailDTO> list, long employeeId,Long primaryId) {
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
return Collections.emptyList();
|
|
}
|
|
return list.stream().map(item -> InsuranceSchemeDetailPO.builder()
|
|
//.id(IdGenerator.generate())
|
|
.insuranceId(item.getInsuranceId())
|
|
.primaryId(primaryId)
|
|
.createTime(new Date())
|
|
.creator(employeeId)
|
|
.deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
|
|
.effectiveTime(item.getEffectiveTime())
|
|
.expirationTime(item.getExpirationTime())
|
|
.fixedCost(item.getFixedCost() != null ? item.getFixedCost().toString() : "0.000")
|
|
.isPayment(item.getIsPayment() ? IsPaymentEnum.YES.getValue() : IsPaymentEnum.NO.getValue())
|
|
.lowerLimit(item.getLowerLimit() != null ? item.getLowerLimit().toString() : "0.000")
|
|
.paymentScope(item.getPaymentScopeValue())
|
|
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
|
.upperLimit(item.getUpperLimit() != null ? item.getUpperLimit().toString() : "0.000")
|
|
.paymentProportion(item.getPaymentProportion() != null ? item.getPaymentProportion().toString() : "0.0000")
|
|
.rententionRule(item.getRententionRule() != null ? Integer.valueOf(item.getRententionRule()) : null)
|
|
.updateTime(new Date())
|
|
.validNum(item.getValidNum())
|
|
.build()
|
|
).collect(Collectors.toList());
|
|
}
|
|
|
|
public static InsuranceSchemePO buildInsuranceSchemePO(InsuranceSchemePO po, InsuranceSchemeDTO dto) {
|
|
po.setUpdateTime(new Date());
|
|
po.setPaymentArea(dto.getPaymentArea());
|
|
po.setPaymentType(dto.getPaymentType().getValue());
|
|
po.setSchemeName(dto.getSchemeName());
|
|
po.setRemarks(dto.getRemarks());
|
|
return po;
|
|
}
|
|
}
|