|
@@ -77,11 +77,7 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
|
|
if dataType != "续约客户" {
|
|
if dataType != "续约客户" {
|
|
packageDifference = "" // 只有续约客户才会有值,过滤前端传过来的脏数据
|
|
packageDifference = "" // 只有续约客户才会有值,过滤前端传过来的脏数据
|
|
}
|
|
}
|
|
- //if startDate == "" || endDate == "" {
|
|
|
|
- // br.Msg = "获取失败,开始日期或结束日期未传"
|
|
|
|
- // br.ErrMsg = "获取失败,开始日期或结束日期未传"
|
|
|
|
- // return
|
|
|
|
- //}
|
|
|
|
|
|
+
|
|
if startDate == "" {
|
|
if startDate == "" {
|
|
startDate = "2015-01-01"
|
|
startDate = "2015-01-01"
|
|
}
|
|
}
|
|
@@ -137,58 +133,57 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
|
|
var conditionConfirm string
|
|
var conditionConfirm string
|
|
var parsConfirm []interface{}
|
|
var parsConfirm []interface{}
|
|
|
|
|
|
- companyConfirmList, err := company.GetCompanyNoRenewedAscribeList(conditionConfirm, parsConfirm, 0, 0)
|
|
|
|
|
|
+ companyConfirmList, err := company.GetCompanyContractNoRenewedAscribeList(conditionConfirm, parsConfirm, 0, 0)
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
br.Msg = "获取失败"
|
|
br.Msg = "获取失败"
|
|
br.ErrMsg = "获取失败,GetCompanyNoRenewedAscribeList Err:" + err.Error()
|
|
br.ErrMsg = "获取失败,GetCompanyNoRenewedAscribeList Err:" + err.Error()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- var noRenewedcompanyIds []int //已经确定未续约的公司ID
|
|
|
|
|
|
+ var noRenewedcompanyContractIds []int //已经确定未续约的公司ID
|
|
if len(companyConfirmList) == 0 {
|
|
if len(companyConfirmList) == 0 {
|
|
- noRenewedcompanyIds = append(noRenewedcompanyIds, 0) // 给一个不存在的ID
|
|
|
|
|
|
+ noRenewedcompanyContractIds = append(noRenewedcompanyContractIds, 0) // 给一个不存在的ID
|
|
} else {
|
|
} else {
|
|
for _, v := range companyConfirmList {
|
|
for _, v := range companyConfirmList {
|
|
- noRenewedcompanyIds = append(noRenewedcompanyIds, v.CompanyId)
|
|
|
|
|
|
+ noRenewedcompanyContractIds = append(noRenewedcompanyContractIds, v.CompanyContractId)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//是否确认续约 CRM 13.9
|
|
//是否确认续约 CRM 13.9
|
|
- conditionAscribRaiTotal += ` AND c.company_id IN (` + utils.GetOrmInReplace(len(noRenewedcompanyIds)) + `) ` // 已确认
|
|
|
|
- parsAscribeRaiTotal = append(parsAscribeRaiTotal, noRenewedcompanyIds)
|
|
|
|
|
|
+ conditionAscribRaiTotal += ` AND a.company_contract_id IN (` + utils.GetOrmInReplace(len(noRenewedcompanyContractIds)) + `) ` // 已确认
|
|
|
|
+ parsAscribeRaiTotal = append(parsAscribeRaiTotal, noRenewedcompanyContractIds)
|
|
|
|
|
|
- conditionAscribRaiToBeTotal += ` AND c.company_id NOT IN (` + utils.GetOrmInReplace(len(noRenewedcompanyIds)) + `) ` // 待确认
|
|
|
|
- parsAscribeRaiTobeTotal = append(parsAscribeRaiTobeTotal, noRenewedcompanyIds)
|
|
|
|
|
|
+ conditionAscribRaiToBeTotal += ` AND a.company_contract_id NOT IN (` + utils.GetOrmInReplace(len(noRenewedcompanyContractIds)) + `) ` // 待确认
|
|
|
|
+ parsAscribeRaiTobeTotal = append(parsAscribeRaiTobeTotal, noRenewedcompanyContractIds)
|
|
|
|
|
|
if isConfirm != -1 {
|
|
if isConfirm != -1 {
|
|
if isConfirm == 0 {
|
|
if isConfirm == 0 {
|
|
- conditionAscribRai += ` AND c.company_id NOT IN (` + utils.GetOrmInReplace(len(noRenewedcompanyIds)) + `) ` // 待确认
|
|
|
|
|
|
+ conditionAscribRai += ` AND a.company_contract_id NOT IN (` + utils.GetOrmInReplace(len(noRenewedcompanyContractIds)) + `) ` // 待确认
|
|
} else {
|
|
} else {
|
|
- conditionAscribRai += ` AND c.company_id IN (` + utils.GetOrmInReplace(len(noRenewedcompanyIds)) + `) ` // 已确认
|
|
|
|
|
|
+ conditionAscribRai += ` AND a.company_contract_id IN (` + utils.GetOrmInReplace(len(noRenewedcompanyContractIds)) + `) ` // 已确认
|
|
}
|
|
}
|
|
- parsAscribeRai = append(parsAscribeRai, noRenewedcompanyIds)
|
|
|
|
|
|
+ parsAscribeRai = append(parsAscribeRai, noRenewedcompanyContractIds)
|
|
}
|
|
}
|
|
-
|
|
|
|
//归因ID CRM 13.9
|
|
//归因ID CRM 13.9
|
|
if companyAscribeId > 0 {
|
|
if companyAscribeId > 0 {
|
|
var conditionAscribe string
|
|
var conditionAscribe string
|
|
var parsAscribe []interface{}
|
|
var parsAscribe []interface{}
|
|
conditionAscribe = " AND company_ascribe_id = ? "
|
|
conditionAscribe = " AND company_ascribe_id = ? "
|
|
parsAscribe = append(parsAscribe, companyAscribeId)
|
|
parsAscribe = append(parsAscribe, companyAscribeId)
|
|
- companyNoRenewedAscribeList, err := company.GetCompanyNoRenewedAscribeList(conditionAscribe, parsAscribe, 0, 0)
|
|
|
|
|
|
+ companyNoRenewedAscribeList, err := company.GetCompanyContractNoRenewedAscribeList(conditionAscribe, parsAscribe, 0, 0)
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
br.Msg = "获取失败"
|
|
br.Msg = "获取失败"
|
|
br.ErrMsg = "获取失败,GetCompanyNoRenewedAscribeList Err:" + err.Error()
|
|
br.ErrMsg = "获取失败,GetCompanyNoRenewedAscribeList Err:" + err.Error()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- var companyIds []int
|
|
|
|
|
|
+ var noRenewedcompanyContractIds []int
|
|
if len(companyNoRenewedAscribeList) == 0 {
|
|
if len(companyNoRenewedAscribeList) == 0 {
|
|
- companyIds = append(companyIds, 0) // 给一个不存在的ID
|
|
|
|
|
|
+ noRenewedcompanyContractIds = append(noRenewedcompanyContractIds, 0) // 给一个不存在的ID
|
|
} else {
|
|
} else {
|
|
for _, v := range companyNoRenewedAscribeList {
|
|
for _, v := range companyNoRenewedAscribeList {
|
|
- companyIds = append(companyIds, v.CompanyId)
|
|
|
|
|
|
+ noRenewedcompanyContractIds = append(noRenewedcompanyContractIds, v.CompanyContractId)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- conditionAscribRai += ` AND c.company_id IN (` + utils.GetOrmInReplace(len(companyIds)) + `)`
|
|
|
|
- parsAscribeRai = append(parsAscribeRai, companyIds)
|
|
|
|
|
|
+ conditionAscribRai += ` AND a.company_contract_id IN (` + utils.GetOrmInReplace(len(noRenewedcompanyContractIds)) + `)`
|
|
|
|
+ parsAscribeRai = append(parsAscribeRai, noRenewedcompanyContractIds)
|
|
}
|
|
}
|
|
|
|
|
|
condition += ` AND c.product_id = ? AND a.status = 1 `
|
|
condition += ` AND c.product_id = ? AND a.status = 1 `
|
|
@@ -290,15 +285,6 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
|
|
condition1 := condition
|
|
condition1 := condition
|
|
pars1 := pars
|
|
pars1 := pars
|
|
|
|
|
|
- //endDateTime, err := time.Parse(utils.FormatDate, endDate)
|
|
|
|
- //if err != nil {
|
|
|
|
- // br.Msg = "结束时间异常"
|
|
|
|
- // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
- // return
|
|
|
|
- //}
|
|
|
|
- ////选择的日期加一天的原因是因为:筛选条件是截止到时分秒的,如果要把选择的这一天也统计进去,那么需要在选择的结束日期基础上加上一天
|
|
|
|
- //tryOutEndDate := endDateTime.AddDate(0, 0, 1).Format(utils.FormatDate)
|
|
|
|
-
|
|
|
|
condition1 += ` AND a.end_date >= ? AND a.end_date <= ? `
|
|
condition1 += ` AND a.end_date >= ? AND a.end_date <= ? `
|
|
pars1 = append(pars1, startDate, endDate)
|
|
pars1 = append(pars1, startDate, endDate)
|
|
//condition1 += ` AND a.operation = ? `
|
|
//condition1 += ` AND a.operation = ? `
|
|
@@ -368,13 +354,6 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
|
|
total = notRenewalNotTryOut
|
|
total = notRenewalNotTryOut
|
|
}
|
|
}
|
|
|
|
|
|
- //total, err := models.GetIncrementalCompanyProductCountByOperationRecord(condition1, pars1)
|
|
|
|
- //if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
- // br.Msg = "获取失败"
|
|
|
|
- // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
- // return
|
|
|
|
- //}
|
|
|
|
-
|
|
|
|
//分页total单独计算
|
|
//分页total单独计算
|
|
total, err = company.GetIncrementalRenewalCompanyProductMergeCount(condition1, pars1)
|
|
total, err = company.GetIncrementalRenewalCompanyProductMergeCount(condition1, pars1)
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
@@ -392,18 +371,20 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
|
|
}
|
|
}
|
|
|
|
|
|
var ascribecompanyIds []int
|
|
var ascribecompanyIds []int
|
|
|
|
+ var companyContractIds []int
|
|
for _, item := range tmpList {
|
|
for _, item := range tmpList {
|
|
//endDateTime, _ := time.Parse(utils.FormatDateTime, item.CreateTime)
|
|
//endDateTime, _ := time.Parse(utils.FormatDateTime, item.CreateTime)
|
|
//item.EndDate = endDateTime.Format(utils.FormatDate)
|
|
//item.EndDate = endDateTime.Format(utils.FormatDate)
|
|
ascribecompanyIds = append(ascribecompanyIds, item.CompanyId)
|
|
ascribecompanyIds = append(ascribecompanyIds, item.CompanyId)
|
|
|
|
+ companyContractIds = append(companyContractIds, item.CompanyContractId)
|
|
}
|
|
}
|
|
- //归因标签
|
|
|
|
- mapGetCompanyAscribeContent, mapContent := services.GetCompanyAscribeContentMap(ascribecompanyIds)
|
|
|
|
|
|
+ //合同归因标签
|
|
|
|
+ mapGetCompanyAscribeContent, mapContent := services.GetCompanyContractAscribeContentMap(companyContractIds)
|
|
mapNoRenewedNote := services.GetCompanyNoRenewedNoteMap(ascribecompanyIds)
|
|
mapNoRenewedNote := services.GetCompanyNoRenewedNoteMap(ascribecompanyIds)
|
|
|
|
|
|
for _, item := range tmpList {
|
|
for _, item := range tmpList {
|
|
- item.AscribeContent = mapGetCompanyAscribeContent[fmt.Sprint("CID_", item.CompanyId, "PID_", item.ProductId)]
|
|
|
|
- item.Content = mapContent[fmt.Sprint("CID_", item.CompanyId, "PID_", item.ProductId)]
|
|
|
|
|
|
+ item.AscribeContent = mapGetCompanyAscribeContent[item.CompanyContractId]
|
|
|
|
+ item.Content = mapContent[item.CompanyContractId]
|
|
item.IsShowNoRenewedNote = mapNoRenewedNote[fmt.Sprint("CID_", item.CompanyId, "PID_", item.ProductId)]
|
|
item.IsShowNoRenewedNote = mapNoRenewedNote[fmt.Sprint("CID_", item.CompanyId, "PID_", item.ProductId)]
|
|
}
|
|
}
|
|
|
|
|
|
@@ -536,58 +517,10 @@ func MergeCompanyListListExport(this *StatisticCompanyMergerController, dataType
|
|
cellSellerName.SetStyle(style)
|
|
cellSellerName.SetStyle(style)
|
|
cellSellerName.SetValue("所属销售")
|
|
cellSellerName.SetValue("所属销售")
|
|
|
|
|
|
- //permissionMap := make(map[int][]string)
|
|
|
|
- //tmpPermissionMap := make(map[int]map[string][]string)
|
|
|
|
- //companyContractIdList := make([]string, 0)
|
|
|
|
- //for _, v := range resp.List {
|
|
|
|
- // companyContractIdList = append(companyContractIdList, fmt.Sprint(v.CompanyContractId))
|
|
|
|
- //}
|
|
|
|
- //if dataType == "新签客户" || dataType == "续约客户" {
|
|
|
|
cellMoney := titleRow.AddCell()
|
|
cellMoney := titleRow.AddCell()
|
|
cellMoney.SetStyle(style)
|
|
cellMoney.SetStyle(style)
|
|
cellMoney.SetValue("合同金额")
|
|
cellMoney.SetValue("合同金额")
|
|
|
|
|
|
- //这么大费周章的目的是为了:权益的品种存在主观、客观的区分,如果一个品种既存在主观,又存在客观,那么就展示品种名称,否则就要列出品种名称+主、客观类型
|
|
|
|
- //if len(companyContractIdList) > 0 {
|
|
|
|
- // list, tmpErr := company.GetCompanyContractPermissionListByContractIds(strings.Join(companyContractIdList, ","))
|
|
|
|
- // if tmpErr != nil {
|
|
|
|
- // err = tmpErr
|
|
|
|
- // return
|
|
|
|
- // }
|
|
|
|
- // for _, v := range list {
|
|
|
|
- // tmpPermissionNameMap, ok := tmpPermissionMap[v.CompanyContractId]
|
|
|
|
- // if ok {
|
|
|
|
- // tmpPermissionNameList, ok2 := tmpPermissionNameMap[v.ChartPermissionName]
|
|
|
|
- // if ok2 {
|
|
|
|
- // tmpPermissionNameList = append(tmpPermissionNameList, v.PermissionRemark)
|
|
|
|
- // } else {
|
|
|
|
- // tmpPermissionNameList = []string{v.PermissionRemark}
|
|
|
|
- // }
|
|
|
|
- // tmpPermissionNameMap[v.ChartPermissionName] = tmpPermissionNameList
|
|
|
|
- // } else {
|
|
|
|
- // tmpPermissionNameMap = make(map[string][]string)
|
|
|
|
- // tmpPermissionNameMap[v.ChartPermissionName] = []string{v.PermissionRemark}
|
|
|
|
- // }
|
|
|
|
- // tmpPermissionMap[v.CompanyContractId] = tmpPermissionNameMap
|
|
|
|
- // }
|
|
|
|
- //}
|
|
|
|
- //}
|
|
|
|
-
|
|
|
|
- //for companyContractId, tmpPermissionNameMap := range tmpPermissionMap {
|
|
|
|
- // tmpPermissionName := ``
|
|
|
|
- // tmpPermissionList := []string{}
|
|
|
|
- // for tmpChartPermissionName, tmpChartPermissionNameList := range tmpPermissionNameMap {
|
|
|
|
- // if len(tmpChartPermissionNameList) > 1 {
|
|
|
|
- // tmpPermissionName = tmpChartPermissionName
|
|
|
|
- // } else {
|
|
|
|
- // tmpPermissionName = tmpChartPermissionNameList[0]
|
|
|
|
- // }
|
|
|
|
- // tmpPermissionList = append(tmpPermissionList, tmpPermissionName)
|
|
|
|
- // }
|
|
|
|
- //
|
|
|
|
- // permissionMap[companyContractId] = tmpPermissionList
|
|
|
|
- //}
|
|
|
|
-
|
|
|
|
cellTime := titleRow.AddCell()
|
|
cellTime := titleRow.AddCell()
|
|
cellTime.SetStyle(style)
|
|
cellTime.SetStyle(style)
|
|
switch dataType {
|
|
switch dataType {
|