薪酬系统-工资单模板,复制功能改造,获取带选择薪资项目逻辑改造

This commit is contained in:
sy 2024-01-26 10:04:53 +08:00
parent 78f96c5008
commit f215b45afa
3 changed files with 17 additions and 2 deletions

View File

@ -16,6 +16,8 @@ public class SalaryBillSalaryItemQueryParam extends BaseQueryParam {
private Long groupId;
private String groupName;
private Boolean isReplenish;
private List<String> existSalaryItemIds;

View File

@ -34,7 +34,7 @@ public class SalarySobItemGroupPO {
private Long salarySobId;
/**
* 薪资账套的名称
* 薪资账套中薪资项目分组的名称
*/
private String name;

View File

@ -9,16 +9,19 @@ import com.engine.salary.entity.salaryBill.po.SalaryBillItemNamePO;
import com.engine.salary.entity.salaryBill.po.SalaryTemplatePO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobBackItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobItemGroupPO;
import com.engine.salary.entity.salarysob.po.SalarySobPO;
import com.engine.salary.enums.salarybill.SalaryTemplateReplenishRuleEnum;
import com.engine.salary.enums.salarybill.SalaryTemplateVarEnum;
import com.engine.salary.enums.salarybill.SalaryTemplateWhetherEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.salarysob.SalarySobItemGroupMapper;
import com.engine.salary.service.*;
import com.engine.salary.service.impl.*;
import com.engine.salary.util.JsonUtil;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.page.PageInfo;
import com.mzlion.core.utils.BeanUtils;
import org.apache.commons.collections4.CollectionUtils;
@ -71,6 +74,10 @@ public class SalaryTemplateWrapper extends Service {
return ServiceUtil.getService(SalaryBillItemNameServiceImpl.class, user);
}
private SalarySobItemGroupMapper getSalarySobItemGroupMapper() {
return MapperProxyFactory.getProxy(SalarySobItemGroupMapper.class);
}
/**
* 工资单模板列表
*
@ -479,7 +486,13 @@ public class SalaryTemplateWrapper extends Service {
Boolean isReplenish = Optional.ofNullable(param.getIsReplenish()).orElse(false);
List<SalaryTemplateSalaryItemSetListDTO> salaryItemSet = getSalaryTemplateService(user).getSalaryItemSetContainHide(param.getSalarySobId(), param.getSalaryTemplateId(), isReplenish);
Long groupId = param.getGroupId();
return salaryItemSet.stream().filter(s -> Objects.equals(s.getGroupId(), groupId + "")).map(SalaryTemplateSalaryItemSetListDTO::getItems).findFirst().orElse(Collections.emptyList()).stream().filter(item -> !Optional.ofNullable(param.getExistSalaryItemIds()).orElse(Collections.emptyList()).contains(item.getId())).collect(Collectors.toList());
//工资单模板copy可能导致groupId不匹配
List<SalarySobItemGroupPO> salarySobItemGroupPOS = getSalarySobItemGroupMapper().listSome(SalarySobItemGroupPO.builder().salarySobId(param.getSalarySobId()).name(param.getGroupName()).build());
if (salarySobItemGroupPOS != null && salarySobItemGroupPOS.size() > 0) {
groupId = salarySobItemGroupPOS.get(0).getId();
}
Long finalGroupId = groupId;
return salaryItemSet.stream().filter(s -> Objects.equals(s.getGroupId(), finalGroupId + "")).map(SalaryTemplateSalaryItemSetListDTO::getItems).findFirst().orElse(Collections.emptyList()).stream().filter(item -> !Optional.ofNullable(param.getExistSalaryItemIds()).orElse(Collections.emptyList()).contains(item.getId())).collect(Collectors.toList());
}
/**