feat(perf): 添加绩效考核相关服务接口和实体类

- 创建了考核维度评分明细服务接口及实现类
- 添加了月度绩效考核记录服务接口及实现类
- 实现了绩效系数换算、车间考核参数配置等相关服务
- 定义了绩效考核相关的实体类和业务对象
- 创建了绩效考核控制器提供CRUD操作接口
- 配置了数据库映射文件和结果集映射
- 实现了数据校验和分页查询功能
This commit is contained in:
2026-07-07 15:24:11 +08:00
parent abfd5e2ee6
commit 9b3c39f28f
83 changed files with 5952 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
package com.klp.perf.service;
import com.klp.perf.domain.PerfAppraisalDetail;
import com.klp.perf.domain.vo.PerfAppraisalDetailVo;
import com.klp.perf.domain.bo.PerfAppraisalDetailBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 考核维度评分明细Service接口
*
* @author klp
* @date 2026-07-07
*/
public interface IPerfAppraisalDetailService {
/**
* 查询考核维度评分明细
*/
PerfAppraisalDetailVo queryById(String id);
/**
* 查询考核维度评分明细列表
*/
TableDataInfo<PerfAppraisalDetailVo> queryPageList(PerfAppraisalDetailBo bo, PageQuery pageQuery);
/**
* 查询考核维度评分明细列表
*/
List<PerfAppraisalDetailVo> queryList(PerfAppraisalDetailBo bo);
/**
* 新增考核维度评分明细
*/
Boolean insertByBo(PerfAppraisalDetailBo bo);
/**
* 修改考核维度评分明细
*/
Boolean updateByBo(PerfAppraisalDetailBo bo);
/**
* 校验并批量删除考核维度评分明细信息
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.perf.service;
import com.klp.perf.domain.PerfAppraisal;
import com.klp.perf.domain.vo.PerfAppraisalVo;
import com.klp.perf.domain.bo.PerfAppraisalBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 月度绩效考核记录Service接口
*
* @author klp
* @date 2026-07-07
*/
public interface IPerfAppraisalService {
/**
* 查询月度绩效考核记录
*/
PerfAppraisalVo queryById(String id);
/**
* 查询月度绩效考核记录列表
*/
TableDataInfo<PerfAppraisalVo> queryPageList(PerfAppraisalBo bo, PageQuery pageQuery);
/**
* 查询月度绩效考核记录列表
*/
List<PerfAppraisalVo> queryList(PerfAppraisalBo bo);
/**
* 新增月度绩效考核记录
*/
Boolean insertByBo(PerfAppraisalBo bo);
/**
* 修改月度绩效考核记录
*/
Boolean updateByBo(PerfAppraisalBo bo);
/**
* 校验并批量删除月度绩效考核记录信息
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.perf.service;
import com.klp.perf.domain.PerfCoeffRange;
import com.klp.perf.domain.vo.PerfCoeffRangeVo;
import com.klp.perf.domain.bo.PerfCoeffRangeBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 绩效系数换算Service接口
*
* @author klp
* @date 2026-07-07
*/
public interface IPerfCoeffRangeService {
/**
* 查询绩效系数换算
*/
PerfCoeffRangeVo queryById(String id);
/**
* 查询绩效系数换算列表
*/
TableDataInfo<PerfCoeffRangeVo> queryPageList(PerfCoeffRangeBo bo, PageQuery pageQuery);
/**
* 查询绩效系数换算列表
*/
List<PerfCoeffRangeVo> queryList(PerfCoeffRangeBo bo);
/**
* 新增绩效系数换算
*/
Boolean insertByBo(PerfCoeffRangeBo bo);
/**
* 修改绩效系数换算
*/
Boolean updateByBo(PerfCoeffRangeBo bo);
/**
* 校验并批量删除绩效系数换算信息
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.perf.service;
import com.klp.perf.domain.PerfDeptConfig;
import com.klp.perf.domain.vo.PerfDeptConfigVo;
import com.klp.perf.domain.bo.PerfDeptConfigBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 车间考核参数配置Service接口
*
* @author klp
* @date 2026-07-07
*/
public interface IPerfDeptConfigService {
/**
* 查询车间考核参数配置
*/
PerfDeptConfigVo queryById(String id);
/**
* 查询车间考核参数配置列表
*/
TableDataInfo<PerfDeptConfigVo> queryPageList(PerfDeptConfigBo bo, PageQuery pageQuery);
/**
* 查询车间考核参数配置列表
*/
List<PerfDeptConfigVo> queryList(PerfDeptConfigBo bo);
/**
* 新增车间考核参数配置
*/
Boolean insertByBo(PerfDeptConfigBo bo);
/**
* 修改车间考核参数配置
*/
Boolean updateByBo(PerfDeptConfigBo bo);
/**
* 校验并批量删除车间考核参数配置信息
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.perf.service;
import com.klp.perf.domain.PerfDeptItemConfig;
import com.klp.perf.domain.vo.PerfDeptItemConfigVo;
import com.klp.perf.domain.bo.PerfDeptItemConfigBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 车间扣款/奖励项目配置Service接口
*
* @author klp
* @date 2026-07-07
*/
public interface IPerfDeptItemConfigService {
/**
* 查询车间扣款/奖励项目配置
*/
PerfDeptItemConfigVo queryById(String id);
/**
* 查询车间扣款/奖励项目配置列表
*/
TableDataInfo<PerfDeptItemConfigVo> queryPageList(PerfDeptItemConfigBo bo, PageQuery pageQuery);
/**
* 查询车间扣款/奖励项目配置列表
*/
List<PerfDeptItemConfigVo> queryList(PerfDeptItemConfigBo bo);
/**
* 新增车间扣款/奖励项目配置
*/
Boolean insertByBo(PerfDeptItemConfigBo bo);
/**
* 修改车间扣款/奖励项目配置
*/
Boolean updateByBo(PerfDeptItemConfigBo bo);
/**
* 校验并批量删除车间扣款/奖励项目配置信息
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.perf.service;
import com.klp.perf.domain.PerfDeptSummary;
import com.klp.perf.domain.vo.PerfDeptSummaryVo;
import com.klp.perf.domain.bo.PerfDeptSummaryBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 车间月度汇总Service接口
*
* @author klp
* @date 2026-07-07
*/
public interface IPerfDeptSummaryService {
/**
* 查询车间月度汇总
*/
PerfDeptSummaryVo queryById(String id);
/**
* 查询车间月度汇总列表
*/
TableDataInfo<PerfDeptSummaryVo> queryPageList(PerfDeptSummaryBo bo, PageQuery pageQuery);
/**
* 查询车间月度汇总列表
*/
List<PerfDeptSummaryVo> queryList(PerfDeptSummaryBo bo);
/**
* 新增车间月度汇总
*/
Boolean insertByBo(PerfDeptSummaryBo bo);
/**
* 修改车间月度汇总
*/
Boolean updateByBo(PerfDeptSummaryBo bo);
/**
* 校验并批量删除车间月度汇总信息
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.perf.service;
import com.klp.perf.domain.PerfEmployeeInfo;
import com.klp.perf.domain.vo.PerfEmployeeInfoVo;
import com.klp.perf.domain.bo.PerfEmployeeInfoBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 员工绩效薪资基本信息Service接口
*
* @author klp
* @date 2026-07-07
*/
public interface IPerfEmployeeInfoService {
/**
* 查询员工绩效薪资基本信息
*/
PerfEmployeeInfoVo queryById(String id);
/**
* 查询员工绩效薪资基本信息列表
*/
TableDataInfo<PerfEmployeeInfoVo> queryPageList(PerfEmployeeInfoBo bo, PageQuery pageQuery);
/**
* 查询员工绩效薪资基本信息列表
*/
List<PerfEmployeeInfoVo> queryList(PerfEmployeeInfoBo bo);
/**
* 新增员工绩效薪资基本信息
*/
Boolean insertByBo(PerfEmployeeInfoBo bo);
/**
* 修改员工绩效薪资基本信息
*/
Boolean updateByBo(PerfEmployeeInfoBo bo);
/**
* 校验并批量删除员工绩效薪资基本信息信息
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.perf.service;
import com.klp.perf.domain.PerfPositionTemplate;
import com.klp.perf.domain.vo.PerfPositionTemplateVo;
import com.klp.perf.domain.bo.PerfPositionTemplateBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 岗位绩效考核模板Service接口
*
* @author klp
* @date 2026-07-07
*/
public interface IPerfPositionTemplateService {
/**
* 查询岗位绩效考核模板
*/
PerfPositionTemplateVo queryById(String id);
/**
* 查询岗位绩效考核模板列表
*/
TableDataInfo<PerfPositionTemplateVo> queryPageList(PerfPositionTemplateBo bo, PageQuery pageQuery);
/**
* 查询岗位绩效考核模板列表
*/
List<PerfPositionTemplateVo> queryList(PerfPositionTemplateBo bo);
/**
* 新增岗位绩效考核模板
*/
Boolean insertByBo(PerfPositionTemplateBo bo);
/**
* 修改岗位绩效考核模板
*/
Boolean updateByBo(PerfPositionTemplateBo bo);
/**
* 校验并批量删除岗位绩效考核模板信息
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.perf.service;
import com.klp.perf.domain.PerfSalary;
import com.klp.perf.domain.vo.PerfSalaryVo;
import com.klp.perf.domain.bo.PerfSalaryBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 月度薪资计算记录Service接口
*
* @author klp
* @date 2026-07-07
*/
public interface IPerfSalaryService {
/**
* 查询月度薪资计算记录
*/
PerfSalaryVo queryById(String id);
/**
* 查询月度薪资计算记录列表
*/
TableDataInfo<PerfSalaryVo> queryPageList(PerfSalaryBo bo, PageQuery pageQuery);
/**
* 查询月度薪资计算记录列表
*/
List<PerfSalaryVo> queryList(PerfSalaryBo bo);
/**
* 新增月度薪资计算记录
*/
Boolean insertByBo(PerfSalaryBo bo);
/**
* 修改月度薪资计算记录
*/
Boolean updateByBo(PerfSalaryBo bo);
/**
* 校验并批量删除月度薪资计算记录信息
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.klp.perf.service;
import com.klp.perf.domain.PerfTemplateDimension;
import com.klp.perf.domain.vo.PerfTemplateDimensionVo;
import com.klp.perf.domain.bo.PerfTemplateDimensionBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 考核维度明细Service接口
*
* @author klp
* @date 2026-07-07
*/
public interface IPerfTemplateDimensionService {
/**
* 查询考核维度明细
*/
PerfTemplateDimensionVo queryById(String id);
/**
* 查询考核维度明细列表
*/
TableDataInfo<PerfTemplateDimensionVo> queryPageList(PerfTemplateDimensionBo bo, PageQuery pageQuery);
/**
* 查询考核维度明细列表
*/
List<PerfTemplateDimensionVo> queryList(PerfTemplateDimensionBo bo);
/**
* 新增考核维度明细
*/
Boolean insertByBo(PerfTemplateDimensionBo bo);
/**
* 修改考核维度明细
*/
Boolean updateByBo(PerfTemplateDimensionBo bo);
/**
* 校验并批量删除考核维度明细信息
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@@ -0,0 +1,120 @@
package com.klp.perf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.perf.domain.bo.PerfAppraisalDetailBo;
import com.klp.perf.domain.vo.PerfAppraisalDetailVo;
import com.klp.perf.domain.PerfAppraisalDetail;
import com.klp.perf.mapper.PerfAppraisalDetailMapper;
import com.klp.perf.service.IPerfAppraisalDetailService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 考核维度评分明细Service业务层处理
*
* @author klp
* @date 2026-07-07
*/
@RequiredArgsConstructor
@Service
public class PerfAppraisalDetailServiceImpl implements IPerfAppraisalDetailService {
private final PerfAppraisalDetailMapper baseMapper;
/**
* 查询考核维度评分明细
*/
@Override
public PerfAppraisalDetailVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 查询考核维度评分明细列表
*/
@Override
public TableDataInfo<PerfAppraisalDetailVo> queryPageList(PerfAppraisalDetailBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PerfAppraisalDetail> lqw = buildQueryWrapper(bo);
Page<PerfAppraisalDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询考核维度评分明细列表
*/
@Override
public List<PerfAppraisalDetailVo> queryList(PerfAppraisalDetailBo bo) {
LambdaQueryWrapper<PerfAppraisalDetail> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PerfAppraisalDetail> buildQueryWrapper(PerfAppraisalDetailBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PerfAppraisalDetail> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getAppraisalId()), PerfAppraisalDetail::getAppraisalId, bo.getAppraisalId());
lqw.eq(StringUtils.isNotBlank(bo.getDimensionId()), PerfAppraisalDetail::getDimensionId, bo.getDimensionId());
lqw.eq(StringUtils.isNotBlank(bo.getSeq()), PerfAppraisalDetail::getSeq, bo.getSeq());
lqw.like(StringUtils.isNotBlank(bo.getDimName()), PerfAppraisalDetail::getDimName, bo.getDimName());
lqw.eq(StringUtils.isNotBlank(bo.getWeight()), PerfAppraisalDetail::getWeight, bo.getWeight());
lqw.eq(StringUtils.isNotBlank(bo.getTargetValue()), PerfAppraisalDetail::getTargetValue, bo.getTargetValue());
lqw.eq(StringUtils.isNotBlank(bo.getActualValue()), PerfAppraisalDetail::getActualValue, bo.getActualValue());
lqw.eq(bo.getDimScore() != null, PerfAppraisalDetail::getDimScore, bo.getDimScore());
lqw.eq(bo.getBonus() != null, PerfAppraisalDetail::getBonus, bo.getBonus());
lqw.eq(bo.getPenalty() != null, PerfAppraisalDetail::getPenalty, bo.getPenalty());
lqw.eq(StringUtils.isNotBlank(bo.getScoreFormula()), PerfAppraisalDetail::getScoreFormula, bo.getScoreFormula());
lqw.eq(StringUtils.isNotBlank(bo.getScoreRule()), PerfAppraisalDetail::getScoreRule, bo.getScoreRule());
return lqw;
}
/**
* 新增考核维度评分明细
*/
@Override
public Boolean insertByBo(PerfAppraisalDetailBo bo) {
PerfAppraisalDetail add = BeanUtil.toBean(bo, PerfAppraisalDetail.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改考核维度评分明细
*/
@Override
public Boolean updateByBo(PerfAppraisalDetailBo bo) {
PerfAppraisalDetail update = BeanUtil.toBean(bo, PerfAppraisalDetail.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PerfAppraisalDetail entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除考核维度评分明细
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,121 @@
package com.klp.perf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.perf.domain.bo.PerfAppraisalBo;
import com.klp.perf.domain.vo.PerfAppraisalVo;
import com.klp.perf.domain.PerfAppraisal;
import com.klp.perf.mapper.PerfAppraisalMapper;
import com.klp.perf.service.IPerfAppraisalService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 月度绩效考核记录Service业务层处理
*
* @author klp
* @date 2026-07-07
*/
@RequiredArgsConstructor
@Service
public class PerfAppraisalServiceImpl implements IPerfAppraisalService {
private final PerfAppraisalMapper baseMapper;
/**
* 查询月度绩效考核记录
*/
@Override
public PerfAppraisalVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 查询月度绩效考核记录列表
*/
@Override
public TableDataInfo<PerfAppraisalVo> queryPageList(PerfAppraisalBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PerfAppraisal> lqw = buildQueryWrapper(bo);
Page<PerfAppraisalVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询月度绩效考核记录列表
*/
@Override
public List<PerfAppraisalVo> queryList(PerfAppraisalBo bo) {
LambdaQueryWrapper<PerfAppraisal> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PerfAppraisal> buildQueryWrapper(PerfAppraisalBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PerfAppraisal> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getEmployeeId()), PerfAppraisal::getEmployeeId, bo.getEmployeeId());
lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), PerfAppraisal::getDeptId, bo.getDeptId());
lqw.eq(StringUtils.isNotBlank(bo.getTemplateId()), PerfAppraisal::getTemplateId, bo.getTemplateId());
lqw.eq(StringUtils.isNotBlank(bo.getPeriod()), PerfAppraisal::getPeriod, bo.getPeriod());
lqw.eq(bo.getWeightedScore() != null, PerfAppraisal::getWeightedScore, bo.getWeightedScore());
lqw.eq(bo.getBonusScore() != null, PerfAppraisal::getBonusScore, bo.getBonusScore());
lqw.eq(bo.getPenaltyScore() != null, PerfAppraisal::getPenaltyScore, bo.getPenaltyScore());
lqw.eq(bo.getFinalScore() != null, PerfAppraisal::getFinalScore, bo.getFinalScore());
lqw.eq(StringUtils.isNotBlank(bo.getGrade()), PerfAppraisal::getGrade, bo.getGrade());
lqw.eq(bo.getPerfCoeff() != null, PerfAppraisal::getPerfCoeff, bo.getPerfCoeff());
lqw.eq(bo.getStatus() != null, PerfAppraisal::getStatus, bo.getStatus());
lqw.eq(bo.getConfirmedAt() != null, PerfAppraisal::getConfirmedAt, bo.getConfirmedAt());
lqw.eq(StringUtils.isNotBlank(bo.getConfirmedBy()), PerfAppraisal::getConfirmedBy, bo.getConfirmedBy());
return lqw;
}
/**
* 新增月度绩效考核记录
*/
@Override
public Boolean insertByBo(PerfAppraisalBo bo) {
PerfAppraisal add = BeanUtil.toBean(bo, PerfAppraisal.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改月度绩效考核记录
*/
@Override
public Boolean updateByBo(PerfAppraisalBo bo) {
PerfAppraisal update = BeanUtil.toBean(bo, PerfAppraisal.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PerfAppraisal entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除月度绩效考核记录
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,115 @@
package com.klp.perf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.perf.domain.bo.PerfCoeffRangeBo;
import com.klp.perf.domain.vo.PerfCoeffRangeVo;
import com.klp.perf.domain.PerfCoeffRange;
import com.klp.perf.mapper.PerfCoeffRangeMapper;
import com.klp.perf.service.IPerfCoeffRangeService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 绩效系数换算Service业务层处理
*
* @author klp
* @date 2026-07-07
*/
@RequiredArgsConstructor
@Service
public class PerfCoeffRangeServiceImpl implements IPerfCoeffRangeService {
private final PerfCoeffRangeMapper baseMapper;
/**
* 查询绩效系数换算
*/
@Override
public PerfCoeffRangeVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 查询绩效系数换算列表
*/
@Override
public TableDataInfo<PerfCoeffRangeVo> queryPageList(PerfCoeffRangeBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PerfCoeffRange> lqw = buildQueryWrapper(bo);
Page<PerfCoeffRangeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询绩效系数换算列表
*/
@Override
public List<PerfCoeffRangeVo> queryList(PerfCoeffRangeBo bo) {
LambdaQueryWrapper<PerfCoeffRange> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PerfCoeffRange> buildQueryWrapper(PerfCoeffRangeBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PerfCoeffRange> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getGrade()), PerfCoeffRange::getGrade, bo.getGrade());
lqw.eq(StringUtils.isNotBlank(bo.getGradeLabel()), PerfCoeffRange::getGradeLabel, bo.getGradeLabel());
lqw.eq(bo.getScoreMin() != null, PerfCoeffRange::getScoreMin, bo.getScoreMin());
lqw.eq(bo.getScoreMax() != null, PerfCoeffRange::getScoreMax, bo.getScoreMax());
lqw.eq(bo.getCoeffMin() != null, PerfCoeffRange::getCoeffMin, bo.getCoeffMin());
lqw.eq(bo.getCoeffMax() != null, PerfCoeffRange::getCoeffMax, bo.getCoeffMax());
lqw.eq(bo.getSortOrder() != null, PerfCoeffRange::getSortOrder, bo.getSortOrder());
return lqw;
}
/**
* 新增绩效系数换算
*/
@Override
public Boolean insertByBo(PerfCoeffRangeBo bo) {
PerfCoeffRange add = BeanUtil.toBean(bo, PerfCoeffRange.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改绩效系数换算
*/
@Override
public Boolean updateByBo(PerfCoeffRangeBo bo) {
PerfCoeffRange update = BeanUtil.toBean(bo, PerfCoeffRange.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PerfCoeffRange entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除绩效系数换算
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,120 @@
package com.klp.perf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.perf.domain.bo.PerfDeptConfigBo;
import com.klp.perf.domain.vo.PerfDeptConfigVo;
import com.klp.perf.domain.PerfDeptConfig;
import com.klp.perf.mapper.PerfDeptConfigMapper;
import com.klp.perf.service.IPerfDeptConfigService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 车间考核参数配置Service业务层处理
*
* @author klp
* @date 2026-07-07
*/
@RequiredArgsConstructor
@Service
public class PerfDeptConfigServiceImpl implements IPerfDeptConfigService {
private final PerfDeptConfigMapper baseMapper;
/**
* 查询车间考核参数配置
*/
@Override
public PerfDeptConfigVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 查询车间考核参数配置列表
*/
@Override
public TableDataInfo<PerfDeptConfigVo> queryPageList(PerfDeptConfigBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PerfDeptConfig> lqw = buildQueryWrapper(bo);
Page<PerfDeptConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询车间考核参数配置列表
*/
@Override
public List<PerfDeptConfigVo> queryList(PerfDeptConfigBo bo) {
LambdaQueryWrapper<PerfDeptConfig> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PerfDeptConfig> buildQueryWrapper(PerfDeptConfigBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PerfDeptConfig> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), PerfDeptConfig::getDeptId, bo.getDeptId());
lqw.eq(bo.getMonthlyProductionTarget() != null, PerfDeptConfig::getMonthlyProductionTarget, bo.getMonthlyProductionTarget());
lqw.eq(StringUtils.isNotBlank(bo.getProductionUnit()), PerfDeptConfig::getProductionUnit, bo.getProductionUnit());
lqw.eq(bo.getPerfUnitPrice() != null, PerfDeptConfig::getPerfUnitPrice, bo.getPerfUnitPrice());
lqw.eq(bo.getProductionShifts() != null, PerfDeptConfig::getProductionShifts, bo.getProductionShifts());
lqw.eq(bo.getGuaranteedShifts() != null, PerfDeptConfig::getGuaranteedShifts, bo.getGuaranteedShifts());
lqw.eq(bo.getDeptCoeff() != null, PerfDeptConfig::getDeptCoeff, bo.getDeptCoeff());
lqw.eq(bo.getSalaryMode() != null, PerfDeptConfig::getSalaryMode, bo.getSalaryMode());
lqw.eq(bo.getBaseDivisor() != null, PerfDeptConfig::getBaseDivisor, bo.getBaseDivisor());
lqw.eq(bo.getMonth() != null, PerfDeptConfig::getMonth, bo.getMonth());
lqw.eq(bo.getCreatedAt() != null, PerfDeptConfig::getCreatedAt, bo.getCreatedAt());
lqw.eq(bo.getUpdatedAt() != null, PerfDeptConfig::getUpdatedAt, bo.getUpdatedAt());
return lqw;
}
/**
* 新增车间考核参数配置
*/
@Override
public Boolean insertByBo(PerfDeptConfigBo bo) {
PerfDeptConfig add = BeanUtil.toBean(bo, PerfDeptConfig.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改车间考核参数配置
*/
@Override
public Boolean updateByBo(PerfDeptConfigBo bo) {
PerfDeptConfig update = BeanUtil.toBean(bo, PerfDeptConfig.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PerfDeptConfig entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除车间考核参数配置
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,114 @@
package com.klp.perf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.perf.domain.bo.PerfDeptItemConfigBo;
import com.klp.perf.domain.vo.PerfDeptItemConfigVo;
import com.klp.perf.domain.PerfDeptItemConfig;
import com.klp.perf.mapper.PerfDeptItemConfigMapper;
import com.klp.perf.service.IPerfDeptItemConfigService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 车间扣款/奖励项目配置Service业务层处理
*
* @author klp
* @date 2026-07-07
*/
@RequiredArgsConstructor
@Service
public class PerfDeptItemConfigServiceImpl implements IPerfDeptItemConfigService {
private final PerfDeptItemConfigMapper baseMapper;
/**
* 查询车间扣款/奖励项目配置
*/
@Override
public PerfDeptItemConfigVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 查询车间扣款/奖励项目配置列表
*/
@Override
public TableDataInfo<PerfDeptItemConfigVo> queryPageList(PerfDeptItemConfigBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PerfDeptItemConfig> lqw = buildQueryWrapper(bo);
Page<PerfDeptItemConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询车间扣款/奖励项目配置列表
*/
@Override
public List<PerfDeptItemConfigVo> queryList(PerfDeptItemConfigBo bo) {
LambdaQueryWrapper<PerfDeptItemConfig> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PerfDeptItemConfig> buildQueryWrapper(PerfDeptItemConfigBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PerfDeptItemConfig> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), PerfDeptItemConfig::getDeptId, bo.getDeptId());
lqw.eq(bo.getItemType() != null, PerfDeptItemConfig::getItemType, bo.getItemType());
lqw.like(StringUtils.isNotBlank(bo.getItemName()), PerfDeptItemConfig::getItemName, bo.getItemName());
lqw.eq(bo.getSortOrder() != null, PerfDeptItemConfig::getSortOrder, bo.getSortOrder());
lqw.eq(bo.getMonth() != null, PerfDeptItemConfig::getMonth, bo.getMonth());
lqw.eq(bo.getIsEnabled() != null, PerfDeptItemConfig::getIsEnabled, bo.getIsEnabled());
return lqw;
}
/**
* 新增车间扣款/奖励项目配置
*/
@Override
public Boolean insertByBo(PerfDeptItemConfigBo bo) {
PerfDeptItemConfig add = BeanUtil.toBean(bo, PerfDeptItemConfig.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改车间扣款/奖励项目配置
*/
@Override
public Boolean updateByBo(PerfDeptItemConfigBo bo) {
PerfDeptItemConfig update = BeanUtil.toBean(bo, PerfDeptItemConfig.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PerfDeptItemConfig entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除车间扣款/奖励项目配置
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,124 @@
package com.klp.perf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.perf.domain.bo.PerfDeptSummaryBo;
import com.klp.perf.domain.vo.PerfDeptSummaryVo;
import com.klp.perf.domain.PerfDeptSummary;
import com.klp.perf.mapper.PerfDeptSummaryMapper;
import com.klp.perf.service.IPerfDeptSummaryService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 车间月度汇总Service业务层处理
*
* @author klp
* @date 2026-07-07
*/
@RequiredArgsConstructor
@Service
public class PerfDeptSummaryServiceImpl implements IPerfDeptSummaryService {
private final PerfDeptSummaryMapper baseMapper;
/**
* 查询车间月度汇总
*/
@Override
public PerfDeptSummaryVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 查询车间月度汇总列表
*/
@Override
public TableDataInfo<PerfDeptSummaryVo> queryPageList(PerfDeptSummaryBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PerfDeptSummary> lqw = buildQueryWrapper(bo);
Page<PerfDeptSummaryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询车间月度汇总列表
*/
@Override
public List<PerfDeptSummaryVo> queryList(PerfDeptSummaryBo bo) {
LambdaQueryWrapper<PerfDeptSummary> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PerfDeptSummary> buildQueryWrapper(PerfDeptSummaryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PerfDeptSummary> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), PerfDeptSummary::getDeptId, bo.getDeptId());
lqw.eq(StringUtils.isNotBlank(bo.getPeriod()), PerfDeptSummary::getPeriod, bo.getPeriod());
lqw.eq(bo.getTotalEmployees() != null, PerfDeptSummary::getTotalEmployees, bo.getTotalEmployees());
lqw.eq(bo.getTotalCoeffSum() != null, PerfDeptSummary::getTotalCoeffSum, bo.getTotalCoeffSum());
lqw.eq(bo.getAvgPerfScore() != null, PerfDeptSummary::getAvgPerfScore, bo.getAvgPerfScore());
lqw.eq(bo.getAvgPerfCoeff() != null, PerfDeptSummary::getAvgPerfCoeff, bo.getAvgPerfCoeff());
lqw.eq(bo.getTotalBaseSalary() != null, PerfDeptSummary::getTotalBaseSalary, bo.getTotalBaseSalary());
lqw.eq(bo.getTotalPerfWage() != null, PerfDeptSummary::getTotalPerfWage, bo.getTotalPerfWage());
lqw.eq(bo.getTotalDeductions() != null, PerfDeptSummary::getTotalDeductions, bo.getTotalDeductions());
lqw.eq(bo.getTotalBonuses() != null, PerfDeptSummary::getTotalBonuses, bo.getTotalBonuses());
lqw.eq(bo.getTotalOther() != null, PerfDeptSummary::getTotalOther, bo.getTotalOther());
lqw.eq(bo.getTotalActualSalary() != null, PerfDeptSummary::getTotalActualSalary, bo.getTotalActualSalary());
lqw.eq(bo.getAvgActualSalary() != null, PerfDeptSummary::getAvgActualSalary, bo.getAvgActualSalary());
lqw.eq(bo.getMonthlyProduction() != null, PerfDeptSummary::getMonthlyProduction, bo.getMonthlyProduction());
lqw.eq(bo.getUnitPrice() != null, PerfDeptSummary::getUnitPrice, bo.getUnitPrice());
lqw.eq(bo.getStatus() != null, PerfDeptSummary::getStatus, bo.getStatus());
return lqw;
}
/**
* 新增车间月度汇总
*/
@Override
public Boolean insertByBo(PerfDeptSummaryBo bo) {
PerfDeptSummary add = BeanUtil.toBean(bo, PerfDeptSummary.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改车间月度汇总
*/
@Override
public Boolean updateByBo(PerfDeptSummaryBo bo) {
PerfDeptSummary update = BeanUtil.toBean(bo, PerfDeptSummary.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PerfDeptSummary entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除车间月度汇总
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,115 @@
package com.klp.perf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.perf.domain.bo.PerfEmployeeInfoBo;
import com.klp.perf.domain.vo.PerfEmployeeInfoVo;
import com.klp.perf.domain.PerfEmployeeInfo;
import com.klp.perf.mapper.PerfEmployeeInfoMapper;
import com.klp.perf.service.IPerfEmployeeInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 员工绩效薪资基本信息Service业务层处理
*
* @author klp
* @date 2026-07-07
*/
@RequiredArgsConstructor
@Service
public class PerfEmployeeInfoServiceImpl implements IPerfEmployeeInfoService {
private final PerfEmployeeInfoMapper baseMapper;
/**
* 查询员工绩效薪资基本信息
*/
@Override
public PerfEmployeeInfoVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 查询员工绩效薪资基本信息列表
*/
@Override
public TableDataInfo<PerfEmployeeInfoVo> queryPageList(PerfEmployeeInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PerfEmployeeInfo> lqw = buildQueryWrapper(bo);
Page<PerfEmployeeInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询员工绩效薪资基本信息列表
*/
@Override
public List<PerfEmployeeInfoVo> queryList(PerfEmployeeInfoBo bo) {
LambdaQueryWrapper<PerfEmployeeInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PerfEmployeeInfo> buildQueryWrapper(PerfEmployeeInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PerfEmployeeInfo> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getEmployeeId()), PerfEmployeeInfo::getEmployeeId, bo.getEmployeeId());
lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), PerfEmployeeInfo::getDeptId, bo.getDeptId());
lqw.like(StringUtils.isNotBlank(bo.getPositionName()), PerfEmployeeInfo::getPositionName, bo.getPositionName());
lqw.eq(bo.getBaseSalary() != null, PerfEmployeeInfo::getBaseSalary, bo.getBaseSalary());
lqw.eq(bo.getPerfBase() != null, PerfEmployeeInfo::getPerfBase, bo.getPerfBase());
lqw.eq(bo.getPosCoeffDefault() != null, PerfEmployeeInfo::getPosCoeffDefault, bo.getPosCoeffDefault());
lqw.eq(bo.getIsActive() != null, PerfEmployeeInfo::getIsActive, bo.getIsActive());
return lqw;
}
/**
* 新增员工绩效薪资基本信息
*/
@Override
public Boolean insertByBo(PerfEmployeeInfoBo bo) {
PerfEmployeeInfo add = BeanUtil.toBean(bo, PerfEmployeeInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改员工绩效薪资基本信息
*/
@Override
public Boolean updateByBo(PerfEmployeeInfoBo bo) {
PerfEmployeeInfo update = BeanUtil.toBean(bo, PerfEmployeeInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PerfEmployeeInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除员工绩效薪资基本信息
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,112 @@
package com.klp.perf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.perf.domain.bo.PerfPositionTemplateBo;
import com.klp.perf.domain.vo.PerfPositionTemplateVo;
import com.klp.perf.domain.PerfPositionTemplate;
import com.klp.perf.mapper.PerfPositionTemplateMapper;
import com.klp.perf.service.IPerfPositionTemplateService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 岗位绩效考核模板Service业务层处理
*
* @author klp
* @date 2026-07-07
*/
@RequiredArgsConstructor
@Service
public class PerfPositionTemplateServiceImpl implements IPerfPositionTemplateService {
private final PerfPositionTemplateMapper baseMapper;
/**
* 查询岗位绩效考核模板
*/
@Override
public PerfPositionTemplateVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 查询岗位绩效考核模板列表
*/
@Override
public TableDataInfo<PerfPositionTemplateVo> queryPageList(PerfPositionTemplateBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PerfPositionTemplate> lqw = buildQueryWrapper(bo);
Page<PerfPositionTemplateVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询岗位绩效考核模板列表
*/
@Override
public List<PerfPositionTemplateVo> queryList(PerfPositionTemplateBo bo) {
LambdaQueryWrapper<PerfPositionTemplate> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PerfPositionTemplate> buildQueryWrapper(PerfPositionTemplateBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PerfPositionTemplate> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), PerfPositionTemplate::getDeptId, bo.getDeptId());
lqw.like(StringUtils.isNotBlank(bo.getPositionName()), PerfPositionTemplate::getPositionName, bo.getPositionName());
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), PerfPositionTemplate::getTitle, bo.getTitle());
lqw.eq(bo.getIsEnabled() != null, PerfPositionTemplate::getIsEnabled, bo.getIsEnabled());
return lqw;
}
/**
* 新增岗位绩效考核模板
*/
@Override
public Boolean insertByBo(PerfPositionTemplateBo bo) {
PerfPositionTemplate add = BeanUtil.toBean(bo, PerfPositionTemplate.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改岗位绩效考核模板
*/
@Override
public Boolean updateByBo(PerfPositionTemplateBo bo) {
PerfPositionTemplate update = BeanUtil.toBean(bo, PerfPositionTemplate.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PerfPositionTemplate entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除岗位绩效考核模板
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,137 @@
package com.klp.perf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.perf.domain.bo.PerfSalaryBo;
import com.klp.perf.domain.vo.PerfSalaryVo;
import com.klp.perf.domain.PerfSalary;
import com.klp.perf.mapper.PerfSalaryMapper;
import com.klp.perf.service.IPerfSalaryService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 月度薪资计算记录Service业务层处理
*
* @author klp
* @date 2026-07-07
*/
@RequiredArgsConstructor
@Service
public class PerfSalaryServiceImpl implements IPerfSalaryService {
private final PerfSalaryMapper baseMapper;
/**
* 查询月度薪资计算记录
*/
@Override
public PerfSalaryVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 查询月度薪资计算记录列表
*/
@Override
public TableDataInfo<PerfSalaryVo> queryPageList(PerfSalaryBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PerfSalary> lqw = buildQueryWrapper(bo);
Page<PerfSalaryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询月度薪资计算记录列表
*/
@Override
public List<PerfSalaryVo> queryList(PerfSalaryBo bo) {
LambdaQueryWrapper<PerfSalary> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PerfSalary> buildQueryWrapper(PerfSalaryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PerfSalary> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getEmployeeId()), PerfSalary::getEmployeeId, bo.getEmployeeId());
lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), PerfSalary::getDeptId, bo.getDeptId());
lqw.eq(StringUtils.isNotBlank(bo.getAppraisalId()), PerfSalary::getAppraisalId, bo.getAppraisalId());
lqw.eq(StringUtils.isNotBlank(bo.getPeriod()), PerfSalary::getPeriod, bo.getPeriod());
lqw.eq(bo.getBaseSalary() != null, PerfSalary::getBaseSalary, bo.getBaseSalary());
lqw.eq(bo.getPerfBase() != null, PerfSalary::getPerfBase, bo.getPerfBase());
lqw.eq(bo.getPerfScore() != null, PerfSalary::getPerfScore, bo.getPerfScore());
lqw.eq(bo.getPerfCoeff() != null, PerfSalary::getPerfCoeff, bo.getPerfCoeff());
lqw.eq(bo.getDeptCoeff() != null, PerfSalary::getDeptCoeff, bo.getDeptCoeff());
lqw.eq(bo.getPerfWage() != null, PerfSalary::getPerfWage, bo.getPerfWage());
lqw.eq(bo.getPosCoeff() != null, PerfSalary::getPosCoeff, bo.getPosCoeff());
lqw.eq(bo.getFixedCoeff() != null, PerfSalary::getFixedCoeff, bo.getFixedCoeff());
lqw.eq(bo.getAdjCoeff() != null, PerfSalary::getAdjCoeff, bo.getAdjCoeff());
lqw.eq(bo.getAdjCoeffManual() != null, PerfSalary::getAdjCoeffManual, bo.getAdjCoeffManual());
lqw.eq(bo.getTotalCoeff() != null, PerfSalary::getTotalCoeff, bo.getTotalCoeff());
lqw.eq(StringUtils.isNotBlank(bo.getDeductionsJson()), PerfSalary::getDeductionsJson, bo.getDeductionsJson());
lqw.eq(bo.getDeductionsTotal() != null, PerfSalary::getDeductionsTotal, bo.getDeductionsTotal());
lqw.eq(StringUtils.isNotBlank(bo.getBonusesJson()), PerfSalary::getBonusesJson, bo.getBonusesJson());
lqw.eq(bo.getBonusesTotal() != null, PerfSalary::getBonusesTotal, bo.getBonusesTotal());
lqw.eq(bo.getOtherAmount() != null, PerfSalary::getOtherAmount, bo.getOtherAmount());
lqw.eq(bo.getActualSalary() != null, PerfSalary::getActualSalary, bo.getActualSalary());
lqw.eq(bo.getFixedSalaryRef() != null, PerfSalary::getFixedSalaryRef, bo.getFixedSalaryRef());
lqw.eq(bo.getAdjSalaryRef() != null, PerfSalary::getAdjSalaryRef, bo.getAdjSalaryRef());
lqw.eq(bo.getBaoPerShiftRef() != null, PerfSalary::getBaoPerShiftRef, bo.getBaoPerShiftRef());
lqw.eq(bo.getBaoSalaryRef() != null, PerfSalary::getBaoSalaryRef, bo.getBaoSalaryRef());
lqw.eq(bo.getTotalSalaryRef() != null, PerfSalary::getTotalSalaryRef, bo.getTotalSalaryRef());
lqw.eq(bo.getStatus() != null, PerfSalary::getStatus, bo.getStatus());
lqw.eq(bo.getConfirmedAt() != null, PerfSalary::getConfirmedAt, bo.getConfirmedAt());
lqw.eq(StringUtils.isNotBlank(bo.getConfirmedBy()), PerfSalary::getConfirmedBy, bo.getConfirmedBy());
return lqw;
}
/**
* 新增月度薪资计算记录
*/
@Override
public Boolean insertByBo(PerfSalaryBo bo) {
PerfSalary add = BeanUtil.toBean(bo, PerfSalary.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改月度薪资计算记录
*/
@Override
public Boolean updateByBo(PerfSalaryBo bo) {
PerfSalary update = BeanUtil.toBean(bo, PerfSalary.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PerfSalary entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除月度薪资计算记录
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,117 @@
package com.klp.perf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.perf.domain.bo.PerfTemplateDimensionBo;
import com.klp.perf.domain.vo.PerfTemplateDimensionVo;
import com.klp.perf.domain.PerfTemplateDimension;
import com.klp.perf.mapper.PerfTemplateDimensionMapper;
import com.klp.perf.service.IPerfTemplateDimensionService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 考核维度明细Service业务层处理
*
* @author klp
* @date 2026-07-07
*/
@RequiredArgsConstructor
@Service
public class PerfTemplateDimensionServiceImpl implements IPerfTemplateDimensionService {
private final PerfTemplateDimensionMapper baseMapper;
/**
* 查询考核维度明细
*/
@Override
public PerfTemplateDimensionVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 查询考核维度明细列表
*/
@Override
public TableDataInfo<PerfTemplateDimensionVo> queryPageList(PerfTemplateDimensionBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PerfTemplateDimension> lqw = buildQueryWrapper(bo);
Page<PerfTemplateDimensionVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询考核维度明细列表
*/
@Override
public List<PerfTemplateDimensionVo> queryList(PerfTemplateDimensionBo bo) {
LambdaQueryWrapper<PerfTemplateDimension> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PerfTemplateDimension> buildQueryWrapper(PerfTemplateDimensionBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PerfTemplateDimension> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getTemplateId()), PerfTemplateDimension::getTemplateId, bo.getTemplateId());
lqw.eq(StringUtils.isNotBlank(bo.getSeq()), PerfTemplateDimension::getSeq, bo.getSeq());
lqw.like(StringUtils.isNotBlank(bo.getDimName()), PerfTemplateDimension::getDimName, bo.getDimName());
lqw.eq(StringUtils.isNotBlank(bo.getWeight()), PerfTemplateDimension::getWeight, bo.getWeight());
lqw.eq(StringUtils.isNotBlank(bo.getIndicator()), PerfTemplateDimension::getIndicator, bo.getIndicator());
lqw.eq(StringUtils.isNotBlank(bo.getTargetValue()), PerfTemplateDimension::getTargetValue, bo.getTargetValue());
lqw.eq(StringUtils.isNotBlank(bo.getScoreFormula()), PerfTemplateDimension::getScoreFormula, bo.getScoreFormula());
lqw.eq(StringUtils.isNotBlank(bo.getScoreRule()), PerfTemplateDimension::getScoreRule, bo.getScoreRule());
lqw.eq(bo.getIsEnabled() != null, PerfTemplateDimension::getIsEnabled, bo.getIsEnabled());
return lqw;
}
/**
* 新增考核维度明细
*/
@Override
public Boolean insertByBo(PerfTemplateDimensionBo bo) {
PerfTemplateDimension add = BeanUtil.toBean(bo, PerfTemplateDimension.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改考核维度明细
*/
@Override
public Boolean updateByBo(PerfTemplateDimensionBo bo) {
PerfTemplateDimension update = BeanUtil.toBean(bo, PerfTemplateDimension.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PerfTemplateDimension entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除考核维度明细
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}