product_calendar_dto.go
1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package dto
import (
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/utils"
)
type ProductCalendarDto struct {
// 工厂日历ID
ProductCalendarId int `json:"productCalendarId,omitempty"`
// 企业id
//CompanyId int `json:"companyId,omitempty"`
// 组织ID
//OrgId int `json:"orgId,omitempty"`
// 工作位置
*domain.WorkStation
// 上班班次 1:全天 2:白班 4:中班 8:夜班
WorkOn int `json:"workOn,omitempty"`
// 日历选择
CalendarSelected []int `json:"calendarSelected,omitempty"`
// 上岗时间
InWorkAt string `json:"inWorkAt,omitempty"`
// 下岗时间
OutWorkAt string `json:"outWorkAt,omitempty"`
// 休息时间 (单位 h)
BreakTime float64 `json:"breakTime"`
// 工时 (单位 h)
WorkTime float64 `json:"workTime"`
// 已选择日历
//CalendarSelectedString string `json:"calendarSelectedString,omitempty"`
// 组织名称
OrgName string `json:"orgName"`
// 权限标识 (当前登录组织匹配为true,否则false)
AuthFlag bool `json:"authFlag"`
// 休息时间周期列表
BreakTimePeriods []*domain.ProductCalendarBreakTimePeriod `json:"breakTimePeriods"`
// 累计休息时间 (单位 h)
TotalBreakTime float64 `json:"totalBreakTime"`
}
func (d *ProductCalendarDto) LoadDto(m *domain.ProductCalendar, orgId int) *ProductCalendarDto {
d.ProductCalendarId = m.ProductCalendarId
d.WorkStation = m.WorkStation
d.WorkOn = m.WorkOn
d.CalendarSelected = utils.ToArrayInt(m.CalendarSelected)
d.InWorkAt = m.InWorkAt
d.OutWorkAt = m.OutWorkAt
d.BreakTime = m.BreakTime
d.WorkTime = m.WorkTime
//d.CalendarSelectedString = strings.Join(m.CalendarSelected, "/")
d.AuthFlag = domain.CheckOrgAuth(orgId, m.OrgId)
if m.Ext != nil {
d.OrgName = m.Ext.OrgName
}
d.BreakTimePeriods = m.BreakTimePeriods
for _, v := range d.BreakTimePeriods {
d.TotalBreakTime += v.BreakTime
}
return d
}