weaver-hrm-salary/src/com/engine/salary/entity/sischeme/bo/InsuranceSchemeBO.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;
}
}