浏览代码

Merge branch 'cygx/cygx_14.2' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

zhangchuanxing 3 月之前
父节点
当前提交
0246a8557f

+ 6 - 2
controllers/cygx/morning_meeting_review.go

@@ -256,6 +256,7 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 		} else {
 			for _, item := range reqList.List {
 				go services.SendWxMsgWithCygxMorningMeeting(int(meetingId), item.IndustryId, item.IndustryName)
+				go cygxService.UpdateIndustrialManagementTimeLineDateList3ByRedis(item.IndustryId) //处理产业管理时间线相关内容的数据
 			}
 			//添加到首页最新
 			listchapter, err := cygx.GetCygxMorningMeetingReviewsListById(int(meetingId))
@@ -440,6 +441,7 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 		} else {
 			for _, item := range reqList.List {
 				go services.SendWxMsgWithCygxMorningMeeting(reqList.MeetingId, item.IndustryId, item.IndustryName)
+				go cygxService.UpdateIndustrialManagementTimeLineDateList3ByRedis(item.IndustryId) //处理产业管理时间线相关内容的数据
 			}
 			for _, itemchapter := range listchapter {
 				//go cygxService.UpdateResourceData(itemchapter.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
@@ -599,6 +601,7 @@ func (this *MorningMeetingController) PublishReport() {
 		for _, item := range list {
 			fmt.Println(item.Id)
 			go services.SendWxMsgWithCygxMorningMeeting(vint, item.IndustryId, item.IndustryName)
+			go cygxService.UpdateIndustrialManagementTimeLineDateList3ByRedis(item.IndustryId) //处理产业管理时间线相关内容的数据
 			//go cygxService.UpdateResourceData(item.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
 			go cygxService.UpdateMeetingreviewchaptResourceData(item.Id) //写入首页最新  cygx_resource_data 表
 			go elastic.AddComprehensiveMeetingreviewchapt(item.Id)       //Es添加晨会精华
@@ -648,8 +651,9 @@ func (this *MorningMeetingController) PublishCancleReport() {
 	}
 	for _, item := range list {
 		//go cygxService.UpdateResourceData(item.Id, "meetingreviewchapt", "delete", time.Now().Format(utils.FormatDateTime))
-		go cygxService.UpdateMeetingreviewchaptResourceData(item.Id) //写入首页最新  cygx_resource_data 表
-		go elastic.DeleteComprehensiveMeetingreviewchapt(item.Id)    //Es删除晨会精华
+		go cygxService.UpdateMeetingreviewchaptResourceData(item.Id)                       //写入首页最新  cygx_resource_data 表
+		go elastic.DeleteComprehensiveMeetingreviewchapt(item.Id)                          //Es删除晨会精华
+		go cygxService.UpdateIndustrialManagementTimeLineDateList3ByRedis(item.IndustryId) //处理产业管理时间线相关内容的数据
 	}
 	var condition string
 	var pars []interface{}

+ 49 - 31
controllers/statistic_company_merge.go

@@ -360,19 +360,24 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
 		condition1 += condition
 		pars1 = append(pars1, pars)
 
-		condition1 += `  AND a.not_renewal_hide = 0  AND a.status = 1 AND a.start_date >= '2020-01-01' AND  a.end_date >= ? AND a.end_date  <= ? `
+		condition1 += `    AND a.status = 1  AND  a.end_date >= ? AND a.end_date  <= ? `
 		pars1 = append(pars1, startDate, endDate)
 		//condition1 += ` AND a.operation = ? `
 		//pars1 = append(pars1, "try_out")
-		condition1 += ` AND c.status not in ("永续","正式","关闭")  `
 
 		//销售筛选条件
 		if adminId != "" {
-			condition1 += ` AND c.seller_id_last in  (` + adminId + `) `
+			condition1 += ` AND a.seller_id_last in  (` + adminId + `) `
 		} else {
 			condition1, pars1 = getQueryParamsLast(condition1, pars1, sysUser, "c.")
 		}
 
+		//未续约待确认数量
+		notRenewalToBeCondition := condition1
+		notRenewalToBePars := pars1
+		notRenewalToBeCondition += conditionAscribRaiToBeTotal
+		notRenewalToBePars = append(notRenewalToBePars, parsAscribeRaiTobeTotal)
+
 		//未续约已确认数量
 		notRenewalCondition := condition1
 		notRenewalPars := pars1
@@ -385,11 +390,7 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
 			return
 		}
 		notRenewalCompanyTotal = total
-		//未续约待确认数量
-		notRenewalToBeCondition := condition1
-		notRenewalToBePars := pars1
-		notRenewalToBeCondition += conditionAscribRaiToBeTotal
-		notRenewalToBePars = append(notRenewalToBePars, parsAscribeRaiTobeTotal)
+
 		notRenewalCompanyToBeConfirmTotal, err = company.GetIncrementalRenewalCompanyProductMergeCount(notRenewalToBeCondition, notRenewalToBePars)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取失败"
@@ -397,6 +398,14 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
 			return
 		}
 
+		if isConfirm != 2 {
+			condition1 += `  AND a.not_renewal_hide = 0 `
+			condition1 += ` AND c.status not in ("永续","正式","关闭")  `
+		}
+
+		//if isConfirm == 1 {
+		//	condition1 += ` AND  a.company_ascribe_id  > 0 AND  a.company_ascribe_id  !=9   ` // 已确认未续约
+		//}
 		condition1 += conditionAscribRai
 		pars1 = append(pars1, parsAscribeRai)
 		if dataType == "未续约客户" {
@@ -1646,10 +1655,10 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListV2()
 	//}
 
 	//判断结束时间是否晚于当前时间,如果晚于当前时间,那么就把当前时间作为截止时间。
-	endDateTime, _ := time.Parse(utils.FormatDate, endDate)
-	if endDateTime.After(time.Now()) {
-		endDate = time.Now().Format(utils.FormatDate)
-	}
+	//endDateTime, _ := time.Parse(utils.FormatDate, endDate)
+	//if endDateTime.After(time.Now()) {
+	//	endDate = time.Now().Format(utils.FormatDate)
+	//}
 	//fmt.Println("endDate", endDate)
 	if contractDataType == "" {
 		contractDataType = "续约合同"
@@ -1669,10 +1678,10 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListV2()
 
 	//条件
 	if adminId != "" {
-		condition += ` AND c.seller_id in  (` + adminId + `) `
+		condition += ` AND a.seller_id_last in  (` + adminId + `) `
 	} else {
 		//根据当前角色来获取查询条件
-		condition, pars = getQueryParams(condition, pars, sysUser, "c.")
+		condition, pars = getQueryParamsLast(condition, pars, sysUser, "c.")
 	}
 
 	//权益有效合同
@@ -1768,7 +1777,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListV2()
 	pars1 = append(pars1, startDate, endDate)
 	//condition1 += ` AND a.rai_contract_type = ? `
 	//pars1 = append(pars1, "续约合同")
-	condition1 += ` AND  a.company_ascribe_id  > 0 AND  a.company_ascribe_id  !=9   ` // 已确认未续约
+	condition1 += ` AND  a.company_ascribe_id  > 0 AND  a.company_ascribe_id  !=9    AND c.STATUS NOT IN ( "永续", "正式", "关闭" )  ` // 已确认未续约
 
 	totalNo, err := company.GetIncrementalRenewalCompanyProductMergeCount(condition1, pars1)
 	if err != nil && err.Error() != utils.ErrNoRow() {
@@ -1809,7 +1818,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListV2()
 	//	condition1 += ` AND a.end_date >= ? AND a.end_date <= ? `
 	//}
 
-	conditionEnd1 += ` AND a.end_date >= ? AND a.end_date <= ?  AND  a.company_ascribe_id  !=9   `
+	conditionEnd1 += ` AND a.end_date >= ? AND a.end_date <= ?  `
 	parsEnd1 = append(parsEnd1, startDate, endDate)
 
 	//condition1 += ` AND a.start_date  < ?   `
@@ -1821,12 +1830,14 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListV2()
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
+
 	totalMoneyEnd, err := company.GetIncrementalRenewalCompanyProductMergeSumMoney(conditionEnd1, parsEnd1)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
+	fmt.Println("totalMoneyEnd", int(totalMoneyEnd))
 	expireRenewalContractTotal = totalEnd
 	expireRenewalContractMoney = int(totalMoneyEnd)
 	if contractDataType == "到期合同" {
@@ -1879,6 +1890,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListV2()
 			v.AscribeContent = mapGetCompanyAscribeContent[v.CompanyContractId]
 			v.IsShowNoRenewedNote = true
 		}
+		v.SellerName = v.SellerNameLast
 	}
 
 	page := paging.GetPaging(currentIndex, pageSize, dataTotal)
@@ -1937,10 +1949,10 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListExpor
 	}
 
 	//判断结束时间是否晚于当前时间,如果晚于当前时间,那么就把当前时间作为截止时间。
-	endDateTime, _ := time.Parse(utils.FormatDate, endDate)
-	if endDateTime.After(time.Now()) {
-		endDate = time.Now().Format(utils.FormatDate)
-	}
+	//endDateTime, _ := time.Parse(utils.FormatDate, endDate)
+	//if endDateTime.After(time.Now()) {
+	//	endDate = time.Now().Format(utils.FormatDate)
+	//}
 	//fmt.Println("endDate", endDate)
 	if contractDataType == "" {
 		contractDataType = "续约合同"
@@ -1961,13 +1973,13 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListExpor
 	if exportType == 1 {
 		//条件
 		if adminId != "" {
-			condition += ` AND a.seller_id_init in  (` + adminId + `) `
+			condition += ` AND a.seller_id_last in  (` + adminId + `) `
 		}
 	}
 
 	//权益有效合同
 	condition += ` AND c.product_id = 2   AND  a.status = 1 `
-	condition += ` AND c.status not in ("永续","正式","关闭")  `
+
 	//var list []*models.IncrementalList
 
 	condition1 := condition
@@ -1975,6 +1987,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListExpor
 	condition1 += ` AND a.end_date >= ? AND a.end_date <= ? `
 	pars1 = append(pars1, startDate, endDate)
 	condition1 += ` AND  a.company_ascribe_id  > 0 AND  a.company_ascribe_id  !=9   ` // 已确认未续约
+	condition1 += ` AND c.status not in ("永续","正式","关闭")  `
 
 	//if contractDataType == "续约合同" || contractDataType == "确认不续约合同" {
 	//不续约列表数据
@@ -1988,7 +2001,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListExpor
 	conditionEnd1 := condition
 	parsEnd1 := pars
 
-	conditionEnd1 += ` AND a.end_date >= ? AND a.end_date <= ?  AND  a.company_ascribe_id  !=9   `
+	conditionEnd1 += ` AND a.end_date >= ? AND a.end_date <= ?     `
 	parsEnd1 = append(parsEnd1, startDate, endDate)
 
 	//if contractDataType == "到期合同" {
@@ -2000,14 +2013,16 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListExpor
 		return
 	}
 
+	//return
+
 	var companyContractIds []int
 	for _, v := range listRenewal {
 		companyContractIds = append(companyContractIds, v.CompanyContractId)
-		v.SellerId = v.SellerIdInit
+		v.SellerId = v.SellerIdLast
 	}
 	for _, v := range listEndDate {
 		companyContractIds = append(companyContractIds, v.CompanyContractId)
-		v.SellerId = v.SellerIdInit
+		v.SellerId = v.SellerIdLast
 	}
 
 	//合同归因标签
@@ -2100,9 +2115,9 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListExpor
 				cellBData := row.AddCell()
 				cellBData.Value = item.ProductStatus
 				cellCData := row.AddCell()
-				cellCData.Value = item.SellerName
+				cellCData.Value = item.SellerNameLast
 				cellCSellerData := row.AddCell()
-				cellCSellerData.Value = item.ShareSeller
+				cellCSellerData.Value = item.ShareSellerLast
 				cellDData := row.AddCell()
 				cellDData.Value = item.StartDate + "~" + item.EndDate
 				cellEData := row.AddCell()
@@ -2166,16 +2181,19 @@ func (this *StatisticCompanyMergerController) CompanyContractPercentageListExpor
 
 		//mapData := make(map[int]*response.IncrementalCompanyPercentageExportResp)
 		for _, v := range listRenewal {
-			mapNoRenewalContractTotal[v.SellerId]++
-			mapNoRenewalContractMoney[v.SellerId] += v.Money
+			mapNoRenewalContractTotal[v.SellerIdLast]++
+			mapNoRenewalContractMoney[v.SellerIdLast] += v.Money
 		}
 
 		for _, v := range listEndDate {
-			mapExpireRenewalContractTotal[v.SellerId]++
-			mapExpireRenewalContractMoney[v.SellerId] += v.Money
+			mapExpireRenewalContractTotal[v.SellerIdLast]++
+			mapExpireRenewalContractMoney[v.SellerIdLast] += v.Money
 		}
 
 		for _, item := range listRaiSeller {
+			if item.Enabled == 0 && mapNoRenewalContractTotal[item.AdminId] == 0 && mapExpireRenewalContractTotal[item.AdminId] == 0 {
+				continue
+			}
 			row := sheet.AddRow()
 			cellAData := row.AddCell()
 			cellAData.Value = item.RealName

+ 2 - 2
controllers/statistic_report.go

@@ -199,7 +199,7 @@ func getQueryParamsLast(condition string, pars []interface{}, sysUser *system.Ad
 		//如果不是研究员,那么去找对应的 部门、小组、销售
 		if sysUser.Authority == 0 {
 			//普通用户
-			condition += " AND c.seller_id_last=?"
+			condition += " AND a.seller_id_last=?"
 			pars = append(pars, sysUser.AdminId)
 		} else if sysUser.Authority == 1 {
 			//部门主管
@@ -249,7 +249,7 @@ func getQueryParamsLast(condition string, pars []interface{}, sysUser *system.Ad
 			pars = append(pars, sysUser.GroupId)
 		} else {
 			//不知道什么类型的用户(后面新增的位置类型客户)
-			condition += " AND c.seller_id_last=?"
+			condition += " AND a.seller_id_last=?"
 			pars = append(pars, sysUser.AdminId)
 		}
 	}

+ 5 - 2
models/statistic_report.go

@@ -392,7 +392,9 @@ type IncrementalList struct {
 	RegionType           string                             `description:"企业客户所属区域;可选范围:国内,海外"`
 	SellerId             int                                `description:"归属销售id"`
 	SellerName           string                             `description:"归属销售名称"`
-	ShareSeller          string                             `description:"共享销售员"`
+	SellerNameLast       string                             `description:"合同到期之前最后所属归属销售名称"`
+	ShareSeller          string                             `description:"合同到期之前最后所属共享销售员"`
+	ShareSellerLast      string                             `description:"共享销售员"`
 	ExpireDay            string                             `description:"剩余可用天数"`
 	PermissionList       []*company.CompanyReportPermission `description:"产品权限"`
 	Count                int                                `json:"-" description:"合同数"`
@@ -410,6 +412,7 @@ type IncrementalList struct {
 	IsUserMaker     int    `description:"近四周之内是否包含决策人互动过 ,0否,1是"`
 	SellerNameInit  string `description:"权益初始化销售"`
 	SellerIdInit    int    `description:"权益初始化销售ID"`
+	SellerIdLast    int    `description:"合同到期之前最后所属销售ID"`
 	ShareSellerInit string `description:"共享销售员"`
 }
 
@@ -930,7 +933,7 @@ func GetIncrementalCompanyListByOperationRecordMerge(condition string, pars []in
 	o := orm.NewOrm()
 
 	//查询真正的数据
-	sql := `SELECT a.company_contract_id,a.contract_type ,a.company_product_id ,a.contract_code ,a.pay_method ,a.pay_channel ,a.package_difference ,a.company_id, a.start_date, a.end_date, a.money, b.company_name, a.seller_id_last as seller_id, c.seller_name_last as  seller_name, c.share_seller_last as  share_seller, a.product_id, a.product_name, a.create_time, b.region_type, c.renewal_reason, c.renewal_todo, c.status  FROM company_contract a
+	sql := `SELECT a.company_contract_id,a.contract_type ,a.company_product_id ,a.contract_code ,a.pay_method ,a.pay_channel ,a.package_difference ,a.company_id, a.start_date, a.end_date, a.money, b.company_name, a.seller_id_last as seller_id, a.seller_name_last as  seller_name, a.share_seller_last as  share_seller, a.product_id, a.product_name, a.create_time, b.region_type, c.renewal_reason, c.renewal_todo, c.status  FROM company_contract a
 		RIGHT JOIN company b ON a.company_id = b.company_id
 		JOIN company_product c ON b.company_id = c.company_id 
 		AND a.product_id = c.product_id  where 1=1  `

+ 1 - 1
models/system/sys_admin.go

@@ -481,7 +481,7 @@ func GetSysuserRaiList() (items []*AdminItem, err error) {
 // GetSysuserRaiList 获取除服务组之外的所有权益销售
 func GetSysuserRaiListNoServer() (items []*AdminItem, err error) {
 	o := orm.NewOrm()
-	sql := `SELECT  * FROM admin WHERE role_type_code  IN ('rai_group','rai_seller')  AND enabled = 1  AND role_name NOT IN ('权益服务销售','权益服务组长')  `
+	sql := `SELECT  * FROM admin WHERE role_type_code  IN ('rai_group','rai_seller')   AND role_name NOT IN ('权益服务销售','权益服务组长')  `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }

+ 20 - 0
services/cygx/industrial_management.go

@@ -127,3 +127,23 @@ func GetIndustrialManagementArticleNewPublishData(industrialManagementId int) (e
 //	//}
 //	return
 //}
+
+// 处理产业管理时间线相关内容的数据
+func UpdateIndustrialManagementTimeLineDateList3ByRedis(industrialManagementId int) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			msg := fmt.Sprint("industrialManagementId:", industrialManagementId)
+			go alarm_msg.SendAlarmMsg("处理产业管理时间线相关内容的数据,写入Redis队列消息失败: UpdateIndustrialManagementTimeLineDateList3ByRedis"+err.Error()+msg, 2)
+		}
+	}()
+	//SourceType int       `description:"1:报名、 2:取消报名、3:活动编辑、4:活动发布,取消发布、5:活动到会。"`
+	log := &cygx.IndustrialManagementDelte{IndustrialManagementId: industrialManagementId}
+	if utils.Re == nil {
+		err := utils.Rc.LPush(utils.CYGX_ARTICLE_TIME_LINE_KEY, log)
+		if err != nil {
+			fmt.Println("UpdateIndustrialManagementTimeLineDateList3ByRedis LPush Err:" + err.Error())
+		}
+	}
+	return
+}

+ 1 - 0
utils/constants.go

@@ -424,6 +424,7 @@ const (
 	CHART_PERMISSION_NAME_45W                      = "45w大套餐" // 权益45w大套餐名称
 	CHART_PERMISSION_ID_45W                        = 2002     // 权益45w大套餐表示的权限ID(自定义)
 	HONG_GUAN_NAME                          string = "宏观"
+	CYGX_ARTICLE_TIME_LINE_KEY                     = "CYGX_ARTICLE_TIME_LINE_KEY" //产业时间线关联的文章key
 )
 
 // 权益cygx_config配置主键以后放这里