From f4c6c982a275fcdead46a7bdb5704fc39b4f1bb0 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 01 九月 2023 16:46:14 +0800
Subject: [PATCH] 接收工艺模型新增消息,plc读取时间可配置

---
 nsq/msg_handler.go |   39 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/nsq/msg_handler.go b/nsq/msg_handler.go
index a33cf9f..69ca36e 100644
--- a/nsq/msg_handler.go
+++ b/nsq/msg_handler.go
@@ -50,7 +50,7 @@
 					if err == gorm.ErrRecordNotFound {
 						var orderRecord model.Order
 						err = structx.AssignTo(task.WorkOrder, &orderRecord)
-						orderRecord.Status = model.OrderStatusUnFinished
+						orderRecord.Status = model.OrderStatusWaitProcess
 						if err != nil {
 							logx.Errorf(" structx.Assign task.Order to orderRecord err: %v", err.Error())
 							return err
@@ -64,7 +64,7 @@
 						EndTime:     procedure.EndTime,
 						WorkOrderID: task.WorkOrder.WorkOrderID,
 						OrderID:     task.WorkOrder.OrderID,
-						Status:      model.ProcedureStatusUnFinished,
+						Status:      model.ProcedureStatusWaitProcess,
 					}
 					procedureData, err := json.Marshal(procedure)
 					procedureRecord.ProcedureData = string(procedureData)
@@ -118,6 +118,7 @@
 		key := strings.ReplaceAll(keys[i], "\r", "")
 		address := cast.ToInt(strings.ReplaceAll(addresses[i], "\r", ""))
 		plc_address.Set(key, address)
+		logx.Infof("plc address set ok: key:%v, address:%v", key, address)
 	}
 	//閫氱煡鍥炲鏀跺埌
 	ReceivedMessageChan <- &ReceivedMessage{
@@ -126,3 +127,37 @@
 	}
 	return nil
 }
+
+type ProcessParams struct {
+	Topic string
+}
+
+func (slf *ProcessParams) HandleMessage(data []byte) (err error) {
+	logx.Infof("get an process params message :%s", data)
+	//閫氱煡鍥炲鏀跺埌
+	ReceivedMessageChan <- &ReceivedMessage{
+		Topic:   slf.Topic,
+		Message: data,
+	}
+	return nil
+}
+
+type ProcessParamsSync struct {
+	Topic string
+}
+
+func (slf *ProcessParamsSync) HandleMessage(data []byte) (err error) {
+	logx.Infof("get an process params sync message :%s", data)
+	var processModel model.ProcessModel
+	err = json.Unmarshal(data, &processModel)
+	if err != nil {
+		logx.Infof("unmarshal process params sync err :%s", err)
+		return err
+	}
+	err = model.NewProcessModelSearch().Create(&processModel)
+	if err != nil {
+		logx.Infof("save process params sync err :%s", err)
+		return err
+	}
+	return nil
+}

--
Gitblit v1.8.0