근무시간 계산 0 0 1,575

by 하하 [MySQL] mysql java servlet [2019.05.14 20:11:35]


안녕하세요? 

이제 공부한지 얼마 안된 학생입니다.

학원에서 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시간 이렇게 설정해볼까도 생각했는데 어렵기도 하고 맞는지 확신이 없어

포기하고 질문하게 되었습니다.

아직 기초도 잡히지 않는 상태로 질문하게 되어 대단히 죄송합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입