xingzai 6 månader sedan
förälder
incheckning
48ee0e5651

+ 1 - 0
controllers/company_share.go

@@ -653,6 +653,7 @@ func (this *CompanyController) CompanyShareList() {
 				ShareSellerId:   v.ShareSellerId,
 				LastServiceTime: v.LastServiceTime,
 				ServiceTimes:    v.ServiceTimes,
+				IsUserMaker:     v.IsUserMaker,
 			}
 			if v.ShareSellerIds != "" {
 				shareSellerIds := strings.Split(v.ShareSellerIds, ",")

+ 5 - 0
controllers/statistic_company_merge.go

@@ -403,6 +403,7 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
 		list = make([]*models.IncrementalList, 0)
 	}
 	var companyContractIds []int
+	var companyIds []int
 	for i := 0; i < listLen; i++ {
 		item := list[i]
 		companyContractIds = append(companyContractIds, item.CompanyContractId)
@@ -415,6 +416,7 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
 			expireDay := fmt.Sprintf("%v", int(sub.Hours()/24))
 			list[i].ExpireDay = expireDay
 		}
+		companyIds = append(companyIds, item.CompanyId)
 	}
 
 	//合并合同所对应的权限
@@ -424,8 +426,11 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
+
+	mapIsUserMaker := cygxService.GetCompanyProductIsUserMakerByCompanyIds(companyIds)
 	for _, v := range list {
 		v.PermissionName = mappermissionName[v.CompanyContractId]
+		v.IsUserMaker = mapIsUserMaker[v.CompanyId]
 	}
 
 	page := paging.GetPaging(currentIndex, pageSize, dataTotal)

+ 1 - 0
models/company/company_product.go

@@ -61,6 +61,7 @@ type CompanyProduct struct {
 	ShareSeller         string    `description:"共享销售员"`
 	ShareSellerId       int       `description:"共享销售员id"`
 	ShareGroupId        int       `description:"共享销售员所属分组ID"`
+	IsUserMaker         int       `description:"近四周之内是否包含决策人互动过 ,0否,1是"`
 }
 
 // 新增客户产品

+ 1 - 0
models/statistic_report.go

@@ -405,6 +405,7 @@ type IncrementalList struct {
 	PermissionNameStatus string                             `description:"权限状态"`
 	CompanyProductStatus string                             `description:"客户状态"`
 	//CompanyContractIdGroup string                             `description:"表company_contract合并的 company_contract_id"`
+	IsUserMaker int `description:"近四周之内是否包含决策人互动过 ,0否,1是"`
 }
 
 // GetIncrementalNewCompanyCount 获取增量客户报表列表统计数据(根据合同来展示)

+ 31 - 0
services/cygx/contract_allocation.go

@@ -952,3 +952,34 @@ func UpdateCygxallocationCompanyContractByEnterScoreInit() {
 	fmt.Println("END")
 	return
 }
+
+// 根据公司ID获取近四周之内有决策人互动的客户
+func GetCompanyProductIsUserMakerByCompanyIds(companyIds []int) (mapIsUserMakerResp map[int]int) {
+	var err error
+	defer func() {
+		if err != nil {
+			go alarm_msg.SendAlarmMsg("根据公司ID获取近四周之内有决策人互动的客户失败 GetCompanyProductIsUserMakerByCompanyIds ErrMsg:"+err.Error(), 2)
+
+		}
+	}()
+	lenArr := len(companyIds)
+	if lenArr == 0 {
+		return
+	}
+	var condition string
+	var pars []interface{}
+
+	condition += " AND  company_id IN (" + utils.GetOrmInReplace(lenArr) + ")  AND product_id = 2 AND is_user_maker = 1 "
+	pars = append(pars, companyIds)
+
+	productList, e := company.GetCompanyProductList(condition, pars)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetCompanyProductList, Err: " + e.Error())
+		return
+	}
+	mapIsUserMakerResp = make(map[int]int)
+	for _, v := range productList {
+		mapIsUserMakerResp[v.CompanyId] = v.IsUserMaker
+	}
+	return
+}