Răsfoiți Sursa

Merge branch 'crm_16.2' of http://8.136.199.33:3000/hongze/hongze_mobile_admin into debug

xingzai 5 luni în urmă
părinte
comite
4d7d524bdc

+ 39 - 2
controllers/roadshow/calendar.go

@@ -181,6 +181,19 @@ func (this *CalendarController) Add() {
 		return
 	}
 
+	//如果是权益客户,添加销售跟共享销售的信息
+	var productItemRai *company_product.CompanyProduct
+	roleTypeCode := sysUser.RoleTypeCode
+	//如果是权益销售、权益销售组长、权益管理员 添加的路演信息,做销售与共享销售信息关联查看
+	if req.CompanyId > 0 && req.ActivityType == "路演" && (roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN) {
+		productItemRai, err = company_product.GetCompanyProductByCompanyIdAndProductId(req.CompanyId, utils.COMPANY_PRODUCT_RAI_ID)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			this.FailWithMessage("客户信息有误!", "获取客户信息失败!Err:"+err.Error())
+			return
+		}
+	}
+
 	rsCalendar := new(roadshow.RsCalendar)
 	rsCalendar.SysUserId = sysUser.AdminId
 	rsCalendar.SysUserRealName = sysUser.RealName
@@ -202,6 +215,10 @@ func (this *CalendarController) Add() {
 	rsCalendar.Source = 0
 	rsCalendar.EnglishCompany = req.EnglishCompany
 	rsCalendar.Title = getTitle(req.ActivityType, req.RoadshowType, req.ActivityCategory, req.RoadshowPlatform, req.Province, req.City)
+	if productItemRai != nil {
+		rsCalendar.SellerId = productItemRai.SellerId
+		rsCalendar.ShareSellerId = productItemRai.ShareSellerId
+	}
 	rsCalendarId, err := roadshow.AddRsCalendar(rsCalendar)
 	if err != nil {
 		this.FailWithMessage("保存失败", "保存日历活动信息失败!Err:"+err.Error())
@@ -317,13 +334,33 @@ func (this *CalendarController) CalendarList() {
 
 	roleTypeCode := adminItem.RoleTypeCode
 	//销售
+	//if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER ||
+	//	roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER ||
+	//	roleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP ||
+	//	roleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP ||
+	//	roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN {
+	//	condition += ` AND a.sys_user_id=?`
+	//	pars = append(pars, adminItem.AdminId)
+	//}
+
 	if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER ||
-		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER ||
+		//roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER ||
 		roleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP ||
-		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP ||
+		//roleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_FICC_TEAM ||
 		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN {
 		condition += ` AND a.sys_user_id=?`
 		pars = append(pars, adminItem.AdminId)
+		//condition += ` AND a.activity_type IN('路演','公开会议') `
+	}
+
+	//权益销售
+	if roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
+		//if calendarType == 2 {
+		condition += ` AND  ( a.sys_user_id=?  OR a.seller_id=?  OR a.share_seller_id=?  )  `
+		pars = append(pars, adminItem.AdminId, adminItem.AdminId, adminItem.AdminId)
+		//}
 	}
 
 	if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_RESEARCHR ||

+ 4 - 1
models/roadshow/calendar.go

@@ -60,6 +60,8 @@ type RsCalendar struct {
 	IsSynced         int    `description:"是否与上海同步 0:未同步 1:已同步"`
 	UnionCode        string `description:"公开会议联合编码"`
 	EnglishCompany   int    `description:"是否为英文客户: 0-否; 1-是"`
+	SellerId         int    `description:"销售id"`
+	ShareSellerId    int    `description:"共享销售员id"`
 }
 
 type RsCalendarResearcher struct {
@@ -198,7 +200,8 @@ func GetCalendarList(condition string, pars []interface{}, status int, pageLimit
 	if status == 1 {
 		sql += ` ORDER BY b.create_time ASC LIMIT ?,? `
 	} else {
-		sql += ` ORDER BY b.create_time DESC LIMIT ?,? `
+		//sql += ` ORDER BY b.create_time DESC LIMIT ?,? `
+		sql += ` ORDER BY b.start_date DESC , b.start_time DESC  LIMIT ?,? ` // 已处理申请,按照活动开始时间倒序(包括ficc的)
 	}
 	_, err = o.Raw(sql, pars, pageLimit).QueryRows(&list)
 	return

+ 3 - 4
models/tables/admin/admin.go

@@ -205,11 +205,10 @@ func GetSysuserRaiList() (items []*AdminItem, err error) {
 		FROM
 			admin 
 		WHERE
-			role_type_code LIKE '%rai%' 
-			AND group_id NOT IN ( 19, 10, 17 ) 
+			role_type_code IN ('rai_group','rai_seller')
+			AND group_id NOT IN ( 19, 10, 17 )
 			AND enabled = 1 
-			OR real_name IN ( '沈涛', '张传星' )  
-			OR mobile IN ( '15011263967', '18935318900' , '15600639653', '18010097689', '13520990566') ` // 先写死,看情况要不要改
+			OR real_name IN ( '沈涛', '张传星' ) ` // 先写死,看情况要不要改
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }

+ 1 - 0
models/tables/company_product/company_product.go

@@ -36,6 +36,7 @@ type CompanyProduct struct {
 	CompanyType      string    `description:"客户类型"`
 	PackageType      int       `description:"套餐类型,0:无,1:大套餐,2:小套餐"`
 	IsFormal         int       `description:"是否已经转正式,0是没有转正式,1是已经转过正式"`
+	ShareSellerId    int       `description:"共享销售员id"`
 }
 
 func GetCompanyProductByCompanyIdAndProductId(companyId, productId int) (item *CompanyProduct, err error) {