From 7971365ab70a19853e874d01fc3451bc0b5ee8e9 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期一, 09 十月 2023 20:15:30 +0800 Subject: [PATCH] 当前使用的工艺编号置顶 --- service/process_model.go | 4 ++-- model/process_model.go | 20 +++++++++++++++----- api/v1/process_model.go | 12 +++++++++--- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/api/v1/process_model.go b/api/v1/process_model.go index 64becd0..5e3710d 100644 --- a/api/v1/process_model.go +++ b/api/v1/process_model.go @@ -1,6 +1,7 @@ package v1 import ( + "apsClient/model" "apsClient/model/request" "apsClient/pkg/contextx" "apsClient/pkg/ecode" @@ -24,22 +25,27 @@ return } - list, total, err := service.GetProcessModelList(params.Page, params.PageSize) + if params.Page == 1 { + params.PageSize-- + } + + list, total, err := service.GetProcessModelList(params.Page, params.PageSize, params.Number) if err != nil { ctx.Fail(ecode.DBErr) return } oldProcessModel, _ := service.GetProcessModelByNumber(params.Number) + if params.Page == 1 { + list = append([]*model.ProcessModel{oldProcessModel}, list...) + } for _, processModel := range list { if processModel.Procedure == oldProcessModel.Procedure && processModel.Product == oldProcessModel.Product { processModel.IsUpdate = processModel.Number != params.Number } if processModel.IsUpdate { - processModel.NewNumber, processModel.NewParamsMap = processModel.Number, processModel.ParamsMap processModel.Number, processModel.ParamsMap = oldProcessModel.Number, oldProcessModel.ParamsMap } } - ctx.ResultList(list, total) } diff --git a/model/process_model.go b/model/process_model.go index b0d4afb..56ab7be 100644 --- a/model/process_model.go +++ b/model/process_model.go @@ -26,11 +26,12 @@ ProcessModelSearch struct { ProcessModel - Order string - PageNum int - PageSize int - Orm *gorm.DB - Procedures []string + Order string + PageNum int + PageSize int + Orm *gorm.DB + Procedures []string + CurrentNumber string } ) @@ -73,6 +74,11 @@ func (slf *ProcessModelSearch) SetNumber(number string) *ProcessModelSearch { slf.Number = number + return slf +} + +func (slf *ProcessModelSearch) SetCurrentNumber(number string) *ProcessModelSearch { + slf.CurrentNumber = number return slf } @@ -127,6 +133,10 @@ db = db.Where("is_new = ?", 1) } + if len(slf.CurrentNumber) != 0 { + db = db.Where("number != ?", slf.CurrentNumber) + } + return db } diff --git a/service/process_model.go b/service/process_model.go index 728248d..adf53ba 100644 --- a/service/process_model.go +++ b/service/process_model.go @@ -5,13 +5,13 @@ "apsClient/model" ) -func GetProcessModelList(page, pageSize int) (list []*model.ProcessModel, total int64, err error) { +func GetProcessModelList(page, pageSize int, currentNumber string) (list []*model.ProcessModel, total int64, err error) { device, err := model.NewDeviceSearch().SetDeviceId(conf.Conf.System.DeviceId).First() if err != nil { return } list, total, err = model.NewProcessModelSearch(). - SetIsNew(true).SetOrder("id desc"). + SetIsNew(true).SetOrder("id desc").SetCurrentNumber(currentNumber). SetPage(page, pageSize).SetProcedures(device.ProceduresArr).Find() return } -- Gitblit v1.8.0