From ef7d02ce56e98e8cbc5ed6ec746ea39bf0b8c9e2 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期六, 16 九月 2023 22:44:58 +0800
Subject: [PATCH] 增加实时获取生产进度接口

---
 crontask/cron_task.go |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/crontask/cron_task.go b/crontask/cron_task.go
index 505156d..45072b2 100644
--- a/crontask/cron_task.go
+++ b/crontask/cron_task.go
@@ -31,12 +31,17 @@
 		}
 		for _, addressItem := range plcConfig.Details {
 			if addressItem.FieldName == constvar.PlcStartAddressTypeFinishNumber {
-				finishNumber, err := service.PlcReadDirect(plcConfig, addressItem.StartAddress, addressItem.Position)
-				if err == nil && finishNumber != 0 {
+				value, err := service.PlcReadDirect(plcConfig, addressItem.StartAddress, addressItem.Length, addressItem.Type)
+				if err != nil {
+					logx.Infof("plc read finish number err: %v", err)
+					continue
+				}
+				finishNumber := cast.ToInt64(value)
+				if finishNumber != 0 {
 					service.PlcCacheSet(addressItem.Position, constvar.PlcCacheKeyFinishNumber, finishNumber)
 					_ = service.NewProgressService().UpdateProgress(addressItem.Position, cast.ToInt64(finishNumber))
 				}
-				logx.Infof("plc read finish number:%v, err:%v", finishNumber, err)
+				logx.Infof("plc read finish number: %v", finishNumber)
 			}
 		}
 
@@ -52,12 +57,17 @@
 		}
 		for _, addressItem := range plcConfig.Details {
 			if addressItem.FieldName == constvar.PlcStartAddressTypeTotalNumber {
-				totalNumber, err := service.PlcReadDirect(plcConfig, addressItem.StartAddress, addressItem.Position)
-				if err == nil && totalNumber != 0 {
+				value, err := service.PlcReadDirect(plcConfig, addressItem.StartAddress, addressItem.Length, addressItem.Type)
+				if err != nil {
+					logx.Infof("plc read total number err: %v", err)
+					continue
+				}
+				totalNumber := cast.ToInt64(value)
+				if totalNumber != 0 {
 					service.PlcCacheSet(addressItem.Position, constvar.PlcCacheKeyTotalNumber, totalNumber)
 					_ = service.NewProgressService().UpdateProgress(addressItem.Position, cast.ToInt64(totalNumber))
 				}
-				logx.Infof("plc read total number:%v, err:%v", totalNumber, err)
+				logx.Infof("plc read total number: %v", totalNumber)
 			}
 		}
 

--
Gitblit v1.8.0