Browse Source

no message

xingzai 1 year ago
parent
commit
624f6ebfc1

+ 41 - 34
controllers/cygx/activity_meet.go

@@ -870,17 +870,6 @@ func (this *ActivityMeetCoAntroller) AppointmentList() {
 	}
 	sqlStr := `  AND s.do_fail_type = 0`
 	memberType := "Admin"
-	if resp.IsCanDownload == false {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//组长查看本组所有组员
-			memberType = "GroupLeader"
-			sqlStr += ` AND s.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-		} else {
-			//组员查看自己
-			memberType = "Sale"
-			sqlStr += ` AND s.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
-		}
-	}
 
 	list, err := cygx.GetCygxAppointmentList(activityId, sqlStr)
 	if err != nil {
@@ -905,6 +894,26 @@ func (this *ActivityMeetCoAntroller) AppointmentList() {
 		list[k].SellerName = v.PsellerName
 	}
 	respList := new(cygx.GetAppointmentListRep)
+	//销售查看自己客户,销售组长查看组员
+	if resp.IsCanDownload == false {
+		mapMobile, err := cygxService.GetAdminLookUserMobile(adminInfo)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,销售对应权限,Err:" + err.Error()
+			return
+		}
+		for _, v := range list {
+			if _, ok := mapMobile[v.Mobile]; ok {
+				respList.List = append(respList.List, v)
+			}
+		}
+	} else {
+		respList.List = list
+	}
+	if len(respList.List) == 0 {
+		respList.List = make([]*cygx.CygxAppointmentList, 0)
+	}
+
 	respList.List = list
 	respList.Total = total
 	respList.MyTotal = myTotal
@@ -912,8 +921,7 @@ func (this *ActivityMeetCoAntroller) AppointmentList() {
 	respList.MemberType = memberType
 	respList.IsLimitPeople = activityInfo.IsLimitPeople
 	activityTypeId := activityInfo.ActivityTypeId
-	fmt.Println(activityTypeId)
-	//ExcelType     string `description:"EXcel下载类型 AppointmentCall:预约外呼、ExpertSalon:专家沙龙报名、Teleconference:公司调研电话会、OfflineResearch:公司线下调研  CClass C类"`
+
 	if activityTypeId == 1 || activityTypeId == 2 {
 		respList.ExcelType = "AppointmentCall"
 	} else if activityTypeId == 5 || activityTypeId == 6 {
@@ -961,21 +969,30 @@ func (this *ActivityMeetCoAntroller) SignupFailExport() {
 	}
 	var err error
 	var condition string
-	if resp.IsCanDownload == false {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//组长查看本组所有组员
-			condition = ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(AdminUser.AdminId) + ` ) ) GROUP BY company_id) `
-		} else {
-			//组员查看自己
-			condition = ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(AdminUser.AdminId) + ` GROUP  BY company_id) `
-		}
-	}
-	items, err := cygx.GetMeetingExportAll(condition)
+	var items []*cygx.MeetingExportRep
+	list, err := cygx.GetMeetingExportAll(condition)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
+	//销售查看自己客户,销售组长查看组员
+	if resp.IsCanDownload == false {
+		mapMobile, err := cygxService.GetAdminLookUserMobile(adminInfo)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,销售对应权限,Err:" + err.Error()
+			return
+		}
+		for _, v := range list {
+			if _, ok := mapMobile[v.Mobile]; ok {
+				items = append(items, v)
+			}
+		}
+	} else {
+		items = list
+	}
+
 	//创建excel
 	dir, err := os.Executable()
 	exPath := filepath.Dir(dir)
@@ -1354,17 +1371,7 @@ func (this *ActivityMeetCoAntroller) AttendanceDetail() {
 	}
 	var condition string
 	var condition2 string
