bug修复

This commit is contained in:
2025-03-18 11:52:24 +08:00
parent c0fe9c8885
commit dffce9e679
15 changed files with 125 additions and 55 deletions

View File

@@ -73,6 +73,8 @@
LEFT JOIN sys_user su
ON su.user_id = eo.user_id
${ew.getCustomSqlSegment}
</select>

View File

@@ -17,6 +17,7 @@
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="nickName" column="nick_name"/>
<result property="punishSalary" column="punish_salary"/>
</resultMap>
@@ -25,51 +26,56 @@
WHERE YEAR(pay_time) = YEAR(#{payTime})
AND MONTH(pay_time) = MONTH(#{payTime})
</delete>
<delete id="delItemByPayYearMonth" parameterType="Date">
DELETE FROM oa_salary_item
WHERE YEAR(sign_time) = YEAR(#{payTime})
AND MONTH(sign_time) = MONTH(#{payTime})
</delete>
<select id="selectStaffVoPage" resultMap="OaSalaryResult">
SELECT
SELECT
os.salary_id,
os.user_id,
os.pay_time,
(
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.sign_time,
su.nick_name,
labor_cost as base_salary
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
os.base_salary,
COALESCE(
SUM(
CASE
WHEN osi.flag = 1 THEN osi.price
WHEN osi.flag = 0 THEN -osi.price
ELSE 0
END
),
0
) AS punish_salary
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})
AND osi.del_flag = '0'
LEFT JOIN sys_user su
ON os.user_id = su.user_id
${ew.customSqlSegment}
and
YEAR(os.pay_time) = YEAR(#{payTime})
AND MONTH(os.pay_time) = MONTH(#{payTime})
GROUP BY
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
su.nick_name,
os.base_salary
</select>
<select id="selectVoByUserId" resultType="com.ruoyi.oa.domain.OaSalary">
select * from oa_salary where user_id = #{userId}
select * from oa_salary
where user_id = #{userId}
and YEAR(pay_time) = YEAR(#{yearMonth})
and MONTH(pay_time) = MONTH(#{yearMonth})
</select>
<select id="selectVoAndItemVoById" resultType="com.ruoyi.oa.domain.vo.OaSalaryVo">

View File

@@ -38,4 +38,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="queryWorkDayNumByMonth" resultType="java.lang.Long">
SELECT
count(*)
FROM sys_oa_holiday soh
where (soh.type ='0' or soh.type ='3')
and YEAR(#{payTime}) = YEAR(soh.holiday_time)
and MONTH(#{payTime}) = MONTH(soh.holiday_time)
</select>
</mapper>