|
@@ -388,11 +388,13 @@ func (c *LeaveController) Leave_Duration() {
|
|
|
c.ServeJSON()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 新的工作时间规则:早上8:30上班,下午5:30下班
|
|
|
endTime2 := time.Date(endTime.Year(), endTime.Month(), endTime.Day()-1, 17, 30, 0, 0, time.Local)
|
|
|
- endTime3 := time.Date(endTime.Year(), endTime.Month(), endTime.Day(), 9, 0, 0, 0, time.Local)
|
|
|
+ endTime3 := time.Date(endTime.Year(), endTime.Month(), endTime.Day(), 8, 30, 0, 0, time.Local)
|
|
|
|
|
|
endTime4 := time.Date(endTime.Year(), endTime.Month(), endTime.Day(), 17, 30, 0, 0, time.Local)
|
|
|
- endTime5 := time.Date(endTime.Year(), endTime.Month(), endTime.Day()+1, 9, 0, 0, 0, time.Local)
|
|
|
+ endTime5 := time.Date(endTime.Year(), endTime.Month(), endTime.Day()+1, 8, 30, 0, 0, time.Local)
|
|
|
if endTime.After(endTime2) && endTime.Before(endTime3) {
|
|
|
endTime = endTime2
|
|
|
}
|
|
@@ -402,10 +404,10 @@ func (c *LeaveController) Leave_Duration() {
|
|
|
}
|
|
|
|
|
|
startTime2 := time.Date(startTime.Year(), startTime.Month(), startTime.Day()-1, 17, 30, 0, 0, time.Local)
|
|
|
- startTime3 := time.Date(startTime.Year(), startTime.Month(), startTime.Day(), 9, 0, 0, 0, time.Local)
|
|
|
+ startTime3 := time.Date(startTime.Year(), startTime.Month(), startTime.Day(), 8, 30, 0, 0, time.Local)
|
|
|
|
|
|
startTime4 := time.Date(startTime.Year(), startTime.Month(), startTime.Day(), 17, 30, 0, 0, time.Local)
|
|
|
- startTime5 := time.Date(startTime.Year(), startTime.Month(), startTime.Day()+1, 9, 0, 0, 0, time.Local)
|
|
|
+ startTime5 := time.Date(startTime.Year(), startTime.Month(), startTime.Day()+1, 8, 30, 0, 0, time.Local)
|
|
|
if startTime.After(startTime2) && startTime.Before(startTime3) {
|
|
|
startTime = startTime3
|
|
|
}
|
|
@@ -420,7 +422,7 @@ func (c *LeaveController) Leave_Duration() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- //开始时间的小时和分钟
|
|
|
+ // 开始时间的小时和分钟
|
|
|
s_h := startTime.Hour()
|
|
|
s_mm := startTime.Minute()
|
|
|
e_h := endTime.Hour()
|
|
@@ -437,7 +439,7 @@ func (c *LeaveController) Leave_Duration() {
|
|
|
diff_minutes = float32(e_mm - s_mm)
|
|
|
if diff_day > 1 {
|
|
|
// 跨天
|
|
|
- diff_hours = 17.5 - float32(s_h) + float32(e_h-9)
|
|
|
+ diff_hours = 17.5 - (float32(s_h) - 8.5) + (float32(e_h) - 8.5)
|
|
|
// 如果开始时间小于12点 请假小时数-1
|
|
|
// 如果结束时间大于13点,请假小时数-1
|
|
|
if s_h <= 12 {
|
|
@@ -453,12 +455,11 @@ func (c *LeaveController) Leave_Duration() {
|
|
|
if s_h <= 12 && e_h >= 13 {
|
|
|
diff_hours = float32(e_h - s_h - 1)
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
if diff_day > 1 {
|
|
|
diff_day -= 1
|
|
|
}
|
|
|
- diff_day_hours := float32(diff_day) * 7.5
|
|
|
+ diff_day_hours := float32(diff_day) * 8.0 // 每天工作时长调整为8小时
|
|
|
diff_m := int((diff_day_hours+diff_hours)*60 + diff_minutes) // 分钟数量
|
|
|
|
|
|
c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: diff_m}
|