薪资计算初步,等待脚本完善
This commit is contained in:
24
ruoyi-oa/src/main/resources/mapper/oa/OaSalaryItemMapper.xml
Normal file
24
ruoyi-oa/src/main/resources/mapper/oa/OaSalaryItemMapper.xml
Normal 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.ruoyi.oa.mapper.OaSalaryItemMapper">
|
||||
|
||||
<resultMap type="com.ruoyi.oa.domain.OaSalaryItem" id="OaSalaryItemResult">
|
||||
<result property="salaryItemId" column="salary_item_id"/>
|
||||
<result property="type" column="type"/>
|
||||
<result property="reason" column="reason"/>
|
||||
<result property="price" column="price"/>
|
||||
<result property="flag" column="flag"/>
|
||||
<result property="salaryId" column="salary_id"/>
|
||||
<result property="signTime" column="sign_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
52
ruoyi-oa/src/main/resources/mapper/oa/OaSalaryMapper.xml
Normal file
52
ruoyi-oa/src/main/resources/mapper/oa/OaSalaryMapper.xml
Normal file
@@ -0,0 +1,52 @@
|
||||
<?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.ruoyi.oa.mapper.OaSalaryMapper">
|
||||
|
||||
<resultMap type="com.ruoyi.oa.domain.vo.OaSalaryVo" id="OaSalaryResult">
|
||||
<result property="salaryId" column="salary_id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="realSalary" column="real_salary"/>
|
||||
<result property="payTime" column="pay_time"/>
|
||||
<result property="baseSalary" column="base_salary"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="nickName" column="nick_name"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="selectStaffVoPage" resultMap="OaSalaryResult">
|
||||
SELECT
|
||||
os.salary_id,
|
||||
os.user_id,
|
||||
os.pay_time,
|
||||
os.base_salary,
|
||||
(os.base_salary * DAY(LAST_DAY(#{payTime})) +
|
||||
COALESCE(SUM(CASE
|
||||
WHEN osi.flag = 1 THEN osi.price
|
||||
WHEN osi.flag = 0 AND osi.type = 3 THEN -2 * osi.price
|
||||
WHEN osi.flag = 0 THEN -osi.price
|
||||
ELSE 0
|
||||
END), 0)
|
||||
) AS real_salary,
|
||||
osi.salary_item_id,
|
||||
osi.sign_time,
|
||||
su.nick_name
|
||||
FROM oa_salary os
|
||||
LEFT JOIN oa_salary_item osi ON osi.salary_id = os.salary_id
|
||||
AND YEAR(osi.sign_time) = YEAR(#{payTime})
|
||||
AND MONTH(osi.sign_time) = MONTH(#{payTime})
|
||||
LEFT JOIN sys_user su on os.user_id = su.user_id
|
||||
WHERE YEAR(os.pay_time) = YEAR(#{payTime})
|
||||
AND MONTH(os.pay_time) = MONTH(#{payTime})
|
||||
GROUP BY os.salary_id, os.user_id, os.pay_time, os.base_salary, osi.salary_item_id, osi.type, osi.reason, osi.price, osi.sign_time;
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user