浏览代码

no message

xingzai 1 年之前
父节点
当前提交
de0d12aaf9
共有 2 个文件被更改,包括 74 次插入37 次删除
  1. 73 36
      controllers/statistic_company_merge.go
  2. 1 1
      models/statistic_report.go

+ 73 - 36
controllers/statistic_company_merge.go

@@ -840,6 +840,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 	pars = append(pars, 2)
 
 	var list []*models.IncrementalList
+	var listPessionGroup []*models.CompanyContractPermissionNameGroupCountResp
 
 	var newCompanyTotal int                   //新签合同数量
 	var notRenewalCompanyTotal int            //未续约客户数已确认
@@ -847,46 +848,36 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 	var dataTotal, trialTotal, renewalCompanyTotal int
 	var notRenewalTryOut, notRenewalNotTryOut int
 
-	if dataType == "行业未续约" {
-		condition += ` AND a.end_date >= ? AND a.end_date  <= ? `
-		pars = append(pars, startDate, endDate)
-	} else {
-		condition += ` AND a.start_date >= ? AND a.start_date <= ?  `
-		pars = append(pars, startDate, endDate)
-	}
-
-	conditionPerssion := condition
-	parsPerssion := pars
-	conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','买方研选')`
-
-	listPessionGroup, err := models.GetCompanyContractPermissionNameGroupCount(conditionPerssion, parsPerssion)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取失败,Err:" + err.Error()
-		return
-	}
+	//if dataType == "行业未续约" {
+	//	condition += ` AND a.end_date >= ? AND a.end_date  <= ? `
+	//	pars = append(pars, startDate, endDate)
+	//} else {
+	//	condition += ` AND a.start_date >= ? AND a.start_date <= ?  `
+	//	pars = append(pars, startDate, endDate)
+	//}
+	//
+	//conditionPerssion := condition
+	//parsPerssion := pars
+	//conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','买方研选')`
+	//
+	//listPessionGroup, err := models.GetCompanyContractPermissionNameGroupCount(conditionPerssion, parsPerssion)
+	//if err != nil && err.Error() != utils.ErrNoRow() {
+	//	br.Msg = "获取失败"
+	//	br.ErrMsg = "获取失败,Err:" + err.Error()
+	//	return
+	//}
 
-	//处理展示顺序
-	permissionNameSlice := []string{"医药", "消费", "科技", "智造", "策略", "买方研选"}
-	var itemspermissionNameSlice []*models.CompanyContractPermissionNameGroupCountResp
-	for _, vName := range permissionNameSlice {
-		for _, v := range listPessionGroup {
-			if v.PermissionName != vName {
-				continue
-			}
-			itemspermissionNameSlice = append(itemspermissionNameSlice, v)
-		}
-	}
 	if permissionName == "" {
 		condition += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','买方研选')`
 	}
 
