Browse Source

no message

zhangchuanxing 1 week ago
parent
commit
b77796c80c
2 changed files with 66 additions and 40 deletions
  1. 40 40
      controllers/statistic/rai_data_summary.go
  2. 26 0
      utils/common.go

+ 40 - 40
controllers/statistic/rai_data_summary.go

@@ -653,9 +653,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				sellerIds = append(sellerIds, sellerItem.SellerId)
 				sellerItem.SellerName = vS.RealName
 				sellerItem.AddTrialCount = fmt.Sprint(mapAddTrialNum[keyMap])
-				sellerItem.NewContractData = fmt.Sprint(utils.SubFloatToString(mapNewContractMoney[keyMap], 2), " / ", mapNewContractNum[keyMap])             // 新签合同(金额/数量)-(数据)
-				sellerItem.ExpiredContractData = fmt.Sprint(utils.SubFloatToString(mapExpiredContractMoney[keyMap], 2), " / ", mapExpiredContractNum[keyMap]) //"到期合同(金额/数量)-(数据)"
-				sellerItem.RenewedContractData = fmt.Sprint(utils.SubFloatToString(mapRenewedContractMoney[keyMap], 2), " / ", mapRenewedContractNum[keyMap]) // "续约合同(金额/数量)-(数据)"
+				sellerItem.NewContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapNewContractMoney[keyMap], 2), " / ", mapNewContractNum[keyMap])             // 新签合同(金额/数量)-(数据)
+				sellerItem.ExpiredContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapExpiredContractMoney[keyMap], 2), " / ", mapExpiredContractNum[keyMap]) //"到期合同(金额/数量)-(数据)"
+				sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoney[keyMap], 2), " / ", mapRenewedContractNum[keyMap]) // "续约合同(金额/数量)-(数据)"
 				var renewalRateMoey string
 				var renewalRateNum string
 				if mapRenewedContractMoney[keyMap] == 0 || mapExpiredContractMoney[keyMap] == 0 {
@@ -668,8 +668,8 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				} else {
 					renewalRateNum = utils.SubFloatToString(float64(mapRenewedContractCompanyNum[keyMap])/float64(mapExpiredContractCompanyNum[keyMap])*100, 2) + "%"
 				}
-				sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum)                                                                                          //"续约率(金额/数量)-(数据)"
-				sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.SubFloatToString(confirmedNoRenewalContractMoney[keyMap], 2), " / ", confirmedNoRenewalContractNum[keyMap]) //"确认不续约合同(金额/数量)-(数据)"
+				sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum)                                                                                                //"续约率(金额/数量)-(数据)"
+				sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.FormatNumberWithCommas(confirmedNoRenewalContractMoney[keyMap], 2), " / ", confirmedNoRenewalContractNum[keyMap]) //"确认不续约合同(金额/数量)-(数据)"
 
 				var confirmNonRenewalRateMoey string
 				var confirmNonRenewalRateNum string
@@ -689,18 +689,18 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				if mapSignedClientNum[keyMap] == 0 || mapSignedClientMoney[keyMap] == 0 {
 					sellerItem.AverageRevenueCount = "0"
 				} else {
-					sellerItem.AverageRevenueCount = utils.SubFloatToString(mapSignedClientMoney[keyMap]/float64(mapSignedClientNum[keyMap]), 2) //客单价
+					sellerItem.AverageRevenueCount = utils.FormatNumberWithCommas(mapSignedClientMoney[keyMap]/float64(mapSignedClientNum[keyMap]), 2) //客单价
 				}
 
