|
@@ -5,6 +5,8 @@ import (
|
|
|
"hongze/hz_crm_api/controllers"
|
|
|
"hongze/hz_crm_api/models"
|
|
|
"hongze/hz_crm_api/models/statistic_report"
|
|
|
+ "hongze/hz_crm_api/models/system"
|
|
|
+ "strings"
|
|
|
)
|
|
|
|
|
|
// 权益数据汇总
|
|
@@ -14,8 +16,8 @@ type StatisticRaiDataSummaryController struct {
|
|
|
}
|
|
|
|
|
|
// MergeCompanyList
|
|
|
-// @Title 权益客户统计列表(合同进行合并之后的)
|
|
|
-// @Description 权益客户统计列表接口
|
|
|
+// @Title 权益数据汇总
|
|
|
+// @Description 权益数据汇总统计列表接口
|
|
|
// @Param AdminId query string true "销售id,多个用英文逗号隔开,空字符串为全部"
|
|
|
// @Param StartYear query int false "开始日期(年份)"
|
|
|
// @Param EndYear query int false "结束日期(年份)"
|
|
@@ -23,9 +25,9 @@ type StatisticRaiDataSummaryController struct {
|
|
|
// @Param TryOutType query string false " '试用', '非试用' 非试用即为冻结/流失"
|
|
|
// @Param IsExport query bool false "是否导出excel,默认是false"
|
|
|
// @Param IsConfirm query int false "是否确认续约: -1-默认全部; 0-待确认; 1-已确认 ;2-到期合同"
|
|
|
-// @Success 200 {object} response.IncrementalCompanyListResp
|
|
|
+// @Success 200 {object} statistic_report.RaiDataSummaryListResp
|
|
|
// @router /rai_data_summary/list [get]
|
|
|
-func (this *StatisticRaiDataSummaryController) MergeCompanyList() {
|
|
|
+func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
this.Data["json"] = br
|
|
@@ -54,6 +56,26 @@ func (this *StatisticRaiDataSummaryController) MergeCompanyList() {
|
|
|
dataTypeArr = []string{""}
|
|
|
}
|
|
|
|
|
|
+ condition := " AND role_type_code IN ('rai_seller','rai_group') AND enabled = 1 AND rai_enabled = 1"
|
|
|
+ var pars []interface{}
|
|
|
+ sellerList, err := system.GetSysUserItemsOrderByCreated(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取管理账号失败"
|
|
|
+ br.ErrMsg = "获取管理账号失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var sellerDevelop []*system.AdminItem // 开拓组销售
|
|
|
+ var sellerService []*system.AdminItem // 服务组销售
|
|
|
+ for _, v := range sellerList {
|
|
|
+ if strings.Contains(v.RealName, "6") {
|
|
|
+ sellerService = append(sellerService, v)
|
|
|
+ } else {
|
|
|
+ sellerDevelop = append(sellerDevelop, v)
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
resp := new(statistic_report.RaiDataSummaryListResp)
|
|
|
var items []*statistic_report.RaiDataSummaryResp
|
|
|
for i := startYear; i <= endYear; i++ {
|
|
@@ -61,22 +83,55 @@ func (this *StatisticRaiDataSummaryController) MergeCompanyList() {
|
|
|
for _, Dv := range dataTypeArr {
|
|
|
item := new(statistic_report.RaiDataSummaryResp)
|
|
|
item.DataType = fmt.Sprint(i, Dv)
|
|
|
- sellerItem := new(statistic_report.RaiDataSummaryDetail)
|
|
|
- sellerItem.SellerName = "梁春悦"
|
|
|
- sellerItem.AddTrialCount = "新增试用-(数据)"
|
|
|
- sellerItem.NewContractData = "新签合同(金额/数量)-(数据)"
|
|
|
- sellerItem.ExpiredContractData = "到期合同(金额/数量)-(数据)"
|
|
|
- sellerItem.RenewedContractData = "续约合同(金额/数量)-(数据)"
|
|
|
- sellerItem.RenewalRateData = "续约率(金额/数量)-(数据)"
|
|
|
- sellerItem.ConfirmedNoRenewalContractData = "确认不续约合同(金额/数量)-(数据)"
|
|
|
- sellerItem.SignedClientCount = "签约客户数量-(数据)"
|
|
|
- sellerItem.AverageRevenueCount = "客单价-(数据)"
|
|
|
- sellerItem.InvoiceAmountCount = "开票金额-(数据)"
|
|
|
- sellerItem.PaymentReceivedCount = "到款金额-(数据)"
|
|
|
- sellerItem.UnpaidRatioCount = "未到款比例-(数据)"
|
|
|
- sellerItem.NewCustomerInvoicingCount = "新客开票-(数据)"
|
|
|
- sellerItem.NewCustomerPaymentsReceivedCount = "新客到款-(数据)"
|
|
|
- item.DataList = append(item.DataList, sellerItem)
|
|
|
+ for _, vS := range sellerDevelop {
|
|
|
+ sellerItem := new(statistic_report.RaiDataSummaryDetail)
|
|
|
+ sellerItem.SellerName = vS.RealName
|
|
|
+ sellerItem.AddTrialCount = "新增试用-(数据)"
|
|
|
+ sellerItem.NewContractData = "新签合同(金额/数量)-(数据)"
|
|
|
+ sellerItem.ExpiredContractData = "到期合同(金额/数量)-(数据)"
|
|
|
+ sellerItem.RenewedContractData = "续约合同(金额/数量)-(数据)"
|
|
|
+ sellerItem.RenewalRateData = "续约率(金额/数量)-(数据)"
|
|
|
+ sellerItem.ConfirmedNoRenewalContractData = "确认不续约合同(金额/数量)-(数据)"
|
|
|
+ sellerItem.ConfirmNonRenewalRateData = "确认不续约率(金额/数量)-(数据)"
|
|
|
+ sellerItem.SignedClientCount = "签约客户数量-(数据)"
|
|
|
+ sellerItem.AverageRevenueCount = "客单价-(数据)"
|
|
|
+ sellerItem.InvoiceAmountCount = "开票金额-(数据)"
|
|
|
+ sellerItem.PaymentReceivedCount = "到款金额-(数据)"
|
|
|
+ sellerItem.UnpaidRatioCount = "未到款比例-(数据)"
|
|
|
+ sellerItem.NewCustomerInvoicingCount = "新客开票-(数据)"
|
|
|
+ sellerItem.NewCustomerPaymentsReceivedCount = "新客到款-(数据)"
|
|
|
+ item.DataList = append(item.DataList, sellerItem)
|
|
|
+ }
|
|
|
+ if len(sellerDevelop) > 0 {
|
|
|
+ sellerItem := new(statistic_report.RaiDataSummaryDetail)
|
|
|
+ sellerItem.SellerName = "开拓组合计"
|
|
|
+ item.DataList = append(item.DataList, sellerItem)
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, vS := range sellerService {
|
|
|
+ sellerItem := new(statistic_report.RaiDataSummaryDetail)
|
|
|
+ sellerItem.SellerName = vS.RealName
|
|
|
+ sellerItem.AddTrialCount = "新增试用-(数据)"
|
|
|
+ sellerItem.NewContractData = "新签合同(金额/数量)-(数据)"
|
|
|
+ sellerItem.ExpiredContractData = "到期合同(金额/数量)-(数据)"
|
|
|
+ sellerItem.RenewedContractData = "续约合同(金额/数量)-(数据)"
|
|
|
+ sellerItem.RenewalRateData = "续约率(金额/数量)-(数据)"
|
|
|
+ sellerItem.ConfirmedNoRenewalContractData = "确认不续约合同(金额/数量)-(数据)"
|
|
|
+ sellerItem.ConfirmNonRenewalRateData = "确认不续约率(金额/数量)-(数据)"
|
|
|
+ sellerItem.SignedClientCount = "签约客户数量-(数据)"
|
|
|
+ sellerItem.AverageRevenueCount = "客单价-(数据)"
|
|
|
+ sellerItem.InvoiceAmountCount = "开票金额-(数据)"
|
|
|
+ sellerItem.PaymentReceivedCount = "到款金额-(数据)"
|
|
|
+ sellerItem.UnpaidRatioCount = "未到款比例-(数据)"
|
|
|
+ sellerItem.NewCustomerInvoicingCount = "新客开票-(数据)"
|
|
|
+ sellerItem.NewCustomerPaymentsReceivedCount = "新客到款-(数据)"
|
|
|
+ item.DataList = append(item.DataList, sellerItem)
|
|
|
+ }
|
|
|
+ if len(sellerService) > 0 {
|
|
|
+ sellerItem := new(statistic_report.RaiDataSummaryDetail)
|
|
|
+ sellerItem.SellerName = "服务组合计"
|
|
|
+ item.DataList = append(item.DataList, sellerItem)
|
|
|
+ }
|
|
|
items = append(items, item)
|
|
|
}
|
|
|
}
|