|
@@ -3,7 +3,6 @@ package services
|
|
|
import (
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
- "hongze/hz_crm_api/models"
|
|
|
"hongze/hz_crm_api/models/company"
|
|
|
"hongze/hz_crm_api/services/alarm_msg"
|
|
|
"hongze/hz_crm_api/utils"
|
|
@@ -135,118 +134,146 @@ func InitCompanyContractMerge() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// GetCompanyContractPermissionNameMapById 获取合并之后的合同所对应的权限种类名称
|
|
|
-func GetCompanyContractPermissionNameMapById(mapCompamy map[int]string) (mapContractResp map[int]string, err error) {
|
|
|
- if len(mapCompamy) == 0 {
|
|
|
- return
|
|
|
- }
|
|
|
- var condition string
|
|
|
- var pars []interface{}
|
|
|
-
|
|
|
- mapContracIdCompanyId := make(map[string]int) //建立合同ID与公司ID的map对应关系
|
|
|
-
|
|
|
- var companyContractIdGroup string //多个合同ID
|
|
|
- for k, v := range mapCompamy {
|
|
|
- companyContractIdGroup += v + ","
|
|
|
- sliceContract := strings.Split(v, ",")
|
|
|
- for _, compamyContracId := range sliceContract {
|
|
|
- mapContracIdCompanyId[compamyContracId] = k
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- companyContractIdGroup = strings.TrimRight(companyContractIdGroup, ",")
|
|
|
- condition += " AND company_contract_id IN (" + companyContractIdGroup + ")"
|
|
|
- companyContractList, e := company.GetCompanyContractList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetCompanyContractList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- permissionList, e := models.GetChartPermissionList()
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetChartPermissionList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- mappermissionName := make(map[int]string)
|
|
|
- for _, v := range permissionList {
|
|
|
- mappermissionName[v.ChartPermissionId] = v.Remark
|
|
|
- }
|
|
|
-
|
|
|
- mapContractIdPerssion := make(map[string]string) //单个合同ID所对应的套餐或者权限名称
|
|
|
- for _, v := range companyContractList {
|
|
|
- if v.RaiPackageType == 1 {
|
|
|
- mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)] = "70w套餐"
|
|
|
- }
|
|
|
- if v.RaiPackageType == 2 {
|
|
|
- mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)] = "45w套餐"
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- companyContractPermissionList, e := company.GetCompanyContractPermissionList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetCompanyContractPermissionList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range companyContractPermissionList {
|
|
|
- //如果开通的不是整个套餐,那么就做单独的子权限处理
|
|
|
- if strings.Count(mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)], "w套餐") == 0 {
|
|
|
- if v.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
|
|
|
- if v.ExpensiveYx == 1 {
|
|
|
- mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(5w),"
|
|
|
- } else {
|
|
|
- mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(3w),"
|
|
|
- }
|
|
|
- } else {
|
|
|
- mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)] += mappermissionName[v.ChartPermissionId] + ","
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //合并客观权限
|
|
|
- for k, v := range mapContractIdPerssion {
|
|
|
- perssionName := v
|
|
|
- if strings.Count(v, utils.YI_YAO_NAME) == 2 {
|
|
|
- perssionName = strings.Replace(perssionName, "医药(主观)", "医药", -1)
|
|
|
- perssionName = strings.Replace(perssionName, "医药(客观)", "", -1)
|
|
|
- }
|
|
|
- if strings.Count(v, utils.XIAO_FEI_NAME) == 2 {
|
|
|
- perssionName = strings.Replace(perssionName, "消费(主观)", "消费", -1)
|
|
|
- perssionName = strings.Replace(perssionName, "消费(客观)", "", -1)
|
|
|
- }
|
|
|
- if strings.Count(v, utils.KE_JI_NAME) == 2 {
|
|
|
- perssionName = strings.Replace(perssionName, "科技(主观)", "科技", -1)
|
|
|
- perssionName = strings.Replace(perssionName, "科技(客观)", "", -1)
|
|
|
- }
|
|
|
- if strings.Count(v, utils.ZHI_ZAO_NAME) == 2 {
|
|
|
- perssionName = strings.Replace(perssionName, "智造(主观)", "智造", -1)
|
|
|
- perssionName = strings.Replace(perssionName, "智造(客观)", "", -1)
|
|
|
- }
|
|
|
- perssionName = strings.TrimRight(perssionName, ",")
|
|
|
- mapContractIdPerssion[k] = perssionName
|
|
|
- }
|
|
|
- mapContractResp = make(map[int]string, 0)
|
|
|
- for k, v := range mapContractIdPerssion {
|
|
|
- mapContractResp[mapContracIdCompanyId[k]] += v + ","
|
|
|
- }
|
|
|
-
|
|
|
- //过滤多余的","
|
|
|
- for k, v := range mapContractResp {
|
|
|
- sliceName := strings.Split(v, ",")
|
|
|
- var nameArr []string
|
|
|
- for _, vName := range sliceName {
|
|
|
- if vName == "" {
|
|
|
- continue
|
|
|
- }
|
|
|
- nameArr = append(nameArr, vName)
|
|
|
- }
|
|
|
- mapContractResp[k] = strings.Join(nameArr, ",")
|
|
|
- }
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
+//// GetCompanyContractPermissionNameMapById 获取合并之后的合同所对应的权限种类名称
|
|
|
+//func GetCompanyContractPermissionNameMapBymapCompamy(mapCompamy map[int]string) (mapContractResp map[int]string, err error) {
|
|
|
+// if len(mapCompamy) == 0 {
|
|
|
+// return
|
|
|
+// }
|
|
|
+// //var condition string
|
|
|
+// //var pars []interface{}
|
|
|
//
|
|
|
-//func init() {
|
|
|
-// AddCompanyContractMergeByCompanyContractId(1187)
|
|
|
+// mapContracIdCompanyId := make(map[int]int) //建立合同ID与公司ID的map对应关系
|
|
|
+// var companyContractIds []int
|
|
|
+// var companyContractIdGroup string //多个合同ID
|
|
|
+// for k, v := range mapCompamy {
|
|
|
+// companyContractIdGroup += v + ","
|
|
|
+// sliceContract := strings.Split(v, ",")
|
|
|
+// for _, compamyContracId := range sliceContract {
|
|
|
+// companyContractIdInt, _ := strconv.Atoi(compamyContracId)
|
|
|
+// mapContracIdCompanyId[companyContractIdInt] = k
|
|
|
+// companyContractIds = append(companyContractIds, companyContractIdInt)
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// contractPermissionNameMap, e := cygxService.GetCompanyContractPermissionNameMapById(companyContractIds)
|
|
|
+// if e != nil {
|
|
|
+// err = errors.New("GetCompanyContractPermissionNameMapById, Err: " + e.Error())
|
|
|
+// return
|
|
|
+// }
|
|
|
+//
|
|
|
+// mapContractResp = make(map[int]string, 0)
|
|
|
+//
|
|
|
+// for k, v := range mapCompamy {
|
|
|
+//
|
|
|
+// sliceContract := strings.Split(v, ",")
|
|
|
+// for _, compamyContracId := range sliceContract {
|
|
|
+// companyContractIdInt, _ := strconv.Atoi(compamyContracId)
|
|
|
+// for k2, v2 := range contractPermissionNameMap {
|
|
|
+// if companyContractIdInt == k2 {
|
|
|
+// mapContractResp[k] += v2 + ","
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// //companyContractIdGroup = strings.TrimRight(companyContractIdGroup, ",")
|
|
|
+// //condition += " AND company_contract_id IN (" + companyContractIdGroup + ")"
|
|
|
+// //companyContractList, e := company.GetCompanyContractList(condition, pars)
|
|
|
+// //if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+// // err = errors.New("GetCompanyContractList, Err: " + e.Error())
|
|
|
+// // return
|
|
|
+// //}
|
|
|
+// //
|
|
|
+// //permissionList, e := models.GetChartPermissionList()
|
|
|
+// //if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+// // err = errors.New("GetChartPermissionList, Err: " + e.Error())
|
|
|
+// // return
|
|
|
+// //}
|
|
|
+// //mappermissionName := make(map[int]string)
|
|
|
+// //for _, v := range permissionList {
|
|
|
+// // mappermissionName[v.ChartPermissionId] = v.Remark
|
|
|
+// //}
|
|
|
+// //
|
|
|
+// //mapContractIdPerssion := make(map[string]string) //单个合同ID所对应的套餐或者权限名称
|
|
|
+// //for _, v := range companyContractList {
|
|
|
+// // if v.RaiPackageType == 1 {
|
|
|
+// // mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)] = "70w套餐"
|
|
|
+// // }
|
|
|
+// // if v.RaiPackageType == 2 {
|
|
|
+// // mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)] = "45w套餐"
|
|
|
+// // }
|
|
|
+// //}
|
|
|
+// //mapIsUpgrade := make(map[string]bool) //合同ID对应的行业是否有升级
|
|
|
+// //companyContractPermissionList, e := company.GetCompanyContractPermissionList(condition, pars)
|
|
|
+// //if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+// // err = errors.New("GetCompanyContractPermissionList, Err: " + e.Error())
|
|
|
+// // return
|
|
|
+// //}
|
|
|
+// //for _, v := range companyContractPermissionList {
|
|
|
+// // //如果开通的不是整个套餐,那么就做单独的子权限处理
|
|
|
+// // if strings.Count(mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)], "w套餐") == 0 {
|
|
|
+// // if v.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
|
|
|
+// // if v.ExpensiveYx == 1 {
|
|
|
+// // mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(5w),"
|
|
|
+// // } else {
|
|
|
+// // mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(3w),"
|
|
|
+// // }
|
|
|
+// // } else {
|
|
|
+// // mapContractIdPerssion[strconv.Itoa(v.CompanyContractId)] += mappermissionName[v.ChartPermissionId] + ","
|
|
|
+// // if v.IsUpgrade == 1 {
|
|
|
+// // //合同ID,权限名称形成唯一的主键索引
|
|
|
+// // perssionName := mappermissionName[v.ChartPermissionId]
|
|
|
+// // perssionName = strings.Replace(perssionName, "(客观)", "", -1)
|
|
|
+// // perssionName = strings.Replace(perssionName, "(主观)", "", -1)
|
|
|
+// // mapIsUpgrade[fmt.Sprint(v.CompanyContractId, "perssionName", perssionName)] = true
|
|
|
+// // }
|
|
|
+// // }
|
|
|
+// // }
|
|
|
+// //}
|
|
|
+// //
|
|
|
+// ////合并客观权限
|
|
|
+// //for k, v := range mapContractIdPerssion {
|
|
|
+// // perssionName := v
|
|
|
+// // if strings.Count(v, utils.YI_YAO_NAME) == 2 {
|
|
|
+// // perssionName = strings.Replace(perssionName, "医药(主观)", "医药", -1)
|
|
|
+// // perssionName = strings.Replace(perssionName, "医药(客观)", "", -1)
|
|
|
+// // }
|
|
|
+// // if strings.Count(v, utils.XIAO_FEI_NAME) == 2 {
|
|
|
+// // perssionName = strings.Replace(perssionName, "消费(主观)", "消费", -1)
|
|
|
+// // perssionName = strings.Replace(perssionName, "消费(客观)", "", -1)
|
|
|
+// // }
|
|
|
+// // if strings.Count(v, utils.KE_JI_NAME) == 2 {
|
|
|
+// // perssionName = strings.Replace(perssionName, "科技(主观)", "科技", -1)
|
|
|
+// // perssionName = strings.Replace(perssionName, "科技(客观)", "", -1)
|
|
|
+// // }
|
|
|
+// // if strings.Count(v, utils.ZHI_ZAO_NAME) == 2 {
|
|
|
+// // perssionName = strings.Replace(perssionName, "智造(主观)", "智造", -1)
|
|
|
+// // perssionName = strings.Replace(perssionName, "智造(客观)", "", -1)
|
|
|
+// // }
|
|
|
+// // perssionName = strings.TrimRight(perssionName, ",")
|
|
|
+// // mapContractIdPerssion[k] = perssionName
|
|
|
+// //}
|
|
|
+// //mapContractResp = make(map[int]string, 0)
|
|
|
+// //for k, v := range mapContractIdPerssion {
|
|
|
+// // mapContractResp[mapContracIdCompanyId[k]] += v + ","
|
|
|
+// //}
|
|
|
+// //
|
|
|
+// ////过滤多余的","
|
|
|
+// //for k, v := range mapContractResp {
|
|
|
+// // sliceName := strings.Split(v, ",")
|
|
|
+// // var nameArr []string
|
|
|
+// // for _, vName := range sliceName {
|
|
|
+// // if vName == "" {
|
|
|
+// // continue
|
|
|
+// // }
|
|
|
+// // if mapIsUpgrade[fmt.Sprint(k, "perssionName", vName)] {
|
|
|
+// // vName += "(升级)"
|
|
|
+// // }
|
|
|
+// // nameArr = append(nameArr, vName)
|
|
|
+// // }
|
|
|
+// // mapContractResp[k] = strings.Join(nameArr, ",")
|
|
|
+// //}
|
|
|
+// return
|
|
|
//}
|
|
|
|
|
|
// AddCompanyContractMergeByCompanyContractId 通过合同ID对合同进行合并
|