-	//if resp.IsCanDownload == false {
-	//	if adminInfo.RoleTypeCode == "rai_group" {
-	//		//组长查看本组所有组员
-	//		condition = ` AND s.mobile IN (SELECT mobile FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-	//		condition2 = ` AND d.mobile IN (SELECT mobile FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-	//	} else {
-	//		//组员查看自己
-	//		condition = ` AND s.mobile IN (SELECT mobile FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
-	//		condition2 = ` AND d.mobile IN (SELECT mobile FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
-	//	}
-	//}
+
 	//同一用户上传多次参会记录时,到会与未到会分开查询
 	list1, err := cygx.GetAttendanceDetailListGroup(activityId, condition+` AND s.is_meeting = 1 AND d.userid_entity != 3  GROUP BY s.user_id `)
 	if err != nil {

+ 138 - 85
controllers/cygx/activity_signup.go

@@ -276,17 +276,6 @@ func (this *ActivitySignupCoAntroller) AppointmentList() {
 	memberType := "Admin"
 	sqlStr := `  AND s.do_fail_type = 0  `
 	totalStr := sqlStr
-	if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3 || activityInfo.IsYidongConduct == 1) {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//组长查看本组所有组员
-			memberType = "GroupLeader"
-			sqlStr += ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-		} else {
-			//组员查看自己
-			memberType = "Sale"
-			sqlStr += ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
-		}
-	}
 	list, err := cygx.GetCygxAppointmentList(activityId, sqlStr)
 	if err != nil {
 		br.Msg = "获取失败"
@@ -307,18 +296,29 @@ func (this *ActivitySignupCoAntroller) AppointmentList() {
 		return
 	}
 	for k, v := range list {
-		//公司调研电话会的活动,研选扣点的展示自主拨入,非扣点的展示预约外呼
-		//if activityInfo.ActivityTypeId == 3 {
-		//	if activityInfo.IsResearchPoints == 1 {
-		//		v.SignupType = 2
-		//	} else {
-		//		v.SignupType = 1
-		//	}
-		//}
 		list[k].SellerName = v.PsellerName
 	}
 	respList := new(cygx.GetAppointmentListRep)
-	respList.List = list
+	//销售查看自己客户,销售组长查看组员
+	if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3 || activityInfo.IsYidongConduct == 1) {
+		mapMobile, err := cygxService.GetAdminLookUserMobile(adminInfo)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,销售对应权限,Err:" + err.Error()
+			return
+		}
+		for _, v := range list {
+			if _, ok := mapMobile[v.Mobile]; ok {
+				respList.List = append(respList.List, v)
+			}
+		}
+	} else {
+		respList.List = list
+	}
+
+	if len(respList.List) == 0 {
+		respList.List = make([]*cygx.CygxAppointmentList, 0)
+	}
 	respList.Total = total
 	respList.MyTotal = myTotal
 	respList.ActivityId = activityId
@@ -651,17 +651,6 @@ func (this *ActivitySignupCoAntroller) SalonFailSignupList() {
 	}
 	memberType := "Admin"
 	sqlStr := ""
-	if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3) {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//组长查看本组所有组员
-			memberType = "GroupLeader"
-			sqlStr = ` AND s.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-		} else {
-			//组员查看自己
-			memberType = "Sale"
-			sqlStr = ` AND s.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
-		}
-	}
 	sqlStr += ` AND s.fail_type >0 `
 	list, err := cygx.GetFailSignupList(activityId, sqlStr)
 	if err != nil {
@@ -676,7 +665,21 @@ func (this *ActivitySignupCoAntroller) SalonFailSignupList() {
 		br.ErrMsg = "客户总数获取失败,Err:" + errtotal.Error()
 		return
 	}
-	myTotalsqlStr := ` AND s.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) AND s.fail_type >0 `
+
+	//权益申请销售只能看到自己名下的客户的申请 查研观向11.1
+	companyIds, err := cygxService.GetAdminLookUserCompanyIds(sysUser)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()
+		return
+	}
+
+	var companyIdstr []string
+	for _, v := range companyIds {
+		companyIdstr = append(companyIdstr, strconv.Itoa(v))
+	}
+
+	myTotalsqlStr := ` AND s.company_id  IN (` + strings.Join(companyIdstr, ",") + `) AND s.fail_type >0 `
 	myTotal, errmyTotal := cygx.GetCygxAppointmentCount(activityId, myTotalsqlStr)
 	if errmyTotal != nil {
 		br.Msg = "获取失败"
@@ -710,7 +713,26 @@ func (this *ActivitySignupCoAntroller) SalonFailSignupList() {
 			list[k].CallOperation = 3
 		}
 	}
