fix
wangpengfei
2023-08-28 c5a0eb549cba2cd358a2d0496c44f3a289f15d9c
model/serviceOrder.go
@@ -17,16 +17,17 @@
      ServiceNumber        string             `gorm:"column:service_number;type:varchar(255);not null;default:'';comment:服务单编号" json:"serviceNumber"` // 服务单编号
      ClientId             int                `gorm:"column:client_id;type:int;not null;default:0;comment:客户id" json:"clientId"`                      // 客户id
      Client               Client             `gorm:"foreignKey:ClientId"`
      ContractId           int                `gorm:"column:contract_id;type:int;not null;default:0;comment:合同id" json:"contractId"` // 合同id
      Contract             Contract           `gorm:"foreignKey:ContractId"`
      OrderId              int                `gorm:"column:order_id;type:int;not null;default:0;comment:销售订单id" json:"orderId"` // 销售订单id
      OrderManage          OrderManage        `gorm:"foreignKey:OrderId"`
      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
      ServiceContractId    int                `gorm:"column:contract_id;type:int;not null;default:0;comment:服务合同id" json:"serviceContractId"` // 服务合同id
      ServiceContract      ServiceContract    `gorm:"foreignKey:ServiceContractId"`
      SalesDetailsId       int                `gorm:"column:order_id;type:int;not null;default:0;comment:销售订单id" json:"salesDetailsId"` // 销售明细id
      SalesDetails         SalesDetails       `gorm:"foreignKey:SalesDetailsId"`
      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"`                                                        // 联系人id
      Contact              Contact            `gorm:"foreignKey:ContactId"`
      Address              string             `gorm:"column:address;type:varchar(255);not null;default:'';comment:上门地址" json:"address"`           // 上门地址
@@ -53,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"`                    // 备注
      CrmModel
   }
   // ServiceOrderSearch 服务单搜索条件
@@ -68,7 +70,7 @@
   }
)
func (ServiceOrder) TableName() string {
func (slf *ServiceOrder) TableName() string {
   return "service_order"
}
@@ -83,18 +85,28 @@
   if slf.Id != 0 {
      db = db.Where("id = ?", slf.Id)
   }
   if slf.ServiceContractId != 0 {
      db = db.Where("service_contract_id = ?", slf.ServiceContractId)
   }
   if slf.SalesDetailsId != 0 {
      db = db.Where("sales_details_id = ?", slf.SalesDetailsId)
   }
   if slf.Preload {
      db = db.
         Preload("Client").
         Preload("Contract").
         Preload("OrderManage").
         Preload("Product").
         Preload("ServiceContract").
         Preload("SalesDetails").
         Preload("ServiceType").
         Preload("Contact").
         Preload("SaleChance").
         Preload("ServiceMan").
         Preload("PriorityLevel").
         Preload("SaleChance").
         Preload("FaultType").
         Preload("Severity").
         Preload("ServiceOrderStatus").
         Preload("TimeSpent").
         Preload("Faq")
   }
   switch slf.KeywordType {
   case constvar.ServiceOrderKeywordClientName:
@@ -126,6 +138,12 @@
   return db.Delete(&ServiceOrder{}).Error
}
func (slf *ServiceOrderSearch) DeleteByIds(ids []int) error {
   var db = slf.build()
   db = db.Where("id in ?", ids)
   return db.Delete(&ServiceOrder{}).Error
}
func (slf *ServiceOrderSearch) Update(record *ServiceOrder) error {
   var db = slf.build()
   return db.Updates(record).Error
@@ -143,6 +161,16 @@
   return slf
}
func (slf *ServiceOrderSearch) SetServiceContractId(id int) *ServiceOrderSearch {
   slf.ServiceContractId = id
   return slf
}
func (slf *ServiceOrderSearch) SetSalesDetailsId(id int) *ServiceOrderSearch {
   slf.SalesDetailsId = id
   return slf
}
func (slf *ServiceOrderSearch) SetPage(page, size int) *ServiceOrderSearch {
   slf.PageNum, slf.PageSize = page, size
   return slf