|
@@ -55,7 +55,7 @@ func GetProjectList(req *types.ProjectListReq) (resultList []*ProjectEntry, hasN
|
|
|
|
|
|
preSales := preSalesStatus(req.PositionId)
|
|
|
isSqlPage := false
|
|
|
- if req.SaleStatus == 0 {
|
|
|
+ if req.SaleStatus == "0" {
|
|
|
isSqlPage = true // 是否sql分页
|
|
|
}
|
|
|
countSql, findSql := getQuerySql(req, isSqlPage, buyerArr)
|
|
@@ -70,16 +70,18 @@ func GetProjectList(req *types.ProjectListReq) (resultList []*ProjectEntry, hasN
|
|
|
resultList = append(resultList, &project)
|
|
|
}
|
|
|
|
|
|
- filterData(req, resultList, preSales, isSqlPage)
|
|
|
+ resultList = filterData(req, resultList, preSales, isSqlPage)
|
|
|
if !isSqlPage {
|
|
|
- start := (req.PageNum - 1) * req.PageSize
|
|
|
- end := start + req.PageSize
|
|
|
- if req.PageNum > 1 {
|
|
|
- resultList = resultList[start:end]
|
|
|
- } else {
|
|
|
- resultList = resultList[:req.PageSize]
|
|
|
- }
|
|
|
total = len(resultList)
|
|
|
+ if total > req.PageSize {
|
|
|
+ start := (req.PageNum - 1) * req.PageSize
|
|
|
+ end := start + req.PageSize
|
|
|
+ if req.PageNum > 1 {
|
|
|
+ resultList = resultList[start:end]
|
|
|
+ } else {
|
|
|
+ resultList = resultList[:req.PageSize]
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
total = int(T.NetworkCom.Count(countSql))
|
|
|
}
|
|
@@ -115,10 +117,10 @@ func getQuerySql(req *types.ProjectListReq, isPage bool, buyerArr []string) (cou
|
|
|
}
|
|
|
// 商机类型
|
|
|
if req.BusinessType != "" && req.BusinessType != "全部" {
|
|
|
- querys = append(querys, fmt.Sprintf(" a.business_type in ('%s') ", req.BusinessType))
|
|
|
+ querys = append(querys, fmt.Sprintf(" a.business_type in ('%s') ", strings.Join(strings.Split(req.BusinessType, ","), "', '")))
|
|
|
}
|
|
|
if req.ProjectName != "" {
|
|
|
- querys = append(querys, " a.projectname like '% "+req.ProjectName+"%'")
|
|
|
+ querys = append(querys, " a.project_name like '%"+req.ProjectName+"%'")
|
|
|
}
|
|
|
if req.StartTime > 0 && req.EntTime > 0 {
|
|
|
st := req.StartTime + 90*24*60*60
|
|
@@ -216,33 +218,45 @@ func getQuerySql(req *types.ProjectListReq, isPage bool, buyerArr []string) (cou
|
|
|
// @Author jianghan
|
|
|
// @Description 过滤数据/补充销售机会状态信息,返回分页结果数据
|
|
|
// @Date 2024/4/18
|
|
|
-func filterData(req *types.ProjectListReq, resultList []*ProjectEntry, preSales map[string]interface{}, isSqlPage bool) {
|
|
|
+func filterData(req *types.ProjectListReq, resultList []*ProjectEntry, preSales map[string]interface{}, isSqlPage bool) []*ProjectEntry {
|
|
|
var newList []*ProjectEntry
|
|
|
- f := ""
|
|
|
- v := 0
|
|
|
- if req.SaleStatus == 1 {
|
|
|
- f = "is_handle"
|
|
|
- v = 0
|
|
|
- } else if req.SaleStatus == 2 {
|
|
|
- f = "is_ignore"
|
|
|
- v = 0
|
|
|
- } else if req.SaleStatus == 3 {
|
|
|
- f = "is_create"
|
|
|
- v = 1
|
|
|
+ f := make(map[string]int, 3)
|
|
|
+ if strings.Contains(req.SaleStatus, "1") {
|
|
|
+ f["is_handle"] = 0
|
|
|
+ } else if strings.Contains(req.SaleStatus, "2") {
|
|
|
+ f["is_ignore"] = 1
|
|
|
+ } else if strings.Contains(req.SaleStatus, "3") {
|
|
|
+ f["is_create"] = 1
|
|
|
}
|
|
|
for _, m := range resultList {
|
|
|
if m1, ok := preSales[m.ProjectId].(map[string]interface{}); ok {
|
|
|
m.IsHandle = common.IntAll(m1["is_handle"])
|
|
|
m.IsIgnore = common.IntAll(m1["is_ignore"])
|
|
|
m.IsCreate = common.IntAll(m1["is_create"])
|
|
|
- if !isSqlPage && m1[f] == v {
|
|
|
- newList = append(newList, m)
|
|
|
+ }
|
|
|
+ if !isSqlPage {
|
|
|
+ for k, v := range f {
|
|
|
+ if k == "is_handle" && m.IsHandle == v {
|
|
|
+ newList = append(newList, m)
|
|
|
+ break
|
|
|
+ } else if k == "is_ignore" && m.IsIgnore == v {
|
|
|
+ newList = append(newList, m)
|
|
|
+ break
|
|
|
+ } else if k == "is_create" && m.IsCreate == v {
|
|
|
+ newList = append(newList, m)
|
|
|
+ break
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if len(newList) > 0 {
|
|
|
- resultList = newList
|
|
|
+ if !isSqlPage {
|
|
|
+ if newList == nil {
|
|
|
+ resultList = make([]*ProjectEntry, 0)
|
|
|
+ } else {
|
|
|
+ resultList = newList
|
|
|
+ }
|
|
|
}
|
|
|
+ return resultList
|
|
|
}
|
|
|
|
|
|
// @Author jianghan
|