|
@@ -232,13 +232,15 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
for _, v := range companyConfirmList {
|
|
for _, v := range companyConfirmList {
|
|
mapNoRenewedcompanyContractIds[v.CompanyContractId] = true
|
|
mapNoRenewedcompanyContractIds[v.CompanyContractId] = true
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ mapRenewedContractId := make(map[int]bool) // 出现在续约客户的合同
|
|
mapAddTrialNum := make(map[string]float64) // 新增试用-(数据)
|
|
mapAddTrialNum := make(map[string]float64) // 新增试用-(数据)
|
|
mapNewContractMoney := make(map[string]float64) // 新签合同(金额)
|
|
mapNewContractMoney := make(map[string]float64) // 新签合同(金额)
|
|
mapNewContractNum := make(map[string]int) // 新签合同(数量)
|
|
mapNewContractNum := make(map[string]int) // 新签合同(数量)
|
|
mapExpiredContractMoney := make(map[string]float64) // 到期合同(金额)
|
|
mapExpiredContractMoney := make(map[string]float64) // 到期合同(金额)
|
|
|
|
+ mapExpiredContractMoney2 := make(map[string]float64) // 到期合同(金额)(处理永续合同使用)
|
|
mapExpiredContractNum := make(map[string]int) // 到期合同(数量)
|
|
mapExpiredContractNum := make(map[string]int) // 到期合同(数量)
|
|
mapExpiredContractCompanyNum := make(map[string]int) // 到期公司(数量)
|
|
mapExpiredContractCompanyNum := make(map[string]int) // 到期公司(数量)
|
|
|
|
+ mapExpiredContractCompanyNum2 := make(map[string]int) // 到期公司(数量)处理永续合同使用)
|
|
mapRenewedContractMoney := make(map[string]float64) // 续约合同(金额)
|
|
mapRenewedContractMoney := make(map[string]float64) // 续约合同(金额)
|
|
mapRenewedContractNum := make(map[string]int) // 续约合同(数量)
|
|
mapRenewedContractNum := make(map[string]int) // 续约合同(数量)
|
|
mapRenewedContractCompanyNum := make(map[string]int) // 续约公司(数量)
|
|
mapRenewedContractCompanyNum := make(map[string]int) // 续约公司(数量)
|
|
@@ -255,8 +257,10 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
mapNewContractMoneyServer := make(map[string]float64) // 新签合同(金额)
|
|
mapNewContractMoneyServer := make(map[string]float64) // 新签合同(金额)
|
|
mapNewContractNumServer := make(map[string]int) // 新签合同(数量)
|
|
mapNewContractNumServer := make(map[string]int) // 新签合同(数量)
|
|
mapExpiredContractMoneyServer := make(map[string]float64) // 到期合同(金额)
|
|
mapExpiredContractMoneyServer := make(map[string]float64) // 到期合同(金额)
|
|
|
|
+ mapExpiredContractMoneyServer2 := make(map[string]float64) // 到期合同(金额)(处理永续合同使用)
|
|
mapExpiredContractNumServer := make(map[string]int) // 到期合同(数量)_服务组
|
|
mapExpiredContractNumServer := make(map[string]int) // 到期合同(数量)_服务组
|
|
mapExpiredContractCompanyNumServer := make(map[string]int) // 到期公司(数量)_服务组
|
|
mapExpiredContractCompanyNumServer := make(map[string]int) // 到期公司(数量)_服务组
|
|
|
|
+ mapExpiredContractCompanyNumServer2 := make(map[string]int) // 到期公司(数量)_服务组
|
|
mapRenewedContractMoneyServer := make(map[string]float64) // 续约合同(金额)_服务组
|
|
mapRenewedContractMoneyServer := make(map[string]float64) // 续约合同(金额)_服务组
|
|
mapRenewedContractNumServer := make(map[string]int) // 续约合同(数量)_服务组
|
|
mapRenewedContractNumServer := make(map[string]int) // 续约合同(数量)_服务组
|
|
mapRenewedContractCompanyNumServer := make(map[string]int) // 续约公司(数量)_服务组
|
|
mapRenewedContractCompanyNumServer := make(map[string]int) // 续约公司(数量)_服务组
|
|
@@ -375,12 +379,16 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
|
|
|
//续约部分的数据(服务组)
|
|
//续约部分的数据(服务组)
|
|
for _, v := range listInheritData {
|
|
for _, v := range listInheritData {
|
|
|
|
+
|
|
if len(serviceAdminIdArr) > 0 && !utils.InArrayByStr(serviceAdminIdArr, strconv.Itoa(v.ShareSellerIdInit)) {
|
|
if len(serviceAdminIdArr) > 0 && !utils.InArrayByStr(serviceAdminIdArr, strconv.Itoa(v.ShareSellerIdInit)) {
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
if !mapsellerService[v.ShareSellerIdInit] {
|
|
if !mapsellerService[v.ShareSellerIdInit] {
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
|
|
+ if v.Status != "永续" || v.ContractType != "打分派点" {
|
|
|
|
+ mapRenewedContractId[v.CompanyContractId] = true
|
|
|
|
+ }
|
|
yearStr := getYearStar(utils.StrDateToDate(v.InheritEndDate), dataType, isCustomizeDate)
|
|
yearStr := getYearStar(utils.StrDateToDate(v.InheritEndDate), dataType, isCustomizeDate)
|
|
|
|
|
|
keyMap = fmt.Sprint(yearStr, "_Server_", v.ShareSellerIdInit)
|
|
keyMap = fmt.Sprint(yearStr, "_Server_", v.ShareSellerIdInit)
|
|
@@ -436,6 +444,12 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
mapExpiredContractMoney[keyMap] += v.Money
|
|
mapExpiredContractMoney[keyMap] += v.Money
|
|
mapExpiredContractMoney[keyMapTtoal] += v.Money
|
|
mapExpiredContractMoney[keyMapTtoal] += v.Money
|
|
|
|
|
|
|
|
+ //一份合同如果属于打分派点,并且当前状态是永续,同时还不属于续约合同,那就加在分子里面,如果是自定义的也可以进展示
|
|
|
|
+ if v.Status == "永续" && v.ContractType == "打分派点" && !mapRenewedContractId[v.CompanyContractId] && v.RaiCountShowType != -1 {
|
|
|
|
+ mapExpiredContractMoney2[keyMap] += v.Money
|
|
|
|
+ mapExpiredContractMoney2[keyMapTtoal] += v.Money
|
|
|
|
+ }
|
|
|
|
+
|
|
//一家公司同一个时间纬度,只统计一次
|
|
//一家公司同一个时间纬度,只统计一次
|
|
mapExpiredContractNum[keyMap]++
|
|
mapExpiredContractNum[keyMap]++
|
|
mapExpiredContractNum[keyMapTtoal]++
|
|
mapExpiredContractNum[keyMapTtoal]++
|
|
@@ -443,10 +457,16 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
//一家公司同一个时间纬度,只统计一次
|
|
//一家公司同一个时间纬度,只统计一次
|
|
if !mapKeyMapCompanyEndData[keyMapCompany] {
|
|
if !mapKeyMapCompanyEndData[keyMapCompany] {
|
|
mapExpiredContractCompanyNum[keyMap]++
|
|
mapExpiredContractCompanyNum[keyMap]++
|
|
|
|
+ if v.Status == "永续" && v.ContractType == "打分派点" && !mapRenewedContractId[v.CompanyContractId] && v.RaiCountShowType != -1 {
|
|
|
|
+ mapExpiredContractCompanyNum2[keyMap]++
|
|
|
|
+ }
|
|
mapKeyMapCompanyEndData[keyMapCompany] = true
|
|
mapKeyMapCompanyEndData[keyMapCompany] = true
|
|
}
|
|
}
|
|
if !mapKeyMapCompanyEndDataTotal[keyMapCompanyTotal] { //同一家共公司,在某个时段的多分合同下有不同的销售进行兼容
|
|
if !mapKeyMapCompanyEndDataTotal[keyMapCompanyTotal] { //同一家共公司,在某个时段的多分合同下有不同的销售进行兼容
|
|
mapExpiredContractCompanyNum[keyMapTtoal]++
|
|
mapExpiredContractCompanyNum[keyMapTtoal]++
|
|
|
|
+ if v.Status == "永续" && v.ContractType == "打分派点" && !mapRenewedContractId[v.CompanyContractId] && v.RaiCountShowType != -1 {
|
|
|
|
+ mapExpiredContractCompanyNum2[keyMapCompanyTotal]++
|
|
|
|
+ }
|
|
mapKeyMapCompanyEndDataTotal[keyMapCompanyTotal] = true
|
|
mapKeyMapCompanyEndDataTotal[keyMapCompanyTotal] = true
|
|
}
|
|
}
|
|
|
|
|
|
@@ -484,6 +504,13 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
//到期合同数据
|
|
//到期合同数据
|
|
mapExpiredContractMoneyServer[keyMap] += v.Money
|
|
mapExpiredContractMoneyServer[keyMap] += v.Money
|
|
mapExpiredContractMoneyServer[keyMapTtoal] += v.Money
|
|
mapExpiredContractMoneyServer[keyMapTtoal] += v.Money
|
|
|
|
+
|
|
|
|
+ //一份合同如果属于打分派点,并且当前状态是永续,同时还不属于续约合同,那就加在分子里面,如果是自定义的也可以进展示
|
|
|
|
+ if v.Status == "永续" && v.ContractType == "打分派点" && !mapRenewedContractId[v.CompanyContractId] && v.RaiCountShowType != -1 {
|
|
|
|
+ mapExpiredContractMoneyServer2[keyMap] += v.Money
|
|
|
|
+ mapExpiredContractMoneyServer2[keyMapTtoal] += v.Money
|
|
|
|
+ }
|
|
|
|
+
|
|
mapExpiredContractNumServer[keyMap]++
|
|
mapExpiredContractNumServer[keyMap]++
|
|
mapExpiredContractNumServer[keyMapTtoal]++
|
|
mapExpiredContractNumServer[keyMapTtoal]++
|
|
|
|
|
|
@@ -491,6 +518,11 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
if !mapKeyMapCompanyEndData[keyMapCompany] {
|
|
if !mapKeyMapCompanyEndData[keyMapCompany] {
|
|
mapExpiredContractCompanyNumServer[keyMap]++
|
|
mapExpiredContractCompanyNumServer[keyMap]++
|
|
mapExpiredContractCompanyNumServer[keyMapTtoal]++
|
|
mapExpiredContractCompanyNumServer[keyMapTtoal]++
|
|
|
|
+
|
|
|
|
+ if v.Status == "永续" && v.ContractType == "打分派点" && !mapRenewedContractId[v.CompanyContractId] && v.RaiCountShowType != -1 {
|
|
|
|
+ mapExpiredContractCompanyNumServer2[keyMap]++
|
|
|
|
+ mapExpiredContractCompanyNumServer2[keyMapTtoal]++
|
|
|
|
+ }
|
|
mapKeyMapCompanyEndData[keyMapCompany] = true
|
|
mapKeyMapCompanyEndData[keyMapCompany] = true
|
|
}
|
|
}
|
|
|
|
|
|
@@ -645,6 +677,8 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
mapSortDateService := make(map[int]float64)
|
|
mapSortDateService := make(map[int]float64)
|
|
mapSortDateDevelop := make(map[int]float64)
|
|
mapSortDateDevelop := make(map[int]float64)
|
|
|
|
|
|
|
|
+ fmt.Println("mapExpiredContractMoneyServer2", mapExpiredContractMoneyServer2)
|
|
|
|
+
|
|
for i := startYear; i <= endYear; i++ {
|
|
for i := startYear; i <= endYear; i++ {
|
|
for _, Dv := range dataTypeArr {
|
|
for _, Dv := range dataTypeArr {
|
|
item := new(statistic_report.RaiDataSummaryResp)
|
|
item := new(statistic_report.RaiDataSummaryResp)
|
|
@@ -669,10 +703,10 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoney[keyMap], 2), " / ", mapRenewedContractNum[keyMap]) // "续约合同(金额/数量)-(数据)"
|
|
sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoney[keyMap], 2), " / ", mapRenewedContractNum[keyMap]) // "续约合同(金额/数量)-(数据)"
|
|
var renewalRateMoey string
|
|
var renewalRateMoey string
|
|
var renewalRateNum string
|
|
var renewalRateNum string
|
|
- if mapRenewedContractMoney[keyMap] == 0 || mapExpiredContractMoney[keyMap] == 0 {
|
|
|
|
|
|
+ if mapRenewedContractMoney[keyMap]+mapExpiredContractMoney2[keyMap] == 0 || mapExpiredContractMoney[keyMap] == 0 {
|
|
renewalRateMoey = "0%"
|
|
renewalRateMoey = "0%"
|
|
} else {
|
|
} else {
|
|
- renewalRateMoey = utils.SubFloatToString(mapRenewedContractMoney[keyMap]/mapExpiredContractMoney[keyMap]*100, 2) + "%"
|
|
|
|
|
|
+ renewalRateMoey = utils.SubFloatToString((mapRenewedContractMoney[keyMap]+mapExpiredContractMoney2[keyMap])/mapExpiredContractMoney[keyMap]*100, 2) + "%"
|
|
}
|
|
}
|
|
if mapRenewedContractCompanyNum[keyMap] == 0 || mapExpiredContractCompanyNum[keyMap] == 0 {
|
|
if mapRenewedContractCompanyNum[keyMap] == 0 || mapExpiredContractCompanyNum[keyMap] == 0 {
|
|
renewalRateNum = "0%"
|
|
renewalRateNum = "0%"
|
|
@@ -779,10 +813,10 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoney[keyMapTtoal], 2), " / ", mapRenewedContractNum[keyMapTtoal]) // "续约合同(金额/数量)-(数据)"
|
|
sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoney[keyMapTtoal], 2), " / ", mapRenewedContractNum[keyMapTtoal]) // "续约合同(金额/数量)-(数据)"
|
|
var renewalRateMoey string
|
|
var renewalRateMoey string
|
|
var renewalRateNum string
|
|
var renewalRateNum string
|
|
- if mapRenewedContractMoney[keyMapTtoal] == 0 || mapExpiredContractMoney[keyMapTtoal] == 0 {
|
|
|
|
|
|
+ if mapRenewedContractMoney[keyMapTtoal]+mapExpiredContractMoney2[keyMapTtoal] == 0 || mapExpiredContractMoney[keyMapTtoal] == 0 {
|
|
renewalRateMoey = "0%"
|
|
renewalRateMoey = "0%"
|
|
} else {
|
|
} else {
|
|
- renewalRateMoey = utils.SubFloatToString(mapRenewedContractMoney[keyMapTtoal]/mapExpiredContractMoney[keyMapTtoal]*100, 2) + "%"
|
|
|
|
|
|
+ renewalRateMoey = utils.SubFloatToString((mapRenewedContractMoney[keyMapTtoal]+mapExpiredContractMoney2[keyMapTtoal])/mapExpiredContractMoney[keyMapTtoal]*100, 2) + "%"
|
|
}
|
|
}
|
|
if mapRenewedContractCompanyNum[keyMapTtoal] == 0 || mapExpiredContractCompanyNum[keyMapTtoal] == 0 {
|
|
if mapRenewedContractCompanyNum[keyMapTtoal] == 0 || mapExpiredContractCompanyNum[keyMapTtoal] == 0 {
|
|
renewalRateNum = "0%"
|
|
renewalRateNum = "0%"
|
|
@@ -839,15 +873,15 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoneyServer[keyMap], 2), " / ", mapRenewedContractNumServer[keyMap]) // "续约合同(金额/数量)-(数据)"
|
|
sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoneyServer[keyMap], 2), " / ", mapRenewedContractNumServer[keyMap]) // "续约合同(金额/数量)-(数据)"
|
|
var renewalRateMoey string
|
|
var renewalRateMoey string
|
|
var renewalRateNum string
|
|
var renewalRateNum string
|
|
- if mapRenewedContractMoneyServer[keyMap] == 0 || mapExpiredContractMoneyServer[keyMap] == 0 {
|
|
|
|
|
|
+ if mapRenewedContractMoneyServer[keyMap]+mapExpiredContractMoneyServer2[keyMap] == 0 || mapExpiredContractMoneyServer[keyMap] == 0 {
|
|
renewalRateMoey = "0%"
|
|
renewalRateMoey = "0%"
|
|
} else {
|
|
} else {
|
|
- renewalRateMoey = utils.SubFloatToString(mapRenewedContractMoneyServer[keyMap]/mapExpiredContractMoneyServer[keyMap]*100, 2) + "%"
|
|
|
|
|
|
+ renewalRateMoey = utils.SubFloatToString((mapRenewedContractMoneyServer[keyMap]+mapExpiredContractMoneyServer2[keyMap])/mapExpiredContractMoneyServer[keyMap]*100, 2) + "%"
|
|
}
|
|
}
|
|
- if mapRenewedContractCompanyNumServer[keyMap] == 0 || mapExpiredContractCompanyNumServer[keyMap] == 0 {
|
|
|
|
|
|
+ if mapRenewedContractCompanyNumServer[keyMap]+mapExpiredContractCompanyNumServer2[keyMap] == 0 || mapExpiredContractCompanyNumServer[keyMap] == 0 {
|
|
renewalRateNum = "0%"
|
|
renewalRateNum = "0%"
|
|
} else {
|
|
} else {
|
|
- renewalRateNum = utils.SubFloatToString(float64(mapRenewedContractCompanyNumServer[keyMap])/float64(mapExpiredContractCompanyNumServer[keyMap])*100, 2) + "%"
|
|
|
|
|
|
+ renewalRateNum = utils.SubFloatToString(float64(mapRenewedContractCompanyNumServer[keyMap]+mapExpiredContractCompanyNumServer2[keyMap])/float64(mapExpiredContractCompanyNumServer[keyMap])*100, 2) + "%"
|
|
}
|
|
}
|
|
sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum) //"续约率(金额/数量)-(数据)"
|
|
sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum) //"续约率(金额/数量)-(数据)"
|
|
sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.FormatNumberWithCommas(confirmedNoRenewalContractMoneyServer[keyMap], 2), " / ", confirmedNoRenewalContractNumServer[keyMap]) //"确认不续约合同(金额/数量)-(数据)"
|
|
sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.FormatNumberWithCommas(confirmedNoRenewalContractMoneyServer[keyMap], 2), " / ", confirmedNoRenewalContractNumServer[keyMap]) //"确认不续约合同(金额/数量)-(数据)"
|
|
@@ -950,15 +984,15 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoneyServer[keyMapTtoalServer], 2), " / ", mapRenewedContractNumServer[keyMapTtoalServer]) // "续约合同(金额/数量)-(数据)"
|
|
sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoneyServer[keyMapTtoalServer], 2), " / ", mapRenewedContractNumServer[keyMapTtoalServer]) // "续约合同(金额/数量)-(数据)"
|
|
var renewalRateMoey string
|
|
var renewalRateMoey string
|
|
var renewalRateNum string
|
|
var renewalRateNum string
|
|
- if mapRenewedContractMoneyServer[keyMapTtoalServer] == 0 || mapExpiredContractMoneyServer[keyMapTtoalServer] == 0 {
|
|
|
|
|
|
+ if mapRenewedContractMoneyServer[keyMapTtoalServer]+mapExpiredContractMoneyServer2[keyMapTtoalServer] == 0 || mapExpiredContractMoneyServer[keyMapTtoalServer] == 0 {
|
|
renewalRateMoey = "0%"
|
|
renewalRateMoey = "0%"
|
|
} else {
|
|
} else {
|
|
- renewalRateMoey = utils.SubFloatToString(mapRenewedContractMoneyServer[keyMapTtoalServer]/mapExpiredContractMoneyServer[keyMapTtoalServer]*100, 2) + "%"
|
|
|
|
|
|
+ renewalRateMoey = utils.SubFloatToString((mapRenewedContractMoneyServer[keyMapTtoalServer]+mapExpiredContractMoneyServer2[keyMapTtoalServer])/mapExpiredContractMoneyServer[keyMapTtoalServer]*100, 2) + "%"
|
|
}
|
|
}
|
|
- if mapRenewedContractCompanyNumServer[keyMapTtoalServer] == 0 || mapExpiredContractCompanyNumServer[keyMapTtoalServer] == 0 {
|
|
|
|
|
|
+ if mapRenewedContractCompanyNumServer[keyMapTtoalServer]+mapExpiredContractCompanyNumServer2[keyMapTtoalServer] == 0 || mapExpiredContractCompanyNumServer[keyMapTtoalServer] == 0 {
|
|
renewalRateNum = "0%"
|
|
renewalRateNum = "0%"
|
|
} else {
|
|
} else {
|
|
- renewalRateNum = utils.SubFloatToString(float64(mapRenewedContractCompanyNumServer[keyMapTtoalServer])/float64(mapExpiredContractCompanyNumServer[keyMapTtoalServer])*100, 2) + "%"
|
|
|
|
|
|
+ renewalRateNum = utils.SubFloatToString(float64(mapRenewedContractCompanyNumServer[keyMapTtoalServer]+mapExpiredContractCompanyNumServer2[keyMapTtoalServer])/float64(mapExpiredContractCompanyNumServer[keyMapTtoalServer])*100, 2) + "%"
|
|
}
|
|
}
|
|
sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum) //"续约率(金额/数量)-(数据)"
|
|
sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum) //"续约率(金额/数量)-(数据)"
|
|
sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.FormatNumberWithCommas(confirmedNoRenewalContractMoneyServer[keyMapTtoalServer], 2), " / ", confirmedNoRenewalContractNumServer[keyMapTtoalServer]) //"确认不续约合同(金额/数量)-(数据)"
|
|
sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.FormatNumberWithCommas(confirmedNoRenewalContractMoneyServer[keyMapTtoalServer], 2), " / ", confirmedNoRenewalContractNumServer[keyMapTtoalServer]) //"确认不续约合同(金额/数量)-(数据)"
|
|
@@ -1415,16 +1449,19 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
var renewedContractCompany float64 // 续约客户数
|
|
var renewedContractCompany float64 // 续约客户数
|
|
maprenewedContractCompany := make(map[int]bool)
|
|
maprenewedContractCompany := make(map[int]bool)
|
|
|
|
|
|
- var expiredContractMoney float64 //到期金额
|
|
|
|
- var expiredContractCompany float64 // 到期客户数
|
|
|
|
|
|
+ var expiredContractMoney float64 //到期金额
|
|
|
|
+ var expiredContractMoney2 float64 //到期金额
|
|
|
|
+ var expiredContractCompany float64 // 到期客户数
|
|
|
|
+ var expiredContractCompany2 float64 // 到期客户数
|
|
mapexpiredContractCompany := make(map[int]bool)
|
|
mapexpiredContractCompany := make(map[int]bool)
|
|
-
|
|
|
|
|
|
+ mapRenewedContractId := make(map[int]bool) // 出现在续约客户的合同
|
|
for _, v := range listRaiData {
|
|
for _, v := range listRaiData {
|
|
renewedContractMoney += v.Money
|
|
renewedContractMoney += v.Money
|
|
if !maprenewedContractCompany[v.CompanyId] {
|
|
if !maprenewedContractCompany[v.CompanyId] {
|
|
renewedContractCompany++
|
|
renewedContractCompany++
|
|
maprenewedContractCompany[v.CompanyId] = true
|
|
maprenewedContractCompany[v.CompanyId] = true
|
|
}
|
|
}
|
|
|
|
+ mapRenewedContractId[v.CompanyContractId] = true
|
|
//startDateTime := utils.StrDateToDate(v.StartDate)
|
|
//startDateTime := utils.StrDateToDate(v.StartDate)
|
|
//if startDateTime.Before(time.Now().AddDate(0, 0, -1)) { //到期合同数据
|
|
//if startDateTime.Before(time.Now().AddDate(0, 0, -1)) { //到期合同数据
|
|
// expiredContractMoney += v.Money
|
|
// expiredContractMoney += v.Money
|
|
@@ -1437,12 +1474,18 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
|
|
|
for _, v := range listEndData {
|
|
for _, v := range listEndData {
|
|
expiredContractMoney += v.Money
|
|
expiredContractMoney += v.Money
|
|
|
|
+ if v.Status == "永续" && v.ContractType == "打分派点" && !mapRenewedContractId[v.CompanyContractId] && v.RaiCountShowType != -1 {
|
|
|
|
+ expiredContractMoney2 += v.Money
|
|
|
|
+ }
|
|
if !mapexpiredContractCompany[v.CompanyId] {
|
|
if !mapexpiredContractCompany[v.CompanyId] {
|
|
expiredContractCompany++
|
|
expiredContractCompany++
|
|
|
|
+ if v.Status == "永续" && v.ContractType == "打分派点" && !mapRenewedContractId[v.CompanyContractId] && v.RaiCountShowType != -1 {
|
|
|
|
+ expiredContractCompany2++
|
|
|
|
+ }
|
|
mapexpiredContractCompany[v.CompanyId] = true
|
|
mapexpiredContractCompany[v.CompanyId] = true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ renewedContractMoney += expiredContractMoney2
|
|
item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
item.TbaleNameAText = "金额续约率"
|
|
item.TbaleNameAText = "金额续约率"
|
|
item.RenewedContractMoney = fmt.Sprint(utils.SubFloatToString(renewedContractMoney, 2))
|
|
item.RenewedContractMoney = fmt.Sprint(utils.SubFloatToString(renewedContractMoney, 2))
|
|
@@ -1454,7 +1497,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
}
|
|
}
|
|
|
|
|
|
listResp = append(listResp, item)
|
|
listResp = append(listResp, item)
|
|
-
|
|
|
|
|
|
+ renewedContractCompany += expiredContractCompany2
|
|
item2 := new(statistic_report.RaiDataSummaryDetailResp)
|
|
item2 := new(statistic_report.RaiDataSummaryDetailResp)
|
|
item2.TbaleNameAText = "客户续约率"
|
|
item2.TbaleNameAText = "客户续约率"
|
|
item2.RenewedContractMoney = fmt.Sprint(renewedContractCompany)
|
|
item2.RenewedContractMoney = fmt.Sprint(renewedContractCompany)
|