package schedule import ( "time" ) type WorkLoadSrv struct { LoadType string StartTime time.Time EndTime time.Time AvailCapacity time.Duration RestCapacity time.Duration AvailCapacityStr string WorkLoadPercent float64 } func (wloadsrv *WorkLoadSrv) Init() { if wloadsrv.AvailCapacity <= 0 { wloadsrv.WorkLoadPercent = 0.0 return } //fmt.Println() //fmt.Println(wloadsrv.AvailCapacity) //fmt.Println(wloadsrv.RestCapacity) //fmt.Println() //判断 if wloadsrv.AvailCapacity < wloadsrv.RestCapacity { wloadsrv.RestCapacity = wloadsrv.AvailCapacity } // 时段负荷 = (可用能力 - 剩余能力)/可用能力 wloadsrv.WorkLoadPercent = (wloadsrv.AvailCapacity.Seconds() - wloadsrv.RestCapacity.Seconds()) / wloadsrv.AvailCapacity.Seconds() return }