-				sellerItem.InvoiceAmountCount = utils.SubFloatToString(mapInvoiceAmountMoney[keyMap], 2)   //"开票金额-(数据)"
-				sellerItem.PaymentReceivedCount = utils.SubFloatToString(mapPaymentAmountMoney[keyMap], 2) //"开票金额-(数据)"
+				sellerItem.InvoiceAmountCount = utils.FormatNumberWithCommas(mapInvoiceAmountMoney[keyMap], 2)   //"开票金额-(数据)"
+				sellerItem.PaymentReceivedCount = utils.FormatNumberWithCommas(mapPaymentAmountMoney[keyMap], 2) //"开票金额-(数据)"
 				if mapInvoiceAmountMoney[keyMap] == 0 || mapPaymentAmountMoney[keyMap] == 0 {
 					sellerItem.UnpaidRatioCount = "0%"
 				} else {
 					sellerItem.UnpaidRatioCount = utils.SubFloatToString((mapInvoiceAmountMoney[keyMap]-mapPaymentAmountMoney[keyMap])/mapInvoiceAmountMoney[keyMap]*100, 2) + "%" //"未到款比例-(数据)"
 				}
-				sellerItem.NewCustomerInvoicingCount = utils.SubFloatToString(mapNewCustomerInvoicingMoney[keyMap], 2)               // "新客开票-(数据)"
-				sellerItem.NewCustomerPaymentsReceivedCount = utils.SubFloatToString(mapNewCustomerPaymentsReceivedMoney[keyMap], 2) // "新客到款-(数据)"
+				sellerItem.NewCustomerInvoicingCount = utils.FormatNumberWithCommas(mapNewCustomerInvoicingMoney[keyMap], 2)               // "新客开票-(数据)"
+				sellerItem.NewCustomerPaymentsReceivedCount = utils.FormatNumberWithCommas(mapNewCustomerPaymentsReceivedMoney[keyMap], 2) // "新客到款-(数据)"
 				if developButton || serverButton || adminId != "" {
 					item.DataList = append(item.DataList, sellerItem)
 					dataListDevelop = append(dataListDevelop, sellerItem)
@@ -763,9 +763,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				sellerItem.SellerId = strings.Join(sellerIds, ",")
 				sellerItem.SellerName = "开拓组合计"
 				sellerItem.AddTrialCount = fmt.Sprint(mapAddTrialNum[keyMapTtoal])
-				sellerItem.NewContractData = fmt.Sprint(utils.SubFloatToString(mapNewContractMoney[keyMapTtoal], 2), " / ", mapNewContractNum[keyMapTtoal])             // 新签合同(金额/数量)-(数据)
-				sellerItem.ExpiredContractData = fmt.Sprint(utils.SubFloatToString(mapExpiredContractMoney[keyMapTtoal], 2), " / ", mapExpiredContractNum[keyMapTtoal]) //"到期合同(金额/数量)-(数据)"
-				sellerItem.RenewedContractData = fmt.Sprint(utils.SubFloatToString(mapRenewedContractMoney[keyMapTtoal], 2), " / ", mapRenewedContractNum[keyMapTtoal]) // "续约合同(金额/数量)-(数据)"
+				sellerItem.NewContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapNewContractMoney[keyMapTtoal], 2), " / ", mapNewContractNum[keyMapTtoal])             // 新签合同(金额/数量)-(数据)
+				sellerItem.ExpiredContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapExpiredContractMoney[keyMapTtoal], 2), " / ", mapExpiredContractNum[keyMapTtoal]) //"到期合同(金额/数量)-(数据)"
+				sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoney[keyMapTtoal], 2), " / ", mapRenewedContractNum[keyMapTtoal]) // "续约合同(金额/数量)-(数据)"
 				var renewalRateMoey string
 				var renewalRateNum string
 				if mapRenewedContractMoney[keyMapTtoal] == 0 || mapExpiredContractMoney[keyMapTtoal] == 0 {
@@ -778,8 +778,8 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				} else {
 					renewalRateNum = utils.SubFloatToString(float64(mapRenewedContractCompanyNum[keyMapTtoal])/float64(mapExpiredContractCompanyNum[keyMapTtoal])*100, 2) + "%"
 				}
