liujiandao
2023-10-17 d4bf53dd19a45ef09a367babcf7a2ac04ae1d08f
model/serviceOrder.go
@@ -54,22 +54,26 @@
      Solution             string             `gorm:"column:solution;type:varchar(255);not null;default:'';comment:解决方法" json:"solution"`              // 解决方法
      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"
}
@@ -85,10 +89,13 @@
      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.
@@ -122,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
@@ -190,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
}
@@ -234,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
}