From 6a5ea3391fd6d87ee43f408a69d09f7d6128a064 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 27 十一月 2023 16:43:08 +0800
Subject: [PATCH] 报工数据同步云端

---
 constvar/const.go      |    1 +
 service/report_work.go |   21 ++++++++++++++++++++-
 2 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/constvar/const.go b/constvar/const.go
index d426658..10a507d 100644
--- a/constvar/const.go
+++ b/constvar/const.go
@@ -133,4 +133,5 @@
 
 const (
 	ReportTypeSystemDeviceID ReportType = 1
+	ReportTypeReportWork     ReportType = 2
 )
diff --git a/service/report_work.go b/service/report_work.go
index 710b490..637624a 100644
--- a/service/report_work.go
+++ b/service/report_work.go
@@ -5,8 +5,11 @@
 	"apsClient/constvar"
 	"apsClient/model"
 	"apsClient/model/request"
+	"apsClient/pkg/logx"
 	"apsClient/pkg/snowflake"
+	"encoding/json"
 	"errors"
+	"github.com/jinzhu/gorm"
 	"time"
 )
 
@@ -65,11 +68,27 @@
 		WorkerTime:         nowTs - startTs,
 		BarCode:            snowflake.GenerateIdStr(),
 	}
+	err = model.WithTransaction(func(db *gorm.DB) error {
+		err = model.NewReportWorkSearch(nil).Create(record)
+		if err != nil {
+			return err
+		}
 
-	err = model.NewReportWorkSearch(nil).Create(record)
+		content, err := json.Marshal(record)
+		if err != nil {
+			return err
+		}
+		err = model.NewReportsToCloudSearch(nil).Create(&model.ReportsToCloud{
+			ReportType: constvar.ReportTypeReportWork,
+			Content:    string(content),
+		})
+		return err
+	})
 	if err != nil {
+		logx.Errorf("save report work transaction error: %v", err)
 		return err
 	}
+
 	PlcCacheSet(conf.Conf.CurrentDeviceID, procedure.Channel, constvar.PlcCacheKeyFinishNumber, params.ReportAmount)
 	return nil
 }

--
Gitblit v1.8.0