修改详情逻辑

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") @GetMapping("/list")
public TableDataInfo<SysOaFinanceVo> list(SysOaFinanceBo bo, PageQuery pageQuery) { public TableDataInfo<SysOaFinanceVo> list(SysOaFinanceBo bo, PageQuery pageQuery) {
TableDataInfo<SysOaFinanceVo> sysOaFinanceVoTableDataInfo = iSysOaFinanceService.selectPageFinanceList(bo, pageQuery); TableDataInfo<SysOaFinanceVo> sysOaFinanceVoTableDataInfo = iSysOaFinanceService.selectPageFinanceList(bo, pageQuery);

View File

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