Browse Source

财务系统获取品种修改

xyxie 11 months ago
parent
commit
606e3e286a

+ 22 - 35
controller/contract/pre_register.go

@@ -513,7 +513,7 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 	}
 	updateCols := []string{
 		"ProductIds", "CompanyName", "SellerId", "SellerName", "StartDate", "EndDate",
-		"RaiSellerId", "RaiSellerName", "ModifyTime", "CurrencyUnit","ContractType","HasPayment",
+		"RaiSellerId", "RaiSellerName", "ModifyTime", "CurrencyUnit", "ContractType", "HasPayment",
 	}
 
 	invoiceList := make([]*fms.ContractInvoice, 0)
@@ -569,8 +569,8 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 			resp.Fail("销售信息异常", c)
 			return
 		}
-		fmt.Println("SellerId",sellerItem.SellerId)
-		fmt.Println("SellerName",sellerItem.SellerName)
+		fmt.Println("SellerId", sellerItem.SellerId)
+		fmt.Println("SellerName", sellerItem.SellerName)
 		v.SellerId = sellerItem.SellerId
 		v.SellerName = sellerItem.SellerName
 		v.SellerGroupId = sellerItem.GroupId
@@ -627,7 +627,7 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 			pp.PaymentSellerTeamName = sellerItem.TeamName
 			ppUpdateCols = append(ppUpdateCols, "InvoiceDate", "Amount", "OriginAmount", "SellerId",
 				"SellerName", "SellerGroupId", "SellerGroupName", "SellerTeamId", "SellerTeamName", "InvoiceId",
-				"PaymentSellerId", "PaymentSellerName", "PaymentSellerGroupId", "PaymentSellerGroupName", "PaymentSellerTeamId", "PaymentSellerTeamName","ContractType","HasPayment")
+				"PaymentSellerId", "PaymentSellerName", "PaymentSellerGroupId", "PaymentSellerGroupName", "PaymentSellerTeamId", "PaymentSellerTeamName", "ContractType", "HasPayment")
 		} else {
 			//到款
 			pp.ArriveRemark = r.Remark
@@ -650,7 +650,7 @@ func (rg *PreRegisterController) Edit(c *gin.Context) {
 			pp.PaymentSellerTeamId = sellerItem.TeamId
 			pp.PaymentSellerTeamName = sellerItem.TeamName
 			ppUpdateCols = append(ppUpdateCols, "CurrencyUnit", "ArriveDate", "ArriveAmount", "ArriveOriginAmount", "ArriveId",
-				"PaymentSellerId", "PaymentSellerName", "PaymentSellerGroupId", "PaymentSellerGroupName", "PaymentSellerTeamId", "PaymentSellerTeamName","ContractType","HasPayment")
+				"PaymentSellerId", "PaymentSellerName", "PaymentSellerGroupId", "PaymentSellerGroupName", "PaymentSellerTeamId", "PaymentSellerTeamName", "ContractType", "HasPayment")
 		}
 
 		if pp.PreRegisterId == 0 {
@@ -772,7 +772,7 @@ func (rg *PreRegisterController) Del(c *gin.Context) {
 		resp.FailMsg("删除统计记录失败", "Err:"+e.Error(), c)
 		return
 	}
-	if count == 0{
+	if count == 0 {
 		ob := new(fms.ContractRegister)
 		item, e := ob.Fetch(req.ContractRegisterId)
 		if e != nil {
@@ -907,57 +907,44 @@ func (rg *PreRegisterController) Detail(c *gin.Context) {
 	}
 
 	//获取ficc小套餐品种
-	sysConf := new(system.SysConfig)
-	confCond := `config_code = ?`
-	confPars := make([]interface{}, 0)
-	confPars = append(confPars, system.ConfigKeyCrmPermissionFiccClassify)
-	confItem, e := sysConf.FetchByCondition(confCond, confPars)
-	if e != nil {
-		resp.FailData("获取失败", "Err:"+e.Error(), c)
-		return
-	}
-	if confItem.ConfigValue == "" {
-		resp.FailData("获取失败", "FICC品种分类配置为空", c)
-		return
-	}
-	classifyArr := strings.Split(confItem.ConfigValue, ",")
-	if len(classifyArr) == 0 {
-		resp.FailData("获取失败", "FICC品种分类配置为空", c)
-		return
-	}
 	// 获取FICC权限
-	ficcCond := `enabled = 1 AND permission_type = 0 AND product_id = ? AND classify_name IN ?`
+	ficcCond := `enabled = 1 AND permission_type = 0 AND product_id = ? AND classify_name <> "市场策略"`
 	ficcPars := make([]interface{}, 0)
-	ficcPars = append(ficcPars, 1, classifyArr)
+	ficcPars = append(ficcPars, 1)
 	items, e := crm.GetPermissionSetItemsByCondition(ficcCond, ficcPars)
 	if e != nil {
 		resp.FailData("获取失败", "获取FICC权限信息失败, Err: "+e.Error(), c)
 		return
 	}
-	ficcItemMap := make(map[string][]*crm.PermissionSetItem, 0)
+	ficcItemMap := make(map[int][]*crm.PermissionSetItem, 0)
 	for i := range items {
-		if ficcItemMap[items[i].ClassifyName] == nil {
-			ficcItemMap[items[i].ClassifyName] = make([]*crm.PermissionSetItem, 0)
+		if items[i].ParentId > 0 {
+			if ficcItemMap[items[i].ParentId] == nil {
+				ficcItemMap[items[i].ParentId] = make([]*crm.PermissionSetItem, 0)
+			}
+			ficcItemMap[items[i].ParentId] = append(ficcItemMap[items[i].ParentId], items[i])
 		}
-		ficcItemMap[items[i].ClassifyName] = append(ficcItemMap[items[i].ClassifyName], items[i])
 	}
 
 	sTempIdMap := make(map[string]int, 0)
 
-	for i := range classifyArr {
-		if classifyArr[i] == "市场策略" {
+	for i := range items {
+		if items[i].ParentId > 0 {
+			continue
+		}
+		if items[i].PermissionName == "市场策略" {
 			continue
 		}
 		checkList := make([]int, 0)
-		if classifyArr[i] == "宏观经济" {
-			checkList = append(checkList, 1)
+		if items[i].IsPublic == 1 {
+			checkList = append(checkList, items[i].ChartPermissionId)
 		}
 
 		pItem := fms.ContractServiceTemplateItem{
 			ServiceTemplateId: 90000 + i*100,
 		}
 
-		ficcItems := ficcItemMap[classifyArr[i]]
+		ficcItems := ficcItemMap[items[i].ChartPermissionId]
 		for _, ficcItem := range ficcItems {
 			sTempIdMap[strconv.Itoa(ficcItem.ChartPermissionId)] = pItem.ServiceTemplateId + ficcItem.ChartPermissionId
 		}

+ 3 - 4
controller/contract/register.go

@@ -720,7 +720,6 @@ func (rg *RegisterController) Add(c *gin.Context) {
 			}
 		}
 
-
 		//先遍历一遍拿到开票销售信息
 		for _, ppItem := range nDupList {
 			j := 0
@@ -984,7 +983,7 @@ func (rg *RegisterController) Edit(c *gin.Context) {
 	originHasInvoice := item.HasInvoice
 
 	updateCols := []string{
-		"ProductIds", "ContractCode", "RelateContractCode","RelateContractMainCode", "CrmContractId", "ContractSource", "CompanyName",
+		"ProductIds", "ContractCode", "RelateContractCode", "RelateContractMainCode", "CrmContractId", "ContractSource", "CompanyName",
 		"SellerId", "SellerName", "ContractType", "ContractAmount", "StartDate", "EndDate", "SignDate", "AgreedPayTime", "RaiSellerId", "RaiSellerName",
 		"ContractStatus", "RegisterStatus", "Remark", "ServiceRemark", "HasPayment", "ModifyTime", "HasInvoice", "ActualPayCompanies",
 	}
@@ -1805,7 +1804,7 @@ func (rg *RegisterController) Export(c *gin.Context) {
 	}
 
 	// 获取小套餐品种
-	cpCond := `product_id = ? AND permission_name <> ? AND enabled = 1 `
+	cpCond := `product_id = ? AND permission_name <> ? AND enabled = 1 AND parent_id> 0 `
 	cpPars := make([]interface{}, 0)
 	cpPars = append(cpPars, crm.CompanyProductFicc, crm.ChartPermissionStrategyName)
 	cp := new(crm.ChartPermission)
@@ -2997,7 +2996,7 @@ func (rg *RegisterController) Import(c *gin.Context) {
 							resp.Fail(fmt.Sprintf("第FICC销售名称和权益销售名称不可都为空, 请按模板导入", i+1), c)
 							return
 						}
-						if v != ""{
+						if v != "" {
 							sellerItem := sellerMap[v]
 							if sellerItem == nil {
 								resp.Fail(fmt.Sprintf("第%d行权益销售名称与系统销售不匹配, 请核对名称后导入", i+1), c)

+ 19 - 35
controller/contract/service.go

@@ -7,9 +7,7 @@ import (
 	"hongze/fms_api/global"
 	"hongze/fms_api/models/crm"
 	"hongze/fms_api/models/fms"
-	"hongze/fms_api/models/system"
 	"strconv"
-	"strings"
 )
 
 // ServiceController 合同套餐
@@ -98,61 +96,47 @@ func (sr *ServiceController) List(c *gin.Context) {
 
 		if v.Title == "FICC小套餐" {
 			//获取ficc小套餐品种
-			sysConf := new(system.SysConfig)
-			confCond := `config_code = ?`
-			confPars := make([]interface{}, 0)
-			confPars = append(confPars, system.ConfigKeyCrmPermissionFiccClassify)
-			confItem, e := sysConf.FetchByCondition(confCond, confPars)
-			if e != nil {
-				resp.FailData("获取失败", "Err:"+e.Error(), c)
-				return
-			}
-			if confItem.ConfigValue == "" {
-				resp.FailData("获取失败", "FICC品种分类配置为空", c)
-				return
-			}
-			classifyArr := strings.Split(confItem.ConfigValue, ",")
-			if len(classifyArr) == 0 {
-				resp.FailData("获取失败", "FICC品种分类配置为空", c)
-				return
-			}
-
 			// 获取FICC权限
-			ficcCond := `enabled = 1 AND permission_type = 0 AND product_id = ? AND classify_name IN ?`
+			ficcCond := `enabled = 1 AND parent_id> 0 AND permission_type = 0 AND product_id = ? AND classify_name IN ? `
 			ficcPars := make([]interface{}, 0)
-			ficcPars = append(ficcPars, 1, classifyArr)
+			ficcPars = append(ficcPars, 1)
 			items, e := crm.GetPermissionSetItemsByCondition(ficcCond, ficcPars)
 			if e != nil {
 				resp.FailData("获取失败", "获取FICC权限信息失败, Err: "+e.Error(), c)
 				return
 			}
-			ficcItemMap := make(map[string][]*crm.PermissionSetItem, 0)
-			for i := range items {
-				if ficcItemMap[items[i].ClassifyName] == nil {
-					ficcItemMap[items[i].ClassifyName] = make([]*crm.PermissionSetItem, 0)
+			ficcItemMap := make(map[int][]*crm.PermissionSetItem, 0)
+			for j := range items {
+				if items[j].ParentId > 0 {
+					if ficcItemMap[items[j].ParentId] == nil {
+						ficcItemMap[items[j].ParentId] = make([]*crm.PermissionSetItem, 0)
+					}
+					ficcItemMap[items[j].ParentId] = append(ficcItemMap[items[j].ParentId], items[i])
 				}
-				ficcItemMap[items[i].ClassifyName] = append(ficcItemMap[items[i].ClassifyName], items[i])
 			}
 
-			for i := range classifyArr {
-				if classifyArr[i] == "市场策略" {
+			for j := range items {
+				if items[j].ParentId > 0 {
+					continue
+				}
+				if items[j].PermissionName == "市场策略" {
 					continue
 				}
 				checkList := make([]int, 0)
-				if classifyArr[i] == "宏观经济" {
-					checkList = append(checkList, 1)
+				if items[j].IsPublic == 1 {
+					checkList = append(checkList, items[j].ChartPermissionId)
 				}
 
 				pItem := fms.ContractServiceTemplateItem{
-					ServiceTemplateId: 90000 + i*100,
+					ServiceTemplateId: 90000 + j*100,
 					ProductId:         1,
 					Pid:               v.ServiceTemplateId,
 					ParentTitle:       v.Title,
-					Title:             classifyArr[i],
+					Title:             items[j].PermissionName,
 				}
 
 				childs := make([]*fms.ContractServiceTemplateMapItems, 0)
-				ficcItems := ficcItemMap[classifyArr[i]]
+				ficcItems := ficcItemMap[items[j].ChartPermissionId]
 				for _, ficcItem := range ficcItems {
 					tempItem := fms.ContractServiceTemplateItem{
 						ServiceTemplateId: pItem.ServiceTemplateId + ficcItem.ChartPermissionId,

+ 23 - 39
controller/crm/contract.go

@@ -8,10 +8,8 @@ import (
 	"hongze/fms_api/models/base"
 	"hongze/fms_api/models/crm"
 	"hongze/fms_api/models/fms"
-	"hongze/fms_api/models/system"
 	crmService "hongze/fms_api/services/crm"
 	"hongze/fms_api/utils"
-	"strings"
 )
 
 // ContractController CRM系统合同
@@ -125,24 +123,24 @@ func (rg *ContractController) SearchList(c *gin.Context) {
 			Price:                   list[i].Price,
 			StartDate:               utils.TimeTransferString(utils.FormatDate, list[i].StartDate),
 			EndDate:                 utils.TimeTransferString(utils.FormatDate, list[i].EndDate),
-			ActualPayCompanies: businessPayMap[list[i].ContractId],
+			ActualPayCompanies:      businessPayMap[list[i].ContractId],
 		}
 		if list[i].ContractBusinessType == crm.ContractTypePayment {
 			respItem.ContractBusinessTypeInt = 2
-		}else {
+		} else {
 			respItem.ContractBusinessTypeInt = 1
 		}
-		if list[i].ContractType == "新签合同"{
+		if list[i].ContractType == "新签合同" {
 			respItem.ContractTypeInt = 1
-		} else if list[i].ContractType == "续约合同"{
+		} else if list[i].ContractType == "续约合同" {
 			respItem.ContractTypeInt = 2
-		} else if list[i].ContractType == "补充协议"{
+		} else if list[i].ContractType == "补充协议" {
 			respItem.ContractTypeInt = 3
 		}
 		respList = append(respList, respItem)
 
 	}
-	
+
 	page.SetTotal(total)
 	baseData := new(base.BaseData)
 	baseData.SetPage(page)
@@ -177,53 +175,39 @@ func (rg *ContractController) PermissionList(c *gin.Context) {
 	// FICC
 	if productId == 1 {
 		// 获取品种分类配置
-		sysConf := new(system.SysConfig)
-		confCond := `config_code = ?`
-		confPars := make([]interface{}, 0)
-		confPars = append(confPars, system.ConfigKeyCrmPermissionFiccClassify)
-		confItem, e := sysConf.FetchByCondition(confCond, confPars)
-		if e != nil {
-			resp.FailData("获取失败", "Err:"+e.Error(), c)
-			return
-		}
-		if confItem.ConfigValue == "" {
-			resp.FailData("获取失败", "FICC品种分类配置为空", c)
-			return
-		}
-		classifyArr := strings.Split(confItem.ConfigValue, ",")
-		if len(classifyArr) == 0 {
-			resp.FailData("获取失败", "FICC品种分类配置为空", c)
-			return
-		}
-
 		// 获取FICC权限
 		ficcCond := `enabled = 1 AND permission_type = 0 AND product_id = ? AND classify_name IN ?`
 		ficcPars := make([]interface{}, 0)
-		ficcPars = append(ficcPars, productId, classifyArr)
+		ficcPars = append(ficcPars, productId)
 		items, e := crm.GetPermissionSetItemsByCondition(ficcCond, ficcPars)
 		if e != nil {
 			resp.FailData("获取失败", "获取FICC权限信息失败, Err: "+e.Error(), c)
 			return
 		}
-		ficcItemMap := make(map[string][]*crm.PermissionSetItem, 0)
+		ficcItemMap := make(map[int][]*crm.PermissionSetItem, 0)
 		for i := range items {
-			if ficcItemMap[items[i].ClassifyName] == nil {
-				ficcItemMap[items[i].ClassifyName] = make([]*crm.PermissionSetItem, 0)
+			if items[i].ParentId > 0 {
+				if ficcItemMap[items[i].ParentId] == nil {
+					ficcItemMap[items[i].ParentId] = make([]*crm.PermissionSetItem, 0)
+				}
+				ficcItemMap[items[i].ParentId] = append(ficcItemMap[items[i].ParentId], items[i])
 			}
-			ficcItemMap[items[i].ClassifyName] = append(ficcItemMap[items[i].ClassifyName], items[i])
 		}
 
-		for i := range classifyArr {
-			if classifyArr[i] == "市场策略" {
+		for i := range items {
+			if items[i].ParentId > 0 {
+				continue
+			}
+			if items[i].PermissionName == "市场策略" {
 				continue
 			}
 			checkList := make([]int, 0)
-			if classifyArr[i] == "宏观经济" {
-				checkList = append(checkList, 1)
+			if items[i].IsPublic == 1 {
+				checkList = append(checkList, items[i].ChartPermissionId)
 			}
 			p := new(crm.PermissionSetList)
-			p.ClassifyName = classifyArr[i]
-			p.Items = ficcItemMap[classifyArr[i]]
+			p.ClassifyName = items[i].PermissionName
+			p.Items = ficcItemMap[items[i].ChartPermissionId]
 			p.CheckList = make([]int, 0)
 			respList.List = append(respList.List, p)
 		}
@@ -231,7 +215,7 @@ func (rg *ContractController) PermissionList(c *gin.Context) {
 
 	// 权益
 	if productId == 2 {
-		raiCond := `enabled = 1 AND permission_type = 0 AND product_id = ? AND classify_name = ?`
+		raiCond := `enabled = 1 AND parent_id> 0 AND permission_type = 0 AND product_id = ? AND classify_name = ?`
 		raiPars := make([]interface{}, 0)
 		raiPars = append(raiPars, productId, crm.CompanyProductRaiName)
 		items, e := crm.GetPermissionSetItemsByCondition(raiCond, raiPars)

+ 16 - 1
models/crm/chart_permission.go

@@ -26,6 +26,8 @@ type ChartPermission struct {
 	CygxAuth            int       `gorm:"column:cygx_auth" json:"cygx_auth" description:"是否是权限,用于查研观向小程序前台权限校验"`
 	YbImgUrl            string    `gorm:"column:yb_img_url" json:"yb_img_url" description:"研报小程序报告列表icon"`
 	PriceDrivenState    int       `gorm:"column:price_driven_state" json:"price_driven_state" description:"品种价格驱动开启状态 0-关闭 1-开启"`
+	ParentId            int       `gorm:"column:parent_id;default:0;NOT NULL;comment:'父级权限id'" json:"parent_id"`
+	IsPublic            int       `gorm:"column:is_public;default:0;NOT NULL;comment:'是否是公有权限1:公有权限,0私有权限'" json:"is_public"`
 }
 
 func (cp *ChartPermission) TableName() string {
@@ -57,6 +59,8 @@ type PermissionSetItem struct {
 	PermissionType    int    `json:"permission_type" description:"1主观,2客观"`
 	Checked           bool   `json:"checked" description:"选中状态"`
 	ClassifyName      string `json:"classify_name" description:"分类名称"`
+	ParentId          int    `description:"父级权限id"`
+	IsPublic          int    `description:"是否是公有权限1:公有权限,0私有权限"`
 }
 
 func GetPermissionSetItemsByCondition(condition string, pars []interface{}) (items []*PermissionSetItem, err error) {
@@ -89,12 +93,23 @@ type CompanyPermissionLookItem struct {
 	IsMerge            bool   `description:"是否合并行业, 给前端的标识, 暂时仅权益使用"`
 	RaiBothHas         bool   `description:"权益-是否主客观都有"`
 	IsUpgrade          int    `description:"是否升级,1是,0否"`
+	ParentId           int    `description:"父级权限id"`
+	IsPublic           int    `description:"是否是公有权限1:公有权限,0私有权限"`
 }
 
 func GetPermissionLookItems(productId int, classifyName string) (items []*CompanyPermissionLookItem, err error) {
 	items = make([]*CompanyPermissionLookItem, 0)
 	err = global.MYSQL["report"].Table("chart_permission").
-		Where("enabled = 1 AND product_id = ? AND classify_name = ?", productId, classifyName).
+		Where("enabled = 1 AND product_id = ? AND classify_name = ? AND parent_id>0", productId, classifyName).
+		Order("sort ASC").
+		Find(&items).Error
+	return
+}
+
+func GetSecondPermissionLookItemsByProductId(productId int) (items []*CompanyPermissionLookItem, err error) {
+	items = make([]*CompanyPermissionLookItem, 0)
+	err = global.MYSQL["report"].Table("chart_permission").
+		Where("enabled = 1 AND product_id = ? AND parent_id>0", productId).
 		Order("sort ASC").
 		Find(&items).Error
 	return

+ 16 - 39
services/crm/contract.go

@@ -6,7 +6,6 @@ import (
 	"fmt"
 	"hongze/fms_api/models/crm"
 	"hongze/fms_api/models/fms"
-	"hongze/fms_api/models/system"
 	"hongze/fms_api/utils"
 	"reflect"
 	"strings"
@@ -97,8 +96,8 @@ func getContractServiceAndDetailList(contractId int) (serviceList []*crm.Contrac
 		return
 	}
 
-	templateMap := make(map[string]*fms.ContractServiceTemplate,0)
-	templateIdMap := make(map[int]string,0)
+	templateMap := make(map[string]*fms.ContractServiceTemplate, 0)
+	templateIdMap := make(map[int]string, 0)
 	for _, v := range serviceTempList {
 		templateIdMap[v.ServiceTemplateId] = v.Title
 	}
@@ -106,12 +105,12 @@ func getContractServiceAndDetailList(contractId int) (serviceList []*crm.Contrac
 		if v.Title == "主观" || v.Title == "客观" {
 			pTitle := templateIdMap[v.Pid]
 			templateMap[pTitle+"("+v.Title+")"] = v
-		}else {
+		} else {
 			templateMap[v.Title] = v
 		}
 	}
 
-	fmsTemplateIdMap := make(map[int]string,0)
+	fmsTemplateIdMap := make(map[int]string, 0)
 
 	newLen := len(serviceList)
 	for i := 0; newLen > i; i++ {
@@ -129,15 +128,15 @@ func getContractServiceAndDetailList(contractId int) (serviceList []*crm.Contrac
 		fmsTemplateIdMap[serviceList[i].ServiceTemplateId] = serviceList[i].Title
 	}
 	for _, v := range serviceList {
-		if v.Title ==  "主观" || v.Title == "客观" {
+		if v.Title == "主观" || v.Title == "客观" {
 			v.FMSServiceTemplateId = templateMap[v.Title].ServiceTemplateId
 			v.FMSTitle = templateIdMap[v.FMSServiceTemplateId]
-			v.FMSServiceTemplatePId =templateMap[v.Title].Pid
+			v.FMSServiceTemplatePId = templateMap[v.Title].Pid
 			v.FMSPTitle = templateIdMap[v.Pid]
-		}else{
+		} else {
 			if templateMap[v.Title] != nil {
 				v.FMSServiceTemplateId = templateMap[v.Title].ServiceTemplateId
-				v.FMSServiceTemplatePId =templateMap[v.Title].Pid
+				v.FMSServiceTemplatePId = templateMap[v.Title].Pid
 			}
 			v.FMSTitle = templateIdMap[v.FMSServiceTemplateId]
 			v.FMSPTitle = templateIdMap[v.Pid]
@@ -150,26 +149,6 @@ func getContractServiceAndDetailList(contractId int) (serviceList []*crm.Contrac
 func GetServicePermissionMap(serviceList []*crm.ContractServiceAndDetailRespItem) (checkPermissionIdMap map[int]int, err error) {
 	checkPermissionIdMap = make(map[int]int)
 
-	// 获取品种分类配置
-	sysConf := new(system.SysConfig)
-	confCond := `config_code = ?`
-	confPars := make([]interface{}, 0)
-	confPars = append(confPars, system.ConfigKeyCrmPermissionFiccClassify)
-	confItem, e := sysConf.FetchByCondition(confCond, confPars)
-	if e != nil {
-		err = errors.New("获取品种分类配置失败")
-		return
-	}
-	if confItem.ConfigValue == "" {
-		err = errors.New("FICC品种分类配置为空")
-		return
-	}
-	classifyArr := strings.Split(confItem.ConfigValue, ",")
-	if len(classifyArr) == 0 {
-		err = errors.New("FICC品种分类配置为空")
-		return
-	}
-
 	// 获取已经勾选的的权限
 	for _, contractService := range serviceList {
 		// 看看系统中有没有映射对应的权限,如果有的话,那么直接返回,没有那么可能是特殊服务,需要去遍历
@@ -179,19 +158,17 @@ func GetServicePermissionMap(serviceList []*crm.ContractServiceAndDetailRespItem
 		}
 		switch contractService.ServiceTemplateId {
 		case 1: //ficc 大套餐
-			for _, v := range classifyArr {
+			permissionList, tmpErr := crm.GetSecondPermissionLookItemsByProductId(1)
+			if tmpErr != nil {
+				err = errors.New("查询FICC品种出错" + tmpErr.Error())
+				return
+			}
+			for _, v := range permissionList {
 				//大套餐中 市场策略暂时不作为勾选项
-				if v == "市场策略" {
+				if v.ClassifyName == "市场策略" {
 					continue
 				}
-				items, tmpErr := crm.GetPermissionLookItems(1, v)
-				if tmpErr != nil {
-					err = tmpErr
-					return
-				}
-				for _, n := range items {
-					checkPermissionIdMap[n.ChartPermissionId] = n.ChartPermissionId
-				}
+				checkPermissionIdMap[v.ChartPermissionId] = v.ChartPermissionId
 			}
 		case 2: //ficc小套餐
 			permissionValues := []string{