Skip to content

Commit ce97961

Browse files
authored
Merge pull request #136 from Mango-Butter/dev
release: dev -> main
2 parents eb9db45 + 11a754a commit ce97961

2 files changed

Lines changed: 81 additions & 84 deletions

File tree

app/src/main/resources/data.sql

Lines changed: 78 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ VALUES (1, 'test1@ajou.ac.kr', '망고보스', null, '010-1234-5678', '11111111'
1818
(6, 'test6@ajou.ac.kr', '정알바', null, '010-7712-2367', '66666666', '1997-09-01',
1919
'http://k.kakaocdn.net/dn/bD4Rih/btsNXAxY4w1/XuxLt8jAsnIA5ZaHVjkE0k/img_110x110.jpg',
2020
'STAFF', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
21-
(999, 'test999@ajou.ac.kr', '이관수', null, '010-1231-2231', '999', '1990-06-09',
22-
'http://k.kakaocdn.net/dn/bD4Rih/btsNXAxY4w1/XuxLt8jAsnIA5ZaHVjkE0k/img_110x110.jpg',
23-
'ADMIN', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
2421

2522
INSERT INTO store (store_id, boss_id, name, address, business_number, store_type, invite_code,
2623
attendance_method, gps_range_meters, gps_latitude, gps_longitude, qr_code, overtime_limit,
@@ -29,17 +26,15 @@ VALUES (1, 1, '망고쥬스', '경기도 수원시 영통구 월드컵로 206',
2926
'123456ABCDEF', 30, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
3027
(2, 1, '망고코코넛', '경기 수원시 팔달구 아주로 37', '1248210324', 'CAFE', '3A4C78', 'QR', 15, 37.2822024, 127.0463244,
3128
'JUADEFSE2392', 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
32-
(3, 1, '스몰하노이', '경기도 고양시 일산서구 성저로 92', '1953100092', 'RESTAURANT', 'BJJ38L', 'QR', 15, 37.685024, 126.757285,
33-
'KOP22WT78JUC', 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
29+
3430
INSERT INTO transfer_account (transfer_id, bank_code, account_number, account_holder, fin_account,
3531
created_at, modified_at)
3632
VALUES (1, 'NH', '3020000012816', '망고보스', '00820100029430000000000027417', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
3733

3834
INSERT INTO payroll_setting (payroll_setting_id, auto_transfer_enabled, deduction_unit, commuting_allowance,
3935
transfer_date, transfer_account_id, store_id)
40-
VALUES (1, true, 10, 3000, 20, 1, 1),
36+
VALUES (1, false, 10, 3000, 20, 1, 1),
4137
(2, false, 10, 0, null, null, 2),
42-
(3, false, 10, 0, null, null, 3);
4338

4439
INSERT INTO required_document (store_id, document_type, is_required, created_at, modified_at)
4540
VALUES (1, 'RESIDENT_REGISTRATION', false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
@@ -50,10 +45,6 @@ VALUES (1, 'RESIDENT_REGISTRATION', false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
5045
(2, 'BANK_ACCOUNT', false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
5146
(2, 'ID_CARD', false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
5247
(2, 'HEALTH_CERTIFICATE', false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
53-
(3, 'RESIDENT_REGISTRATION', false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
54-
(3, 'BANK_ACCOUNT', false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
55-
(3, 'ID_CARD', false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
56-
(3, 'HEALTH_CERTIFICATE', false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
5748

5849
INSERT INTO staff (staff_id, user_id, store_id, name, profile_image_url, withholding_type,
5950
hourly_wage, bank_code, account_number,
@@ -67,80 +58,85 @@ VALUES (1, 2, 1, '망알바',
6758
(3, 4, 1, '보알바',
6859
'https://mblogthumb-phinf.pstatic.net/MjAyMDAyMTBfODAg/MDAxNTgxMzA0MTE3ODMy.ACRLtB9v5NH-I2qjWrwiXLb7TeUiG442cJmcdzVum7cg.eTLpNg_n0rAS5sWOsofRrvBy0qZk_QcWSfUiIagTfd8g.JPEG.lattepain/1581304118739.jpg?type=w800',
6960
'NONE', 10030, 'NH', '3020000013132', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
70-
(4, 5, 1, '스알바',
61+
(4, 5, 2, '스알바',
7162
'https://mblogthumb-phinf.pstatic.net/MjAyMDAyMTBfODAg/MDAxNTgxMzA0MTE3ODMy.ACRLtB9v5NH-I2qjWrwiXLb7TeUiG442cJmcdzVum7cg.eTLpNg_n0rAS5sWOsofRrvBy0qZk_QcWSfUiIagTfd8g.JPEG.lattepain/1581304118739.jpg?type=w800',
7263
'SOCIAL_INSURANCE', 10030, 'NH', '3020000013095', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
73-
(5, 6, 1, '정알바',
64+
(5, 6, 2, '정알바',
7465
'http://k.kakaocdn.net/dn/bD4Rih/btsNXAxY4w1/XuxLt8jAsnIA5ZaHVjkE0k/img_110x110.jpg',
7566
'INCOME_TAX', 10030, 'NH', '3020000013094', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
7667

77-
INSERT INTO schedule (schedule_id, staff_id, regular_group_id, work_date, start_time, end_time, store_id,
78-
substitution_state,
79-
created_at, modified_at)
80-
VALUES (1, 1, null, '2025-04-01', '2025-04-01 09:00:00', '2025-04-01 15:30:00', 1, 'NONE', CURRENT_TIMESTAMP,
81-
CURRENT_TIMESTAMP),
82-
(2, 2, null, '2025-05-01', '2025-05-01 13:00:00', '2025-05-01 18:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
83-
CURRENT_TIMESTAMP),
84-
(3, 1, null, '2025-05-03', '2025-05-03 10:00:00', '2025-05-03 18:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
85-
CURRENT_TIMESTAMP),
86-
(4, 2, null, '2025-05-03', '2025-05-03 10:00:00', '2025-05-03 18:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
87-
CURRENT_TIMESTAMP),
88-
(5, 1, null, '2025-05-05', '2025-05-05 09:00:00', '2025-05-05 14:30:00', 1, 'NONE', CURRENT_TIMESTAMP,
89-
CURRENT_TIMESTAMP),
90-
(6, 3, null, '2025-05-07', '2025-05-07 10:00:00', '2025-05-07 14:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
91-
CURRENT_TIMESTAMP),
92-
(7, 1, null, '2025-05-08', '2025-05-08 09:00:00', '2025-05-08 14:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
93-
CURRENT_TIMESTAMP),
94-
(8, 4, null, '2025-05-10', '2025-05-10 10:00:00', '2025-05-10 14:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
95-
CURRENT_TIMESTAMP),
96-
(9, 1, null, '2025-05-10', '2025-05-10 10:00:00', '2025-05-10 14:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
97-
CURRENT_TIMESTAMP),
98-
(10, 1, null, '2025-04-01', '2025-04-01 09:00:00', '2025-04-01 15:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
99-
CURRENT_TIMESTAMP),
100-
(11, 2, null, '2025-04-02', '2025-04-02 10:00:00', '2025-04-02 16:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
101-
CURRENT_TIMESTAMP),
102-
(12, 3, null, '2025-04-03', '2025-04-03 13:00:00', '2025-04-03 17:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
103-
CURRENT_TIMESTAMP),
104-
(13, 4, null, '2025-04-04', '2025-04-04 14:00:00', '2025-04-04 18:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
105-
CURRENT_TIMESTAMP),
106-
(14, 5, null, '2025-04-05', '2025-04-05 09:00:00', '2025-04-05 13:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
107-
CURRENT_TIMESTAMP),
108-
(15, 1, null, '2025-04-06', '2025-04-06 11:00:00', '2025-04-06 17:00:00', 1, 'NONE', CURRENT_TIMESTAMP,
109-
CURRENT_TIMESTAMP),
110-
(16, 2, null, '2025-04-07', '2025-04-07 08:30:00', '2025-04-07 14:30:00', 1, 'NONE', CURRENT_TIMESTAMP,
111-
CURRENT_TIMESTAMP),
112-
(17, 1, null, '2025-06-20', '2025-06-20 11:00:00', '2025-06-20 13:30:00', 1, 'NONE', CURRENT_TIMESTAMP,
113-
CURRENT_TIMESTAMP);
68+
INSERT INTO schedule (schedule_id, staff_id, regular_group_id, work_date, start_time, end_time, store_id, substitution_state, created_at, modified_at)
69+
VALUES
70+
(1, 1, null, '2025-04-01', '2025-04-01 09:00:00', '2025-04-01 15:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
71+
(2, 2, null, '2025-04-01', '2025-04-01 09:00:00', '2025-04-01 15:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
72+
(3, 2, null, '2025-04-02', '2025-04-02 10:00:00', '2025-04-02 16:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
73+
(4, 3, null, '2025-04-03', '2025-04-03 13:00:00', '2025-04-03 17:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
74+
(5, 1, null, '2025-04-06', '2025-04-06 11:00:00', '2025-04-06 17:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
75+
(6, 2, null, '2025-04-07', '2025-04-07 08:30:00', '2025-04-07 14:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
76+
(7, 2, null, '2025-05-01', '2025-05-01 13:00:00', '2025-05-01 18:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
77+
(8, 1, null, '2025-05-03', '2025-05-03 10:00:00', '2025-05-03 18:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
78+
(10, 1, null, '2025-05-05', '2025-05-05 09:00:00', '2025-05-05 14:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
79+
(11, 3, null, '2025-05-06', '2025-05-06 09:00:00', '2025-05-06 14:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
80+
(12, 2, null, '2025-05-07', '2025-05-07 10:30:00', '2025-05-07 15:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
81+
(13, 3, null, '2025-05-07', '2025-05-07 10:00:00', '2025-05-07 14:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
82+
(14, 1, null, '2025-05-08', '2025-05-08 09:00:00', '2025-05-08 14:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
83+
(15, 3, null, '2025-05-08', '2025-05-08 13:00:00', '2025-05-08 19:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
84+
(16, 1, null, '2025-05-09', '2025-05-09 12:00:00', '2025-05-09 18:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
85+
(17, 2, null, '2025-05-10', '2025-05-10 08:00:00', '2025-05-10 13:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
86+
(18, 1, null, '2025-05-10', '2025-05-10 10:00:00', '2025-05-10 14:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
87+
(19, 3, null, '2025-05-11', '2025-05-11 09:30:00', '2025-05-11 15:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
88+
(20, 1, null, '2025-05-12', '2025-05-12 08:30:00', '2025-05-12 14:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
89+
(21, 2, null, '2025-05-13', '2025-05-13 11:30:00', '2025-05-13 19:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
90+
(22, 2, null, '2025-05-14', '2025-05-14 09:30:00', '2025-05-14 17:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
91+
(23, 2, null, '2025-05-15', '2025-05-15 08:00:00', '2025-05-15 16:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
92+
(24, 2, null, '2025-05-16', '2025-05-16 10:00:00', '2025-05-16 15:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
93+
(25, 3, null, '2025-05-17', '2025-05-17 08:30:00', '2025-05-17 15:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
94+
(28, 3, null, '2025-05-20', '2025-05-20 08:30:00', '2025-05-20 15:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
95+
(29, 3, null, '2025-05-21', '2025-05-21 08:30:00', '2025-05-21 16:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
96+
(30, 1, null, '2025-05-22', '2025-05-22 09:30:00', '2025-05-22 17:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
97+
(31, 1, null, '2025-05-23', '2025-05-23 08:00:00', '2025-05-23 14:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
98+
(32, 3, null, '2025-05-24', '2025-05-24 08:00:00', '2025-05-24 15:30:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
99+
(33, 2, null, '2025-05-25', '2025-05-25 09:30:00', '2025-05-25 16:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
100+
(34, 1, null, '2025-05-26', '2025-05-26 08:00:00', '2025-05-26 15:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
101+
(35, 2, null, '2025-05-27', '2025-05-27 10:00:00', '2025-05-27 18:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
102+
(37, 2, null, '2025-05-29', '2025-05-29 10:00:00', '2025-05-29 15:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
103+
(38, 2, null, '2025-05-30', '2025-05-30 08:00:00', '2025-05-30 14:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
104+
(39, 3, null, '2025-05-31', '2025-05-31 09:00:00', '2025-05-31 17:00:00', 1, 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
114105

115-
INSERT INTO attendance(attendance_id, schedule_id, clock_in_time, clock_out_time, clock_in_status, clock_out_status,
116-
attendance_state,
117-
created_at, modified_at)
118-
VALUES (1, 1, '2025-04-01 09:00:00', '2025-04-01 15:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
119-
CURRENT_TIMESTAMP),
120-
(2, 2, '2025-05-01 13:00:00', '2025-05-01 18:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
121-
CURRENT_TIMESTAMP),
122-
(3, 3, '2025-05-03 10:05:00', '2025-05-03 18:00:00', 'LATE', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
123-
CURRENT_TIMESTAMP),
124-
(4, 4, null, null, 'ABSENT', 'ABSENT', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
125-
(5, 5, '2025-05-05 09:00:00', '2025-05-05 14:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
126-
CURRENT_TIMESTAMP),
127-
(6, 6, '2025-05-07 10:00:00', '2025-05-07 13:00:00', 'NORMAL', 'EARLY_LEAVE', 'NONE', CURRENT_TIMESTAMP,
128-
CURRENT_TIMESTAMP),
129-
(7, 7, '2025-05-08 09:00:00', '2025-05-08 14:20:00', 'NORMAL', 'OVERTIME', 'NONE', CURRENT_TIMESTAMP,
130-
CURRENT_TIMESTAMP),
131-
(8, 8, null, null, 'ABSENT', 'ABSENT', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
132-
(9, 9, null, null, 'ABSENT', 'ABSENT', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
133-
(10, 10, '2025-04-01 09:00:00', '2025-04-01 15:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
134-
CURRENT_TIMESTAMP),
135-
(11, 11, '2025-04-02 10:00:00', '2025-04-02 16:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
136-
CURRENT_TIMESTAMP),
137-
(12, 12, '2025-04-03 13:00:00', '2025-04-03 17:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
138-
CURRENT_TIMESTAMP),
139-
(13, 13, '2025-04-04 14:00:00', '2025-04-04 18:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
140-
CURRENT_TIMESTAMP),
141-
(14, 14, '2025-04-05 09:00:00', '2025-04-05 13:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
142-
CURRENT_TIMESTAMP),
143-
(15, 15, '2025-04-06 11:00:00', '2025-04-06 17:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
144-
CURRENT_TIMESTAMP),
145-
(16, 16, '2025-04-07 08:30:00', '2025-04-07 14:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP,
146-
CURRENT_TIMESTAMP);
106+
INSERT INTO attendance (attendance_id, schedule_id, clock_in_time, clock_out_time, clock_in_status, clock_out_status, attendance_state, created_at, modified_at)
107+
VALUES
108+
(1, 1, '2025-04-01 09:00:00', '2025-04-01 15:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
109+
(2, 2, '2025-04-01 09:00:00', '2025-04-01 15:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
110+
(3, 3, '2025-04-02 10:00:00', '2025-04-02 16:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
111+
(4, 4, '2025-04-03 13:05:00', '2025-04-03 16:30:00', 'LATE', 'EARLY_LEAVE', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
112+
(5, 5, null, null, 'ABSENT', 'ABSENT', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
113+
(6, 6, '2025-04-07 08:30:00', '2025-04-07 14:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
114+
(7, 7, '2025-05-01 13:00:00', '2025-05-01 18:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
115+
(8, 8, '2025-05-03 10:05:00', '2025-05-03 18:00:00', 'LATE', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
116+
(9, 10, '2025-05-05 09:00:00', '2025-05-05 14:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
117+
(10, 11, '2025-05-06 09:05:00', '2025-05-06 14:25:00', 'LATE', 'EARLY_LEAVE', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
118+
(11, 12, '2025-05-07 10:30:00', '2025-05-07 15:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
119+
(12, 13, null, null, 'ABSENT', 'ABSENT', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
120+
(13, 14, '2025-05-08 09:00:00', '2025-05-08 14:10:00', 'NORMAL', 'OVERTIME', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
121+
(14, 15, '2025-05-08 13:00:00', '2025-05-08 19:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
122+
(15, 16, '2025-05-09 12:05:00', '2025-05-09 18:00:00', 'LATE', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
123+
(16, 17, '2025-05-10 08:00:00', '2025-05-10 13:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
124+
(17, 18, null, null, 'ABSENT', 'ABSENT', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
125+
(18, 19, '2025-05-11 09:30:00', '2025-05-11 15:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
126+
(19, 20, '2025-05-12 08:40:00', '2025-05-12 14:20:00', 'LATE', 'EARLY_LEAVE', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
127+
(20, 21, '2025-05-13 11:30:00', '2025-05-13 19:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
128+
(21, 22, null, null, 'ABSENT', 'ABSENT', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
129+
(22, 23, '2025-05-15 08:00:00', '2025-05-15 16:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
130+
(23, 24, '2025-05-16 10:00:00', '2025-05-16 15:20:00', 'NORMAL', 'EARLY_LEAVE', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
131+
(24, 25, '2025-05-17 08:35:00', '2025-05-17 15:00:00', 'LATE', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
132+
(25, 28, '2025-05-20 08:30:00', '2025-05-20 15:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
133+
(26, 29, null, null, 'ABSENT', 'ABSENT', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
134+
(27, 30, '2025-05-22 09:30:00', '2025-05-22 17:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
135+
(28, 31, '2025-05-23 08:10:00', '2025-05-23 14:30:00', 'LATE', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
136+
(29, 32, '2025-05-24 08:00:00', '2025-05-24 15:30:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
137+
(30, 33, '2025-05-25 09:35:00', '2025-05-25 16:00:00', 'LATE', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
138+
(31, 34, '2025-05-26 08:00:00', '2025-05-26 15:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
139+
(32, 35, null, null, 'ABSENT', 'ABSENT', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
140+
(33, 37, '2025-05-29 10:05:00', '2025-05-29 15:10:00', 'LATE', 'OVERTIME', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
141+
(34, 38, '2025-05-30 08:00:00', '2025-05-30 14:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
142+
(35, 39, '2025-05-31 09:00:00', '2025-05-31 17:00:00', 'NORMAL', 'NORMAL', 'NONE', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);

batch/src/main/java/com/mangoboss/batch/auto_clock_out/domain/service/AutoClockOutService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,16 @@ public class AutoClockOutService {
2424

2525
@Transactional
2626
public void autoClockOut() {
27-
List<ScheduleForNotificationProjection> schedules = scheduleRepository.findAllSchedulesWithoutClockOut();
28-
List<AttendanceEntity> attendances = schedules.stream().map(projection -> {
27+
List<ScheduleForNotificationProjection> projections = scheduleRepository.findAllSchedulesWithoutClockOut();
28+
List<AttendanceEntity> attendances = projections.stream().map(projection -> {
2929
ScheduleEntity schedule = projection.getSchedule();
3030
if (schedule.getAttendance() == null) {
3131
return recordAbsentAttendance(schedule);
3232
}
3333
return recordNormalClockOutAttendance(schedule.getAttendance(), schedule.getEndTime());
3434
}).toList();
3535
attendanceRepository.saveAll(attendances);
36+
notifyAbsentClockOut(projections);
3637
}
3738

3839
private AttendanceEntity recordAbsentAttendance(final ScheduleEntity schedule) {

0 commit comments

Comments
 (0)