-				sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum)                                                                                                    //"续约率(金额/数量)-(数据)"
-				sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.SubFloatToString(confirmedNoRenewalContractMoney[keyMapTtoal], 2), " / ", confirmedNoRenewalContractNum[keyMapTtoal]) //"确认不续约合同(金额/数量)-(数据)"
+				sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum)                                                                                                          //"续约率(金额/数量)-(数据)"
+				sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.FormatNumberWithCommas(confirmedNoRenewalContractMoney[keyMapTtoal], 2), " / ", confirmedNoRenewalContractNum[keyMapTtoal]) //"确认不续约合同(金额/数量)-(数据)"
 
 				var confirmNonRenewalRateMoey string
 				var confirmNonRenewalRateNum string
@@ -799,18 +799,18 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				if mapSignedClientNum[keyMapTtoal] == 0 || mapSignedClientMoney[keyMapTtoal] == 0 {
 					sellerItem.AverageRevenueCount = "0"
 				} else {
-					sellerItem.AverageRevenueCount = utils.SubFloatToString(mapSignedClientMoney[keyMapTtoal]/float64(mapSignedClientNum[keyMapTtoal]), 2) //客单价
+					sellerItem.AverageRevenueCount = utils.FormatNumberWithCommas(mapSignedClientMoney[keyMapTtoal]/float64(mapSignedClientNum[keyMapTtoal]), 2) //客单价
 				}
 
-				sellerItem.InvoiceAmountCount = utils.SubFloatToString(mapInvoiceAmountMoney[keyMapTtoal], 2)   //"开票金额-(数据)"
-				sellerItem.PaymentReceivedCount = utils.SubFloatToString(mapPaymentAmountMoney[keyMapTtoal], 2) //"开票金额-(数据)"
+				sellerItem.InvoiceAmountCount = utils.FormatNumberWithCommas(mapInvoiceAmountMoney[keyMapTtoal], 2)   //"开票金额-(数据)"
+				sellerItem.PaymentReceivedCount = utils.FormatNumberWithCommas(mapPaymentAmountMoney[keyMapTtoal], 2) //"开票金额-(数据)"
 				if mapInvoiceAmountMoney[keyMapTtoal] == 0 || mapPaymentAmountMoney[keyMapTtoal] == 0 {
 					sellerItem.UnpaidRatioCount = "0%"
 				} else {
 					sellerItem.UnpaidRatioCount = utils.SubFloatToString((mapInvoiceAmountMoney[keyMapTtoal]-mapPaymentAmountMoney[keyMapTtoal])/mapInvoiceAmountMoney[keyMapTtoal]*100, 2) + "%" //"未到款比例-(数据)"
 				}
-				sellerItem.NewCustomerInvoicingCount = utils.SubFloatToString(mapNewCustomerInvoicingMoney[keyMapTtoal], 2)               // "新客开票-(数据)"
-				sellerItem.NewCustomerPaymentsReceivedCount = utils.SubFloatToString(mapNewCustomerPaymentsReceivedMoney[keyMapTtoal], 2) // "新客到款-(数据)"
+				sellerItem.NewCustomerInvoicingCount = utils.FormatNumberWithCommas(mapNewCustomerInvoicingMoney[keyMapTtoal], 2)               // "新客开票-(数据)"
+				sellerItem.NewCustomerPaymentsReceivedCount = utils.FormatNumberWithCommas(mapNewCustomerPaymentsReceivedMoney[keyMapTtoal], 2) // "新客到款-(数据)"
 				item.DataList = append(item.DataList, sellerItem)
 			}
 
@@ -823,9 +823,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				sellerServiceIds = append(sellerServiceIds, sellerItem.SellerId)
 				sellerItem.SellerName = vS.RealName
 				sellerItem.AddTrialCount = fmt.Sprint(mapAddTrialNum[keyMap])
