From 50d488d3df805ccb4ab7984a40ff74bda9b21a40 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 28 十一月 2023 09:57:42 +0800
Subject: [PATCH] 报工保存生产进度
---
model/device_plc.go | 43 +++++++++++++++++++++++++------------------
1 files changed, 25 insertions(+), 18 deletions(-)
diff --git a/model/device_plc.go b/model/device_plc.go
index 9ce9bbc..a6e7331 100644
--- a/model/device_plc.go
+++ b/model/device_plc.go
@@ -13,14 +13,20 @@
// DevicePlc 璁惧鐨凱LC閰嶇疆
DevicePlc struct {
gorm.Model
+ DeviceID string `gorm:"column:device_id;type:varchar(255);not null;unique" json:"deviceID"` //璁惧缂栧彿
Brand string `gorm:"type:varchar(191)" json:"brand"`
Method constvar.PlcMethod `gorm:"type:varchar(191)" json:"method"`
Address string `gorm:"type:varchar(191)" json:"address"` //plc ip鍦板潃锛� method = modbusTCP鐢�
Port int `json:"port"` //plc 绔彛鍙凤紝 method = modbusTCP鐢�
BaudRate int `json:"baudRate"` //涓插彛娉㈢壒鐜囷紝 method = serial鏃� 鐢�
SerialName string `json:"serialName"` //涓插彛鍚嶇О锛宮ethod = serial鏃� 鐢�
- IsOpen bool `json:"isOpen"`
- Detail string `gorm:"type:varchar(2048)" json:"-"`
+
+ 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 `json:"isOpen"`
+ Detail string `gorm:"type:varchar(2048)" json:"-"`
Details []*DevicePlcAddress `gorm:"-" json:"details"`
@@ -51,12 +57,15 @@
}
func (slf *DevicePlc) AfterFind(tx *gorm.DB) error {
- details := make([]*DevicePlcAddress, 0)
- err := json.Unmarshal([]byte(slf.Detail), &details)
- if err != nil {
- return err
+ if slf.Detail != "" {
+ details := make([]*DevicePlcAddress, 0)
+ err := json.Unmarshal([]byte(slf.Detail), &details)
+ if err != nil {
+ return err
+ }
+ slf.Details = details
}
- slf.Details = details
+
return nil
}
@@ -84,11 +93,20 @@
return slf
}
+func (slf *DevicePlcSearch) SetDeviceId(deviceId string) *DevicePlcSearch {
+ slf.DeviceID = deviceId
+ return slf
+}
+
func (slf *DevicePlcSearch) build() *gorm.DB {
var db = slf.Orm.Table(slf.TableName())
if slf.ID > 0 {
db = db.Where("id = ?", slf.ID)
+ }
+
+ if slf.DeviceID != "" {
+ db = db.Where("device_id = ?", slf.DeviceID)
}
if slf.Order != "" {
@@ -104,17 +122,6 @@
if err := db.Create(record).Error; err != nil {
return fmt.Errorf("create err: %v, record: %+v", err, record)
- }
-
- return nil
-}
-
-// CreateBatch 鎵归噺鎻掑叆
-func (slf *DevicePlcSearch) CreateBatch(records []*DevicePlc) error {
- var db = slf.build()
-
- if err := db.Create(&records).Error; err != nil {
- return fmt.Errorf("create batch err: %v, records: %+v", err, records)
}
return nil
--
Gitblit v1.8.0