-	respList.List = list
+	//销售查看自己客户,销售组长查看组员
+	if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3) {
+		mapMobile, err := cygxService.GetAdminLookUserMobile(adminInfo)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,销售对应权限,Err:" + err.Error()
+			return
+		}
+		for _, v := range list {
+			if _, ok := mapMobile[v.Mobile]; ok {
+				respList.List = append(respList.List, v)
+			}
+		}
+	} else {
+		respList.List = list
+	}
+	if len(respList.List) == 0 {
+		respList.List = make([]*cygx.FailSignupListRep, 0)
+	}
+
 	respList.Total = total
 	respList.MyTotal = myTotal
 	respList.IsLimitPeople = activityInfo.IsLimitPeople
@@ -927,17 +949,7 @@ func (this *ActivitySignupCoAntroller) FailSignupList() {
 	memberType := "Admin"
 	var err error
 	sqlStr := ""
-	if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3) {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//组长查看本组所有组员
-			memberType = "GroupLeader"
-			sqlStr = ` AND s.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-		} else {
-			//组员查看自己
-			memberType = "Sale"
-			sqlStr = ` AND s.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
-		}
-	}
+
 	sqlStr += ` AND s.fail_type >0 `
 	listSeller, errSeller := cygx.GetFailSignupList(activityId, sqlStr)
 	list = listSeller
@@ -953,7 +965,20 @@ func (this *ActivitySignupCoAntroller) FailSignupList() {
 		br.ErrMsg = "客户总数获取失败,Err:" + errtotal.Error()
 		return
 	}
-	myTotalsqlStr := ` AND s.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
+	//权益申请销售只能看到自己名下的客户的申请 查研观向11.1
+	companyIds, err := cygxService.GetAdminLookUserCompanyIds(sysUser)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()
+		return
+	}
+
+	var companyIdstr []string
+	for _, v := range companyIds {
+		companyIdstr = append(companyIdstr, strconv.Itoa(v))
+	}
+
+	myTotalsqlStr := ` AND s.company_id  IN (` + strings.Join(companyIdstr, ",") + `) AND s.fail_type >0 `
 	myTotal, errmyTotal := cygx.GetCygxAppointmentCount(activityId, myTotalsqlStr)
 	if errmyTotal != nil {
 		br.Msg = "获取失败"
@@ -983,6 +1008,27 @@ func (this *ActivitySignupCoAntroller) FailSignupList() {
 		}
 	}
 	respList := new(cygx.GetFailSignupListRep)
+	//销售查看自己客户,销售组长查看组员
+	if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3) {
+		mapMobile, err := cygxService.GetAdminLookUserMobile(adminInfo)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,销售对应权限,Err:" + err.Error()
+			return
+		}
+		for _, v := range listNew {
+			if _, ok := mapMobile[v.Mobile]; ok {
+				respList.List = append(respList.List, v)
+			}
+		}
+	} else {
+		respList.List = listNew
+	}
+
+	if len(respList.List) == 0 {
+		respList.List = make([]*cygx.FailSignupListRep, 0)
+	}
+
 	respList.List = listNew
 	respList.Total = total
 	respList.MyTotal = myTotal
@@ -1127,26 +1173,19 @@ func (this *ActivitySignupCoAntroller) CallExport() {
 	//var err error
 	sqlStr := " "
 
-	//if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3) {
-	//	if adminInfo.RoleTypeCode == "rai_group" {
-	//		//组长查看本组所有组员
-	//		sqlStr = ` AND s.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-	//	} else {
-	//		//组员查看自己
-	//		sqlStr = ` AND s.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
-	//	}
-	//}
-	//sqlStr += ` AND s.do_fail_type = 0  GROUP BY s.id`
-	//list, errSeller := cygx.GetSignupExport(activityId, sqlStr)
-
 	if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3) {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//组长查看本组所有组员
-			sqlStr += ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-		} else {
-			//组员查看自己
-			sqlStr += ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
+		//权益申请销售只能看到自己名下的客户的申请 查研观向11.1
+		companyIds, err := cygxService.GetAdminLookUserCompanyIds(sysUser)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()
+			return
 		}
