From d4bf53dd19a45ef09a367babcf7a2ac04ae1d08f Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期二, 17 十月 2023 14:31:31 +0800 Subject: [PATCH] bug修改 --- model/serviceOrder.go | 57 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 42 insertions(+), 15 deletions(-) diff --git a/model/serviceOrder.go b/model/serviceOrder.go index eaa6a75..f593b5c 100644 --- a/model/serviceOrder.go +++ b/model/serviceOrder.go @@ -21,12 +21,13 @@ ServiceContract ServiceContract `gorm:"foreignKey:ServiceContractId"` SalesDetailsId int `gorm:"column:order_id;type:int;not null;default:0;comment:閿�鍞鍗昳d" json:"salesDetailsId"` // 閿�鍞槑缁唅d SalesDetails SalesDetails `gorm:"foreignKey:SalesDetailsId"` - Subject string `gorm:"column:subject;type:varchar(255);not null;default:'';comment:涓婚" json:"subject"` // 涓婚 - ProductId int `gorm:"column:product_id;type:int;not null;default:0;comment:浜у搧id" json:"productId"` // 浜у搧id - Product Product `gorm:"foreignKey:ProductId"` - ServiceTypeId int `gorm:"column:service_type_id;type:int;not null;default:0;comment:鏈嶅姟鏂瑰紡id" json:"serviceTypeId"` // 鏈嶅姟鏂瑰紡id + Subject string `gorm:"column:subject;type:varchar(255);not null;default:'';comment:涓婚" json:"subject"` // 涓婚 + ProductTypeName string `gorm:"column:product_type_name;type:varchar(255);not null;default:'';comment:浜у搧鍒嗙被鍚嶇О" json:"productTypeName"` // 浜у搧鍒嗙被鍚嶇О + ProductName string `gorm:"column:product_name;type:varchar(255);not null;default:'';comment:浜у搧鍚嶇О" json:"productName"` // 浜у搧鍚嶇О + ServiceTypeId int `gorm:"column:service_type_id;type:int;not null;default:0;comment:鏈嶅姟鏂瑰紡id" json:"serviceTypeId"` // 鏈嶅姟鏂瑰紡id ServiceType ServiceType `gorm:"foreignKey:ServiceTypeId"` ServiceManId int `gorm:"column:service_man_id;type:int;not null;default:0;comment:鏈嶅姟浜哄憳" json:"serviceManId"` // 鏈嶅姟浜哄憳 + ServiceMan User `gorm:"foreignKey:ServiceManId" json:"serviceMan"` // 鏈嶅姟浜哄憳 ContactId int `gorm:"linkman_id" json:"contactId"` // 鑱旂郴浜篿d Contact Contact `gorm:"foreignKey:ContactId"` Address string `gorm:"column:address;type:varchar(255);not null;default:'';comment:涓婇棬鍦板潃" json:"address"` // 涓婇棬鍦板潃 @@ -53,22 +54,26 @@ Solution string `gorm:"column:solution;type:varchar(255);not null;default:'';comment:瑙e喅鏂规硶" json:"solution"` // 瑙e喅鏂规硶 SolutionRemark string `gorm:"column:solution_remark;type:varchar(255);not null;default:'';comment:鍐呴儴澶囨敞" json:"solutionRemark"` // 鍐呴儴澶囨敞 Remark string `gorm:"column:remark;type:varchar(255);not null;default:'';comment:澶囨敞" json:"remark"` // 澶囨敞 + CodeStandID string `json:"codeStandID" gorm:"column:code_stand_id;type:varchar(255);comment:缂栫爜id"` + CrmModel } // ServiceOrderSearch 鏈嶅姟鍗曟悳绱㈡潯浠� ServiceOrderSearch struct { ServiceOrder - Orm *gorm.DB - QueryClass constvar.ServiceOrderQueryClass - KeywordType constvar.ServiceOrderKeywordType - Keyword string - PageNum int - PageSize int - Preload bool + Orm *gorm.DB + QueryClass constvar.ServiceOrderQueryClass + KeywordType constvar.ServiceOrderKeywordType + Keyword string + PageNum int + PageSize int + Preload bool + ServiceManIds []int + Order string } ) -func (ServiceOrder) TableName() string { +func (slf *ServiceOrder) TableName() string { return "service_order" } @@ -84,19 +89,22 @@ db = db.Where("id = ?", slf.Id) } if slf.ServiceContractId != 0 { - db = db.Where("service_contract_id = ?", slf.ServiceContractId) + db = db.Where("contract_id = ?", slf.ServiceContractId) } if slf.SalesDetailsId != 0 { - db = db.Where("sales_details_id = ?", slf.SalesDetailsId) + db = db.Where("order_id = ?", slf.SalesDetailsId) + } + if slf.Order != "" { + db = db.Order(slf.Order) } if slf.Preload { db = db. Preload("Client"). Preload("ServiceContract"). Preload("SalesDetails"). - Preload("Product"). Preload("ServiceType"). Preload("Contact"). + Preload("ServiceMan"). Preload("PriorityLevel"). Preload("SaleChance"). Preload("FaultType"). @@ -121,6 +129,10 @@ db = db.Joins("ServiceType", clause.LeftJoin).Where("ServiceType.name like ?", fmt.Sprintf("%%%s%%", slf.Keyword)) case constvar.ServiceOrderKeywordFaultType: db = db.Joins("FaultType", clause.LeftJoin).Where("FaultType.name like ?", fmt.Sprintf("%%%s%%", slf.Keyword)) + } + + if len(slf.ServiceManIds) > 0 { + db = db.Where("service_man_id in ?", slf.ServiceManIds) } return db @@ -189,8 +201,18 @@ return slf } +func (slf *ServiceOrderSearch) SetMemberIds(memberIds []int) *ServiceOrderSearch { + slf.ServiceManIds = memberIds + return slf +} + func (slf *ServiceOrderSearch) SetPreload(preload bool) *ServiceOrderSearch { slf.Preload = preload + return slf +} + +func (slf *ServiceOrderSearch) SetOrder(order string) *ServiceOrderSearch { + slf.Order = order return slf } @@ -233,3 +255,8 @@ err := db.Find(&records).Error return records, total, err } + +func (slf *ServiceOrderSearch) UpdateByMap(data map[string]interface{}) error { + var db = slf.build() + return db.Updates(data).Error +} -- Gitblit v1.8.0