This commit is contained in:
2025-03-09 21:44:39 +08:00
parent b600f7f5af
commit b400a1e0bc
11 changed files with 248 additions and 106 deletions

View File

@@ -20,6 +20,13 @@
</resultMap>
<delete id="delByPayTime" parameterType="Date">
DELETE FROM oa_salary
WHERE YEAR(pay_time) = YEAR(#{payTime})
AND MONTH(pay_time) = MONTH(#{payTime})
</delete>
<select id="selectStaffVoPage" resultMap="OaSalaryResult">
SELECT
os.salary_id,
@@ -45,13 +52,10 @@
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>
${ew.customSqlSegment}
and
YEAR(os.pay_time) = YEAR(#{payTime})
AND MONTH(os.pay_time) = MONTH(#{payTime})
<if test="ew != null and ew.customSqlSegment != null and ew.customSqlSegment != ''">
AND ${ew.customSqlSegment}
</if>
</where>
GROUP BY
os.salary_id,
os.user_id,
@@ -69,5 +73,48 @@
select * from oa_salary where user_id = #{userId}
</select>
<select id="selectVoAndItemVoById" resultType="com.ruoyi.oa.domain.vo.OaSalaryVo">
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 THEN -osi.price
ELSE 0
END
), 0)
) AS real_salary,
osi.salary_item_id,
osi.reason,
osi.price,
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 os.salary_id = #{salaryId}
and
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
</select>
</mapper>