修改详情逻辑

This commit is contained in:
2025-06-27 16:51:17 +08:00
parent b892c53103
commit c58021d683
2 changed files with 17 additions and 39 deletions

View File

@@ -52,7 +52,6 @@ public class SysOaFinanceController extends BaseController {
/**
* 查询进出账管理列表
*/
@SaCheckPermission("oa:finance:list")
@GetMapping("/list")
public TableDataInfo<SysOaFinanceVo> list(SysOaFinanceBo bo, PageQuery pageQuery) {
TableDataInfo<SysOaFinanceVo> sysOaFinanceVoTableDataInfo = iSysOaFinanceService.selectPageFinanceList(bo, pageQuery);

View File

@@ -39,7 +39,6 @@
<select id="selectVoByIdPlus"
parameterType="Long"
resultMap="OaAttendanceRecordResult">
SELECT r.record_id,
r.user_id,
r.relation_month,
@@ -52,51 +51,31 @@
r.project_ids,
r.over_num,
r.remark,
p.project_id,
p.project_name,
p.color,
IFNULL(m.work_times, 0) AS work_times,
IFNULL(m.hour_work_times, 0) AS hour_work_times,
IFNULL(m.over_time, 0) AS over_time,
IFNULL(m.trip_days, 0) AS trip_days
FROM oa_attendance_record r
LEFT JOIN sys_user u
ON u.user_id = r.user_id
LEFT JOIN sys_oa_project p
ON FIND_IN_SET(p.project_id, r.project_ids)
LEFT JOIN (SELECT user_id,
project_id,
DATE_FORMAT(create_time, '%Y-%m') AS relation_month,
COUNT(CASE WHEN project_id != 0 and project_id != 1 THEN 1 END) AS work_times,
SUM(CASE
WHEN project_id != 0
THEN IFNULL(hour, 0) + day_length * 8
ELSE 0 END) AS hour_work_times,
SUM(CASE
WHEN IFNULL(hour, 0) > 0
THEN (IFNULL(hour, 0)) - 8
ELSE 0 END) AS over_time,
SUM(CASE
WHEN project_id = 1
THEN day_length
ELSE 0 END) AS trip_days
FROM sys_oa_attendance
WHERE del_flag = 0
GROUP BY user_id, project_id, relation_month) m
ON m.user_id = r.user_id
AND m.project_id = p.project_id
AND m.relation_month = DATE_FORMAT(r.relation_month, '%Y-%m')
LEFT JOIN sys_user u ON u.user_id = r.user_id
LEFT JOIN sys_oa_project p ON FIND_IN_SET(p.project_id, r.project_ids)
LEFT JOIN (
SELECT user_id,
project_id,
DATE_FORMAT(create_time, '%Y-%m') AS relation_month,
COUNT(CASE WHEN project_id != 0 and project_id != 1 THEN 1 END) AS work_times,
SUM(CASE WHEN project_id != 0 THEN IFNULL(hour, 0) + day_length * 8 ELSE 0 END) AS hour_work_times,
SUM(CASE WHEN IFNULL(hour, 0) > 0 THEN (IFNULL(hour, 0)) - 8 ELSE 0 END) AS over_time,
SUM(CASE WHEN project_id = 1 THEN day_length ELSE 0 END) AS trip_days
FROM sys_oa_attendance
WHERE del_flag = 0
AND create_time &lt;= (SELECT calc_time FROM oa_attendance_record WHERE record_id = #{recordId})
GROUP BY user_id, project_id, relation_month
) m ON m.user_id = r.user_id
AND m.project_id = p.project_id
AND m.relation_month = DATE_FORMAT(r.relation_month, '%Y-%m')
WHERE r.del_flag = 0
AND r.record_id = #{recordId}
</select>