hsun 2 жил өмнө
parent
commit
49f84c75ff

+ 18 - 1
controllers/approval_new.go

@@ -315,12 +315,29 @@ func (c *ApprovalCommon) Detail() {
 			c.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
 			return
 		}
+		// 权益主客观均选择的情况下进行合并
+		equityPermissionNameCount := make(map[string]int, 0)
 		for _, n := range items {
 			if _, ok := delayPermissionIdMap[n.ChartPermissionId]; ok {
 				checkList = append(checkList, n.ChartPermissionId)
 			}
+			equityPermissionNameCount[n.PermissionName] += 1
 		}
-		plist.Items = items
+
+		newItems := make([]*company_report_permission.PermissionLookItem, 0)
+		mergedMap := make(map[string]bool, 0)
+		for _, n := range items {
+			if equityPermissionNameCount[n.PermissionName] == 2 && !mergedMap[n.PermissionName] {
+				newItems = append(newItems, n)
+				mergedMap[n.PermissionName] = true
+			}
+			if equityPermissionNameCount[n.PermissionName] == 1 {
+				n.PermissionName = n.Remark
+				newItems = append(newItems, n)
+			}
+		}
+
+		plist.Items = newItems
 		plist.ClassifyName = v
 		plist.CheckList = checkList
 

+ 1 - 0
models/tables/company_report_permission/company_report_permission.go

@@ -49,6 +49,7 @@ type PermissionLookItem struct {
 	Status            string `description:"'正式','试用','关闭'"`
 	ExpireDay         string `description:"到期天数"`
 	ClassifyName      string `description:"分类"`
+	Remark            string `description:"备注"`
 }
 
 func GetCompanyPermissionCheck(companyId, permissionId int) (count int, err error) {

+ 2 - 2
services/contract/contract.go

@@ -499,7 +499,7 @@ func EquityMergeSubjectAndObject(serviceList []*contractCustom.ContractServiceAn
 			if utils.InArrayByStr(mergeArr, sv.Title) {
 				needCheck = append(needCheck, sv)
 			} else {
-				if sv.Title != "主观" && sv.Title != "客观" {
+				if !strings.Contains(sv.Title, "主观") && !strings.Contains(sv.Title, "客观") {
 					mergeList = append(mergeList, sv)
 				}
 			}
@@ -521,7 +521,7 @@ func EquityMergeSubjectAndObject(serviceList []*contractCustom.ContractServiceAn
 				temp := templateMap[sv.ServiceTemplateId]
 				if temp.Pid == parentId {
 					count += 1
-					sv.Title = fmt.Sprint(parent.Title, "(", sv.Title, ")")
+					//sv.Title = fmt.Sprint(parent.Title, "(", sv.Title, ")")
 					children = append(children, sv)
 				}
 			}