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,30 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.perf.mapper.PerfAppraisalDetailMapper">
<resultMap type="com.klp.perf.domain.PerfAppraisalDetail" id="PerfAppraisalDetailResult">
<result property="id" column="id"/>
<result property="appraisalId" column="appraisal_id"/>
<result property="dimensionId" column="dimension_id"/>
<result property="seq" column="seq"/>
<result property="dimName" column="dim_name"/>
<result property="weight" column="weight"/>
<result property="targetValue" column="target_value"/>
<result property="actualValue" column="actual_value"/>
<result property="dimScore" column="dim_score"/>
<result property="bonus" column="bonus"/>
<result property="penalty" column="penalty"/>
<result property="scoreFormula" column="score_formula"/>
<result property="scoreRule" column="score_rule"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.perf.mapper.PerfAppraisalMapper">
<resultMap type="com.klp.perf.domain.PerfAppraisal" id="PerfAppraisalResult">
<result property="id" column="id"/>
<result property="employeeId" column="employee_id"/>
<result property="deptId" column="dept_id"/>
<result property="templateId" column="template_id"/>
<result property="period" column="period"/>
<result property="weightedScore" column="weighted_score"/>
<result property="bonusScore" column="bonus_score"/>
<result property="penaltyScore" column="penalty_score"/>
<result property="finalScore" column="final_score"/>
<result property="grade" column="grade"/>
<result property="perfCoeff" column="perf_coeff"/>
<result property="status" column="status"/>
<result property="confirmedAt" column="confirmed_at"/>
<result property="confirmedBy" column="confirmed_by"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.perf.mapper.PerfCoeffRangeMapper">
<resultMap type="com.klp.perf.domain.PerfCoeffRange" id="PerfCoeffRangeResult">
<result property="id" column="id"/>
<result property="grade" column="grade"/>
<result property="gradeLabel" column="grade_label"/>
<result property="scoreMin" column="score_min"/>
<result property="scoreMax" column="score_max"/>
<result property="coeffMin" column="coeff_min"/>
<result property="coeffMax" column="coeff_max"/>
<result property="sortOrder" column="sort_order"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.perf.mapper.PerfDeptConfigMapper">
<resultMap type="com.klp.perf.domain.PerfDeptConfig" id="PerfDeptConfigResult">
<result property="id" column="id"/>
<result property="deptId" column="dept_id"/>
<result property="monthlyProductionTarget" column="monthly_production_target"/>
<result property="productionUnit" column="production_unit"/>
<result property="perfUnitPrice" column="perf_unit_price"/>
<result property="productionShifts" column="production_shifts"/>
<result property="guaranteedShifts" column="guaranteed_shifts"/>
<result property="deptCoeff" column="dept_coeff"/>
<result property="salaryMode" column="salary_mode"/>
<result property="baseDivisor" column="base_divisor"/>
<result property="month" column="month"/>
<result property="remark" column="remark"/>
<result property="createdAt" column="created_at"/>
<result property="updatedAt" column="updated_at"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.perf.mapper.PerfDeptItemConfigMapper">
<resultMap type="com.klp.perf.domain.PerfDeptItemConfig" id="PerfDeptItemConfigResult">
<result property="id" column="id"/>
<result property="deptId" column="dept_id"/>
<result property="itemType" column="item_type"/>
<result property="itemName" column="item_name"/>
<result property="sortOrder" column="sort_order"/>
<result property="month" column="month"/>
<result property="isEnabled" column="is_enabled"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.perf.mapper.PerfDeptSummaryMapper">
<resultMap type="com.klp.perf.domain.PerfDeptSummary" id="PerfDeptSummaryResult">
<result property="id" column="id"/>
<result property="deptId" column="dept_id"/>
<result property="period" column="period"/>
<result property="totalEmployees" column="total_employees"/>
<result property="totalCoeffSum" column="total_coeff_sum"/>
<result property="avgPerfScore" column="avg_perf_score"/>
<result property="avgPerfCoeff" column="avg_perf_coeff"/>
<result property="totalBaseSalary" column="total_base_salary"/>
<result property="totalPerfWage" column="total_perf_wage"/>
<result property="totalDeductions" column="total_deductions"/>
<result property="totalBonuses" column="total_bonuses"/>
<result property="totalOther" column="total_other"/>
<result property="totalActualSalary" column="total_actual_salary"/>
<result property="avgActualSalary" column="avg_actual_salary"/>
<result property="monthlyProduction" column="monthly_production"/>
<result property="unitPrice" column="unit_price"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.perf.mapper.PerfEmployeeInfoMapper">
<resultMap type="com.klp.perf.domain.PerfEmployeeInfo" id="PerfEmployeeInfoResult">
<result property="id" column="id"/>
<result property="employeeId" column="employee_id"/>
<result property="deptId" column="dept_id"/>
<result property="positionName" column="position_name"/>
<result property="baseSalary" column="base_salary"/>
<result property="perfBase" column="perf_base"/>
<result property="posCoeffDefault" column="pos_coeff_default"/>
<result property="isActive" column="is_active"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.perf.mapper.PerfPositionTemplateMapper">
<resultMap type="com.klp.perf.domain.PerfPositionTemplate" id="PerfPositionTemplateResult">
<result property="id" column="id"/>
<result property="deptId" column="dept_id"/>
<result property="positionName" column="position_name"/>
<result property="title" column="title"/>
<result property="isEnabled" column="is_enabled"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.perf.mapper.PerfSalaryMapper">
<resultMap type="com.klp.perf.domain.PerfSalary" id="PerfSalaryResult">
<result property="id" column="id"/>
<result property="employeeId" column="employee_id"/>
<result property="deptId" column="dept_id"/>
<result property="appraisalId" column="appraisal_id"/>
<result property="period" column="period"/>
<result property="baseSalary" column="base_salary"/>
<result property="perfBase" column="perf_base"/>
<result property="perfScore" column="perf_score"/>
<result property="perfCoeff" column="perf_coeff"/>
<result property="deptCoeff" column="dept_coeff"/>
<result property="perfWage" column="perf_wage"/>
<result property="posCoeff" column="pos_coeff"/>
<result property="fixedCoeff" column="fixed_coeff"/>
<result property="adjCoeff" column="adj_coeff"/>
<result property="adjCoeffManual" column="adj_coeff_manual"/>
<result property="totalCoeff" column="total_coeff"/>
<result property="deductionsJson" column="deductions_json"/>
<result property="deductionsTotal" column="deductions_total"/>
<result property="bonusesJson" column="bonuses_json"/>
<result property="bonusesTotal" column="bonuses_total"/>
<result property="otherAmount" column="other_amount"/>
<result property="actualSalary" column="actual_salary"/>
<result property="fixedSalaryRef" column="fixed_salary_ref"/>
<result property="adjSalaryRef" column="adj_salary_ref"/>
<result property="baoPerShiftRef" column="bao_per_shift_ref"/>
<result property="baoSalaryRef" column="bao_salary_ref"/>
<result property="totalSalaryRef" column="total_salary_ref"/>
<result property="status" column="status"/>
<result property="confirmedAt" column="confirmed_at"/>
<result property="confirmedBy" column="confirmed_by"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.perf.mapper.PerfTemplateDimensionMapper">
<resultMap type="com.klp.perf.domain.PerfTemplateDimension" id="PerfTemplateDimensionResult">
<result property="id" column="id"/>
<result property="templateId" column="template_id"/>
<result property="seq" column="seq"/>
<result property="dimName" column="dim_name"/>
<result property="weight" column="weight"/>
<result property="indicator" column="indicator"/>
<result property="targetValue" column="target_value"/>
<result property="scoreFormula" column="score_formula"/>
<result property="scoreRule" column="score_rule"/>
<result property="isEnabled" column="is_enabled"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>