product_plan_dto.go
2.3 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package dto
import (
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
"strings"
)
type ProductPlanDto struct {
// 生产计划ID
ProductPlanId int `json:"productPlanId,omitempty"`
// 批号
BatchNumber string `json:"batchNumber,omitempty"`
// 生产日期
ProductDate string `json:"productDate,omitempty"`
// 车间
//*domain.Workshop
// 车间ID
WorkshopId int `json:"workshopId,omitempty"`
// 车间名称
WorkshopName string `json:"workshopName,omitempty"`
// 上班班次 1:全天 2:白班 4:中班 8:夜班
WorkOn int `json:"workOn,omitempty"`
// 上班班次描述
WorkOnDescription string `json:"workOnDescription"`
// 机台 (A、B、C、D 区分机器大小)
Machine string `json:"machine"`
// 产品ID
ProductId int `json:"productId,omitempty"`
// 计划的产品名称
PlanProductName string `json:"planProductName,omitempty"`
// 投入量规格 默认份
DevotedUnit string `json:"devotedUnit" `
// 计划投入
*domain.UnitQuantity
// 计划状态 (1:上线 2:下线 默认下线)
PlanStatus int `json:"planStatus,omitempty"`
// 工作位置
//WorkStation *WorkStation `json:"workStation,omitempty"`
// 总产能
TotalProduct float64 `json:"totalProduct"`
// 备注
Remark string `json:"remark,omitempty"`
// 组织名称
OrgName string `json:"orgName"`
// 权限标识 (当前登录组织匹配为true,否则false)
AuthFlag bool `json:"authFlag"`
}
func (d *ProductPlanDto) LoadDto(m *domain.ProductPlan, orgId int) *ProductPlanDto {
d.ProductPlanId = m.ProductPlanId
d.BatchNumber = m.BatchNumber
d.ProductDate = m.ProductDate.Format("2006-01-02")
d.WorkshopId = m.Workshop.WorkshopId
d.WorkshopName = m.Workshop.WorkshopName
d.WorkOn = m.WorkOn
d.Machine = m.Machine
d.PlanProductName = m.PlanProductName
d.UnitQuantity = m.PlanDevoted
d.DevotedUnit = "份"
if m.Ext.ProductPlanExt != nil {
d.DevotedUnit = m.Ext.ProductPlanExt.DevotedUnit
d.ProductId = m.Ext.ProductPlanExt.ProductId
}
d.PlanStatus = m.PlanStatus
d.TotalProduct = 0
d.Remark = m.Remark
d.AuthFlag = domain.CheckOrgAuth(orgId, m.OrgId)
if m.Ext != nil {
d.OrgName = m.Ext.OrgName
}
workOnDesc := domain.WorkOnDescription(m.WorkOn)
d.WorkOnDescription = strings.Join(workOnDesc, ",")
return d
}