|
@@ -96,6 +96,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
var sellerDevelop []*system.AdminItem // 开拓组销售
|
|
|
var sellerService []*system.AdminItem // 服务组销售
|
|
|
var sellerDevelopIds = make(map[int]bool) // 开拓组销售的map
|
|
|
+ mapsellerId := make(map[int]bool) // 权益销售map
|
|
|
for _, v := range sellerList {
|
|
|
if strings.Contains(v.RealName, "6") {
|
|
|
sellerService = append(sellerService, v)
|
|
@@ -103,6 +104,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
sellerDevelop = append(sellerDevelop, v)
|
|
|
sellerDevelopIds[v.AdminId] = true
|
|
|
}
|
|
|
+ mapsellerId[v.AdminId] = true
|
|
|
}
|
|
|
|
|
|
//拼接起始时间查询
|
|
@@ -185,6 +187,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
mapCompanyData := make(map[string]bool)
|
|
|
//新签部分的数据
|
|
|
for _, v := range listRaiData {
|
|
|
+ if !mapsellerId[v.SellerIdLast] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
startDateTime := utils.StrDateToDate(v.StartDate)
|
|
|
monthNum := startDateTime.Month()
|
|
|
yearStr := strconv.Itoa(startDateTime.Year())
|
|
@@ -259,6 +264,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
//续约部分的数据
|
|
|
mapKeyMapCompanyData := make(map[string]bool)
|
|
|
for _, v := range listInheritData {
|
|
|
+ if !mapsellerId[v.SellerIdLast] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
startDateTime := utils.StrDateToDate(v.InheritEndDate)
|
|
|
monthNum := startDateTime.Month()
|
|
|
yearStr := strconv.Itoa(startDateTime.Year())
|
|
@@ -305,6 +313,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
mapKeyMapCompanyEndData := make(map[string]bool)
|
|
|
mapKeyMapCompanyNoData := make(map[string]bool)
|
|
|
for _, v := range listEndData {
|
|
|
+ if !mapsellerId[v.SellerIdLast] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
startDateTime := utils.StrDateToDate(v.EndDate)
|
|
|
monthNum := startDateTime.Month()
|
|
|
yearStr := strconv.Itoa(startDateTime.Year())
|
|
@@ -368,6 +379,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
}
|
|
|
|
|
|
for _, v := range listFmsData {
|
|
|
+ if !mapsellerId[v.RaiSellerId] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
startDateTime := v.StartDate
|
|
|
monthNum := startDateTime.Month()
|
|
|
yearStr := strconv.Itoa(startDateTime.Year())
|
|
@@ -404,6 +418,8 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
mapPaymentAmountMoney[keyMapTtoal] += v.PaymentAmount
|
|
|
|
|
|
if v.ContractType == 1 {
|
|
|
+ mapNewCustomerInvoicingMoney[keyMap] += v.InvoicedAmount
|
|
|
+ mapNewCustomerPaymentsReceivedMoney[keyMap] += v.PaymentAmount
|
|
|
mapNewCustomerInvoicingMoney[keyMapTtoal] += v.InvoicedAmount
|
|
|
mapNewCustomerPaymentsReceivedMoney[keyMapTtoal] += v.PaymentAmount
|
|
|
}
|
|
@@ -926,7 +942,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
pars = append(pars, sellerId)
|
|
|
}
|
|
|
|
|
|
- condition += ` AND a.status = 1 AND a.inherit_end_date >= ? AND a.inherit_end_date <= ? AND inherit_company_contract_id > 0 `
|
|
|
+ condition += ` AND a.status = 1 AND a.inherit_end_date >= ? AND a.inherit_end_date <= ? AND a.inherit_company_contract_id > 0 `
|
|
|
pars = append(pars, startDate, endDate)
|
|
|
|
|
|
total, err := company.GetIncrementalNewCompanyProductMergeCount(condition, pars)
|
|
@@ -1121,12 +1137,17 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
|
|
|
case "确认不续约率":
|
|
|
noRenewedcompanyContractIdsMap := services.GetCompanyContractNoRenewedAscribeListMap()
|
|
|
+ var conditionEnd string
|
|
|
+ var parsEnd []interface{}
|
|
|
if sellerId > 0 {
|
|
|
condition += ` AND a.seller_id_last = ? `
|
|
|
pars = append(pars, sellerId)
|
|
|
+
|
|
|
+ conditionEnd += ` AND a.seller_id_last = ? `
|
|
|
+ parsEnd = append(parsEnd, sellerId)
|
|
|
}
|
|
|
|
|
|
- condition += ` AND a.product_id = 2 AND a.status = 1 AND a.start_date >= ? AND a.start_date <= ? AND a.end_date <= ? `
|
|
|
+ condition += ` AND a.product_id = 2 AND a.status = 1 AND a.end_date >= ? AND a.end_date <= ? AND a.end_date <= ? `
|
|
|
pars = append(pars, startDate, endDate, time.Now().Format(utils.FormatDate))
|
|
|
listRaiData, err := statistic_report.GetRaiDataSummaryList(condition, pars)
|
|
|
if err != nil {
|
|
@@ -1134,6 +1155,17 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ conditionEnd += ` AND a.product_id = 2 AND a.status = 1 AND a.end_date >= ? AND a.end_date <= ? AND a.end_date < ? `
|
|
|
+ parsEnd = append(parsEnd, startDate, endDate, time.Now().Format(utils.FormatDate))
|
|
|
+
|
|
|
+ listEndData, err := statistic_report.GetRaiDataSummaryList(conditionEnd, parsEnd)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据信息失败"
|
|
|
+ br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
var norenewedContractMoney float64 // 不续约金额
|
|
|
var norenewedContractCompany float64 // 不续约客户数
|
|
|
mapnorenewedContractCompany := make(map[int]bool)
|
|
@@ -1149,14 +1181,14 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
norenewedContractCompany++
|
|
|
mapnorenewedContractCompany[v.CompanyId] = true
|
|
|
}
|
|
|
- startDateTime := utils.StrDateToDate(v.StartDate)
|
|
|
- if startDateTime.Before(time.Now().AddDate(0, 0, -1)) { //到期合同数据
|
|
|
- expiredContractMoney += v.Money
|
|
|
- if !mapexpiredContractCompany[v.CompanyId] {
|
|
|
- expiredContractCompany++
|
|
|
- mapexpiredContractCompany[v.CompanyId] = true
|
|
|
- }
|
|
|
- }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range listEndData {
|
|
|
+ expiredContractMoney += v.Money
|
|
|
+ if !mapexpiredContractCompany[v.CompanyId] {
|
|
|
+ expiredContractCompany++
|
|
|
+ mapexpiredContractCompany[v.CompanyId] = true
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1183,9 +1215,14 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
listResp = append(listResp, item2)
|
|
|
|
|
|
case "签约客户数量":
|
|
|
+ var conditionInherit string
|
|
|
+ var parsInherit []interface{}
|
|
|
if sellerId > 0 {
|
|
|
condition += ` AND a.seller_id_last = ? `
|
|
|
pars = append(pars, sellerId)
|
|
|
+
|
|
|
+ conditionInherit += ` AND a.seller_id_last = ? `
|
|
|
+ parsInherit = append(parsInherit, sellerId)
|
|
|
}
|
|
|
condition += " AND a.product_id = 2 AND a.status = 1 AND a.start_date >= ? AND a.start_date <= ? "
|
|
|
pars = append(pars, startDate, endDate)
|
|
@@ -1196,6 +1233,16 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ //续约部分的数据
|
|
|
+ conditionInherit += " AND a.product_id = 2 AND a.status = 1 AND a.inherit_end_date >= ? AND a.inherit_end_date <= ? AND a.inherit_company_contract_id > 0 "
|
|
|
+ parsInherit = append(parsInherit, startDate, endDate)
|
|
|
+ listInheritData, err := statistic_report.GetRaiDataSummaryInheritList(conditionInherit, parsInherit)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据信息失败"
|
|
|
+ br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
var renewedContractCompany int // 续约客户数
|
|
|
var renewedContract int // 续约合同数
|
|
|
maprenewedContractCompany := make(map[int]bool)
|
|
@@ -1210,13 +1257,23 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
newContractCompany++
|
|
|
mapenewContractCompany[v.CompanyId] = true
|
|
|
}
|
|
|
- } else if v.RaiContractType == "续约合同" {
|
|
|
- renewedContract++
|
|
|
- if !maprenewedContractCompany[v.CompanyId] {
|
|
|
- renewedContractCompany++
|
|
|
- maprenewedContractCompany[v.CompanyId] = true
|
|
|
- }
|
|
|
}
|
|
|
+ //else if v.RaiContractType == "续约合同" {
|
|
|
+ // renewedContract++
|
|
|
+ // if !maprenewedContractCompany[v.CompanyId] {
|
|
|
+ // renewedContractCompany++
|
|
|
+ // maprenewedContractCompany[v.CompanyId] = true
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range listInheritData {
|
|
|
+ renewedContract++
|
|
|
+ if !maprenewedContractCompany[v.CompanyId] {
|
|
|
+ renewedContractCompany++
|
|
|
+ maprenewedContractCompany[v.CompanyId] = true
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
@@ -1242,10 +1299,14 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
|
|
|
var ontractMoney float64 // 签约总金额
|
|
|
var contractNum int // 签约客户数
|
|
|
+ mapCompany := make(map[int]bool)
|
|
|
|
|
|
for _, v := range listRaiData {
|
|
|
ontractMoney += v.Money
|
|
|
- contractNum++
|
|
|
+ if !mapCompany[v.CompanyId] {
|
|
|
+ contractNum++
|
|
|
+ mapCompany[v.CompanyId] = true
|
|
|
+ }
|
|
|
}
|
|
|
item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
|
item.ContractMoney = fmt.Sprint(utils.SubFloatToString(ontractMoney, 2))
|
|
@@ -1265,15 +1326,37 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ if len(listFmsData) > 0 {
|
|
|
+ var contractRegisterId []int
|
|
|
+ for _, v := range listFmsData {
|
|
|
+ contractRegisterId = append(contractRegisterId, v.ContractRegisterId)
|
|
|
+ }
|
|
|
+ lenArr := len(contractRegisterId)
|
|
|
+ var conditionFms string
|
|
|
+ var parsFms []interface{}
|
|
|
+ conditionFms += ` AND contract_register_id IN (` + utils.GetOrmInReplace(lenArr) + `) GROUP BY contract_register_id `
|
|
|
+ parsFms = append(parsFms, contractRegisterId)
|
|
|
+ listInvoiceData, err := fms.GetContractInvoiceList(conditionFms, parsFms, 0, lenArr)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据信息失败"
|
|
|
+ br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- for _, v := range listFmsData {
|
|
|
- item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
|
- item.CompanyName = v.CompanyName
|
|
|
- item.SellerName = v.RaiSellerName
|
|
|
- item.ContractCode = v.ContractCode
|
|
|
- item.InvoicedAmount = v.InvoicedAmount
|
|
|
- item.CreateTime = v.CreateTime.Format(utils.FormatDate)
|
|
|
- listResp = append(listResp, item)
|
|
|
+ mapInvoiceTime := make(map[int]string)
|
|
|
+ for _, v := range listInvoiceData {
|
|
|
+ mapInvoiceTime[v.ContractRegisterId] = v.InvoiceTime.Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range listFmsData {
|
|
|
+ item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
|
+ item.CompanyName = v.CompanyName
|
|
|
+ item.SellerName = v.RaiSellerName
|
|
|
+ item.ContractCode = v.ContractCode
|
|
|
+ item.InvoicedAmount = v.InvoicedAmount
|
|
|
+ item.CreateTime = mapInvoiceTime[v.ContractRegisterId]
|
|
|
+ listResp = append(listResp, item)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
case "到款金额":
|
|
@@ -1290,14 +1373,37 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- for _, v := range listFmsData {
|
|
|
- item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
|
- item.CompanyName = v.CompanyName
|
|
|
- item.SellerName = v.RaiSellerName
|
|
|
- item.ContractCode = v.ContractCode
|
|
|
- item.PaymentAmount = v.PaymentAmount
|
|
|
- item.CreateTime = v.CreateTime.Format(utils.FormatDate)
|
|
|
- listResp = append(listResp, item)
|
|
|
+ if len(listFmsData) > 0 {
|
|
|
+ var contractRegisterId []int
|
|
|
+ for _, v := range listFmsData {
|
|
|
+ contractRegisterId = append(contractRegisterId, v.ContractRegisterId)
|
|
|
+ }
|
|
|
+ lenArr := len(contractRegisterId)
|
|
|
+ var conditionFms string
|
|
|
+ var parsFms []interface{}
|
|
|
+ conditionFms += ` AND contract_register_id IN (` + utils.GetOrmInReplace(lenArr) + `) GROUP BY contract_register_id `
|
|
|
+ parsFms = append(parsFms, contractRegisterId)
|
|
|
+ listInvoiceData, err := fms.GetContractInvoiceList(conditionFms, parsFms, 0, lenArr)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据信息失败"
|
|
|
+ br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ mapInvoiceTime := make(map[int]string)
|
|
|
+ for _, v := range listInvoiceData {
|
|
|
+ mapInvoiceTime[v.ContractRegisterId] = v.InvoiceTime.Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range listFmsData {
|
|
|
+ item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
|
+ item.CompanyName = v.CompanyName
|
|
|
+ item.SellerName = v.RaiSellerName
|
|
|
+ item.ContractCode = v.ContractCode
|
|
|
+ item.PaymentAmount = v.PaymentAmount
|
|
|
+ item.CreateTime = v.CreateTime.Format(utils.FormatDate)
|
|
|
+ listResp = append(listResp, item)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
case "未到款比例":
|
|
@@ -1336,15 +1442,37 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ if len(listFmsData) > 0 {
|
|
|
+ var contractRegisterId []int
|
|
|
+ for _, v := range listFmsData {
|
|
|
+ contractRegisterId = append(contractRegisterId, v.ContractRegisterId)
|
|
|
+ }
|
|
|
+ lenArr := len(contractRegisterId)
|
|
|
+ var conditionFms string
|
|
|
+ var parsFms []interface{}
|
|
|
+ conditionFms += ` AND contract_register_id IN (` + utils.GetOrmInReplace(lenArr) + `) GROUP BY contract_register_id `
|
|
|
+ parsFms = append(parsFms, contractRegisterId)
|
|
|
+ listInvoiceData, err := fms.GetContractInvoiceList(conditionFms, parsFms, 0, lenArr)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据信息失败"
|
|
|
+ br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- for _, v := range listFmsData {
|
|
|
- item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
|
- item.CompanyName = v.CompanyName
|
|
|
- item.SellerName = v.RaiSellerName
|
|
|
- item.ContractCode = v.ContractCode
|
|
|
- item.PaymentAmount = v.PaymentAmount
|
|
|
- item.CreateTime = v.CreateTime.Format(utils.FormatDate)
|
|
|
- listResp = append(listResp, item)
|
|
|
+ mapInvoiceTime := make(map[int]string)
|
|
|
+ for _, v := range listInvoiceData {
|
|
|
+ mapInvoiceTime[v.ContractRegisterId] = v.InvoiceTime.Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range listFmsData {
|
|
|
+ item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
|
+ item.CompanyName = v.CompanyName
|
|
|
+ item.SellerName = v.RaiSellerName
|
|
|
+ item.ContractCode = v.ContractCode
|
|
|
+ item.InvoicedAmount = v.InvoicedAmount
|
|
|
+ item.CreateTime = mapInvoiceTime[v.ContractRegisterId]
|
|
|
+ listResp = append(listResp, item)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
case "新客到款":
|
|
@@ -1360,15 +1488,37 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ if len(listFmsData) > 0 {
|
|
|
+ var contractRegisterId []int
|
|
|
+ for _, v := range listFmsData {
|
|
|
+ contractRegisterId = append(contractRegisterId, v.ContractRegisterId)
|
|
|
+ }
|
|
|
+ lenArr := len(contractRegisterId)
|
|
|
+ var conditionFms string
|
|
|
+ var parsFms []interface{}
|
|
|
+ conditionFms += ` AND contract_register_id IN (` + utils.GetOrmInReplace(lenArr) + `) GROUP BY contract_register_id `
|
|
|
+ parsFms = append(parsFms, contractRegisterId)
|
|
|
+ listInvoiceData, err := fms.GetContractInvoiceList(conditionFms, parsFms, 0, lenArr)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据信息失败"
|
|
|
+ br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- for _, v := range listFmsData {
|
|
|
- item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
|
- item.CompanyName = v.CompanyName
|
|
|
- item.SellerName = v.RaiSellerName
|
|
|
- item.ContractCode = v.ContractCode
|
|
|
- item.PaymentAmount = v.PaymentAmount
|
|
|
- item.CreateTime = v.CreateTime.Format(utils.FormatDate)
|
|
|
- listResp = append(listResp, item)
|
|
|
+ mapInvoiceTime := make(map[int]string)
|
|
|
+ for _, v := range listInvoiceData {
|
|
|
+ mapInvoiceTime[v.ContractRegisterId] = v.InvoiceTime.Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range listFmsData {
|
|
|
+ item := new(statistic_report.RaiDataSummaryDetailResp)
|
|
|
+ item.CompanyName = v.CompanyName
|
|
|
+ item.SellerName = v.RaiSellerName
|
|
|
+ item.ContractCode = v.ContractCode
|
|
|
+ item.PaymentAmount = v.PaymentAmount
|
|
|
+ item.CreateTime = mapInvoiceTime[v.ContractRegisterId]
|
|
|
+ listResp = append(listResp, item)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|