From 28addaa46cb97c20ad37e13eb10535de7b75e71c Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 29 十一月 2023 19:29:43 +0800
Subject: [PATCH] 首次报工开始时间为工序开始时间

---
 service/report_work.go |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/service/report_work.go b/service/report_work.go
index 4cbf466..a89ae40 100644
--- a/service/report_work.go
+++ b/service/report_work.go
@@ -33,17 +33,12 @@
 	for _, worker := range procedure.ProceduresInfo.Workers {
 		if params.WorkerID == worker.WorkerID {
 			workerName = worker.WorkerName
-			if worker.StartTime < nowTs {
-				startTs = worker.StartTime
-			}
 		}
 	}
 	if workerName == "" {
 		return errors.New("娌℃湁鎵惧埌褰撳墠鍊肩彮浜哄憳")
 	}
-	if startTs == 0 {
-		return errors.New("娌℃湁鎵惧埌褰撳墠鍊肩彮浜哄憳寮�濮嬫椂闂�")
-	}
+
 	finishAmount := params.ReportAmount
 	lastReportWork, err := GetLastReportWork(params.ProcedureId)
 	if err == nil {
@@ -52,6 +47,8 @@
 		}
 		finishAmount = params.ReportAmount - lastReportWork.ReportAmount
 		startTs = lastReportWork.EndTime
+	} else {
+		startTs = procedure.RealStartTime
 	}
 
 	record := &model.ReportWork{
@@ -71,7 +68,7 @@
 		BarCode:            snowflake.GenerateIdStr(),
 	}
 	err = model.WithTransaction(func(db *gorm.DB) error {
-		err = model.NewReportWorkSearch(nil).Create(record)
+		err = model.NewReportWorkSearch(db).Create(record)
 		if err != nil {
 			return err
 		}
@@ -80,17 +77,23 @@
 		if err != nil {
 			return err
 		}
-		err = model.NewReportsToCloudSearch(nil).Create(&model.ReportsToCloud{
+		err = model.NewReportsToCloudSearch(db).Create(&model.ReportsToCloud{
 			ReportType: constvar.ReportTypeReportWork,
 			Content:    string(content),
 		})
-		return err
+		if err != nil {
+			return err
+		}
+
+		return nil
 	})
 	if err != nil {
 		logx.Errorf("save report work transaction error: %v", err)
 		return err
 	}
-	_ = NewProgressService().UpdateProgress(conf.Conf.CurrentDeviceID, procedure.Channel, int64(params.ReportAmount))
+
+	err = NewProgressService().UpdateProgressByProceduresId(procedure.ID, int64(params.ReportAmount))
+
 	return nil
 }
 

--
Gitblit v1.8.0