-				sellerItem.NewContractData = fmt.Sprint(utils.SubFloatToString(mapNewContractMoneyServer[keyMap], 2), " / ", mapNewContractNumServer[keyMap])             // 新签合同(金额/数量)-(数据)
-				sellerItem.ExpiredContractData = fmt.Sprint(utils.SubFloatToString(mapExpiredContractMoneyServer[keyMap], 2), " / ", mapExpiredContractNumServer[keyMap]) //"到期合同(金额/数量)-(数据)"
-				sellerItem.RenewedContractData = fmt.Sprint(utils.SubFloatToString(mapRenewedContractMoneyServer[keyMap], 2), " / ", mapRenewedContractNumServer[keyMap]) // "续约合同(金额/数量)-(数据)"
+				sellerItem.NewContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapNewContractMoneyServer[keyMap], 2), " / ", mapNewContractNumServer[keyMap])             // 新签合同(金额/数量)-(数据)
+				sellerItem.ExpiredContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapExpiredContractMoneyServer[keyMap], 2), " / ", mapExpiredContractNumServer[keyMap]) //"到期合同(金额/数量)-(数据)"
+				sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoneyServer[keyMap], 2), " / ", mapRenewedContractNumServer[keyMap]) // "续约合同(金额/数量)-(数据)"
 				var renewalRateMoey string
 				var renewalRateNum string
 				if mapRenewedContractMoneyServer[keyMap] == 0 || mapExpiredContractMoneyServer[keyMap] == 0 {
@@ -838,8 +838,8 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				} else {
 					renewalRateNum = utils.SubFloatToString(float64(mapRenewedContractCompanyNumServer[keyMap])/float64(mapExpiredContractCompanyNumServer[keyMap])*100, 2) + "%"
 				}
-				sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum)                                                                                                      //"续约率(金额/数量)-(数据)"
-				sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.SubFloatToString(confirmedNoRenewalContractMoneyServer[keyMap], 2), " / ", confirmedNoRenewalContractNumServer[keyMap]) //"确认不续约合同(金额/数量)-(数据)"
+				sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum)                                                                                                            //"续约率(金额/数量)-(数据)"
+				sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.FormatNumberWithCommas(confirmedNoRenewalContractMoneyServer[keyMap], 2), " / ", confirmedNoRenewalContractNumServer[keyMap]) //"确认不续约合同(金额/数量)-(数据)"
 
 				var confirmNonRenewalRateMoey string
 				var confirmNonRenewalRateNum string
@@ -859,18 +859,18 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				if mapSignedClientNumServer[keyMap] == 0 || mapSignedClientMoneyServer[keyMap] == 0 {
 					sellerItem.AverageRevenueCount = "0"
 				} else {
-					sellerItem.AverageRevenueCount = utils.SubFloatToString(mapSignedClientMoneyServer[keyMap]/float64(mapSignedClientNumServer[keyMap]), 2) //客单价
+					sellerItem.AverageRevenueCount = utils.FormatNumberWithCommas(mapSignedClientMoneyServer[keyMap]/float64(mapSignedClientNumServer[keyMap]), 2) //客单价
 				}
 
-				sellerItem.InvoiceAmountCount = utils.SubFloatToString(mapInvoiceAmountMoney[keyMap], 2)   //"开票金额-(数据)"
-				sellerItem.PaymentReceivedCount = utils.SubFloatToString(mapPaymentAmountMoney[keyMap], 2) //"开票金额-(数据)"
+				sellerItem.InvoiceAmountCount = utils.FormatNumberWithCommas(mapInvoiceAmountMoney[keyMap], 2)   //"开票金额-(数据)"
+				sellerItem.PaymentReceivedCount = utils.FormatNumberWithCommas(mapPaymentAmountMoney[keyMap], 2) //"开票金额-(数据)"
 				if mapInvoiceAmountMoney[keyMap] == 0 || mapPaymentAmountMoney[keyMap] == 0 {
 					sellerItem.UnpaidRatioCount = "0%"
 				} else {
 					sellerItem.UnpaidRatioCount = utils.SubFloatToString((mapInvoiceAmountMoney[keyMap]-mapPaymentAmountMoney[keyMap])/mapInvoiceAmountMoney[keyMap]*100, 2) + "%" //"未到款比例-(数据)"
 				}
