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