+	var err error
 	//新签客户数
 	{
 		condition1 := condition
 		pars1 := pars
-		//condition1 += ` AND a.start_date >= ? AND a.start_date <= ?  `
-		//pars1 = append(pars1, startDate, endDate)
+		condition1 += ` AND a.start_date >= ? AND a.start_date <= ?  `
+		pars1 = append(pars1, startDate, endDate)
 		condition1 += ` AND d.contract_type = ? `
 		pars1 = append(pars1, "行业新签")
 		newCompanyTotal, err = company.GetIncrementalNewCompanyProductPermissionCount(condition1, pars1)
@@ -897,6 +888,17 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 		}
 
 		if dataType == "行业新签" {
+			conditionPerssion := condition1
+			parsPerssion := pars1
+			conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','买方研选')`
+
+			listPessionGroup, err = models.GetCompanyContractPermissionNameGroupCount(conditionPerssion, parsPerssion)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取失败,Err:" + err.Error()
+				return
+			}
+
 			//行业筛选查询
 			if permissionName != "" {
 				condition1 += ` AND  d.permission_name = ? `
@@ -926,8 +928,8 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 	{
 		condition1 := condition
 		pars1 := pars
-		//condition1 += ` AND a.start_date >= ? AND a.start_date <= ? `
-		//pars1 = append(pars1, startDate, endDate)
+		condition1 += ` AND a.start_date >= ? AND a.start_date <= ? `
+		pars1 = append(pars1, startDate, endDate)
 		condition1 += ` AND d.contract_type = ? `
 		pars1 = append(pars1, "行业续约")
 		////额外条件(续约合同的起始日期包含在所选时间段内且不包含在新签合同存续期内的客户)
@@ -939,9 +941,20 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 			br.ErrMsg = "获取失败,Err:" + err.Error()
 			return
 		}
+
 		renewalCompanyTotal = total
 
 		if dataType == "行业续约" {
+			conditionPerssion := condition1
+			parsPerssion := pars1
+			conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','买方研选')`
+
+			listPessionGroup, err = models.GetCompanyContractPermissionNameGroupCount(conditionPerssion, parsPerssion)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取失败,Err:" + err.Error()
+				return
+			}
 			//行业筛选查询
 			if permissionName != "" {
 				condition1 += ` AND  d.permission_name = ? `
@@ -972,8 +985,8 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 	{
 		condition1 := condition
 		pars1 := pars
-		//condition1 += ` AND a.end_date >= ? AND a.end_date  <= ? `
-		//pars1 = append(pars1, startDate, endDate)
+		condition1 += ` AND a.end_date >= ? AND a.end_date  <= ? `
+		pars1 = append(pars1, startDate, endDate)
 		condition1 += ` AND c.status not in ("永续","正式","关闭")  `
 
 		//未续约数量
@@ -987,12 +1000,21 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 			br.ErrMsg = "获取失败,Err:" + err.Error()
 			return
 		}
-		notRenewalCompanyTotal = total
 
 		condition1 += conditionAscribRai
 		pars1 = append(pars1, parsAscribeRai)
 		if dataType == "行业未续约" {
+			notRenewalCompanyTotal = total
+			conditionPerssion := condition1
+			parsPerssion := pars1
+			conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','买方研选')`
 
+			listPessionGroup, err = models.GetCompanyContractPermissionNameGroupCount(conditionPerssion, parsPerssion)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取失败,Err:" + err.Error()
+				return
+			}
 			//行业筛选查询
 			if permissionName != "" {
 				condition1 += ` AND  d.permission_name = ? `
@@ -1067,6 +1089,21 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 		v.PermissionName = mappermissionName[v.CompanyContractId]
 	}
 
+	//处理展示顺序
+	permissionNameSlice := []string{"医药", "消费", "科技", "智造", "策略", "买方研选"}
+	var itemspermissionNameSlice []*models.CompanyContractPermissionNameGroupCountResp
+	for _, vName := range permissionNameSlice {
+		item := new(models.CompanyContractPermissionNameGroupCountResp)
+		for _, v := range listPessionGroup {
+			if v.PermissionName != vName {
+				continue
+			}
+			item.Total = v.Total
+		}
+		item.PermissionName = vName
+		itemspermissionNameSlice = append(itemspermissionNameSlice, item)
+	}
+
 	page := paging.GetPaging(currentIndex, pageSize, dataTotal)
 	resp := response.IncrementalCompanyListResp{
 		Paging:                            page,

+ 1 - 1
models/statistic_report.go

@@ -924,7 +924,7 @@ type CompanyContractPermissionNameGroupCountResp struct {
 func GetCompanyContractPermissionNameGroupCount(condition string, pars []interface{}) (items []*CompanyContractPermissionNameGroupCountResp, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
-			count( 1 ) total,
+			COUNT( DISTINCT d.permission_name, d.company_contract_id ) total,
 			d.permission_name 
 		FROM
 			company_contract a