rai_data_summary.go 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package statistic
  2. import (
  3. "fmt"
  4. "hongze/hz_crm_api/controllers"
  5. "hongze/hz_crm_api/models"
  6. "hongze/hz_crm_api/models/statistic_report"
  7. )
  8. // 权益数据汇总
  9. // StatisticRaiDataSummaryController 权益数据汇总基类
  10. type StatisticRaiDataSummaryController struct {
  11. controllers.BaseAuthController
  12. }
  13. // MergeCompanyList
  14. // @Title 权益客户统计列表(合同进行合并之后的)
  15. // @Description 权益客户统计列表接口
  16. // @Param AdminId query string true "销售id,多个用英文逗号隔开,空字符串为全部"
  17. // @Param StartYear query int false "开始日期(年份)"
  18. // @Param EndYear query int false "结束日期(年份)"
  19. // @Param DataType query string false "报表类型,枚举值:`季度`,`年度`,`半年度`"
  20. // @Param TryOutType query string false " '试用', '非试用' 非试用即为冻结/流失"
  21. // @Param IsExport query bool false "是否导出excel,默认是false"
  22. // @Param IsConfirm query int false "是否确认续约: -1-默认全部; 0-待确认; 1-已确认 ;2-到期合同"
  23. // @Success 200 {object} response.IncrementalCompanyListResp
  24. // @router /rai_data_summary/list [get]
  25. func (this *StatisticRaiDataSummaryController) MergeCompanyList() {
  26. br := new(models.BaseResponse).Init()
  27. defer func() {
  28. this.Data["json"] = br
  29. this.ServeJSON()
  30. }()
  31. sysUser := this.SysUser
  32. if sysUser == nil {
  33. br.Msg = "请登录"
  34. br.ErrMsg = "请登录,SysUser Is Empty"
  35. br.Ret = 408
  36. return
  37. }
  38. //adminId := this.GetString("AdminId")
  39. dataType := this.GetString("DataType")
  40. startYear, _ := this.GetInt("StartYear")
  41. endYear, _ := this.GetInt("EndYear")
  42. dataTypeArr := []string{}
  43. if dataType == "季度" {
  44. dataTypeArr = []string{"Q1", "Q2", "Q3", "Q4"}
  45. } else if dataType == "半年度" {
  46. dataTypeArr = []string{"H1", "H2"}
  47. } else {
  48. dataTypeArr = []string{""}
  49. }
  50. resp := new(statistic_report.RaiDataSummaryListResp)
  51. var items []*statistic_report.RaiDataSummaryResp
  52. for i := startYear; i <= endYear; i++ {
  53. //if len(dataTypeArr) > 0 {
  54. for _, Dv := range dataTypeArr {
  55. item := new(statistic_report.RaiDataSummaryResp)
  56. item.DataType = fmt.Sprint(i, Dv)
  57. sellerItem := new(statistic_report.RaiDataSummaryDetail)
  58. sellerItem.SellerName = "梁春悦"
  59. sellerItem.AddTrialCount = "新增试用-(数据)"
  60. sellerItem.NewContractData = "新签合同(金额/数量)-(数据)"
  61. sellerItem.ExpiredContractData = "到期合同(金额/数量)-(数据)"
  62. sellerItem.RenewedContractData = "续约合同(金额/数量)-(数据)"
  63. sellerItem.RenewalRateData = "续约率(金额/数量)-(数据)"
  64. sellerItem.ConfirmedNoRenewalContractData = "确认不续约合同(金额/数量)-(数据)"
  65. sellerItem.SignedClientCount = "签约客户数量-(数据)"
  66. sellerItem.AverageRevenueCount = "客单价-(数据)"
  67. sellerItem.InvoiceAmountCount = "开票金额-(数据)"
  68. sellerItem.PaymentReceivedCount = "到款金额-(数据)"
  69. sellerItem.UnpaidRatioCount = "未到款比例-(数据)"
  70. sellerItem.NewCustomerInvoicingCount = "新客开票-(数据)"
  71. sellerItem.NewCustomerPaymentsReceivedCount = "新客到款-(数据)"
  72. item.DataList = append(item.DataList, sellerItem)
  73. items = append(items, item)
  74. }
  75. }
  76. resp.List = items
  77. br.Ret = 200
  78. br.Success = true
  79. br.Msg = "获取成功"
  80. br.Data = resp
  81. }