|
@@ -3,10 +3,15 @@ package controllers
|
|
|
import (
|
|
|
"fmt"
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "github.com/tealeg/xlsx"
|
|
|
"hongze/hz_crm_api/models"
|
|
|
"hongze/hz_crm_api/models/company"
|
|
|
"hongze/hz_crm_api/models/response"
|
|
|
"hongze/hz_crm_api/services"
|
|
|
+ "os"
|
|
|
+ "path/filepath"
|
|
|
+ "strings"
|
|
|
+
|
|
|
//"hongze/hz_crm_api/services"
|
|
|
"hongze/hz_crm_api/utils"
|
|
|
//"strings"
|
|
@@ -19,9 +24,9 @@ type StatisticCompanyMergerController struct {
|
|
|
BaseAuthController
|
|
|
}
|
|
|
|
|
|
-// IncrementalCompanyList
|
|
|
-// @Title 获取增量客户数据列表
|
|
|
-// @Description 获取增量客户数据列表接口
|
|
|
+// MergeCompanyList
|
|
|
+// @Title 权益客户统计列表(合同进行合并之后的)
|
|
|
+// @Description 权益客户统计列表接口
|
|
|
// @Param PageSize query int true "每页数据条数"
|
|
|
// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
// @Param Keyword query string true "客户名称"
|
|
@@ -38,7 +43,7 @@ type StatisticCompanyMergerController struct {
|
|
|
// @Param PackageDifference query string false "和上一份合同的区别,枚举值:`增加套餐`,`减少套餐`,`维持套餐`"
|
|
|
// @Success 200 {object} response.IncrementalCompanyListResp
|
|
|
// @router /merge_company_list [get]
|
|
|
-func (this *StatisticCompanyMergerController) IncrementalCompanyList() {
|
|
|
+func (this *StatisticCompanyMergerController) MergeCompanyList() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
this.Data["json"] = br
|
|
@@ -115,20 +120,17 @@ func (this *StatisticCompanyMergerController) IncrementalCompanyList() {
|
|
|
pars = append(pars, regionType)
|
|
|
}
|
|
|
|
|
|
- if packageDifference != "" {
|
|
|
- condition += ` AND b.package_difference = ? `
|
|
|
- pars = append(pars, regionType)
|
|
|
- }
|
|
|
-
|
|
|
//关键字搜索
|
|
|
if keyword != "" {
|
|
|
condition += ` and b.company_name like "%` + keyword + `%" `
|
|
|
}
|
|
|
|
|
|
- var conditionAscribRai string // 处理权益未续约客户检索列表SQL查询条件
|
|
|
- var conditionAscribRaiTotal string // 处理权益未续约客户总量查询条件
|
|
|
+ var conditionAscribRai string // 处理权益未续约客户检索列表SQL查询条件
|
|
|
+ var conditionAscribRaiTotal string // 处理权益未续约客户总量查询条件
|
|
|
+ var conditionAscribRaiToBeTotal string // 处理权益未续约客户待确认总量查询条件
|
|
|
var parsAscribeRai []interface{}
|
|
|
- var parsAscribeRaiTotal []interface{} // 处理权益未续约客户总量查询条件
|
|
|
+ var parsAscribeRaiTotal []interface{} // 处理权益未续约客户总量查询条件
|
|
|
+ var parsAscribeRaiTobeTotal []interface{} // 处理权益未续约客户待确认总量查询条件
|
|
|
var conditionConfirm string
|
|
|
var parsConfirm []interface{}
|
|
|
|
|
@@ -149,6 +151,10 @@ func (this *StatisticCompanyMergerController) IncrementalCompanyList() {
|
|
|
//是否确认续约 CRM 13.9
|
|
|
conditionAscribRaiTotal += ` AND ( c.company_id IN (` + utils.GetOrmInReplace(len(noRenewedcompanyIds)) + `) OR c.product_id = 1 OR a.create_time < '2023-01-01' ) ` // 已确认
|
|
|
parsAscribeRaiTotal = append(parsAscribeRaiTotal, noRenewedcompanyIds)
|
|
|
+
|
|
|
+ conditionAscribRaiToBeTotal += ` AND ( c.company_id NOT IN (` + utils.GetOrmInReplace(len(noRenewedcompanyIds)) + `) AND c.product_id = 2 AND a.create_time >= '2023-01-01' ) ` // 待确认
|
|
|
+ parsAscribeRaiTobeTotal = append(parsAscribeRaiTobeTotal, noRenewedcompanyIds)
|
|
|
+
|
|
|
if isConfirm != -1 {
|
|
|
if isConfirm == 0 {
|
|
|
conditionAscribRai += ` AND ( c.company_id NOT IN (` + utils.GetOrmInReplace(len(noRenewedcompanyIds)) + `) AND c.product_id = 2 AND a.create_time >= '2023-01-01' ) ` // 待确认
|
|
@@ -199,8 +205,10 @@ func (this *StatisticCompanyMergerController) IncrementalCompanyList() {
|
|
|
var list []*models.IncrementalList
|
|
|
//moreListMap := make(map[int][]*models.IncrementalList)
|
|
|
|
|
|
- var newCompanyTotal int //新签合同数量
|
|
|
- var dataTotal, trialTotal, renewalCompanyTotal, notRenewalCompanyTotal int
|
|
|
+ var newCompanyTotal int //新签合同数量
|
|
|
+ var notRenewalCompanyTotal int //未续约客户数已确认
|
|
|
+ var notRenewalCompanyToBeConfirmTotal int //未续约客户数待确认
|
|
|
+ var dataTotal, trialTotal, renewalCompanyTotal int
|
|
|
var notRenewalTryOut, notRenewalNotTryOut int
|
|
|
|
|
|
//新签客户数
|
|
@@ -241,6 +249,7 @@ func (this *StatisticCompanyMergerController) IncrementalCompanyList() {
|
|
|
|
|
|
//续约客户数
|
|
|
{
|
|
|
+
|
|
|
condition1 := condition
|
|
|
pars1 := pars
|
|
|
condition1 += ` AND a.start_date >= ? AND a.start_date <= ? `
|
|
@@ -248,6 +257,12 @@ func (this *StatisticCompanyMergerController) IncrementalCompanyList() {
|
|
|
condition1 += ` AND a.contract_type = ? `
|
|
|
pars1 = append(pars1, "续约合同")
|
|
|
|
|
|
+ //续约的客户才会查询
|
|
|
+ if packageDifference != "" {
|
|
|
+ condition1 += ` AND a.package_difference = ? `
|
|
|
+ pars1 = append(pars1, packageDifference)
|
|
|
+ }
|
|
|
+
|
|
|
////额外条件(续约合同的起始日期包含在所选时间段内且不包含在新签合同存续期内的客户)
|
|
|
//pars1 = append(pars1, endDate)
|
|
|
|
|
@@ -301,7 +316,7 @@ func (this *StatisticCompanyMergerController) IncrementalCompanyList() {
|
|
|
pars1 = append(pars1, "try_out")
|
|
|
condition1 += ` AND c.status not in ("永续","正式","关闭") `
|
|
|
|
|
|
- //未续约这里只统计已经确定的
|
|
|
+ //未续约已确认数量
|
|
|
notRenewalCondition := condition1
|
|
|
notRenewalPars := pars1
|
|
|
notRenewalCondition += conditionAscribRaiTotal
|
|
@@ -314,6 +329,18 @@ func (this *StatisticCompanyMergerController) IncrementalCompanyList() {
|
|
|
}
|
|
|
notRenewalCompanyTotal = total
|
|
|
|
|
|
+ //未续约待确认数量
|
|
|
+ notRenewalToBeCondition := condition1
|
|
|
+ notRenewalToBePars := pars1
|
|
|
+ notRenewalToBeCondition += conditionAscribRaiToBeTotal
|
|
|
+ notRenewalToBePars = append(notRenewalToBePars, parsAscribeRaiTobeTotal)
|
|
|
+ notRenewalCompanyToBeConfirmTotal, err = models.GetIncrementalCompanyCountByOperationRecord(notRenewalToBeCondition, notRenewalToBePars)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
condition1 += conditionAscribRai
|
|
|
pars1 = append(pars1, parsAscribeRai)
|
|
|
if dataType == "未续约客户" {
|
|
@@ -401,9 +428,10 @@ func (this *StatisticCompanyMergerController) IncrementalCompanyList() {
|
|
|
if listLen == 0 {
|
|
|
list = make([]*models.IncrementalList, 0)
|
|
|
}
|
|
|
+ mapCompamy := make(map[int]string)
|
|
|
for i := 0; i < listLen; i++ {
|
|
|
item := list[i]
|
|
|
-
|
|
|
+ mapCompamy[item.CompanyId] = item.CompanyContractIdGroup
|
|
|
//新增试用不需要计算剩余日期
|
|
|
if dataType != "新增试用" {
|
|
|
//剩余可用天数
|
|
@@ -413,25 +441,308 @@ func (this *StatisticCompanyMergerController) IncrementalCompanyList() {
|
|
|
expireDay := fmt.Sprintf("%v", int(sub.Hours()/24))
|
|
|
list[i].ExpireDay = expireDay
|
|
|
}
|
|
|
-
|
|
|
+ }
|
|
|
+ if dataType == "新签客户" || dataType == "续约客户" {
|
|
|
+ //合并合同所对应的权限
|
|
|
+ mappermissionName, err := services.GetCompanyContractPermissionNameMapById(mapCompamy)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range list {
|
|
|
+ v.PermissionName = mappermissionName[v.CompanyId]
|
|
|
+ }
|
|
|
}
|
|
|
page := paging.GetPaging(currentIndex, pageSize, dataTotal)
|
|
|
resp := response.IncrementalCompanyListResp{
|
|
|
- Paging: page,
|
|
|
- List: list,
|
|
|
- TrialTotal: trialTotal,
|
|
|
- NewCompanyTotal: newCompanyTotal,
|
|
|
- RenewalCompanyTotal: renewalCompanyTotal,
|
|
|
- NotRenewalCompanyTotal: notRenewalCompanyTotal,
|
|
|
- NotRenewalTryOut: notRenewalTryOut,
|
|
|
- NotRenewalNotTryOut: notRenewalNotTryOut,
|
|
|
+ Paging: page,
|
|
|
+ List: list,
|
|
|
+ TrialTotal: trialTotal,
|
|
|
+ NewCompanyTotal: newCompanyTotal,
|
|
|
+ RenewalCompanyTotal: renewalCompanyTotal,
|
|
|
+ NotRenewalCompanyTotal: notRenewalCompanyTotal,
|
|
|
+ NotRenewalCompanyToBeConfirmTotal: notRenewalCompanyToBeConfirmTotal,
|
|
|
+ NotRenewalTryOut: notRenewalTryOut,
|
|
|
+ NotRenewalNotTryOut: notRenewalNotTryOut,
|
|
|
}
|
|
|
//fmt.Println()
|
|
|
//导出excel
|
|
|
if isExport {
|
|
|
- //IncrementalCompanyListExport(this, dataType, resp, br)
|
|
|
+ MergeCompanyListListExport(this, dataType, resp, br)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// IncrementalCompanyListExport 导出增量客户数据报表excel
|
|
|
+func MergeCompanyListListExport(this *StatisticCompanyMergerController, dataType string, resp response.IncrementalCompanyListResp, br *models.BaseResponse) {
|
|
|
+ dir, err := os.Executable()
|
|
|
+ exPath := filepath.Dir(dir)
|
|
|
+ downLoadnFilePath := exPath + "/" + time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
|
|
|
+ xlsxFile := xlsx.NewFile()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "生成文件失败"
|
|
|
+ br.ErrMsg = "生成文件失败"
|
|
|
return
|
|
|
}
|
|
|
+ style := xlsx.NewStyle()
|
|
|
+ alignment := xlsx.Alignment{
|
|
|
+ Horizontal: "center",
|
|
|
+ Vertical: "center",
|
|
|
+ WrapText: true,
|
|
|
+ }
|
|
|
+
|
|
|
+ style.Alignment = alignment
|
|
|
+ style.ApplyAlignment = true
|
|
|
+
|
|
|
+ sheel, err := xlsxFile.AddSheet("增量客户数据")
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "新增Sheet失败"
|
|
|
+ br.ErrMsg = "新增Sheet失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sheel.SetColWidth(0, 0, 30)
|
|
|
+ sheel.SetColWidth(1, 1, 15)
|
|
|
+ sheel.SetColWidth(2, 2, 15)
|
|
|
+ sheel.SetColWidth(3, 3, 18)
|
|
|
+ sheel.SetColWidth(4, 4, 40)
|
|
|
+ sheel.SetColWidth(5, 5, 18)
|
|
|
+
|
|
|
+ //统计数据
|
|
|
+ statisticRow := sheel.AddRow()
|
|
|
+
|
|
|
+ cell1 := statisticRow.AddCell()
|
|
|
+ cell1.SetStyle(style)
|
|
|
+ cell1.SetValue(fmt.Sprint("新增试用客户数:", resp.TrialTotal))
|
|
|
+
|
|
|
+ cell2 := statisticRow.AddCell()
|
|
|
+ cell2.SetStyle(style)
|
|
|
+ cell2.SetValue(fmt.Sprint("新签客户数:", resp.NewCompanyTotal))
|
|
|
+
|
|
|
+ cell3 := statisticRow.AddCell()
|
|
|
+ cell3.SetStyle(style)
|
|
|
+ cell3.SetValue(fmt.Sprint("续约客户数:", resp.RenewalCompanyTotal))
|
|
|
+
|
|
|
+ cell4 := statisticRow.AddCell()
|
|
|
+ cell4.SetStyle(style)
|
|
|
+ cell4.SetValue(fmt.Sprint("未续约客户数:", resp.NotRenewalCompanyTotal))
|
|
|
+ //表头
|
|
|
+
|
|
|
+ titleRow := sheel.AddRow()
|
|
|
+
|
|
|
+ cellName := titleRow.AddCell()
|
|
|
+ cellName.SetStyle(style)
|
|
|
+ cellName.SetValue("客户名称")
|
|
|
+
|
|
|
+ cellProName := titleRow.AddCell()
|
|
|
+ cellProName.SetStyle(style)
|
|
|
+ cellProName.SetValue("客户类型")
|
|
|
+
|
|
|
+ cellSellerName := titleRow.AddCell()
|
|
|
+ cellSellerName.SetStyle(style)
|
|
|
+ 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.SetStyle(style)
|
|
|
+ cellMoney.SetValue("合同金额")
|
|
|
+ cellPermission := titleRow.AddCell()
|
|
|
+ cellPermission.SetStyle(style)
|
|
|
+ cellPermission.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.SetStyle(style)
|
|
|
+ switch dataType {
|
|
|
+ case "新增试用":
|
|
|
+ cellTime.SetValue("新增时间")
|
|
|
+ case "新签客户":
|
|
|
+ cellTime.SetValue("签约时间")
|
|
|
+ case "续约客户":
|
|
|
+ cellTime.SetValue("续约时间")
|
|
|
+ case "未续约客户":
|
|
|
+ cellTime.SetValue("最近合同到期时间")
|
|
|
+
|
|
|
+ cellAscribeContent := titleRow.AddCell()
|
|
|
+ cellAscribeContent.SetStyle(style)
|
|
|
+ cellAscribeContent.SetValue("不续约归因")
|
|
|
+
|
|
|
+ cellContent := titleRow.AddCell()
|
|
|
+ cellContent.SetStyle(style)
|
|
|
+ cellContent.SetValue("详细原因")
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range resp.List {
|
|
|
+ dataRow := sheel.AddRow()
|
|
|
+ dataRow.SetHeight(20)
|
|
|
+
|
|
|
+ cellDataName := dataRow.AddCell()
|
|
|
+ cellDataName.SetStyle(style)
|
|
|
+ cellDataName.SetValue(v.CompanyName)
|
|
|
+
|
|
|
+ cellDataProName := dataRow.AddCell()
|
|
|
+ cellDataProName.SetStyle(style)
|
|
|
+ cellDataProName.SetValue(v.ProductName)
|
|
|
+
|
|
|
+ cellDataSellerName := dataRow.AddCell()
|
|
|
+ cellDataSellerName.SetStyle(style)
|
|
|
+ cellDataSellerName.SetValue(v.SellerName)
|
|
|
+
|
|
|
+ if dataType == "新签客户" || dataType == "续约客户" {
|
|
|
+ cellDataMoney := dataRow.AddCell()
|
|
|
+ cellDataMoney.SetStyle(style)
|
|
|
+ cellDataMoney.SetValue(v.Money)
|
|
|
+ cellDataPermission := dataRow.AddCell()
|
|
|
+ cellDataPermission.SetStyle(style)
|
|
|
+ if permissionStrList, ok := permissionMap[v.CompanyContractId]; ok {
|
|
|
+ cellDataPermission.SetValue(strings.Join(permissionStrList, ","))
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ cellDataTime := dataRow.AddCell()
|
|
|
+ cellDataTime.SetStyle(style)
|
|
|
+ switch dataType {
|
|
|
+ case "新增试用":
|
|
|
+ cellDataTime.SetValue(v.CreateTime)
|
|
|
+ case "新签客户":
|
|
|
+ cellDataTime.SetValue(v.StartDate)
|
|
|
+ case "续约客户":
|
|
|
+ cellDataTime.SetValue(v.StartDate)
|
|
|
+ case "未续约客户":
|
|
|
+ cellDataTime.SetValue(v.EndDate)
|
|
|
+
|
|
|
+ cellAscribeContent := dataRow.AddCell()
|
|
|
+ cellAscribeContent.SetStyle(style)
|
|
|
+ cellAscribeContent.SetValue(v.AscribeContent)
|
|
|
+
|
|
|
+ cellContent := dataRow.AddCell()
|
|
|
+ cellContent.SetStyle(style)
|
|
|
+ cellContent.SetValue(v.Content)
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ err = xlsxFile.Save(downLoadnFilePath)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "保存文件失败"
|
|
|
+ br.ErrMsg = "保存文件失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ randStr := time.Now().Format(utils.FormatDateTimeUnSpace)
|
|
|
+ downloadFileName := "增量客户数据_" + randStr + ".xlsx"
|
|
|
+ this.Ctx.Output.Download(downLoadnFilePath, downloadFileName)
|
|
|
+ defer func() {
|
|
|
+ os.Remove(downLoadnFilePath)
|
|
|
+ }()
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "导出成功"
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 上一份合同详情
|
|
|
+// @Description 上一份合同详情接口
|
|
|
+// @Param ComPanyId query int true "公司ID"
|
|
|
+// @Success Ret=200 {object} company.GetCompanyContractMergeDetailResp
|
|
|
+// @router /merge_company_previous/detail [get]
|
|
|
+func (this *StatisticCompanyMergerController) CompanyPreviousDetail() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ AdminUser := this.SysUser
|
|
|
+ if AdminUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,用户信息为空"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp := new(company.GetCompanyContractMergeDetailResp)
|
|
|
+ comPanyId, _ := this.GetInt("ComPanyId")
|
|
|
+ if comPanyId < 1 {
|
|
|
+ br.Msg = "请输入公司ID"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ condition = " AND company_id = ? ORDER BY start_date DESC LIMIT 1 "
|
|
|
+ pars = append(pars, comPanyId)
|
|
|
+ detail, err := company.GetCompanyContractMergeDetail(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "详情不存在"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ condition = " AND company_id = ? AND company_contract_merge_id != ? ORDER BY start_date DESC LIMIT 1 "
|
|
|
+ pars = append(pars, comPanyId, detail.CompanyContractMergeId)
|
|
|
+ detailPrevious, err := company.GetCompanyContractMergeDetail(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "详情不存在"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ resp.Detail = detailPrevious
|
|
|
+ mappermissionName, err := services.GetCompanyContractPermissionNameMapById(map[int]string{detailPrevious.CompanyId: detailPrevious.CompanyContractIdGroup})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ detailPrevious.PermissionName = mappermissionName[detailPrevious.CompanyId]
|
|
|
+
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|