From 20bbbcc1d14536ddaa498ac84a6008828df8dc1c Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 13 十二月 2023 20:23:11 +0800
Subject: [PATCH] 往plc写目标数时,优先往写入地址写,没有写入地址再往读取地址写

---
 crontask/cron_task.go |   15 ++++-----------
 1 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/crontask/cron_task.go b/crontask/cron_task.go
index 24ffc22..0199a20 100644
--- a/crontask/cron_task.go
+++ b/crontask/cron_task.go
@@ -43,10 +43,10 @@
 					logx.Infof("plc read finish number err: %v", err)
 					continue
 				}
-				finishNumber := cast.ToInt64(value)
+				finishNumber := cast.ToInt(value)
 				if finishNumber != 0 {
 					service.PlcCacheSet(conf.Conf.CurrentDeviceID, addressItem.Channel, constvar.PlcCacheKeyFinishNumber, finishNumber)
-					_ = service.NewProgressService().UpdateProgress(conf.Conf.CurrentDeviceID, addressItem.Channel, cast.ToInt64(finishNumber))
+					_ = service.NewProgressService().UpdateProgress(conf.Conf.CurrentDeviceID, addressItem.Channel, finishNumber)
 				}
 				logx.Infof("plc read finish number: %v", finishNumber)
 			}
@@ -115,20 +115,13 @@
 	}
 	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,
-			FinishAmount:       finishAmount,
+			FinishAmount:       record.FinishedQuantity,
 			ProductProcedureID: record.ProductProcedureID,
 			StartTs:            record.StartTs,
 			FinishTs:           record.FinishTs,
@@ -142,7 +135,7 @@
 		syncOkIds = append(syncOkIds, record.ID)
 	}
 	if len(syncOkIds) > 0 {
-		err = service.NewTaskService().RemoveTaskStatusSync(syncOkIds)
+		err = service.NewTaskService().FinishTaskStatusSync(syncOkIds)
 		if err != nil {
 			logx.Errorf("sync task status delete sync ok records error:%v", err)
 		}

--
Gitblit v1.8.0