| 
					
				 | 
			
			
				@@ -8,10 +8,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package dao 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"encoding/json" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"errors" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"github.com/go-xorm/xorm" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"go.mod/models" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"go.mod/web/viewmodels" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //数据库操作引擎 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -67,3 +69,50 @@ func (d *PermissionAccountDao) Update(data *models.CmPermissionAccount, columns 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 获得当前账号下的标段权限 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (d *PermissionAccountDao) GetPermissionWithAccountId(accountId int, bidsectionId int) (viewmodels.PermissionView, error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	data := viewmodels.PermissionView{} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	permission := viewmodels.Permission{} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	has, err := d.engine. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Sql("select * from cm_permission_account where bidsection_id= ? and account_id = ?", accountId, bidsectionId). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Get(&data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if has == false { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		contractPermission := map[string]int{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			"add":    permission.ContractAccess, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			"delete": permission.ContractDelete, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			"access": permission.ContractAccess, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		contractPermissionByte, err := json.Marshal(contractPermission) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return data, errors.New("合同权限解析失败") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		contractPermissionStr := string(contractPermissionByte) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		qualityPermission := map[string]int{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			"add":    permission.QualityAdd, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			"delete": permission.QualityDelete, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			"access": permission.QualityAccess, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		qualityPermissionByte, err := json.Marshal(qualityPermission) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return data, errors.New("合同权限解析失败") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		qualityPermissionStr := string(qualityPermissionByte) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		safePermission := map[string]int{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			"add":    permission.SafeAdd, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			"delete": permission.SafeDelete, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			"access": permission.SafeAccess, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		safePermissionByte, err := json.Marshal(safePermission) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return data, errors.New("合同权限解析失败") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		safePermissionStr := string(safePermissionByte) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		data.ContractPermission = contractPermissionStr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		data.QualityPermission = qualityPermissionStr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		data.SafePermission = safePermissionStr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return data, err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |