|
@@ -7,6 +7,8 @@
|
|
|
package dao
|
|
|
|
|
|
import (
|
|
|
+ "strings"
|
|
|
+
|
|
|
"github.com/go-xorm/xorm"
|
|
|
"go.mod/models"
|
|
|
"go.mod/web/viewmodels"
|
|
@@ -51,6 +53,62 @@ func (d *ProjectDao) GetPage(page int, size int) []models.CmProject {
|
|
|
return datalist
|
|
|
}
|
|
|
|
|
|
+func (d *ProjectDao) GetPageBsByStaffName(pageData viewmodels.ProjectPage, staffName string) (data []models.CmProject, total int64) {
|
|
|
+ datalist := make([]models.CmProject, 0)
|
|
|
+ page := pageData.Page
|
|
|
+ size := pageData.Size
|
|
|
+ if page == 1 {
|
|
|
+ page = 0
|
|
|
+ } else {
|
|
|
+ page--
|
|
|
+ page = page * size
|
|
|
+ }
|
|
|
+
|
|
|
+ Project := &models.CmProject{}
|
|
|
+
|
|
|
+ sql := ""
|
|
|
+ var args = make([]interface{}, 0)
|
|
|
+
|
|
|
+ if staffName != "" {
|
|
|
+ sql += "staff_name = ?"
|
|
|
+ args = append(args, staffName)
|
|
|
+ }
|
|
|
+
|
|
|
+ if pageData.Search != "" {
|
|
|
+ args = append(args, pageData.Search)
|
|
|
+ args = append(args, pageData.Search)
|
|
|
+ search := "(code like ? or name like ?)"
|
|
|
+ sql = strings.Join([]string{sql, search}, " and ")
|
|
|
+ }
|
|
|
+
|
|
|
+ count, _ := d.engine.
|
|
|
+ Where(sql, args...).
|
|
|
+ Count(Project)
|
|
|
+ _ = d.engine.
|
|
|
+ Where(sql, args...).
|
|
|
+ Limit(size, page).
|
|
|
+ Find(&datalist)
|
|
|
+ return datalist, count
|
|
|
+
|
|
|
+ // if pageData.Search != "" {
|
|
|
+ // count, _ := d.engine.
|
|
|
+ // Where(" (code like ? or name like ?) and staff_name = ? ", arr...).
|
|
|
+ // Count(Project)
|
|
|
+ // _ = d.engine.
|
|
|
+ // Where(" (code like ? or name like ?) and staff_name = ? ", pageData.Search, pageData.Search).
|
|
|
+ // Limit(size, page).
|
|
|
+ // Find(&datalist)
|
|
|
+ // return datalist, count
|
|
|
+ // }
|
|
|
+
|
|
|
+ // // Where("project_id = ? and bidsection_id =? and contracts_id=?", projectId, bidsectionId, contractsId).
|
|
|
+ // count, _ := d.engine.Count(Project)
|
|
|
+ // _ = d.engine.
|
|
|
+ // Limit(size, page).
|
|
|
+ // Find(&datalist)
|
|
|
+ // return datalist, count
|
|
|
+}
|
|
|
+
|
|
|
func (d *ProjectDao) GetPageBs(pageData viewmodels.ProjectPage) (data []models.CmProject, total int64) {
|
|
|
datalist := make([]models.CmProject, 0)
|
|
|
page := pageData.Page
|
|
@@ -64,9 +122,10 @@ func (d *ProjectDao) GetPageBs(pageData viewmodels.ProjectPage) (data []models.C
|
|
|
|
|
|
Project := &models.CmProject{}
|
|
|
|
|
|
+ // 多余判断
|
|
|
InsideCategoryId := ""
|
|
|
- if len(pageData.InsideCategoryId) > 0 {
|
|
|
- InsideCategoryId = pageData.InsideCategoryId[0]
|
|
|
+ if pageData.InsideCategoryId != "" {
|
|
|
+ InsideCategoryId = pageData.InsideCategoryId
|
|
|
}
|
|
|
|
|
|
if InsideCategoryId != "" && pageData.Search != "" {
|