yinbentan
2024-07-25 a904aa32e66688ba76c9e4b71b6738b0ba5f5d4f
models/worker.go
@@ -11,13 +11,15 @@
   // Worker 人力资源
   Worker struct {
      BaseModelString
      DeletedAt      gorm.DeletedAt        `gorm:"index"`
      Name           string                `gorm:"index;type:varchar(191);not null;comment:人员姓名" json:"name"`
      PhoneNum       string                `gorm:"type:varchar(191);comment:手机号" json:"phoneNum"`
      ShopID         string                `gorm:"type:varchar(191);comment:所属车间ID" json:"shopId"`
      ShopName       string                `gorm:"type:varchar(191);comment:车间名称,仅查询用" json:"shopName"`
      Status         constvar.WorkerStatus `gorm:"index;type:int(11);comment:人员状态" json:"status"`
      WorkTypeId     uint                  `gorm:"type:int(11);comment:工种id" json:"workTypeId"`
      WorkType       string                `gorm:"type:varchar(255);comment:工种" json:"workType"`
      WorkTypeCode   constvar.JobType      `gorm:"type:varchar(255);comment:工种代码" json:"workTypeCode"`
      WorkType       string                `gorm:"type:varchar(255);comment:工种名称" json:"workType"`
      GroupNumber    int                   `gorm:"type:int(11);comment:组别" json:"groupNumber"`
      EmploymentTime string                `gorm:"type:varchar(255);comment:入职时间" json:"employmentTime"`
      AddPeople      string                `gorm:"type:varchar(255);comment:添加人" json:"addPeople"`
@@ -32,6 +34,7 @@
      PageSize int
      Orm      *gorm.DB
      Fields   string
      Ids      []string
   }
)
@@ -93,6 +96,11 @@
   return slf
}
func (slf *WorkerSearch) SetIds(ids []string) *WorkerSearch {
   slf.Ids = ids
   return slf
}
func (slf *WorkerSearch) build() *gorm.DB {
   var db = slf.Orm.Table(slf.TableName())
@@ -109,8 +117,7 @@
   }
   if slf.Keyword != "" {
      db.Joins("WorkerSkill")
      db = db.Where("worker.name LIKE ? or worker.phone_num LIKE ? or WorkerSkill.name like ?", "%"+slf.Keyword+"%", "%"+slf.Keyword+"%", "%"+slf.Keyword+"%")
      db = db.Where("worker.name LIKE ? or worker.phone_num LIKE ? ", "%"+slf.Keyword+"%", "%"+slf.Keyword+"%")
   }
   if slf.Status > 0 {
@@ -127,6 +134,10 @@
   if slf.Fields != "" {
      db = db.Select(slf.Fields)
   }
   if len(slf.Ids) > 0 {
      db = db.Where("id in (?)", slf.Ids)
   }
   return db
@@ -191,7 +202,7 @@
func (slf *WorkerSearch) Delete() error {
   var db = slf.build()
   if err := db.Unscoped().Delete(&Worker{}).Error; err != nil {
   if err := db.Delete(&Worker{}).Error; err != nil {
      return err
   }