안녕하세요?
이제 공부한지 얼마 안된 학생입니다.
학원에서 java공부를 하고 있으며, 현재 간단한 프로젝트를 만들고 있습니다.
제가 만들고 있는건 간단한 출/퇴근 과 근무시간계산입니다.
출근과 퇴근은 만들었는데 근무시간 계산을 어떻게 해야할지 감이 잡히지 않아
질문하게 되었습니다.
사용하고 있는 툴은 이클립스 / mysql 입니다.
현재 JSP 화면에서 출근 퇴근 버튼이 있으며 이를 누르면 서블렛 등에서 처리하여 등록이 되는 형식입니다.
sql문 :
insert into 근무(userid, starttime, endtime, time,)values((select userid from user where userid =?), now(), now(),current_date()) on duplicate key update endtime= now();
(아직 근무시간에 대한 계산을 하지 못하여 컬럼을 넣지 않은 상태입니다.)
출/퇴근 버튼을 누를 시 데이터가 없으면 insert / 있으면 update 하는 형식으로
현재시간을 출퇴근시간으로 하여 db에 넣도록 해놓았습니다.
문제는 근무시간입니다.
처음에는 endtime - starttime으로 근무시간을 계산하려 했으나, 휴계시간을 생각하니
계산이 맞지 않아 어떻게 해야할지 고민하고 있습니다.
최종적으로 들어가는 데이터를 예로 들자면
시작 끝 일 휴식 초과근무
2019-05-14 09:00 2019-05-14 18:00 08:00 / 01:00 00:00
2019-05-15 09:00 2019-05-15 19:00 08:30 / 01:30 00:30
2019-05-16 08:40 2019-05-16 21:00 10:00 / 02:00 02:00
이런 형식입니다.
case문으로 09 ~ 18시면 8시간 이렇게 설정해볼까도 생각했는데 어렵기도 하고 맞는지 확신이 없어
포기하고 질문하게 되었습니다.
아직 기초도 잡히지 않는 상태로 질문하게 되어 대단히 죄송합니다.