From 8324f872ef3a4d0c978a9b1d062800c6a1701c12 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 01 十二月 2023 09:58:17 +0800 Subject: [PATCH] fix --- model/common/common.go | 104 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 73 insertions(+), 31 deletions(-) diff --git a/model/common/common.go b/model/common/common.go index 2b3e2c9..b0a9b22 100644 --- a/model/common/common.go +++ b/model/common/common.go @@ -38,20 +38,21 @@ } ProductProcedure struct { - ProcedureID string `gorm:"uniqueIndex:idx_product_procedure;type:varchar(191);comment:宸ュ簭ID" json:"procedureId"` - ProcedureName string `gorm:"type:varchar(191);comment:宸ュ簭鍚嶇О锛屼粎鏌ヨ鐢�" json:"procedureName"` - NextProcedureID string `json:"nextProcedureId"` - NextProcedureName string `json:"nextProcedureName"` - DeviceID string `gorm:"type:varchar(191);not null;comment:璁惧ID" json:"deviceId"` - DeviceName string `json:"deviceName"` - StartTime int64 `gorm:"comment:璁″垝寮�濮嬫椂闂�" json:"startTime"` - EndTime int64 `gorm:"comment:璁″垝缁撴潫鏃堕棿" json:"endTime"` - WorkHours decimal.Decimal `gorm:"type:decimal(35,18);comment:宸ユ椂" json:"workHours"` - InputMaterials []*ProcedureMaterial `json:"inputMaterials"` // 杈撳叆鐗╂枡鍒楄〃 - OutputMaterials []*ProcedureMaterial `json:"outputMaterials"` // 杈撳嚭鐗╂枡鍒楄〃 - Workers []*ProcedureWorker `json:"workers"` // 浜哄憳鍒楄〃 - AllProcedureNames []string `json:"allProcedureNames"` // 鎵�灞炲伐鍗曞伐搴忓垪琛� - Channel int32 `json:"channel"` //閫氶亾搴忓彿 + ProductProcedureID string `gorm:"index;type:varchar(191);not null;comment:浜у搧宸ュ簭ID" json:"productProcedureID"` + ProcedureID string `gorm:"uniqueIndex:idx_product_procedure;type:varchar(191);comment:宸ュ簭ID" json:"procedureId"` + ProcedureName string `gorm:"type:varchar(191);comment:宸ュ簭鍚嶇О锛屼粎鏌ヨ鐢�" json:"procedureName"` + NextProcedureID string `json:"nextProcedureId"` + NextProcedureName string `json:"nextProcedureName"` + DeviceID string `gorm:"type:varchar(191);not null;comment:璁惧ID" json:"deviceId"` + DeviceName string `json:"deviceName"` + StartTime int64 `gorm:"comment:璁″垝寮�濮嬫椂闂�" json:"startTime"` + EndTime int64 `gorm:"comment:璁″垝缁撴潫鏃堕棿" json:"endTime"` + WorkHours decimal.Decimal `gorm:"type:decimal(35,18);comment:宸ユ椂" json:"workHours"` + InputMaterials []*ProcedureMaterial `json:"inputMaterials"` // 杈撳叆鐗╂枡鍒楄〃 + OutputMaterials []*ProcedureMaterial `json:"outputMaterials"` // 杈撳嚭鐗╂枡鍒楄〃 + Workers []*ProcedureWorker `json:"workers"` // 浜哄憳鍒楄〃 + AllProcedureNames []string `json:"allProcedureNames"` // 鎵�灞炲伐鍗曞伐搴忓垪琛� + Channel int32 `json:"channel"` //閫氶亾搴忓彿 } DeliverScheduleTask struct { @@ -74,14 +75,17 @@ } PlcConfig struct { - Brand string `gorm:"type:varchar(191);comment:PLC鍝佺墝" json:"brand"` - Method constvar.PlcMethod `gorm:"type:varchar(191);comment:鎺ュ彛鏂瑰紡" json:"method"` - Address string `gorm:"type:varchar(191);comment:PLC鍦板潃" json:"address"` //plc ip鍦板潃锛� method = modbusTCP鐢� - Port int `gorm:"type:int(11);comment:绔彛" json:"port"` //plc 绔彛鍙凤紝 method = modbusTCP鐢� - BaudRate int `gorm:"type:int(11);comment:娉㈢壒鐜�" json:"baudRate"` //涓插彛娉㈢壒鐜囷紝 method = serial鏃� 鐢� - SerialName string `gorm:"type:int(11);comment:涓插彛鍚嶇О" json:"serialName"` //涓插彛鍚嶇О锛宮ethod = serial鏃� 鐢� - IsOpen bool `gorm:"type:tinyint(1);comment:鏄惁寮�鍚�" json:"isOpen"` - Detail string `gorm:"type:varchar(2048);comment:鏁版嵁璇︽儏" json:"-"` + Brand string `gorm:"type:varchar(191)" json:"brand"` //comment:PLC鍝佺墝 + Method constvar.PlcMethod `gorm:"type:varchar(191)" json:"method"` //comment:鎺ュ彛鏂瑰紡 + Address string `gorm:"type:varchar(191)" json:"address"` //plc ip鍦板潃锛� method = modbusTCP鐢� + Port int `gorm:"type:int(11)" json:"port"` //plc 绔彛鍙凤紝 method = modbusTCP鐢� + BaudRate int `gorm:"type:int(11)" json:"baudRate"` //涓插彛娉㈢壒鐜囷紝 method = serial鎴杕odbusRTU 鏃剁敤 + SerialName string `gorm:"type:int(11)" json:"serialName"` //涓插彛鍚嶇О锛宮ethod = serial鎴杕odbusRTU 鏃剁敤 + DataBit int `gorm:"type:int(11)" json:"dataBit"` //鏁版嵁浣嶏紝method = modbusRTU 鐢� + StopBit int `gorm:"type:int(11)" json:"stopBit"` //鍋滄浣嶏紝method = modbusRTU 鐢� + Parity constvar.Parity `gorm:"type:int(11)" json:"parity"` //鏍¢獙鏂瑰紡锛宮ethod = modbusRTU 鐢� + IsOpen bool `gorm:"type:tinyint(1)" json:"isOpen"` + Detail string `gorm:"type:varchar(2048)" json:"-"` Details []*PlcAddress `gorm:"-" json:"details"` } @@ -107,11 +111,8 @@ } ResponseProcessParams struct { Number string `json:"number"` //宸ヨ壓妯″瀷缂栧彿 - OrderId string `json:"orderId"` //璁㈠崟id Product string `json:"product"` //浜у搧鍚嶇О Procedure string `json:"procedure"` //宸ュ簭 - WorkOrder string `json:"workOrder"` //宸ュ崟 - Device string `json:"device"` //璁惧 Params string `json:"params"` ParamsMap map[string]interface{} `json:"paramsMap"` DeviceId string `json:"deviceId" gorm:"-"` //鐢ㄤ簬杩囨护鑾峰彇nsq娑堟伅 @@ -120,20 +121,61 @@ // MsgTaskStatusUpdate 浠诲姟鐘舵�佹敼鍙� type MsgTaskStatusUpdate struct { - WorkOrderId string `json:"workOrderId"` //宸ュ崟缂栧彿 - ProcedureID string `json:"procedureId"` // 宸ュ簭 - DeviceId string `json:"deviceId"` //鐢ㄤ簬杩囨护鑾峰彇nsq娑堟伅 - IsProcessing bool //鏄惁澶勭悊涓� - IsFinish bool //鏄惁瀹屾垚 + WorkOrderId string `json:"workOrderId"` //宸ュ崟缂栧彿 + ProcedureID string `json:"procedureId"` // 宸ュ簭 + DeviceId string `json:"deviceId"` //鐢ㄤ簬杩囨护鑾峰彇nsq娑堟伅 + IsProcessing bool //鏄惁澶勭悊涓� + IsFinish bool //鏄惁瀹屾垚 + FinishAmount int `json:"finishAmount"` //isFinish = true鏃跺彇宸ュ簭鏈�缁堝姞宸ユ暟浼犱笂鍘� + ProductProcedureID string `json:"productProcedureID"` //浜у搧宸ュ簭id + StartTs int64 `json:"start_ts"` //寮�濮嬫椂闂� + FinishTs int64 `json:"finish_ts"` //缁撴潫鏃堕棿 } -type Device struct { +// DeviceMsg 涓嬪彂鍒扮粓绔殑璁惧淇℃伅 +type DeviceMsg struct { ID string `gorm:"comment:涓婚敭ID;primaryKey;type:varchar(191);" json:"id"` DeviceProcedureAttr []*DeviceProcedureAttr `json:"deviceProcedureAttr"` // 璁惧宸ュ簭灞炴�у垪琛� ExtChannelAmount int `gorm:"type:tinyint;comment:棰濆鐨勯�氶亾鏁伴噺;default:0;" json:"extChannelAmount"` + DeviceName string `json:"deviceName"` + DeviceMac string `json:"deviceMac"` + PlcAddressList []*PlcAddress + PlcConfig *PlcConfig } type DeviceProcedureAttr struct { ProcedureID string `gorm:"index;type:varchar(191);comment:宸ュ簭ID" json:"procedureId"` ProcedureName string `gorm:"type:varchar(191);comment:宸ュ簭鍚嶇О" json:"procedureName"` DeviceID string `gorm:"index;type:varchar(191);not null;comment:璁惧ID" json:"deviceId"` } + +type PullDataType string + +const ( + PullDataTypeProcessModel = "process_model" + PullDataTypeDevice = "device" + PullDataTypeProcessModelPlcAddress = "process_model_plc_address" +) + +// MsgPullDataRequest 鎷夊彇浜戠鏁版嵁 +type MsgPullDataRequest struct { + DataType PullDataType `json:"dataType"` //瑕佹媺鍙栫殑鏁版嵁绫诲瀷 +} + +type MsgPullDataResponse struct { + DataType PullDataType `json:"dataType"` //瑕佹媺鍙栫殑鏁版嵁绫诲瀷 + Data interface{} //杩斿洖鐨勬暟鎹� +} + +type RTUConfig struct { + BaudRate int `json:"baudRate"` //涓插彛娉㈢壒鐜囷紝 method = serial鏃� 鐢� + SerialName string `json:"serialName"` //涓插彛鍚嶇О锛宮ethod = serial鏃� 鐢� + DataBit int `gorm:"type:int(11)" json:"dataBit"` //鏁版嵁浣嶏紝method = modbusRTU 鐢� + StopBit int `gorm:"type:int(11)" json:"stopBit"` //鍋滄浣嶏紝method = modbusRTU 鐢� + Parity constvar.Parity `gorm:"type:int(11)" json:"parity"` //鏍¢獙鏂瑰紡锛宮ethod = modbusRTU 鐢� +} + +// MsgReportData 鏁版嵁涓婃姤 +type MsgReportData struct { + ReportType constvar.ReportType `json:"reportType"` //涓婃姤绫诲瀷 + Content string `json:"Content"` +} -- Gitblit v1.8.0