From efec800478214f3a412f879d2b51c2968515995d Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期六, 25 十一月 2023 17:04:25 +0800
Subject: [PATCH] plc断开连接时获取工序最后一次报工数量作为加工数

---
 service/report_work.go |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/service/report_work.go b/service/report_work.go
index 38693d8..cf8deb4 100644
--- a/service/report_work.go
+++ b/service/report_work.go
@@ -2,6 +2,7 @@
 
 import (
 	"apsClient/conf"
+	"apsClient/constvar"
 	"apsClient/model"
 	"apsClient/model/request"
 	"errors"
@@ -17,6 +18,11 @@
 	if err != nil {
 		return err
 	}
+
+	if procedure.Status != model.ProcedureStatusProcessing {
+		return errors.New("褰撳墠宸ュ簭鏈紑濮嬫垨宸茬粨鏉燂紝涓嶅厑璁告姤宸�")
+	}
+
 	nowTs := time.Now().Unix()
 	var startTs int64
 	var workerName string
@@ -44,8 +50,20 @@
 		Channel:      procedure.Channel,
 		StartTime:    startTs,
 		EndTime:      nowTs,
+		ReportAmount: params.ReportAmount,
 		WorkerID:     params.WorkerID,
 		WorkerName:   workerName,
 	}
-	return model.NewReportWorkSearch(nil).Create(record)
+
+	err = model.NewReportWorkSearch(nil).Create(record)
+	if err != nil {
+		return err
+	}
+	PlcCacheSet(conf.Conf.CurrentDeviceID, procedure.Channel, constvar.PlcCacheKeyFinishNumber, params.ReportAmount)
+	return nil
+}
+
+// GetLastReportWork 鑾峰彇鏈�鍚庝竴涓姤宸�
+func GetLastReportWork(procedureId uint) (reportWork *model.ReportWork, err error) {
+	return model.NewReportWorkSearch(nil).SetProceduresId(procedureId).SetDeviceId(conf.Conf.CurrentDeviceID).SetOrder("id desc").First()
 }

--
Gitblit v1.8.0