+		var companyIdstr []string
+		for _, v := range companyIds {
+			companyIdstr = append(companyIdstr, strconv.Itoa(v))
+		}
+		sqlStr += ` AND s.company_id  IN (` + strings.Join(companyIdstr, ",") + `) `
 	}
 	//公司调研电话会下载全部
 	if activityInfo.ActivityTypeId != 3 {
@@ -1363,13 +1402,19 @@ func (this *ActivitySignupCoAntroller) SignupFailExport() {
 
 	sqlStr := ""
 	if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3 || activityInfo.IsYidongConduct == 1) {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//组长查看本组所有组员
-			sqlStr += ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(AdminUser.AdminId) + ` ) )) `
-		} else {
-			//组员查看自己
-			sqlStr += ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(AdminUser.AdminId) + `) `
+		//权益申请销售只能看到自己名下的客户的申请 查研观向11.1
+		companyIds, err := cygxService.GetAdminLookUserCompanyIds(AdminUser)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()
+			return
 		}
+
+		var companyIdstr []string
+		for _, v := range companyIds {
+			companyIdstr = append(companyIdstr, strconv.Itoa(v))
+		}
+		sqlStr += ` AND s.company_id IN  IN (` + strings.Join(companyIdstr, ",") + `)`
 	}
 	sqlStrOther := sqlStr
 	var listReminder []*cygx.CygxAppointmentList
@@ -2372,15 +2417,18 @@ func (this *ActivitySignupCoAntroller) SummaryList() {
 	totalStr := sqlStr
 	if isShowMobile {
 		if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3) {
-			if adminInfo.RoleTypeCode == "rai_group" {
-				//组长查看本组所有组员
-				memberType = "GroupLeader"
-				sqlStr += ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-			} else {
-				//组员查看自己
-				memberType = "Sale"
-				sqlStr += ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
+			//权益申请销售只能看到自己名下的客户的申请
+			companyIds, err := cygxService.GetAdminLookUserCompanyIds(sysUser)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()
+				return
 			}
+			var companyIdstr []string
+			for _, v := range companyIds {
+				companyIdstr = append(companyIdstr, strconv.Itoa(v))
+			}
+			sqlStr += ` AND s.company_id IN (` + strings.Join(companyIdstr, ",") + `) `
 		}
 	}
 	list, err := cygx.GetCygxAppointmentSummaryList(activityId, sqlStr)
@@ -2408,6 +2456,7 @@ func (this *ActivitySignupCoAntroller) SummaryList() {
 		}
 	}
 	respList := new(cygx.GetAppointmentListRep)
+
 	respList.List = list
 	respList.Total = total
 	respList.MyTotal = myTotal
