修改详情逻辑
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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 <= (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>
|
||||
|
||||
Reference in New Issue
Block a user