|
@@ -112,7 +112,7 @@ func getQueryParams(condition string, pars []interface{}, sysUser *system.Admin,
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// getQueryParams 获取基础查询信息(最开始关联的销售信息)
|
|
|
+// getQueryParamsInit 获取基础查询信息(最开始关联的销售信息)
|
|
|
func getQueryParamsInit(condition string, pars []interface{}, sysUser *system.Admin, tableAlias string) (newCondition string, newPars []interface{}) {
|
|
|
if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN {
|
|
|
condition += " AND " + tableAlias + "product_id=?"
|
|
@@ -126,7 +126,7 @@ func getQueryParamsInit(condition string, pars []interface{}, sysUser *system.Ad
|
|
|
//如果不是研究员,那么去找对应的 部门、小组、销售
|
|
|
if sysUser.Authority == 0 {
|
|
|
//普通用户
|
|
|
- condition += " AND " + tableAlias + "seller_id_init=?"
|
|
|
+ condition += " AND a.seller_id_init=?"
|
|
|
pars = append(pars, sysUser.AdminId)
|
|
|
} else if sysUser.Authority == 1 {
|
|
|
//部门主管
|
|
@@ -176,7 +176,153 @@ func getQueryParamsInit(condition string, pars []interface{}, sysUser *system.Ad
|
|
|
pars = append(pars, sysUser.GroupId)
|
|
|
} else {
|
|
|
//不知道什么类型的用户(后面新增的位置类型客户)
|
|
|
- condition += " AND " + tableAlias + "seller_id_init=?"
|
|
|
+ condition += " AND a.seller_id_init=?"
|
|
|
+ pars = append(pars, sysUser.AdminId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ newCondition = condition
|
|
|
+ newPars = pars
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// getQueryParams 获取基础查询信息(最开始关联的销售信息)
|
|
|
+func getQueryParamsLast(condition string, pars []interface{}, sysUser *system.Admin, tableAlias string) (newCondition string, newPars []interface{}) {
|
|
|
+ if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN {
|
|
|
+ condition += " AND " + tableAlias + "product_id=?"
|
|
|
+ pars = append(pars, 1)
|
|
|
+ } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN {
|
|
|
+ condition += " AND " + tableAlias + "product_id=?"
|
|
|
+ pars = append(pars, 2)
|
|
|
+ } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FINANCE {
|
|
|
+ //超级管理员账户,不做条件限制
|
|
|
+ } else {
|
|
|
+ //如果不是研究员,那么去找对应的 部门、小组、销售
|
|
|
+ if sysUser.Authority == 0 {
|
|
|
+ //普通用户
|
|
|
+ condition += " AND a.seller_id_last=?"
|
|
|
+ pars = append(pars, sysUser.AdminId)
|
|
|
+ } else if sysUser.Authority == 1 {
|
|
|
+ //部门主管
|
|
|
+ condition += " AND " + tableAlias + "department_id=?"
|
|
|
+ pars = append(pars, sysUser.DepartmentId)
|
|
|
+ } else if sysUser.Authority == 2 && sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
|
|
|
+ //权益小组负责人
|
|
|
+ condition += " AND " + tableAlias + "group_id=?"
|
|
|
+ pars = append(pars, sysUser.GroupId)
|
|
|
+ } else if sysUser.Authority == 2 && sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP {
|
|
|
+ //ficc销售主管
|
|
|
+ pid, err := company.GetParentIdFromGroup(sysUser.GroupId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var ids []*string
|
|
|
+ if pid != nil && *pid != 0 {
|
|
|
+ ids, err = company.GetGroupIdsByParentId(*pid)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ ids, err = company.GetGroupIdsByParentId(sysUser.GroupId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var idSlice []string
|
|
|
+ var sid string
|
|
|
+ for _, id := range ids {
|
|
|
+ idSlice = append(idSlice, *id)
|
|
|
+ }
|
|
|
+ //加入父级groupId
|
|
|
+ if *pid > 0 {
|
|
|
+ idSlice = append(idSlice, strconv.Itoa(*pid))
|
|
|
+ } else {
|
|
|
+ idSlice = append(idSlice, strconv.Itoa(sysUser.GroupId))
|
|
|
+ }
|
|
|
+ sid = strings.Join(idSlice, ",")
|
|
|
+ condition += " AND " + tableAlias + `group_id IN (` + sid + `) `
|
|
|
+ fmt.Println("condition:", condition)
|
|
|
+ //pars = append(pars, sysUser.GroupId)
|
|
|
+ } else if sysUser.Authority == 4 {
|
|
|
+ //ficc小组负责人
|
|
|
+ condition += " AND " + tableAlias + "group_id=?"
|
|
|
+ pars = append(pars, sysUser.GroupId)
|
|
|
+ } else {
|
|
|
+ //不知道什么类型的用户(后面新增的位置类型客户)
|
|
|
+ condition += " AND a.seller_id_last=?"
|
|
|
+ pars = append(pars, sysUser.AdminId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ newCondition = condition
|
|
|
+ newPars = pars
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// getQueryParamsLastCompanyProduct 获取基础查询信息(最后一次正式转试用的时间点)
|
|
|
+func getQueryParamsLastCompanyProduct(condition string, pars []interface{}, sysUser *system.Admin, tableAlias string) (newCondition string, newPars []interface{}) {
|
|
|
+ if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN {
|
|
|
+ condition += " AND " + tableAlias + "product_id=?"
|
|
|
+ pars = append(pars, 1)
|
|
|
+ } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN {
|
|
|
+ condition += " AND " + tableAlias + "product_id=?"
|
|
|
+ pars = append(pars, 2)
|
|
|
+ } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FINANCE {
|
|
|
+ //超级管理员账户,不做条件限制
|
|
|
+ } else {
|
|
|
+ //如果不是研究员,那么去找对应的 部门、小组、销售
|
|
|
+ if sysUser.Authority == 0 {
|
|
|
+ //普通用户
|
|
|
+ condition += " AND " + tableAlias + "seller_id_last=?"
|
|
|
+ pars = append(pars, sysUser.AdminId)
|
|
|
+ } else if sysUser.Authority == 1 {
|
|
|
+ //部门主管
|
|
|
+ condition += " AND " + tableAlias + "department_id=?"
|
|
|
+ pars = append(pars, sysUser.DepartmentId)
|
|
|
+ } else if sysUser.Authority == 2 && sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
|
|
|
+ //权益小组负责人
|
|
|
+ condition += " AND " + tableAlias + "group_id=?"
|
|
|
+ pars = append(pars, sysUser.GroupId)
|
|
|
+ } else if sysUser.Authority == 2 && sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP {
|
|
|
+ //ficc销售主管
|
|
|
+ pid, err := company.GetParentIdFromGroup(sysUser.GroupId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var ids []*string
|
|
|
+ if pid != nil && *pid != 0 {
|
|
|
+ ids, err = company.GetGroupIdsByParentId(*pid)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ ids, err = company.GetGroupIdsByParentId(sysUser.GroupId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var idSlice []string
|
|
|
+ var sid string
|
|
|
+ for _, id := range ids {
|
|
|
+ idSlice = append(idSlice, *id)
|
|
|
+ }
|
|
|
+ //加入父级groupId
|
|
|
+ if *pid > 0 {
|
|
|
+ idSlice = append(idSlice, strconv.Itoa(*pid))
|
|
|
+ } else {
|
|
|
+ idSlice = append(idSlice, strconv.Itoa(sysUser.GroupId))
|
|
|
+ }
|
|
|
+ sid = strings.Join(idSlice, ",")
|
|
|
+ condition += " AND " + tableAlias + `group_id IN (` + sid + `) `
|
|
|
+ fmt.Println("condition:", condition)
|
|
|
+ //pars = append(pars, sysUser.GroupId)
|
|
|
+ } else if sysUser.Authority == 4 {
|
|
|
+ //ficc小组负责人
|
|
|
+ condition += " AND " + tableAlias + "group_id=?"
|
|
|
+ pars = append(pars, sysUser.GroupId)
|
|
|
+ } else {
|
|
|
+ //不知道什么类型的用户(后面新增的位置类型客户)
|
|
|
+ condition += " AND " + tableAlias + "seller_id_last=?"
|
|
|
pars = append(pars, sysUser.AdminId)
|
|
|
}
|
|
|
}
|
|
@@ -6903,14 +7049,14 @@ func getTodayStackCompanyListV2Rai(sysUser *system.Admin, currentIndex, pageSize
|
|
|
parsAscribeRai = append(parsAscribeRai, companyIds)
|
|
|
}
|
|
|
|
|
|
- if adminId != "" {
|
|
|
- //condition += ` AND c.seller_id in (` + adminId + `) `
|
|
|
- //pars = append(pars, adminId)
|
|
|
- } else {
|
|
|
- //根据当前角色来获取查询条件
|
|
|
- condition, pars = getQueryParamsInit(condition, pars, sysUser, "c.")
|
|
|
-
|
|
|
- }
|
|
|
+ //if adminId != "" {
|
|
|
+ // //condition += ` AND c.seller_id in (` + adminId + `) `
|
|
|
+ // //pars = append(pars, adminId)
|
|
|
+ //} else {
|
|
|
+ // //根据当前角色来获取查询条件
|
|
|
+ // condition, pars = getQueryParamsInit(condition, pars, sysUser, "c.")
|
|
|
+ //
|
|
|
+ //}
|
|
|
if regionType != "" {
|
|
|
condition += ` AND b.region_type = ? `
|
|
|
pars = append(pars, regionType)
|
|
@@ -6926,13 +7072,31 @@ func getTodayStackCompanyListV2Rai(sysUser *system.Admin, currentIndex, pageSize
|
|
|
var dataTotal, newCompanyTotal, renewalCompanyTotal, notRenewalCompanyTotal int
|
|
|
var notRenewalTryOut, notRenewalNotTryOut int
|
|
|
var list []*models.IncrementalList
|
|
|
+
|
|
|
+ //var condition1 string
|
|
|
+ //var pars1 []interface{}
|
|
|
//新签客户数
|
|
|
{
|
|
|
+ //if adminId != "" {
|
|
|
+ // //condition += ` AND c.seller_id in (` + adminId + `) `
|
|
|
+ // //pars = append(pars, adminId)
|
|
|
+ //} else {
|
|
|
+ // //根据当前角色来获取查询条件
|
|
|
+ // condition, pars = getQueryParamsInit(condition, pars, sysUser, "c.")
|
|
|
+ //
|
|
|
+ //}
|
|
|
condition1 := condition
|
|
|
+ pars1 := pars
|
|
|
if adminId != "" {
|
|
|
condition1 += ` AND a.seller_id_init in (` + adminId + `) `
|
|
|
+ } else {
|
|
|
+ condition1, pars1 = getQueryParamsInit(condition1, pars1, sysUser, "c.")
|
|
|
+ //condition1 += condition2
|
|
|
+ //pars1 = append(pars1, pars2)
|
|
|
}
|
|
|
- pars1 := pars
|
|
|
+
|
|
|
+ //condition1 += condition
|
|
|
+ //pars1 := pars
|
|
|
//condition1 += ` AND c.status = "正式" `
|
|
|
condition1 += ` AND a.start_date <= ? AND a.end_date >= ? `
|
|
|
pars1 = append(pars1, today, today)
|
|
@@ -6961,12 +7125,16 @@ func getTodayStackCompanyListV2Rai(sysUser *system.Admin, currentIndex, pageSize
|
|
|
|
|
|
//续约客户数
|
|
|
{
|
|
|
-
|
|
|
condition1 := condition
|
|
|
+ pars1 := pars
|
|
|
if adminId != "" {
|
|
|
condition1 += ` AND a.seller_id_init in (` + adminId + `) `
|
|
|
+ } else {
|
|
|
+ condition1, pars1 = getQueryParamsInit(condition1, pars1, sysUser, "c.")
|
|
|
}
|
|
|
- pars1 := pars
|
|
|
+ //condition1 += condition
|
|
|
+ //pars1 = append(pars1, pars)
|
|
|
+ //pars1 := pars
|
|
|
//condition1 += ` AND c.status = "正式" `
|
|
|
condition1 += ` AND a.start_date <= ? AND a.end_date >= ? `
|
|
|
pars1 = append(pars1, today, today)
|
|
@@ -6994,14 +7162,22 @@ func getTodayStackCompanyListV2Rai(sysUser *system.Admin, currentIndex, pageSize
|
|
|
listPars = pars1
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
//未续约客户数
|
|
|
{
|
|
|
- if adminId != "" {
|
|
|
- condition += ` AND c.seller_id in (` + adminId + `) `
|
|
|
- }
|
|
|
condition1 := condition
|
|
|
pars1 := pars
|
|
|
+ if adminId != "" {
|
|
|
+ //condition1 += ` AND a.seller_id_last in (` + adminId + `) `
|
|
|
+ condition1 += ` AND c.seller_id_last in (` + adminId + `) `
|
|
|
+ } else {
|
|
|
+ condition1, pars1 = getQueryParamsLastCompanyProduct(condition1, pars1, sysUser, "c.")
|
|
|
+ }
|
|
|
+
|
|
|
+ //condition1 += condition
|
|
|
+ //pars1 = append(pars1, pars)
|
|
|
+
|
|
|
+ //condition1 := condition
|
|
|
+ //pars1 := pars
|
|
|
condition1 += ` AND c.status not in ("永续","正式") AND a.create_time <= ? `
|
|
|
pars1 = append(pars1, time.Now().Format(utils.FormatDateTime))
|
|
|
condition1 += ` AND a.operation = 'try_out' `
|
|
@@ -7011,6 +7187,7 @@ func getTodayStackCompanyListV2Rai(sysUser *system.Admin, currentIndex, pageSize
|
|
|
err = countErr
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
notRenewalCompanyTotal = total
|
|
|
condition1 += conditionAscribRai
|
|
|
pars1 = append(pars1, parsAscribeRai)
|
|
@@ -7061,7 +7238,7 @@ func getTodayStackCompanyListV2Rai(sysUser *system.Admin, currentIndex, pageSize
|
|
|
} else if tryOutType == "非试用" {
|
|
|
listCondition += ` AND c.status IN ("冻结","流失") `
|
|
|
}
|
|
|
- tmpList, countErr := models.GetIncrementalCompanyListByOperationRecord(listCondition, listPars, startSize, pageSize)
|
|
|
+ tmpList, countErr := models.GetIncrementalCompanyListByOperationRecordLast(listCondition, listPars, startSize, pageSize)
|
|
|
if countErr != nil {
|
|
|
err = countErr
|
|
|
return
|