| | |
| | | procedureRecords := make([]*model.Procedures, 0, len(task.Procedures)) |
| | | for _, procedure := range task.Procedures { |
| | | procedureRecord := model.Procedures{ |
| | | WorkOrderID: task.WorkOrder.WorkOrderID, |
| | | OrderID: task.WorkOrder.OrderID, |
| | | DeviceID: procedure.DeviceID, |
| | | ProcedureID: procedure.ProcedureID, |
| | | StartTime: procedure.StartTime, |
| | | EndTime: procedure.EndTime, |
| | | Status: model.ProcedureStatusWaitProcess, |
| | | Channel: procedure.Channel, |
| | | ProceduresInfo: common.ProductProcedure{}, |
| | | ProductProcedureID: procedure.ProductProcedureID, |
| | | WorkOrderID: task.WorkOrder.WorkOrderID, |
| | | OrderID: task.WorkOrder.OrderID, |
| | | DeviceID: procedure.DeviceID, |
| | | ProcedureID: procedure.ProcedureID, |
| | | StartTime: procedure.StartTime, |
| | | EndTime: procedure.EndTime, |
| | | Status: model.ProcedureStatusWaitProcess, |
| | | Channel: procedure.Channel, |
| | | ProceduresInfo: common.ProductProcedure{}, |
| | | } |
| | | procedureData, err := json.Marshal(procedure) |
| | | if err != nil { |
| | |
| | | Procedures: strings.Join(procedures, ","), |
| | | ExtChannelAmount: msg.ExtChannelAmount, |
| | | DeviceMac: msg.DeviceMac, |
| | | DeviceName: msg.DeviceName, |
| | | } |
| | | |
| | | oldRecord, err := model.NewDeviceSearch().SetDeviceId(msg.ID).First() |
| | |
| | | err = model.NewDeviceSearch().Create(deviceRecord) |
| | | } else if oldRecord.ExtChannelAmount != deviceRecord.ExtChannelAmount || |
| | | oldRecord.Procedures != deviceRecord.Procedures || |
| | | oldRecord.DeviceMac != deviceRecord.DeviceMac { |
| | | oldRecord.DeviceMac != deviceRecord.DeviceMac || |
| | | oldRecord.DeviceName != deviceRecord.DeviceName { |
| | | err = model.NewDeviceSearch().SetDeviceId(msg.ID).Save(deviceRecord) |
| | | } |
| | | |
| | |
| | | } |
| | | return nil |
| | | } |
| | | |
| | | type Dashboard struct { |
| | | Topic string |
| | | } |
| | | |
| | | func (slf *Dashboard) HandleMessage(data []byte) (err error) { |
| | | logx.Infof("dashboard message: %s", data) |
| | | var dashboard model.Dashboard |
| | | err = json.Unmarshal(data, &dashboard) |
| | | if err != nil { |
| | | logx.Infof("unmarshal msg err :%s", err) |
| | | return err |
| | | } |
| | | old, err := model.NewDashboardSearch(nil).SetVersion(dashboard.Version).First() |
| | | if err == gorm.ErrRecordNotFound { |
| | | err = model.NewDashboardSearch(nil).SetVersion(dashboard.Version).Create(&dashboard) |
| | | } else { |
| | | dashboard.ID = old.ID |
| | | err = model.NewDashboardSearch(nil).Save(&dashboard) |
| | | } |
| | | if err != nil { |
| | | logx.Infof("process pull data err :%s", err) |
| | | return err |
| | | } |
| | | return nil |
| | | } |