From b3d87ae859f20f3bfb4d2e495d7a0f316900b670 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 28 十一月 2023 17:12:21 +0800
Subject: [PATCH] 获取生产进度接口有工序id参数从数据库查询实际开始时间和实际结束时间

---
 api/v1/plc.go       |   16 ++++++++++++----
 service/progress.go |    2 ++
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/api/v1/plc.go b/api/v1/plc.go
index f2c21f1..c4638dc 100644
--- a/api/v1/plc.go
+++ b/api/v1/plc.go
@@ -34,6 +34,9 @@
 		finishNumber interface{}
 		totalNumber  interface{}
 	)
+
+	resp := new(response.ProductProgress)
+
 	if isConnect {
 		finishNumber, _ = service.PlcCacheGet(conf.Conf.CurrentDeviceID, params.Channel, constvar.PlcCacheKeyFinishNumber)
 		totalNumber, _ = service.PlcCacheGet(conf.Conf.CurrentDeviceID, params.Channel, constvar.PlcCacheKeyTotalNumber)
@@ -46,14 +49,17 @@
 				totalNumber = workOrder.Amount.IntPart()
 			}
 		} else {
-			_, workOrder, _ := service.NewTaskService().GetProcedureAndWorkOrder(params.ProcedureId)
+			procedure, workOrder, _ := service.NewTaskService().GetProcedureAndWorkOrder(params.ProcedureId)
 			if workOrder != nil {
 				totalNumber = workOrder.Amount.IntPart()
+			}
+			if procedure != nil {
+				resp.RealStartTime = procedure.RealStartTime
+				resp.RealEndTime = procedure.RealEndTime
 			}
 		}
 	}
 
-	resp := new(response.ProductProgress)
 	resp.FinishNumber = cast.ToInt(finishNumber)
 	resp.TotalNumber = cast.ToInt(totalNumber)
 
@@ -68,8 +74,10 @@
 	}
 	resp.PlcStatus = plcStatus
 
-	resp.RealStartTime = service.TaskStartTimeGet(conf.Conf.CurrentDeviceID, params.Channel)
-	resp.RealEndTime = service.TaskEndTimeGet(conf.Conf.CurrentDeviceID, params.Channel)
+	if params.ProcedureId == 0 {
+		resp.RealStartTime = service.TaskStartTimeGet(conf.Conf.CurrentDeviceID, params.Channel)
+		resp.RealEndTime = service.TaskEndTimeGet(conf.Conf.CurrentDeviceID, params.Channel)
+	}
 
 	ctx.OkWithDetailed(resp)
 }
diff --git a/service/progress.go b/service/progress.go
index 0f18fb9..ee41c05 100644
--- a/service/progress.go
+++ b/service/progress.go
@@ -34,6 +34,7 @@
 	return nil
 }
 
+// UpdateProgress 浠呴檺plc鏁版嵁閲囬泦瀹氭椂浠诲姟鐢�
 func (slf ProgressService) UpdateProgress(deviceID string, channel int32, finishedQuantity int64) (err error) {
 	progressCache, err := slf.GetCurrentProgress(deviceID, channel)
 	if err != nil {
@@ -50,6 +51,7 @@
 	return nil
 }
 
+// GetCurrentProgress 浠呴檺plc鏁版嵁閲囬泦瀹氭椂浠诲姟鐢�
 func (slf ProgressService) GetCurrentProgress(deviceID string, channel int32) (progressCache *model.ProductionProgress, err error) {
 	var ok bool
 	progressCache, ok = ProgressCacheGet(deviceID, channel)

--
Gitblit v1.8.0