product_group_dto.go 1.3 KB
package dto

import (
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
	"strings"
)

// 生产班组
type ProductGroupDto struct {
	// 生产小组ID
	ProductGroupId int `json:"productGroupId,omitempty"`
	// 企业id
	//CompanyId int `json:"companyId,omitempty"`
	// 组织ID
	//OrgId int `json:"orgId,omitempty"`
	// 班组名称
	GroupName string `json:"groupName,omitempty"`
	// 班组长
	GroupLeader string `json:"groupLeader"`
	// 帮组成员列表
	GroupMembers string `json:"groupMembers"`
	// 上班班次 1:全天  2:白班 4:中班  8:夜班
	WorkOn int `json:"workOn,omitempty"`
	// 工作位置
	*domain.WorkStation
	// 组织名称
	OrgName string `json:"orgName"`
	// 权限标识 (当前登录组织匹配为true,否则false)
	AuthFlag bool `json:"authFlag"`
}

func (d *ProductGroupDto) LoadDto(m *domain.ProductGroup, orgId int) *ProductGroupDto {
	d.ProductGroupId = m.ProductGroupId
	d.GroupName = m.GroupName
	if m.GroupLeader != nil {
		d.GroupLeader = m.GroupLeader.UserName
	}
	var members []string
	for i := range m.GroupMembers {
		members = append(members, m.GroupMembers[i].UserName)
	}
	d.GroupMembers = strings.Join(members, ",")
	d.WorkOn = m.WorkOn
	d.WorkStation = m.WorkStation
	d.AuthFlag = domain.CheckOrgAuth(orgId, m.OrgId)
	if m.Ext != nil {
		d.OrgName = m.Ext.OrgName
	}
	return d
}