@@ -2650,15 +2699,19 @@ func (this *ActivitySignupCoAntroller) ReminderList() {
 	totalStr := sqlStr
 
 	if resp.IsCanDownload == false && (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 3) {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//组长查看本组所有组员
-			memberType = "GroupLeader"
-			sqlStr += ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-		} else {
-			//组员查看自己
-			memberType = "Sale"
-			sqlStr += ` AND s.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
+		//权益申请销售只能看到自己名下的客户的申请
+		companyIds, err := cygxService.GetAdminLookUserCompanyIds(sysUser)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()
+			return
+		}
+
+		var companyIdstr []string
+		for _, v := range companyIds {
+			companyIdstr = append(companyIdstr, strconv.Itoa(v))
 		}
+		sqlStr += ` AND s.company_id IN (` + strings.Join(companyIdstr, ",") + `) `
 	}
 
 	list, err := cygx.GetCygxActivityMeetingReminderList(activityId, sqlStr)

+ 1 - 1
controllers/cygx/apply_record.go

@@ -69,7 +69,7 @@ func (this *ApplyRecordController) ListSysRole() {
 	}
 
 	//权益申请销售只能看到自己名下的客户的申请 查研观向11.1
-	companyIds, err := cygxService.GetAdminLookUserCompanyIds(sysUser)
+	companyIds, err := cygxService.GetAdminLookUserCompanyIdsBySelf(sysUser)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()

+ 16 - 15
controllers/cygx/report_article.go

@@ -562,22 +562,22 @@ func (this *IndustrialSubjectController) Export() {
 	var list []*cygx.ReportExportRep
 	var err error
 	if resp.IsCanDownload == false {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//if sysUser.Authority == 2 {
-			//组长查看本组所有组员
-			//fmt.Println("组长")
-			sqlStr := ` AND h.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-			listSeller, errSeller := cygx.GetReportExportRep(reportId, sqlStr)
-			list = listSeller
-			err = errSeller
-		} else {
-			//组员查看自己
-			//fmt.Println("组员")
-			sqlStr := ` AND h.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
-			listSeller, errSeller := cygx.GetReportExportRep(reportId, sqlStr)
-			list = listSeller
-			err = errSeller
+		//权益申请销售只能看到自己名下的客户的申请
+		companyIds, err := cygxService.GetAdminLookUserCompanyIds(sysUser)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()
+			return
 		}
+		var companyIdstr []string
+		for _, v := range companyIds {
+			companyIdstr = append(companyIdstr, strconv.Itoa(v))
+		}
+		sqlStr := ` AND h.company_id IN  (` + strings.Join(companyIdstr, ",") + `) `
+		listSeller, errSeller := cygx.GetReportExportRep(reportId, sqlStr)
+		list = listSeller
+		err = errSeller
+
 	} else {
 		sqlStr := ""
 		listAdmin, errAdmin := cygx.GetReportExportRep(reportId, sqlStr)
@@ -600,6 +600,7 @@ func (this *IndustrialSubjectController) Export() {
 			listNew = append(listNew, v)
 		}
 	}
+
 	//创建excel
 	dir, err := os.Executable()
 	exPath := filepath.Dir(dir)

+ 11 - 6
controllers/cygx/report_selection.go

@@ -699,13 +699,18 @@ func (this *ReportSelectionController) ArticleHistoryExport() {
 
 	var condition string
 	if resp.IsCanDownload == false {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//组长查看本组所有组员
-			condition = ` AND h.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(AdminUser.AdminId) + ` ) ) GROUP BY company_id) `
-		} else {
-			//组员查看自己
-			condition = ` AND h.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(AdminUser.AdminId) + ` GROUP  BY company_id) `
+		//权益申请销售只能看到自己名下的客户的申请
+		companyIds, err := cygxService.GetAdminLookUserCompanyIds(AdminUser)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()
+			return
+		}
+		var companyIdstr []string
+		for _, v := range companyIds {
+			companyIdstr = append(companyIdstr, strconv.Itoa(v))
 		}
+		condition = ` AND h.company_id IN (` + strings.Join(companyIdstr, ",") + `)`
 	}
 
 	condition += `  AND h.company_id != ` + strconv.Itoa(utils.HZ_COMPANY_ID) // 过滤弘则来源

+ 20 - 27
controllers/cygx/search_keyword.go

@@ -1,12 +1,12 @@
 package cygx
 
 import (
-	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/tealeg/xlsx"
 	"hongze/hz_crm_api/controllers"
 	"hongze/hz_crm_api/models"
 	"hongze/hz_crm_api/models/cygx"
+	cygxService "hongze/hz_crm_api/services/cygx"
 	"hongze/hz_crm_api/utils"
 	"os"
 	"path/filepath"
@@ -107,40 +107,33 @@ func (this *SearchKeywordController) HostKeywordDownload() {
 	currentTime := time.Now()
 	starTime := currentTime.AddDate(0, 0, -7).Format("2006-01-02") + " 00:00:00"
 	endTime := currentTime.AddDate(0, 0, -1).Format("2006-01-02") + " 23:59:59"
-	fmt.Println(starTime)
-	fmt.Println(endTime)
+
 	var list []*cygx.KeyWordListDownload
 	var err error
-	fmt.Println(sysUser.AdminId)
-	fmt.Println(sysUser)
-	if resp.IsCanDownload == false {
-		//if sysUser.RoleTypeCode == "rai_group" {
-		if sysUser.Authority == 2 {
-			//组长查看本组所有组员
-			//fmt.Println("组长")
-			sqlStr := ` AND kw.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(sysUser.AdminId) + ` ) )) `
-			listSeller, errSeller := cygx.GetSearchKeyWordListDownloadSeller(starTime, endTime, sqlStr)
-			list = listSeller
-			err = errSeller
-		} else {
-			//组员查看自己
-			//fmt.Println("组员")
-			sqlStr := ` AND kw.user_id IN (SELECT user_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(sysUser.AdminId) + `) `
-			listSeller, errSeller := cygx.GetSearchKeyWordListDownloadSeller(starTime, endTime, sqlStr)
-			list = listSeller
-			err = errSeller
-		}
-	} else {
-		listAdmin, errAdmin := cygx.GetSearchKeyWordListDownload(starTime, endTime)
-		list = listAdmin
-		err = errAdmin
-	}
+	listAdmin, err := cygx.GetSearchKeyWordListDownload(starTime, endTime)
+
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
 
+	if resp.IsCanDownload == false {
+		mapMobile, err := cygxService.GetAdminLookUserMobile(sysUser)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,销售对应权限,Err:" + err.Error()
+			return
+		}
+		for _, v := range listAdmin {
+			if _, ok := mapMobile[v.Mobile]; ok {
+				list = append(list, v)
+			}
+		}
+	} else {
+		list = listAdmin
+	}
+
 	listComPany, err := cygx.GetCompanyProductMoreOneList(starTime, endTime)
 	var strId string
 	for _, v := range listComPany {

+ 11 - 6
controllers/cygx/summary_manage.go

@@ -1148,13 +1148,18 @@ func (this *SummaryManage) ArticleHistoryExport() {
 
 	var condition string
 	if resp.IsCanDownload == false {
-		if adminInfo.RoleTypeCode == "rai_group" {
-			//组长查看本组所有组员
-			condition = ` AND h.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id IN (SELECT  admin_id FROM admin WHERE group_id = (SELECT group_id FROM admin WHERE admin_id = ` + strconv.Itoa(AdminUser.AdminId) + ` ) ) GROUP BY company_id) `
-		} else {
-			//组员查看自己
-			condition = ` AND h.company_id IN (SELECT company_id FROM user_seller_relation WHERE seller_id  = ` + strconv.Itoa(AdminUser.AdminId) + ` GROUP  BY company_id) `
+		//权益申请销售只能看到自己名下的客户的申请
+		companyIds, err := cygxService.GetAdminLookUserCompanyIds(AdminUser)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()
+			return
+		}
+		var companyIdstr []string
+		for _, v := range companyIds {
+			companyIdstr = append(companyIdstr, strconv.Itoa(v))
 		}
+		condition = ` AND h.company_id IN (` + strings.Join(companyIdstr, ",") + `) `
 	}
 
 	mapMobileSellWithUser := make(map[string]string)

+ 39 - 2
services/cygx/admin_power.go

@@ -35,6 +35,44 @@ func GetAdminLookUserMobile(adminInfo *system.Admin) (mapMobile map[string]strin
 
 // 获取这个销售所能查看的手机号权限
 func GetAdminLookUserCompanyIds(sysUser *system.Admin) (companyIds []int, err error) {
+	//如果不是管理员,权益管理员那么就对可见权限范围做处理
+	adminIds := make([]int, 0)
+	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_RAI_ADMIN {
+		if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
+			//如果是权益的组长就获取下面的组员
+			adminList, e := system.GetAdminListByGroupId(sysUser.GroupId)
+			if e != nil {
+				err = errors.New("GetAdminListByGroupId , Err: " + e.Error())
+				return
+			}
+			for _, v := range adminList {
+				adminIds = append(adminIds, v.AdminId)
+			}
+		} else {
+			adminIds = append(adminIds, sysUser.AdminId)
+		}
+		//adminIds = append(adminIds, sysUser.AdminId)
+		var adminIdGroup string
+		for _, v := range adminIds {
+			adminIdGroup += strconv.Itoa(v) + ","
+		}
+		adminIdGroup = strings.TrimRight(adminIdGroup, ",")
+		companyProductList, e := company.GetCompanyProductsBySellerId(adminIdGroup)
+		if e != nil {
+			err = errors.New("GetCompanyProductsBySellerId , Err: " + e.Error())
+			return
+		}
+
+		for _, v := range companyProductList {
+			companyIds = append(companyIds, v.CompanyId)
+		}
+	}
+	companyIds = append(companyIds, 0) //添加潜在客户
+	return
+}
+
+// 获取这个销售所能查看的公司权限
+func GetAdminLookUserCompanyIdsBySelf(sysUser *system.Admin) (companyIds []int, err error) {
 	//如果不是管理员,权益管理员那么就对可见权限范围做处理
 	adminIds := make([]int, 0)
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_RAI_ADMIN {
@@ -66,8 +104,7 @@ func GetAdminLookUserCompanyIds(sysUser *system.Admin) (companyIds []int, err er
 		for _, v := range companyProductList {
 			companyIds = append(companyIds, v.CompanyId)
 		}
-		companyIds = append(companyIds, 0) //添加潜在客户
 	}
-
+	companyIds = append(companyIds, 0) //添加潜在客户
 	return
 }