档案字段删除
This commit is contained in:
parent
0138351665
commit
8c8d79aba3
|
|
@ -10,7 +10,7 @@ import com.engine.salary.entity.salaryitem.dto.SalaryItemListDTO;
|
|||
import com.engine.salary.entity.salaryitem.param.SalaryItemSaveParam;
|
||||
import com.engine.salary.entity.salaryitem.param.SalaryItemSearchParam;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SysSalaryItemPO;
|
||||
import com.engine.salary.enums.SalaryOnOffEnum;
|
||||
import com.engine.salary.enums.SalaryRoundingModeEnum;
|
||||
import com.engine.salary.enums.SalarySystemTypeEnum;
|
||||
|
|
@ -20,9 +20,11 @@ import com.engine.salary.exception.SalaryRunTimeException;
|
|||
import com.engine.salary.service.SalaryFormulaService;
|
||||
import com.engine.salary.service.SalaryItemService;
|
||||
import com.engine.salary.service.SalarySobItemService;
|
||||
import com.engine.salary.service.SysSalaryItemService;
|
||||
import com.engine.salary.service.impl.SalaryFormulaServiceImpl;
|
||||
import com.engine.salary.service.impl.SalaryItemServiceImpl;
|
||||
import com.engine.salary.service.impl.SalarySobItemServiceImpl;
|
||||
import com.engine.salary.service.impl.SysSalaryItemServiceImpl;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.page.Column;
|
||||
|
|
@ -31,6 +33,7 @@ import com.engine.salary.util.valid.RuntimeTypeEnum;
|
|||
import com.engine.salary.util.valid.ValidUtil;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.math.NumberUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.*;
|
||||
|
|
@ -62,6 +65,10 @@ public class SalaryFieldWrapper extends Service {
|
|||
return ServiceUtil.getService(SalaryItemWrapper.class, user);
|
||||
}
|
||||
|
||||
private SysSalaryItemService getSysSalaryItemService(User user) {
|
||||
return ServiceUtil.getService(SysSalaryItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 薪资项目列表
|
||||
*
|
||||
|
|
@ -69,6 +76,12 @@ public class SalaryFieldWrapper extends Service {
|
|||
* @return
|
||||
*/
|
||||
public PageInfo<SalaryItemListDTO> listPage(SalaryItemSearchParam searchParam) {
|
||||
|
||||
SalaryItemServiceImpl.UsingItem usingItem = getSalaryItemService(user).getUsingItem();
|
||||
List<Long> usingFormulaIds = usingItem.getUsingFormulaIds();
|
||||
List<Long> usingItemIds = usingItem.getUsingItemIds();
|
||||
List<String> usingCodes = usingItem.getUsingCodes();
|
||||
|
||||
// 1、查询薪资项目
|
||||
//设置查询档案引用项目
|
||||
searchParam.setUseInEmployeeSalary(SalaryOnOffEnum.ON.getValue());
|
||||
|
|
@ -88,33 +101,20 @@ public class SalaryFieldWrapper extends Service {
|
|||
salaryItemListDTOPage.setColumns(fieldColumns);
|
||||
|
||||
// 被薪资账套引用的薪资项目
|
||||
List<SalarySobItemPO> salarySobItems = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(salaryItemList)) {
|
||||
//2、填充公式内容
|
||||
Set<Long> formulaIds = SalaryEntityUtil.properties(salaryItemList, SalaryItemPO::getFormulaId);
|
||||
List<ExpressFormula> expressFormulas = getSalaryFormulaService(user).listExpressFormula(formulaIds);
|
||||
// 查询系统薪资项目
|
||||
Set<Long> sysSalaryItemIds = SalaryEntityUtil.properties(salaryItemList, SalaryItemPO::getSysSalaryItemId);
|
||||
List<SysSalaryItemPO> sysSalaryItemPOS = getSysSalaryItemService(user).listByIds(sysSalaryItemIds);
|
||||
// 转换成薪资项目列表dto
|
||||
List<SalaryItemListDTO> salaryItemListDTOS = SalaryItemBO.convert2ListDTO(salaryItemList, expressFormulas, Collections.emptyList());
|
||||
//薪资档案引用时不能删除
|
||||
List<SalaryItemListDTO> salaryItemListDTOS = SalaryItemBO.convert2ListDTO(salaryItemList, Collections.emptyList(), sysSalaryItemPOS);
|
||||
//系统项目不删除
|
||||
salaryItemListDTOS.forEach(dto -> {
|
||||
if (dto.getUseInEmployeeSalary() == 1) {
|
||||
if (StringUtils.isNotBlank(dto.getSystemName()) || usingItemIds.contains(dto.getId()) || usingCodes.contains(dto.getCode())) {
|
||||
dto.setCanDelete(false);
|
||||
}
|
||||
});
|
||||
//3、被引用的薪资项目不能删除
|
||||
Set<Long> salaryItemIds = SalaryEntityUtil.properties(salaryItemList, SalaryItemPO::getId);
|
||||
salarySobItems = getSalarySobItemService(user).listBySalaryItemIds(salaryItemIds);
|
||||
if (CollectionUtils.isNotEmpty(salarySobItems)) {
|
||||
Set<Long> salaryItemIdsUseBySob = SalaryEntityUtil.properties(salarySobItems, SalarySobItemPO::getSalaryItemId);
|
||||
salaryItemListDTOS.forEach(dto -> {
|
||||
if (salaryItemIdsUseBySob.contains(dto.getId())) {
|
||||
dto.setCanDelete(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
salaryItemListDTOPage.setList(salaryItemListDTOS);
|
||||
}
|
||||
|
||||
return salaryItemListDTOPage;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,7 +90,6 @@ public class SalaryItemWrapper extends Service {
|
|||
salaryItemListDTOPage.setTotal(page.getTotal());
|
||||
|
||||
// 被薪资账套引用的薪资项目
|
||||
List<SalarySobItemPO> salarySobItems = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(salaryItemList)) {
|
||||
//2、填充公式内容
|
||||
Set<Long> formulaIds = SalaryEntityUtil.properties(salaryItemList, SalaryItemPO::getFormulaId);
|
||||
|
|
|
|||
Loading…
Reference in New Issue