device_dto.go 1.5 KB
package dto

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

type DeviceDto struct {
	// 设备Id
	DeviceId int `json:"deviceId,omitempty"`
	// 设备编号
	DeviceCode string `json:"deviceCode,omitempty"`
	// 设备名称
	DeviceName string `json:"deviceName,omitempty"`
	// 设备型号
	DeviceModel string `json:"deviceModel,omitempty"`
	// 设备类型
	DeviceType string `json:"deviceType,omitempty"`
	// 品牌
	Brand string `json:"brand,omitempty"`
	// 设备状态 1:正常 2:封存 3:报废
	DeviceStatus int `json:"deviceStatus,omitempty"`
	// 风险等级 1:高 2:中 3:低
	RiskLevel int `json:"riskLevel,omitempty"`
	// 所属位置
	*domain.WorkStation
	// 生产单个产品的时间(单位:秒)
	UnitProductionSecTime int `json:"unitProductionSecTime"`

	// 组织名称
	OrgName string `json:"orgName"`
	// 权限标识 (当前登录组织匹配为true,否则false)
	AuthFlag bool `json:"authFlag"`
}

func (d *DeviceDto) LoadDto(m *domain.Device, orgId int) *DeviceDto {
	d.DeviceId = m.DeviceId
	d.DeviceCode = m.DeviceCode
	d.DeviceName = m.DeviceName
	d.DeviceModel = m.DeviceModel
	d.DeviceType = m.DeviceType
	d.Brand = m.Brand
	d.DeviceStatus = m.DeviceStatus
	d.RiskLevel = m.RiskLevel
	d.WorkStation = m.WorkStation
	d.AuthFlag = domain.CheckOrgAuth(orgId, m.OrgId)
	if m.Ext != nil {
		d.OrgName = m.Ext.OrgName
	}
	if m.Ext != nil && m.Ext.DeviceExt != nil {
		d.UnitProductionSecTime = m.Ext.DeviceExt.UnitProductionSecTime
	}
	return d
}