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);
// }
}