-				sellerItem.NewCustomerInvoicingCount = utils.SubFloatToString(mapNewCustomerInvoicingMoney[keyMap], 2)               // "新客开票-(数据)"
-				sellerItem.NewCustomerPaymentsReceivedCount = utils.SubFloatToString(mapNewCustomerPaymentsReceivedMoney[keyMap], 2) // "新客到款-(数据)"
+				sellerItem.NewCustomerInvoicingCount = utils.FormatNumberWithCommas(mapNewCustomerInvoicingMoney[keyMap], 2)               // "新客开票-(数据)"
+				sellerItem.NewCustomerPaymentsReceivedCount = utils.FormatNumberWithCommas(mapNewCustomerPaymentsReceivedMoney[keyMap], 2) // "新客到款-(数据)"
 				if developButton || serverButton || serviceAdminId != "" {
 					item.DataList = append(item.DataList, sellerItem)
 					dataListService = append(dataListService, sellerItem)
@@ -934,9 +934,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				sellerItem.SellerId = strings.Join(sellerServiceIds, ",")
 				sellerItem.SellerName = "服务组合计"
 				sellerItem.AddTrialCount = fmt.Sprint(mapAddTrialNum[keyMapTtoalServer])
-				sellerItem.NewContractData = fmt.Sprint(utils.SubFloatToString(mapNewContractMoneyServer[keyMapTtoalServer], 2), " / ", mapNewContractNumServer[keyMapTtoalServer])             // 新签合同(金额/数量)-(数据)
-				sellerItem.ExpiredContractData = fmt.Sprint(utils.SubFloatToString(mapExpiredContractMoneyServer[keyMapTtoalServer], 2), " / ", mapExpiredContractNumServer[keyMapTtoalServer]) //"到期合同(金额/数量)-(数据)"
-				sellerItem.RenewedContractData = fmt.Sprint(utils.SubFloatToString(mapRenewedContractMoneyServer[keyMapTtoalServer], 2), " / ", mapRenewedContractNumServer[keyMapTtoalServer]) // "续约合同(金额/数量)-(数据)"
+				sellerItem.NewContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapNewContractMoneyServer[keyMapTtoalServer], 2), " / ", mapNewContractNumServer[keyMapTtoalServer])             // 新签合同(金额/数量)-(数据)
+				sellerItem.ExpiredContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapExpiredContractMoneyServer[keyMapTtoalServer], 2), " / ", mapExpiredContractNumServer[keyMapTtoalServer]) //"到期合同(金额/数量)-(数据)"
+				sellerItem.RenewedContractData = fmt.Sprint(utils.FormatNumberWithCommas(mapRenewedContractMoneyServer[keyMapTtoalServer], 2), " / ", mapRenewedContractNumServer[keyMapTtoalServer]) // "续约合同(金额/数量)-(数据)"
 				var renewalRateMoey string
 				var renewalRateNum string
 				if mapRenewedContractMoneyServer[keyMapTtoalServer] == 0 || mapExpiredContractMoneyServer[keyMapTtoalServer] == 0 {
@@ -949,8 +949,8 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				} else {
 					renewalRateNum = utils.SubFloatToString(float64(mapRenewedContractCompanyNumServer[keyMapTtoalServer])/float64(mapExpiredContractCompanyNumServer[keyMapTtoalServer])*100, 2) + "%"
 				}
-				sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum)                                                                                                                            //"续约率(金额/数量)-(数据)"
-				sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.SubFloatToString(confirmedNoRenewalContractMoneyServer[keyMapTtoalServer], 2), " / ", confirmedNoRenewalContractNumServer[keyMapTtoalServer]) //"确认不续约合同(金额/数量)-(数据)"
+				sellerItem.RenewalRateData = fmt.Sprint(renewalRateMoey, " / ", renewalRateNum)                                                                                                                                  //"续约率(金额/数量)-(数据)"
+				sellerItem.ConfirmedNoRenewalContractData = fmt.Sprint(utils.FormatNumberWithCommas(confirmedNoRenewalContractMoneyServer[keyMapTtoalServer], 2), " / ", confirmedNoRenewalContractNumServer[keyMapTtoalServer]) //"确认不续约合同(金额/数量)-(数据)"
 
 				var confirmNonRenewalRateMoey string
 				var confirmNonRenewalRateNum string
@@ -970,18 +970,18 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 				if mapSignedClientNumServer[keyMapTtoalServer] == 0 || mapSignedClientMoneyServer[keyMapTtoalServer] == 0 {
 					sellerItem.AverageRevenueCount = "0"
 				} else {
-					sellerItem.AverageRevenueCount = utils.SubFloatToString(mapSignedClientMoneyServer[keyMapTtoalServer]/float64(mapSignedClientNumServer[keyMapTtoalServer]), 2) //客单价
+					sellerItem.AverageRevenueCount = utils.FormatNumberWithCommas(mapSignedClientMoneyServer[keyMapTtoalServer]/float64(mapSignedClientNumServer[keyMapTtoalServer]), 2) //客单价
 				}
 
-				sellerItem.InvoiceAmountCount = utils.SubFloatToString(mapInvoiceAmountMoney[keyMapTtoalServer], 2)   //"开票金额-(数据)"
-				sellerItem.PaymentReceivedCount = utils.SubFloatToString(mapPaymentAmountMoney[keyMapTtoalServer], 2) //"开票金额-(数据)"
+				sellerItem.InvoiceAmountCount = utils.FormatNumberWithCommas(mapInvoiceAmountMoney[keyMapTtoalServer], 2)   //"开票金额-(数据)"
+				sellerItem.PaymentReceivedCount = utils.FormatNumberWithCommas(mapPaymentAmountMoney[keyMapTtoalServer], 2) //"开票金额-(数据)"
 				if mapInvoiceAmountMoney[keyMapTtoalServer] == 0 || mapPaymentAmountMoney[keyMapTtoalServer] == 0 {
 					sellerItem.UnpaidRatioCount = "0%"
 				} else {
 					sellerItem.UnpaidRatioCount = utils.SubFloatToString((mapInvoiceAmountMoney[keyMapTtoalServer]-mapPaymentAmountMoney[keyMapTtoalServer])/mapInvoiceAmountMoney[keyMapTtoalServer]*100, 2) + "%" //"未到款比例-(数据)"
 				}
-				sellerItem.NewCustomerInvoicingCount = utils.SubFloatToString(mapNewCustomerInvoicingMoney[keyMapTtoalServer], 2)               // "新客开票-(数据)"
-				sellerItem.NewCustomerPaymentsReceivedCount = utils.SubFloatToString(mapNewCustomerPaymentsReceivedMoney[keyMapTtoalServer], 2) // "新客到款-(数据)"
+				sellerItem.NewCustomerInvoicingCount = utils.FormatNumberWithCommas(mapNewCustomerInvoicingMoney[keyMapTtoalServer], 2)               // "新客开票-(数据)"
+				sellerItem.NewCustomerPaymentsReceivedCount = utils.FormatNumberWithCommas(mapNewCustomerPaymentsReceivedMoney[keyMapTtoalServer], 2) // "新客到款-(数据)"
 				item.DataList = append(item.DataList, sellerItem)
 			}
 			items = append(items, item)

+ 26 - 0
utils/common.go

@@ -2361,3 +2361,29 @@ func GetAttendanceDetailSecondsByYiDong(str string) string {
 	timeStr += "''"
 	return timeStr
 }
+
+// 浮点类型转为千分位字符串
+func FormatNumberWithCommas(num float64, m int) string {
+	// 先格式化为2位小数字符串
+	str := strconv.FormatFloat(num, 'f', m, 64)
+
+	// 分割整数和小数部分
+	parts := strings.Split(str, ".")
+	intPart := parts[0]
+	decimalPart := parts[1] // 已截取2位小数
+
+	// 从右往左每3位加逗号
+	var formatted strings.Builder
+	n := len(intPart)
+	for i := 0; i < n; i++ {
+		if (n-i)%3 == 0 && i != 0 {
+			formatted.WriteByte(',')
+		}
+		formatted.WriteByte(intPart[i])
+	}
+	if decimalPart == "00" {
+		return formatted.String()
+	} else {
+		return formatted.String() + "." + decimalPart
+	}
+}