Commit 35999478 authored by Peter Cheng's avatar Peter Cheng

修正時間計算方式

parent 6df3bbad
...@@ -84,15 +84,15 @@ func calcLeaveScope(params *beans.Punchclock) (diffDay int, diffHour int, diffMi ...@@ -84,15 +84,15 @@ func calcLeaveScope(params *beans.Punchclock) (diffDay int, diffHour int, diffMi
_diffHour := 0 _diffHour := 0
_diffMinute := 0 _diffMinute := 0
if beginTime < 1200 { //有跨午休 if beginTime < 1200 { //有跨午休
_diffHour, _diffMinute = calcTime(beginHour, "18", beginMinute, "0", true) _diffHour, _diffMinute = calcTime(beginHour, "18", beginMinute, "00", true)
} else { //沒跨午休 } else { //沒跨午休
_diffHour, _diffMinute = calcTime(beginHour, "18", beginMinute, "0", false) _diffHour, _diffMinute = calcTime(beginHour, "18", beginMinute, "00", false)
} }
diffDay = calcDate(beginYear, beginMonth, beginDay, endYear, endMonth, endDay) diffDay = calcDate(beginYear, beginMonth, beginDay, endYear, endMonth, endDay)
if endTime > 1330 { //有跨午休 if endTime >= 1200 { //有跨午休
diffHour, diffMinute = calcTime("8", endHour, "30", endMinute, true) diffHour, diffMinute = calcTime("08", endHour, "30", endMinute, true)
} else { //沒跨午休 } else { //沒跨午休
diffHour, diffMinute = calcTime("8", endHour, "30", endMinute, false) diffHour, diffMinute = calcTime("08", endHour, "30", endMinute, false)
} }
diffHour = diffHour + _diffHour diffHour = diffHour + _diffHour
diffMinute = diffMinute + _diffMinute diffMinute = diffMinute + _diffMinute
...@@ -108,7 +108,7 @@ func setCarry(diffDay int, diffHour int, diffMinute int) (_diffDay int, _diffHou ...@@ -108,7 +108,7 @@ func setCarry(diffDay int, diffHour int, diffMinute int) (_diffDay int, _diffHou
_diffMinute = diffMinute _diffMinute = diffMinute
_diffHour = diffMinute/60 + _diffHour _diffHour = diffMinute/60 + _diffHour
_diffMinute = diffMinute % 60 _diffMinute = diffMinute % 60
_diffDay = _diffHour/8 + _diffDay _diffDay = _diffDay + _diffHour/8
_diffHour = _diffHour % 8 _diffHour = _diffHour % 8
return _diffDay, _diffHour, _diffMinute return _diffDay, _diffHour, _diffMinute
} }
...@@ -163,18 +163,19 @@ func calcDate(beginYear string, beginMonth string, beginDay string, endYear stri ...@@ -163,18 +163,19 @@ func calcDate(beginYear string, beginMonth string, beginDay string, endYear stri
now := begin.Format(cfg.TimeFormat) now := begin.Format(cfg.TimeFormat)
nowDate := strings.Split(now, " ")[0] nowDate := strings.Split(now, " ")[0]
nowArr := strings.Split(nowDate, "-") nowArr := strings.Split(nowDate, "-")
if begin.Equal(end) {
break
}
if isHoliday(nowArr[0], nowArr[1], nowArr[2]) { if isHoliday(nowArr[0], nowArr[1], nowArr[2]) {
add, _ := time.ParseDuration("24h") add, _ := time.ParseDuration("24h")
begin = begin.Add(add) begin = begin.Add(add)
continue continue
} }
if !begin.Before(end) {
break
}
add, _ := time.ParseDuration("24h") add, _ := time.ParseDuration("24h")
begin = begin.Add(add) begin = begin.Add(add)
diffDay++ diffDay++
} }
diffDay-- //去掉當天的加一
} }
return diffDay return diffDay
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment