From 20112f939888065ba7fb18c19e89531877b845e5 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 28 十一月 2023 16:33:34 +0800
Subject: [PATCH] fix

---
 api/v1/plc.go   |   13 +++++++++----
 service/task.go |   12 ++++++++++++
 2 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/api/v1/plc.go b/api/v1/plc.go
index c16aba1..f2c21f1 100644
--- a/api/v1/plc.go
+++ b/api/v1/plc.go
@@ -41,10 +41,15 @@
 		reportWork, err := service.GetLastReportWork(params.ProcedureId)
 		if err == nil {
 			finishNumber = reportWork.ReportAmount
-		}
-		workOrder, err := model.NewOrderSearch(nil).SetWorkOrderId(reportWork.WorkOrderID).First()
-		if err == nil {
-			totalNumber = workOrder.Amount.IntPart()
+			workOrder, err := model.NewOrderSearch(nil).SetWorkOrderId(reportWork.WorkOrderID).First()
+			if err == nil {
+				totalNumber = workOrder.Amount.IntPart()
+			}
+		} else {
+			_, workOrder, _ := service.NewTaskService().GetProcedureAndWorkOrder(params.ProcedureId)
+			if workOrder != nil {
+				totalNumber = workOrder.Amount.IntPart()
+			}
 		}
 	}
 
diff --git a/service/task.go b/service/task.go
index 323add1..7a9eb61 100644
--- a/service/task.go
+++ b/service/task.go
@@ -132,6 +132,18 @@
 	return procedure, ecode.OK
 }
 
+func (slf TaskService) GetProcedureAndWorkOrder(procedureId uint) (procedure *model.Procedures, workOrder *model.Order, err error) {
+	procedure, err = model.NewProceduresSearch(nil).SetId(procedureId).First()
+	if err != nil {
+		return nil, nil, err
+	}
+	workOrder, err = model.NewOrderSearch(nil).SetWorkOrderId(procedure.WorkOrderID).First()
+	if err != nil {
+		return nil, nil, err
+	}
+	return procedure, workOrder, nil
+}
+
 func (slf TaskService) UpdateProcedureStatusAndChannel(db *gorm.DB, id uint, status model.ProcedureStatus, channel int32, processModelNumber string) error {
 	if status == model.ProcedureStatusFinished || status == model.ProcedureStatusWaitProcess {
 		ProgressCacheUnset(conf.Conf.CurrentDeviceID, channel)

--
Gitblit v1.8.0