Yer Nevank Sazon Sarroza Ответов: 1

(Vb.net и MySQL)я хочу, чтобы подсчитать количество часов на каждую дату с учетом овертайма, под время & поздно


I Create table name tblattlogs
 


Create 5 columns: 
logsid
UserId
INOUTMODE
DATE
TIME
 
INOUTMODE:
0=Time IN
1=Time OUT
logsid  useid  INOUTMODE      date      time
1       1         0         7/1/2017   8:00
2       1         1         7/1/2017   17:00
3       1         1         7/1/2017   17:10
4       1         0         7/2/2017   8:10
5       1         1         7/2/2017   17:00
6       2         0         7/1/2017   8:00  
7       2         1         7/1/2017   17:00
8       2         0         7/2/2017   8:00
9       2         1         7/2/2017   16:10
 
As you can see in userid 1,date 7/1/2017 the user time out twice so i just want to calculate 8:00 to 17:10 totalHOurs=9:10, and if greater than 17:00 it will count as overtime else less than 17:00 it will count under time.and in userid 1,date 7/1/2017 the time IN=8:10 in will be status late.
 i will set every user timecode 8:00 to 17:00.

RESULT:
Userid  Date     LoginTime   LogoutTime	 TotalHours Totallate/Overtime   status
1       7/1/2017    8:00          17:10      9:10          00:10      complete
1       7/2/2017    8:10          17:00      8:50          00:10      Late
1       7/1/2017    8:00          17:00      9:00          00:00      complete
2       7/2/2017    8:00          16:10      8:10          00:50      undertime


Что я уже пробовал:

Я не знаю, что делать.Я хочу быть таким результатом, и я не знаю, как начать код.Пожалуйста, помогите мне с этой проблемой. Спасибо!

1 Ответов

Рейтинг:
7

Ralf Meier

Какие типы LoginTime и LogoutTime ?
Если они являются датой, вы можете построить временной интервал ...

Dim d1, d2 As Date
Dim d3 As TimeSpan
d3 = d1.Subtract(d2)