|
package schedule
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"leit.com/LAPP_GAAS_GFrame/models"
|
|
"time"
|
|
)
|
|
|
|
type TimeModelSrv struct {
|
|
PlantNr int
|
|
StartDate time.Time
|
|
EndDate time.Time
|
|
DayModelDict map[int]DayModelSrv // 日模型字典
|
|
WeekModelDict map[int]WeekModelSrv // 周模型字典
|
|
CalendarDict map[int]CalendarSrv // 日历字典
|
|
WorkShiftDict map[int]WorkShiftSrv // 人员班组字典
|
|
}
|
|
|
|
// 加载日模型、周模型和工作日历等基础数据
|
|
func(tmsrv *TimeModelSrv)LoadBasicData(startDate, endDate time.Time)(err error){
|
|
var(
|
|
dmsrv DayModelSrv
|
|
wkmsrv WeekModelSrv
|
|
calsrv CalendarSrv
|
|
wssrv WorkShiftSrv
|
|
dmtab models.Daymodel
|
|
dmtablst []models.Daymodel
|
|
wkmtab models.Weekmodel
|
|
wkmtablst []models.Weekmodel
|
|
caltab models.Workcalendar
|
|
caltablst []models.Workcalendar
|
|
wstab models.Workshift
|
|
wstablst []models.Workshift
|
|
i int
|
|
)
|
|
// 初始化
|
|
tmsrv.DayModelDict = make(map[int]DayModelSrv)
|
|
tmsrv.WeekModelDict = make(map[int]WeekModelSrv)
|
|
tmsrv.CalendarDict = make(map[int]CalendarSrv)
|
|
tmsrv.WorkShiftDict = make(map[int]WorkShiftSrv)
|
|
|
|
// 加载日模型
|
|
dmtab = models.Daymodel{Plantnr: tmsrv.PlantNr}
|
|
if dmtablst, err = dmtab.SelectAll(); err != nil {
|
|
err = errors.New(fmt.Sprintf("加载工厂%d的日模型失败%v!",dmtab.Plantnr, err))
|
|
return
|
|
}
|
|
for i = 0; i < len(dmtablst); i++ {
|
|
dmsrv = DayModelSrv{}
|
|
dmsrv.Init(dmtablst[i])
|
|
tmsrv.DayModelDict[dmsrv.DayModelNr] = dmsrv
|
|
}
|
|
|
|
// 加载周模型
|
|
wkmtab = models.Weekmodel{Plantnr: tmsrv.PlantNr}
|
|
if wkmtablst, err = wkmtab.SelectAll(); err != nil {
|
|
err = errors.New(fmt.Sprintf("加载工厂%d的周模型失败%v!",wkmtab.Plantnr, err))
|
|
return
|
|
}
|
|
for i = 0; i < len(wkmtablst); i++ {
|
|
wkmsrv = WeekModelSrv{}
|
|
wkmsrv.Init(wkmtablst[i])
|
|
tmsrv.WeekModelDict[wkmsrv.WeekModelNr] = wkmsrv
|
|
}
|
|
|
|
// 加载工作日历
|
|
caltab = models.Workcalendar{Plantnr: tmsrv.PlantNr}
|
|
if caltablst, err = caltab.SelectAll(startDate, endDate); err != nil {
|
|
err = errors.New(fmt.Sprintf("加载工厂%d的工作日历失败%v!",caltab.Plantnr, err))
|
|
return
|
|
}
|
|
for i = 0; i < len(caltablst); i++ {
|
|
calsrv = CalendarSrv{}
|
|
calsrv.Init(caltablst[i])
|
|
tmsrv.CalendarDict[calsrv.CalendarNr] = calsrv
|
|
}
|
|
|
|
// 加载工作班次模型
|
|
wstab = models.Workshift{Plantnr: tmsrv.PlantNr}
|
|
if wstablst, err = wstab.SelectAll(); err != nil {
|
|
err = errors.New(fmt.Sprintf("加载工厂%d的人员班组失败%v!",wstab.Plantnr, err))
|
|
return
|
|
}
|
|
for i = 0; i < len(wstablst); i++ {
|
|
wssrv = WorkShiftSrv{}
|
|
wssrv.Init(wstablst[i])
|
|
tmsrv.WorkShiftDict[wssrv.WorkShiftNr] = wssrv
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
// 生成日模型的可用时间线
|
|
func(tmsrv *TimeModelSrv)GenDayModelLineArray()(err error){
|
|
var(
|
|
dms DayModelSrv
|
|
wssrv WorkShiftSrv
|
|
lssrv LineSegementSrv
|
|
nextStartPoint int
|
|
ok bool
|
|
)
|
|
|
|
// 遍历日模型
|
|
for _, dms = range tmsrv.DayModelDict {
|
|
dms.LineArray = []LineSegementSrv{}
|
|
// 是否是人员班组
|
|
if dms.DayModelTab.Workshifttoggle > 0 {
|
|
// 班次1
|
|
if dms.DayModelTab.S1toggle > 0 {
|
|
if wssrv, ok = tmsrv.WorkShiftDict[dms.DayModelTab.S1Workshiftnr]; !ok {
|
|
err = errors.New(fmt.Sprintf("日模型%d的班次1对应的人员班次%d不存在!",dms.DayModelTab.Daymodelnr, dms.DayModelTab.S1Workshiftnr))
|
|
return
|
|
}
|
|
nextStartPoint = wssrv.Wsstab.SBeg
|
|
if wssrv.Wsstab.SB1Beg > 0 && wssrv.Wsstab.SB1End > wssrv.Wsstab.SB1Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB1Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB1End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB2End > 0 && wssrv.Wsstab.SB2End > wssrv.Wsstab.SB2Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB2Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB2End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB3End > 0 && wssrv.Wsstab.SB3End > wssrv.Wsstab.SB3Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB3Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB3End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB4End > 0 && wssrv.Wsstab.SB4End > wssrv.Wsstab.SB4Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB4Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB4End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB5End > 0 && wssrv.Wsstab.SB5End > wssrv.Wsstab.SB5Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB5Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB5End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SEnd
|
|
lssrv.GetDuration()
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
|
|
// 班次2
|
|
if dms.DayModelTab.S2toggle > 0 {
|
|
if wssrv, ok = tmsrv.WorkShiftDict[dms.DayModelTab.S2Workshiftnr]; !ok {
|
|
err = errors.New(fmt.Sprintf("日模型%d的班次2对应的人员班次%d不存在!",dms.DayModelTab.Daymodelnr, dms.DayModelTab.S2Workshiftnr))
|
|
return
|
|
}
|
|
nextStartPoint = wssrv.Wsstab.SBeg
|
|
if wssrv.Wsstab.SB1Beg > 0 && wssrv.Wsstab.SB1End > wssrv.Wsstab.SB1Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB1Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB1End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB2End > 0 && wssrv.Wsstab.SB2End > wssrv.Wsstab.SB2Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB2Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB2End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB3End > 0 && wssrv.Wsstab.SB3End > wssrv.Wsstab.SB3Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB3Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB3End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB4End > 0 && wssrv.Wsstab.SB4End > wssrv.Wsstab.SB4Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB4Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB4End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB5End > 0 && wssrv.Wsstab.SB5End > wssrv.Wsstab.SB5Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB5Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB5End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SEnd
|
|
lssrv.GetDuration()
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
|
|
// 班次2
|
|
if dms.DayModelTab.S3toggle > 0 {
|
|
if wssrv, ok = tmsrv.WorkShiftDict[dms.DayModelTab.S3Workshiftnr]; !ok {
|
|
err = errors.New(fmt.Sprintf("日模型%d的班次3对应的人员班次%d不存在!",dms.DayModelTab.Daymodelnr, dms.DayModelTab.S3Workshiftnr))
|
|
return
|
|
}
|
|
nextStartPoint = wssrv.Wsstab.SBeg
|
|
if wssrv.Wsstab.SB1Beg > 0 && wssrv.Wsstab.SB1End > wssrv.Wsstab.SB1Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB1Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB1End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB2End > 0 && wssrv.Wsstab.SB2End > wssrv.Wsstab.SB2Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB2Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB2End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB3End > 0 && wssrv.Wsstab.SB3End > wssrv.Wsstab.SB3Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB3Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB3End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB4End > 0 && wssrv.Wsstab.SB4End > wssrv.Wsstab.SB4Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB4Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB4End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if wssrv.Wsstab.SB5End > 0 && wssrv.Wsstab.SB5End > wssrv.Wsstab.SB5Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SB5Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = wssrv.Wsstab.SB5End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.WorkShiftNr = wssrv.Wsstab.Workshiftnr
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = wssrv.Wsstab.SEnd
|
|
lssrv.GetDuration()
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
}else{
|
|
// 班次1
|
|
if dms.DayModelTab.S1toggle > 0 {
|
|
nextStartPoint = dms.DayModelTab.S1Beg
|
|
if dms.DayModelTab.S1B1End > 0 && dms.DayModelTab.S1B1End > dms.DayModelTab.S1B1Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S1B1Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S1B1End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S1B2End > 0 && dms.DayModelTab.S1B2End > dms.DayModelTab.S1B2Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S1B2Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S1B2End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S1B3End > 0 && dms.DayModelTab.S1B3End > dms.DayModelTab.S1B3Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S1B3Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S1B3End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S1B4End > 0 && dms.DayModelTab.S1B4End > dms.DayModelTab.S1B4Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S1B4Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S1B4End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S1B5End > 0 && dms.DayModelTab.S1B5End > dms.DayModelTab.S1B5Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S1B5Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S1B5End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S1End
|
|
lssrv.GetDuration()
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
|
|
// 班次2
|
|
if dms.DayModelTab.S2toggle > 0 {
|
|
nextStartPoint = dms.DayModelTab.S2Beg
|
|
if dms.DayModelTab.S2B1End > 0 && dms.DayModelTab.S2B1End > dms.DayModelTab.S2B1Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S2B1Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S2B1End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S2B2End > 0 && dms.DayModelTab.S2B2End > dms.DayModelTab.S2B2Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S2B2Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S2B2End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S2B3End > 0 && dms.DayModelTab.S2B3End > dms.DayModelTab.S2B3Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S2B3Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S2B3End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S2B4End > 0 && dms.DayModelTab.S2B4End > dms.DayModelTab.S2B4Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S2B4Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S2B4End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S2B5End > 0 && dms.DayModelTab.S2B5End > dms.DayModelTab.S2B5Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S2B5Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S2B5End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S2End
|
|
lssrv.GetDuration()
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
|
|
// 班次2
|
|
if dms.DayModelTab.S3toggle > 0 {
|
|
nextStartPoint = dms.DayModelTab.S3Beg
|
|
if dms.DayModelTab.S3B1End > 0 && dms.DayModelTab.S3B1End > dms.DayModelTab.S3B1Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S3B1Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S3B1End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S3B2End > 0 && dms.DayModelTab.S3B2End > dms.DayModelTab.S3B2Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S3B2Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S3B2End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S3B3End > 0 && dms.DayModelTab.S3B3End > dms.DayModelTab.S3B3Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S3B3Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S3B3End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S3B4End > 0 && dms.DayModelTab.S3B4End > dms.DayModelTab.S3B4Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S3B4Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S3B4End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
if dms.DayModelTab.S3B5End > 0 && dms.DayModelTab.S3B5End > dms.DayModelTab.S3B5Beg {
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S3B5Beg
|
|
lssrv.GetDuration()
|
|
nextStartPoint = dms.DayModelTab.S3B5End
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
lssrv = LineSegementSrv{}
|
|
lssrv.StartSecond = nextStartPoint
|
|
lssrv.EndSecond = dms.DayModelTab.S3End
|
|
lssrv.GetDuration()
|
|
dms.LineArray = append(dms.LineArray, lssrv)
|
|
}
|
|
}
|
|
|
|
tmsrv.DayModelDict[dms.DayModelNr] = dms
|
|
}
|
|
return
|
|
}
|