From d692f469eb10f6ab7ebe4a4d5d667672cf8d3e4c Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 10 十一月 2023 17:49:07 +0800
Subject: [PATCH] fix
---
api/v1/task.go | 47 ++++++++++++++++++++++++++++++++---------------
1 files changed, 32 insertions(+), 15 deletions(-)
diff --git a/api/v1/task.go b/api/v1/task.go
index eadab62..22c282e 100644
--- a/api/v1/task.go
+++ b/api/v1/task.go
@@ -10,7 +10,6 @@
"apsClient/pkg/ecode"
"apsClient/pkg/logx"
"apsClient/service"
- "apsClient/service/plc_address"
"errors"
"github.com/gin-gonic/gin"
"github.com/jinzhu/gorm"
@@ -78,7 +77,7 @@
taskMode = params.TaskMode
}
- taskResponse, code := service.NewTaskService().GetTask(params.DeviceID, params.Page, params.PageSize, taskMode, nil) //鍙栬繘琛屼腑鐨勬垨鏈紑濮嬬殑
+ taskResponse, code := service.NewTaskService().GetTask(conf.Conf.CurrentDeviceID, params.Page, params.PageSize, taskMode, nil) //鍙栬繘琛屼腑鐨勬垨鏈紑濮嬬殑
if code != ecode.OK {
ctx.Fail(code)
return
@@ -93,7 +92,7 @@
if existsChannel[int32(i)] {
continue
}
- taskResponseTemp, code := service.NewTaskService().GetTask(params.DeviceID, params.Page, 1, constvar.TaskModeLastFinished, []int32{int32(i)}) //鍙栦笂涓�涓畬鎴愮殑
+ taskResponseTemp, code := service.NewTaskService().GetTask(conf.Conf.CurrentDeviceID, params.Page, 1, constvar.TaskModeLastFinished, []int32{int32(i)}) //鍙栦笂涓�涓畬鎴愮殑
if code != ecode.OK {
ctx.Fail(code)
return
@@ -235,7 +234,7 @@
}
service.TaskFlagUnset(procedure.Channel)
-
+ service.TaskEndTimeSet(procedure.Channel, time.Now().Unix()) //璁剧疆宸ュ簭杩愯缁撴潫鏃堕棿
ctx.Ok()
}
@@ -272,22 +271,34 @@
ctx.Ok()
return
}
- processModel, err := taskService.GetProcessParams(procedure, order)
- if err != nil || processModel == nil || processModel.ParamsMap == nil {
- ctx.FailWithMsg(ecode.ParamsErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒")
- return
- }
+
plcConfig, code := service.NewDevicePlcService().GetDevicePlc()
if code != ecode.OK || plcConfig.ID == 0 {
ctx.FailWithMsg(ecode.NeedConfirmedErr, "璇峰厛閰嶇疆PLC")
return
}
plcConfig.MaxTryTimes = 2
- err = SendParams(processModel.ParamsMap, plcConfig)
+
+ device, err := service.GetCurrentDevice()
if err != nil {
- ctx.FailWithMsg(ecode.NeedConfirmedErr, "PLC璇锋眰澶辫触锛岃妫�鏌LC閰嶇疆锛�")
+ ctx.FailWithMsg(ecode.DBErr, err.Error())
return
}
+ var processModelNumber string
+ if device.NeedSetProcessParams {
+ processModel, err := taskService.GetProcessParams(procedure, order)
+ if err != nil || processModel == nil || processModel.ParamsMap == nil {
+ ctx.FailWithMsg(ecode.ParamsErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟锛岃鍦ㄥ伐鑹烘ā鍨嬪簱涓笂浼狅紒")
+ return
+ }
+ err = SendParams(processModel.ParamsMap, plcConfig)
+ if err != nil {
+ ctx.FailWithMsg(ecode.NeedConfirmedErr, "PLC璇锋眰澶辫触锛岃妫�鏌LC閰嶇疆锛�")
+ return
+ }
+ processModelNumber = processModel.Number
+ }
+
plcConfig.CurrentTryTimes = 0
err = service.PlcWrite(plcConfig, constvar.PlcStartAddressTypeTotalNumber, procedure.Channel, order.Amount.IntPart())
if err != nil {
@@ -295,7 +306,7 @@
return
}
err = model.WithTransaction(func(db *gorm.DB) error {
- err = taskService.UpdateProcedureStatusAndChannel(db, params.ProcedureId, model.ProcedureStatusProcessing, procedure.Channel, processModel.Number)
+ err = taskService.UpdateProcedureStatusAndChannel(db, params.ProcedureId, model.ProcedureStatusProcessing, procedure.Channel, processModelNumber)
if err != nil {
return err
}
@@ -322,7 +333,9 @@
return
}
- service.TaskFlagSet(procedure.Channel)
+ service.TaskFlagSet(procedure.Channel, int(procedure.ID))
+ service.TaskStartTimeSet(procedure.Channel, time.Now().Unix()) //璁剧疆宸ュ簭杩愯寮�濮嬫椂闂�
+ service.TaskEndTimeSet(procedure.Channel, 0) //璁剧疆宸ュ簭杩愯缁撴潫鏃堕棿
ctx.Ok()
}
@@ -390,8 +403,12 @@
logx.Info("----------------寮�濮嬩笅鍙戝伐鑹哄弬鏁�-----------------")
}
var failedNumbers int
+ processModelAddress, err := service.GetProcessModelAddress(conf.Conf.CurrentDeviceID)
+ if err != nil {
+ return err
+ }
for k, v := range paramsMap {
- address, ok := plc_address.Get(k)
+ address, ok := processModelAddress[k]
if !ok {
logx.Errorf("miss param address, k:%v, v:%v", k, v)
continue
@@ -420,7 +437,7 @@
// @Produce application/json
// @Param object query request.TaskListByChannel true "鏌ヨ鍙傛暟"
// @Success 200 {object} contextx.Response{data=map[int32]response.TaskResponse} "鎴愬姛"
-// @Router /v1/task/listByChannel [get]
+// @Router /v1/task/list [get]
func (slf *TaskApi) TaskListByChannel(c *gin.Context) {
var params request.TaskListByChannel
ctx, ok := contextx.NewContext(c, ¶ms)
--
Gitblit v1.8.0