From 1691d8ee8fe10799d98b296625fd30183407ef25 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 28 六月 2024 12:17:22 +0800
Subject: [PATCH] 新增操作类型增加基础操作类型和仓库id来支持库存盘点
---
task/tasklist.go | 41 ++++++++++++++++++++++++++++++++---------
1 files changed, 32 insertions(+), 9 deletions(-)
diff --git a/task/tasklist.go b/task/tasklist.go
index 755558d..ec6298b 100644
--- a/task/tasklist.go
+++ b/task/tasklist.go
@@ -4,19 +4,42 @@
"github.com/go-co-op/gocron"
"time"
"wms/pkg/logx"
+ "wms/service"
)
-var s *gocron.Scheduler
+var dynamicScheduler *gocron.Scheduler
func init() {
- s = gocron.NewScheduler(time.UTC)
+ dynamicScheduler = gocron.NewScheduler(time.Local)
}
-func Init() {
- _, err := s.Every(1).Month(1).Do(MonthStats) //姣忔湀鍒濇墽琛屼竴娆�
- if err != nil {
- logx.Errorf("init task err:%v", err)
- panic(err)
- }
+func Init() error {
+ return StartDynamicTask()
+}
- s.StartAsync()
+func StartDynamicTask() (err error) {
+ sysCfgService := service.NewSystemConfigService()
+ day, timeStr, err := sysCfgService.GetInventoryCutOffPoint()
+ if err != nil {
+ return
+ }
+ if day != 0 && timeStr != "" {
+ _, err = dynamicScheduler.Every(1).Month(day).At(timeStr).Do(MonthStats) //姣忔湀鍒濇墽琛屼竴娆�
+ if err != nil {
+ logx.Errorf("init task err:%v", err)
+ return err
+ }
+ }
+ if dynamicScheduler.Len() == 0 {
+ return
+ }
+ dynamicScheduler.StartAsync()
+ return nil
+}
+
+func RestartDynamicTask() error {
+ if dynamicScheduler != nil {
+ dynamicScheduler.Stop()
+ dynamicScheduler.Clear()
+ }
+ return StartDynamicTask()
}
--
Gitblit v1.8.0