From 799a22cda35de94ad5658aa6283f1d80db132ba4 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 05 九月 2023 17:09:51 +0800
Subject: [PATCH] fix todo

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

diff --git a/crontask/cron_task.go b/crontask/cron_task.go
index da60256..35fde2b 100644
--- a/crontask/cron_task.go
+++ b/crontask/cron_task.go
@@ -1,24 +1,36 @@
 package crontask
 
 import (
+	"apsClient/conf"
 	"apsClient/constvar"
 	"apsClient/pkg/ecode"
 	"apsClient/pkg/logx"
 	"apsClient/service"
 	"github.com/go-co-op/gocron"
+	"github.com/spf13/cast"
 	"time"
 )
 
 func InitTask() error {
+
+	finishNumberTimeInterval := conf.Conf.PLC.FinishNumberTimeInterval
+	totalNumberTimeInterval := conf.Conf.PLC.TotalNumberTimeInterval
+	if finishNumberTimeInterval == 0 {
+		finishNumberTimeInterval = 6
+	}
+	if totalNumberTimeInterval == 0 {
+		totalNumberTimeInterval = 60
+	}
 	s := gocron.NewScheduler(time.UTC)
-	_, err := s.Every(2).Seconds().StartImmediately().Do(func() {
+	_, err := s.Every(finishNumberTimeInterval).Seconds().StartImmediately().Do(func() {
 		plcConfig, code := service.NewDevicePlcService().GetDevicePlc()
 		if code != ecode.OK {
 			return
 		}
 		finishNumber, err := service.PlcRead(plcConfig, constvar.PlcStartAddressTypeFinishNumber)
-		if err == nil {
+		if err == nil && finishNumber != 0 {
 			service.PlcCacheSet(constvar.PlcCacheKeyFinishNumber, finishNumber)
+			_ = service.NewProgressService().UpdateProgress(cast.ToInt64(finishNumber))
 		}
 		logx.Infof("plc read finish number:%v, err:%v", finishNumber, err)
 
@@ -27,13 +39,13 @@
 		return err
 	}
 
-	s.Every(59).Seconds().StartImmediately().Do(func() {
+	s.Every(totalNumberTimeInterval).Seconds().StartImmediately().Do(func() {
 		plcConfig, code := service.NewDevicePlcService().GetDevicePlc()
 		if code != ecode.OK {
 			return
 		}
 		totalNumber, err := service.PlcRead(plcConfig, constvar.PlcStartAddressTypeTotalNumber)
-		if err == nil {
+		if err == nil && totalNumber != 0 {
 			service.PlcCacheSet(constvar.PlcCacheKeyTotalNumber, totalNumber)
 		}
 		logx.Infof("plc read total number:%v, err:%v", totalNumber, err)

--
Gitblit v1.8.0