From 66a85c70afb149986871febe17a4133b6995cd09 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 30 十一月 2023 19:58:02 +0800
Subject: [PATCH] dashboard接口和数据表

---
 crontask/cron_task.go |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/crontask/cron_task.go b/crontask/cron_task.go
index fa684d2..24ffc22 100644
--- a/crontask/cron_task.go
+++ b/crontask/cron_task.go
@@ -45,8 +45,8 @@
 				}
 				finishNumber := cast.ToInt64(value)
 				if finishNumber != 0 {
-					service.PlcCacheSet(addressItem.Channel, constvar.PlcCacheKeyFinishNumber, finishNumber)
-					_ = service.NewProgressService().UpdateProgress(addressItem.Channel, cast.ToInt64(finishNumber))
+					service.PlcCacheSet(conf.Conf.CurrentDeviceID, addressItem.Channel, constvar.PlcCacheKeyFinishNumber, finishNumber)
+					_ = service.NewProgressService().UpdateProgress(conf.Conf.CurrentDeviceID, addressItem.Channel, cast.ToInt64(finishNumber))
 				}
 				logx.Infof("plc read finish number: %v", finishNumber)
 			}
@@ -71,8 +71,7 @@
 				}
 				totalNumber := cast.ToInt64(value)
 				if totalNumber != 0 {
-					service.PlcCacheSet(addressItem.Channel, constvar.PlcCacheKeyTotalNumber, totalNumber)
-					_ = service.NewProgressService().UpdateProgress(addressItem.Channel, cast.ToInt64(totalNumber))
+					service.PlcCacheSet(conf.Conf.CurrentDeviceID, addressItem.Channel, constvar.PlcCacheKeyTotalNumber, totalNumber)
 				}
 				logx.Infof("plc read total number: %v", totalNumber)
 			}
@@ -81,7 +80,7 @@
 	})
 
 	if isMaster {
-		s.Every(60).Seconds().Do(SyncProductionProgress) //鍚屾鐢熶骇鏁版嵁
+		s.Every(20).Seconds().Do(SyncProductionProgress) //鍚屾鐢熶骇鏁版嵁
 		s.Every(30).Seconds().Do(SyncTaskStatus)         //鍚屾浠诲姟鐘舵��
 		s.Every(10).Seconds().Do(CheckNsqConn)           //鏌ヨnsq杩炴帴
 		s.Every(30).Seconds().Do(ReportData)             //涓婃姤鏁版嵁
@@ -116,12 +115,23 @@
 	}
 	syncOkIds := make([]uint, 0, len(records))
 	for _, record := range records {
+		var finishAmount int
+		if record.IsFinish {
+			progress, err := model.NewProductionProgressSearch(nil).SetWorkOrderId(record.WorkOrderId).SetProductProcedureId(record.ProductProcedureID).First()
+			if err == nil {
+				finishAmount = int(progress.FinishedQuantity)
+			}
+		}
 		msg := &common.MsgTaskStatusUpdate{
-			WorkOrderId:  record.WorkOrderId,
-			ProcedureID:  record.ProcedureID,
-			DeviceId:     record.DeviceId,
-			IsProcessing: record.IsProcessing,
-			IsFinish:     record.IsFinish,
+			WorkOrderId:        record.WorkOrderId,
+			ProcedureID:        record.ProcedureID,
+			DeviceId:           record.DeviceId,
+			IsProcessing:       record.IsProcessing,
+			IsFinish:           record.IsFinish,
+			FinishAmount:       finishAmount,
+			ProductProcedureID: record.ProductProcedureID,
+			StartTs:            record.StartTs,
+			FinishTs:           record.FinishTs,
 		}
 		caller := nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicTaskProcedureStatusUpdate, conf.Conf.NsqConf.NodeId), "")
 		err = caller.Send(msg)

--
Gitblit v1.8.0