zhangqian
2023-11-01 530fed8ec225453572d57b15c200ab062c335457
model/serviceOrder.go
@@ -38,7 +38,7 @@
      SaleChance           SaleChance         `gorm:"foreignKey:SaleChanceId"`
      FaultTypeId          int                `gorm:"column:severity_id;type:int;not null;default:0;comment:故障类别id" json:"faultTypeId"` // 故障类别id
      FaultType            FaultType          `gorm:"foreignKey:FaultTypeId"`
      SeverityId           int                `gorm:"column:severity_id;type:int;not null;default:0;comment:严重程度id" json:"severity"` // 严重程度id
      SeverityId           int                `gorm:"column:severity_order_id;type:int;not null;default:0;comment:严重程度id" json:"severityId"` // 严重程度id
      Severity             Severity           `gorm:"foreignKey:SeverityId"`
      ServiceOrderStatusId int                `gorm:"column:service_order_status_id;type:int;not null;default:0;comment:服务单状态id" json:"serviceOrderStatusId"` // 处理状态
      ServiceOrderStatus   ServiceOrderStatus `gorm:"foreignKey:ServiceOrderStatusId"`
@@ -54,6 +54,7 @@
      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
   }
@@ -68,6 +69,7 @@
      PageSize      int
      Preload       bool
      ServiceManIds []int
      Order         string
   }
)
@@ -87,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.
@@ -127,7 +132,10 @@
   }
   if len(slf.ServiceManIds) > 0 {
      db = db.Where("service_man_id in ?", slf.ServiceManIds)
      db = db.Where("service_order.service_man_id in ?", slf.ServiceManIds)
   }
   if slf.ServiceNumber != "" {
      db = db.Where("service_number = ?", slf.ServiceNumber)
   }
   return db
@@ -206,6 +214,16 @@
   return slf
}
func (slf *ServiceOrderSearch) SetOrder(order string) *ServiceOrderSearch {
   slf.Order = order
   return slf
}
func (slf *ServiceOrderSearch) SetNumber(number string) *ServiceOrderSearch {
   slf.ServiceNumber = number
   return slf
}
func (slf *ServiceOrderSearch) First() (*ServiceOrder, error) {
   var db = slf.build()
   var record = new(ServiceOrder)
@@ -245,3 +263,32 @@
   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
}
func (slf *ServiceOrderSearch) Count() (int64, error) {
   var db = slf.build()
   var total int64
   err := db.Count(&total).Error
   return total, err
}
func (slf *ServiceOrderSearch) MaxAutoIncr() (int, error) {
   type Result struct {
      Max int
   }
   var (
      result Result
      db     = slf.build()
   )
   err := db.Select("MAX(id) as max").Scan(&result).Error
   if err != nil {
      return result.Max, fmt.Errorf("max err: %v", err)
   }
   return result.Max, nil
}