Browse Source

Merge branch 'develop' of http://101.201.121.115:3000/leo/LAPP_GAAS_GFrame_BACKEND into fix_sheduler

pull/234/head
zhangxin 3 years ago
parent
commit
3389fa98d9
2 changed files with 24 additions and 32 deletions
  1. +23
    -31
      services/schedule/TimeCurve.Ctrl.go
  2. +1
    -1
      services/schedule/WorkLine.Ctrl.go

+ 23
- 31
services/schedule/TimeCurve.Ctrl.go View File

@ -17,29 +17,21 @@ type TimeCurveSrv struct {
// 将时间数组转化成列表
func (tcs *TimeCurveSrv) GetLineList() {
var (
tlsrv TimeLineSrv
)
// 初始化
tcs.TimeLineList = list.New()
for _, tlsrv = range tcs.TimeLineArray {
tcs.TimeLineList.PushBack(&tlsrv)
for _, tlsrv := range tcs.TimeLineArray {
tcs.TimeLineList.PushBack(tlsrv)
}
}
// 将时间列表转化成数组
func (tcs *TimeCurveSrv) GetLineArray() {
var (
e *list.Element
tlsrv *TimeLineSrv
)
// 初始化数组
tcs.TimeLineArray = []TimeLineSrv{}
for e = tcs.TimeLineList.Front(); e != nil; e = e.Next() {
tlsrv = e.Value.(*TimeLineSrv)
tcs.TimeLineArray = append(tcs.TimeLineArray, *tlsrv)
for e := tcs.TimeLineList.Front(); e != nil; e = e.Next() {
tlsrv := e.Value.(TimeLineSrv)
tcs.TimeLineArray = append(tcs.TimeLineArray, tlsrv)
}
}
@ -47,7 +39,7 @@ func (tcs *TimeCurveSrv) GetLineArray() {
func (tcs *TimeCurveSrv) GetTimeLine(tp time.Time) (node *list.Element, err error) {
var (
e *list.Element
tl, prevtl *TimeLineSrv
tl, prevtl TimeLineSrv
)
/** 如果结束时间点小于计划曲线的起始时间点
|-------------------|
@ -61,7 +53,7 @@ func (tcs *TimeCurveSrv) GetTimeLine(tp time.Time) (node *list.Element, err erro
}
for e = tcs.TimeLineList.Front(); e != nil; e = e.Next() {
tl = e.Value.(*TimeLineSrv)
tl = e.Value.(TimeLineSrv)
if tp.Unix() >= tl.StartTime.Unix() && tp.Unix() <= tl.EndTime.Unix() {
node = e
return
@ -69,7 +61,7 @@ func (tcs *TimeCurveSrv) GetTimeLine(tp time.Time) (node *list.Element, err erro
// 如果正好落在两段时间之内不可用时段,则返回后面时段的位置
if e.Prev() != nil {
prevtl = e.Prev().Value.(*TimeLineSrv)
prevtl = e.Prev().Value.(TimeLineSrv)
if tp.Unix() >= prevtl.EndTime.Unix() && tp.Unix() <= tl.StartTime.Unix() {
node = e
return
@ -165,7 +157,7 @@ func (tcs *TimeCurveSrv) AddTimeLine(addtlsrv TimeLineSrv) (err error) {
tcs.StartTime = addtlsrv.StartTime
tcs.EndTime = addtlsrv.EndTime
tcs.EffFactor = addtlsrv.EffFactor
tcs.TimeLineList.PushBack(&tlsrv)
tcs.TimeLineList.PushBack(tlsrv)
return
}
@ -330,7 +322,7 @@ func (tcs *TimeCurveSrv) AddTimeLine(addtlsrv TimeLineSrv) (err error) {
func (tcs *TimeCurveSrv) SubTimeLine(subtlsrv TimeLineSrv) (err error) {
var (
tlsrv TimeLineSrv
tl, tlb, tle *TimeLineSrv
tl, tlb, tle TimeLineSrv
e, next, nodeBeg, nodeEnd *list.Element
)
@ -369,7 +361,7 @@ func (tcs *TimeCurveSrv) SubTimeLine(subtlsrv TimeLineSrv) (err error) {
return
}
if nodeEnd != nil {
tl = nodeEnd.Value.(*TimeLineSrv)
tl = nodeEnd.Value.(TimeLineSrv)
tl.StartTime = subtlsrv.EndTime
tcs.RemoveListAllBeforeItem(nodeEnd, false)
tcs.StartTime = subtlsrv.EndTime
@ -377,12 +369,12 @@ func (tcs *TimeCurveSrv) SubTimeLine(subtlsrv TimeLineSrv) (err error) {
// 删除时段内的节点
for e = tcs.TimeLineList.Front(); e != nil; e = next {
next = e.Next()
tl = e.Value.(*TimeLineSrv)
tl = e.Value.(TimeLineSrv)
if tl.StartTime.Unix() > subtlsrv.StartTime.Unix() && tl.EndTime.Unix() < subtlsrv.EndTime.Unix() {
tcs.TimeLineList.Remove(e)
}
}
tl = tcs.TimeLineList.Front().Value.(*TimeLineSrv)
tl = tcs.TimeLineList.Front().Value.(TimeLineSrv)
tcs.StartTime = tl.StartTime
}
}
@ -402,11 +394,11 @@ func (tcs *TimeCurveSrv) SubTimeLine(subtlsrv TimeLineSrv) (err error) {
|****|
**/
if nodeBeg != nil && nodeEnd == nil {
tlb = nodeBeg.Value.(*TimeLineSrv)
tlb = nodeBeg.Value.(TimeLineSrv)
// 删除开始节点之后到结束时间点之间的Node
for e = nodeBeg.Next(); e != nil; e = next {
next = e.Next()
tl = e.Value.(*TimeLineSrv)
tl = e.Value.(TimeLineSrv)
if tl.EndTime.Unix() <= subtlsrv.EndTime.Unix() {
tcs.TimeLineList.Remove(e)
} else {
@ -428,7 +420,7 @@ func (tcs *TimeCurveSrv) SubTimeLine(subtlsrv TimeLineSrv) (err error) {
// 删除开始节点之后到结束时间点之间的Node
for e = tcs.TimeLineList.Front(); e != nil; e = next {
next = e.Next()
tl = e.Value.(*TimeLineSrv)
tl = e.Value.(TimeLineSrv)
if tl.StartTime.Unix() > subtlsrv.StartTime.Unix() && tl.EndTime.Unix() < subtlsrv.EndTime.Unix() {
tcs.TimeLineList.Remove(e)
}
@ -439,11 +431,11 @@ func (tcs *TimeCurveSrv) SubTimeLine(subtlsrv TimeLineSrv) (err error) {
|**|
**/
if nodeBeg == nil && nodeEnd != nil {
tle = nodeEnd.Value.(*TimeLineSrv)
tle = nodeEnd.Value.(TimeLineSrv)
// 删除开始节点到结束时间点之间的Node
for e = tcs.TimeLineList.Front(); e != nil; e = next {
next = e.Next()
tl = e.Value.(*TimeLineSrv)
tl = e.Value.(TimeLineSrv)
if tl.StartTime.Unix() > subtlsrv.StartTime.Unix() && tl.EndTime.Unix() < subtlsrv.EndTime.Unix() {
tcs.TimeLineList.Remove(e)
}
@ -457,8 +449,8 @@ func (tcs *TimeCurveSrv) SubTimeLine(subtlsrv TimeLineSrv) (err error) {
*/
if nodeBeg != nil && nodeEnd != nil {
if nodeBeg != nodeEnd {
tlb = nodeBeg.Value.(*TimeLineSrv)
tle = nodeEnd.Value.(*TimeLineSrv)
tlb = nodeBeg.Value.(TimeLineSrv)
tle = nodeEnd.Value.(TimeLineSrv)
if tlb != tle {
// 删除两节点之间的所有节点
for e = nodeBeg.Next(); e != nil && e != nodeEnd; e = next {
@ -489,7 +481,7 @@ func (tcs *TimeCurveSrv) SubTimeLine(subtlsrv TimeLineSrv) (err error) {
return
}
if nodeBeg != nil {
tl = nodeBeg.Value.(*TimeLineSrv)
tl = nodeBeg.Value.(TimeLineSrv)
tl.EndTime = subtlsrv.StartTime
tcs.RemoveListAllAfterItem(nodeBeg, false)
tcs.EndTime = subtlsrv.StartTime
@ -497,13 +489,13 @@ func (tcs *TimeCurveSrv) SubTimeLine(subtlsrv TimeLineSrv) (err error) {
// 删除时段内的节点
for e = tcs.TimeLineList.Front(); e != nil; e = next {
next = e.Next()
tl = e.Value.(*TimeLineSrv)
tl = e.Value.(TimeLineSrv)
if tl.StartTime.Unix() > subtlsrv.StartTime.Unix() && tl.EndTime.Unix() < subtlsrv.EndTime.Unix() {
tcs.TimeLineList.Remove(e)
}
}
// 获取最后一个节点
tl = tcs.TimeLineList.Back().Value.(*TimeLineSrv)
tl = tcs.TimeLineList.Back().Value.(TimeLineSrv)
tcs.EndTime = tl.EndTime
}
}


+ 1
- 1
services/schedule/WorkLine.Ctrl.go View File

@ -88,7 +88,7 @@ func (wlsrv *WorklineSrv) GetLineTaskList() {
// 初始化
wlsrv.SchedTaskList = list.New()
for _, task = range wlsrv.SchedTaskArray {
wlsrv.SchedTaskList.PushBack(&task)
wlsrv.SchedTaskList.PushBack(task)
}
}


Loading…
Cancel
Save