From 06cff5f59c72d36b745515d98b9e645e92bb91a3 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 23 八月 2023 20:14:23 +0800 Subject: [PATCH] 修改获取工艺参数等待超时,修改生产进度返回值参数 --- api/v1/task.go | 64 ++++++++++++++++++++++--------- 1 files changed, 45 insertions(+), 19 deletions(-) diff --git a/api/v1/task.go b/api/v1/task.go index b0719bc..48484b3 100644 --- a/api/v1/task.go +++ b/api/v1/task.go @@ -76,31 +76,52 @@ ctx.Fail(ecode.UnknownErr) return } - params := service.GetProcessModelParams{ + //params := service.GetProcessModelParams{ + // WorkOrder: procedure.WorkOrderID, + // OrderId: procedure.OrderID, + // Product: order.ProductName, + // Procedure: procedure.ProceduresInfo.ProcedureName, + // Device: procedure.ProceduresInfo.DeviceName, + //} + //resp, err := service.ProcessModel{}.GetProcessModel(params) + //if err != nil { + // logx.Errorf("TaskStart GetProcessModel error: %v", err.Error()) + // ctx.FailWithMsg(ecode.UnknownErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟") + // return + //} + + caller := nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicProcessParamsRequest, conf.Conf.NsqConf.NodeId), fmt.Sprintf(constvar.NsqTopicProcessParamsResponse, conf.Conf.NsqConf.NodeId)) + var result common.ResponseProcessParams + + err = caller.Call(common.RequestProcessParams{ WorkOrder: procedure.WorkOrderID, OrderId: procedure.OrderID, Product: order.ProductName, Procedure: procedure.ProceduresInfo.ProcedureName, - Device: procedure.ProceduresInfo.DeviceName, - } - resp, err := service.ProcessModel{}.GetProcessModel(params) + Device: procedure.ProceduresInfo.DeviceName}, &result, time.Second*3) if err != nil { - logx.Errorf("TaskStart Notice GetProcessModel error: %v", err.Error()) + logx.Errorf("TaskStart GetProcessModel error:%v", err.Error()) ctx.FailWithMsg(ecode.UnknownErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟") return } - processParamsArr := make([]response.ProcessParams, 0, len(resp.ParamsMap)) - for k, v := range resp.ParamsMap { + if result.ParamsMap == nil { + logx.Errorf("TaskStart GetProcessModel response miss process params:%v", result) + ctx.FailWithMsg(ecode.UnknownErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟") + return + } + + processParamsArr := make([]response.ProcessParams, 0, len(result.ParamsMap)) + for k, v := range result.ParamsMap { processParamsArr = append(processParamsArr, response.ProcessParams{ Key: k, Value: v, }) } data := response.ProcessParamsResponse{ - Number: resp.Number, + Number: result.Number, Params: processParamsArr, } - logx.Infof("TaskStart Notice GetProcessModel: %+v", resp) + logx.Infof("TaskStart Notice GetProcessModel: %+v", result) ctx.OkWithDetailed(data) } @@ -165,18 +186,23 @@ return } - params := service.GetProcessModelParams{ + caller := nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicProcessParamsRequest, conf.Conf.NsqConf.NodeId), fmt.Sprintf(constvar.NsqTopicProcessParamsResponse, conf.Conf.NsqConf.NodeId)) + var result common.ResponseProcessParams + + err = caller.Call(common.RequestProcessParams{ WorkOrder: procedure.WorkOrderID, OrderId: procedure.OrderID, Product: order.ProductName, Procedure: procedure.ProceduresInfo.ProcedureName, - Device: procedure.ProceduresInfo.DeviceName, - } - - resp, err := service.ProcessModel{}.GetProcessModel(params) + Device: procedure.ProceduresInfo.DeviceName}, &result, time.Second*3) if err != nil { - logx.Errorf("SendProcessModel GetProcessModel err: %v", err.Error()) - ctx.Fail(ecode.UnknownErr) + logx.Errorf("SendProcessParams GetProcessModel error:%v", err.Error()) + ctx.FailWithMsg(ecode.UnknownErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟") + return + } + if result.ParamsMap == nil { + logx.Errorf("SendProcessParams GetProcessModel response miss process params:%v", result) + ctx.FailWithMsg(ecode.UnknownErr, "鏈幏鍙栧埌宸ヨ壓鍙傛暟") return } @@ -195,7 +221,7 @@ //} safe.Go(func() { - err = SendParams2(resp.ParamsMap, 0) + err = SendParams2(result.ParamsMap, 0) if err != nil { logx.Errorf("SendProcessParams: %v", err.Error()) return @@ -217,7 +243,7 @@ if code != ecode.OK { return errors.New("璇峰厛閰嶇疆PLC") } - conn, err := plc.NewModbusConnection(plcConfig.Address) + conn, err := plc.NewModbusConnection(fmt.Sprintf("%s:%v", plcConfig.Address, plcConfig.Port)) if err != nil { return errors.New(fmt.Sprintf("杩炴帴plc澶辫触: %v", err.Error())) } @@ -249,7 +275,7 @@ if code != ecode.OK { return errors.New("璇峰厛閰嶇疆PLC") } - conn, err := plc.NewModbusConnection(plcConfig.Address) + conn, err := plc.NewModbusConnection(fmt.Sprintf("%s:%v", plcConfig.Address, plcConfig.Port)) if err != nil { return errors.New(fmt.Sprintf("杩炴帴plc澶辫触: %v", err.Error())) } -- Gitblit v1.8.0