package com.engine.salary.service.impl; import com.engine.core.impl.Service; import com.engine.salary.biz.SalarySobItemBiz; import com.engine.salary.entity.salarysob.po.SalarySobItemPO; import com.engine.salary.service.SalarySobItemService; import org.apache.commons.collections4.CollectionUtils; import java.util.Collection; import java.util.Collections; import java.util.List; /** * 薪资账套的薪资项目副本 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public class SalarySobItemServiceImpl extends Service implements SalarySobItemService { private SalarySobItemBiz salarySobItemMapper = new SalarySobItemBiz(); // @Autowired // private SalarySobService salarySobService; // @Autowired // private SalarySobEmpFieldService salarySobEmpFieldService; // @Autowired // private SalarySobItemGroupService salarySobItemGroupService; // @Autowired // private SalaryFormulaService salaryFormulaService; // @Autowired // private SalaryItemService salaryItemService; // @Autowired // private LoggerTemplate salarySobLoggerTemplate; @Override public List list() { return salarySobItemMapper.listAll(); } // @Override // public List listBySalarySobId(Long salarySobId, String tenantKey) { // return new LambdaQueryChainWrapper<>(salarySobItemMapper) // .eq(SalarySobItemPO::getTenantKey, tenantKey) // .eq(SalarySobItemPO::getDeleteType, 0) // .eq(SalarySobItemPO::getSalarySobId, salarySobId) // .list(); // } // // @Override // public List listBySalarySobIds(Collection salarySobIds, String tenantKey) { // return new LambdaQueryChainWrapper<>(salarySobItemMapper) // .eq(SalarySobItemPO::getTenantKey, tenantKey) // .eq(SalarySobItemPO::getDeleteType, 0) // .in(SalarySobItemPO::getSalarySobId, salarySobIds) // .list(); // } // // @Override // public List listBySalarySobIdAndSalaryItemIdNotIn(Long salarySobId, Collection salaryItemIds, String tenantKey) { // return new LambdaQueryChainWrapper<>(salarySobItemMapper) // .eq(SalarySobItemPO::getTenantKey, tenantKey) // .eq(SalarySobItemPO::getDeleteType, 0) // .eq(SalarySobItemPO::getSalarySobId, salarySobId) // .notIn(CollectionUtils.isNotEmpty(salaryItemIds), SalarySobItemPO::getSalaryItemId, salaryItemIds) // .list(); // } // @Override public List listBySalaryItemIds(Collection salaryItemIds) { if (CollectionUtils.isEmpty(salaryItemIds)) { return Collections.emptyList(); } return null; // return new LambdaQueryChainWrapper<>(salarySobItemMapper) // .eq(SalarySobItemPO::getTenantKey, tenantKey) // .eq(SalarySobItemPO::getDeleteType, 0) // .in(SalarySobItemPO::getSalaryItemId, salaryItemIds) // .list(); } // @Override // public List listBySalarySobId4SalaryItem(Long salarySobId, String tenantKey) { // // 查询薪资项目副本 // List salarySobItemPOS = listBySalarySobId(salarySobId, tenantKey); // if (CollectionUtils.isEmpty(salarySobItemPOS)) { // return Collections.emptyList(); // } // // 查询薪资项目 // Set salaryItemIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getSalaryItemId); // return salaryItemService.listByIds(salaryItemIds, tenantKey); // } // // @Override // public SalarySobItemAggregateDTO getAggregateBySalarySobId(Long salarySobId, String tenantKey) { // // 查询薪资账套 // SalarySobPO salarySobPO = salarySobService.getById(salarySobId, tenantKey); // if (Objects.isNull(salarySobPO)) { // throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98379, "参数错误,薪资账套不存在或者已被删除")); // } // // 查询薪资账套的员工信息字段 // List salarySobEmpFieldPOS = salarySobEmpFieldService.listBySalarySobId(salarySobId, tenantKey); // // 查询薪资账套的薪资项目分类 // List salarySobItemGroupPOS = salarySobItemGroupService.listBySalarySobId(salarySobId, tenantKey); // // 查询薪资账套的薪资项目副本 // List salarySobItemPOS = listBySalarySobId(salarySobId, tenantKey); // // 薪资账套的薪资项目副本所用的公式id // Set formulaIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getFormulaId); // // 查询公式详情 // List expressFormulas = salaryFormulaService.listExpressFormula(formulaIds, tenantKey); // // 查询薪资账套的薪资项目副本所关联的薪资项目 // Set salaryItemIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getSalaryItemId); // List salaryItemPOS = salaryItemService.listByIds(salaryItemIds, tenantKey); // // 转换成聚合dto // SalarySobItemAggregateBO salarySobItemAggregateBO = new SalarySobItemAggregateBO(salarySobPO, salarySobEmpFieldPOS, // salarySobItemGroupPOS, salarySobItemPOS, expressFormulas, salaryItemPOS); // return salarySobItemAggregateBO.convert2AggregateDTO(); // } // // @Override // @Transactional(rollbackFor = Exception.class) // public void save(SalarySobItemSaveParam saveParam, Long employeeId, String tenantKey) { // // 查询薪资账套 // SalarySobPO salarySobPO = salarySobService.getById(saveParam.getSalarySobId(), tenantKey); // if (Objects.isNull(salarySobPO)) { // throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98379, "参数错误,薪资账套不存在或者已被删除")); // } // // 删除薪资账套的员工信息字段 // salarySobEmpFieldService.deleteBySalarySobIds(Collections.singleton(saveParam.getSalarySobId()), tenantKey); // // 删除薪资账套的薪资项目副本 // deleteBySalarySobIds(Collections.singleton(saveParam.getSalarySobId()), tenantKey); // // 删除薪资账套的薪资项目分类 // salarySobItemGroupService.deleteBySalarySobIds(Collections.singleton(saveParam.getSalarySobId()), tenantKey); // // // 处理保存参数 // SalarySobItemSaveBO.Result result = SalarySobItemSaveBO.handle(saveParam, employeeId, tenantKey); // // 保存薪资账套的员工信息字段 // if (CollectionUtils.isNotEmpty(result.getNeedInsertSalarySobEmpFields())) { // salarySobEmpFieldService.batchSave(result.getNeedInsertSalarySobEmpFields()); // } // // 保存薪资账套的薪资项目副本 // if (CollectionUtils.isNotEmpty(result.getNeedInsertSalarySobItems())) { // batchSave(result.getNeedInsertSalarySobItems()); // } // // 保存薪资账套的薪资项目分类 // if (CollectionUtils.isNotEmpty(result.getNeedInsertSalarySobItemGroups())) { // salarySobItemGroupService.batchSave(result.getNeedInsertSalarySobItemGroups()); // } // // 记录日志 // LoggerContext loggerContext = new LoggerContext<>(); // loggerContext.setTargetId("" + salarySobPO.getId()); // loggerContext.setTargetName(salarySobPO.getName()); // loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); // loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98613, "编辑薪资账套薪资项目")); // loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98613, "编辑薪资账套薪资项目")); // salarySobLoggerTemplate.write(loggerContext); // } // // @Override // public void batchSave(Collection salarySobItemPOS) { // salarySobItemMapper.batchInsert(salarySobItemPOS); // } // // @Override // public void deleteBySalarySobIds(Collection salarySobIds, String tenantKey) { // salarySobItemMapper.deleteBySalarySobIds(salarySobIds, tenantKey); // } }