|
@@ -5,6 +5,7 @@ import (
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"hongze/hz_crm_api/models"
|
|
|
"hongze/hz_crm_api/models/company"
|
|
|
+ "hongze/hz_crm_api/models/cygx"
|
|
|
"hongze/hz_crm_api/models/roadshow"
|
|
|
"hongze/hz_crm_api/models/system"
|
|
|
"hongze/hz_crm_api/services"
|
|
@@ -21,6 +22,7 @@ import (
|
|
|
// @Param DataType query string true "枚举值:week、month、time_interval"
|
|
|
// @Param StartDate query string true "开始日期,格式:2022-04-06"
|
|
|
// @Param EndDate query string true "结束日期,格式:2022-04-06"
|
|
|
+// @Param CompanyType query string true "客户类型:'ficc','权益',传空默认为ficc,"
|
|
|
// @Success 200 {object} roadshow.RsReportRecordResp
|
|
|
// @router /report/researcher/list [get]
|
|
|
func (this *CalendarController) ResearcherReportList() {
|
|
@@ -39,7 +41,7 @@ func (this *CalendarController) ResearcherReportList() {
|
|
|
dataType := this.GetString("DataType")
|
|
|
startDate := this.GetString("StartDate")
|
|
|
endDate := this.GetString("EndDate")
|
|
|
-
|
|
|
+ companyType := this.GetString("CompanyType", "ficc")
|
|
|
var adminDataList []roadshowService.AdminDataMap
|
|
|
var err error
|
|
|
//var firstDate time.Time
|
|
@@ -71,19 +73,74 @@ func (this *CalendarController) ResearcherReportList() {
|
|
|
br.ErrMsg = "数据异常,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- }
|
|
|
- group, err := roadshow.GetResearcherGroup()
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败!"
|
|
|
- br.ErrMsg = "获取分组信息失败!Err:" + err.Error()
|
|
|
- return
|
|
|
}
|
|
|
- researcherList, err := roadshow.GetResearcherV2()
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败!"
|
|
|
- br.ErrMsg = "获取分组信息失败!,GetResearcherV2 Err:" + err.Error()
|
|
|
- return
|
|
|
+
|
|
|
+ var group []*roadshow.ResearcherGroup
|
|
|
+ var researcherList []*roadshow.ResearcherGroup
|
|
|
+
|
|
|
+ switch companyType {
|
|
|
+ case utils.COMPANY_CLASSIFY_FICC:
|
|
|
+ group, err = roadshow.GetResearcherGroup()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败!"
|
|
|
+ br.ErrMsg = "获取分组信息失败!Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ researcherList, err = roadshow.GetResearcherV2()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败!"
|
|
|
+ br.ErrMsg = "获取分组信息失败!,GetResearcherV2 Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ case utils.COMPANY_CLASSIFY_RAI:
|
|
|
+ mapPermissionUser := make(map[string][]*roadshow.ResearcherGroup)
|
|
|
+ listPermission, err := cygx.GetChartPermissionAll()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mapPermissionId := make(map[string]int)
|
|
|
+ for _, v := range listPermission {
|
|
|
+ mapPermissionId[v.PermissionName] = v.ChartPermissionId
|
|
|
+ }
|
|
|
+ askUserList, err := cygx.GetAskEmailListResearcher()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,GetAskEmailListResearcher Err: " + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sysUserList, err := system.GetAdminList()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取admin列表失败, Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ adminMap := make(map[int]*system.Admin, 0)
|
|
|
+ for _, v := range sysUserList {
|
|
|
+ adminMap[v.AdminId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range askUserList {
|
|
|
+ if admin, ok := adminMap[v.AdminId]; ok {
|
|
|
+ item := &roadshow.ResearcherGroup{
|
|
|
+ AdminId: v.AdminId,
|
|
|
+ RealName: v.Name,
|
|
|
+ GroupId: mapPermissionId[v.ChartPermissionName], //行业ID作为组别,进行关系映射
|
|
|
+ GroupName: admin.GroupName,
|
|
|
+ RoleTypeCode: admin.RoleTypeCode,
|
|
|
+ }
|
|
|
+ mapPermissionUser[v.ChartPermissionName] = append(mapPermissionUser[v.ChartPermissionName], item)
|
|
|
+ researcherList = append(researcherList, item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for k, v := range mapPermissionUser {
|
|
|
+ respItem := new(roadshow.ResearcherGroup)
|
|
|
+ respItem.GroupName = k + "组"
|
|
|
+ respItem.GroupId = mapPermissionId[k]
|
|
|
+ respItem.ResearcherList = v
|
|
|
+ group = append(group, respItem)
|
|
|
+ }
|
|
|
}
|
|
|
groupMap := make(map[int][]*roadshow.ResearcherGroup)
|
|
|
for _, v := range researcherList {
|
|
@@ -120,24 +177,30 @@ func (this *CalendarController) ResearcherReportList() {
|
|
|
tmpAllTryOutNumMap := make(map[int]int)
|
|
|
tmpAllFormalNumMap := make(map[int]int)
|
|
|
tmpAllMeetingNumMap := make(map[int]int)
|
|
|
+ tmpAllRoadShowNumMap := make(map[int]int)
|
|
|
+ tmpAllSalonNumMap := make(map[int]int)
|
|
|
for _, v := range group {
|
|
|
v.ResearcherList = groupMap[v.GroupId]
|
|
|
tmpGroupAdminReportRecord := make([]roadshow.AdminReportRecord, 0)
|
|
|
tmpGroupRsReportRecordNumList := make([]roadshow.RsReportRecordNum, 0)
|
|
|
|
|
|
+ //roadShowMap := make(map[int]int) // 路演总次数
|
|
|
+ //salonMap := make(map[int]int) //沙龙路演次数
|
|
|
+
|
|
|
tmpGroupTryOutNumMap := make(map[int]int)
|
|
|
tmpGroupFormalNumMap := make(map[int]int)
|
|
|
tmpGroupMeetingNumMap := make(map[int]int)
|
|
|
+ tmpGroupRoadShowNumMap := make(map[int]int)
|
|
|
+ tmpGroupSalonMapNumMap := make(map[int]int)
|
|
|
for _, researcher := range groupMap[v.GroupId] {
|
|
|
//组内研究员数据
|
|
|
-
|
|
|
//每个区间的数据
|
|
|
tmpAdminRsReportRecordNumList := make([]roadshow.RsReportRecordNum, 0)
|
|
|
for index, adminData := range adminDataList {
|
|
|
startDateIndexList[index] = adminData.StartDate
|
|
|
endDateIndexList[index] = adminData.EndDate
|
|
|
|
|
|
- var tmpTryOutNum, tmpFormalNum, tmpMeetingNum int
|
|
|
+ var tmpTryOutNum, tmpFormalNum, tmpMeetingNum, tmpRoadShowNum, tmpSalonNum int
|
|
|
if num, ok := adminData.TryOutMap[researcher.AdminId]; ok {
|
|
|
tmpTryOutNum = num
|
|
|
}
|
|
@@ -147,12 +210,21 @@ func (this *CalendarController) ResearcherReportList() {
|
|
|
if num, ok := adminData.MeetingMap[researcher.AdminId]; ok {
|
|
|
tmpMeetingNum = num
|
|
|
}
|
|
|
+ if num, ok := adminData.RoadShowMap[researcher.AdminId]; ok { //路演总次数
|
|
|
+ tmpRoadShowNum = num
|
|
|
+ }
|
|
|
+ if num, ok := adminData.SalonMap[researcher.AdminId]; ok { //路演总次数
|
|
|
+ tmpSalonNum = num
|
|
|
+ }
|
|
|
+
|
|
|
tmpAdminRsReportRecordNum := roadshow.RsReportRecordNum{
|
|
|
- TryOutNum: tmpTryOutNum,
|
|
|
- FormalNum: tmpFormalNum,
|
|
|
- MeetingNum: tmpMeetingNum,
|
|
|
- StartDate: adminData.StartDate,
|
|
|
- EndDate: adminData.EndDate,
|
|
|
+ TryOutNum: tmpTryOutNum,
|
|
|
+ FormalNum: tmpFormalNum,
|
|
|
+ MeetingNum: tmpMeetingNum,
|
|
|
+ RoadShowNum: tmpRoadShowNum,
|
|
|
+ SalonNum: tmpSalonNum,
|
|
|
+ StartDate: adminData.StartDate,
|
|
|
+ EndDate: adminData.EndDate,
|
|
|
}
|
|
|
tmpAdminRsReportRecordNumList = append(tmpAdminRsReportRecordNumList, tmpAdminRsReportRecordNum)
|
|
|
|
|
@@ -166,9 +238,17 @@ func (this *CalendarController) ResearcherReportList() {
|
|
|
if _, ok := tmpGroupMeetingNumMap[index]; !ok {
|
|
|
tmpGroupMeetingNumMap[index] = 0
|
|
|
}
|
|
|
+ if _, ok := tmpGroupRoadShowNumMap[index]; !ok {
|
|
|
+ tmpGroupRoadShowNumMap[index] = 0
|
|
|
+ }
|
|
|
+ if _, ok := tmpGroupSalonMapNumMap[index]; !ok {
|
|
|
+ tmpGroupSalonMapNumMap[index] = 0
|
|
|
+ }
|
|
|
tmpGroupTryOutNumMap[index] += tmpTryOutNum
|
|
|
tmpGroupFormalNumMap[index] += tmpFormalNum
|
|
|
tmpGroupMeetingNumMap[index] += tmpMeetingNum
|
|
|
+ tmpGroupRoadShowNumMap[index] += tmpRoadShowNum
|
|
|
+ tmpGroupSalonMapNumMap[index] += tmpSalonNum
|
|
|
|
|
|
//总数据汇总
|
|
|
if _, ok := tmpAllTryOutNumMap[index]; !ok {
|
|
@@ -180,9 +260,17 @@ func (this *CalendarController) ResearcherReportList() {
|
|
|
if _, ok := tmpAllMeetingNumMap[index]; !ok {
|
|
|
tmpAllMeetingNumMap[index] = 0
|
|
|
}
|
|
|
+ if _, ok := tmpGroupRoadShowNumMap[index]; !ok {
|
|
|
+ tmpGroupRoadShowNumMap[index] = 0
|
|
|
+ }
|
|
|
+ if _, ok := tmpGroupSalonMapNumMap[index]; !ok {
|
|
|
+ tmpGroupSalonMapNumMap[index] = 0
|
|
|
+ }
|
|
|
tmpAllTryOutNumMap[index] += tmpTryOutNum
|
|
|
tmpAllFormalNumMap[index] += tmpFormalNum
|
|
|
tmpAllMeetingNumMap[index] += tmpMeetingNum
|
|
|
+ tmpAllRoadShowNumMap[index] += tmpRoadShowNum
|
|
|
+ tmpAllSalonNumMap[index] += tmpSalonNum
|
|
|
}
|
|
|
tmpAdminReportRecord := roadshow.AdminReportRecord{
|
|
|
Name: researcher.RealName,
|
|
@@ -194,11 +282,13 @@ func (this *CalendarController) ResearcherReportList() {
|
|
|
|
|
|
for i := 0; i < len(tmpGroupMeetingNumMap); i++ {
|
|
|
tmpGroupRsReportRecordNum := roadshow.RsReportRecordNum{
|
|
|
- TryOutNum: tmpGroupTryOutNumMap[i],
|
|
|
- FormalNum: tmpGroupFormalNumMap[i],
|
|
|
- MeetingNum: tmpGroupMeetingNumMap[i],
|
|
|
- StartDate: startDateIndexList[i],
|
|
|
- EndDate: endDateIndexList[i],
|
|
|
+ TryOutNum: tmpGroupTryOutNumMap[i],
|
|
|
+ FormalNum: tmpGroupFormalNumMap[i],
|
|
|
+ MeetingNum: tmpGroupMeetingNumMap[i],
|
|
|
+ RoadShowNum: tmpGroupRoadShowNumMap[i],
|
|
|
+ SalonNum: tmpGroupSalonMapNumMap[i],
|
|
|
+ StartDate: startDateIndexList[i],
|
|
|
+ EndDate: endDateIndexList[i],
|
|
|
}
|
|
|
tmpGroupRsReportRecordNumList = append(tmpGroupRsReportRecordNumList, tmpGroupRsReportRecordNum)
|
|
|
}
|
|
@@ -213,11 +303,13 @@ func (this *CalendarController) ResearcherReportList() {
|
|
|
//总体汇总数据
|
|
|
for i := 0; i < len(tmpAllFormalNumMap); i++ {
|
|
|
tmpGroupRsReportRecordNum := roadshow.RsReportRecordNum{
|
|
|
- TryOutNum: tmpAllTryOutNumMap[i],
|
|
|
- FormalNum: tmpAllFormalNumMap[i],
|
|
|
- MeetingNum: tmpAllMeetingNumMap[i],
|
|
|
- StartDate: startDateIndexList[i],
|
|
|
- EndDate: endDateIndexList[i],
|
|
|
+ TryOutNum: tmpAllTryOutNumMap[i],
|
|
|
+ FormalNum: tmpAllFormalNumMap[i],
|
|
|
+ MeetingNum: tmpAllMeetingNumMap[i],
|
|
|
+ RoadShowNum: tmpAllRoadShowNumMap[i],
|
|
|
+ SalonNum: tmpAllSalonNumMap[i],
|
|
|
+ StartDate: startDateIndexList[i],
|
|
|
+ EndDate: endDateIndexList[i],
|
|
|
}
|
|
|
rsAllReportRecordNumList = append(rsAllReportRecordNumList, tmpGroupRsReportRecordNum)
|
|
|
}
|
|
@@ -1715,4 +1807,4 @@ func (this *CalendarController) OverseasCalendarList() {
|
|
|
br.Msg = "获取成功"
|
|
|
br.Data = list
|
|
|
return
|
|
|
-}
|
|
|
+}
|