You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
531 B

4 years ago
  1. package schedule
  2. import "time"
  3. type WorkLoadSrv struct {
  4. LoadType string
  5. StartTime time.Time
  6. EndTime time.Time
  7. AvailCapacity time.Duration
  8. RestCapacity time.Duration
  9. WorkLoadPercent float64
  10. }
  11. func(wloadsrv *WorkLoadSrv)Init(){
  12. if wloadsrv.AvailCapacity <= 0 {
  13. wloadsrv.WorkLoadPercent = 0.0
  14. return
  15. }
  16. // 时段负荷 = (可用能力 - 剩余能力)/可用能力
  17. wloadsrv.WorkLoadPercent = ( wloadsrv.AvailCapacity.Seconds() - wloadsrv.RestCapacity.Seconds() ) / wloadsrv.AvailCapacity.Seconds()
  18. return
  19. }