Эх сурвалжийг харах

Merge branch 'crm/crm_16.7' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

zhangchuanxing 2 долоо хоног өмнө
parent
commit
33f429bacf

+ 55 - 43
controllers/statistic/rai_data_summary.go

@@ -91,6 +91,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 	var sellerIds []string
 	var sellerServiceIds []string
 	condition = " AND role_type_code IN ('rai_seller','rai_group')    " + conditionEnSeller
+
 	sellerListAll, err := system.GetSysUserItemsOrderByCreated(condition, pars)
 	if err != nil {
 		br.Msg = "获取管理账号失败"
@@ -164,7 +165,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 	//新签部分的数据
 	var conditionRai string
 	var parsRai []interface{}
-	conditionRai = " AND  a.product_id = 2  AND  a.status = 1  AND  a.start_date >= ?  AND  a.start_date <= ? AND a.rai_contract_type = '新签合同'  "
+	conditionRai = " AND  a.product_id = 2  AND  a.status = 1  AND  a.start_date >= ?  AND  a.start_date <= ? AND a.rai_contract_type = '新签合同'  AND a.contract_type != '打分派点'  "
 	parsRai = append(parsRai, startDate, endDate)
 	listRaiData, err := statistic_report.GetRaiDataSummaryList(conditionRai, parsRai)
 	if err != nil {
@@ -181,7 +182,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 	//续约部分的数据
 	var conditionInherit string
 	var parsInherit []interface{}
-	conditionInherit = ` AND  a.product_id = 2  AND  a.status = 1  AND  a.inherit_end_date >= ?  AND  a.inherit_end_date <= ?  AND a.rai_contract_type = '续约合同'   AND  a.company_contract_id NOT IN (` + utils.GetOrmInReplace(len(companyContractIds)) + `) `
+	conditionInherit = ` AND  c.product_id = 2  AND  a.status = 1  AND  a.inherit_end_date >= ?  AND  a.inherit_end_date <= ?  AND a.rai_contract_type = '续约合同'   AND a.contract_type != '打分派点'  AND  a.company_contract_id NOT IN (` + utils.GetOrmInReplace(len(companyContractIds)) + `) `
 	parsInherit = append(parsInherit, startDate, endDate, companyContractIds)
 	listInheritData, err := statistic_report.GetRaiDataSummaryInheritList(conditionInherit, parsInherit)
 	if err != nil {
@@ -193,7 +194,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 	//确认不续约、到期合同部分的数据
 	var conditionEnd string
 	var parsEnd []interface{}
-	conditionEnd = " AND  a.product_id = 2  AND  a.status = 1  AND  a.due_end_date >= ?  AND  a.due_end_date <= ? AND  a.end_date < ? "
+	conditionEnd = " AND  c.product_id = 2  AND  a.status = 1 AND a.contract_type != '打分派点'  AND  a.due_end_date >= ?  AND  a.due_end_date <= ? AND  a.end_date < ? "
 	parsEnd = append(parsEnd, startDate, endDate, time.Now().Format(utils.FormatDate))
 	listEndData, err := statistic_report.GetRaiDataSummaryList(conditionEnd, parsEnd)
 	if err != nil {
@@ -253,6 +254,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 	var keyMapTtoal string
 	var keyMapTtoalServer string
 	var keyMapCompany string
+	var keyMapCompanyTotal string
 	var keyMapCompanyNo string
 	//var keyMapCompanyNoServer string
 	var keySigned string
@@ -396,6 +398,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 
 	//确认不续约、到期合同部分的数据
 	mapKeyMapCompanyEndData := make(map[string]bool)
+	mapKeyMapCompanyEndDataTotal := make(map[string]bool)
 	mapKeyMapCompanyNoData := make(map[string]bool)
 	//到期部分开拓组数据
 	for _, v := range listEndData {
@@ -409,6 +412,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 
 		keyMap = fmt.Sprint(yearStr, "_", v.SellerIdLast)
 		keyMapCompany = fmt.Sprint(yearStr, "_", v.SellerIdLast, "_CID_", v.CompanyId)
+		keyMapCompanyTotal = fmt.Sprint(yearStr, "_CID_", v.CompanyId)
 		keyMapCompanyNo = fmt.Sprint(yearStr, "_", v.SellerIdLast, "_CID_NO", v.CompanyId)
 		keyMapTtoal = fmt.Sprint(yearStr, "_Develop")
 
@@ -423,9 +427,12 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 		//一家公司同一个时间纬度,只统计一次
 		if !mapKeyMapCompanyEndData[keyMapCompany] {
 			mapExpiredContractCompanyNum[keyMap]++
-			mapExpiredContractCompanyNum[keyMapTtoal]++
 			mapKeyMapCompanyEndData[keyMapCompany] = true
 		}
+		if !mapKeyMapCompanyEndDataTotal[keyMapCompanyTotal] { //同一家共公司,在某个时段的多分合同下有不同的销售进行兼容
+			mapExpiredContractCompanyNum[keyMapTtoal]++
+			mapKeyMapCompanyEndDataTotal[keyMapCompanyTotal] = true
+		}
 
 		if mapNoRenewedcompanyContractIds[v.CompanyContractId] { // 确认不续约合同
 			confirmedNoRenewalContractMoney[keyMap] += v.Money
@@ -502,13 +509,14 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 		if !mapsellerDevelop[v.RaiSellerId] {
 			continue
 		}
+
 		yearStr := getYearStar(utils.StrDateToDate(v.InvoiceTime), dataType, isCustomizeDate)
 
 		keyMap = fmt.Sprint(yearStr, "_", v.RaiSellerId)
 		keyMapTtoal = fmt.Sprint(yearStr, "_Develop")
 
 		//开票记录
-		if v.InvoiceType == 1 {
+		if v.InvoiceType == 1 || v.InvoiceType == 3 {
 			mapInvoiceAmountMoney[keyMap] += v.Amount
 			mapInvoiceAmountMoney[keyMapTtoal] += v.Amount
 			if v.ContractType == 1 {
@@ -518,7 +526,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 		}
 
 		//到款记录
-		if v.InvoiceType == 2 {
+		if v.InvoiceType == 2 || v.InvoiceType == 4 {
 			mapPaymentAmountMoney[keyMap] += v.Amount
 			mapPaymentAmountMoney[keyMapTtoal] += v.Amount
 			if v.ContractType == 1 {
@@ -542,7 +550,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 		keyMapTtoal = fmt.Sprint(yearStr, "_Server_")
 
 		//开票记录
-		if v.InvoiceType == 1 {
+		if v.InvoiceType == 1 || v.InvoiceType == 3 {
 			mapInvoiceAmountMoney[keyMap] += v.Amount
 			mapInvoiceAmountMoney[keyMapTtoal] += v.Amount
 			if v.ContractType == 1 {
@@ -552,7 +560,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 		}
 
 		//到款记录
-		if v.InvoiceType == 2 {
+		if v.InvoiceType == 2 || v.InvoiceType == 4 {
 			mapPaymentAmountMoney[keyMap] += v.Amount
 			mapPaymentAmountMoney[keyMapTtoal] += v.Amount
 			if v.ContractType == 1 {
@@ -573,6 +581,10 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 		return
 	}
 	for _, v := range tryList {
+		sysUserId, _ := strconv.Atoi(v.SysUserId)
+		if !mapsellerService[sysUserId] && !mapsellerDevelop[sysUserId] {
+			continue
+		}
 
 		startDateTime := utils.StrTimeToTime(v.CreateTime)
 		monthNum := startDateTime.Month()
@@ -602,8 +614,8 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 		mapAddTrialNum[keyMap]++
 
 		//var keyMapTtoal string
-		sysUserId, _ := strconv.Atoi(v.SysUserId)
-		if sellerDevelopIds[sysUserId] == true {
+
+		if mapsellerDevelop[sysUserId] == true {
 			keyMapTtoal = fmt.Sprint(yearStr, "_Develop")
 		} else {
 			keyMapTtoal = fmt.Sprint(yearStr, "_Server_")
@@ -955,7 +967,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 		if sellerId != "" {
 			conditionNew += ` AND a.seller_id_init IN (` + sellerId + `) `
 		}
-		conditionNew += " AND  a.product_id = 2  AND  a.status = 1  AND  a.start_date >= ?  AND  a.start_date <= ? AND a.rai_contract_type = '新签合同'  "
+		conditionNew += " AND  a.product_id = 2  AND  a.status = 1  AND  a.start_date >= ?  AND  a.start_date <= ? AND a.rai_contract_type = '新签合同'  AND a.contract_type != '打分派点' "
 		parsNew = append(parsNew, startDate, endDate)
 		listNewData, err := statistic_report.GetRaiDataSummaryList(conditionNew, parsNew)
 		if err != nil {
@@ -1022,7 +1034,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 
 		}
 
-		condition += ` AND  a.status = 1  AND a.start_date >= ?  AND a.start_date <= ? 	AND a.product_id = 2   `
+		condition += ` AND  a.status = 1  AND a.start_date >= ?  AND a.start_date <= ? 	AND a.product_id = 2   AND a.contract_type != '打分派点' `
 		pars = append(pars, startDate, endDate)
 		condition += `  AND a.rai_contract_type = ? `
 		pars = append(pars, "新签合同")
@@ -1087,10 +1099,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			} else {
 				condition += ` AND a.seller_id_last  IN (` + sellerId + `) `
 			}
-
 		}
 
-		condition += ` 	AND a.product_id = 2  AND  a.status = 1  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.end_date < ? `
+		condition += ` 	AND a.product_id = 2  AND  a.status = 1  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.end_date < ?  AND a.contract_type != '打分派点' `
 		pars = append(pars, startDate, endDate, time.Now().Format(utils.FormatDate))
 
 		total, err := company.GetIncrementalNewCompanyProductMergeCount(condition, pars)
@@ -1151,7 +1162,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 				condition += ` AND a.seller_id_init  IN (` + sellerId + `) `
 			}
 		}
-		condition += ` AND  a.status = 1  AND a.inherit_end_date >= ?  AND a.inherit_end_date <= ?  AND  a.inherit_company_contract_id > 0  AND a.rai_contract_type = '续约合同'  AND a.company_contract_id NOT  IN (` + utils.GetOrmInReplace(lenArrCompany) + `)  `
+		condition += ` AND  a.status = 1  AND a.inherit_end_date >= ?  AND a.inherit_end_date <= ?  AND  a.inherit_company_contract_id > 0  AND a.rai_contract_type = '续约合同' AND a.contract_type != '打分派点'  AND a.company_contract_id NOT  IN (` + utils.GetOrmInReplace(lenArrCompany) + `)  `
 		pars = append(pars, startDate, endDate, companyContractIdsNew)
 
 		total, err := company.GetIncrementalNewCompanyProductMergeCount(condition, pars)
@@ -1217,7 +1228,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			}
 		}
 
-		condition += ` AND  a.status = 1  AND a.inherit_end_date >= ?  AND a.inherit_end_date <= ?  AND  inherit_company_contract_id > 0    AND a.rai_contract_type = '续约合同' AND a.company_contract_id NOT  IN (` + utils.GetOrmInReplace(lenArrCompany) + `)  `
+		condition += ` AND  a.status = 1  AND a.inherit_end_date >= ?  AND a.inherit_end_date <= ?  AND  inherit_company_contract_id > 0    AND a.rai_contract_type = '续约合同' AND a.contract_type != '打分派点' AND a.company_contract_id NOT  IN (` + utils.GetOrmInReplace(lenArrCompany) + `)  `
 		pars = append(pars, startDate, endDate, companyContractIdsNew)
 		listRaiData, err := statistic_report.GetRaiDataSummaryList(condition, pars)
 		if err != nil {
@@ -1227,7 +1238,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 		}
 
 		//到期合同数据
-		conditionEnd += ` AND  a.status = 1  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.end_date < ? `
+		conditionEnd += ` AND  a.status = 1   AND a.contract_type != '打分派点' AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.end_date < ? `
 		parsEnd = append(parsEnd, startDate, endDate, time.Now().Format(utils.FormatDate))
 		listEndData, err := statistic_report.GetRaiDataSummaryList(conditionEnd, parsEnd)
 		if err != nil {
@@ -1303,7 +1314,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 				condition += ` AND a.seller_id_last  IN (` + sellerId + `) `
 			}
 		}
-		condition += ` AND  a.product_id = 2  AND  a.status = 1  AND a.end_date >= ?  AND a.end_date <= ?  AND a.end_date <= ?  `
+		condition += ` AND  a.product_id = 2  AND  a.status = 1 AND a.contract_type != '打分派点'  AND a.due_end_date >= ?  AND a.due_end_date <= ?  AND a.due_end_date <= ?  `
 		pars = append(pars, startDate, endDate, time.Now().Format(utils.FormatDate))
 
 		total, err := company.GetIncrementalNewCompanyProductMergeCount(condition, pars)
@@ -1374,7 +1385,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 
 		}
 
-		condition += ` AND  a.product_id = 2  AND  a.status = 1  AND  a.end_date >= ?  AND  a.end_date <= ? AND a.end_date <= ?  `
+		condition += ` AND  a.product_id = 2  AND  a.status = 1 AND a.contract_type != '打分派点'  AND  a.end_date >= ?  AND  a.end_date <= ? AND a.end_date <= ?  `
 		pars = append(pars, startDate, endDate, time.Now().Format(utils.FormatDate))
 		listRaiData, err := statistic_report.GetRaiDataSummaryList(condition, pars)
 		if err != nil {
@@ -1383,7 +1394,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			return
 		}
 
-		conditionEnd += `  AND  a.product_id = 2  AND  a.status = 1  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.end_date < ? `
+		conditionEnd += `  AND  a.product_id = 2  AND  a.status = 1  AND a.contract_type != '打分派点'  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.end_date < ? `
 		parsEnd = append(parsEnd, startDate, endDate, time.Now().Format(utils.FormatDate))
 
 		listEndData, err := statistic_report.GetRaiDataSummaryList(conditionEnd, parsEnd)
@@ -1453,7 +1464,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 				conditionInherit += ` AND a.seller_id_last  IN (` + sellerId + `) `
 			}
 		}
-		condition += " AND  a.product_id = 2  AND  a.status = 1  AND  a.start_date >= ?  AND  a.start_date <= ?  AND a.rai_contract_type = '新签合同' "
+		condition += " AND  a.product_id = 2  AND  a.status = 1  AND  a.start_date >= ?  AND  a.start_date <= ?  AND a.rai_contract_type = '新签合同' AND a.contract_type != '打分派点' "
 		pars = append(pars, startDate, endDate)
 		listRaiData, err := statistic_report.GetRaiDataSummaryList(condition, pars)
 		if err != nil {
@@ -1463,7 +1474,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 		}
 
 		//续约部分的数据
-		conditionInherit += ` AND  a.product_id = 2  AND  a.status = 1  AND  a.inherit_end_date >= ?  AND  a.inherit_end_date <= ? AND  a.inherit_company_contract_id > 0  AND a.rai_contract_type = '续约合同'  AND a.company_contract_id NOT  IN (` + utils.GetOrmInReplace(lenArrCompany) + `)  `
+		conditionInherit += ` AND  a.product_id = 2  AND  a.status = 1  AND  a.inherit_end_date >= ?  AND  a.inherit_end_date <= ? AND  a.inherit_company_contract_id > 0  AND a.rai_contract_type = '续约合同' AND a.contract_type != '打分派点'  AND a.company_contract_id NOT  IN (` + utils.GetOrmInReplace(lenArrCompany) + `)  `
 		parsInherit = append(parsInherit, startDate, endDate, companyContractIdsNew)
 		listInheritData, err := statistic_report.GetRaiDataSummaryInheritList(conditionInherit, parsInherit)
 		if err != nil {
@@ -1526,7 +1537,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			}
 
 		}
-		condition += " AND  a.product_id = 2  AND  a.status = 1  AND  a.start_date >= ?  AND  a.start_date <= ? AND a.rai_contract_type = '新签合同'  "
+		condition += " AND  a.product_id = 2  AND  a.status = 1  AND  a.start_date >= ?  AND  a.start_date <= ? AND a.rai_contract_type = '新签合同'  AND a.contract_type != '打分派点' "
 		pars = append(pars, startDate, endDate)
 		listRaiData, err := statistic_report.GetRaiDataSummaryList(condition, pars)
 		if err != nil {
@@ -1549,7 +1560,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 				mapCompany[v.CompanyId] = true
 			}
 		}
-		conditionInherit += ` AND  a.product_id = 2  AND  a.status = 1  AND  a.inherit_end_date >= ?  AND  a.inherit_end_date <= ?  AND a.rai_contract_type = '续约合同'   AND a.company_contract_id NOT  IN (` + utils.GetOrmInReplace(lenArrCompany) + `)  `
+		conditionInherit += ` AND  a.product_id = 2  AND  a.status = 1  AND  a.inherit_end_date >= ?  AND  a.inherit_end_date <= ?  AND a.rai_contract_type = '续约合同'  AND a.contract_type != '打分派点'  AND a.company_contract_id NOT  IN (` + utils.GetOrmInReplace(lenArrCompany) + `)  `
 		parsInherit = append(parsInherit, startDate, endDate, companyContractIdsNew)
 		listInheritData, err := statistic_report.GetRaiDataSummaryInheritList(conditionInherit, parsInherit)
 		if err != nil {
@@ -1573,9 +1584,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 
 	case "开票金额":
 		if sellerId != "" {
-			condition += ` AND a.rai_seller_id  IN (` + sellerId + `) `
+			condition += ` AND a.seller_id  IN (` + sellerId + `) `
 		}
-		condition += " AND  a.is_deleted = 0    AND  a.invoiced_amount > 0  AND b.invoice_type = 1   AND  b.invoice_time >= ?  AND  b.invoice_time <= ?   "
+		condition += " AND  a.is_deleted = 0    AND a.invoice_type IN  (1,3)   AND  a.invoice_time >= ?  AND  a.invoice_time <= ?   "
 		pars = append(pars, startDate, endDate)
 		total, err := fms.GetContractInvoiceCount(condition, pars)
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -1584,7 +1595,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			return
 		}
 		trialTotal = total
-		condition += " GROUP BY b.contract_invoice_id   ORDER BY invoice_time  DESC "
+		condition += " GROUP BY a.contract_invoice_id   ORDER BY a.invoice_time  DESC ,a.contract_register_id DESC  "
 		listFmsData, err := fms.GetContractRegisterList(condition, pars, startSize, pageSize)
 		if err != nil {
 			br.Msg = "获取数据信息失败"
@@ -1595,7 +1606,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			for _, v := range listFmsData {
 				item := new(statistic_report.RaiDataSummaryDetailResp)
 				item.CompanyName = v.CompanyName
-				item.SellerName = v.RaiSellerName
+				item.SellerName = v.SellerName
 				item.ContractCode = v.ContractCode
 				item.InvoicedAmount = v.Amount
 				item.CreateTime = v.InvoiceTime
@@ -1605,9 +1616,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 
 	case "到款金额":
 		if sellerId != "" {
-			condition += ` AND a.rai_seller_id  IN (` + sellerId + `) `
+			condition += ` AND a.seller_id  IN (` + sellerId + `) `
 		}
-		condition += " AND  a.is_deleted = 0    AND  a.payment_amount > 0  AND b.invoice_type = 2   AND  b.invoice_time >= ?  AND  b.invoice_time <= ?   "
+		condition += " AND  a.is_deleted = 0    AND a.invoice_type IN  (2,4)   AND  a.invoice_time >= ?  AND  a.invoice_time <= ?   "
 		pars = append(pars, startDate, endDate)
 		total, err := fms.GetContractInvoiceCount(condition, pars)
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -1616,7 +1627,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			return
 		}
 		trialTotal = total
-		condition += " GROUP BY b.contract_invoice_id   ORDER BY invoice_time  DESC "
+		condition += " GROUP BY a.contract_invoice_id   ORDER BY invoice_time  DESC ,a.contract_register_id DESC "
 		listFmsData, err := fms.GetContractRegisterList(condition, pars, startSize, pageSize)
 		if err != nil {
 			br.Msg = "获取数据信息失败"
@@ -1627,7 +1638,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			for _, v := range listFmsData {
 				item := new(statistic_report.RaiDataSummaryDetailResp)
 				item.CompanyName = v.CompanyName
-				item.SellerName = v.RaiSellerName
+				item.SellerName = v.SellerName
 				item.ContractCode = v.ContractCode
 				item.PaymentAmount = v.Amount
 				item.CreateTime = v.InvoiceTime
@@ -1637,14 +1648,14 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 
 	case "未到款比例":
 		if sellerId != "" {
-			condition += ` AND a.rai_seller_id  IN (` + sellerId + `) `
+			condition += ` AND a.seller_id  IN (` + sellerId + `) `
 		}
 		var condition2 string
 		var pars2 []interface{}
-		condition2 = condition + " AND  a.is_deleted = 0    AND  a.payment_amount > 0  AND b.invoice_type = 2   AND  b.invoice_time >= ?  AND  b.invoice_time <= ?   "
+		condition2 = condition + " AND  a.is_deleted = 0      AND a.invoice_type  IN  (2,4)   AND  a.invoice_time >= ?  AND  a.invoice_time <= ?   "
 		pars2 = append(pars2, startDate, endDate)
 
-		condition += " AND  a.is_deleted = 0    AND  a.invoiced_amount > 0  AND b.invoice_type = 1   AND  b.invoice_time >= ?  AND  b.invoice_time <= ?   "
+		condition += " AND  a.is_deleted = 0   AND a.invoice_type IN  (1,3)   AND  a.invoice_time >= ?  AND  a.invoice_time <= ?   "
 		pars = append(pars, startDate, endDate)
 		amount1, err := fms.GetContractInvoiceAmountCount(condition, pars) //开票金额总计
 		if err != nil {
@@ -1668,9 +1679,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 
 	case "新客开票":
 		if sellerId != "" {
-			condition += ` AND a.rai_seller_id  IN (` + sellerId + `) `
+			condition += ` AND a.seller_id  IN (` + sellerId + `) `
 		}
-		condition += " AND  a.is_deleted = 0    AND  a.contract_type = 1 AND  a.invoiced_amount > 0  AND b.invoice_type = 1   AND  b.invoice_time >= ?  AND  b.invoice_time <= ?   "
+		condition += ` AND  a.is_deleted = 0   AND  b.contract_type = 1  AND a.invoice_type IN  (1,3)   AND  a.invoice_time >= ?  AND  a.invoice_time <= ?  `
 		pars = append(pars, startDate, endDate)
 		total, err := fms.GetContractInvoiceCount(condition, pars)
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -1679,8 +1690,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			return
 		}
 		trialTotal = total
-		condition += " GROUP BY b.contract_invoice_id   ORDER BY invoice_time  DESC "
+		condition += " GROUP BY a.contract_invoice_id   ORDER BY a.invoice_time  DESC  ,a.contract_register_id DESC "
 		listFmsData, err := fms.GetContractRegisterList(condition, pars, startSize, pageSize)
+
 		if err != nil {
 			br.Msg = "获取数据信息失败"
 			br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
@@ -1690,7 +1702,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			for _, v := range listFmsData {
 				item := new(statistic_report.RaiDataSummaryDetailResp)
 				item.CompanyName = v.CompanyName
-				item.SellerName = v.RaiSellerName
+				item.SellerName = v.SellerName
 				item.ContractCode = v.ContractCode
 				item.InvoicedAmount = v.Amount
 				item.CreateTime = v.InvoiceTime
@@ -1700,9 +1712,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 
 	case "新客到款":
 		if sellerId != "" {
-			condition += ` AND a.rai_seller_id  IN (` + sellerId + `) `
+			condition += ` AND a.seller_id  IN (` + sellerId + `) `
 		}
-		condition += " AND  a.is_deleted = 0    AND a.contract_type = 1   AND  a.payment_amount > 0  AND b.invoice_type = 2   AND  b.invoice_time >= ?  AND  b.invoice_time <= ?   "
+		condition += ` AND  a.is_deleted = 0   AND  b.contract_type = 1  AND a.invoice_type IN  (2,4)   AND  a.invoice_time >= ?  AND  a.invoice_time <= ?   `
 		pars = append(pars, startDate, endDate)
 		total, err := fms.GetContractInvoiceCount(condition, pars)
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -1711,7 +1723,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			return
 		}
 		trialTotal = total
-		condition += " GROUP BY b.contract_invoice_id   ORDER BY invoice_time  DESC "
+		condition += ` GROUP BY a.contract_invoice_id   ORDER BY a.invoice_time  DESC  ,a.contract_register_id DESC `
 		listFmsData, err := fms.GetContractRegisterList(condition, pars, startSize, pageSize)
 		if err != nil {
 			br.Msg = "获取数据信息失败"
@@ -1722,7 +1734,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			for _, v := range listFmsData {
 				item := new(statistic_report.RaiDataSummaryDetailResp)
 				item.CompanyName = v.CompanyName
-				item.SellerName = v.RaiSellerName
+				item.SellerName = v.SellerName
 				item.ContractCode = v.ContractCode
 				item.PaymentAmount = v.Amount
 				item.CreateTime = v.InvoiceTime

+ 20 - 18
models/fms/invoice_payment_summary.go

@@ -163,6 +163,7 @@ type InvoiceSummary struct {
 type ContractRegisterRaiData struct {
 	CompanyName   string  `gorm:"column:company_name" json:"company_name" description:"客户名称"`
 	ContractCode  string  `gorm:"column:contract_code" json:"contract_code" description:"合同编号"`
+	SellerName    string  `gorm:"column:seller_name" json:"seller_name" description:"CRM系统-权益销售名称"`
 	RaiSellerName string  `gorm:"column:rai_seller_name" json:"rai_seller_name" description:"CRM系统-权益销售名称"`
 	RaiSellerId   int     `gorm:"column:rai_seller_id" json:"rai_seller_id"  description:"CRM系统-权益销售ID"`
 	Amount        float64 `json:"amount" description:"分配金额"`
@@ -175,13 +176,14 @@ type ContractRegisterRaiData struct {
 func GetContractRegisterList(condition string, pars []interface{}, startSize, pageSize int) (items []*ContractRegisterRaiData, err error) {
 	o := orm.NewOrmUsingDB("fms")
 	sql := `SELECT 
-    		a.company_name,
-			a.rai_seller_name,
-			a.contract_code,
-			b.amount,
-			b.invoice_time 
-		 FROM contract_register  as a 
-         INNER JOIN contract_invoice as b ON a.contract_register_id = b.contract_register_id  
+			a.amount,
+			a.invoice_time ,
+			a.seller_name ,
+			b.company_name,
+			b.rai_seller_name,
+			b.contract_code
+		 FROM contract_invoice   as a 
+         INNER JOIN contract_register as b ON a.contract_register_id = b.contract_register_id  
          WHERE 1= 1 `
 	if condition != "" {
 		sql += condition
@@ -227,8 +229,8 @@ func GetContractInvoiceList(condition string, pars []interface{}, startSize, pag
 // 获取数量
 func GetContractInvoiceCount(condition string, pars []interface{}) (count int, err error) {
 	o := orm.NewOrmUsingDB("fms")
-	sqlCount := ` SELECT COUNT(1) AS count  FROM contract_register as a
-                  INNER JOIN contract_invoice as b ON a.contract_register_id = b.contract_register_id  
+	sqlCount := ` SELECT COUNT(1) AS count   FROM  contract_invoice as a
+                  INNER JOIN contract_register  as b ON a.contract_register_id = b.contract_register_id  
                   WHERE 1= 1  `
 	if condition != "" {
 		sqlCount += condition
@@ -241,8 +243,8 @@ func GetContractInvoiceCount(condition string, pars []interface{}) (count int, e
 func GetContractInvoiceAmountCount(condition string, pars []interface{}) (amount float64, err error) {
 	o := orm.NewOrmUsingDB("fms")
 	sql := `SELECT
-			SUM( amount ) AS amount FROM contract_register  as a
-			INNER JOIN contract_invoice as b ON a.contract_register_id = b.contract_register_id  
+			SUM( amount ) AS amount FROM contract_invoice    as a
+			INNER JOIN contract_register as b ON a.contract_register_id = b.contract_register_id  
 			WHERE 1= 1  `
 	if condition != "" {
 		sql += condition
@@ -255,13 +257,13 @@ func GetContractInvoiceAmountCount(condition string, pars []interface{}) (amount
 func GetContractRegisterListByStartDate(startDate, endDate string) (results []*ContractRegisterRaiData, err error) {
 	o := orm.NewOrmUsingDB("fms")
 	sql := `SELECT 
-			a.rai_seller_id,
-			a.contract_type,
-			b.amount,
-			b.invoice_time,
-			b.invoice_type
-		 FROM contract_register  as a 
-         INNER JOIN contract_invoice as b ON a.contract_register_id = b.contract_register_id    AND a.is_deleted = 0  AND  b.invoice_time >= ?  AND  b.invoice_time <= ?    `
+			a.seller_id as  rai_seller_id ,
+			b.contract_type,
+			a.amount,
+			a.invoice_time,
+			a.invoice_type
+		 FROM contract_invoice   as a 
+         INNER JOIN contract_register as b ON a.contract_register_id = b.contract_register_id    AND a.is_deleted = 0  AND  a.invoice_time >= ?  AND  a.invoice_time <= ?    `
 	_, err = o.Raw(sql, startDate, endDate).QueryRows(&results)
 	return
 }

+ 6 - 4
models/statistic_report.go

@@ -966,14 +966,16 @@ type CompanyContractGroupList struct {
 func GetCompanyContractGroupList(condition string, pars []interface{}) (items []*CompanyContractGroupList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
-			company_id,
-			COUNT( company_id )  company_count 
+			a.company_id,
+			COUNT( a.company_id )  company_count 
 		FROM
-			company_contract AS a  WHERE  product_id = 2  `
+			company_contract AS a  
+		INNER  JOIN company_product  AS b ON a.company_id = b.company_id 
+		WHERE  b.product_id = 2   `
 	if condition != "" {
 		sql += condition
 	}
-	sql += ` GROUP BY company_id `
+	sql += ` GROUP BY a.company_id `
 	_, err = o.Raw(sql, pars).QueryRows(&items)
 	return
 }

+ 2 - 1
models/statistic_report/rai_data_summary.go

@@ -113,8 +113,9 @@ func GetRaiDataSummaryList(condition string, pars []interface{}) (items []*Incre
 			   a.share_seller_last,
 			   a.share_seller_id_last
        FROM company_contract a
+    	INNER JOIN  company_product c ON a.company_id = c.company_id and a.product_id=c.product_id and  c.product_id = 2 
 	   JOIN company b ON a.company_id = b.company_id
-	   JOIN company_product c ON a.company_id = c.company_id and a.product_id=c.product_id WHERE 1 = 1 `
+	   WHERE 1 = 1 `
 	if condition != "" {
 		sql += condition
 	}