package com.engine.salary.service.impl; import com.engine.core.impl.Service; import com.engine.salary.biz.SalarySobAdjustRuleBiz; import com.engine.salary.entity.salarysob.bo.SalarySobAdjustRuleBO; import com.engine.salary.entity.salarysob.param.SalarySobAdjustRuleSaveParam; import com.engine.salary.entity.salarysob.po.SalarySobAdjustRulePO; import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.salarysob.SalarySobAdjustRuleMapper; import com.engine.salary.mapper.salarysob.SalarySobMapper; import com.engine.salary.service.SalarySobAdjustRuleService; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.valid.ValidUtil; import org.apache.commons.collections4.CollectionUtils; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Objects; /** * 调薪计薪规则 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public class SalarySobAdjustRuleServiceImpl extends Service implements SalarySobAdjustRuleService { private SalarySobAdjustRuleBiz salarySobAdjustRuleMapper = new SalarySobAdjustRuleBiz(); SalarySobMapper getSalarySobMapper(){ return MapperProxyFactory.getProxy(SalarySobMapper.class); } SalarySobAdjustRuleMapper getSalarySobAdjustRuleMapper(){ return MapperProxyFactory.getProxy(SalarySobAdjustRuleMapper.class); } // private LoggerTemplate salarySobLoggerTemplate; @Override public List listBySalarySobId(Long salarySobId) { if (salarySobId == null) { return Collections.emptyList(); } return salarySobAdjustRuleMapper.listBySalarySobId(salarySobId); } @Override public void save(SalarySobAdjustRuleSaveParam saveParam) { ValidUtil.doValidator(saveParam); //开启事务 // SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); // try { // 查询薪资账套 SalarySobPO salarySobPO = getSalarySobMapper().getById(saveParam.getSalarySobId()); if (Objects.isNull(salarySobPO)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98379, "参数错误,薪资账套不存在或者已被删除")); } // 删除之前的调薪计薪规则 getSalarySobAdjustRuleMapper().deleteBySalarySobIds(Collections.singleton(saveParam.getSalarySobId())); // 保存参数转换成薪资账套的调薪计薪规则po List salarySobAdjustRulePOS = SalarySobAdjustRuleBO.convert2PO(saveParam, (long) user.getUID()); // 保存 if (CollectionUtils.isNotEmpty(salarySobAdjustRulePOS)) { salarySobAdjustRuleMapper.batchInsert(salarySobAdjustRulePOS); } // 记录日志 // LoggerContext loggerContext = new LoggerContext<>(); // loggerContext.setTargetId(String.valueOf(salarySobPO.getId())); // loggerContext.setTargetName(salarySobPO.getName()); // loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); // loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98614, "保存调薪计薪规则")); // loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98614, "保存调薪计薪规则")); // salarySobLoggerTemplate.write(loggerContext); // } catch (Exception e) { // sqlSession.rollback(); // throw new SalaryRunTimeException(e); // }finally { // sqlSession.commit(); // sqlSession.close(); // } } @Override public void batchSave(Collection salarySobAdjustRulePOS) { salarySobAdjustRuleMapper.batchInsert(salarySobAdjustRulePOS); } @Override public void deleteBySalarySobIds(Collection salarySobIds) { salarySobAdjustRuleMapper.deleteBySalarySobIds(salarySobIds); } }