|
@@ -57,17 +57,27 @@ func AddReportRecord(cont context.Context) (err error) {
|
|
|
return
|
|
|
}
|
|
|
existMap := make(map[string]*roadshow.RsReportRecord)
|
|
|
- var companyIds []int
|
|
|
+
|
|
|
for _, v := range existList {
|
|
|
key := strconv.Itoa(v.RsCalendarId) + "_" + strconv.Itoa(v.RsCalendarResearcherId)
|
|
|
existMap[key] = v
|
|
|
- if v.CompanyId > 0 {
|
|
|
- companyIds = append(companyIds, v.CompanyId)
|
|
|
- }
|
|
|
}
|
|
|
mapPermissionNameFicc := make(map[int][]string)
|
|
|
mapPermissionNameRai := make(map[int][]string)
|
|
|
+ mapPermissionFicc := make(map[int][]*roadshow.RsReportRecordPermission)
|
|
|
+ mapPermissionRai := make(map[int][]*roadshow.RsReportRecordPermission)
|
|
|
|
|
|
+ var itemsRs []*roadshow.RsReportRecordPermission
|
|
|
+ list, err := roadshow.GetRsCalendarDetail(endDate)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var companyIds []int
|
|
|
+ for _, v := range list {
|
|
|
+ if v.CompanyId > 0 {
|
|
|
+ companyIds = append(companyIds, v.CompanyId)
|
|
|
+ }
|
|
|
+ }
|
|
|
if len(companyIds) > 0 {
|
|
|
listPermissionNameFicc, errFicc := models.GetCompanyProductReportPermissionList(companyIds, 1) // FICC权限信息
|
|
|
if errFicc != nil {
|
|
@@ -76,9 +86,15 @@ func AddReportRecord(cont context.Context) (err error) {
|
|
|
}
|
|
|
mapPermissionArrFicc := make(map[string]bool)
|
|
|
for _, v := range listPermissionNameFicc {
|
|
|
+ if companyMap[v.CompanyId] == nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
if mapPermissionArrFicc[fmt.Sprint(v.CompanyId, v.PermissionName)] || v.PermissionName == "" {
|
|
|
continue
|
|
|
}
|
|
|
+ if companyMap[v.CompanyId].Status == "正式" && v.Status != "正式" {
|
|
|
+ continue // 正式客户只统计正式权限
|
|
|
+ }
|
|
|
mapPermissionNameFicc[v.CompanyId] = append(mapPermissionNameFicc[v.CompanyId], v.PermissionName)
|
|
|
mapPermissionArrFicc[fmt.Sprint(v.CompanyId, v.PermissionName)] = true
|
|
|
}
|
|
@@ -91,18 +107,45 @@ func AddReportRecord(cont context.Context) (err error) {
|
|
|
|
|
|
mapPermissionArrRai := make(map[string]bool)
|
|
|
for _, v := range listPermissionNameRai {
|
|
|
+ if companyMapRai[v.CompanyId] == nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
if mapPermissionArrRai[fmt.Sprint(v.CompanyId, v.PermissionName)] || v.PermissionName == "" {
|
|
|
continue
|
|
|
}
|
|
|
+ if companyMapRai[v.CompanyId].Status == "正式" && v.Status != "正式" {
|
|
|
+ continue // 正式客户只统计正式权限
|
|
|
+ }
|
|
|
mapPermissionNameRai[v.CompanyId] = append(mapPermissionNameRai[v.CompanyId], v.PermissionName)
|
|
|
mapPermissionArrRai[fmt.Sprint(v.CompanyId, v.PermissionName)] = true
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- list, err := roadshow.GetRsCalendarDetail(endDate)
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
+ listPermissionFicc, errFicc := roadshow.GetCompanyProductReportPermissionList(companyIds, 1) // FICC权限信息
|
|
|
+ if errFicc != nil {
|
|
|
+ err = errFicc
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listPermissionFicc {
|
|
|
+ if companyMap[v.CompanyId] == nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ mapPermissionFicc[v.CompanyId] = append(mapPermissionFicc[v.CompanyId], v)
|
|
|
+ }
|
|
|
+
|
|
|
+ listPermissionRai, errRai := roadshow.GetCompanyProductReportPermissionList(companyIds, 2) // 权益权限信息
|
|
|
+ if errRai != nil {
|
|
|
+ err = errRai
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listPermissionRai {
|
|
|
+ if companyMapRai[v.CompanyId] == nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ mapPermissionRai[v.CompanyId] = append(mapPermissionRai[v.CompanyId], v)
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ mapRsReportRecordPermission := make(map[string]bool) // 一个公司的一场路演,添加了多个研究员只记录一次
|
|
|
for _, v := range list {
|
|
|
company := new(roadshow.CompanySearchView)
|
|
|
if v.CompanyId > 0 {
|
|
@@ -143,7 +186,7 @@ func AddReportRecord(cont context.Context) (err error) {
|
|
|
reportUpdateParams["company_id"] = company.CompanyId
|
|
|
reportUpdateParams["company_name"] = company.CompanyName
|
|
|
reportUpdateParams["credit_code"] = company.CreditCode
|
|
|
- reportUpdateParams["company_status"] = company.Status
|
|
|
+ reportUpdateParams["company_status"] = company.Status //记录当时的状态
|
|
|
reportUpdateParams["permission_name"] = company.PermissionName
|
|
|
}
|
|
|
reportUpdateParams["activity_type"] = v.ActivityType
|
|
@@ -229,6 +272,31 @@ func AddReportRecord(cont context.Context) (err error) {
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ if mapRaiSllerId[v.SysUserId] {
|
|
|
+ for _, vP := range mapPermissionRai[v.CompanyId] {
|
|
|
+ pKey := strconv.Itoa(v.RsCalendarId) + "_" + strconv.Itoa(vP.ChartPermissionId)
|
|
|
+ if mapRsReportRecordPermission[pKey] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ vP.RsCalendarId = v.RsCalendarId
|
|
|
+ itemsRs = append(itemsRs, vP)
|
|
|
+ mapRsReportRecordPermission[pKey] = true
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for _, vP := range mapPermissionFicc[v.CompanyId] {
|
|
|
+ pKey := strconv.Itoa(v.RsCalendarId) + "_" + strconv.Itoa(vP.ChartPermissionId)
|
|
|
+ if mapRsReportRecordPermission[pKey] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ vP.RsCalendarId = v.RsCalendarId
|
|
|
+ itemsRs = append(itemsRs, vP)
|
|
|
+ mapRsReportRecordPermission[pKey] = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(itemsRs) > 0 {
|
|
|
+ err = roadshow.MultiRsReportRecordPermission(itemsRs) // 添加公司当时对应的权限信息
|
|
|
}
|
|
|
}
|
|
|
return err
|