Browse Source

no message

zhangchuanxing 4 weeks ago
parent
commit
5e41daf90d

+ 75 - 20
controllers/statistic/rai_data_summary.go

@@ -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)
 		}
 	}

+ 1 - 0
models/statistic_report/rai_data_summary.go

@@ -17,6 +17,7 @@ type RaiDataSummaryDetail struct {
 	RenewedContractData              string `description:"续约合同(金额/数量)"`
 	RenewalRateData                  string `description:"续约率(金额/数量)"`
 	ConfirmedNoRenewalContractData   string `description:"确认不续约合同(金额/数量)"`
+	ConfirmNonRenewalRateData        string `description:"确认不续约率(金额/数量)"`
 	SignedClientCount                string `description:"签约客户数量"`
 	AverageRevenueCount              string `description:"客单价"`
 	InvoiceAmountCount               string `description:"开票金额"`

+ 1 - 1
routers/commentsRouter.go

@@ -8055,7 +8055,7 @@ func init() {
 
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/statistic:StatisticRaiDataSummaryController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/statistic:StatisticRaiDataSummaryController"],
         beego.ControllerComments{
-            Method: "MergeCompanyList",
+            Method: "RaiDataSummaryList",
             Router: `/rai_data_summary/list`,
             AllowHTTPMethods: []string{"get"},
             MethodParams: param.Make(),