db.Limit(limit).Offset(offset).Preload("BusinessSystemList").Find(&projectManagements).Error
// GetProjectManagementInfoList 分页获取ProjectManagement记录
// Author [piexlmax](https://github.com/piexlmax)
func (projectManagementService *ProjectManagementService) GetProjectManagementInfoList(info autoCodeReq.ProjectManagementSearch) (err error, list interface{}, total int64) {
limit := info.PageSize
offset := info.PageSize * (info.Page - 1)
// 创建db
db := global.GVA_DB.Model(&autocode.ProjectManagement{})
var projectManagements []autocode.ProjectManagement
// 如果有条件搜索 下方会自动创建搜索语句
if info.ProjectName != "" {
db = db.Where("`project_name` LIKE ?", "%"+info.ProjectName+"%")
}
if info.ProjectDesc != "" {
db = db.Where("`project_desc` LIKE ?", "%"+info.ProjectDesc+"%")
}
if info.ProjectManager != 0 {
db = db.Where("`project_manager` = ?", info.ProjectManager)
}
if info.CustomerName != "" {
db = db.Where("`customer_name` LIKE ?", "%"+info.CustomerName+"%")
}
if info.ProjectStartDate != nil {
db = db.Where("`project_start_date` = ?", info.ProjectStartDate)
}
if info.ProjectEndDate != nil {
db = db.Where("`project_end_date` = ?", info.ProjectEndDate)
}
err = db.Count(&total).Error
if err != nil {
return
}
// err = db.Limit(limit).Offset(offset).Find(&projectManagements).Error
// 带出businessSystemList
err = db.Limit(limit).Offset(offset).Preload("BusinessSystemList").Find(&projectManagements).Error
return err, projectManagements, total
}