From 8324f872ef3a4d0c978a9b1d062800c6a1701c12 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 01 十二月 2023 09:58:17 +0800
Subject: [PATCH] fix

---
 service/process_model.go |   35 +++++++++++++++++++++++++++++++++--
 1 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/service/process_model.go b/service/process_model.go
index d1154a3..ead4ebf 100644
--- a/service/process_model.go
+++ b/service/process_model.go
@@ -3,15 +3,30 @@
 import (
 	"apsClient/conf"
 	"apsClient/model"
+	"apsClient/pkg/logx"
+	"errors"
 )
 
-func GetProcessModelList(offset, limit int, currentNumber string) (list []*model.ProcessModel, total int64, err error) {
+func GetProcessModelList(offset, limit int, product, procedure string) (list []*model.ProcessModel, total int64, err error) {
 	device, err := model.NewDeviceSearch().SetDeviceId(conf.Conf.CurrentDeviceID).First()
 	if err != nil {
 		return
 	}
 	list, total, err = model.NewProcessModelSearch().
-		SetIsNew(true).SetOrder("id desc").SetCurrentNumber(currentNumber).
+		SetIsNew(true).SetOrder("id desc").
+		SetProduct(product).SetProcedure(procedure).
+		SetPage(offset, limit).SetProcedures(device.ProceduresArr).Find()
+	return
+}
+
+func GetOtherProcessModelList(offset, limit int, product, procedure string) (list []*model.ProcessModel, total int64, err error) {
+	device, err := model.NewDeviceSearch().SetDeviceId(conf.Conf.CurrentDeviceID).First()
+	if err != nil {
+		return
+	}
+	list, total, err = model.NewProcessModelSearch().
+		SetIsNew(true).SetOrder("id desc").
+		SetProductAndProcedureNot(product, procedure).
 		SetPage(offset, limit).SetProcedures(device.ProceduresArr).Find()
 	return
 }
@@ -19,3 +34,19 @@
 func GetProcessModelByNumber(num string) (record *model.ProcessModel, err error) {
 	return model.NewProcessModelSearch().SetNumber(num).First()
 }
+
+func GetProcessModelAddress(deviceID string) (addressMap map[string]int, err error) {
+	record, err := model.NewProcessModelPlcAddressSearch().SetDeviceID(deviceID).First()
+	if err != nil {
+		logx.Errorf("find process model plc address for device:%v, err:%v", deviceID, err)
+		return nil, err
+	}
+	if record.AddressList == nil {
+		return nil, errors.New("empty process model address list")
+	}
+	addressMap = make(map[string]int, len(record.AddressList))
+	for _, item := range record.AddressList {
+		addressMap[item.Name] = item.Address
+	}
+	return addressMap, nil
+}

--
Gitblit v1.8.0