package statistic import ( "fmt" "hongze/hz_crm_api/controllers" "hongze/hz_crm_api/models" "hongze/hz_crm_api/models/statistic_report" ) // 权益数据汇总 // StatisticRaiDataSummaryController 权益数据汇总基类 type StatisticRaiDataSummaryController struct { controllers.BaseAuthController } // MergeCompanyList // @Title 权益客户统计列表(合同进行合并之后的) // @Description 权益客户统计列表接口 // @Param AdminId query string true "销售id,多个用英文逗号隔开,空字符串为全部" // @Param StartYear query int false "开始日期(年份)" // @Param EndYear query int false "结束日期(年份)" // @Param DataType query string false "报表类型,枚举值:`季度`,`年度`,`半年度`" // @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 // @router /rai_data_summary/list [get] func (this *StatisticRaiDataSummaryController) MergeCompanyList() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } //adminId := this.GetString("AdminId") dataType := this.GetString("DataType") startYear, _ := this.GetInt("StartYear") endYear, _ := this.GetInt("EndYear") dataTypeArr := []string{} if dataType == "季度" { dataTypeArr = []string{"Q1", "Q2", "Q3", "Q4"} } else if dataType == "半年度" { dataTypeArr = []string{"H1", "H2"} } else { dataTypeArr = []string{""} } resp := new(statistic_report.RaiDataSummaryListResp) var items []*statistic_report.RaiDataSummaryResp for i := startYear; i <= endYear; i++ { //if len(dataTypeArr) > 0 { 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) items = append(items, item) } } resp.List = items br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp }