|
@@ -12,6 +12,7 @@ import (
|
|
|
"hongze/hz_crm_api/services"
|
|
|
cygxService "hongze/hz_crm_api/services/cygx"
|
|
|
"hongze/hz_crm_api/utils"
|
|
|
+ "sort"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
@@ -36,6 +37,8 @@ type StatisticRaiDataSummaryController struct {
|
|
|
// @Param ContractButtonType query string false "开关类型,:`新签`,`续约`,`收入` 多个用英文逗号隔开, "
|
|
|
// @Param StartDate query string false "开始时间 "
|
|
|
// @Param EndDate query string false "结束时间 "
|
|
|
+// @Param SortParam query string false "排序字段参数,用来排序的字段, 枚举值:根据列表表头对应参数"
|
|
|
+// @Param SortType query string true "如何排序,是正序还是倒序,枚举值:`asc 正序`,`desc 倒叙`"
|
|
|
// @Param IsExport query bool false "是否导出excel,默认是false"
|
|
|
// @Success 200 {object} statistic_report.RaiDataSummaryListResp
|
|
|
// @router /rai_data_summary/list [get]
|
|
@@ -63,6 +66,8 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
serverButton, _ := this.GetBool("ServerButton")
|
|
|
startDate := this.GetString("StartDate")
|
|
|
endDate := this.GetString("EndDate")
|
|
|
+ sortParam := this.GetString("SortParam")
|
|
|
+ sortType := this.GetString("SortType")
|
|
|
|
|
|
adminIdArr := strings.Split(adminId, ",")
|
|
|
serviceAdminIdArr := strings.Split(serviceAdminId, ",")
|
|
@@ -85,12 +90,23 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
var pars []interface{}
|
|
|
var conditionEnSeller string // 手动禁用的销售
|
|
|
|
|
|
- conditionEnSeller = " AND real_name NOT IN ('余晔', '于卓铭', '张怡', '王芳6') "
|
|
|
+ // 获取图片识别手机号的配置
|
|
|
+ crmConfig, err := company.GetConfigDetailByCode("rai_data_summary_seller")
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取配置失败"
|
|
|
+ br.ErrMsg = "获取配置失败"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //fmt.Println(crmConfig.ConfigValue)
|
|
|
+
|
|
|
+ conditionEnSeller = " AND real_name NOT IN ('余晔', '于卓铭', '张怡', '王芳6') "
|
|
|
mapsellerDevelop := make(map[int]bool) // 开拓组销售Map
|
|
|
mapsellerService := make(map[int]bool) // 服务组销售Map
|
|
|
var sellerIds []string
|
|
|
var sellerServiceIds []string
|
|
|
- condition = " AND role_type_code IN ('rai_seller','rai_group') " + conditionEnSeller
|
|
|
+ condition = " AND role_type_code IN ('rai_seller','rai_group') " + conditionEnSeller + " OR admin_id IN( " + crmConfig.ConfigValue + ") "
|
|
|
+
|
|
|
sellerListAll, err := system.GetSysUserItemsOrderByCreated(condition, pars)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取管理账号失败"
|
|
@@ -113,6 +129,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
if adminId != "" {
|
|
|
serviceAdminId = ""
|
|
|
condition += " AND admin_id IN (" + adminId + ") "
|
|
|
+ condition += " OR admin_id IN (" + adminId + ") "
|
|
|
sellerIds = make([]string, 0)
|
|
|
}
|
|
|
if serviceAdminId != "" {
|
|
@@ -164,7 +181,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 != '打分1派点' "
|
|
|
parsRai = append(parsRai, startDate, endDate)
|
|
|
listRaiData, err := statistic_report.GetRaiDataSummaryList(conditionRai, parsRai)
|
|
|
if err != nil {
|
|
@@ -181,7 +198,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 != '打分1派点' 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 +210,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 != '打分1派点' 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 {
|
|
@@ -205,8 +222,8 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
var conditionConfirm string
|
|
|
var parsConfirm []interface{}
|
|
|
mapNoRenewedcompanyContractIds := make(map[int]bool) //已经确定未续约的合同ID
|
|
|
- conditionConfirm = " AND company_ascribe_id != 9 "
|
|
|
- companyConfirmList, err := company.GetCompanyContractNoRenewedAscribeList(conditionConfirm, parsConfirm, 0, 0)
|
|
|
+ conditionConfirm = " AND a.company_ascribe_id != 9 AND b.contract_type != '打分1派点' "
|
|
|
+ companyConfirmList, err := company.GetCompanyContractNoRenewedAscribeListJoin(conditionConfirm, parsConfirm, 0, 0)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取失败,GetCompanyNoRenewedAscribeList Err:" + err.Error()
|
|
@@ -253,6 +270,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 +414,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 +428,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 +443,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 +525,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 +542,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 +566,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 +576,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 +597,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 +630,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_")
|
|
@@ -614,6 +642,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
resp := new(statistic_report.RaiDataSummaryListResp)
|
|
|
var items []*statistic_report.RaiDataSummaryResp
|
|
|
|
|
|
+ mapSortDateService := make(map[int]float64)
|
|
|
+ mapSortDateDevelop := make(map[int]float64)
|
|
|
+
|
|
|
for i := startYear; i <= endYear; i++ {
|
|
|
for _, Dv := range dataTypeArr {
|
|
|
item := new(statistic_report.RaiDataSummaryResp)
|
|
@@ -624,6 +655,8 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
}
|
|
|
keyMapTtoal = fmt.Sprint(item.DataType, "_Develop")
|
|
|
keyMapTtoalServer = fmt.Sprint(item.DataType, "_Server_")
|
|
|
+
|
|
|
+ var dataListDevelop []*statistic_report.RaiDataSummaryDetail
|
|
|
for _, vS := range sellerDevelop {
|
|
|
keyMap = fmt.Sprint(item.DataType, "_", vS.AdminId)
|
|
|
sellerItem := new(statistic_report.RaiDataSummaryDetail)
|
|
@@ -631,9 +664,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 {
|
|
@@ -646,8 +679,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
|
|
@@ -667,31 +700,83 @@ 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)
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理要排序的值
|
|
|
+ switch sortParam {
|
|
|
+ case "AddTrialCount": //新增试用
|
|
|
+ mapSortDateDevelop[vS.AdminId] = mapAddTrialNum[keyMap]
|
|
|
+ case "NewContractData": //新签合同
|
|
|
+ mapSortDateDevelop[vS.AdminId] = mapNewContractMoney[keyMap]
|
|
|
+ case "ExpiredContractData": //到期合同
|
|
|
+ mapSortDateDevelop[vS.AdminId] = mapExpiredContractMoney[keyMap]
|
|
|
+ case "RenewedContractData": //续约合同
|
|
|
+ mapSortDateDevelop[vS.AdminId] = mapRenewedContractMoney[keyMap]
|
|
|
+ case "RenewalRateData": //续约率
|
|
|
+ if mapRenewedContractMoney[keyMap] == 0 || mapExpiredContractMoney[keyMap] == 0 {
|
|
|
+ mapSortDateDevelop[vS.AdminId] = 0
|
|
|
+ } else {
|
|
|
+ mapSortDateDevelop[vS.AdminId] = mapRenewedContractMoney[keyMap] / mapExpiredContractMoney[keyMap]
|
|
|
+ }
|
|
|
+ case "ConfirmedNoRenewalContractData": //确认不续约合同
|
|
|
+ mapSortDateDevelop[vS.AdminId] = confirmedNoRenewalContractMoney[keyMap]
|
|
|
+ case "ConfirmNonRenewalRateData": //确认不续约率
|
|
|
+ if confirmedNoRenewalContractMoney[keyMap] == 0 || mapExpiredContractMoney[keyMap] == 0 {
|
|
|
+ mapSortDateDevelop[vS.AdminId] = 0
|
|
|
+ } else {
|
|
|
+ mapSortDateDevelop[vS.AdminId] = confirmedNoRenewalContractMoney[keyMap] / mapExpiredContractMoney[keyMap]
|
|
|
+ }
|
|
|
+ case "SignedClientCount": //签约客户数量
|
|
|
+ mapSortDateDevelop[vS.AdminId] = float64(mapSignedClientNum[keyMap])
|
|
|
+ case "AverageRevenueCount": //客单价
|
|
|
+ if mapSignedClientNum[keyMap] == 0 || mapSignedClientMoney[keyMap] == 0 {
|
|
|
+ mapSortDateDevelop[vS.AdminId] = 0
|
|
|
+ } else {
|
|
|
+ mapSortDateDevelop[vS.AdminId] = mapSignedClientMoney[keyMap] / float64(mapSignedClientNum[keyMap])
|
|
|
+ }
|
|
|
+ case "InvoiceAmountCount": //开票金额
|
|
|
+ mapSortDateDevelop[vS.AdminId] = mapInvoiceAmountMoney[keyMap]
|
|
|
+ case "PaymentReceivedCount": //到款金额
|
|
|
+ mapSortDateDevelop[vS.AdminId] = mapPaymentAmountMoney[keyMap]
|
|
|
+ case "UnpaidRatioCount": //未到款比例
|
|
|
+ if mapInvoiceAmountMoney[keyMap] == 0 || mapPaymentAmountMoney[keyMap] == 0 {
|
|
|
+ mapSortDateDevelop[vS.AdminId] = 0
|
|
|
+ } else {
|
|
|
+ mapSortDateDevelop[vS.AdminId] = (mapInvoiceAmountMoney[keyMap] - mapPaymentAmountMoney[keyMap]) / mapInvoiceAmountMoney[keyMap]
|
|
|
+ }
|
|
|
+ case "NewCustomerInvoicingCount": //新开票金额
|
|
|
+ mapSortDateDevelop[vS.AdminId] = mapNewCustomerInvoicingMoney[keyMap]
|
|
|
+ case "NewCustomerPaymentsReceivedCount": //新客到款
|
|
|
+ mapSortDateDevelop[vS.AdminId] = mapNewCustomerPaymentsReceivedMoney[keyMap]
|
|
|
}
|
|
|
}
|
|
|
+ if sortType != "" && sortParam != "" && len(mapSortDateDevelop) > 0 {
|
|
|
+ item.DataList = handleMapSortDate(mapSortDateDevelop, dataListDevelop, sortType)
|
|
|
+ }
|
|
|
|
|
|
if len(sellerDevelop) > 0 && adminId == "" {
|
|
|
sellerItem := new(statistic_report.RaiDataSummaryDetail)
|
|
|
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 {
|
|
@@ -704,8 +789,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
|
|
@@ -725,21 +810,22 @@ 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)
|
|
|
}
|
|
|
|
|
|
+ var dataListService []*statistic_report.RaiDataSummaryDetail
|
|
|
for _, vS := range sellerService {
|
|
|
keyMap = fmt.Sprint(item.DataType, "_Server_", vS.AdminId)
|
|
|
sellerItem := new(statistic_report.RaiDataSummaryDetail)
|
|
@@ -748,9 +834,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 {
|
|
@@ -763,8 +849,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
|
|
@@ -784,31 +870,84 @@ 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)
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理要排序的值
|
|
|
+ switch sortParam {
|
|
|
+ case "AddTrialCount": //新增试用
|
|
|
+ mapSortDateService[vS.AdminId] = mapAddTrialNum[keyMap]
|
|
|
+ case "NewContractData": //新签合同
|
|
|
+ mapSortDateService[vS.AdminId] = mapNewContractMoneyServer[keyMap]
|
|
|
+ case "ExpiredContractData": //到期合同
|
|
|
+ mapSortDateService[vS.AdminId] = mapExpiredContractMoneyServer[keyMap]
|
|
|
+ case "RenewedContractData": //续约合同
|
|
|
+ mapSortDateService[vS.AdminId] = mapRenewedContractMoneyServer[keyMap]
|
|
|
+ case "RenewalRateData": //续约率
|
|
|
+ if mapRenewedContractMoneyServer[keyMap] == 0 || mapExpiredContractMoneyServer[keyMap] == 0 {
|
|
|
+ mapSortDateService[vS.AdminId] = 0
|
|
|
+ } else {
|
|
|
+ mapSortDateService[vS.AdminId] = mapRenewedContractMoneyServer[keyMap] / mapExpiredContractMoneyServer[keyMap]
|
|
|
+ }
|
|
|
+ case "ConfirmedNoRenewalContractData": //确认不续约合同
|
|
|
+ mapSortDateService[vS.AdminId] = confirmedNoRenewalContractMoneyServer[keyMap]
|
|
|
+ case "ConfirmNonRenewalRateData": //确认不续约率
|
|
|
+ if confirmedNoRenewalContractMoneyServer[keyMap] == 0 || mapExpiredContractMoneyServer[keyMap] == 0 {
|
|
|
+ mapSortDateService[vS.AdminId] = 0
|
|
|
+ } else {
|
|
|
+ mapSortDateService[vS.AdminId] = confirmedNoRenewalContractMoneyServer[keyMap] / mapExpiredContractMoneyServer[keyMap]
|
|
|
+ }
|
|
|
+ case "SignedClientCount": //签约客户数量
|
|
|
+ mapSortDateService[vS.AdminId] = float64(mapSignedClientNumServer[keyMap])
|
|
|
+ case "AverageRevenueCount": //客单价
|
|
|
+ if mapSignedClientNumServer[keyMap] == 0 || mapSignedClientMoneyServer[keyMap] == 0 {
|
|
|
+ mapSortDateService[vS.AdminId] = 0
|
|
|
+ } else {
|
|
|
+ mapSortDateService[vS.AdminId] = mapSignedClientMoneyServer[keyMap] / float64(mapSignedClientNumServer[keyMap])
|
|
|
+ }
|
|
|
+ case "InvoiceAmountCount": //开票金额
|
|
|
+ mapSortDateService[vS.AdminId] = mapInvoiceAmountMoney[keyMap]
|
|
|
+ case "PaymentReceivedCount": //到款金额
|
|
|
+ mapSortDateService[vS.AdminId] = mapPaymentAmountMoney[keyMap]
|
|
|
+ case "UnpaidRatioCount": //未到款比例
|
|
|
+ if mapInvoiceAmountMoney[keyMap] == 0 || mapPaymentAmountMoney[keyMap] == 0 {
|
|
|
+ mapSortDateService[vS.AdminId] = 0
|
|
|
+ } else {
|
|
|
+ mapSortDateService[vS.AdminId] = (mapInvoiceAmountMoney[keyMap] - mapPaymentAmountMoney[keyMap]) / mapInvoiceAmountMoney[keyMap]
|
|
|
+ }
|
|
|
+ case "NewCustomerInvoicingCount": //新开票金额
|
|
|
+ mapSortDateService[vS.AdminId] = mapNewCustomerInvoicingMoney[keyMap]
|
|
|
+ case "NewCustomerPaymentsReceivedCount": //新客到款
|
|
|
+ mapSortDateService[vS.AdminId] = mapNewCustomerPaymentsReceivedMoney[keyMap]
|
|
|
}
|
|
|
}
|
|
|
+ if sortType != "" && sortParam != "" && len(mapSortDateService) > 0 {
|
|
|
+ item.DataList = handleMapSortDate(mapSortDateService, dataListService, sortType)
|
|
|
+ }
|
|
|
+
|
|
|
if len(sellerService) > 0 && serviceAdminId == "" {
|
|
|
sellerItem := new(statistic_report.RaiDataSummaryDetail)
|
|
|
sellerItem.IsServerSeller = true
|
|
|
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 {
|
|
@@ -821,8 +960,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
|
|
@@ -842,18 +981,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)
|
|
@@ -866,6 +1005,43 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
+// 排序处理
|
|
|
+func handleMapSortDate(mapSort map[int]float64, dataList []*statistic_report.RaiDataSummaryDetail, orderType string) (dataListResp []*statistic_report.RaiDataSummaryDetail) {
|
|
|
+ type kvSort struct {
|
|
|
+ AdminIdKey int
|
|
|
+ AdminValue float64
|
|
|
+ }
|
|
|
+
|
|
|
+ var adminSlice []kvSort
|
|
|
+ for k, v := range mapSort {
|
|
|
+ adminSlice = append(adminSlice, kvSort{k, v})
|
|
|
+ }
|
|
|
+
|
|
|
+ if orderType == "asc" {
|
|
|
+ // 2. 按Value从小到大排序
|
|
|
+ sort.Slice(adminSlice, func(i, j int) bool {
|
|
|
+ return adminSlice[i].AdminValue < adminSlice[j].AdminValue // "<" 表示升序
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ // 2.1 按Value从大到小排序
|
|
|
+ sort.Slice(adminSlice, func(i, j int) bool {
|
|
|
+ return adminSlice[i].AdminValue > adminSlice[j].AdminValue // ">" 表示降序
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ // 3. 输出排序结果
|
|
|
+ for _, vsort := range adminSlice {
|
|
|
+ //fmt.Println("vsort.AdminIdKey", vsort.AdminIdKey, "vsort.AdminValue", vsort.AdminValue)
|
|
|
+ for _, vDate := range dataList {
|
|
|
+ if vDate.SellerId == strconv.Itoa(vsort.AdminIdKey) {
|
|
|
+ dataListResp = append(dataListResp, vDate)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //fmt.Println("dataListResp", dataListResp)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// MergeCompanyList
|
|
|
// @Title 权益数据汇总弹窗详情
|
|
|
// @Description 权益数据汇总弹窗详情接口
|
|
@@ -955,7 +1131,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 != '打分1派点' "
|
|
|
parsNew = append(parsNew, startDate, endDate)
|
|
|
listNewData, err := statistic_report.GetRaiDataSummaryList(conditionNew, parsNew)
|
|
|
if err != nil {
|
|
@@ -964,7 +1140,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
return
|
|
|
}
|
|
|
for _, v := range listNewData {
|
|
|
- companyContractIdsNew = append(companyContractIdsNew, v.CompanyId)
|
|
|
+ companyContractIdsNew = append(companyContractIdsNew, v.CompanyContractId)
|
|
|
}
|
|
|
}
|
|
|
companyContractIdsNew = append(companyContractIdsNew, 0)
|
|
@@ -1022,7 +1198,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 != '打分1派点' `
|
|
|
pars = append(pars, startDate, endDate)
|
|
|
condition += ` AND a.rai_contract_type = ? `
|
|
|
pars = append(pars, "新签合同")
|
|
@@ -1087,10 +1263,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 != '打分1派点' `
|
|
|
pars = append(pars, startDate, endDate, time.Now().Format(utils.FormatDate))
|
|
|
|
|
|
total, err := company.GetIncrementalNewCompanyProductMergeCount(condition, pars)
|
|
@@ -1151,7 +1326,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 != '打分1派点' AND a.company_contract_id NOT IN (` + utils.GetOrmInReplace(lenArrCompany) + `) `
|
|
|
pars = append(pars, startDate, endDate, companyContractIdsNew)
|
|
|
|
|
|
total, err := company.GetIncrementalNewCompanyProductMergeCount(condition, pars)
|
|
@@ -1186,9 +1361,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
item.CompanyId = v.CompanyId
|
|
|
item.CompanyName = v.CompanyName
|
|
|
if isServerSeller {
|
|
|
- item.SellerName = v.ShareSellerLast
|
|
|
+ item.SellerName = v.ShareSellerInit
|
|
|
} else {
|
|
|
- item.SellerName = v.SellerNameLast
|
|
|
+ item.SellerName = v.SellerNameInit
|
|
|
}
|
|
|
item.StartDate = v.StartDate
|
|
|
item.EndDate = v.EndDate
|
|
@@ -1217,7 +1392,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 != '打分1派点' 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 +1402,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 != '打分1派点' 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 +1478,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 != '打分1派点' 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)
|
|
@@ -1365,25 +1540,26 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
var parsEnd []interface{}
|
|
|
if sellerId != "" {
|
|
|
if isServerSeller {
|
|
|
- condition += ` AND a.share_seller_id_init IN (` + sellerId + `) `
|
|
|
+ //condition += ` AND a.share_seller_id_init IN (` + sellerId + `) `
|
|
|
conditionEnd += ` AND a.share_seller_id_last IN (` + sellerId + `) `
|
|
|
} else {
|
|
|
- condition += ` AND a.seller_id_init IN (` + sellerId + `) `
|
|
|
+ //condition += ` AND a.seller_id_init IN (` + sellerId + `) `
|
|
|
conditionEnd += ` 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 <= ? `
|
|
|
- pars = append(pars, startDate, endDate, time.Now().Format(utils.FormatDate))
|
|
|
- listRaiData, err := statistic_report.GetRaiDataSummaryList(condition, pars)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取数据信息失败"
|
|
|
- br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
+ //condition += ` AND a.product_id = 2 AND a.status = 1 AND a.contract_type != '打分1派点' 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 {
|
|
|
+ // br.Msg = "获取数据信息失败"
|
|
|
+ // br.ErrMsg = "获取数据信息失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //fmt.Println(len(listRaiData))
|
|
|
|
|
|
- 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 != '打分1派点' 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)
|
|
@@ -1401,7 +1577,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
|
|
|
var expiredContractCompany float64 // 到期客户数
|
|
|
mapexpiredContractCompany := make(map[int]bool)
|
|
|
|
|
|
- for _, v := range listRaiData {
|
|
|
+ for _, v := range listEndData {
|
|
|
if noRenewedcompanyContractIdsMap[v.CompanyContractId] {
|
|
|
norenewedContractMoney += v.Money
|
|
|
if !mapnorenewedContractCompany[v.CompanyId] {
|
|
@@ -1453,7 +1629,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 != '打分1派点' "
|
|
|
pars = append(pars, startDate, endDate)
|
|
|
listRaiData, err := statistic_report.GetRaiDataSummaryList(condition, pars)
|
|
|
if err != nil {
|
|
@@ -1463,7 +1639,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 != '打分1派点' 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 +1702,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 != '打分1派点' "
|
|
|
pars = append(pars, startDate, endDate)
|
|
|
listRaiData, err := statistic_report.GetRaiDataSummaryList(condition, pars)
|
|
|
if err != nil {
|
|
@@ -1549,7 +1725,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 != '打分1派点' 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 +1749,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 +1760,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 +1771,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 +1781,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 +1792,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 +1803,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 +1813,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 +1844,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 +1855,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 +1867,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 +1877,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 +1888,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 +1899,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
|